:root{--background:#0a0a0a;--foreground:#e5e9f0;--card:#151515;--card-elevated:#1c1c1c;--muted-foreground:#94a3b8;--border:#ffffff14;--gold:#1d9e75;--gold-hover:#5dcaa5;--input-bg:#1c1c1c;--input-text:#e5e9f0;--error:#f87171;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--background);color:var(--foreground);-webkit-text-size-adjust:100%;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}html,body,#root{width:100%;min-width:0;min-height:100%;overflow-x:clip}a,a:visited{color:inherit}.portal-shell{background:radial-gradient(circle at 15% 0%, #1d9e7521, transparent 30rem), radial-gradient(circle at 90% 16%, #f5b73314, transparent 24rem), var(--background);flex-direction:column;width:100%;min-width:0;min-height:100dvh;display:flex;overflow-x:clip}.portal-header{width:100%;padding:calc(10px + env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 10px max(16px, env(safe-area-inset-left));border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(18px);z-index:10;background:#0a0a0ae0;position:sticky;top:0}.portal-header-inner{justify-content:space-between;align-items:center;gap:16px;width:min(100%,1100px);min-width:0;margin-inline:auto;display:flex}.portal-brand{align-items:center;gap:10px;min-width:0;display:flex}.portal-brand img{border-radius:50%;flex:none;display:block;box-shadow:0 0 0 1px #f5b7334d,0 0 18px #f5b7332e}.portal-brand-copy{letter-spacing:.01em;white-space:nowrap;min-width:0;font-size:18px;font-weight:800}.portal-brand-copy>span{color:var(--gold)}.portal-sign-out{min-height:40px;color:var(--foreground);font:inherit;cursor:pointer;background:linear-gradient(#475569e0,#1e293beb);border:1px solid #94a3b84d;border-radius:999px;flex:none;padding:8px 14px;font-size:13px;font-weight:750;box-shadow:inset 0 1px #ffffff2e,0 8px 20px #0000002e}.portal-sign-out:hover{color:#fecaca;border-color:#f8717194}.portal-sign-out:focus-visible{outline-offset:3px;outline:3px solid #fbbf24}.portal-main{width:min(100%,1100px);min-width:0;padding:28px max(16px, env(safe-area-inset-right)) calc(28px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));flex:1;margin-inline:auto}.portal-intro{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:flex-end;gap:22px;min-width:0;padding-bottom:22px;display:flex}.portal-intro-copy{min-width:0}.portal-kicker{color:#6ee7b7;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:800;display:block}.portal-intro h1{letter-spacing:-.025em;margin:0;font-size:clamp(26px,4vw,38px);line-height:1.08}.portal-intro p{max-width:100%;color:var(--muted-foreground);overflow-wrap:anywhere;margin:7px 0 0;font-size:14px}.portal-session-badge{color:#a7f3d0;background:#10b98117;border:1px solid #34d39947;border-radius:999px;flex:none;align-items:center;gap:7px;padding:8px 12px;font-size:12px;font-weight:750;display:inline-flex}.portal-session-badge span{color:#34d399;text-shadow:0 0 10px #34d399}.portal-section-heading{min-width:0;margin:24px 0 14px}.portal-section-heading h2{margin:0;font-size:18px}.portal-section-heading p{color:var(--muted-foreground);margin:5px 0 0;font-size:13px}.app-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:12px;min-width:0;display:grid}.app-card{--card-accent:#94a3b8;--card-accent-rgb:148, 163, 184;border:1px solid rgba(var(--card-accent-rgb), .28);background:linear-gradient(145deg, rgba(var(--card-accent-rgb), .12), transparent 56%), linear-gradient(180deg, #ffffff09, #ffffff02), var(--card);cursor:pointer;text-align:left;min-width:0;min-height:142px;color:inherit;border-radius:16px;grid-template-columns:44px minmax(0,1fr);align-items:start;gap:12px;padding:15px;text-decoration:none;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid;box-shadow:inset 0 1px #ffffff0d,0 10px 30px #00000026}.app-card:visited{color:inherit;text-decoration:none}.app-card:hover{border-color:rgba(var(--card-accent-rgb), .7);box-shadow:inset 0 1px #ffffff17, 0 14px 34px rgba(var(--card-accent-rgb), .1);transform:translateY(-2px)}.app-card:active{transform:translateY(0)scale(.99)}.app-card:focus-visible{outline:3px solid var(--card-accent);outline-offset:3px}.app-card-blue{--card-accent:#60a5fa;--card-accent-rgb:96, 165, 250}.app-card-green{--card-accent:#34d399;--card-accent-rgb:52, 211, 153}.app-card-gold{--card-accent:#fbbf24;--card-accent-rgb:251, 191, 36}.app-card-cyan{--card-accent:#22d3ee;--card-accent-rgb:34, 211, 238}.app-card-orange{--card-accent:#fb923c;--card-accent-rgb:251, 146, 60}.app-card-pink{--card-accent:#f472b6;--card-accent-rgb:244, 114, 182}.app-card-purple{--card-accent:#c084fc;--card-accent-rgb:192, 132, 252}.app-card-slate{--card-accent:#cbd5e1;--card-accent-rgb:203, 213, 225}.app-card-icon{border:1px solid rgba(var(--card-accent-rgb), .38);background:linear-gradient(180deg, rgba(var(--card-accent-rgb), .2), rgba(var(--card-accent-rgb), .07));width:44px;height:44px;box-shadow:inset 0 1px #ffffff2e, 0 8px 18px rgba(var(--card-accent-rgb), .09);border-radius:13px;place-items:center;font-size:22px;display:grid}.app-card-content{min-width:0;display:block}.app-card-heading{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.app-card-title{min-width:0;color:var(--foreground);overflow-wrap:anywhere;font-size:15px;font-weight:800;line-height:1.25}.app-card-arrow{color:var(--card-accent);flex:none;font-size:18px;transition:transform .16s}.app-card:hover .app-card-arrow{transform:translate(3px)}.app-card-meta{color:var(--muted-foreground);overflow-wrap:anywhere;margin-top:4px;font-size:13px;line-height:1.35;display:block}.app-card-summary{border-top:1px solid rgba(var(--card-accent-rgb), .16);align-items:baseline;gap:7px;min-width:0;margin-top:14px;padding-top:10px;display:flex}.app-card-stat{color:var(--card-accent);flex:none;font-size:22px;font-weight:850;line-height:1}.app-card-stat-label{min-width:0;color:var(--muted-foreground);overflow-wrap:anywhere;font-size:12px;line-height:1.3}.app-card-loading,.app-card-error{color:var(--muted-foreground);margin-top:14px;font-size:13px;display:block}.app-card-error{color:#fca5a5}.portal-empty{background:linear-gradient(145deg, #fb923c21, #c084fc0f), var(--card);border:1px solid #fb923c57;border-radius:16px;align-items:flex-start;gap:14px;padding:18px;display:flex;box-shadow:inset 0 1px #ffffff0f,0 12px 30px #00000024}.portal-empty-icon{background:#fb923c1f;border:1px solid #fb923c6b;border-radius:13px;flex:none;place-items:center;width:44px;height:44px;font-size:22px;display:grid}.portal-empty h3{color:#fed7aa;margin:1px 0 5px;font-size:16px}.portal-empty p{color:var(--muted-foreground);margin:0;font-size:13px;line-height:1.45}.login-shell{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--card);border:1px solid var(--border);border-radius:12px;width:100%;max-width:360px;padding:32px}.login-card h1{text-align:center;margin:0 0 4px;font-size:20px}.login-card p{color:var(--muted-foreground);text-align:center;margin:0 0 20px;font-size:14px}.field{margin-bottom:14px}.password-field-wrap{position:relative}.password-field-wrap .input{padding-right:40px}.password-toggle-btn{color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;padding:4px;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.field label{color:var(--muted-foreground);margin-bottom:6px;font-size:13px;display:block}.field input,.field .input{border:1px solid var(--border);background:var(--input-bg);width:100%;color:var(--input-text);border-radius:8px;padding:10px 12px;font-size:14px}.login-card .btn-primary{background:var(--gold);color:#1a1305;cursor:pointer;border:none;border-radius:8px;width:100%;padding:10px 12px;font-size:14px;font-weight:600}.login-card .btn-primary:hover{background:var(--gold-hover)}.login-card .btn-primary:disabled{opacity:.6;cursor:not-allowed}.form-error{color:var(--error);margin:10px 0 0;font-size:13px}.login-notice{border:1px solid;border-radius:10px;gap:5px;margin:0 0 18px;padding:12px 14px;font-size:13px;line-height:1.4;display:grid}.login-notice strong,.login-notice span{display:block}.login-notice-warning{color:#fbbf24;background:#f59e0b1a;border-color:#fbbf2480}.login-notice-danger{color:#fca5a5;background:#ef44441a;border-color:#f8717180}.login-notice-info{color:#67e8f9;background:#06b6d41a;border-color:#22d3ee73}.recovery-shell{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.recovery-card{border:1px solid var(--border);background:linear-gradient(145deg, #ffffff0e, #ffffff04), var(--card);text-align:left;border-radius:18px;width:min(100%,520px);padding:28px;box-shadow:0 20px 60px #00000059}.recovery-card-warning{border-color:#f59e0b8c;box-shadow:0 20px 60px #f59e0b14}.recovery-card-success{border-color:#1d9e7594;box-shadow:0 20px 60px #1d9e751a}.recovery-card-danger{border-color:#f8717194;box-shadow:0 20px 60px #f8717117}.recovery-icon{margin-bottom:10px;font-size:34px}.recovery-card h1{margin:0 0 8px;font-size:24px}.recovery-card p{color:var(--muted-foreground);margin:0 0 18px;line-height:1.55}.recovery-actions{flex-wrap:wrap;gap:10px;display:flex}.recovery-card .btn-primary,.recovery-card .btn-secondary{color:var(--foreground);cursor:pointer;border:1px solid #ffffff21;border-radius:10px;padding:10px 14px;font-weight:700}.recovery-card .btn-primary{background:linear-gradient(#36c99a,#137b5e)}.recovery-card .btn-secondary{background:linear-gradient(#475569,#1e293b)}.recovery-card button:focus-visible{outline-offset:3px;outline:3px solid #fbbf24}.recovery-card details{color:var(--muted-foreground);margin-top:18px;font-size:12px}.recovery-card details p{margin:8px 0 0;font-size:12px}@media (width<=520px){.login-shell,.recovery-shell{padding:16px}.login-card,.recovery-card{max-width:none;padding:22px}.recovery-actions>*{width:100%}.portal-header{padding-top:calc(8px + env(safe-area-inset-top))}.portal-brand-copy{font-size:16px}.portal-sign-out{min-height:38px;padding-inline:11px;font-size:12px}.portal-main{padding-top:20px}.portal-intro{flex-direction:column;align-items:flex-start;gap:14px;padding-bottom:18px}.portal-intro h1{font-size:28px}.portal-session-badge{padding-block:7px}.portal-section-heading{margin-top:20px}.app-grid{grid-template-columns:minmax(0,1fr);gap:10px}.app-card{border-radius:15px;min-height:0;padding:14px}.app-card-summary{margin-top:10px;padding-top:9px}}@media (prefers-reduced-motion:reduce){.app-card,.app-card-arrow{transition:none}}.centered-message{min-height:100vh;color:var(--muted-foreground);justify-content:center;align-items:center;display:flex}
