:root{color-scheme:dark;--navy:#102035;--blue:#243d5b;--gold:#dfb66b;--text:#edf1f7;--muted:#9cacbf}*{box-sizing:border-box}body{margin:0;background:var(--navy);color:var(--text);font:16px/1.5 system-ui,sans-serif;min-height:100dvh}a{color:inherit;text-decoration:none}header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px clamp(20px,5vw,80px);border-bottom:1px solid #ffffff12}.brand{font-weight:800;letter-spacing:.14em;color:var(--gold)}.brand span{display:block;color:var(--muted);font-weight:400;font-size:11px;letter-spacing:.12em}nav{display:flex;gap:20px;align-items:center;flex-wrap:wrap}nav form{margin:0}main{max-width:1200px;margin:auto;padding:40px 24px 70px}.ambient{position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 15% 30%,#243d5b 0,transparent 60%)}.login-layout{display:grid;grid-template-columns:1fr 430px;align-items:center;gap:64px;min-height:70dvh}.intro h1{font-size:clamp(40px,6vw,76px);letter-spacing:.1em;margin:12px 0;color:var(--gold);text-shadow:0 3px 0 #83673b,0 12px 28px #0008;animation:reveal 1.4s both}.eyebrow{letter-spacing:.18em;font-size:11px;font-weight:700;color:var(--muted)}h1,h2{line-height:1.2}h2{font-size:24px}.panel{background:#152a42cc;border:1px solid #ffffff14;border-radius:22px;padding:30px;box-shadow:0 16px 60px #0002}.muted{color:var(--muted)}.small,.helptext{font-size:12px}label{display:block;margin:20px 0 7px;font-weight:600}input:not([type=checkbox]){width:100%;border:1px solid #ffffff25;background:#0d1b2d;color:var(--text);border-radius:10px;padding:13px 14px;font:inherit}input:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}button,.link-button{font:inherit;border-radius:10px;padding:11px 18px;cursor:pointer;border:0;display:inline-block}.primary{background:var(--gold);color:#19283a;font-weight:700}.login-panel .primary{width:100%;margin-top:24px}.secondary{background:var(--blue);margin:10px}.quiet{background:transparent;color:var(--muted);padding:8px}.password-row{display:flex;align-items:center;gap:8px}.error,.errorlist{color:#ffb6ac}.errorlist{padding-left:20px}.helptext{display:block;color:var(--muted)}.admin-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.user-card{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid #ffffff12}.user-card small{display:block;color:var(--muted)}#id_grants label{background:#20364e;border-radius:10px;padding:12px;margin:8px 0;font-weight:400}input[type=checkbox]{accent-color:var(--gold);width:18px;height:18px;vertical-align:middle;margin-right:10px}.page-title{margin-bottom:32px}@keyframes reveal{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@media(max-width:850px){.login-layout,.admin-grid{grid-template-columns:1fr;gap:24px;min-height:0}.intro{text-align:center}.intro h1{font-size:40px}.intro p:not(.eyebrow){margin:6px}.panel{padding:24px}header{padding:18px 22px}nav{gap:10px;font-size:14px}main{padding-top:24px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(max-height:500px) and (min-width:600px){.login-layout{grid-template-columns:1fr 1fr}.intro h1{font-size:36px}main{padding-top:16px}.panel{padding:20px}}

/* A single restrained metallic light pass; the form remains immediately usable. */
.intro{perspective:1000px}
.intro h1{display:inline-block;position:relative;isolation:isolate;font-weight:800;line-height:1.2;animation:brand-arrive 1.5s cubic-bezier(.16,1,.3,1) both;text-shadow:0 1px 0 #f0cd8b,0 2px 0 #98723b,0 3px 0 #805e31,0 14px 30px #0005}
@supports(background-clip:text){.intro h1{background:linear-gradient(110deg,#c99846 0%,#e6bf76 32%,#fff0c8 45%,#e6bf76 56%,#c99846 72%,#e6bf76 100%);background-size:240% 100%;background-position:100% 50%;background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 2px 0 #876334) drop-shadow(0 12px 20px #0004);animation:brand-arrive 1.5s cubic-bezier(.16,1,.3,1) both,metal-light 2.8s ease-in-out .2s both}}
.intro .eyebrow{animation:brand-caption 1s ease-out both}.intro>p:last-child{animation:brand-caption 1.2s ease-out .15s both}
@keyframes brand-arrive{from{opacity:0;transform:translate3d(0,18px,-35px) rotateX(7deg)}to{opacity:1;transform:translate3d(0,0,0) rotateX(0)}}
@keyframes metal-light{from{background-position:100% 50%}to{background-position:0% 50%}}
@keyframes brand-caption{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:450px){.intro h1{font-size:clamp(28px,8.5vw,40px);letter-spacing:.08em}.password-row input{min-width:0}.password-row button{flex:none}}
@media(prefers-reduced-motion:reduce){.intro h1,.intro .eyebrow,.intro>p:last-child{animation:none!important;transform:none;opacity:1}}

.access-help{margin-top:8px}.access-help-toggle{display:block;text-align:left;font-size:12px;line-height:1.5;color:var(--muted);background:none;border:0;border-radius:6px;padding:8px 0;min-height:40px}.access-help-toggle:hover{color:var(--text)}.contact-reveal[hidden]{display:none}.contact-reveal{animation:contact-arrive .22s ease-out both}.contact-pill{display:flex;align-items:center;gap:8px;max-width:100%;padding:5px 7px 5px 16px;border:1px solid #dfb66b55;border-radius:28px;background:#0d1b2dcc;box-shadow:0 6px 18px #0002}.contact-email{font-size:clamp(12px,3.3vw,14px);min-width:0;overflow-wrap:anywhere;user-select:text;flex:1}.contact-copy{display:flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;padding:11px;border-radius:50%;color:var(--gold);background:#dfb66b12;transition:background .15s,color .15s}.contact-copy:hover{background:#dfb66b25}.contact-copy svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.contact-copy .copied-symbol{display:none}.contact-copy.is-copied{color:#79d8aa;background:#79d8aa18}.contact-copy.is-copied .copy-symbol{display:none}.contact-copy.is-copied .copied-symbol{display:block}.copy-status{display:block;min-height:21px;margin:3px 14px 0;font-size:12px;color:#79d8aa}@keyframes contact-arrive{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}

.remember-row{display:flex;align-items:center;gap:10px;margin:10px 0 0;min-height:44px;font-size:13px;font-weight:400;color:var(--muted);cursor:pointer}.remember-row input[type=checkbox]{appearance:none;-webkit-appearance:none;flex:none;width:18px;height:18px;margin:0;border:1px solid #9cacbf;border-radius:50%;background:transparent;display:grid;place-content:center}.remember-row input:checked{border-color:var(--gold)}.remember-row input:checked::before{content:'';width:10px;height:10px;border-radius:50%;background:var(--gold)}
