:root{--ink:#17324d;--muted:#6d7e90;--line:#d8e5ee;--blue:#0c62a6;--soft:#f5f9fc;--green:#147a58;--warn:#9a6700;--red:#a64040;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:#eaf1f6;color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.loginwrap{min-height:100vh;display:grid;place-items:center;padding:20px}.login{width:min(440px,100%);background:#fff;border-radius:22px;padding:30px;box-shadow:0 20px 60px rgba(20,45,70,.14)}.login img{width:110px;display:block;margin:0 auto 14px}.login h1{text-align:center;margin:6px 0}.login p{text-align:center;color:var(--muted)}.field{margin:12px 0}.field label{display:block;font-size:13px;font-weight:800;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;border:1px solid #c9dbe8;border-radius:10px;padding:10px 11px;background:#fff}.field textarea{min-height:88px}.btn{border:0;border-radius:10px;padding:10px 14px;background:var(--blue);color:white;font-weight:800}.btn.secondary{background:#eaf4fb;color:var(--blue)}.btn.ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn.warn{background:#fff3d6;color:var(--warn)}.btn.red{background:#fff0f0;color:var(--red)}.btn.small{padding:7px 10px;font-size:12px}.app{max-width:1500px;margin:0 auto;padding:20px}.top{display:flex;justify-content:space-between;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 22px;box-shadow:0 14px 35px rgba(20,45,70,.06)}.brand{display:flex;align-items:center;gap:14px}.brand img{width:70px}.brand small{font-weight:900;letter-spacing:.12em;color:var(--blue)}.brand h1{margin:3px 0 0;font-size:22px}.topActions{display:flex;gap:8px}.nav{display:flex;gap:6px;overflow-x:auto;padding:14px 0}.tab{white-space:nowrap;border:0;background:transparent;border-radius:10px;padding:10px 13px;font-weight:800;color:#456078}.tab.active{background:#fff;color:var(--blue);box-shadow:0 6px 18px rgba(20,45,70,.08)}.view{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 14px 35px rgba(20,45,70,.05)}.view h2{margin:0 0 16px}.cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.card{background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:16px}.card strong{display:block;font-size:26px;margin-top:8px}.card span{color:var(--muted);font-size:13px}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.section{border:1px solid var(--line);border-radius:14px;padding:16px;margin-top:16px}.section h3{margin:0 0 12px}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.toolbar input,.toolbar select{border:1px solid #c9dbe8;border-radius:9px;padding:9px}.tablewrap{overflow:auto;border:1px solid var(--line);border-radius:12px}.table{width:100%;border-collapse:collapse;min-width:860px}.table th,.table td{text-align:left;padding:10px 11px;border-bottom:1px solid #e5edf3;font-size:13px;vertical-align:top}.table th{background:#f3f7fa;position:sticky;top:0;z-index:1}.muted{color:var(--muted)}.badge{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;background:#eaf4fb;color:var(--blue)}.badge.green{background:#e8f7f0;color:var(--green)}.badge.warn{background:#fff3d6;color:var(--warn)}.badge.red{background:#fff0f0;color:var(--red)}.actions{display:flex;gap:5px;flex-wrap:wrap}.low{background:#fff6df}.week{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:8px;overflow:auto}.day{border:1px solid var(--line);border-radius:12px;padding:10px;min-height:180px;background:#fafcfe}.day h4{margin:0 0 8px}.lesson{background:#eaf4fb;border-left:4px solid var(--blue);padding:8px;border-radius:8px;margin:7px 0;font-size:12px}.lesson.done{background:#e8f7f0;border-left-color:var(--green)}dialog{border:0;border-radius:18px;padding:0;box-shadow:0 24px 80px rgba(18,45,70,.24);width:min(720px,calc(100vw - 28px));max-height:90vh}dialog::backdrop{background:rgba(17,37,55,.52)}.modal{padding:22px;overflow:auto;max-height:88vh}.modalHead{display:flex;justify-content:space-between;align-items:center;gap:12px}.modalHead h3{margin:0}.x{border:0;background:#edf4f8;border-radius:8px;padding:7px 10px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.notice{border-radius:10px;padding:10px 12px;background:#eaf4fb;color:#315772;font-size:13px}.error{color:var(--red);background:#fff0f0;padding:10px;border-radius:10px}.ok{color:var(--green);background:#e8f7f0;padding:10px;border-radius:10px}
@media(max-width:980px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.twocol{grid-template-columns:1fr}.app{padding:10px}.top{align-items:flex-start;flex-direction:column}.formgrid{grid-template-columns:1fr}.week{grid-template-columns:repeat(7,220px)}}
@media(max-width:560px){.cards{grid-template-columns:1fr 1fr}.brand img{width:54px}.brand h1{font-size:18px}.view{padding:13px}.topActions{width:100%}.topActions .btn{flex:1}.table{min-width:760px}}
.checkline{display:flex;gap:9px;align-items:flex-start;margin:12px 0;font-size:13px;font-weight:700;color:#35546e}.checkline input{margin-top:2px}.email-message{min-height:220px!important;line-height:1.65}.email-layout{align-items:start}.template-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.template-card{border:1px solid var(--line);background:var(--soft);border-radius:12px;padding:14px;text-align:left;color:var(--ink)}.template-card:hover{border-color:#a8cbe1;background:#eef7fd}.template-card b{display:block;margin-bottom:5px}.template-card span{display:block;color:var(--muted);font-size:12px;line-height:1.45}
@media(max-width:700px){.template-list{grid-template-columns:1fr}.email-message{min-height:180px!important}}
.student-file{background:#fff}.student-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.student-course-grid .card strong{display:inline;font-size:18px;margin:0}.student-file hr{border:0;border-top:1px solid var(--line);margin:16px 0}
@media(max-width:1050px){.student-course-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.student-course-grid{grid-template-columns:1fr}.student-file>.toolbar{align-items:flex-start;flex-direction:column}.student-file>.toolbar .actions{width:100%}.student-file>.toolbar .actions .btn{flex:1}}

.record-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0 14px}.record-meta>div,.summary-strip>div{background:var(--soft);border:1px solid var(--line);border-radius:11px;padding:11px}.record-meta span,.summary-strip span{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}.record-meta b,.summary-strip b{font-size:15px}.summary-strip{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 12px}.summary-strip>div{min-width:130px}.course-card .toolbar{align-items:flex-start}.modal h4{margin:18px 0 6px;border-bottom:1px solid var(--line);padding-bottom:6px}.table td .muted{line-height:1.5}
@media(max-width:650px){.record-meta{grid-template-columns:1fr}.summary-strip>div{flex:1;min-width:95px}.course-card .toolbar{flex-direction:column}.course-card .actions{width:100%}.course-card .actions .btn{flex:1}}
