:root{--yellow:#ffbc0d;--red:#da291c;--green:#00754a;--ink:#171717;--paper:#fffdf8;--line:#e6e1d7;--muted:#6b6861}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);letter-spacing:0}button,input,select,textarea{font:inherit}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(300px,.9fr) minmax(420px,1.1fr)}.auth-brand{background:var(--yellow);padding:clamp(34px,7vw,100px);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.auth-brand:after{content:"↗";position:absolute;right:-20px;bottom:-100px;font-size:420px;font-weight:900;color:#fff;opacity:.3;transform:rotate(-8deg)}.brand-word{font-weight:1000;font-size:clamp(62px,9vw,138px);line-height:.75;position:relative;z-index:1}.brand-word.compact{font-size:44px}.arches{display:block;color:#fff;font-family:Arial Black;font-size:.72em;letter-spacing:-.2em;margin-left:.25em;margin-top:.16em}.auth-brand p{font-size:clamp(18px,2.2vw,30px);font-weight:800;max-width:350px;position:relative;z-index:1}.brand-note{position:relative;z-index:1;margin-top:12vh;font-size:18px;font-weight:800}.auth-panel{display:flex;flex-direction:column;justify-content:center;padding:clamp(32px,8vw,120px);background:#fff}.eyebrow{font-size:12px;font-weight:900;letter-spacing:1.8px;color:var(--green)}h1,h2,h3,h4,p{margin-top:0}h1{font-size:clamp(44px,5.4vw,82px);line-height:.94;margin:18px 0 38px}h1 em,h2 em{font-family:Georgia,serif;font-weight:400;color:var(--red)}form{display:grid;gap:18px;max-width:520px}label{font-weight:800;font-size:14px;display:grid;gap:8px}input,select,textarea{border:1px solid var(--line);background:#fff;border-radius:6px;padding:15px;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:3px solid rgba(255,188,13,.35);border-color:var(--yellow)}form button,.dialog-close+*~button,#copy-activation{border:0;background:var(--ink);color:#fff;padding:16px 20px;border-radius:6px;font-weight:900;cursor:pointer}form button span{float:right;color:var(--yellow)}.message{min-height:22px;color:var(--red);font-weight:700;margin-top:18px}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.app-shell>aside{position:sticky;top:0;height:100vh;padding:30px 22px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:45px}.app-shell nav{display:grid;gap:8px}.app-shell nav button{border:0;background:transparent;text-align:left;padding:14px;border-radius:6px;font-weight:800;cursor:pointer}.app-shell nav button.active{background:var(--yellow)}.app-shell nav span{display:inline-grid;width:24px}.account-card{margin-top:auto;border-top:1px solid var(--line);padding-top:18px;display:grid;gap:5px}.account-card small{color:var(--muted)}.account-card button{border:0;background:none;text-align:left;padding:8px 0;color:var(--red);font-weight:800;cursor:pointer}.app-shell>main{padding:28px clamp(22px,4vw,64px) 60px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px}.topbar h1{font-size:36px;line-height:1;margin:7px 0}.badges{display:flex;gap:6px;flex-wrap:wrap}.badges span{background:#f1eee7;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:900;text-transform:uppercase}.campus-hero,.admin-hero{min-height:260px;background:var(--yellow);padding:clamp(28px,5vw,62px);display:flex;align-items:center;justify-content:space-between;gap:30px;border-radius:8px;position:relative;overflow:hidden}.campus-hero:after,.admin-hero:after{content:"★";position:absolute;right:24%;top:-55px;font-size:300px;color:#fff;opacity:.28}.campus-hero h2,.admin-hero h2{font-size:clamp(38px,5vw,70px);line-height:.92;margin:14px 0 18px;position:relative;z-index:1}.campus-hero p{max-width:520px;font-weight:700;position:relative;z-index:1}.score-cluster,.admin-count{min-width:180px;aspect-ratio:1;border:6px solid var(--ink);border-radius:50%;display:grid;place-content:center;text-align:center;background:#fff;position:relative;z-index:1}.score-cluster>strong,.admin-count strong{font-size:58px;line-height:1}.score-cluster>span,.admin-count span{font-size:11px;font-weight:900;letter-spacing:1.4px}.score-cluster #stars{color:var(--yellow);font-size:19px;margin-top:5px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:14px 0}.metrics article{border:1px solid var(--line);background:#fff;padding:22px;border-radius:7px;display:grid;gap:5px;min-height:122px}.metrics small{font-weight:900;color:var(--green);letter-spacing:1px}.metrics strong{font-size:36px}.metrics span{color:var(--muted)}.campus-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:14px}.course-panel,.podium-panel,.user-panel{border:1px solid var(--line);background:#fff;border-radius:7px;padding:24px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.section-head h3,.podium-panel h3{font-size:24px;margin:6px 0}.section-head a{background:var(--green);color:#fff;padding:11px 14px;text-decoration:none;border-radius:5px;font-weight:800}.course-list{display:grid}.course-item{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:14px;border-top:1px solid var(--line);padding:14px 0}.course-item i{font-style:normal;width:38px;height:38px;border-radius:50%;display:grid;place-content:center;background:#e1f1e9;color:var(--green);font-weight:900}.course-item b{display:block}.course-item time{font-size:12px;color:var(--muted)}.podium-panel h4{margin:24px 0 10px}.podium-panel ol{list-style:none;margin:0;padding:0;display:grid;gap:8px}.podium-panel li{background:#f7f4ed;padding:11px;border-radius:5px;display:flex;justify-content:space-between}.admin-hero{background:#e1f1e9}.compact-metrics{grid-template-columns:repeat(4,1fr)}.user-panel{margin-top:14px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:850px}th,td{text-align:left;padding:12px;border-top:1px solid var(--line);font-size:13px}th{font-size:11px;letter-spacing:1px;color:var(--muted)}td strong{display:block}.status{font-weight:900;text-transform:uppercase;font-size:10px}.status-active{color:var(--green)}.status-pending{color:#9a6700}.status-blocked,.status-offboarding{color:var(--red)}td button{border:0;background:var(--yellow);padding:8px 10px;border-radius:4px;font-weight:800;cursor:pointer}.privacy-note{font-size:12px;color:var(--muted);margin:18px 0 0}.toast{position:fixed;right:25px;bottom:25px;background:var(--ink);color:#fff;padding:14px 18px;border-radius:6px;max-width:380px;z-index:10}dialog{width:min(560px,calc(100vw - 30px));border:0;border-radius:8px;padding:30px;box-shadow:0 24px 80px #0005}dialog::backdrop{background:#0008}.dialog-close{float:right;border:0;background:none;font-size:28px;cursor:pointer}dialog textarea{width:100%;height:120px;margin:12px 0}.empty{color:var(--muted);padding:20px 0}.page[hidden],#app-view[hidden],#login-view[hidden]{display:none!important}@media(max-width:780px){.auth-shell{grid-template-columns:1fr}.auth-brand{min-height:230px;padding:30px}.brand-word{font-size:60px}.brand-note{display:none}.auth-panel{padding:36px 26px}.auth-panel h1{font-size:44px}.app-shell{display:block}.app-shell>aside{position:sticky;z-index:5;top:0;height:auto;padding:12px 16px;display:flex;flex-direction:row;align-items:center;gap:14px;border-right:0;border-bottom:1px solid var(--line)}.brand-word.compact{font-size:25px}.app-shell>aside nav{display:flex;margin-left:auto}.app-shell nav button{font-size:0;padding:10px}.app-shell nav button span{font-size:20px;width:auto}.account-card{display:none}.app-shell>main{padding:20px 14px 50px}.topbar{align-items:center}.topbar h1{font-size:28px}.campus-hero,.admin-hero{min-height:310px;align-items:flex-start}.score-cluster,.admin-count{position:absolute;right:20px;bottom:20px;min-width:125px}.score-cluster>strong,.admin-count strong{font-size:40px}.metrics,.compact-metrics{grid-template-columns:repeat(2,1fr)}.metrics article{min-height:105px;padding:16px}.campus-grid{grid-template-columns:1fr}.section-head{align-items:flex-start;flex-direction:column}.course-item{grid-template-columns:38px 1fr}.course-item time{grid-column:2}.topbar .badges{display:none}}
.row-actions{display:flex;gap:6px}.row-actions button.secondary{background:#f1eee7}.role-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.role-options label,.check-row{display:flex;align-items:center;gap:8px;font-weight:700}.role-options input,.check-row input{width:18px;height:18px;padding:0}fieldset{border:1px solid var(--line);border-radius:6px;padding:14px}legend{font-weight:900;font-size:13px;padding:0 6px}#user-dialog form{margin-top:20px}button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:520px){.role-options{grid-template-columns:1fr}dialog{padding:22px}}
.audit-panel{border:1px solid var(--line);background:#fff;border-radius:7px;padding:24px;margin-top:14px}.audit-panel table{min-width:760px}.audit-panel td:first-child{white-space:nowrap;color:var(--muted)}
.review-panel{border:1px solid var(--line);background:#fff;border-radius:7px;padding:24px;margin-top:14px}.review-count{font-size:18px;color:var(--red)}.review-intro{margin:-8px 0 18px}.review-table{min-width:1050px}.review-table td{vertical-align:top}.review-table td:first-child{max-width:210px}.review-table td:nth-child(3){max-width:340px}.review-table select{width:100%;min-width:280px;padding:10px}.review-reason{font-weight:700;line-height:1.35}.no-candidate{color:var(--red);font-weight:700}
