:root{font-family:system-ui,-apple-system,"Noto Sans SC","Microsoft YaHei",sans-serif;color:#193c4e;background:#f3f7f7}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}a{color:#185c77;text-decoration:none}.topbar{display:flex;justify-content:space-between;align-items:center;gap:14px;background:#123a4c;color:#fff;padding:12px max(20px,calc((100vw - 1120px)/2))}.topbar a{color:#fff}.brand{display:flex;align-items:center;gap:12px}.brand img{object-fit:contain;border-radius:50%;background:#fff}.brand strong,.brand small{display:block}.brand small{color:#c2d7dc;font-size:12px}.topbar nav{display:flex;gap:18px;font-size:13px}.shell{max-width:1120px;margin:auto;padding:30px 20px 70px}.intro{display:flex;justify-content:space-between;align-items:start;gap:15px;margin-bottom:23px}.intro h1{font-size:30px;margin:4px 0 8px}.intro p,.hint{font-size:14px;color:#5a7581;line-height:1.7}.eyebrow{font-size:11px;letter-spacing:.12em;font-weight:750;color:#47798c}.week-label{white-space:nowrap;background:#e4edf0;padding:8px 12px;border-radius:20px;font-size:13px}.card{border:1px solid #dbe7ea;border-radius:13px;background:#fff;box-shadow:0 8px 22px #163d4a0a;padding:22px;margin:16px 0}.heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.heading h2{font-size:20px;margin:5px 0 8px}.button{display:inline-block;border:1px solid #b9d1d8;color:#15485d;border-radius:8px;background:#fff;padding:10px 15px;font-weight:700;font-size:13px}.button.primary{background:#13617b;border-color:#13617b;color:#fff}.button:disabled{opacity:.55;cursor:wait}.formline{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:18px 0}.formline label{font-size:13px;color:#405d6d;font-weight:650;flex:1 1 170px}.formline input:not([type=checkbox]),.formline select,.lesson-select{display:block;width:100%;min-height:42px;padding:8px 10px;margin-top:6px;border:1px solid #cbdce2;background:#fff;border-radius:7px;color:#193c4e}.days{min-width:225px;border:0;padding:0;margin:0}.days legend{font-size:13px;color:#405d6d;font-weight:650;margin-bottom:6px}.days div{display:flex;gap:5px}.days label{display:flex;align-items:center;gap:2px;border:1px solid #d4e1e5;border-radius:7px;padding:8px 5px;font-size:12px}.formline .checkline{display:flex;gap:8px;align-items:center;flex:0 0 auto;min-height:42px}.assignment-list{display:grid;gap:9px;margin-top:15px}.assignment{border-top:1px solid #e7eef0;padding:14px 0}.assignment-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.assignment strong{display:block}.assignment small{color:#708895}.assignment-actions{display:flex;gap:7px;flex-wrap:wrap}.assignment-actions button{border:0;background:none;color:#16627d;font-size:13px;padding:5px}.exception-form{display:flex;gap:7px;align-items:end;flex-wrap:wrap;margin:12px 0}.exception-form input{border:1px solid #cbdce2;border-radius:6px;padding:9px;font-size:13px}.exception-list{display:flex;gap:8px;flex-wrap:wrap}.exception-list button{border:1px solid #e6d1b4;border-radius:20px;background:#fff7eb;color:#805923;padding:6px 9px;font-size:12px}.summary{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.summary strong{font-size:28px;color:#ba5b39}.summary .quiet{font-size:24px;color:#277c62}.finding{border-top:1px solid #e5eef0;padding:14px 0;display:grid;gap:6px}.finding:first-child{border-top:0}.finding .meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.chip{display:inline-block;border-radius:15px;padding:3px 9px;background:#fff0e8;color:#a44d30;font-size:11px;font-weight:750}.chip.review{background:#edf5ff;color:#356b9d}.finding p{margin:0;font-size:13px;color:#4d6b77}.finding a{font-size:13px;font-weight:650}.session{border-top:1px solid #e3eef0;padding:16px 0}.session:first-of-type{border:0}.session strong{display:block}.session small{color:#6a8390}.session-row{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.session-row label{flex:1 1 280px;font-size:13px}.session-row button{flex:0 0 auto}.warn{border-left:4px solid #de9c55;background:#fff8ed;padding:10px 13px;border-radius:6px;font-size:13px;color:#775328}.good{color:#267b60}.gate{text-align:center;padding:90px 0}.gate p{color:#627d8a}#message:not(:empty){background:#eaf5f2;color:#19654e;border-radius:7px;padding:11px 13px;margin:12px 0;font-size:13px}#message.error{background:#fff0e9;color:#a74430}@media(max-width:650px){.topbar{padding:12px 16px}.brand strong{font-size:12px}.topbar nav{gap:9px}.shell{padding:20px 12px}.intro{display:block}.week-label{display:inline-block}.card{padding:16px}.assignment-head{display:block}.assignment-actions{margin-top:6px}}
.prepared-check{display:flex;align-items:center;gap:7px;margin-top:13px;font-size:13px;color:#32675b;line-height:1.5}
.days{flex:1 1 310px;min-width:0}
.days div{flex-wrap:wrap}
.days label{flex:0 0 auto;white-space:nowrap}
@media(max-width:650px){.days div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.days label{justify-content:center}}
.setup-card>summary{font-size:16px;font-weight:750;cursor:pointer;color:#204858;padding:2px 0}.setup-card>summary span{float:right;color:#72838a;font-size:12px;font-weight:400}.setup-card[open]>summary{margin-bottom:20px}
[hidden]{display:none!important}#adminView{display:block}
.review-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.review-toolbar .remind{background:#fff5e7;border-color:#ecd1a7;color:#805c22}
.review-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0 20px}.review-stat{background:#f3f7f8;border-radius:11px;padding:16px}.review-stat span{display:block;font-size:12px;color:#6f818a}.review-stat strong{display:block;font-size:28px;color:#204858;margin-top:5px}.review-stat.danger{background:#fff0eb}.review-stat.danger strong{color:#b35034}
.table-scroll{overflow-x:auto;margin:12px 0 22px}.overview-table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}.overview-table th{background:#f1f6f7;color:#57717e;text-align:left;font-size:12px}.overview-table th,.overview-table td{padding:12px 10px;border-bottom:1px solid #e2ecef}.overview-table td:first-child{font-weight:700}.overview-table .text-action{border:0;background:none;font-size:12px;color:#17647a;text-decoration:underline;cursor:pointer;padding:0}
.review-filter{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.review-filter h3{font-size:16px;margin:0}.review-filter select{width:auto;max-width:170px;font-size:13px;min-height:36px;margin:0}
.review-session{border:1px solid #dde7eb;border-radius:10px;margin:9px 0;overflow:hidden}.review-session>summary{cursor:pointer;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px;background:#fbfdfd;font-size:13px;list-style:none}.review-session>summary::after{content:'展开 +';margin-left:auto;color:#70858f;font-size:11px}.review-session[open]>summary::after{content:'收起 −'}.review-session>summary strong{font-size:13px}.review-session .session-content{padding:4px 16px 16px}.review-session .finding{padding:10px 0}.review-session .finding p{margin:5px 0 0}.status-pill{border-radius:5px;padding:4px 8px;font-size:11px;font-weight:700;background:#eef5f3;color:#416f5a}.status-pill[data-status='缺教案']{background:#ffe8df;color:#a8492d}.status-pill[data-status='待修改']{background:#fff0d6;color:#8a5c1e}.status-pill[data-status='待复核']{background:#eef1fc;color:#596697}.status-pill[data-status='已停课']{background:#f0f2f3;color:#6d7b83}
.review-history{border-top:1px solid #e4ecef;margin-top:22px;padding-top:16px}.review-history summary{font-size:12px;color:#68838e;cursor:pointer}.review-history select{max-width:280px;margin-top:12px}.report-note{font-size:12px;color:#6d828c;line-height:1.6}.coach-reminder{background:#fff6e9;border:1px solid #efddc1;border-radius:9px;padding:15px;margin-bottom:14px}.coach-reminder strong{font-size:14px}.coach-reminder p{white-space:pre-wrap;font-size:13px;line-height:1.7;color:#705c42;margin:8px 0}.coach-check-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
@media(min-width:980px){#adminView{display:block}#adminView[hidden]{display:none!important}#resultCard{margin-bottom:18px}#reviewSetup{margin-bottom:14px}}
@media(max-width:650px){.review-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.review-stat{padding:13px}.review-stat strong{font-size:25px}.review-toolbar .button{flex:1 1 120px}.review-session>summary{gap:7px}.review-session>summary strong{flex:1 1 100%}.review-filter{align-items:flex-start}.setup-card>summary span{float:none;display:block;margin-top:5px}}

#copyFallback textarea{width:100%;font:inherit;line-height:1.7;border:1px solid #cbdce2;border-radius:8px;padding:12px;color:#193c4e}.review-session .finding .chip{width:max-content}.coach-reminder details{margin-top:10px}.coach-reminder summary{cursor:pointer;font-size:13px;color:#805d25}.coach-reminder small{display:block;font-size:12px;line-height:1.6;margin-top:9px}

.mobile-table-hint{display:none}@media(max-width:650px){.mobile-table-hint{display:block;font-size:12px;color:#70858f;margin-bottom:0}#coachCard>.heading .button{white-space:nowrap;flex-shrink:0}#coachCard>.heading h2{font-size:18px}}
