:root{--ink:#142530;--muted:#60717b;--line:#dce3e7;--canvas:#f3f6f8;--surface:#fff;--soft:#edf2f5;--accent:#cc4017;--accent-soft:#fff2eb;--focus:#a73313}
*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55}button,input,textarea,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;border:0}a{color:var(--ink);text-underline-offset:3px;overflow-wrap:anywhere}button:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:4px}[hidden],.hidden{display:none!important}
header{display:flex;align-items:center;flex-wrap:wrap;gap:24px;padding:20px 4%;background:#101718;color:#fff;border-bottom:4px solid #263239}.brand{display:flex;align-items:center;gap:20px;color:#fff;text-decoration:none;font-size:22px;font-weight:800;line-height:1.3;margin-right:auto;min-width:0}.brand-logo{display:block;width:96px;height:100px;object-fit:contain;flex-shrink:0;background:#000;border-radius:5px}.brand small{display:block;color:#b8c4c9;font-size:14px;font-weight:600;letter-spacing:3px;margin-top:9px}#account{margin-left:auto;max-width:100%;font-size:14px;overflow-wrap:anywhere}#account .secondary{margin-left:12px;background:#202b30;border-color:#60717b;color:white}#account .secondary:hover{background:#33444e}#account a{color:#fff}header button:focus-visible,header a:focus-visible{outline-color:#fff}
nav{display:flex;flex-wrap:wrap;gap:8px;max-width:1380px;margin:auto;padding:20px 4% 0}.nav{color:#3f3f3f;background:var(--surface);border:1px solid var(--line);padding:12px 17px;border-radius:6px;font-size:14px;font-weight:700;min-height:46px}.nav:hover{background:var(--soft);border-color:#8b8b8b}.nav.active{background:var(--ink);border-color:var(--ink);color:#fff;box-shadow:inset 0 -3px 0 var(--accent)}
main{max-width:1380px;padding:36px 4% 60px;margin:auto}.pageheading{margin-bottom:28px}.eyebrow{font-size:14px;letter-spacing:1.6px;color:var(--focus);font-weight:800;margin:0 0 9px}h1{font-size:clamp(28px,3vw,42px);font-weight:800;letter-spacing:-1px;line-height:1.16;margin:0 0 12px}h2{font-size:22px;line-height:1.3;letter-spacing:-.3px;margin:0}h3{font-size:18px;line-height:1.4}h4{font-size:16px}p{margin:8px 0;color:var(--muted)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:28px;box-shadow:0 2px 5px #00000004}.pageheading+.panel{border-top:4px solid var(--accent)}.grid,.grid.actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.grid>*,.personhead>*{min-width:0}.stack{display:grid;gap:20px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.full{grid-column:1/-1}.panel.actions>.full{width:100%}.muted{color:var(--muted)}.compact{margin:0}
label{display:block;font-size:14px;font-weight:700;margin:0 0 18px}input:not([type=checkbox]):not([type=radio]),textarea,select{width:100%;padding:12px 13px;border:1px solid #999;border-radius:5px;margin-top:6px;color:var(--ink);background:#fff;font-size:16px;min-height:48px}input:focus,textarea:focus,select:focus{outline:2px solid var(--focus);outline-offset:1px}input[readonly]{background:#f2f2f0}textarea{min-height:110px;resize:vertical}input[type=checkbox],input[type=radio]{accent-color:var(--accent);width:18px;height:18px;flex-shrink:0}.check{display:flex;align-items:flex-start;gap:11px;font-weight:400;line-height:1.6}.check input{margin-top:3px}.fine,.badge,.coursemeta,.coursecheck small{font-size:14px;line-height:1.6}.catalog-note{font-size:14px;background:var(--soft);border-left:3px solid #767676;border-radius:4px;padding:14px 16px;color:#505050;margin:20px 0}.primary,.secondary{display:inline-block;text-decoration:none;padding:12px 18px;border-radius:5px;font-size:14px;font-weight:700;min-height:46px;line-height:1.5}.primary{background:var(--accent);color:#fff;border:1px solid var(--accent)}.primary:hover{background:#ad3411;border-color:#ad3411}.secondary{background:#fff;color:var(--ink);border:1px solid #999}.secondary:hover{background:#eeeeeb;border-color:#888}button:disabled{opacity:.6;cursor:wait}.form-error{margin-top:14px}.error{color:#a3292f}.success{color:#23603d}
.checkgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.coursecheck{margin:0;display:flex;gap:12px;align-items:flex-start;padding:17px;border:1px solid var(--line);border-radius:6px;font-weight:600;cursor:pointer}.coursecheck:has(input:checked){background:var(--accent-soft);border-color:#ce8b70}.coursecheck input{margin-top:4px}.coursecheck small{display:block;color:var(--muted);font-weight:400;margin-top:4px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}.stat{border:1px solid var(--line);border-top:3px solid #3b515e;border-radius:7px;padding:20px 22px;background:#fff}.stat small{color:var(--muted);font-size:14px}.stat strong{display:block;font-size:clamp(24px,2.4vw,34px);font-weight:800;letter-spacing:-.5px;line-height:1.3;margin:8px 0;overflow-wrap:anywhere}.personhead{display:flex;justify-content:space-between;align-items:center;gap:20px}.record,.class-item{padding:20px 0;border-bottom:1px solid var(--line)}.record:last-child,.class-item:last-child{border-bottom:0}.class-item h3{margin:0}.status{padding:5px 9px;border:1px solid #c5c5c2;border-radius:5px;background:var(--soft);color:#424242;display:inline-block;font-size:14px;white-space:nowrap}.empty{padding:24px 12px;text-align:center;color:var(--muted)}
.table-wrap{overflow:auto;margin:20px 0}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:top}th{background:var(--soft);font-weight:700;white-space:nowrap}td input{min-width:90px}td input[type=checkbox]{min-width:18px}td .secondary{margin:8px 0}.demandrow{display:block;width:100%;background:white;text-align:left;padding:16px 12px;border:1px solid transparent;border-radius:6px;margin-top:5px;color:var(--ink)}.demandrow:hover{background:var(--soft);border-color:#bdbdb9}.barlabel{display:flex;justify-content:space-between;align-items:start;font-size:16px;font-weight:600;gap:16px}.barlabel b{font-size:22px;color:var(--focus)}.coursemeta{display:block;font-weight:400;color:var(--muted);margin-top:4px}
fieldset{border:0;padding:0;margin:24px 0;min-width:0}legend{font-size:16px;font-weight:700;margin-bottom:12px;line-height:1.5}.rating-options{display:flex;gap:10px;flex-wrap:wrap}.rating-options label{position:relative;margin:0;cursor:pointer}.rating-options input{position:absolute;opacity:0;width:1px;height:1px}.rating-options span{display:block;min-width:46px;padding:11px 14px;border:1px solid #999;border-radius:5px;text-align:center;font-size:16px;font-weight:600}.rating-options input:checked+span{background:var(--ink);border-color:var(--ink);color:white}.rating-options input:focus-visible+span{outline:3px solid var(--focus);outline-offset:3px}.waiver-summary{padding:20px;background:var(--soft);border-left:3px solid #555;border-radius:5px;margin:22px 0;overflow-wrap:anywhere}.waiver-summary p{color:#454545;font-size:16px}.waiver-terms{margin:24px 0 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.waiver-terms summary{font-size:16px;font-weight:700;cursor:pointer;padding:20px 0;min-height:52px}.waiver-terms p{font-size:16px;color:#393939;line-height:1.75;margin:16px 0}
footer{max-width:1380px;margin:auto;padding:24px 4%;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:14px;color:var(--muted)}footer a{color:#333}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:min(620px,90vw);background:var(--ink);color:white;padding:14px 20px;border:1px solid #666;border-radius:6px;font-size:14px;display:none;z-index:10;box-shadow:0 6px 24px #0003}
@media(max-width:1000px){.brand{font-size:19px}.brand-logo{width:84px;height:88px}#account{margin-left:0}.stats{gap:12px}.stat{padding:18px}.panel{padding:24px}}
@media(max-width:760px){header{padding:18px 5%;gap:16px}.brand{font-size:18px;gap:14px}.brand-logo{width:76px;height:80px}.brand small{font-size:12px;letter-spacing:2px}#account{width:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}#account:empty{display:none}#account .account-email{flex:1 0 100%;min-width:0}#account .secondary{margin-left:0;flex-shrink:0}nav{padding:18px 5% 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.nav{padding:12px 10px}.nav:first-child{grid-column:1/-1}main{padding:28px 5% 44px}.grid,.grid.actions,.checkgrid{grid-template-columns:1fr;gap:18px}.panel{padding:22px}.stats{grid-template-columns:1fr 1fr}.personhead{align-items:flex-start;flex-wrap:wrap}.actions{gap:10px}.primary,.secondary{max-width:100%}footer{padding:22px 5%;flex-direction:column;align-items:start;gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.table-wrap td{overflow-wrap:anywhere}.table-wrap small{font-size:14px}
.email-body{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--soft);border:1px solid var(--line);border-radius:5px;padding:20px}.actions+form{margin-top:20px}button:disabled{cursor:default}

.preview-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;background:var(--accent-soft);border:1px solid #ce8b70;border-radius:7px;padding:18px 22px;margin-bottom:28px}.preview-banner p{margin:4px 0 0}.preview-banner .actions{margin-top:0}.preview-fields{margin:0;padding:0}.preview-fields:disabled input,.preview-fields:disabled select,.preview-fields:disabled textarea{color:var(--ink);opacity:1}
