@charset "UTF-8";
:root{--navy:#1f507a;--navy-dark:#173c5c;--red:#b80000;--red-dark:#8a0000;--ink:#233342;--muted:#637180;--line:#dce3e9;--paper:#fff;--canvas:#f3f5f7;--soft:#eaf1f7;--success:#205b43;--warning:#785014;--danger:#9f2525;--radius:12px;--shadow:0 3px 18px #18324a08}
*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);line-height:1.55;background:var(--canvas)}body{margin:0}a{color:var(--navy);text-underline-offset:3px}a:hover{color:var(--red)}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{outline-offset:4px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #d8921b}img{max-width:100%;height:auto}h1,h2,h3,h4{line-height:1.2;margin:0 0 .7rem;color:var(--navy-dark);letter-spacing:-.025em}h1{font-size:clamp(1.8rem,2.5vw,2.5rem)}h2{font-size:1.35rem}h3{font-size:1.1rem}p{margin:.3rem 0 1rem}small{font-size:.82rem}hr,.divider{border:0;border-top:1px solid var(--line);margin:1.5rem 0}.skip-link{position:absolute;top:-60px;left:20px;z-index:100;background:white;padding:10px}.skip-link:focus{top:10px}
.topbar{height:88px;background:var(--navy);color:white;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 32px;border-bottom:4px solid var(--red)}.brand{display:flex;align-items:center;gap:15px;text-decoration:none;color:white}.brand:hover{color:white}.brand strong{font-size:1.3rem;letter-spacing:-.03em}.brand small{display:block;font-size:.6rem;letter-spacing:.15em;color:#d7e3ed}.brand-mark{font-size:1.45rem;line-height:1;font-weight:900;letter-spacing:-.07em;border-right:1px solid #ffffff50;padding-right:18px;white-space:nowrap}.brand-mark span{display:block;font-size:.8rem;text-align:center;color:#fff;letter-spacing:.1em;margin-top:4px}.account-summary{display:flex;align-items:center;gap:22px;font-size:.87rem}.account-summary>span>small{display:block;color:#d7e3ed}.account-summary>form{margin:0}.topbar-button{border:1px solid #ffffff65;background:transparent;color:white;border-radius:7px;padding:8px 14px;cursor:pointer}.topbar-button:hover{background:#ffffff15}.site-label{color:#d7e3ed;font-size:.83rem}.app-layout{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:calc(100vh - 88px)}.sidebar{background:var(--navy-dark);color:white;display:flex;flex-direction:column;padding:28px 16px}.sidebar-label{font-size:.61rem;letter-spacing:.16em;color:#c6d8e6;margin:3px 14px 20px}.nav-links{display:flex;flex-direction:column;gap:5px}.nav-links a{padding:12px 13px;min-height:46px;color:#ebf2f7;text-decoration:none;border-radius:8px;display:flex;align-items:center;gap:10px;font-size:.84rem}.nav-links a:hover{background:#ffffff12}.nav-links a[aria-current=page]{background:white;color:var(--navy-dark);box-shadow:inset 4px 0 var(--red);font-weight:700}.nav-icon{font-size:1rem;min-width:19px;text-align:center;line-height:1}.nav-count{margin-left:auto;background:#ffffff20;color:inherit;min-width:24px;padding:1px 6px;border-radius:20px;font-weight:700;font-size:.73rem;text-align:center}.nav-links [aria-current=page] .nav-count{background:var(--soft)}.sidebar-footer{margin-top:auto;padding:45px 14px 10px;font-size:.82rem;color:#c7d9e8}.sidebar-footer strong{color:white}.sidebar-footer a{color:#d3e1ec;font-size:.76rem}.main-content{padding:38px clamp(20px,3.5vw,58px) 20px;max-width:1600px;width:100%;margin:auto;align-self:start}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:28px;flex-wrap:wrap}.page-heading h1{margin-bottom:8px}.eyebrow{font-size:.68rem;letter-spacing:.14em;font-weight:750;color:var(--red);text-transform:uppercase;margin-bottom:12px}.lead{font-size:.96rem;color:var(--muted);max-width:690px;margin-bottom:0}.muted,.helptext{color:var(--muted)}.helptext{font-size:.83rem;display:block;margin-top:6px;line-height:1.5}.panel,.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);margin-bottom:22px}.panel> :last-child,.card> :last-child{margin-bottom:0}.panel h2,.card h2{margin-bottom:16px}.grid{display:grid;gap:20px;margin-bottom:22px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.grid .card,.grid .panel,.grid-2 .card,.grid-3 .card{margin-bottom:0}.stat{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);text-decoration:none;display:block}.stat strong,.stat .value{display:block;font-size:2rem;font-weight:750;color:var(--navy);line-height:1.15;margin:.35rem 0}.stat span,.stat .label{font-size:.83rem;color:var(--muted)}.stat:hover{border-color:#adc2d3}.badge{display:inline-block;font-size:.73rem;font-weight:650;color:var(--navy);background:var(--soft);padding:5px 10px;border-radius:30px;line-height:1.3;white-space:nowrap}.badge-success{background:#e8f4ec;color:var(--success)}.badge-warning{background:#fff3d9;color:var(--warning)}.badge-danger{background:#fbe9e9;color:var(--danger)}.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:22px}.toolbar form{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.toolbar label{margin:0;font-size:.84rem;font-weight:650}.toolbar select{width:auto;min-width:150px}.toolbar .button{min-height:41px}.button,button[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border:1px solid var(--red);border-radius:7px;background:var(--red);color:white;font-size:.86rem;font-weight:650;text-decoration:none;cursor:pointer;line-height:1.35;transition:background .12s}.button:hover,button[type=submit]:hover{background:var(--red-dark);border-color:var(--red-dark);color:white}.button-secondary,button[type=submit].button-secondary{border-color:var(--line);background:white;color:var(--navy);box-shadow:0 1px 2px #00000005}.button-secondary:hover,button[type=submit].button-secondary:hover{background:var(--soft);border-color:#b8c9d7;color:var(--navy)}.button-danger,button[type=submit].button-danger{background:#fff;color:var(--danger);border-color:#eccaca}.button-danger:hover,button[type=submit].button-danger:hover{background:#fbe9e9;color:var(--danger);border-color:#d99f9f}.button-small,button[type=submit].button-small{min-height:34px;padding:6px 10px;font-size:.77rem}.topbar button[type=submit]{background:transparent;border-color:#ffffff65;min-height:36px;padding:7px 12px;font-size:.8rem}.topbar button[type=submit]:hover{background:#ffffff15}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.actions form{margin:0}.table-wrap{overflow-x:auto;background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:22px}.panel .table-wrap{border-radius:8px;box-shadow:none}.data-table,table{width:100%;border-collapse:collapse;font-size:.85rem;text-align:left}.data-table th,table th{background:#f7f9fb;padding:13px 17px;color:var(--muted);font-size:.7rem;text-transform:uppercase;font-weight:700;letter-spacing:.045em;white-space:nowrap;border-bottom:1px solid var(--line)}.data-table td,table td{padding:17px;vertical-align:middle;border-bottom:1px solid var(--line)}.data-table tr:last-child td,table tr:last-child td{border-bottom:0}.data-table td strong{font-weight:650;color:var(--ink)}.data-table td small{display:block;color:var(--muted);margin-top:3px}.data-table tbody tr:hover{background:#fafcfe}.data-table td .actions{gap:7px}
label{display:block;font-size:.85rem;font-weight:650;color:var(--ink);margin-bottom:7px}input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=hidden]),select,textarea{display:block;min-height:43px;width:100%;padding:10px 12px;border:1px solid #c5d0da;border-radius:7px;background:white;color:var(--ink);font-size:.9rem;box-shadow:inset 0 1px 2px #20304003}textarea{min-height:125px;resize:vertical}input[type=checkbox],input[type=radio]{width:17px;height:17px;vertical-align:middle;margin-right:7px;accent-color:var(--navy)}input[readonly],input:disabled,select:disabled{background:#f2f5f7;color:var(--muted)}form p{margin-bottom:20px}form ul{padding-left:20px;font-size:.84rem}form ul li{margin:5px 0}form div[id^=id_] label{font-weight:400;display:flex;align-items:center;margin:0;padding:7px 0;font-size:.87rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.field{margin-bottom:20px}.form-grid .field{margin-bottom:0}.field-wide{grid-column:1/-1}.checkbox-row{display:flex;align-items:flex-start;gap:8px;margin:15px 0}.checkbox-row label{font-weight:400}.checkbox-row input{margin-top:5px;flex-shrink:0}.errorlist{list-style:none;margin:5px 0 10px;padding:0;color:var(--danger);font-size:.83rem}.errorlist li{margin-bottom:4px}.alert{border-radius:8px;padding:15px 18px;border:1px solid #c7d9e7;background:#eef5fa;color:#254c6c;font-size:.88rem;margin-bottom:20px}.alert-success,.alert.success{color:var(--success);background:#edf7f0;border-color:#c3decf}.alert-error,.alert.error,.alert-danger{color:var(--danger);background:#fdf0f0;border-color:#edcaca}.alert-warning,.alert.warning{color:var(--warning);background:#fff8e9;border-color:#eddbb5}.alert p{margin:0}.empty-state{text-align:center;padding:45px 25px;background:white;border:1px dashed #b9cbd9;border-radius:12px;color:var(--muted);margin-bottom:22px}.empty-state h2,.empty-state h3{color:var(--navy)}.empty-state p{max-width:500px;margin:0 auto 20px}.stack{display:flex;flex-direction:column;gap:16px}.split{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.list{margin:0;padding:0;list-style:none}.list-item{padding:18px 0;border-bottom:1px solid var(--line)}.list-item:last-child{border-bottom:0}.avatar{width:46px;height:46px;object-fit:contain;border:1px solid var(--line);background:white;border-radius:10px;padding:5px;flex-shrink:0}.score{font-weight:750;color:var(--navy);font-size:1.75rem;font-variant-numeric:tabular-nums}.message{border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin:12px 0;background:#fafcfd;max-width:850px;white-space:normal;overflow-wrap:anywhere}.message-meta{font-size:.76rem;color:var(--muted);margin-bottom:8px}.message p{white-space:pre-wrap;margin:0}.message-self{background:var(--soft);border-color:#c9d9e6;margin-left:auto}.message-body{white-space:pre-wrap;overflow-wrap:anywhere}.page-footer{margin-top:55px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:.71rem}.public-layout{display:block}.public-layout .main-content{max-width:1150px;padding-top:55px}.auth-layout{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;min-height:60vh}.auth-intro h1{font-size:clamp(2.2rem,4vw,3.5rem);max-width:500px}.auth-intro .lead{max-width:420px;font-size:1.06rem}.auth-card{padding:34px;border-top:4px solid var(--red)}.auth-card button[type=submit]{width:100%}.auth-links{display:flex;gap:16px;flex-wrap:wrap;margin-top:22px;font-size:.85rem}.academy-logo{max-width:275px;margin-bottom:30px}.auth-note{margin-top:25px;padding-left:16px;border-left:3px solid var(--red);font-size:.87rem;color:var(--muted);max-width:410px}.role-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.role-card{background:white;padding:25px;border:1px solid var(--line);border-radius:10px}.role-card p{font-size:.9rem;color:var(--muted)}dl{margin:0}dt{font-size:.74rem;font-weight:650;color:var(--muted);margin-bottom:3px}dd{margin:0 0 17px;overflow-wrap:anywhere}code{font-family:ui-monospace,SFMono-Regular,monospace;background:#eef2f5;padding:2px 5px;border-radius:4px;font-size:.86em}details{margin:12px 0}summary{cursor:pointer;color:var(--navy);font-weight:650;font-size:.87rem}details>div,details>p{margin-top:12px}.credentials{padding:20px;background:#f7fafc;border:1px dashed #9eb6c8;border-radius:10px}.credentials code{font-size:1rem;overflow-wrap:anywhere}progress{width:100%;accent-color:var(--navy);height:9px}.pagination{display:flex;align-items:center;justify-content:center;gap:20px;margin:25px 0;font-size:.84rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.nowrap{white-space:nowrap}.pre-wrap{white-space:pre-wrap;overflow-wrap:anywhere}
@media(min-width:1450px){.main-content{padding-top:45px}.sidebar{padding-top:35px}}
@media(max-width:1000px){.app-layout{grid-template-columns:215px minmax(0,1fr)}.topbar{padding:0 22px}.main-content{padding:28px 23px 20px}.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-links a{font-size:.79rem;padding:11px 9px}.sidebar{padding:24px 12px}.auth-layout{gap:30px}.panel,.card{padding:22px}}
@media(max-width:720px){.topbar{height:auto;min-height:80px;padding:15px 18px;gap:12px}.brand{gap:10px}.brand strong{font-size:1.08rem}.brand small{font-size:.48rem;letter-spacing:.07em}.brand-mark{padding-right:11px;font-size:1.3rem}.account-summary{gap:10px;font-size:.72rem}.account-summary>span>strong{max-width:110px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-summary small{font-size:.67rem}.site-label{display:none}.app-layout{display:block;min-height:calc(100vh - 80px)}.sidebar{padding:10px 12px}.sidebar-label,.sidebar-footer{display:none}.nav-links{display:flex;flex-direction:row;overflow-x:auto;gap:5px;padding:2px 0 5px}.nav-links a{flex-shrink:0;font-size:.76rem;padding:9px 11px;min-height:38px}.nav-links a[aria-current=page]{box-shadow:inset 0 -3px var(--red)}.nav-icon{display:none}.main-content{padding:27px 17px 18px}.page-heading{margin-bottom:22px;gap:16px}.page-heading .lead{font-size:.89rem}.grid-2,.grid-3,.grid-4,.form-grid,.auth-layout,.role-cards{grid-template-columns:1fr}.grid-3,.grid-4{gap:12px}.grid-3:has(.stat),.grid-4:has(.stat){grid-template-columns:repeat(2,minmax(0,1fr))}.stat{padding:18px}.stat strong{font-size:1.6rem}.panel,.card{padding:20px}.form-grid{gap:16px}.data-table td,table td{padding:14px;font-size:.8rem}.data-table th,table th{padding:11px 14px}.toolbar{gap:10px}.toolbar form{width:100%}.toolbar select{flex:1;min-width:0}.public-layout .main-content{padding-top:30px}.auth-layout{gap:26px;min-height:0}.auth-intro h1{font-size:2.25rem}.auth-intro .lead{font-size:.96rem}.academy-logo{max-width:225px;margin-bottom:20px}.auth-card{padding:25px}.page-footer{margin-top:38px;flex-direction:column;gap:4px}.message{padding:14px}.split{gap:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{.topbar,.sidebar,.actions,button,.page-footer{display:none!important}.app-layout{display:block}.main-content{padding:0;max-width:none}.panel,.card,.table-wrap{box-shadow:none;break-inside:avoid}body{background:white}}

/* Academy seal supplied by YCA Recruiting. Preserve the original artwork. */
.brand-logo{width:62px;height:62px;object-fit:contain;flex-shrink:0}.academy-seal{display:block;width:150px;height:150px;object-fit:contain;margin-bottom:24px}
@media(max-width:720px){.brand-logo{width:50px;height:50px}.academy-seal{width:120px;height:120px;margin-bottom:20px}}
