:root{
  --bg:#eef1ef;--page:#f6f8f7;--surface:#fff;--ink:#14201b;--muted:#5c6b64;--faint:#8a978f;
  --line:#dde4e0;--line-2:#e8edea;--accent:#2f6f4f;--col:#edf1ef;
  --ok:#2f855a;--warn:#b45309;--err:#be123c;--info:#2563eb;
  --shadow:0 1px 2px rgba(20,32,27,.10),0 2px 8px rgba(20,32,27,.05);
  --mono:ui-monospace,"SF Mono","Cascadia Mono",Menlo,Consolas,monospace;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box;}
html,body{margin:0;height:100%;}
body{background:var(--page);color:var(--ink);font:15px/1.5 var(--sans);-webkit-font-smoothing:antialiased;}

.topbar{display:flex;align-items:center;gap:1rem;padding:.7rem 1.25rem;
  background:var(--surface);border-bottom:1px solid var(--line);}
.brand{display:flex;align-items:center;gap:.55rem;font-weight:700;color:var(--ink);text-decoration:none;}
.logo{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;
  background:var(--accent);color:#fff;font-size:14px;font-weight:800;}
.spacer{flex:1 1 auto;}
.nav a{color:var(--muted);text-decoration:none;font-size:.88rem;margin-left:1rem;}
.nav a:hover{color:var(--accent);}
.content{padding:1.5rem 1.25rem;}

/* --- sign-in --- */
.authwrap{min-height:100vh;display:grid;place-items:center;padding:2rem 1rem;}
.authcard{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--line);
  border-radius:12px;box-shadow:var(--shadow);padding:1.6rem 1.5rem;display:flex;flex-direction:column;gap:.85rem;}
.authbrand{display:flex;align-items:center;gap:.55rem;font-weight:800;font-size:1.02rem;}
.authtitle{margin:.4rem 0 0;font-size:1.3rem;letter-spacing:-.02em;}
.authdek{margin:0 0 .4rem;color:var(--muted);font-size:.88rem;}
.field{display:flex;flex-direction:column;gap:.3rem;}
.lab{font-size:.78rem;font-weight:600;color:var(--muted);}
.input{height:38px;border:1px solid var(--line);border-radius:8px;background:var(--page);
  padding:0 .7rem;font:inherit;font-size:.92rem;color:var(--ink);outline:none;}
.input:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px rgba(47,111,79,.12);}
.btn{height:38px;border:0;border-radius:8px;background:var(--accent);color:#fff;
  font:inherit;font-weight:650;font-size:.92rem;cursor:pointer;}
.btn:hover{filter:brightness(1.06);}
.btn:disabled{opacity:.6;cursor:default;}
.err{margin:0;color:var(--err);font-size:.85rem;background:#fae6ea;border:1px solid #f0c9d3;
  border-radius:7px;padding:.5rem .6rem;}
.authfoot{margin:.2rem 0 0;color:var(--faint);font-size:.8rem;text-align:center;}
.authfoot a{color:var(--accent);}
