:root{
  --g900:#061C15; --g800:#0A2A20; --g700:#103B2E; --g600:#16513D;
  --beige:#F4EAD8; --beige2:#EADCC2; --gold:#C6A15B; --gold2:#A98543;
  --ink:#17231D; --muted:#9DB3A7; --line:rgba(198,161,91,.35);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{font-family:ui-sans-serif,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--beige)}
a{color:inherit;text-decoration:none}
.muted{color:var(--muted)}
.fine{font-size:12px;color:var(--muted);margin:18px 0 0;line-height:1.5}

/* ---------- auth ---------- */
.auth-body{
  background:
    radial-gradient(1100px 600px at 15% -10%, #14513A 0%, transparent 55%),
    radial-gradient(900px 600px at 110% 110%, #0E3A2B 0%, transparent 60%),
    var(--g900);
  display:grid;place-items:center;min-height:100vh;padding:28px;
}
.auth-wrap{width:100%;max-width:430px}
.auth-card{
  background:linear-gradient(180deg,var(--beige) 0%,var(--beige2) 100%);
  color:var(--ink);border-radius:20px;padding:34px 34px 30px;
  box-shadow:0 30px 80px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.6);
  border:1px solid rgba(198,161,91,.55);
}
.brand{display:flex;align-items:center;gap:14px}
.brand-mark{
  width:46px;height:46px;border-radius:12px;display:grid;place-items:center;
  background:linear-gradient(145deg,var(--g700),var(--g900));color:var(--gold);
  font-family:Georgia,serif;font-weight:700;letter-spacing:.06em;font-size:15px;
  border:1px solid rgba(198,161,91,.65);
}
.brand-name{font-family:Georgia,"Times New Roman",serif;font-size:20px;letter-spacing:.02em;color:var(--ink)}
.brand-sub{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:#7C6A4E;margin-top:3px}
.gold-rule{height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:24px 0 22px;opacity:.8}
.auth-card h1{font-family:Georgia,serif;font-size:30px;font-weight:500;margin:0 0 6px;color:var(--ink)}
.auth-card .muted{color:#6E6250;margin:0 0 22px;font-size:14px}
.auth-card label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#6E6250;margin:16px 0 0}
.auth-card input{
  width:100%;margin-top:8px;padding:13px 14px;border-radius:10px;border:1px solid #CDBB9C;
  background:#FFFBF3;color:var(--ink);font-size:16px;outline:none;
}
.auth-card input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(198,161,91,.22)}
.auth-card button{
  width:100%;margin-top:24px;padding:14px 16px;border:0;border-radius:10px;cursor:pointer;
  background:linear-gradient(180deg,var(--g700),var(--g900));color:var(--beige);
  font-size:15px;letter-spacing:.06em;text-transform:uppercase;
  border:1px solid rgba(198,161,91,.45);
}
.auth-card button:hover{background:linear-gradient(180deg,var(--g600),var(--g800))}
.err{
  background:#FBE9E7;color:#8C2F24;border:1px solid #E7B9B2;border-radius:10px;
  padding:10px 12px;font-size:13px;margin:0 0 6px;
}

/* ---------- app ---------- */
.app-body{
  background:
    radial-gradient(1000px 520px at 85% -20%, #14513A 0%, transparent 55%),
    var(--g900);
  min-height:100vh;
}
.topbar{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:22px 6vw;border-bottom:1px solid rgba(198,161,91,.18);
  background:rgba(6,28,21,.55);backdrop-filter:blur(10px);
  position:sticky;top:0;z-index:10;
}
.topbar .brand-name{color:var(--beige)}
.topbar .brand-sub{color:#A8BDB1}
.top-actions{display:flex;align-items:center;gap:14px}
.user{font-size:13px;color:var(--muted);letter-spacing:.04em}
.ghost{
  font-size:12px;text-transform:uppercase;letter-spacing:.12em;padding:9px 16px;border-radius:999px;
  border:1px solid rgba(198,161,91,.5);color:var(--gold);
}
.ghost:hover{background:rgba(198,161,91,.12)}
.page{max-width:1080px;margin:0 auto;padding:54px 6vw 40px}
.hero .eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.22em;color:var(--gold)}
.hero h1{font-family:Georgia,serif;font-size:46px;font-weight:400;margin:12px 0 10px;letter-spacing:-.01em}
.hero .muted{font-size:15px;max-width:520px;line-height:1.6}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;margin-top:44px}
.tile{
  display:flex;flex-direction:column;min-height:230px;padding:26px;border-radius:18px;
  background:linear-gradient(180deg,var(--beige),var(--beige2));color:var(--ink);
  border:1px solid rgba(198,161,91,.55);
  box-shadow:0 18px 50px rgba(0,0,0,.35);
  transition:transform .18s ease, box-shadow .18s ease;
}
.tile:hover{transform:translateY(-4px);box-shadow:0 26px 66px rgba(0,0,0,.45)}
.tile-top{display:flex;justify-content:space-between;align-items:center}
.tile-tag{
  font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--gold2);
  border:1px solid rgba(169,133,67,.5);padding:5px 10px;border-radius:999px;
}
.tile-arrow{font-size:18px;color:var(--gold2)}
.tile h2{font-family:Georgia,serif;font-size:26px;font-weight:500;margin:18px 0 8px;line-height:1.2}
.tile p{color:#5E5342;font-size:14px;line-height:1.55;margin:0 0 18px}
.tile-foot{margin-top:auto;font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--g700);font-weight:600}
.foot{display:flex;gap:10px;align-items:center;justify-content:center;margin-top:56px;font-size:12px;color:#7E958A;letter-spacing:.08em}
.dot{color:var(--gold)}
@media (max-width:560px){
  .hero h1{font-size:34px}
  .page{padding-top:36px}
  .topbar{padding:16px 5vw}
  .top-actions .user{display:none}
}
