*{box-sizing:border-box}body{margin:0;color:#172e4c;background:#eef2f6;font-family:Aptos,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}body::before{content:'';position:fixed;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(255,255,255,.76),rgba(255,255,255,.8)),url('/warehouse-background.jpg') center center/cover no-repeat}header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:26px;padding:20px 4%;background:#fff;border-bottom:1px solid #e0e6ef;min-height:98px}.brand{display:flex;align-items:center;gap:24px;text-decoration:none;color:#203653;font-weight:700;font-size:27px;white-space:nowrap}.brand img{object-fit:contain;width:164px;height:auto;display:block}.brand span{border-left:1px solid #dbe1e9;padding-left:24px}header nav{display:flex;align-self:stretch;gap:25px;align-items:stretch}button{font:inherit;cursor:pointer;color:#385875;border:1px solid #cbd6e2;border-radius:8px;background:white;padding:11px 16px;font-size:14px;font-weight:600}button:hover{background:#eff5fd}button:disabled{opacity:.55;cursor:default}button.primary{background:#245eb9;border-color:#245eb9;color:#fff;padding:13px 22px;font-weight:600}button.primary:hover{background:#174d9f}header nav button{border:0;border-radius:0;background:none;padding:14px 0;position:relative;color:#62738e;font-size:15px;white-space:nowrap}header nav button.active{color:#235cb2}header nav button.active::after{content:'';position:absolute;bottom:-20px;height:3px;border-radius:3px;background:#235cb2;left:0;right:0}#account{font-size:14px;color:#4d617d;position:relative}#profileMenu summary{cursor:pointer;list-style:none;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:10px 6px}#profileMenu summary::after{content:'⌄';margin-left:13px}.profile-content{position:absolute;right:0;top:100%;z-index:10;background:#fff;border:1px solid #e2e7ee;box-shadow:0 6px 20px #142b4d12;border-radius:10px;min-width:200px;padding:6px}.profile-content button{display:block;width:100%;text-align:left;border:0}main{max-width:1050px;margin:auto;padding:58px 26px 44px;min-height:calc(100vh - 164px)}h1{font-size:36px;font-weight:700;line-height:1.2;letter-spacing:-.8px;margin:0 0 12px}h2{font-size:26px;font-weight:650;letter-spacing:-.5px;margin:0 0 15px}p{line-height:1.55}.intro{color:#647894;font-size:18px;margin:0 0 32px}.card{background:#fff;border:1px solid #dce3ee;border-radius:12px;padding:28px;margin:22px 0;box-shadow:0 3px 12px #19355406}.exam{display:flex;align-items:flex-start;gap:26px;padding:30px;margin:0 0 25px}.document-icon{width:100px;height:108px;background:#edf4fd;border-radius:22px;display:grid;place-items:center;color:#2e66bd;flex-shrink:0;margin-top:7px}.exam-content{flex:1;min-width:0}.exam-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:4px 0 21px}.eyebrow{font-size:11px;color:#657c99;letter-spacing:1.4px;font-weight:600}.badge{color:#199c59;font-size:13px;white-space:nowrap}.badge::before{content:'';display:inline-block;width:9px;height:9px;border-radius:50%;background:#24ae65;margin-right:9px}.badge.closed{color:#8c6c45}.badge.closed::before{background:#ae926e}.exam h2{font-size:25px;margin:0 0 10px;line-height:1.3}.exam p{color:#667b97;margin:0 0 24px;font-size:17px}.exam-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px}.muted{color:#6a7d95;font-size:13px}.teacher-controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:16px}.teacher-controls:has(>.hidden):has(>span:empty){display:none}.teacher-controls button{font-size:12px;padding:7px 11px}.notes{margin:0;padding:25px 28px}.notes-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.notes-heading h2{margin:0;font-size:26px}.average{font-size:14px;color:#4e6d94}.text-link{border:0;background:none;border-radius:0;padding:0;color:#245eb9;font-size:14px;margin-top:22px}.text-link:hover{text-decoration:underline;background:none}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}td,th{padding:13px 16px;border-bottom:1px solid #e0e7f1;line-height:1.4}th{font-weight:500;color:#607b9e;background:#edf3fb}td{color:#486488}th:first-child{border-radius:6px 0 0 6px}th:last-child{border-radius:0 6px 6px 0}td:last-child{white-space:nowrap}.notes td:first-child{width:115px}.notes td:last-child{width:125px}.notice{background:#edf5fb;border:1px solid #d1e1ee;border-radius:10px;padding:17px 20px;margin:0 0 22px;line-height:1.6;overflow-wrap:anywhere}.notice.error{background:#fff3e9;border-color:#e6c3a4}.hidden{display:none!important}.login{max-width:480px;margin:12px auto 40px;padding:32px}.login .eyebrow{display:block;margin-bottom:20px}.login h1{font-size:34px}.login>p{color:#617691}label{display:block;font-size:14px;font-weight:500;margin-bottom:20px}input{display:block;margin-top:8px;width:100%;padding:12px;border:1px solid #cad6e4;border-radius:7px;font:inherit;background:#fff;color:#203c60}input:focus{outline:2px solid #759edb;outline-offset:1px}.row,.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.row{justify-content:space-between}.row label{flex:1;min-width:170px}.toolbar{padding:15px 0;position:sticky;top:0;background:#ffffffee;z-index:3;margin-bottom:15px}#worksheet>h1{margin-top:25px}#worksheet>p{background:#ffffffc9;padding:10px 12px;border-radius:8px;font-size:14px}#progress{margin-left:auto;font-size:14px}.sheet-scroll{overflow:auto;background:#fff;border-radius:10px;box-shadow:0 6px 30px #224a3212}.sheet{position:relative;width:1024px;height:1536px;margin:auto}.sheet img{display:block}.blank{position:absolute;display:block;margin:0;border:0;border-bottom:1px solid #719d90;background:#f4faf6;color:#113e6e;text-align:center;padding:0 2px;height:21px;min-width:0;outline-offset:1px;font-size:13px;border-radius:2px}.blank:focus{outline:2px solid #006ee6;background:#fffbe4;z-index:2}.blank.good{background:#e2f5e6;border-bottom:2px solid #18843c}.blank.bad{background:#fff0e5;border-bottom:2px solid #c46a28}dialog{border:1px solid #d4dfea;border-radius:14px;max-width:500px;padding:28px;color:#1c3556}dialog::backdrop{background:#13233c66}dialog button{margin-top:10px}footer{text-align:center;padding:22px;color:#778ba5;font-size:11px;background:#ffffffb8;border-top:1px solid #e7edf4}#correctionList li{padding:7px}#notesList>p{font-size:14px;line-height:1.6;color:#72849c}#resultsPanel>.row{margin:16px 0}#resultsPanel>.row h2{margin:0}.brand small{display:none}@media(min-width:1400px){main{padding-top:70px}}@media(max-width:1100px){header{gap:18px;padding:18px 3%}.brand{font-size:22px;gap:16px}.brand img{width:130px}.brand span{padding-left:16px}header nav{gap:18px}header nav button{font-size:13px}#profileMenu summary{max-width:135px}}@media(max-width:850px){header{flex-wrap:wrap;gap:10px;min-height:auto}.brand{font-size:21px}.brand img{width:120px}header nav{order:3;width:100%;justify-content:center;gap:24px}header nav button{padding:13px 0}header nav button.active::after{bottom:-18px}main{padding:38px 18px;min-height:calc(100vh - 190px)}.exam{gap:20px;padding:24px}.document-icon{width:72px;height:80px;border-radius:16px}.exam h2{font-size:23px}.exam-bottom{align-items:flex-start}.exam p{font-size:15px}.notes-heading{align-items:flex-start}.average{font-size:13px;text-align:right}}@media(max-width:560px){body::before{background:linear-gradient(#ffffffe6,#ffffffcf),url('/warehouse-background.jpg') center/cover no-repeat}.brand{font-size:19px;gap:12px}.brand span{padding-left:12px}.brand img{width:107px}#profileMenu summary{max-width:100px;font-size:12px}header nav{justify-content:flex-start;overflow:auto;gap:22px;flex-wrap:nowrap}h1{font-size:30px}.intro{font-size:15px;margin-bottom:24px}.exam{display:block;padding:22px}.document-icon{display:none}.exam-top{margin-bottom:17px}.eyebrow{font-size:9px}.exam h2{font-size:23px}.exam-bottom{display:block}.exam-bottom>button{display:block;width:100%;margin-top:20px}.exam p{margin-bottom:20px}.notes{padding:22px 18px}.notes-heading h2{font-size:24px}.notes-heading{display:block}.average{display:block;text-align:left;margin-top:10px}.notes td,.notes th{padding:12px 8px;font-size:12px}.notes td:first-child{width:auto}.notes td:last-child{width:auto}.card{padding:22px}.row{display:block}.row label{min-width:0}#progress{margin:0}#resultsPanel .row button{margin-top:15px}.login h1{font-size:30px}.toolbar{top:0}dialog{margin:18px}.sheet-scroll{border-radius:6px}}@media print{header,footer,.toolbar,#back,#message{display:none!important}body{background:#fff}body::before{display:none}main{padding:0}.sheet-scroll{overflow:visible;box-shadow:none}.sheet{zoom:.68}.blank{print-color-adjust:exact}}

.account-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.account-actions button{font-size:12px;padding:8px 11px}.account-state{display:inline-block;background:#eaf6ee;color:#21784a;padding:5px 9px;border-radius:20px;font-size:12px}.account-state.disabled{background:#f0f2f5;color:#6d7583}.danger-link{color:#b33337;border-color:#ebcccc}.danger-link:hover{background:#fff0f0}button.danger{background:#b7353c;color:#fff;border-color:#b7353c}button.danger:hover{background:#982b31}.dialog-error{color:#aa2f39;font-size:14px}.account-name{font-weight:600;color:#335c88}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}#accountConfirmationLabel{font-size:13px;line-height:1.5}#studentList td{vertical-align:middle}
