:root{--navy:#102d46;--navy-deep:#0b2338;--blue:#087bb6;--blue-dark:#006397;--sky:#eaf5fb;--ink:#17344b;--muted:#637c8e;--border:#d9e4ec;--paper:#fff;--bg:#f2f6f9;--green:#16775b;--green-bg:#eaf7f1;--red:#b83340;--red-bg:#fff0f1;--amber:#886015;--amber-bg:#fff8e5;font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:14px;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:var(--blue)}button,input,select,textarea{font:inherit;border-radius:0}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #e5a939;outline-offset:3px}h1,h2,h3,h4,p{margin:0}h1{font-size:32px;line-height:1.18;letter-spacing:-1px}h2{font-size:21px;line-height:1.35;letter-spacing:-.4px}h3{font-size:16px;line-height:1.5}h4{font-size:14px}p{line-height:1.7}small,.muted{color:var(--muted)}svg{width:21px;height:21px;flex-shrink:0}input,select,textarea{width:100%;min-width:0;border:1px solid #c6d6e2;background:#fff;color:var(--ink);padding:11px 12px;min-height:43px}textarea{resize:vertical;min-height:88px}input[type=checkbox],input[type=radio]{width:17px;min-height:17px;height:17px;margin:0;accent-color:var(--blue);flex-shrink:0}input[type=file]{padding:12px}input[readonly]{background:#f6f9fb}input::placeholder,textarea::placeholder{color:#8a9daa}.field{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:650;min-width:0}.field small{font-weight:400}.field.wide{grid-column:1/-1}.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field-row.three{grid-template-columns:repeat(3,minmax(0,1fr))}.check{display:flex;align-items:flex-start;gap:10px;line-height:1.5;font-weight:400;font-size:13px}.check input{margin-top:2px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 17px;border:1px solid var(--border);background:var(--paper);color:var(--ink);text-decoration:none;font-weight:650;font-size:12px;white-space:nowrap}.button:hover{background:#edf5f9}.button.primary{background:var(--blue);border-color:var(--blue);color:#fff}.button.primary:hover{background:var(--blue-dark)}.button.dark{background:var(--navy);border-color:var(--navy);color:#fff}.button.danger{color:var(--red);border-color:#efc9ce;background:#fff}.button.small{min-height:32px;font-size:11px;padding:7px 11px}.button svg{width:17px;height:17px}.icon-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);background:#fff;width:34px;height:34px;padding:6px;color:var(--muted)}.text-button{border:0;background:transparent;color:var(--blue);font-size:12px;padding:5px 0;text-decoration:underline}.eyebrow{font-size:10px;letter-spacing:1.9px;font-weight:750;line-height:1.7;color:var(--blue);margin-bottom:9px}.badge{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;background:#f0f5f8;color:#577185;font-size:10px;font-weight:650;line-height:1.3;white-space:nowrap;border:1px solid #e1eaf0}.badge.green{background:var(--green-bg);border-color:#cae9da;color:var(--green)}.badge.blue{background:var(--sky);border-color:#c7e5f5;color:var(--blue)}.badge.amber{background:var(--amber-bg);border-color:#ebdbb2;color:var(--amber)}.badge.red{background:var(--red-bg);border-color:#f1cbd0;color:var(--red)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;font-size:20px;letter-spacing:.7px;font-weight:750}.brand small{display:block;font-size:10px;letter-spacing:1px;margin-top:4px;font-weight:400}.brand-mark{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:43px;height:43px;background:var(--blue);color:white;font-size:27px;font-weight:800;letter-spacing:-3px;padding-right:3px}.skip{position:absolute;left:10px;top:-60px;background:#fff;z-index:100;padding:12px}.skip:focus{top:10px}.initial-loading{display:grid;place-content:center;justify-items:center;gap:20px;min-height:70vh}.app-shell{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--navy);color:white;padding:30px 22px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;width:236px;z-index:20}.sidebar .brand{font-size:18px}.sidebar .brand small{color:#a8c1d5}.nav-label{font-size:9px;color:#89a5bb;letter-spacing:1.6px;margin:47px 13px 14px}.sidebar nav{display:flex;flex-direction:column;gap:5px}.nav-button{display:flex;align-items:center;gap:12px;text-align:left;color:#b9ccd9;background:transparent;border:0;padding:13px;font-size:12px;font-weight:550;min-height:46px}.nav-button:hover{background:#1a3b56;color:#fff}.nav-button.active{background:var(--blue);color:#fff}.sidebar-foot{margin-top:auto;border-top:1px solid #345068;padding-top:22px;color:#b9ccd9;font-size:11px;line-height:1.7}.sidebar-foot strong{display:block;color:white;font-size:12px}.sidebar-foot button{color:#b9ccd9;background:none;border:0;display:flex;align-items:center;gap:8px;padding:13px 0}.workspace{grid-column:2;min-width:0}.topbar{background:#fff;border-bottom:1px solid var(--border);padding:20px 36px;display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar p{color:var(--muted);font-size:11px}.topbar strong{font-size:12px;font-weight:600}.topbar .top-meta{display:flex;gap:12px;align-items:center}.avatar{background:var(--sky);color:var(--blue);display:grid;place-content:center;width:34px;height:34px;font-size:12px;font-weight:750}.content{padding:30px 36px 50px;max-width:1680px;margin:auto;min-width:0}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:27px}.page-heading p:not(.eyebrow){color:var(--muted);font-size:12px;margin-top:9px;max-width:650px}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.context{padding:18px 22px;background:#fff;border:1px solid var(--border);display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:16px;margin-bottom:24px}.context label{font-size:10px}.context select{font-size:12px;padding:9px;min-height:38px}.card{background:#fff;border:1px solid var(--border);padding:23px;margin-bottom:22px;min-width:0}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:20px}.card-head p{font-size:11px;color:var(--muted);margin-top:5px}.card-head h2{font-size:17px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}.stat{background:#fff;border:1px solid var(--border);padding:20px 22px}.stat span{color:var(--muted);font-size:11px}.stat strong{display:block;font-size:32px;font-weight:650;margin:11px 0 7px;letter-spacing:-1px}.stat small{font-size:10px}.stat.featured{background:var(--navy);color:#fff;border-color:var(--navy)}.stat.featured span,.stat.featured small{color:#b1c8da}.two-column{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,1fr);gap:22px}.three-column{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.steps{list-style:none;padding:0;margin:0}.steps li{display:flex;gap:15px;align-items:flex-start;padding:17px 0;border-bottom:1px solid var(--border)}.steps li:last-child{border:0}.step-number{background:var(--sky);color:var(--blue);display:grid;place-content:center;width:33px;height:33px;flex-shrink:0;font-size:12px;font-weight:700}.steps p{font-size:11px;color:var(--muted);margin-top:4px}.steps .text-button{margin-top:5px}.empty{padding:40px 24px;text-align:center;border:1px dashed var(--border);color:var(--muted);font-size:12px}.empty strong{display:block;color:var(--ink);margin-bottom:7px;font-size:14px}.helper{background:var(--sky);padding:14px 17px;border-left:3px solid var(--blue);font-size:12px;line-height:1.7;margin-bottom:20px}.helper.warning{background:var(--amber-bg);border-color:var(--amber)}.table-wrap{overflow-x:auto;width:100%;max-width:100%}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{font-size:9px;letter-spacing:.8px;text-transform:uppercase;font-weight:650;color:#607e94;background:#f3f7fa;padding:13px 12px;white-space:nowrap;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}td{padding:15px 12px;vertical-align:middle;border-bottom:1px solid #e8eff4;line-height:1.5}td strong{font-weight:600}td small{display:block;margin-top:3px;font-size:10px}td .actions{gap:6px;flex-wrap:nowrap}td.subject-cell{min-width:220px;max-width:360px}tr:hover td{background:#fbfdfe}.filters{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:20px}.filters .field{flex:1;min-width:130px}.filters .search-field{flex:2;min-width:200px}.filters input,.filters select{font-size:12px;min-height:38px;padding:9px}.filters .button{min-height:38px}.pagination{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-top:20px;font-size:11px;color:var(--muted)}.pagination>div{display:flex;gap:7px}.catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.catalog-column{background:#fff;border:1px solid var(--border);min-width:0}.catalog-column header{padding:18px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;gap:8px;align-items:center}.catalog-column header h3{font-size:12px}.catalog-list{min-height:220px;max-height:470px;overflow-y:auto;padding:8px}.catalog-item{border:1px solid transparent;border-bottom-color:#edf2f6;margin-bottom:3px;padding:11px 8px;display:flex;gap:7px;align-items:flex-start}.catalog-item.active{background:var(--sky);border-color:#cfe6f3}.catalog-item>button:first-child{flex:1;min-width:0;text-align:left;overflow-wrap:anywhere;border:0;background:none;padding:3px;color:var(--ink);font-size:11px;line-height:1.6}.catalog-item .item-tools{display:flex;gap:3px;flex-shrink:0}.catalog-item .icon-button{width:25px;height:25px;font-size:13px;padding:2px;border:0;background:transparent}.catalog-placeholder{padding:20px 10px;font-size:11px;line-height:1.8;color:var(--muted)}.split-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.segment{display:flex;border:1px solid var(--border)}.segment button{padding:8px 12px;border:0;background:#fff;color:var(--muted);font-size:11px}.segment button.active{background:var(--navy);color:#fff}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-week div{text-align:center;padding:12px;font-size:10px;font-weight:650;color:var(--muted)}.calendar-grid{border-top:1px solid var(--border);border-left:1px solid var(--border)}.calendar-day{border:0;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:#fff;padding:10px;min-height:92px;text-align:left;display:flex;flex-direction:column;gap:9px;color:var(--ink);min-width:0}.calendar-day.muted-day{background:#f8fafc}.calendar-day.has-terms{background:#f0f8fc}.calendar-day:hover{background:#e0f0fa}.calendar-day strong{font-size:12px}.calendar-day span{font-size:9px;line-height:1.6;color:var(--blue)}.calendar-day.selected{box-shadow:inset 0 0 0 2px var(--blue)}.calendar-day .day-dot{width:5px;height:5px;background:var(--blue);margin-left:auto}.editor{padding:0;border:1px solid var(--border);width:min(680px,calc(100vw - 32px));max-height:90vh;overflow-y:auto;color:var(--ink);box-shadow:0 20px 80px #0b233833}.editor::backdrop{background:#0c23396b}.editor header{padding:23px 26px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border)}.editor h2{font-size:20px}.editor .eyebrow{margin-bottom:4px}.dialog-body{padding:23px 26px;display:grid;gap:18px}.editor footer{padding:18px 26px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px;background:#f8fbfd}.dialog-error{color:var(--red);font-size:12px;line-height:1.6}.dialog-error:empty{display:none}.weekdays{display:flex;flex-wrap:wrap;gap:12px}.shift{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px;align-items:flex-end;margin-bottom:10px}.shift .field{font-size:10px}.shift .icon-button{height:43px;width:35px}.toast{position:fixed;right:24px;bottom:24px;max-width:min(540px,calc(100vw - 32px));z-index:100;padding:16px 18px;background:var(--navy);color:#fff;box-shadow:0 4px 25px #102d4626;display:flex;gap:18px;align-items:flex-start;font-size:12px;line-height:1.8;border-left:4px solid #5bd1aa}.toast.error{border-left-color:#ef7c86}.toast button{background:none;border:0;color:white;font-size:23px;line-height:1;padding:0}.notice{padding:14px 17px;line-height:1.7;font-size:12px;margin-bottom:18px}.notice.error{background:var(--red-bg);color:var(--red);border:1px solid #efc9ce}.notice.success{background:var(--green-bg);color:var(--green);border:1px solid #cae9da}.notice.warning{background:var(--amber-bg);color:var(--amber);border:1px solid #ebdbb2}.upload-box{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;border:1px dashed #a6c3d6;background:#f8fcfe;padding:32px}.upload-box svg{width:32px;height:32px;color:var(--blue)}.upload-box input{max-width:390px;background:white;font-size:12px}.import-errors{max-height:230px;overflow-y:auto;padding:12px 18px;border:1px solid #f0c9cf;background:var(--red-bg);color:var(--red);font-size:12px;line-height:1.8}.link-box{display:flex;gap:10px;margin:16px 0}.link-box input{font-size:12px}.definition{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0}.definition dt{font-size:11px;color:var(--muted)}.definition dd{margin:0;text-align:right;font-size:12px;font-weight:600}.progress{height:4px;background:#e6edf2;margin-top:9px}.progress span{display:block;height:100%;background:var(--blue);max-width:100%}.bulk-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 15px;background:var(--sky);margin-bottom:14px;font-size:11px}.bulk-bar .check{font-size:11px}.settings-form{display:grid;gap:18px}.settings-form .field{max-width:550px}.settings-form .button{justify-self:start}.student-app{max-width:1220px;margin:auto;padding:0 32px 55px}.student-header{display:flex;justify-content:space-between;align-items:center;padding:25px 0;border-bottom:1px solid var(--border);gap:20px}.student-header .brand{font-size:16px}.student-header .brand small{font-size:9px}.student-hero{padding:32px 0;display:flex;align-items:flex-end;justify-content:space-between;gap:22px}.student-hero h1{font-size:30px}.student-hero p:not(.eyebrow){font-size:12px;color:var(--muted);margin-top:12px}.student-identity{display:grid;grid-template-columns:.8fr 1.2fr;gap:36px;align-items:start}.student-identity h2{font-size:25px;margin:10px 0 14px}.student-identity p{color:var(--muted);font-size:12px}.student-identity form{display:grid;gap:19px}.student-identity .button{justify-self:start}.identity-summary{background:var(--navy);color:white;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.identity-summary h3{font-size:16px}.identity-summary p{font-size:11px;color:#b8cedd;margin-top:5px}.identity-summary button{border-color:#56758e;color:#d9e7f1;background:transparent}.subjects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:24px}.subject-tab{border:1px solid var(--border);padding:18px;text-align:left;background:white;color:var(--ink);display:flex;flex-direction:column;gap:12px;min-width:0}.subject-tab strong{font-size:12px;line-height:1.6}.subject-tab small{font-size:10px}.subject-tab.active{border-color:var(--blue);box-shadow:inset 0 3px 0 var(--blue);background:#f5fbfe}.subject-tab .subject-progress{display:flex;align-items:center;justify-content:space-between;margin-top:auto;gap:8px}.student-calendar-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(270px,1fr);gap:22px}.student-calendar-layout .calendar-day{min-height:78px}.student-calendar-layout .calendar-day span{font-size:9px}.term-options{display:grid;gap:10px}.term-option{display:flex;align-items:center;gap:12px;border:1px solid var(--border);background:#fff;padding:16px;cursor:pointer}.term-option.checked{border-color:var(--blue);background:var(--sky)}.term-option.disabled{background:#f7f9fb;color:#8b9dab;cursor:not-allowed}.term-option strong{font-size:13px}.term-option small{display:block;font-size:10px;margin-top:4px}.term-option .badge{margin-left:auto}.selection-bar{position:sticky;bottom:0;background:var(--navy);color:white;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:3px solid var(--blue);margin-top:22px;z-index:10}.selection-bar p{color:#bdd1df;font-size:11px;margin-top:5px}.saved-list{display:grid;gap:10px}.saved-item{padding:15px 0;display:flex;justify-content:space-between;gap:15px;align-items:center;border-bottom:1px solid var(--border)}.saved-item strong{font-size:12px}.saved-item p{font-size:11px;color:var(--muted);margin-top:5px}.mobile-nav-toggle{display:none}.honey{position:absolute;left:-10000px;opacity:0;width:1px;height:1px}.privacy-text{font-size:11px;color:var(--muted);line-height:1.7}.code-input{font-size:25px;letter-spacing:10px;max-width:260px}.local-code{background:var(--amber-bg);border:1px solid #ead49d;padding:12px;font-size:12px}.local-code strong{font-size:21px;letter-spacing:5px}.readonly-banner{margin-bottom:20px}.modal-hint{color:var(--muted);font-size:11px;line-height:1.8}
@media(min-width:1600px){.content{padding-top:37px}.sidebar{width:250px}.app-shell{grid-template-columns:250px minmax(0,1fr)}}
@media(max-width:1150px){.content{padding:24px}.topbar{padding:18px 24px}.app-shell{grid-template-columns:205px minmax(0,1fr)}.sidebar{width:205px;padding:24px 15px}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{gap:12px}.stat{padding:17px}.two-column{grid-template-columns:1fr}.student-calendar-layout{grid-template-columns:minmax(0,1.4fr) minmax(250px,1fr)}.subjects{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){h1{font-size:26px}.app-shell{display:block}.sidebar{transform:translateX(-100%);transition:transform .2s;width:236px}.sidebar.open{transform:none;box-shadow:0 0 0 100vw #102d4670}.mobile-nav-toggle{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);background:#fff;padding:7px;color:var(--navy);width:34px;height:34px}.topbar{padding:14px 18px;position:sticky;top:0;z-index:15}.topbar>div:first-child{display:flex;align-items:center;gap:12px}.topbar .top-meta .badge{display:none}.content{padding:23px 18px 40px}.page-heading{align-items:flex-start;flex-direction:column;gap:15px;margin-bottom:20px}.context{gap:10px;padding:14px;grid-template-columns:1fr 1fr}.context .field:last-child{grid-column:1/-1}.stats{grid-template-columns:1fr 1fr}.stat strong{font-size:28px}.card{padding:18px;margin-bottom:18px}.three-column{grid-template-columns:1fr}.student-app{padding:0 18px 30px}.student-hero{align-items:flex-start;flex-direction:column;padding:27px 0}.student-hero h1{font-size:27px}.student-identity{grid-template-columns:1fr;gap:24px}.student-calendar-layout{grid-template-columns:1fr}.student-header .brand small{display:none}.student-header .brand-mark{width:34px;height:34px;font-size:23px}.identity-summary{padding:18px}.selection-bar{padding:16px;align-items:flex-start}.selection-bar strong{font-size:12px}.selection-bar .button{padding:10px 12px}.bulk-bar{align-items:flex-start;flex-direction:column}.bulk-bar .actions{width:100%}}
@media(max-width:480px){.catalog-grid{grid-template-columns:1fr}.catalog-list{min-height:70px;max-height:250px}.field-row,.field-row.three{grid-template-columns:1fr}.subjects{grid-template-columns:1fr}.subject-tab{padding:14px;gap:8px}.calendar-day{padding:7px 5px;min-height:65px}.calendar-day span{font-size:8px}.student-calendar-layout .calendar-day{min-height:65px}.calendar-week div{padding:10px 2px;font-size:9px}.identity-summary{align-items:flex-start;flex-direction:column;gap:13px}.card-head{flex-wrap:wrap}.link-box{flex-direction:column}.shift{grid-template-columns:1fr 1fr}.shift>.field:nth-child(3){grid-column:1}.shift .icon-button{justify-self:end}.editor header,.dialog-body,.editor footer{padding:18px}.student-header>.badge{font-size:8px;padding:5px}.stat{padding:14px}.stat span{font-size:10px}.topbar .top-meta strong{display:none}.pagination{align-items:flex-start;flex-direction:column}.filters .field,.filters .search-field{min-width:100%;flex:1}.selection-bar{flex-direction:column}.selection-bar .button{width:100%}.term-option{padding:13px}.term-option .badge{font-size:9px}}
.semester-row-actions,.semester-link-actions{display:flex;flex-direction:column;gap:7px;align-items:flex-start}.semester-table td{vertical-align:top}.semester-table th{white-space:normal}.semester-table .subject-cell{min-width:180px;max-width:260px}.semester-table .text-button{text-align:left}.semester-stats .stat{padding:17px 20px}.semester-stats .stat strong{margin-bottom:0}#semester-details{scroll-margin-top:25px;margin-top:30px}.semester-table .button{white-space:nowrap}
[hidden]{display:none!important}.brand-logo{display:block;width:100%;height:auto;max-width:100%;object-fit:contain}.brand:has(.brand-logo){min-width:0;flex-shrink:0}.sidebar .brand{width:100%;background:#fff;padding:12px 10px}.student-header{gap:18px;flex-wrap:wrap}.student-header .brand{width:280px;max-width:100%}.student-header .brand-logo{background:transparent}.student-header>.badge{flex-shrink:0}.countdown-gate{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;padding:26px;background:var(--navy);color:white;border-top:4px solid var(--blue);margin-bottom:25px}.countdown-gate .eyebrow{color:#8dd4f7}.countdown-gate h2{font-size:22px}.countdown-gate p:not(.eyebrow){color:#bad0df;font-size:12px;margin-top:9px;max-width:620px}.countdown-clock{display:grid;grid-template-columns:repeat(4,minmax(52px,1fr));gap:9px;text-align:center}.countdown-clock>div{background:#1a3e5a;padding:12px 11px;border:1px solid #345a75}.countdown-clock strong{display:block;font-size:29px;font-variant-numeric:tabular-nums;font-weight:650;line-height:1.25}.countdown-clock small{display:block;color:#bbcfdd;font-size:9px;margin-top:5px}#calendar-preview,#identity-form{scroll-margin-top:20px}.manual-term-list{display:grid;gap:8px;max-height:340px;overflow-y:auto}.manual-term-list .term-option{padding:11px}.data-cleanup{border-color:#e4bdc1}.data-cleanup h2{color:var(--red)}
@media(max-width:800px){.countdown-gate{grid-template-columns:1fr;gap:20px;padding:21px}.countdown-clock{max-width:360px;width:100%}.student-header .brand{width:230px}.countdown-gate h2{font-size:20px}}
@media(max-width:480px){.student-header{align-items:flex-start;flex-direction:column;gap:14px;padding:20px 0}.student-header>.badge{font-size:10px;padding:6px 9px;white-space:normal}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.countdown-caption{grid-column:1/-1;text-align:left;font-size:11px;color:#c8deed;line-height:1.5}
.readiness-list{display:grid;gap:12px}.readiness-item{border:1px solid var(--border);padding:16px;min-width:0}.readiness-item>div{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.readiness-item h3{overflow-wrap:anywhere}.readiness-item p{font-size:12px;margin-top:8px}.readiness-item>.button{margin-top:12px;white-space:normal;text-align:left}.readiness-item .badge{flex-shrink:0}
.custom-link-form{border-top:1px solid var(--border);margin-top:24px;padding-top:22px}.link-preview{font-size:12px;line-height:1.7;background:var(--sky);padding:12px;overflow-wrap:anywhere}.custom-link-form .button{white-space:normal}
@media(max-width:1000px){}
@media(max-width:760px){}
@media(max-width:380px){}
/* Public entry screens */
.landing{padding:40px 7%;max-width:1100px;margin:auto}
.login-layout{min-height:100vh;min-height:100svh;display:grid;place-items:center;padding:36px 20px;background-color:var(--navy-deep);background-image:linear-gradient(rgba(5,26,45,.38),rgba(5,26,45,.48)),url('login-campus.webp');background-size:cover;background-position:center}
.login-form{width:100%;max-width:440px;min-width:0;background:#fff;border-top:4px solid var(--blue);padding:36px 40px;box-shadow:0 16px 60px #04182d40}
.login-form .brand{width:240px;max-width:100%;margin:0 auto 28px}
.login-form-heading{text-align:center;margin-bottom:26px}
.login-form-heading h1{font-size:26px;line-height:1.3;letter-spacing:-.5px}
.login-form-heading p{font-size:12px;color:var(--muted);margin-top:8px}
.login-form form{display:grid;gap:20px}
.login-form label{display:grid;gap:9px;font-size:12px;font-weight:650}
.login-form input{min-height:48px;background:#f8fbfd;padding:12px 14px}
.login-form input:focus{background:#fff}
.login-form .button{width:100%;min-height:46px;font-size:13px;margin-top:2px}
.login-password-link{display:block;width:fit-content;margin:20px auto 0;font-size:12px;text-underline-offset:4px}
.login-student-note{margin-top:26px;padding-top:20px;border-top:1px solid var(--border);color:var(--muted);font-size:11px;line-height:1.8;text-align:center}
.login-student-note a{display:block;margin-top:5px}
.login-form .notice{margin-bottom:22px}
.welcome-page{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;background:#f2f6f9}
.welcome-header{background:#fff;border-bottom:1px solid var(--border)}
.welcome-header-inner{max-width:1040px;margin:auto;padding:22px 30px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.welcome-header .brand{width:240px;max-width:65%}
.welcome-header-inner>span{font-size:12px;color:var(--muted);text-align:right}
.welcome-content{width:calc(100% - 60px);max-width:980px;margin:56px auto 40px;background:#fff;border:1px solid var(--border)}
.welcome-title{padding:38px 40px;background-color:var(--navy);background-image:linear-gradient(90deg,rgba(5,26,45,.72),rgba(5,26,45,.32)),url('login-campus.webp');background-size:cover;background-position:center 42%;color:#fff;border-bottom:3px solid var(--blue)}
.welcome-title h1{font-size:32px;line-height:1.35;letter-spacing:-.7px}
.welcome-body{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:40px;padding:38px 40px}
.welcome-body h2{font-size:18px;margin-bottom:16px;letter-spacing:-.2px}
.welcome-body p{font-size:13px;color:var(--muted);line-height:1.85}
.welcome-students>p+p{margin-top:14px}
.welcome-help{margin-top:25px;padding-top:20px;border-top:1px solid var(--border)}
.welcome-help h3{font-size:13px;margin-bottom:5px}
.welcome-help p{font-size:12px}
.welcome-organizers{border-left:1px solid var(--border);padding-left:30px}
.welcome-organizers .button{margin-top:22px;width:100%;white-space:normal}
.welcome-footer{margin-top:auto;padding:0 24px 26px;text-align:center;color:var(--muted);font-size:11px}
@media(max-width:700px){.welcome-header-inner{padding:20px 24px;gap:18px}.welcome-header .brand{width:220px}.welcome-content{width:calc(100% - 40px);margin:28px auto}.welcome-title{padding:28px 24px}.welcome-title h1{font-size:26px}.welcome-body{grid-template-columns:1fr;gap:28px;padding:26px 24px}.welcome-organizers{border-left:0;border-top:1px solid var(--border);padding:24px 0 0}.welcome-organizers .button{width:auto}.welcome-footer{padding-bottom:24px}}
@media(max-width:380px){.login-layout{padding:24px 16px}.login-form{padding:28px 24px}.login-form .brand{width:210px;margin-bottom:24px}.login-form-heading h1{font-size:23px}.welcome-header-inner{padding:18px 20px}.welcome-header-inner>span{font-size:10px}.welcome-title h1{font-size:24px}.welcome-title,.welcome-body{padding:24px 20px}}
.bundle-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:12px}.bundle-option{align-items:flex-start;height:100%}.bundle-date-list{display:grid;gap:5px;margin:10px 0;font-size:13px;line-height:1.5}.bundle-option .badge{margin-top:9px}
