:root{font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:#18353b;background:#f5f7f5;line-height:1.45}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{max-width:1210px;margin:auto;padding:0 22px 48px}
.top{background:#133e45;color:white;box-shadow:0 3px 22px #173f4522}.topinner{max-width:1210px;margin:auto;padding:19px 23px;display:flex;gap:15px;align-items:center;justify-content:space-between}.brand{font-size:22px;font-weight:800;letter-spacing:-.8px}.brand small{font-size:12px;font-weight:450;letter-spacing:0;margin-left:12px;color:#bfdddc}.brandmark{background:#d5ef77;color:#173b42;padding:5px 9px;border-radius:10px;margin-right:9px}.muted{color:#6b8184}.notice{padding:10px 14px;border-radius:12px;background:#fdf3d9;border:1px solid #e9d291;color:#6f5524;font-size:13px;margin:18px 0}.tiny{font-size:12px}.card{background:white;border:1px solid #dce4df;border-radius:16px;padding:21px;box-shadow:0 5px 20px #233c3310}.auth{width:min(470px,calc(100% - 30px));margin:8vh auto}.auth h1{font-size:24px;margin:0 0 6px}.auth .field{margin-top:14px}
label{display:block;font-size:13px;font-weight:650;margin-bottom:6px}input[type=text],input[type=email],input[type=password],input[type=search],input[type=number],select,textarea{width:100%;background:white;color:#1a3236;border:1px solid #cbd9d1;border-radius:10px;padding:10px 12px;outline:0}input:focus,select:focus,textarea:focus{border-color:#267d6a;box-shadow:0 0 0 3px #76bfad33}textarea{min-height:80px;resize:vertical}.primary{background:#176f62;color:white;border:1px solid #176f62;padding:10px 15px;border-radius:10px;font-weight:700}.primary:hover{background:#125c52}.secondary{background:#eef4f1;border:1px solid #d5e3dc;color:#184e49;padding:9px 13px;border-radius:10px;font-weight:600}.danger{background:#fce8e8;border:1px solid #f0c7c7;color:#a12626}.wide{width:100%}.row{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pill{display:inline-flex;border-radius:99px;padding:4px 9px;font-size:11px;font-weight:700;background:#e9f0ed;color:#496962}.pill.ok{background:#e3f2e6;color:#28734a}.pill.draft{background:#fff2e1;color:#925c18}.pill.type{background:#e6ebfa;color:#4a5e9b}.alert{background:#fff2ef;border:1px solid #edbbb1;color:#a53122;padding:10px;border-radius:10px;margin:12px 0}.success{background:#e9f6eb;border:1px solid #c1dec5;color:#276b36;padding:10px;border-radius:10px;margin:12px 0}.actions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:15px 0 20px}.toolbar>input{max-width:380px}.toolbar>select{width:auto}.stats{display:flex;flex-wrap:wrap;gap:10px}.stat{background:#fff;border:1px solid #dde5df;border-radius:12px;padding:10px 16px;font-weight:750}.stat small{display:block;font-size:11px;color:#6a8283;font-weight:450}.chap{font-weight:750;margin:25px 0 11px}.lesson{border:1px solid #dce6df;border-radius:14px;margin:12px 0;background:#fff;overflow:hidden}.lessonhead{padding:16px;font-size:16px;font-weight:750;background:#eaf0ec}.lessonbody{padding:6px 13px}.knowledge{margin:10px 0;border:1px solid #e1e8e3;border-radius:12px;overflow:hidden}.knowledge summary{cursor:pointer;padding:12px 15px;display:flex;gap:13px;align-items:center}.knowledge summary:hover{background:#f7faf7}.knowledge summary>span:first-child{font-weight:750;color:#28786a;min-width:72px}.klist{padding:7px 12px 13px;background:#fbfcfb}.questionitem{padding:10px 4px;border-bottom:1px solid #e4ebe6;display:flex;justify-content:space-between;gap:15px;align-items:center}.questionitem:last-child{border:0}.questionitem .title{font-weight:650}.questionbuttons{display:flex;gap:6px}.questionbuttons button{white-space:nowrap}.minibutton{padding:6px 9px;border-radius:8px;border:1px solid #d4e1dc;background:#fff;font-size:12px;font-weight:650;color:#176b60}.minibutton:hover{background:#ebf5f1}
.modalback{position:fixed;inset:0;background:#0c2428a8;display:flex;align-items:center;justify-content:center;padding:12px;z-index:20}.modal{width:min(800px,100%);max-height:94vh;overflow:auto;padding:22px;background:white;border-radius:18px;box-shadow:0 25px 85px #0005}.modal h2{margin:0 0 4px}.modalhead{display:flex;justify-content:space-between;align-items:start;margin-bottom:13px}.modalhead .x{font-size:23px;border:none;background:none}.inputgroup{margin:12px 0}.checklist{display:flex;gap:8px;flex-wrap:wrap;max-height:140px;overflow:auto;padding:10px;border:1px solid #dbe5de;border-radius:10px}.checklist label{display:flex;align-items:center;gap:7px;font-weight:450;margin:0}.checklist input{margin:0}.preview{padding:16px;background:#f6faf7;border-radius:12px}.preview img{max-width:100%;border-radius:9px}.preview .option{display:block;width:100%;text-align:left;background:white;border:1px solid #cbded3;margin:7px 0;border-radius:10px;padding:11px;cursor:pointer}.preview .option:hover{background:#edf6f1}.preview .option.chosen{border-color:#187b6b;background:#dbf0e9}.answerline{padding:7px;border-bottom:1px solid #e1e8e3}.qr{max-width:210px;max-height:210px;display:block;margin:12px auto}.loading{text-align:center;margin:17vh auto;color:#627c7e}.code{font-family:ui-monospace,monospace;background:#eaf2ee;padding:3px 7px;border-radius:5px}.foot{font-size:12px;color:#708886;margin:25px 0}
@media(max-width:650px){.grid2{grid-template-columns:1fr}.topinner{padding:14px 15px}.shell{padding:0 12px 26px}.brand small{display:block;margin-left:0;margin-top:4px}.card{padding:15px}.questionitem{align-items:flex-start;flex-direction:column}.questionbuttons{align-self:flex-end}.stat{padding:8px 11px}.modal{padding:16px}}

/* V9 */
.v9-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:20px 0 12px}.v9-heading h1{margin:20px 0 4px}.v9-heading p{margin:0 0 20px}
.v9-field{display:flex;flex-direction:column;gap:5px;min-width:220px;margin:12px 0}.v9-field span{font-size:13px;font-weight:650}.v9-field input,.v9-field select{width:100%}
.v9-check{display:flex;align-items:center;gap:9px}.v9-check input{width:auto}.v9-edit{margin:16px 0;max-width:650px}
.v9-table-scroll{width:100%;overflow-x:auto;margin:13px 0 20px;background:white;border-radius:12px;border:1px solid #dce4df}
.v9-table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}.v9-table th,.v9-table td{padding:10px 12px;border-bottom:1px solid #e8eee9;vertical-align:top}
.v9-table th{background:#eaf1ed;white-space:nowrap}.v9-table tr:last-child td{border-bottom:0}.v9-table tr:hover td{background:#fcfefc}
.v9-actions{display:flex;gap:6px;flex-wrap:wrap}.v9-filter{max-width:300px}.v9-days{display:flex;gap:4px}.v9-day{width:26px;height:27px;display:inline-flex;justify-content:center;align-items:center;border-radius:7px;background:#e8eeeb;color:#8da09a;font-size:12px}.v9-day.completed{background:#c9eddb;color:#145c42;font-weight:800}
.v9-detail{margin:18px 0;scroll-margin-top:30px}.v9-graph{margin-bottom:22px}.v9-bar-row{display:grid;grid-template-columns:98px 1fr 148px;gap:9px;align-items:center;font-size:12px;margin:9px 0}.v9-bar-track{height:13px;background:#eaf0ed;border-radius:99px;overflow:hidden}.v9-bar{height:100%;background:#27957e;border-radius:99px}
@media(max-width:650px){.v9-bar-row{grid-template-columns:76px 1fr 93px}.v9-tabs button{font-size:12px}}
