:root{--page:#0f0f1a;--surface:#1a1a2e;--surface-elevated:#252540;--stroke:#1e1e30;--coral:#ff6b4a;--teal:#00c9b1;--text:#f2f0ed;--text-muted:#f2f0ed8c;--danger:#ff8a80}*{box-sizing:border-box}body{background:var(--page);min-height:100vh;margin:0}code{font-size:.9em}.auth-back{margin:0 0 14px;font-size:13px}.auth-back a{color:var(--teal);text-decoration:none}.auth-back a:hover{text-decoration:underline}.marketing-root{background:radial-gradient(1200px 600px at 50% -10%, #ff6b4a1f, transparent 55%), radial-gradient(900px 500px at 90% 40%, #00c9b114, transparent 50%), var(--page);min-height:100vh;color:var(--text);flex-direction:column;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;display:flex}.marketing-nav{border-bottom:1px solid var(--stroke);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;background:#0f0f1ad9;justify-content:space-between;align-items:center;gap:16px;padding:16px 22px;display:flex;position:sticky;top:0}.marketing-brand{color:var(--coral);letter-spacing:-.03em;font-size:20px;font-weight:800;text-decoration:none}.marketing-nav-links{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.marketing-nav-link{color:var(--text-muted);border-radius:8px;padding:8px 12px;font-size:14px;text-decoration:none}.marketing-nav-link:hover{color:var(--text);background:#ffffff0d}.marketing-nav-btn{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.marketing-hero{text-align:center;max-width:720px;margin:0 auto;padding:48px 22px 40px}.marketing-eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--teal);margin:0 0 12px;font-size:12px;font-weight:650}.marketing-headline{letter-spacing:-.03em;margin:0 0 16px;font-size:clamp(1.75rem,4vw,2.35rem);font-weight:800;line-height:1.15}.marketing-lead{color:var(--text-muted);max-width:52ch;margin:0 auto 28px;font-size:1.05rem;line-height:1.6}.marketing-hero-cta{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.marketing-cta-large{justify-content:center;align-items:center;min-width:200px;text-decoration:none;display:inline-flex}.marketing-section{max-width:1040px;margin:0 auto;padding:36px 22px 48px}.marketing-section-title{letter-spacing:-.02em;margin:0 0 10px;font-size:1.35rem;font-weight:750}.marketing-section-intro{color:var(--text-muted);max-width:60ch;margin:0 0 22px;font-size:15px;line-height:1.55}.marketing-features{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.marketing-feature{border:1px solid var(--stroke);background:var(--surface-elevated);border-radius:14px;padding:20px 18px}.marketing-feature h3{color:var(--coral);margin:0 0 8px;font-size:16px;font-weight:700}.marketing-feature p{color:#f2f0edd1;margin:0;font-size:14px;line-height:1.55}.marketing-fact-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;display:grid}.marketing-fact-card{border:1px solid var(--stroke);background:linear-gradient(165deg, var(--surface-elevated), var(--surface));border-radius:14px;padding:18px 18px 14px;box-shadow:0 18px 40px #00000040}.marketing-fact-card--image{padding-bottom:16px}.marketing-fact-image-wrap{border:1px solid var(--stroke);background:#0a0a12;border-radius:10px;width:100%;margin-bottom:10px;overflow:hidden}.marketing-fact-image{vertical-align:middle;width:100%;height:auto;display:block}.marketing-fact-card-top{align-items:center;gap:10px;margin-bottom:14px;display:flex}.marketing-fact-pill{text-transform:uppercase;letter-spacing:.06em;color:var(--coral);background:#ff6b4a2e;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:700}.marketing-fact-category{color:var(--text-muted);font-size:13px}.marketing-fact-meta{color:var(--text-muted);opacity:.85;margin:0;font-size:11px}.marketing-cta-band{border-top:1px solid var(--stroke);border-bottom:1px solid var(--stroke);text-align:center;background:#1a1a2e99}.marketing-cta-band-title{margin-bottom:8px}.marketing-cta-band-text{max-width:52ch;color:var(--text-muted);margin:0 auto 22px;font-size:15px;line-height:1.55}.marketing-cta-band-text a{color:var(--teal);text-decoration:none}.marketing-cta-band-text a:hover{text-decoration:underline}.marketing-footer{border-top:1px solid var(--stroke);background:#0a0a1480;margin-top:auto;padding:20px 22px 28px}.marketing-footer-inner{flex-wrap:wrap;align-items:center;gap:16px 20px;max-width:1040px;margin:0 auto;font-size:14px;display:flex}.marketing-footer-brand{color:var(--coral);margin-right:auto;font-weight:800}.marketing-footer-link{color:var(--text-muted);text-decoration:none}.marketing-footer-link:hover{color:var(--teal)}.marketing-contact-main{flex:1;justify-content:center;align-items:flex-start;padding:36px 22px 48px;display:flex}.marketing-contact-card{width:100%;max-width:520px}.marketing-contact-title{letter-spacing:-.02em;margin:0 0 10px;font-size:1.65rem;font-weight:800}.marketing-contact-lead{color:var(--text-muted);margin:0 0 22px;font-size:15px;line-height:1.55}.marketing-contact-email-row{margin:0 0 16px}.marketing-contact-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:6px;font-size:11px;display:block}.marketing-contact-email{color:var(--teal);font-size:1.15rem;font-weight:650;text-decoration:none}.marketing-contact-email:hover{text-decoration:underline}.marketing-contact-note{color:#f2f0ed8c;margin:0 0 20px;font-size:13px;line-height:1.5}.marketing-contact-back{margin:0;font-size:14px}.marketing-contact-back a{color:var(--coral);text-decoration:none}.marketing-contact-back a:hover{text-decoration:underline}.app-root{background:var(--page);min-height:100vh;color:var(--text);flex-direction:column;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;display:flex}.app-shell{flex:1;min-height:0;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--stroke);flex-direction:column;flex-shrink:0;gap:6px;width:200px;padding:16px 12px;display:flex}.sidebar h1{color:var(--coral);letter-spacing:-.02em;margin:0 0 12px;font-size:15px;font-weight:700}.sidebar-sub{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin:-8px 0 12px;font-size:11px}.sidebar button{text-align:left;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:10px 12px;font-size:14px}.sidebar button:hover{color:var(--text);background:#ffffff0f}.sidebar button.active{color:var(--coral);background:#ff6b4a26}.main{flex:1;padding:20px 24px;overflow:auto}.topbar{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.topbar h2{margin:0;font-size:20px;font-weight:650}.btn{cursor:pointer;border:none;border-radius:10px;padding:10px 16px;font-size:14px;font-weight:600}.btn-primary{color:#0f0f1a;background:linear-gradient(135deg,#ff6b4a,#ff8a65)}.btn-ghost{color:var(--text-muted);border:1px solid var(--stroke);background:0 0}.btn-ghost:hover{color:var(--text)}.btn-danger{color:var(--danger);background:#ff6a4a1f;border:1px solid #ff6a4a73}.btn-danger:hover:not(:disabled){color:#ffb4a8;background:#ff6a4a33}.btn-danger:disabled{opacity:.55;cursor:not-allowed}.user-portal{max-width:720px;margin:0 auto;padding:20px 24px 40px}.user-portal-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.user-portal-header h1{color:var(--coral);letter-spacing:-.03em;margin:0;font-size:26px;font-weight:700}.user-portal-sub{color:var(--text-muted);margin:6px 0 0;font-size:14px}.user-portal-staff-banner{color:var(--text);background:var(--surface-elevated);border:1px solid var(--stroke);border-radius:10px;margin:0 0 16px;padding:12px 14px;font-size:13px;line-height:1.45}.user-portal-staff-banner-note{color:var(--text-muted);font-size:12px}.section-title{margin:0 0 12px;font-size:17px;font-weight:650}.dl-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px 20px;margin:0;display:grid}.dl-grid dt{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:4px;font-size:11px}.dl-grid dd{color:var(--text);margin:0;font-size:15px}.today-meta{color:var(--text-muted);margin:0 0 10px;font-size:13px}.today-lead{color:var(--text);margin:0 0 12px;font-size:16px;line-height:1.55}.today-streak{color:var(--teal);margin:0;font-size:13px}.danger-zone{border-color:#ff6a4a59}.card{background:var(--surface-elevated);border:1px solid var(--stroke);border-radius:12px;margin-bottom:16px;padding:16px}.stats-row{flex-wrap:wrap;gap:12px;margin-bottom:20px;display:flex}.stat{background:var(--surface-elevated);border:1px solid var(--stroke);border-radius:12px;min-width:120px;padding:14px 18px}.stat .n{color:var(--teal);font-size:22px;font-weight:700}.stat .l{color:var(--text-muted);margin-top:4px;font-size:12px}.users-hint{color:var(--text-muted);border:1px solid var(--stroke);background:#ffffff08;border-radius:10px;max-width:min(52rem,100%);margin:0 0 16px;padding:14px 16px 12px;font-size:13px;line-height:1.55}.users-hint-title{letter-spacing:.04em;text-transform:uppercase;color:var(--text);opacity:.85;margin:0 0 10px;font-size:12px;font-weight:650}.users-hint-list{margin:0;padding-left:1.2rem;list-style-type:disc}.users-hint-list li{margin-bottom:.55rem;padding-left:.15rem}.users-hint-list li:last-child{margin-bottom:0}.users-hint code{color:var(--teal);background:#00000040;border-radius:4px;padding:1px 5px;font-size:12px}.users-notice{color:var(--text);background:#2dd4bf1f;border:1px solid #2dd4bf59;border-radius:8px;margin:0 0 12px;padding:10px 12px;font-size:13px;line-height:1.45}.users-send-reset{white-space:nowrap;padding:4px 10px;font-size:13px}.users-ban-wrap{flex-direction:column;align-items:flex-start;gap:6px;display:inline-flex}.users-banned-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--danger);background:#ff6a4a1f;border:1px solid #ff6a4a59;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:700}.users-ban-btn{padding:4px 10px;font-size:13px}.users-table th.users-col-verify,.users-table td.users-col-verify{z-index:1;vertical-align:middle;background:var(--surface-elevated);min-width:148px;max-width:200px;position:sticky;left:0;box-shadow:6px 0 12px #0000001f}.users-table thead th.users-col-verify{z-index:2;background:var(--surface)}.users-verify-actions{flex-direction:column;align-items:flex-start;gap:8px;display:inline-flex}.users-verified-yes{color:var(--teal);font-weight:600}.users-verified-no{color:var(--text-muted);font-weight:600}.users-mark-verified{white-space:nowrap;padding:6px 12px;font-size:13px}.users-col-access{vertical-align:top;min-width:140px}.users-access-badges{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.users-badge{text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--stroke);border-radius:6px;padding:3px 8px;font-size:11px;font-weight:700}.users-badge-member{color:var(--text-muted);background:#ffffff0a}.users-badge-staff{color:var(--coral);background:#ff8a651f;border-color:#ff8a6559}.users-badge-env{color:#a78bfa;background:#a78bfa1f;border-color:#a78bfa59}.users-access-actions{flex-wrap:wrap;gap:4px;display:flex}.users-access-btn{white-space:nowrap;padding:4px 8px;font-size:12px}.table-wrap{border:1px solid var(--stroke);border-radius:12px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--stroke);padding:10px 12px}th{background:var(--surface);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}button.th-sort{all:unset;cursor:pointer;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;align-items:center;gap:4px;display:inline-flex}button.th-sort:hover{color:var(--coral)}tr:last-child td{border-bottom:none}tr:hover td{background:#ffffff08}.form-grid{gap:12px;max-width:480px;display:grid}label.checkbox-row{cursor:pointer;flex-direction:row;align-items:flex-start;gap:10px}label.checkbox-row input[type=checkbox]{margin-top:3px}label.checkbox-row span{color:var(--text);line-height:1.45}label{color:var(--text-muted);flex-direction:column;gap:6px;font-size:13px;display:flex}input,textarea,select{border:1px solid var(--stroke);background:var(--surface);color:var(--text);border-radius:8px;padding:10px 12px;font-size:14px}textarea{resize:vertical;min-height:88px}.err{color:var(--danger);margin:0 0 12px;font-size:14px}.ok{color:var(--teal);margin:0 0 12px;font-size:14px}.pager{color:var(--text-muted);align-items:center;gap:12px;margin-top:14px;font-size:14px;display:flex}
