@import "https://fonts.googleapis.com/css2?family=Work+Sans:wght@400;500;600;700&display=swap";
:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#0c1522;--surface:#121e2e;--raised:#1a2a3d;--border:#2d3e52;--muted:#a7b2c1;--text:#edf0f4;--gold:#cead74;--gold-hover:#e2c99f;--font:"Work Sans","Segoe UI",sans-serif}*{box-sizing:border-box}body{background:var(--background);color:var(--text);font:15px/1.6 var(--font);-webkit-font-smoothing:antialiased;margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent;outline-offset:5px}:focus-visible{outline:2px solid var(--gold)}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}h1,h2,p{margin:0}::selection{color:var(--text);background:#cead7438}.portal-shell{flex-direction:column;justify-content:center;align-items:center;gap:24px;max-width:850px;min-height:100dvh;margin:0 auto;padding:64px 24px;display:flex}.site-header{flex-direction:column;align-items:center;gap:12px;width:100%;display:flex}.wordmark{letter-spacing:-1.4px;font-size:30px;font-weight:500;line-height:1.2}.private-label{color:var(--muted);align-items:center;gap:7px;font-size:12px;display:flex}.login-main{width:100%;max-width:420px}.access-card{border:1px solid var(--border);background:var(--surface);border-radius:6px;width:100%;min-width:0;padding:32px}.access-card>.wordmark{margin-bottom:28px}.access-card h1{letter-spacing:-.3px;font-size:19px;font-weight:500;line-height:1.5}.card-description{color:var(--muted);overflow-wrap:anywhere;margin:8px 0 23px;font-size:12px;line-height:1.8}.card-description strong{color:var(--text);font-weight:400}label{color:var(--text);margin-bottom:8px;font-size:12px;display:block}input{border:1px solid var(--border);background:var(--background);width:100%;color:var(--text);border-radius:4px;min-height:45px;padding:12px 13px;font-size:14px}input::placeholder{color:#8e9aa9}input:focus{border-color:var(--gold)}.primary-button{background:var(--gold);width:100%;min-height:44px;color:var(--background);border-radius:4px;justify-content:center;align-items:center;gap:10px;margin-top:18px;font-size:13px;font-weight:500;transition:background .15s;display:flex}.primary-button:hover:not(:disabled){background:var(--gold-hover)}.primary-button svg{order:1}.form-error{color:#f0b6aa;margin:13px 0;font-size:12px;line-height:1.7}.form-hint{color:var(--muted);margin-top:12px;font-size:11px;line-height:1.7}.code-input{letter-spacing:.15em;font-variant-numeric:tabular-nums}.code-input::placeholder{letter-spacing:normal}.code-actions{flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:18px;display:flex}.text-button{color:var(--gold);background:0 0;align-items:center;gap:6px;padding:0;font-size:12px;line-height:1.6;display:inline-flex}.text-button:hover:not(:disabled){color:var(--gold-hover)}.state-card{flex-direction:column;justify-content:center;align-items:flex-start;gap:12px;min-height:100px;display:flex}.state-card>svg{color:var(--gold)}.state-card>p{color:var(--muted);font-size:12px}.state-card>.text-button{margin-top:5px}.access-request{text-align:center;color:var(--muted);margin:22px 10px 0;font-size:12px;line-height:1.8}.logout-button{color:var(--muted);background:0 0;align-items:center;gap:8px;padding:6px;font-size:12px;display:flex}.logout-button:hover:not(:disabled){color:var(--text)}.home-main{width:100%}.section-title{color:var(--muted);margin-bottom:14px;font-size:13px;font-weight:500}.module-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.module-card{border:1px solid var(--border);background:var(--surface);border-radius:6px;flex-direction:column;padding:22px;display:flex}.module-top{color:var(--gold);justify-content:space-between;align-items:center;gap:12px;margin-bottom:21px;display:flex}.module-card h2{font-size:16px;font-weight:500}.module-card p{color:var(--muted);margin-top:6px;font-size:12px;line-height:1.8}.module-action{color:var(--gold);align-items:center;gap:7px;margin-top:21px;font-size:11px;display:flex}.available{transition:background .16s,border-color .16s}.available:hover{background:var(--raised);border-color:#cead7480}.upcoming{background:0 0;border-color:#2d3e5288}.upcoming .module-top,.upcoming h2{color:var(--muted)}.upcoming-label{color:var(--muted);font-size:10px}.page-error{color:#f0b6aa;border:1px solid #8e554966;margin-bottom:20px;padding:12px 15px;font-size:12px}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:650px){.portal-shell{gap:24px;padding:40px 22px}.wordmark{font-size:28px}.access-card{padding:26px}.module-grid{grid-template-columns:1fr;gap:11px}.home-main{max-width:420px}.module-card{padding:21px}.module-top{margin-bottom:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
