:root{--blue:#0f8fca;--blue-soft:#dff1fb;--green:#5aa832;--green-soft:#e8f5df;--orange:#d96809;--orange-soft:#fde7d6;--ink:#314150;--muted:#7c8792;--line:#e5eef5;--bg:#f4f8fc;--shadow:0 8px 22px #11527e14}*{box-sizing:border-box}body{color:var(--ink);background:var(--bg);letter-spacing:0;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,PingFang SC,Arial,sans-serif;font-size:16px}button,input,select{font:inherit}button{cursor:pointer;border:0}.topbar{color:#fff;background:linear-gradient(115deg,#1e9dd8 0%,#0285c1 72%,#0078b5 100%);justify-content:space-between;align-items:center;gap:22px;min-height:112px;padding:24px 34px;display:flex;box-shadow:0 4px 18px #055b922e}.brand-title{font-size:30px;font-weight:750}.brand-sub{color:#ffffffdb;margin-top:8px;font-size:17px}.login-box{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.login-box input,.login-box select,.full-input,.class-select select{height:38px;color:var(--ink);background:#fff;border:1px solid #d5e5ef;border-radius:6px;outline:0;padding:0 10px}.viewer{font-weight:700}.layout{grid-template-columns:236px minmax(0,1fr);min-height:calc(100vh - 112px);display:grid}.sidebar{border-right:1px solid var(--line);background:#fff;padding:18px 0;box-shadow:4px 0 18px #20628a0a}.class-select{padding:0 18px 18px}.class-select label{color:var(--muted);margin-bottom:8px;font-size:14px;font-weight:700;display:block}.class-select select{width:100%}.nav-item{color:#4a5966;text-align:left;background:0 0;border-left:4px solid #0000;align-items:center;gap:12px;width:100%;min-height:56px;padding:0 22px;font-size:18px;display:flex}.nav-item:hover,.nav-item.active{color:#0d77a8;background:#d8edf9;border-left-color:#26a6df;font-weight:750}.main{min-width:0;padding:26px 38px 42px}.status-line{color:#567080;justify-content:space-between;gap:14px;margin-bottom:14px;font-size:14px;display:flex}.warning,.hint{color:#965405;background:#fff5db;border-left:5px solid #e89b24;border-radius:8px;margin-bottom:18px;padding:12px 16px;font-weight:700}.hint{color:#136f9a;background:#dff1fb;border-left-color:#28a7df}.page-head{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.page-head h1{color:#0877ad;margin:0;font-size:28px;line-height:1.25}.page-head p{color:var(--muted);margin:10px 0 0;font-size:17px}.toolbar{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.btn{color:#0d6f9f;background:#e6f4fb;border:1px solid #cde7f6;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:0 12px;font-weight:700;display:inline-flex}.btn.primary{color:#fff;background:var(--blue);border-color:var(--blue)}.btn.light{color:#0d6f9f;background:#fff}.btn.danger{color:#b83434;background:#fff0f0;border-color:#ffd1d1}.btn.small{min-height:30px;margin:2px;padding:0 9px;font-size:13px}.stats{grid-template-columns:repeat(5,minmax(120px,1fr));gap:16px;margin-bottom:22px;display:grid}.stat-card{background:var(--blue-soft);min-height:104px;box-shadow:var(--shadow);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;display:flex}.stat-card.green{background:var(--green-soft)}.stat-card.orange{background:var(--orange-soft)}.stat-card strong{color:#0784bd;font-size:31px;line-height:1.15}.stat-card.green strong{color:#3d8f22}.stat-card.orange strong{color:#d15a00}.stat-card span{color:#697783;margin-top:8px;font-size:15px}.panel,.table-wrap{box-shadow:var(--shadow);background:#fff;border:1px solid #e5eef5;border-radius:8px;overflow:hidden}.panel.pad{padding:20px}.field-title,.section-title{color:#2c3944;margin-bottom:12px;font-size:20px;font-weight:800}.section-title{align-items:center;gap:10px;margin:24px 0 14px;display:flex}.section-title:before{content:"";background:#30a8df;border-radius:5px;width:5px;height:24px}.section-title.green:before{background:var(--green)}.accordion-grid{grid-template-columns:repeat(2,minmax(260px,1fr));gap:18px 24px;display:grid}.work-card{box-shadow:var(--shadow);background:#fff;border-top:4px solid #35a9df;border-radius:8px;overflow:hidden}.work-card.special{border-top-color:var(--green)}.work-card summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:62px;padding:0 18px;font-weight:750;list-style:none;display:flex}.editable-block{background:#fbfdff;border:1px solid #d8e7f0;border-radius:6px;outline:0;min-height:76px;margin:0 16px 16px;padding:12px;line-height:1.6}[contenteditable=true]:focus{box-shadow:inset 0 0 0 2px #f4c95d;background:#fff8dc!important}.table-wrap{width:100%;overflow-x:auto}table{border-collapse:collapse;background:#fff;width:100%;min-width:760px}th,td{text-align:center;vertical-align:middle;word-break:break-word;border:1px solid #edf3f8;outline:0;min-height:46px;padding:13px 12px;line-height:1.45}th{color:#11759d;background:#dceef9;font-weight:750}tbody tr:nth-child(2n) td{background:#fbfdff}.stage{color:#2f7f1f;background:#e7f5df;border:1px solid #bad9aa;justify-content:center;align-items:center;height:52px;margin-bottom:18px;font-weight:850;display:flex}.seat-grid{gap:7px;display:grid}.seat-row{grid-template-columns:72px repeat(8,minmax(72px,1fr));align-items:stretch;gap:6px;display:grid}.seat-label,.seat{color:#227c9b;background:#e9f8fe;border:1px solid #cce3ef;outline:0;justify-content:center;align-items:center;min-height:50px;font-weight:750;display:flex}.seat-label{color:#0e78a9;background:#dff1fb}.seat.leader{color:#d65b00;background:#fff4d9;border-color:#edca76}.seat.empty{color:#aeb9c2;background:#fbfbfb;font-weight:500}.admin-grid{grid-template-columns:minmax(290px,360px) minmax(0,1fr);gap:20px;display:grid}.full-input{width:100%;margin-bottom:10px}.class-checks{color:#52616e;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0 14px;font-size:14px;display:grid}.class-checks label{align-items:center;gap:6px;display:flex}@media (width<=980px){.topbar,.page-head,.status-line{display:block}.login-box{justify-content:flex-start;margin-top:14px}.layout{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--line);gap:0;padding:0;display:flex;overflow-x:auto}.class-select{min-width:180px;padding:10px}.nav-item{border-bottom:3px solid #0000;border-left:0;justify-content:center;min-width:130px;padding:0 10px;font-size:15px}.main{padding:20px 14px 34px}.stats,.accordion-grid,.admin-grid{grid-template-columns:1fr}.seat-row{grid-template-columns:64px repeat(8,78px);overflow-x:auto}}
