/* Tasarım token'ları, reset ve giriş ekranı */
:root{
  --bg:#FBF7EF; --bg2:#F4EEE1; --card:#FFFFFF; --line:#E6DECF;
  --ink:#4A453E; --ink2:#7C7469; --ink3:#A89E8F;
  --green:#4E9C3C; --purple:#5F65D3; --coral:#D93A67; --amber:#C57415; --brown:#9C5F2E;
  --good:#2E7D32; --warn:#B45309; --bad:#C0264B; --neutral:#8B8375;
  --gold:#F0A93C; --accent:#FF5E8A;
  --radius:20px;
  --shadow:0 1px 2px rgba(74,69,62,.05),0 8px 24px -12px rgba(74,69,62,.18);
  --font-display:"Fraunces",Georgia,serif;
  --font-body:"Nunito Sans",-apple-system,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  font-family:var(--font-body);color:var(--ink);background:var(--bg);
  min-height:100vh;font-size:15px;line-height:1.5;
  background-image:radial-gradient(rgba(140,110,74,.055) 1px,transparent 1px);
  background-size:22px 22px;
}
button{font-family:inherit;cursor:pointer}
input{font-family:inherit}

/* ---------- login ---------- */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}
.login-card{
  background:var(--card);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);
  padding:44px 40px;width:100%;max-width:400px;text-align:center;
  animation:rise .5s cubic-bezier(.2,.9,.3,1) both;
}
@keyframes rise{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.egg{width:76px;height:76px;margin:0 auto 18px;animation:wobble 3.2s ease-in-out infinite}
@keyframes wobble{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
.login-card h1{font-family:var(--font-display);font-weight:600;font-size:26px;margin-bottom:6px}
.login-card p{color:var(--ink2);font-size:14px;margin-bottom:26px}
.field{display:block;text-align:left;margin-bottom:14px}
.field span{display:block;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);margin-bottom:6px}
.field input{
  width:100%;border:1.5px solid var(--line);border-radius:14px;background:var(--bg);
  padding:13px 16px;font-size:16px;color:var(--ink);outline:none;transition:border-color .15s,box-shadow .15s;
}
.field input:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(240,169,60,.18)}
.btn{
  width:100%;border:none;border-radius:14px;padding:14px 18px;font-size:15px;font-weight:800;
  background:var(--ink);color:#FFF8EC;transition:transform .12s,filter .15s;
}
.btn:hover{filter:brightness(1.12)}
.btn:active{transform:scale(.97)}
.btn[disabled]{opacity:.55;cursor:default;transform:none}
.btn-ghost{background:transparent;color:var(--ink2);font-weight:700;width:auto;padding:8px 14px}
.login-err{color:var(--bad);font-size:13px;min-height:20px;margin-top:12px;font-weight:600}
.login-note{font-size:12px;color:var(--ink3);margin-top:18px}
.mono{font-family:ui-monospace,Menlo,monospace;font-size:12px;background:var(--bg2);border-radius:8px;padding:2px 7px;word-break:break-all}
