/* Fortress Tax Defense brand for the CRM's own pages (sign-in, portal, signing). */
:root {
  --green-950:#07231a; --green-900:#0b2e21; --green-800:#0d3b2a; --green-600:#146b4a; --green-300:#7fd4ae; --green-100:#e3efe8; --green-50:#f2f7f4;
  --paper:#fff; --ground:#f6f8f7; --ink:#0f1c16; --ink-2:#3f5249; --ink-3:#6f807a; --rule:#dbe5df; --red:#9b2c2c;
  --font:"Archivo","Segoe UI",system-ui,-apple-system,sans-serif;
}
* { box-sizing:border-box; }
html, body { margin:0; }
body { background:var(--ground); color:var(--ink); font:400 16px/1.5 var(--font); min-height:100vh; }
a { color:var(--green-600); }
.auth { min-height:100vh; display:grid; grid-template-rows:auto 1fr auto; }
.auth-head { background:var(--green-950); color:#fff; padding:18px 24px; display:flex; align-items:center; gap:14px; }
.auth-head img { width:44px; height:44px; border-radius:10px; }
.auth-head .wm { font-weight:800; font-size:1.15rem; letter-spacing:-.01em; }
.auth-head .wm em { font-style:normal; font-weight:500; opacity:.85; }
.auth-head .tag { margin-left:auto; font-size:.8rem; letter-spacing:.1em; text-transform:uppercase; opacity:.8; }
.auth-main { display:grid; place-items:center; padding:32px 16px; }
.card { background:var(--paper); border:1px solid var(--rule); border-radius:14px; padding:28px 26px; width:min(440px, 100%); box-shadow:0 8px 30px rgba(7,35,26,.06); }
.card h1 { font-size:1.35rem; margin:0 0 4px; letter-spacing:-.01em; }
.card p { margin:0 0 18px; color:var(--ink-2); }
.field { display:grid; gap:6px; margin:0 0 14px; }
.field label { font-size:.82rem; font-weight:700; color:var(--ink-2); letter-spacing:.02em; }
.field input { font:inherit; padding:11px 12px; border:1px solid var(--rule); border-radius:9px; background:var(--paper); color:var(--ink); }
.field input:focus { outline:3px solid var(--green-300); border-color:var(--green-600); }
.btn { font:600 15px/1 var(--font); border:0; border-radius:999px; padding:12px 18px; cursor:pointer; background:var(--green-600); color:#fff; width:100%; }
.btn:hover { background:var(--green-800); }
.btn.secondary { background:var(--green-50); color:var(--green-800); border:1px solid var(--green-100); }
.btn[disabled] { opacity:.6; cursor:default; }
.row { display:flex; gap:10px; flex-wrap:wrap; }
.row .btn { flex:1 1 160px; }
.or { text-align:center; color:var(--ink-3); font-size:.85rem; margin:14px 0; }
.msg { margin:12px 0 0; font-size:.93rem; color:var(--ink-2); min-height:1.3em; }
.msg.err { color:var(--red); }
.auth-foot { text-align:center; color:var(--ink-3); font-size:.85rem; padding:18px; }
.auth-foot a { color:inherit; }
@media (prefers-color-scheme: dark) {
  :root { --paper:#131c17; --ground:#0c1310; --ink:#edf3ef; --ink-2:#b7c6be; --ink-3:#85978e; --rule:#26332c; --green-100:#17281f; --green-50:#101a15; --red:#f09595; }
}
