/* 43 Bolton Gardens portal — starter styles (self-contained; house dense/flat look). */
:root{--bg:#f6f7f9;--fg:#1f2937;--muted:#6b7280;--line:#e5e7eb;--card:#fff;
--head:#111827;--accent:#2563eb;--accent2:#1d4ed8;--ok:#166534;--okbg:#dcfce7;}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
background:var(--bg);color:var(--fg);font-size:14px;line-height:1.45}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
.portal-header{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;
background:var(--head);color:#f3f4f6;padding:.5rem 1rem}
.portal-logo{color:#fff;font-weight:700;letter-spacing:.02em}
.portal-logo-text{color:#fff}
.portal-nav{display:flex;gap:.25rem;flex-wrap:wrap;align-items:center;margin-left:auto}
.portal-nav a{color:#cbd5e1;padding:.35rem .6rem;border-radius:0;font-size:.9rem}
.portal-nav a:hover{background:#1f2937;text-decoration:none;color:#fff}
.portal-nav a.active{background:var(--accent);color:#fff}
.portal-nav-user{color:#94a3b8;font-size:.82rem;margin-left:.5rem}
.portal-nav-user a{color:#94a3b8}
.portal-main{max-width:1100px;margin:0 auto;padding:1rem}
.portal-card{background:var(--card);border:1px solid var(--line);padding:1rem;margin-bottom:1rem}
h1{font-size:1.15rem;margin:.2rem 0 .6rem}
/* auth pages (dark, centered) */
.portal-auth-body{background:#111827;color:#f3f4f6;min-height:100vh;display:flex;align-items:center;justify-content:center}
.portal-auth-card{background:#1f2937;border:1px solid #374151;border-radius:.75rem;padding:2.5rem 2rem;width:100%;max-width:400px;margin:1rem;text-align:center}
.portal-auth-card h1{font-size:1.35rem;margin-bottom:.25rem}
.portal-auth-addr{color:#6b7280;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:1.5rem}
.portal-auth-sub{color:#9ca3af;font-size:.85rem;margin-bottom:1.5rem}
.portal-auth-btn{width:100%;padding:.75rem 1.25rem;background:var(--accent);color:#fff;border:none;border-radius:.5rem;font-size:.95rem;font-weight:600;cursor:pointer}
.portal-auth-btn:hover{background:var(--accent2)}
.portal-auth-btn:disabled{opacity:.6;cursor:wait}
.portal-auth-error{background:#7f1d1d;color:#fca5a5;padding:.5rem .75rem;border-radius:.375rem;font-size:.82rem;margin-bottom:1rem}