:root{--bg:#f3f6f8;--card:#fff;--text:#14202c;--muted:#70808e;--line:#e3e9ec;--primary:#0f766e;--primary2:#15988c;--deep:#123f48;--good:#138a5b;--bad:#d34f4f;--warn:#c58416;--shadow:0 12px 34px rgba(18,63,72,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}button,input,select,textarea{font:inherit}button,a{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}.hidden{display:none!important}.full{width:100%}.center{text-align:center}.pill,.tag{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:12px;background:#edf5f4;color:var(--primary)}
.login-view{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:70px;padding:7vw;background:radial-gradient(circle at 18% 20%,rgba(61,203,186,.28),transparent 30%),linear-gradient(135deg,#0e4850,#0d766d 58%,#1aa093);color:#fff}.login-brand{display:flex;align-items:center;gap:22px}.login-brand h1{font-size:58px;margin:4px 0}.login-brand p,.login-brand span{opacity:.8}.logo{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,#d8fff9,#93e7dc);color:#0f655e;font-weight:900;font-size:25px;box-shadow:0 9px 24px rgba(0,0,0,.12)}.logo.large{width:100px;height:100px;border-radius:30px;font-size:52px}.login-card{background:#fff;color:var(--text);border-radius:28px;padding:34px;box-shadow:0 30px 80px rgba(0,0,0,.2);max-width:480px;width:100%}.login-intro h2{font-size:30px;margin:14px 0 5px}.login-intro p{color:var(--muted);line-height:1.7}.login-card label,.modal label,.form-card label,.filter-card label,.card>label{display:block;margin:14px 0;color:#52616d;font-size:13px}.login-card input,.modal input,.modal select,.modal textarea,.form-card input,.form-card select,.filter-card input,.filter-card select,.card>label select{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--text);margin-top:7px;outline:none}.login-card input:focus,.modal input:focus,.modal select:focus,.modal textarea:focus,.form-card input:focus,.form-card select:focus,.filter-card input:focus,.filter-card select:focus{border-color:#62bdb4;box-shadow:0 0 0 3px rgba(21,152,140,.1)}.demo-account{margin-top:16px;background:#f4f8f8;border-radius:12px;padding:12px;color:var(--muted);font-size:12px;line-height:1.7}
.primary,.soft,.glass,.text-btn,.close,.side-foot button,.history-actions button{border:0;border-radius:11px;padding:11px 15px;font-weight:700}.primary{color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary2));box-shadow:0 8px 20px rgba(15,118,110,.2)}.soft{background:#eef5f4;color:var(--primary);border:1px solid #dbeae8;text-decoration:none}.glass{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);color:#fff}.text-btn{background:transparent;color:var(--primary);padding:7px}.close{font-size:25px;background:transparent;color:var(--muted);padding:3px 8px}.button-row,.hero-actions,.paper-toolbar,.top-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.app-shell{min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:235px;background:#103f47;color:#fff;padding:22px 16px;display:flex;flex-direction:column;z-index:30}.side-brand{display:flex;align-items:center;gap:12px;padding:2px 8px 25px}.side-brand b{display:block;font-size:19px}.side-brand small{display:block;opacity:.65;margin-top:3px}.side-nav{display:grid;gap:6px}.side-nav button{display:flex;align-items:center;gap:13px;border:0;background:transparent;color:rgba(255,255,255,.72);padding:13px 14px;border-radius:12px;text-align:left}.side-nav button span{font-size:19px;width:22px}.side-nav button.active,.side-nav button:hover{background:rgba(255,255,255,.12);color:#fff}.side-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding:16px 8px 0}.side-foot small,.side-foot b{display:block}.side-foot b{margin:5px 0 10px}.side-foot button{padding:0;background:transparent;color:#aee9e2}.workspace{margin-left:235px}.topbar{height:82px;position:sticky;top:0;z-index:20;background:rgba(243,246,248,.9);backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:space-between;padding:12px 30px;border-bottom:1px solid rgba(227,233,236,.7)}.topbar h1{font-size:22px;margin:3px 0}.topbar small{color:var(--muted)}.status{font-size:12px;padding:7px 10px;border-radius:999px}.status.online{background:#e6f7ef;color:var(--good)}.status.offline{background:#fff2e2;color:#a5640b}.user-chip{width:38px;height:38px;border-radius:50%;background:var(--deep);color:#fff;display:grid;place-items:center;font-weight:800}
main{padding:24px 30px 100px;max-width:1450px;margin:auto}.page{display:none}.page.active{display:block}.hero{border-radius:25px;background:radial-gradient(circle at 85% 20%,rgba(119,255,236,.22),transparent 27%),linear-gradient(135deg,#123f48,#0f766e);color:#fff;padding:34px 40px;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow);overflow:hidden}.hero h2{font-size:31px;max-width:700px;line-height:1.38;margin:12px 0}.hero p{max-width:740px;line-height:1.75;opacity:.82}.eyebrow{font-size:12px;letter-spacing:2px;opacity:.8}.hero-orb{width:145px;height:145px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;align-content:center;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);box-shadow:inset 0 0 40px rgba(255,255,255,.08)}.hero-orb b{font-size:47px}.hero-orb span{font-size:12px;opacity:.75}.stats{display:grid;grid-template-columns:repeat(6,1fr);gap:13px;margin:17px 0}.stat,.summary-strip>div{background:#fff;border:1px solid var(--line);border-radius:17px;padding:16px;box-shadow:var(--shadow)}.stat span,.summary-strip span{display:block;color:var(--muted);font-size:12px}.stat b,.summary-strip b{display:block;font-size:26px;margin-top:7px}.stat i{font-size:11px;color:var(--muted);font-style:normal}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:15px}.card,.filter-card,.report-area{background:var(--card);border:1px solid var(--line);border-radius:19px;padding:19px;box-shadow:var(--shadow);margin-bottom:15px}.card-head,.page-head,.modal-head,.step-title{display:flex;align-items:center;justify-content:space-between;gap:13px}.card-head h3,.page-head h2,.modal-head h3,.step-title h3{margin:0}.card-head p,.page-head p,.modal-head p,.step-title p{margin:5px 0 0;color:var(--muted);font-size:13px}.page-head{margin-bottom:15px}.page-head h2{font-size:25px}.stack{display:grid;gap:9px}.item{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff}.avatar{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;background:#e9f5f3;color:var(--primary);font-weight:900;flex:0 0 auto}.grow{flex:1;min-width:0}.grow b{display:block}.sub{font-size:12px;color:var(--muted);margin-top:5px;line-height:1.5}.empty{padding:28px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:14px;background:#fafcfc}.student-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.student-card{background:#fff;border:1px solid var(--line);border-radius:19px;padding:18px;box-shadow:var(--shadow)}.student-title{display:flex;align-items:center;gap:11px}.student-title h3{margin:0}.student-title p{margin:4px 0;color:var(--muted);font-size:12px}.student-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.student-metrics div{background:#f5f8f8;border-radius:11px;padding:10px;text-align:center}.student-metrics b{display:block;font-size:19px}.student-metrics span{font-size:11px;color:var(--muted)}.card-actions{display:flex;gap:8px}.card-actions button{flex:1;border:0;border-radius:10px;padding:9px;background:#f0f5f5;color:var(--primary)}.card-actions button.danger{color:var(--bad);background:#fff1f1}.filter-card{display:flex;gap:10px;align-items:end}.filter-card label{margin:0;flex:1}.filter-card select{min-width:145px;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff}.search{display:flex!important;align-items:center;border:1px solid var(--line);border-radius:12px;padding:0 11px;background:#fff}.search input{border:0!important;box-shadow:none!important;margin:0!important}.search span{color:var(--muted);font-size:20px}.search.wide{flex:2}.question-filters{flex-wrap:wrap}.summary-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}.question-card{align-items:flex-start}.question-main{line-height:1.65;margin-top:7px}.question-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.question-actions{display:flex;gap:5px}.question-actions button{border:0;background:#f0f5f5;color:var(--primary);border-radius:9px;padding:7px 9px}.question-actions button:last-child{color:var(--bad)}
.form-card{padding:22px}.step-title{justify-content:flex-start;margin-bottom:15px}.step-title>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff;font-weight:800}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 13px}.form-grid.three{grid-template-columns:repeat(3,1fr)}.paper-toolbar{justify-content:flex-end;margin:16px 0}.paper-sheet{background:#fff;border:1px solid #dfe3e5;border-radius:7px;padding:35px 45px;min-height:900px;box-shadow:var(--shadow);margin-bottom:16px}.paper-brand{text-align:center;font-weight:800;color:var(--primary);letter-spacing:4px}.paper-sheet h2{text-align:center;margin:8px 0}.paper-sub{text-align:center;color:#555;font-size:13px}.paper-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;border-top:1px solid #333;border-bottom:1px solid #333;padding:11px 0;margin:20px 0}.paper-question{line-height:1.8;margin:20px 0}.options{display:grid;gap:5px;margin:6px 0 0 18px}.answer-lines i{display:block;height:30px;border-bottom:1px solid #aaa}.history-actions button{background:#edf5f4;color:var(--primary)}.paper-info{background:#f5f8f8;border-radius:12px;padding:13px;margin:10px 0 14px;color:var(--muted);line-height:1.7}.grading-cols{align-items:start}.upload-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.upload-zone{position:relative;border:1.5px dashed #97c9c3;border-radius:16px;background:#f4fbfa;padding:22px 12px!important;text-align:center;color:var(--text)!important}.upload-zone input{position:absolute;inset:0;opacity:0;cursor:pointer}.upload-zone span,.upload-zone b,.upload-zone small{display:block}.upload-zone span{font-size:31px}.upload-zone small{color:var(--muted);margin-top:7px}.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}.photo-grid figure{margin:0;position:relative;aspect-ratio:3/4}.photo-grid img{width:100%;height:100%;object-fit:cover;border-radius:10px;border:1px solid var(--line)}.photo-grid button{position:absolute;right:5px;top:5px;border:0;border-radius:50%;background:rgba(0,0,0,.65);color:#fff;width:25px;height:25px}.tip{font-size:12px;color:var(--muted);line-height:1.6}.grade-row{border:1px solid var(--line);border-radius:14px;padding:13px;margin-bottom:10px}.grade-row-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.grade-row-head label{margin:0;display:flex;align-items:center;gap:6px}.grade-fields{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px;margin-top:9px}.grade-fields input,.grade-fields select{margin:0!important}.report-header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:16px;border-bottom:1px solid var(--line)}.report-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin:15px 0}.metric{background:#f5f8f8;border-radius:14px;padding:15px}.metric span{font-size:12px;color:var(--muted)}.metric b{display:block;font-size:26px;margin-top:6px}.advice{padding:15px;border-left:4px solid var(--primary);background:#edf8f6;border-radius:0 12px 12px 0;line-height:1.7}.progress{height:9px;background:#e9eeee;border-radius:999px;overflow:hidden;margin-top:7px}.progress i{height:100%;display:block;background:linear-gradient(90deg,var(--primary),#4bd1bf)}.good{color:var(--good)!important}.bad{color:var(--bad)!important}.warn{color:var(--warn)!important}.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.setting-icon{font-size:32px}.code-line{font-family:ui-monospace,monospace;background:#f5f8f8;border-radius:10px;padding:10px;font-size:12px}.generated-preview{margin-top:14px;max-height:420px;overflow:auto}.generated-item{border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:8px}.answer-item{border-bottom:1px solid var(--line);padding:13px 0}.answer-item p{color:var(--muted);line-height:1.6}.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,20px);padding:11px 17px;border-radius:12px;background:#17272a;color:#fff;opacity:0;pointer-events:none;transition:.25s;z-index:100}.toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:0;border-radius:22px;padding:0;max-width:none;box-shadow:0 30px 80px rgba(0,0,0,.22)}dialog::backdrop{background:rgba(5,27,30,.52);backdrop-filter:blur(4px)}.modal{width:min(92vw,590px);padding:22px}.wide-modal{width:min(94vw,900px)}.modal textarea{width:100%;min-height:90px;padding:12px;border:1px solid var(--line);border-radius:12px;resize:vertical}.bottom-nav{display:none}
@media(max-width:1100px){.stats{grid-template-columns:repeat(3,1fr)}.student-grid{grid-template-columns:repeat(2,1fr)}.hero-orb{display:none}}
@media(max-width:760px){.login-view{display:block;padding:22px;min-height:100vh}.login-brand{margin:35px 0 28px}.login-brand h1{font-size:35px}.logo.large{width:68px;height:68px;border-radius:20px;font-size:35px}.login-card{padding:22px;border-radius:22px}.sidebar{display:none}.workspace{margin:0}.topbar{height:72px;padding:10px 16px}.topbar .soft,.status{display:none}.topbar h1{font-size:19px}main{padding:16px 13px 95px}.hero{padding:24px 20px;border-radius:20px}.hero h2{font-size:24px}.stats{grid-template-columns:repeat(2,1fr);gap:9px}.stat{padding:13px}.two-col,.student-grid,.settings-grid{grid-template-columns:1fr}.page-head{align-items:flex-start}.page-head .button-row{justify-content:flex-end}.filter-card{display:grid;grid-template-columns:1fr 1fr}.filter-card .search{grid-column:1/-1}.question-filters{grid-template-columns:1fr 1fr}.summary-strip{grid-template-columns:repeat(3,1fr);gap:7px}.summary-strip>div{padding:11px}.summary-strip b{font-size:20px}.form-grid,.form-grid.three{grid-template-columns:1fr}.paper-sheet{padding:22px 18px;min-height:700px}.paper-meta{grid-template-columns:1fr 1fr;font-size:12px}.upload-actions{grid-template-columns:1fr 1fr}.upload-zone{padding:18px 8px!important}.photo-grid{grid-template-columns:repeat(3,1fr)}.grade-fields{grid-template-columns:1fr}.report-header{align-items:flex-start}.report-metrics{grid-template-columns:1fr 1fr}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:40;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(7,1fr);padding:8px 2px calc(8px + env(safe-area-inset-bottom))}.bottom-nav button{border:0;background:transparent;color:#849094;padding:2px 0}.bottom-nav button span,.bottom-nav button small{display:block}.bottom-nav button span{font-size:18px}.bottom-nav button small{font-size:9px;margin-top:2px}.bottom-nav button.active{color:var(--primary);font-weight:800}.modal{padding:18px}.paper-toolbar{position:sticky;top:74px;background:var(--bg);z-index:5;padding:8px 0}.button-row .soft,.button-row .primary{padding:9px 10px;font-size:12px}.question-actions{flex-direction:column}}
@media print{body{background:#fff}.sidebar,.topbar,.bottom-nav,.paper-toolbar,.page-head,.filter-card,.form-card,.card:not(.print-card){display:none!important}.workspace{margin:0}main{padding:0}.page{display:none!important}#papers.page.active,#reports.page.active{display:block!important}.paper-sheet,.report-area{border:0;box-shadow:none;padding:8mm;margin:0}.paper-sheet{min-height:auto}.report-area{display:block}}

/* v4.0 实用增强版 */
.security-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff5df;border:1px solid #f1d49b;color:#7b5310;border-radius:15px;padding:12px 15px;margin-bottom:15px}.security-banner div{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.security-banner span{font-size:13px}.security-banner button{border:0;border-radius:10px;padding:8px 12px;background:#8a5b0b;color:#fff;font-weight:700}.clickable{cursor:pointer}.clickable:hover{border-color:#a8d4cf;transform:translateY(-1px)}.student-note{min-height:38px}.card-actions button.strong{background:var(--primary);color:#fff}.settings-wide{grid-column:1/-1}.settings-wide form>label,.settings-wide form .form-grid label{display:block;margin:12px 0;color:#52616d;font-size:13px}.settings-wide input,.settings-wide select{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:11px;background:#fff;margin-top:7px}.restore-picker{display:block;margin:12px 0 8px!important;border:1px dashed #abc9c5;border-radius:12px;padding:11px;color:var(--muted)!important}.restore-picker input{display:block;width:100%;margin-top:8px}.profile-modal{width:min(94vw,980px)}.profile-hero{display:flex;align-items:center;gap:15px;padding:18px;background:linear-gradient(135deg,#edf8f6,#f8fbfb);border:1px solid var(--line);border-radius:17px}.profile-hero h2{margin:0 0 5px}.profile-hero p{margin:0;color:var(--muted)}.profile-hero small{display:block;margin-top:7px;color:var(--muted)}.avatar.big{width:62px;height:62px;border-radius:18px;font-size:27px}.report-metrics.compact{margin:13px 0}.subject-profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.subject-profile{border:1px solid var(--line);border-radius:14px;padding:14px;text-align:left;background:#fff}.subject-profile:hover{border-color:#92c9c2;background:#f7fbfa}.subject-profile span,.subject-profile b,.subject-profile small{display:block}.subject-profile span{color:var(--muted);font-size:12px}.subject-profile b{font-size:25px;margin:5px 0;color:var(--primary)}.subject-profile small{color:var(--muted)}.paper-code{text-align:right;font-size:11px;color:#777;margin-top:-15px}.paper-note{background:#f5f8f8;border:1px solid var(--line);border-radius:10px;padding:9px 11px;font-size:12px;color:#63727d;margin:-8px 0 18px}.paper-footer{text-align:center;border-top:1px solid #bbb;padding-top:12px;margin-top:34px;color:#777;font-size:12px;letter-spacing:1px}.danger{color:var(--bad)!important}.stats{grid-template-columns:repeat(7,1fr)}
@media(max-width:1200px){.stats{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.security-banner{align-items:flex-start}.security-banner div{display:block}.security-banner span{display:block;margin-top:4px}.settings-wide{grid-column:auto}.subject-profile-grid{grid-template-columns:1fr 1fr}.profile-hero{align-items:flex-start;flex-wrap:wrap}.profile-hero .primary{width:100%}.paper-code{text-align:center;margin:5px 0}.stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:420px){.subject-profile-grid{grid-template-columns:1fr}.card-actions{display:grid;grid-template-columns:1fr 1fr}.card-actions button{width:100%}}
@media print{.security-banner,.paper-note{display:none!important}.paper-code{display:block!important}.paper-footer{display:block!important}}

/* v6.2 全学段与AI复核 */
.profile-actions{display:flex;flex-direction:column;gap:8px;min-width:150px}.ai-review-row{border:1px solid var(--line);border-radius:14px;padding:13px;margin:10px 0;background:#fbfdfd}.ai-review-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.ai-review-head label{margin:0;display:flex;align-items:center;gap:6px}.ai-confirm-actions{justify-content:flex-end;margin-top:15px}.ai-confirm-actions button{min-width:180px}.ai-review-row .grade-fields:last-child{grid-template-columns:1fr 1fr auto;align-items:center}
@media(max-width:760px){.profile-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.profile-actions .primary{width:auto}.ai-confirm-actions button{width:100%;min-width:0}.ai-review-row .grade-fields:last-child{grid-template-columns:1fr}}

/* v6.6 可打印批改详情 */
.grading-student-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;border-top:1px solid #333;border-bottom:1px solid #333;padding:11px 0;margin:20px 0;font-size:13px}.grading-detail-row{border-top:1px solid #ccd5d8;padding:16px 0;line-height:1.7}.grading-detail-row p{margin:7px 0}.grading-detail-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.grading-answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:#f7f9f9;padding:9px 12px;border-radius:9px}.grading-explanation{color:#52616d}.grading-weak{border:1px solid #f0d3a2;background:#fff8e9;border-radius:10px;padding:11px}.grading-signatures{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:28px 0 18px;padding-top:18px;border-top:1px solid #aaa;font-size:13px}
@media(max-width:760px){.grading-student-meta,.grading-signatures{grid-template-columns:1fr 1fr}.grading-answer-grid{grid-template-columns:1fr}.grading-detail-head{align-items:flex-start}}
@media print{#grading.page.active{display:block!important}#grading .two-col,#gradingResultCard{display:none!important}#gradingPrintWrap{display:block!important}.grading-print-sheet{border:0;box-shadow:none;padding:8mm;margin:0}.grading-detail-row{break-inside:avoid}.grading-print-metrics .metric{border:1px solid #dfe3e5}.grading-signatures{margin-top:14mm}}

/* v6.9 外部试卷AI批改 */
.external-grading-card{margin-top:24px;border-top:4px solid var(--primary)}.external-meta-grid,.external-review-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.external-meta-grid label,.external-answer-key,.external-review-grid label,.external-wide-field{display:block;color:#52616d;font-size:13px}.external-meta-grid input,.external-meta-grid select,.external-answer-key textarea,.external-review-grid input,.external-review-grid select,.external-wide-field input,.summary-editor{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--text);margin-top:7px;outline:none}.external-answer-key textarea,.summary-editor{min-height:88px;resize:vertical}.external-upload-cols{margin:14px 0}.external-upload-cols>div{background:#f9fbfb;border:1px solid var(--line);border-radius:16px;padding:14px}.external-upload-cols h4{margin:0}.external-upload-cols .photo-grid{grid-template-columns:repeat(4,1fr)}.external-review-row>p{line-height:1.65}.external-wide-field{margin-top:9px}.recognition-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:10px}.external-draft-mark{margin:15px 0;padding:12px;border:2px solid #d49a35;color:#82560c;text-align:center;font-weight:800;border-radius:10px;background:#fff7e7}
@media(max-width:900px){.external-meta-grid,.external-review-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.external-meta-grid,.external-review-grid{grid-template-columns:1fr}.external-upload-cols>div{padding:12px}.external-upload-cols .photo-grid{grid-template-columns:repeat(3,1fr)}}
@media print{body.print-external #gradingPrintWrap{display:none!important}body.print-external #externalPrintWrap{display:block!important}body.print-external .external-draft-mark{display:block!important}body:not(.print-external) #externalPrintWrap{display:none!important}}

/* v6.13 学生历史试卷摸底评测 */
.diagnostic-callout{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0;padding:16px 18px;border:1px solid #b9ddd8;border-radius:16px;background:linear-gradient(135deg,#eefaf8,#f9fcfc)}.diagnostic-callout p{margin:6px 0 0;color:var(--muted);line-height:1.6}.diagnostic-subject{border-top:2px solid #dbe9e7;padding:18px 0}.diagnostic-subject h3,.diagnostic-subject h4{margin-top:8px}.diagnostic-subject li{margin:7px 0;line-height:1.6}.diagnostic-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.diagnostic-columns>div{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fafcfc}
@media(max-width:760px){.diagnostic-callout{align-items:flex-start;flex-direction:column}.diagnostic-callout .button-row{width:100%}.diagnostic-callout button{flex:1}.diagnostic-columns{grid-template-columns:1fr}}

/* v6.17 实时课程进度与A4试卷 */
.teaching-progress-summary{margin:15px 0;padding:14px 16px;border:1px solid #b9ddd8;border-radius:14px;background:#f1faf8}.teaching-progress-summary>div:first-child{display:flex;justify-content:space-between;gap:12px}.teaching-progress-summary p{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.6}.progress-history{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:9px 0 16px;max-height:190px;overflow:auto}.progress-history-item{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:#fafcfc}.progress-history-item b{font-size:13px}.progress-history-item span,.progress-history-item small{font-size:12px;color:var(--muted);line-height:1.4}.a4-toolbar{padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:#fff}.print-option{display:flex!important;align-items:center;gap:8px;margin:0!important;color:#52616d;font-size:12px}.print-option select{width:auto!important;margin:0!important;padding:9px 11px!important}.paper-print-sheet{width:min(100%,210mm);margin:0 auto 18px;padding:15mm 14mm;min-height:297mm;color:#111;font-family:"Songti SC","SimSun","Noto Serif CJK SC",serif}.paper-print-sheet .paper-header{break-inside:avoid}.paper-print-sheet .paper-brand{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}.paper-print-sheet .paper-code{margin:-14px 0 3px}.paper-print-sheet h2{font-size:22px;letter-spacing:1px}.paper-print-sheet .paper-sub{font-size:12px}.paper-print-sheet .paper-meta{grid-template-columns:repeat(4,1fr);gap:5px 12px;margin:13px 0 10px;padding:8px 0;font-size:12px}.paper-instructions{padding:7px 9px;border:1px solid #aaa;background:#fafafa;font-size:11px;line-height:1.5;margin-bottom:10px}.paper-print-sheet .paper-note{display:block;margin:0 0 12px;padding:6px 8px;border-radius:4px;border-color:#bbb;background:#fff;font-size:10px;color:#444}.paper-question-list{counter-reset:paper-question}.paper-question{margin:0 0 8mm;padding:0 0 2mm;line-height:1.65;break-inside:avoid;page-break-inside:avoid;orphans:3;widows:3}.paper-question-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:2mm}.paper-question-head b{font-size:14px}.paper-question-head span{white-space:nowrap;padding:1px 7px;border:1px solid #999;border-radius:999px;font-size:10px;color:#444}.paper-stem{font-size:13.5px;white-space:pre-wrap}.paper-print-sheet .options{grid-template-columns:1fr 1fr;gap:2mm 8mm;margin:2mm 0 1mm 5mm;font-size:13px}.paper-print-sheet .options span{break-inside:avoid}.answer-lines{margin-top:2mm}.answer-lines i{display:block;height:9mm;border-bottom:1px solid #aaa}.density-compact .answer-lines i{height:7mm}.density-roomy .answer-lines i{height:11mm}.paper-print-sheet .paper-footer{margin-top:9mm;padding-top:3mm;font-size:10px}.teacher-answer-sheet{break-before:page;page-break-before:always;padding-top:5mm}.teacher-answer-sheet h2{text-align:center}.teacher-answer-warning{text-align:center;border:1px solid #b45309;background:#fff7ed;color:#9a3412;padding:7px;margin:10px 0 16px;font-weight:700}.teacher-answer-row{break-inside:avoid;border-bottom:1px solid #ccc;padding:9px 0;font-size:12px}.teacher-answer-row p{margin:5px 0;line-height:1.55;color:#444}
@media(max-width:760px){.progress-history{grid-template-columns:1fr}.a4-toolbar{position:static;align-items:stretch}.a4-toolbar .print-option{width:100%;justify-content:space-between}.a4-toolbar button{flex:1}.paper-print-sheet{width:100%;min-height:auto;padding:20px 16px}.paper-print-sheet .paper-meta{grid-template-columns:1fr 1fr}.paper-print-sheet .options{grid-template-columns:1fr}.paper-question-head{display:block}.paper-question-head span{display:inline-block;margin-top:4px}}
@page{size:A4 portrait;margin:12mm 13mm 14mm}
@media print{html,body{width:210mm;background:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-paper-document{font-size:11pt}.print-paper-document .print-document-main{width:auto!important;margin:0!important}.paper-print-sheet{display:block!important;width:auto!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}.paper-print-sheet .paper-note{display:block!important}.paper-print-sheet .paper-meta{grid-template-columns:repeat(4,1fr)}.paper-question{break-inside:avoid!important;page-break-inside:avoid!important}.paper-question-head span{border-color:#777}.teacher-answer-sheet{break-before:page;page-break-before:always}}

/* v6.18 校外辅导机构教学运营 */
.operations-note{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;margin-bottom:14px;border:1px solid #aad8d1;border-radius:17px;background:linear-gradient(135deg,#eaf9f6,#f8fcfb)}.operations-note div{display:grid;gap:5px}.operations-note b{color:var(--primary);font-size:16px}.operations-note span{color:var(--muted);font-size:13px;line-height:1.6}.operations-stats{grid-template-columns:1.5fr repeat(4,1fr)}.operations-stats>div:first-child b{font-size:17px;line-height:1.35}.operation-row{width:100%;text-align:left;color:var(--text);font:inherit;cursor:pointer}.operation-row:hover{border-color:#9dccC5;background:#f8fcfb}.operation-row-end{display:grid;justify-items:end;gap:6px}.operation-row-end small{font-size:11px;color:var(--muted)}.class-detail-actions{justify-content:flex-end;margin:14px 0}.student-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-height:260px;overflow:auto;margin:10px 0 18px;padding:10px;border:1px solid var(--line);border-radius:14px;background:#f8fbfb}.student-picker label{display:flex!important;align-items:center;gap:8px;margin:0!important;padding:10px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--text)!important}.student-picker input{width:auto!important;margin:0!important}.student-picker span,.student-picker b,.student-picker small{display:block}.student-picker small{margin-top:3px;color:var(--muted);font-size:11px}.student-chip-list{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 20px}.student-chip-list button{border:1px solid #b9dcd7;border-radius:999px;padding:8px 11px;background:#eef8f6;color:var(--primary)}.homework-student-row{border:1px solid var(--line);border-radius:15px;padding:14px;background:#fff}.homework-student-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.homework-student-head small{display:block;color:var(--muted);margin-top:4px}.homework-fields{display:grid;grid-template-columns:2fr 1fr 1fr;gap:9px}.homework-student-row label{display:block;margin:10px 0;color:#52616d;font-size:12px}.homework-student-row input,.homework-student-row select,.homework-student-row textarea{width:100%;margin-top:6px;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:#fff}.homework-student-row textarea{min-height:65px;resize:vertical}
@media(max-width:900px){.operations-stats{grid-template-columns:repeat(3,1fr)}.student-picker{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.bottom-nav{grid-template-columns:repeat(8,1fr)}.operations-stats{grid-template-columns:1fr 1fr}.operations-stats>div:first-child{grid-column:1/-1}.operations-grid{grid-template-columns:1fr}.student-picker{grid-template-columns:1fr}.class-detail-actions{display:grid;grid-template-columns:1fr}.homework-fields{grid-template-columns:1fr 1fr}.homework-fields label:first-child{grid-column:1/-1}.operation-row{align-items:flex-start}}

/* v6.19 三端网关与精简布局 */
.portal-account-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:15px 0}.portal-account-card{padding:17px;border:1px solid var(--line);border-radius:15px;background:#fafcfc}.portal-account-card h3{margin:10px 0 3px}.portal-account-card label{display:block;margin:12px 0;color:#52616d;font-size:13px}.portal-account-card input{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;margin-top:6px}.portal-account-card a{display:block;text-align:center;margin-top:11px;color:var(--primary);font-size:12px}.gateway-links{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px;background:#edf8f6;color:var(--primary)}.gateway-links span{font-size:12px}.teacher-gateway .hero,.teacher-gateway .demo-account{display:none}.teacher-gateway main{max-width:1260px}.teacher-gateway #operations .operations-note{padding:13px 16px}.teacher-gateway #operations .operations-stats{margin-bottom:11px}.teacher-gateway #operations .card{margin-bottom:11px}.teacher-gateway .side-nav{gap:4px}.teacher-gateway .side-nav button{padding:11px 14px}
@media(max-width:760px){.portal-account-grid{grid-template-columns:1fr}.gateway-links{align-items:flex-start;flex-direction:column}.teacher-gateway .bottom-nav{grid-template-columns:repeat(6,1fr)}}
