:root{color-scheme:dark;--gold:#efc259;--muted:#b7bdc9;--line:#353a45}
*{box-sizing:border-box}body{background:radial-gradient(ellipse at 15% 0%,#393019 0,transparent 45%),#0b0e13;color:#f4f5f7;font-family:Inter,Segoe UI,Arial,sans-serif;min-height:100vh}main{max-width:1140px;padding:40px 28px}
.portal-header{align-items:center;justify-content:space-between;background:linear-gradient(125deg,#191b20,#10141b);border:1px solid #494332;border-radius:20px;padding:32px 38px;box-shadow:0 18px 50px #0003;gap:40px}
.portal-brand{display:flex;align-items:center;gap:15px;text-decoration:none;flex-shrink:0}.portal-brand img{width:90px;height:90px;border-radius:50%}.portal-brand span{font:52px/1 Georgia,serif;color:var(--gold);letter-spacing:.03em}.portal-brand small{display:block;font:600 10px/1.4 Segoe UI,sans-serif;letter-spacing:.18em;text-transform:uppercase;margin-top:12px;color:var(--muted)}
.portal-heading{max-width:540px}.portal-heading h1{font-size:clamp(27px,3.5vw,38px);letter-spacing:-.025em;line-height:1.12;margin:10px 0 16px;color:#fff}.portal-heading p{margin:0;color:var(--muted);font-size:14px}.portal-heading .eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--gold);font-weight:700}
section{background:#171c24;border:1px solid var(--line);padding:26px;border-radius:16px}#login{max-width:660px;margin:32px auto}#login h2{color:#f2cd75;margin-top:0}#login p{color:var(--muted);line-height:1.65}
input,button{font-family:inherit;font-size:15px;border-radius:9px;min-height:45px}input:not([type=checkbox]){max-width:none;width:100%;background:#0e1219;border-color:#505968;color:#fff;padding:12px 14px;margin-top:8px}input[type=checkbox]{min-height:0;accent-color:var(--gold)}
button{background:var(--gold);border-color:var(--gold);color:#111820;font-weight:700;padding:11px 18px}button:disabled{opacity:.65}a{color:var(--gold)}:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
#message{color:#cbd0d9;font-size:14px;margin:20px 0}#error:not(:empty){background:#372024;border:1px solid #824c51;border-radius:10px;padding:14px;color:#ffcecb}#error:empty,#message:empty{display:none}
#actions{align-items:center;margin:25px 0 16px;gap:12px}#actions a,#actions button{border:1px solid #51515b;background:#1b222c;color:#f0cf86;padding:10px 15px;border-radius:9px;text-decoration:none;font-size:14px;min-height:44px}
#tabs{padding:6px;display:flex;gap:8px;background:#11151d;border:1px solid var(--line);border-radius:12px}#tabs button{flex:1;border-color:transparent;background:transparent;color:#c3cad5}#tabs button[aria-pressed=true]{background:#eec260;color:#17202b}
.card{background:#10151d;border-color:var(--line);border-radius:12px}.card h3{color:#f0d391;font-size:16px;margin-top:0}dt,.muted{color:var(--muted)}dd{color:#f2f4f6}dl{font-size:14px;gap:10px 16px}h2{color:#f1d697}.records{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr))}#session-note{font-size:12px}
.portal-footer{border-top:1px solid var(--line);margin-top:38px;padding:22px 0;display:flex;justify-content:space-between;gap:16px;color:#929ba9;font-size:12px}iframe{border-radius:9px;margin-top:16px}
@media(max-width:700px){main{padding:18px 15px}.portal-header{flex-direction:column;align-items:flex-start;padding:24px;gap:25px}.portal-brand img{width:68px;height:68px}.portal-brand span{font-size:42px}.portal-heading h1 br{display:none}section{padding:21px}#login{margin:23px 0}dl{grid-template-columns:1fr}dd{margin-bottom:9px}.portal-footer{flex-direction:column}}
