*{box-sizing:border-box}html{font-size:15px}body{margin:0;font-family:Mitr,sans-serif;background:#f4f9f8;color:#1c352e}button,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}.layout{min-height:100dvh}.sidebar{position:fixed;inset:0 auto 0 0;width:255px;padding:20px 13px;background:linear-gradient(180deg,#0f2821,#1a4639);color:white;z-index:20;overflow-y:auto}.brand{display:flex;align-items:center;gap:10px;margin:5px 6px 29px}.brand strong{font-size:18px}.brand small{display:block;color:#a1d8c9;font-size:10px}.logo{width:43px;height:43px;border-radius:13px;background:linear-gradient(135deg,#45bc9a,#7cd0b8);display:grid;place-items:center;font-weight:700}.navhead{margin:16px 13px 9px;font-size:10px;color:#9bb9af}.nav{display:flex;align-items:center;gap:10px;width:100%;background:transparent;border:0;border-radius:11px;padding:12px;color:#e9f7f2;text-align:left;font-size:12px;margin:2px 0}.nav.active{background:linear-gradient(90deg,#45bc9a,#7cd0b8);color:#073a2b;font-weight:700}.nav.disabled{opacity:.5;cursor:default}.oldlink{display:block;margin:32px 12px 5px;color:#c1f5e5;font-size:12px}.main{margin-left:255px}.topbar{display:flex;align-items:center;gap:13px;position:sticky;top:0;z-index:9;background:#f8fcfbf0;backdrop-filter:blur(12px);border-bottom:1px solid #e6f0ec;padding:14px 24px}.topbar h1{margin:0;font-size:19px}.topbar p{margin:0;color:#768b85;font-size:10px}.spacer{flex:1}.readbadge{font-size:11px;border-radius:999px;background:#eaf5f1;padding:7px 10px;white-space:nowrap}.identity{font-size:11px;color:#52776c;white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis}.menubtn{display:none;border:0;background:white;border-radius:12px;padding:8px 12px}.content{max-width:1380px;margin:auto;padding:18px 23px}.info{border:1px solid #c9e8db;background:#eff9f5;padding:12px 15px;border-radius:13px;margin-bottom:16px;font-size:12px;color:#286b54}.info.bad{background:#fff1f1;border-color:#f2cccc;color:#a33030}.metricgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.metric{border-radius:17px;color:#fff;padding:19px;background:linear-gradient(130deg,#237563,#3bae94);box-shadow:0 8px 19px #24614716}.metric:nth-child(2n){background:linear-gradient(130deg,#50c0aa,#6ccbba)}.metric b{display:block;font-size:25px}.metric span{font-size:11px}.panel{background:#fff;border:1px solid #e5f0ed;border-radius:18px;padding:17px;margin-bottom:14px;box-shadow:0 8px 23px #1e48390a}.panel h2{font-size:17px;margin:0 0 14px}.panelhead{display:flex;align-items:center;justify-content:space-between;gap:10px}.ghost{background:#edf7f3;border:0;color:#25634e;border-radius:11px;padding:9px 13px;font-size:12px}.coursegrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.course{border:1px solid #e3eee9;border-radius:15px;background:#fbfefd;text-align:left;padding:17px;min-width:0;color:#1c352e}.course:hover{border-color:#5abf9c}.course b{display:block;overflow-wrap:anywhere;font-size:14px}.course small{display:block;color:#71857e;font-size:11px;margin-top:7px}.records{display:grid;gap:8px}.record{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border:1px solid #e5f0ed;border-radius:12px;padding:12px;background:#fbfefd}.record strong{font-size:12px;display:block;overflow-wrap:anywhere}.record small{font-size:10px;color:#71857e;display:block;margin-top:4px;overflow-wrap:anywhere}.record .tag{font-size:11px;color:#21694d;background:#e8f7ef;padding:4px 8px;border-radius:9px;white-space:nowrap}.searchline{display:flex;gap:12px;margin-bottom:12px}.searchline label{font-size:12px}.searchline select{display:block;margin-top:5px;border:1px solid #d6e8e1;border-radius:10px;padding:8px;background:white;max-width:100%}footer{font-size:10px;color:#81938e;text-align:center;padding:25px 0}.shade{display:none}@media(max-width:1000px){.metricgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.coursegrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.sidebar{transform:translateX(-110%);transition:transform .18s;width:min(320px,86vw)}.sidebar.open{transform:translateX(0)}.shade:not([hidden]){display:block;position:fixed;inset:0;background:#0d291b77;z-index:18}.main{margin-left:0}.menubtn{display:block}.topbar{padding:11px 12px}.topbar h1{font-size:16px}.content{padding:12px 10px}.readbadge{font-size:9px}.identity{max-width:90px}.coursegrid{grid-template-columns:1fr}.panel{padding:13px}.metric{padding:14px}.record{padding:10px}.record strong{font-size:12px}}@media(max-width:390px){.metricgrid{gap:8px}.identity{max-width:60px}}/* Phase 4: Serene forms and mobile-first list actions */
.manage-primary{border:0;border-radius:11px;padding:10px 14px;background:linear-gradient(120deg,#2a9075,#57c6aa);color:#fff;font-weight:600;font-size:12px;min-height:42px}
.manage-primary:disabled,.ghost:disabled{opacity:.5;cursor:not-allowed}
.manage-row-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.manage-student-row{align-items:center}
.manage-course-row{display:flex;align-items:center;gap:9px;border-bottom:1px solid #e7f1ed;padding:10px 0}
.manage-course-row span{flex:1;min-width:0;font-size:12px;overflow-wrap:anywhere}
.manage-subtitle{font-size:13px;margin:22px 0 9px}
.danger-ghost{background:#fff0f1;color:#bc3447;border:1px solid #f6ced2}
.searchline{align-items:flex-end;flex-wrap:wrap}
.searchline input[type=search]{display:block;margin-top:5px;border:1px solid #d6e8e1;border-radius:10px;padding:8px;max-width:100%}
.searchline .manage-check{display:flex;gap:5px;align-items:center;margin-bottom:7px}
.manage-overlay{position:fixed;inset:0;z-index:95;background:#092319a6;display:grid;place-items:center;padding:12px;overscroll-behavior:contain}
.manage-modal{background:#fff;border-radius:19px;width:min(520px,100%);max-height:90dvh;overflow:auto;padding:21px;box-shadow:0 25px 70px #071f1644}
.manage-head{display:flex;align-items:center;justify-content:space-between;gap:9px}.manage-head h2{font-size:18px;margin:0}.manage-close{border:0;background:#f2f7f5;border-radius:9px;font-size:21px;width:39px;height:39px;cursor:pointer}
.manage-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:19px}
.manage-field{display:grid;gap:5px;font-size:12px;font-weight:500}.manage-field input,.manage-field select{min-width:0;max-width:100%;height:46px;border:1px solid #d9e9e3;border-radius:11px;padding:10px 11px;font:inherit;color:#1c352e;background:white}
.manage-field input[readonly]{background:#f1f6f4;color:#768b85}.manage-field input[type=color]{padding:4px;width:100%}
.manage-hint{grid-column:1/-1;font-size:10px;color:#6a867b;line-height:1.7}.manage-error{color:#b62938;font-size:12px;margin:12px 0;min-height:12px}
.manage-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
@media(max-width:650px){.manage-fields{grid-template-columns:1fr}.manage-modal{max-height:90dvh;padding:15px}.manage-row-actions{gap:5px}.manage-course-row{flex-wrap:wrap}.manage-course-row span{flex:0 0 100%}.manage-student-row{flex-direction:column;align-items:stretch}.manage-student-row .manage-row-actions{justify-content:flex-start}.panelhead{flex-wrap:wrap}}

/* Phase 5 assignment management (mobile friendly, no horizontally scrolling tables) */
.assignment-modal{width:min(680px,100%)}
.manage-field textarea{height:100px;resize:vertical;border:1px solid #d9e9e3;border-radius:11px;padding:10px 11px;font:inherit;min-width:0}
.assignment-wide,.assignment-course-set{grid-column:1/-1}
.assignment-course-set{border:1px solid #e0ebe5;border-radius:12px;padding:12px;min-width:0}
.assignment-course-set legend{font-size:12px;font-weight:600;padding:0 5px}
.assignment-course-options{max-height:195px;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
.assignment-course-option{display:flex;align-items:center;gap:8px;background:#f4faf7;border-radius:9px;font-size:11px;padding:9px;min-width:0;overflow-wrap:anywhere}
.assignment-course-option input{flex-shrink:0;width:18px;height:18px;accent-color:#29866d}
.assignment-note{font-size:11px;border:1px solid #dcefe5;background:#f4fbf7;border-radius:11px;margin-bottom:12px;padding:10px;color:#407762;line-height:1.7}
.assignment-record{align-items:center}.assignment-details{min-width:0;flex:1}
.assignment-record .manage-row-actions{flex-shrink:0}
@media(max-width:650px){.assignment-course-options{grid-template-columns:1fr}.assignment-record{flex-direction:column;align-items:stretch}.assignment-record .manage-row-actions{justify-content:flex-start}.assignment-modal{max-height:92dvh}.manage-field textarea{font-size:16px}}
