[hidden] { display:none!important; }
.auth-gate { min-height:90vh; display:grid; place-items:center; padding:32px 16px; }
.auth-card { width:min(100%,440px); }
.auth-card h1 { font-size:clamp(32px,7vw,48px); letter-spacing:-2px; margin:20px 0; }
.auth-card p { line-height:1.6; color:#59676d; }
.auth-card label { display:block; margin:20px 0; font-size:14px; }
.auth-card input:not([type=checkbox]) { display:block; width:100%; padding:14px; margin-top:8px; border:1px solid #bbc7ca; border-radius:8px; box-sizing:border-box; font:inherit; }
.auth-card .consent { font-size:12px; line-height:1.6; }
.eyebrow { font-size:11px; letter-spacing:2px; }
.app-toolbar { display:flex; gap:16px; justify-content:space-between; align-items:center; margin:24px 0; font-size:12px; flex-wrap:wrap; }
.app-toolbar>div { display:flex; gap:8px; flex-wrap:wrap; }
.app-panel { margin:16px 0 28px; padding:24px; border:1px solid #dbe2e3; border-radius:12px; }
.app-panel h2 { margin-bottom:12px; font-size:22px; }
.app-panel p { margin:12px 0; line-height:1.6; }
.app-panel details { border-top:1px solid #ddd; padding:14px 0; }
.app-panel pre { white-space:pre-wrap; overflow-wrap:anywhere; font-size:12px; max-height:400px; overflow:auto; padding:12px; background:#f4f7f7; }
.manual-macros { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin:16px 0; }
.manual-macros label { font-size:12px; }
.manual-macros input { width:100%; box-sizing:border-box; padding:10px; margin-top:4px; border:1px solid #ccc; border-radius:4px; font-size:16px; }
button { min-height:44px; }
button:disabled { opacity:.5; cursor:not-allowed; }
:focus-visible { outline:2px solid #218172; outline-offset:3px; }
@media(max-width:600px) { .dashboard-page { padding-left:16px; padding-right:16px; padding-bottom:max(24px,env(safe-area-inset-bottom)); } .app-toolbar { align-items:flex-start; } .app-panel { padding:16px; } textarea,input { font-size:16px!important; } }

#private-dashboard { max-width:none; width:100%; }
