@font-face{font-family:Nunito;src:url('fonts/Nunito-VariableFont_wght.ttf') format('truetype');font-weight:200 1000;font-display:swap}
@font-face{font-family:Stencil;src:url('fonts/stencil-regular.ttf') format('truetype');font-display:swap}
:root{--ink:#071621;--paper:#f4fbff;--sky:#62c7f2;--blue:#0756a6;--green:#087447;--red:#dc2146;--pink:#e653a4;--line:#b8d1dc;--muted:#486270}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 Nunito,Arial,sans-serif}a{color:inherit}.portal-rail{height:12px;background:linear-gradient(105deg,var(--sky) 0 15%,#fff 15% 23%,var(--ink) 23% 34%,var(--green) 34% 48%,var(--blue) 48% 62%,var(--red) 62% 76%,var(--pink) 76% 90%,var(--sky) 90%)}
.portal-header{min-height:86px;padding:1rem max(4vw,24px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fff}.portal-brand{text-decoration:none}.portal-brand strong{font:1.65rem/1 Stencil,Impact,sans-serif}.portal-brand span{display:block;font-size:.76rem;font-style:italic}.portal-header>a:last-child{font-weight:900}
.auth-shell{min-height:calc(100vh - 98px);display:grid;grid-template-columns:1fr 1fr}.auth-intro{padding:clamp(3rem,7vw,8rem);background:var(--ink);color:#fff;display:flex;flex-direction:column;justify-content:center}.auth-intro h1{font-size:clamp(3.5rem,7vw,7.5rem);line-height:.9;letter-spacing:-.06em;margin:1rem 0}.auth-intro h1 span{font-family:Stencil,Impact,sans-serif;font-size:.65em;color:var(--sky);letter-spacing:.02em}.auth-intro p{max-width:580px;color:#c5dce7}.auth-panel{padding:clamp(2rem,6vw,7rem);display:flex;align-items:center}.auth-card{width:100%;max-width:650px;margin:auto}.tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:2rem}.tabs button{flex:1;padding:1rem;border:0;border-radius:0;background:transparent;font:inherit;font-weight:1000;cursor:pointer}.tabs button.active{background:var(--blue);color:#fff}.auth-card h2{font-size:clamp(2.3rem,4vw,4.2rem);line-height:1;margin:0 0 .7rem}.muted{color:var(--muted)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field{display:flex;flex-direction:column;gap:.4rem}.field.full{grid-column:1/-1}.field label{font-weight:900;font-size:.85rem}.field input,.field select,.field textarea{width:100%;border:1px solid #8ba9b7;border-radius:0;background:#fff;padding:.85rem;font:inherit}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(98,199,242,.45);border-color:var(--blue)}.submit{width:100%;margin-top:1.2rem;padding:1rem;border:0;border-radius:0;background:var(--ink);color:#fff;font:inherit;font-weight:1000;cursor:pointer}.submit:disabled{opacity:.55}.message{min-height:1.5rem;margin-top:1rem;font-weight:800}.message.error{color:#a50c2d}.message.success{color:var(--green)}.account-note{padding:1rem;border-left:5px solid var(--sky);background:#e4f6fe;margin-top:1.2rem}.hidden{display:none!important}
.dashboard{min-height:calc(100vh - 98px);display:grid;grid-template-columns:280px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;padding:2rem;background:var(--ink);color:#fff}.sidebar p{color:#a9c4d0}.sidebar nav{display:grid;margin-top:2rem}.sidebar nav a{padding:.9rem;border-bottom:1px solid rgba(255,255,255,.15);text-decoration:none;font-weight:900}.sidebar nav a:hover,.sidebar nav a:focus-visible{background:rgba(98,199,242,.18);outline:2px solid var(--sky);outline-offset:-2px}.sidebar nav a.active{background:var(--sky);color:var(--ink)}.dash-main{min-width:0;padding:clamp(2rem,5vw,5rem)}.dash-top{display:flex;justify-content:space-between;align-items:start;gap:2rem;margin-bottom:3rem}.dash-top h1{font-size:clamp(2.7rem,5vw,5rem);line-height:1;margin:.4rem 0}.status{display:inline-block;padding:.5rem .7rem;font-weight:1000;font-size:.75rem;letter-spacing:.08em;background:#dff7e9;color:var(--green)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.stat{padding:1.5rem;background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.stat strong{display:block;font-size:2.4rem}.panel{margin-top:2rem;background:#fff;border:1px solid var(--line);padding:1.5rem}.panel h2{margin-top:0}.admin-section{scroll-margin-top:2rem}.section-metric{display:flex;align-items:baseline;gap:1rem;margin:1rem 0}.section-metric strong{font-size:3rem}.privacy-note{max-width:720px;color:var(--muted)}.head-team-steps{padding-left:1.25rem}.head-team-steps li{margin:.7rem 0}.head-team-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.25rem}.head-team-actions a{padding:.75rem 1rem;background:var(--ink);color:#fff;text-decoration:none;font-weight:900}.head-team-actions a:last-child{background:var(--blue)}
.records{width:100%;border-collapse:collapse}.records th,.records td{text-align:left;padding:.9rem;border-bottom:1px solid var(--line)}.records th{font-size:.74rem;letter-spacing:.1em}.records button{border:0;border-radius:0;padding:.55rem .75rem;font:inherit;font-weight:900;cursor:pointer}.approve{background:var(--green);color:#fff}.reject{background:#f7dce3;color:#8d1330}.empty{padding:2rem;color:var(--muted);text-align:center}.signout{border:1px solid var(--ink);background:#fff;padding:.7rem 1rem;font:inherit;font-weight:900;cursor:pointer}
@media(max-width:900px){.auth-shell{grid-template-columns:1fr}.auth-intro{min-height:380px}.dashboard{grid-template-columns:1fr}.sidebar{display:block;position:static;height:auto;padding:1.2rem}.sidebar nav{display:flex;overflow-x:auto;margin-top:1rem}.sidebar nav a{flex:0 0 auto;white-space:nowrap}.stats{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.form-grid,.stats{grid-template-columns:1fr}.field.full{grid-column:auto}.portal-header{min-height:75px}.auth-panel,.auth-intro,.dash-main{padding:2rem 1.2rem}.records{display:block;overflow:auto}.dash-top{flex-direction:column}.head-team-actions{display:grid}.head-team-actions a{text-align:center}}
