:root{
  --aa-navy:#0b2542;--aa-blue:#1269a8;--aa-blue-deep:#0b568e;--aa-blue-soft:#eaf4fb;
  --aa-gold:#d28b13;--aa-gold-deep:#aa6d08;--aa-gold-soft:#fff5dd;
  --aa-bg:#f3f7fb;--aa-card:#ffffff;--aa-text:#132a42;--aa-muted:#6a7d90;--aa-line:#dbe5ee;
  --aa-danger:#bd3d35;--aa-danger-soft:#fff1ef;--aa-shadow:0 24px 70px rgba(19,52,83,.12);
}
*{box-sizing:border-box}
html{min-height:100%;background:var(--aa-bg)}
body.admin-access-page{margin:0;min-height:100dvh;color:var(--aa-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 8% 4%,rgba(18,105,168,.10),transparent 30%),radial-gradient(circle at 92% 96%,rgba(210,139,19,.08),transparent 28%),var(--aa-bg)}
a{color:inherit}

/* Shared login */
.access-shell{width:min(1080px,calc(100% - 36px));min-height:100dvh;margin:0 auto;padding:32px 0 40px;display:flex;flex-direction:column;justify-content:center}
.access-back{width:max-content;margin:0 0 14px 3px;display:inline-flex;align-items:center;gap:8px;color:#5e7388;text-decoration:none;font-size:12px;font-weight:750;transition:.18s ease}
.access-back:hover{color:var(--aa-blue);transform:translateX(-2px)}
.access-card{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(380px,.98fr);min-height:610px;overflow:hidden;border:1px solid var(--aa-line);border-radius:30px;background:var(--aa-card);box-shadow:var(--aa-shadow)}
.access-visual{position:relative;padding:38px;display:flex;flex-direction:column;overflow:hidden;color:#fff;background:linear-gradient(148deg,#0b2745 0%,#0d4d7d 58%,#1269a8 100%)}
.admin-access-ppdb .access-visual{background:linear-gradient(148deg,#38280c 0%,#815408 52%,#bd7b0b 100%)}
.access-visual::before{content:"";position:absolute;width:330px;height:330px;border:1px solid rgba(255,255,255,.13);border-radius:50%;right:-105px;top:-130px}
.access-visual::after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;right:-72px;bottom:-92px;background:rgba(255,255,255,.07)}
.visual-brand{position:relative;z-index:1;display:flex;align-items:center;gap:11px;font-size:12px;font-weight:800;letter-spacing:.01em}
.visual-brand img{width:49px;height:49px;object-fit:contain;padding:3px;border-radius:13px;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.14)}
.visual-copy{position:relative;z-index:1;margin:auto 0;max-width:470px}
.visual-kicker{display:inline-flex;align-items:center;gap:8px;margin-bottom:17px;font-size:11px;font-weight:850;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.82)}
.visual-copy h2{margin:0;font-size:clamp(34px,4vw,50px);line-height:1.03;letter-spacing:-.045em}
.visual-copy p{max-width:430px;margin:18px 0 0;color:rgba(255,255,255,.75);font-size:14px;line-height:1.75}
.visual-security{position:relative;z-index:1;display:flex;align-items:center;gap:9px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.76);font-size:11px}
.access-form-panel{padding:48px 50px;display:flex;flex-direction:column;justify-content:center;background:#fff}
.mobile-brand{display:none}
.form-heading{margin-bottom:26px}
.form-eyebrow{display:block;margin-bottom:8px;color:var(--aa-blue);font-size:10px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.admin-access-ppdb .form-eyebrow{color:var(--aa-gold-deep)}
.form-heading h1{margin:0;color:var(--aa-navy);font-size:31px;line-height:1.12;letter-spacing:-.035em}
.form-heading p{margin:10px 0 0;color:var(--aa-muted);font-size:12.5px;line-height:1.65}
.form-heading code{padding:2px 5px;border-radius:5px;background:#f1f5f8;color:#405a70;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}
.access-alert{margin:0 0 18px;padding:13px 14px;display:flex;align-items:flex-start;gap:10px;border-radius:13px;font-size:11.5px;line-height:1.55}
.access-alert.error{border:1px solid #ffd2ce;background:var(--aa-danger-soft);color:#9f332d}
.access-alert i{margin-top:2px}
.access-form{display:grid;gap:16px}
.access-field{display:grid;gap:8px}
.access-field>span{color:#40566d;font-size:11px;font-weight:850}
.field-control{position:relative;min-height:52px;display:flex;align-items:center;border:1px solid #d5e0e9;border-radius:14px;background:#fbfdff;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.field-control:focus-within{border-color:var(--aa-blue);background:#fff;box-shadow:0 0 0 4px rgba(18,105,168,.10)}
.admin-access-ppdb .field-control:focus-within{border-color:var(--aa-gold);box-shadow:0 0 0 4px rgba(210,139,19,.11)}
.field-control>i{width:46px;text-align:center;color:#8da0b3;font-size:13px}
.field-control input{min-width:0;flex:1;height:50px;padding:0 12px 0 0;border:0;outline:0;background:transparent;color:var(--aa-text);font:inherit;font-size:13px}
.field-control input::placeholder{color:#a4b0bd}
.password-toggle{width:46px;height:48px;border:0;background:transparent;color:#879aac;cursor:pointer}
.password-toggle:hover{color:var(--aa-blue)}
.access-submit{min-height:52px;margin-top:2px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;border:0;border-radius:14px;background:var(--aa-blue);color:#fff;font:inherit;font-size:12.5px;font-weight:900;cursor:pointer;box-shadow:0 12px 28px rgba(18,105,168,.20);transition:transform .18s ease,background .18s ease,box-shadow .18s ease}
.admin-access-ppdb .access-submit{background:var(--aa-gold);box-shadow:0 12px 28px rgba(210,139,19,.19)}
.access-submit:hover{transform:translateY(-1px);background:var(--aa-blue-deep);box-shadow:0 16px 34px rgba(18,105,168,.25)}
.admin-access-ppdb .access-submit:hover{background:var(--aa-gold-deep);box-shadow:0 16px 34px rgba(210,139,19,.24)}
.access-submit:disabled{opacity:.72;cursor:wait;transform:none}
.access-submit.is-loading i{animation:aaPulse .8s ease-in-out infinite alternate}
.mysql-note{margin-top:22px;padding:13px 14px;display:flex;align-items:flex-start;gap:9px;border:1px solid #e5edf3;border-radius:13px;background:#f8fafc;color:#75879a;font-size:10.5px;line-height:1.55}
.mysql-note i{margin-top:2px;color:var(--aa-blue)}
.admin-access-ppdb .mysql-note i{color:var(--aa-gold-deep)}
@keyframes aaPulse{to{transform:translateX(3px)}}

/* Portal selection */
.portal-shell{width:min(1080px,calc(100% - 36px));min-height:100dvh;margin:0 auto;padding:42px 0 46px;display:flex;flex-direction:column;justify-content:center}
.portal-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:42px}
.portal-brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.portal-brand img{width:52px;height:52px;padding:3px;object-fit:contain;border:1px solid var(--aa-line);border-radius:14px;background:#fff;box-shadow:0 10px 28px rgba(19,52,83,.08)}
.portal-brand div{display:grid;gap:2px}.portal-brand strong{font-size:16px;color:var(--aa-navy)}.portal-brand span{font-size:10px;color:var(--aa-muted)}
.portal-home{min-height:42px;padding:0 14px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--aa-line);border-radius:12px;background:rgba(255,255,255,.85);color:#516a80;text-decoration:none;font-size:11px;font-weight:800}
.portal-home:hover{color:var(--aa-blue);border-color:#bfd3e4}
.portal-hero{max-width:780px;margin-bottom:28px}
.portal-eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:12px;color:var(--aa-blue);font-size:10px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.portal-hero h1{margin:0;color:var(--aa-navy);font-size:clamp(38px,5vw,58px);line-height:1;letter-spacing:-.05em}
.portal-hero p{max-width:720px;margin:16px 0 0;color:var(--aa-muted);font-size:13.5px;line-height:1.75}
.portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.portal-card{position:relative;min-height:315px;padding:28px;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--aa-line);border-radius:24px;background:#fff;box-shadow:0 18px 52px rgba(19,52,83,.08);text-decoration:none;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.portal-card::after{content:"";position:absolute;width:210px;height:210px;border-radius:50%;right:-92px;bottom:-92px;pointer-events:none}
.portal-card.website::after{background:var(--aa-blue-soft)}.portal-card.ppdb::after{background:var(--aa-gold-soft)}
.portal-card:hover{transform:translateY(-3px);border-color:#c3d5e4;box-shadow:0 25px 65px rgba(19,52,83,.12)}
.portal-card-top{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:28px}
.portal-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;font-size:20px}.website .portal-icon{background:var(--aa-blue-soft);color:var(--aa-blue)}.ppdb .portal-icon{background:var(--aa-gold-soft);color:var(--aa-gold-deep)}
.portal-db{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid #e0e8ef;border-radius:999px;background:#f8fafc;color:#74879a;font-size:9px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}
.portal-card-copy{position:relative;z-index:1}.portal-label{display:block;margin-bottom:7px;color:#718397;font-size:9.5px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.portal-card h2{margin:0;color:var(--aa-navy);font-size:25px;letter-spacing:-.025em}.portal-card p{max-width:470px;margin:10px 0 24px;color:var(--aa-muted);font-size:12.5px;line-height:1.7}
.portal-action{position:relative;z-index:1;width:max-content;margin-top:auto;display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:900}.website .portal-action{color:var(--aa-blue)}.ppdb .portal-action{color:var(--aa-gold-deep)}
.portal-footnote{margin-top:18px;padding:14px 16px;display:flex;align-items:flex-start;gap:9px;border:1px solid var(--aa-line);border-radius:14px;background:rgba(255,255,255,.78);color:#718397;font-size:10.5px;line-height:1.55}.portal-footnote i{margin-top:2px;color:var(--aa-blue)}

@media(max-width:780px){
  .access-shell{width:min(100% - 24px,1080px);padding:20px 0 28px;justify-content:flex-start}.access-back{margin-bottom:12px;font-size:10.5px}.access-card{grid-template-columns:1fr;min-height:0;border-radius:24px}.access-visual{display:none}.access-form-panel{padding:26px 22px 24px}.mobile-brand{display:flex;align-items:center;gap:11px;margin-bottom:28px}.mobile-brand img{width:50px;height:50px;padding:3px;object-fit:contain;border:1px solid var(--aa-line);border-radius:13px;background:#fff}.mobile-brand div{display:grid;gap:2px}.mobile-brand strong{font-size:15px;color:var(--aa-navy)}.mobile-brand span{font-size:9.5px;color:var(--aa-muted)}.form-heading h1{font-size:27px}.form-heading p{font-size:11.5px}.mysql-note{font-size:9.5px}
  .portal-shell{width:min(100% - 24px,1080px);padding:22px 0 30px;justify-content:flex-start}.portal-header{margin-bottom:42px}.portal-brand img{width:47px;height:47px}.portal-brand strong{font-size:14px}.portal-brand span{font-size:9px}.portal-home{width:43px;height:43px;padding:0;justify-content:center}.portal-home span{display:none}.portal-hero h1{font-size:36px}.portal-hero p{font-size:12.5px}.portal-grid{grid-template-columns:1fr;gap:13px}.portal-card{min-height:255px;padding:22px;border-radius:20px}.portal-card-top{margin-bottom:21px}.portal-icon{width:49px;height:49px;border-radius:14px}.portal-card h2{font-size:22px}.portal-card p{font-size:11.5px}.portal-footnote{font-size:9.5px}
}
@media(max-width:420px){.access-form-panel{padding:23px 18px 21px}.form-heading h1{font-size:25px}.field-control{min-height:50px}.access-submit{min-height:50px}.portal-hero h1{font-size:32px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
