:root{font-family:Arial,sans-serif;color:#172033;background:#f5f7fb}*{box-sizing:border-box}body{margin:0}header{height:64px;background:#152238;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:2}header nav{display:flex;gap:18px}header a{color:white;text-decoration:none}.role{font-size:11px;margin-left:10px;padding:4px 8px;background:#ffffff20;border-radius:99px}main{max-width:1480px;margin:auto;padding:28px}.pagehead{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.pagehead h1,h1{margin:0 0 7px}.pagehead p{margin:0;color:#667085}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:20px 0}.card,.panel{background:white;border:1px solid #e4e7ec;border-radius:12px;box-shadow:0 2px 8px #1118270a}.card{padding:18px}.card small{color:#667085}.card b{font-size:28px;display:block;margin:7px 0}.card a,.panel a{color:#1358c8}.panel{padding:20px;margin:18px 0}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:11px 10px;border-bottom:1px solid #edf0f5;vertical-align:top}th{color:#475467;background:#fafbfc}.status{display:inline-block;background:#eef4ff;color:#254f9a;padding:5px 8px;border-radius:7px;font-size:11px;font-weight:bold}.status.big{font-size:13px}.button,button{background:#2457d6;color:white;border:0;border-radius:8px;padding:10px 15px;text-decoration:none;cursor:pointer}.warn{background:#bb3e3e}.filters,.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.filters{background:white;border:1px solid #e4e7ec;padding:12px;border-radius:10px}.filters input,.filters select,input,select,textarea{border:1px solid #d0d5dd;border-radius:8px;padding:10px;background:white}.filters input{min-width:270px}textarea{width:100%;min-height:76px;margin:8px 0}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.login{max-width:520px;margin:14vh auto;background:white;padding:34px;border-radius:16px;border:1px solid #e4e7ec}.login form{display:flex;gap:10px}.login select{flex:1}.muted{color:#667085}.chips{display:flex;gap:8px;flex-wrap:wrap}.chips span{background:#f2f4f7;padding:7px 9px;border-radius:8px}.event{padding:10px 0;border-bottom:1px solid #eee}.event p{margin:5px 0;color:#475467}.map h2{margin-top:28px;border-bottom:2px solid #e5e7eb;padding-bottom:6px}.map h3{margin-left:15px}.topic{margin-left:30px;padding:8px 10px;border-left:3px solid #d8e2fb;display:flex;justify-content:space-between;gap:15px}.topic small{color:#667085}dl{display:grid;grid-template-columns:150px 1fr;gap:8px}dt{font-weight:bold;color:#667085}@media(max-width:800px){header{height:auto;align-items:flex-start;gap:12px;padding:15px;flex-direction:column}header nav{flex-wrap:wrap}.grid2{grid-template-columns:1fr}.pagehead{align-items:flex-start;gap:12px;flex-direction:column}.login form{flex-direction:column}main{padding:16px}}
.user-name{font-size:12px;margin-left:10px;opacity:.8}.login form,.stack{display:flex;flex-direction:column;gap:9px}.login label,.stack label{font-size:13px;font-weight:bold;color:#475467}.login input,.stack input,.stack select{width:100%}.alert{background:#fff1f1;border:1px solid #f1b6b6;color:#8c1d1d;padding:10px;border-radius:8px;margin:12px 0}.small{font-size:12px}
.secondary{background:#eef2f8;color:#344054}.rolecards{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin:12px 0 18px}.rolecard{background:white;border:1px solid #e4e7ec;border-radius:10px;padding:12px}.rolecard small{display:block;color:#667085}.rolecard b{display:block;font-size:22px;margin-top:3px}.rolepill,.activepill,.inactivepill,.countbadge{display:inline-block;border-radius:999px;padding:4px 8px;font-size:12px}.rolepill{background:#eef4ff;color:#254f9a}.activepill{background:#ecfdf3;color:#027a48}.inactivepill{background:#f2f4f7;color:#667085}.countbadge{background:#eef2f8;color:#344054}.smallbtn{padding:6px 10px;font-size:12px}.filterhint{font-size:12px;color:#667085;margin:7px 2px 0}.narrow{max-width:760px}.checkline{display:flex!important;flex-direction:row!important;align-items:center;gap:8px}.checkline input{width:auto!important}.filters .secondary{padding:10px 15px}.filters select{min-width:180px}
.mergeactions{display:flex;gap:.45rem;flex-wrap:wrap}.mergeactions form{margin:0}.notice{padding:.85rem 1rem;border:1px solid #d8e2dc;border-radius:10px;margin-bottom:1rem}.notice.success{background:#f1f8f4}.button.secondary.smallbtn,.smallbtn.secondary{background:#fff;color:#334;border:1px solid #ccd}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 16px}.tabs a{padding:9px 13px;border:1px solid #d0d5dd;border-radius:9px;background:white;text-decoration:none;color:#344054}.tabs a.active{background:#2457d6;color:white;border-color:#2457d6}.workflow-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}.workflow-box{border:1px solid #e4e7ec;border-radius:10px;padding:14px}.workflow-box h3{margin-top:0}.workflow-box form{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0}.workflow-box input,.workflow-box select{min-width:120px}.uploadform{display:grid;grid-template-columns:minmax(180px,.5fr) 1fr;gap:10px}.uploadform textarea{grid-column:1/-1}.uploadform button{width:max-content}.assignment-list p{margin:7px 0}.inlineform{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin:7px 0}.inlineform input,.inlineform select{min-width:140px}.tinyform{display:inline;margin-left:8px}.datefilter{display:flex;align-items:center;gap:6px;font-size:12px}.datefilter input{min-width:auto}.checkgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.metric{background:white;border:1px solid #e4e7ec;border-radius:10px;padding:10px 14px}.metric small{display:block;color:#667085}.metric b{font-size:20px}.rightmetric{float:right;font-size:13px;color:#667085}.slotrow{display:flex;justify-content:space-between;gap:20px;padding:8px 10px;margin:4px 0;border-left:3px solid #d8e2fb}.slotrow.fixed{background:#fafbff}.lessonblock{margin:14px 0 20px 14px;padding-left:12px;border-left:1px solid #e4e7ec}.structure-unit>h2{border-bottom:2px solid #e4e7ec;padding-bottom:8px}.structure-lesson{margin:18px 0 28px}.fixedline{margin:5px 0 12px;color:#667085}.padded{padding:12px 0}details summary{cursor:pointer;color:#2457d6}.brandline{display:flex;align-items:center;flex-wrap:wrap;gap:2px}@media(max-width:800px){.uploadform{grid-template-columns:1fr}.checkgrid{grid-template-columns:1fr}.slotrow{flex-direction:column;gap:3px}}
.structure-head{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.structure-head h2,.structure-head h3{margin-bottom:8px}.structure-head .inlineform{margin-left:auto}
/* Portal EAD v9 */
.modulegrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:18px 0 24px}
.modulecard{display:flex;flex-direction:column;gap:8px;min-height:120px;padding:20px;border:1px solid #e4e7ec;border-radius:12px;background:#fff;text-decoration:none!important;color:#172033!important;box-shadow:0 2px 8px #1118270a}
.modulecard b{font-size:18px}.modulecard span{color:#667085;line-height:1.4}.modulecard.disabled{opacity:.62;cursor:default}
.role-switch{margin-left:10px}.role-switch select{padding:6px 30px 6px 8px;border:1px solid #ffffff55;background:#fff;color:#172033;min-width:180px}
.widepanel{grid-column:1/-1}.warntext{color:#a33}.stack.compact{gap:6px;min-width:310px}.stack.compact input,.stack.compact select{width:100%}
@media(max-width:800px){.role-switch{margin-left:0}.role-switch select{min-width:0;max-width:100%}.stack.compact{min-width:240px}}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:16px 0}.stats>div{background:#fff;border:1px solid #e4e7ec;border-radius:10px;padding:14px}.stats small{display:block;color:#667085}.stats b{display:block;font-size:24px;margin-top:4px}
