*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:#f3f6fb;color:#182235}header{background:linear-gradient(135deg,#071c37,#185da9);color:#fff;padding:22px 5vw;position:sticky;top:0;z-index:4}h1{margin:4px 0}nav{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}button{cursor:pointer}nav button{padding:9px 12px;border:1px solid #ffffff44;background:#ffffff18;color:white;border-radius:8px}main{max-width:1160px;margin:auto;padding:24px}.page{display:none}.page.on{display:block}.card{background:white;padding:21px;border-radius:15px;box-shadow:0 5px 18px #16345b14;margin-bottom:15px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px}.pill{display:inline-block;padding:5px 9px;border-radius:20px;background:#e7effb;color:#174d8d;font-size:12px;font-weight:bold}.tip{background:#edf4ff;border-left:4px solid #1756a9;padding:11px;margin:10px 0}.trap{background:#fff0f0;border-left:4px solid #c43b43;padding:11px;margin:10px 0}.q{border-top:1px solid #e4eaf2;padding:13px 0}.choice{padding:8px 11px;margin:7px 5px 0 0;border:1px solid #c5d0de;background:#fff;border-radius:8px}.choice.sel{outline:2px solid #1756a9}.fb{display:none;padding:9px;border-radius:8px;margin-top:8px}.ok{background:#e7f7ed}.bad{background:#fdebec}.primary{background:#1756a9;color:white;border:0;border-radius:9px;padding:10px 14px}.tabs button{border:1px solid #c7d2df;background:#fff;padding:8px 10px;border-radius:8px;margin:4px}.model{display:none;background:#f8fafc;padding:13px;border-radius:9px;margin-top:9px}.model.show{display:block}textarea{width:100%;min-height:230px;padding:13px;border:1px solid #c5d0de;border-radius:9px;font:inherit}.word{border-bottom:1px solid #e8edf3;padding:11px 0}.progress{height:9px;background:#e6ebf2;border-radius:9px;overflow:hidden}.bar{height:100%;background:#1756a9;width:0}.small{font-size:13px;color:#66758a}input[type=search]{width:100%;padding:11px;border:1px solid #c5d0de;border-radius:9px}.timer{font-size:24px;font-weight:bold;position:sticky;top:118px;background:#fff3cd;padding:10px;border-radius:10px;z-index:3}.examnav{display:grid;grid-template-columns:repeat(10,1fr);gap:5px;margin:12px 0}.examnav span{padding:7px;text-align:center;background:#e8edf4;border-radius:6px}.examnav span.done{background:#dcecff}.result{font-size:22px;font-weight:bold;padding:15px;background:#eef4ff;border-radius:10px;margin:12px 0}@media(max-width:650px){.examnav{grid-template-columns:repeat(5,1fr)}.timer{top:150px}}.chartwrap{height:360px;position:relative;margin:18px 0}.overview-builder label{display:block;padding:7px 0}.overview-result{padding:12px;border-radius:9px;margin-top:10px;background:#f5f7fa}.modelanswer{display:none;line-height:1.7;background:#f8fafc;padding:15px;border-radius:10px}.modelanswer.show{display:block}.sentence-note{padding:8px;border-left:3px solid #1756a9;margin:7px 0;background:#f4f8fe}.charttabs button{padding:8px 10px;border:1px solid #c5d0de;background:#fff;border-radius:8px;margin:4px}.charttabs button.active{background:#1756a9;color:#fff}.datatable{border-collapse:collapse;width:100%;margin:15px 0}.datatable th,.datatable td{border:1px solid #cbd5e1;padding:10px;text-align:center}.datatable th{background:#edf4ff}.processflow{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:18px 0}.step{background:#edf4ff;border:1px solid #b8c9df;border-radius:10px;padding:12px}.arrow{font-weight:bold}.mapsgrid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.mapbox{min-height:230px;border:2px solid #9eb4cc;border-radius:12px;padding:15px;background:#f7fafc}.mapitem{background:white;border:1px solid #ccd7e3;border-radius:8px;padding:10px;margin:8px}.ladder{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.ladder>div{padding:12px;border-radius:10px;background:#f7f9fc}.ladder h4{margin-top:0}@media(max-width:760px){.ladder,.mapsgrid{grid-template-columns:1fr}}.plannergrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.plannergrid textarea{min-height:90px}.thesisbox{padding:12px;background:#edf4ff;border-radius:9px;margin:8px 0}.paragraph-builder{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.pb{padding:11px;background:#f7f9fc;border:1px solid #d8e1eb;border-radius:9px}.criteria{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.criteria div{padding:10px;border-radius:8px;background:#f1f5f9}.tasktimer{font-weight:bold;font-size:22px;background:#fff3cd;padding:9px;border-radius:8px;display:inline-block}@media(max-width:760px){.plannergrid,.paragraph-builder,.criteria{grid-template-columns:1fr}}
.mockhead{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}
.bigclock{font-size:30px;font-weight:800;background:#fff3cd;padding:10px 15px;border-radius:10px}
.mockstep{display:none}.mockstep.on{display:block}
.scoregrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.metric{background:#f4f7fb;border-radius:12px;padding:16px;text-align:center}.metric b{font-size:25px;display:block}
.teacherbox{border:1px solid #ccd7e3;border-radius:10px;padding:12px;margin:8px 0}
.historyrow{display:grid;grid-template-columns:1.2fr .7fr .7fr .7fr;gap:8px;padding:9px;border-bottom:1px solid #e5eaf0}
@media(max-width:720px){.scoregrid{grid-template-columns:1fr}.historyrow{grid-template-columns:1fr}}

.loginbox{max-width:620px;margin:20px auto}.field{margin:10px 0}.field label{display:block;font-weight:700;margin-bottom:5px}.field input{width:100%;padding:11px;border:1px solid #c8d3df;border-radius:8px}
.studentcard{display:grid;grid-template-columns:1fr auto;gap:15px;align-items:center}.badge{padding:7px 10px;border-radius:20px;background:#e7effb;color:#174d8d;font-weight:700}
.report{background:white;padding:28px;border:1px solid #dbe3ec;border-radius:14px}.report h2{text-align:center}.reportline{display:flex;justify-content:space-between;border-bottom:1px solid #e5eaf0;padding:9px 0}
.studentrow{display:grid;grid-template-columns:1.3fr .8fr .8fr .8fr auto;gap:8px;align-items:center;padding:10px;border-bottom:1px solid #e5eaf0}
@media(max-width:760px){.studentcard,.studentrow{grid-template-columns:1fr}}
@media print{header,nav,.noprint{display:none!important}body{background:white}.page{display:none!important}#report.page.on{display:block!important}main{max-width:none;padding:0}.report{border:0;box-shadow:none}}

.adminstats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.adminstat{padding:16px;background:#f4f7fb;border-radius:12px;text-align:center}.adminstat b{font-size:25px;display:block}
.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.danger{background:#a92b35!important}.backupbox{background:#f8fafc;border:1px solid #d7e0ea;border-radius:10px;padding:12px}
@media(max-width:760px){.adminstats{grid-template-columns:1fr 1fr}}

.fullbooknav{position:sticky;top:0;background:#fff;padding:10px;border-bottom:1px solid #dbe3ec;z-index:5}
.bookblock{max-width:920px;margin:auto}.bookblock h2,.bookblock h3{margin-top:26px}.bookimg{max-width:100%;height:auto;display:block;margin:18px auto;border:1px solid #d8e0e8;border-radius:10px}
.booktable{border-collapse:collapse;width:100%;margin:14px 0}.booktable td,.booktable th{border:1px solid #d5dde6;padding:7px;vertical-align:top}
.visualgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.visualcard{border:1px solid #d7e0e8;border-radius:12px;padding:12px;background:white}.visualcard img{width:100%;height:auto}
.searchhit{background:#fff3a6}.authorline{font-weight:800;font-size:18px}
@media(max-width:760px){.visualgrid{grid-template-columns:1fr}}

.taskmodelcard{max-width:950px;margin:22px auto;padding:22px;background:#fff;border:1px solid #d8e0e8;border-radius:14px}
.taskvis{display:block;width:min(100%,820px);height:auto;margin:18px auto;border:1px solid #d8e0e8;border-radius:10px}
.twovis{display:grid;grid-template-columns:1fr 1fr;gap:12px}.twovis img{width:100%;border:1px solid #d8e0e8;border-radius:10px}
.processvis{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap;margin:20px 0}.processvis span{padding:12px;border:1px solid #bbc8d5;border-radius:9px;background:#f7fafc}
@media(max-width:700px){.twovis{grid-template-columns:1fr}}

#writingExpansion textarea{width:100%;min-height:220px;padding:12px;border:1px solid #cbd6e2;border-radius:8px}.qbox{padding:14px;margin:12px 0;border:1px solid #dde5ed;border-radius:10px}.passage{line-height:1.7;padding:15px;background:#f8fafc;border-radius:10px;margin:12px 0}

#practiceLibrary textarea{width:100%;min-height:230px;padding:12px;border:1px solid #cbd6e2;border-radius:8px}
.level-foundation{border-left:5px solid #73869a}.level-intermediate{border-left:5px solid #566d84}.level-advanced{border-left:5px solid #33495e}

.modeldetail{padding:12px;margin:10px 0;border:1px solid #d8e1ea;border-radius:10px}.modeldetail summary{font-weight:800;cursor:pointer}

.modelvisualwrap{margin:16px 0;padding:12px;background:#f7fafc;border:1px solid #d7e1ea;border-radius:12px}
.modelvisual{display:block;width:min(100%,820px);height:auto;margin:auto;border-radius:8px}
.essayflow{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap;margin:18px 0;padding:15px;background:#f7fafc;border:1px solid #d7e1ea;border-radius:12px}
.essayflow span{min-width:150px;text-align:center;padding:13px;border:1px solid #bfcbd7;border-radius:9px;background:white;font-weight:800}
.essayflow small{font-weight:400}
