:root{--green:#22c79a;--green-dark:#159873;--green-soft:#effbf7;--text:#243238;--muted:#78868c;--line:#e2e8ea;--bg:#f4f6f7;--danger:#df4d4d;--warning:#b67b13;--shadow:0 2px 12px rgba(25,48,56,.08)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--text);background:var(--bg);font-size:13px}button,input,select{font:inherit}.hidden{display:none!important}
.review-bar{height:44px;background:#fff9df;border-bottom:1px solid #eadca2;display:flex;align-items:center;gap:8px;padding:0 16px;position:sticky;top:0;z-index:80}.review-title{font-weight:700;color:#6f5e16;margin-right:8px}.page-link{height:28px;padding:0 11px;border:1px solid #d8c675;background:#fff;border-radius:3px;color:#6e5c14;text-decoration:none;display:flex;align-items:center}.page-link.on{background:#f7dc70;border-color:#c5a82b;font-weight:600}.review-note{color:#8c7a2c;font-size:12px;margin-left:auto}
.app{min-width:1120px;min-height:calc(100vh - 44px);display:grid;grid-template-columns:74px 1fr}.sidebar{background:#fff;border-right:1px solid var(--line);padding-top:12px;position:relative}.brand{font-size:16px;font-weight:800;text-align:center;margin-bottom:18px}.brand b{color:var(--green)}.nav-item{height:38px;display:flex;align-items:center;justify-content:center;color:#66747a;font-size:12px;border-left:3px solid transparent}.nav-item.active{color:var(--green-dark);background:var(--green-soft);border-left-color:var(--green)}.online{position:fixed;bottom:14px;left:10px;width:54px;background:var(--green);color:#fff;text-align:center;padding:9px 2px;border-radius:3px;font-size:11px}
.workspace{min-width:0;background:#fff}.topbar{height:40px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 14px;color:#67757b}.account{width:24px;height:24px;border-radius:50%;background:#f1d1b5;display:grid;place-items:center;font-weight:700}.classbar{height:44px;display:flex;align-items:center;padding:0 16px;border-bottom:1px solid var(--line);font-size:12px}.classbar strong{margin-right:12px}.class-chip{margin-left:auto;background:#f7f9fa;border:1px solid var(--line);border-radius:3px;padding:4px 8px;color:#607078}
.panel{background:#fff;border:1px solid var(--line);border-radius:5px}.panel-head{height:48px;padding:0 15px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.panel-head strong{font-size:14px}.panel-body{padding:15px}.active-head{color:var(--green-dark);box-shadow:inset 0 -2px var(--green)}.status{font-size:11px;color:var(--muted);font-weight:400}.status.active{color:var(--green-dark)}
.section-title{display:flex;align-items:center;gap:7px;color:var(--green-dark);font-weight:700;margin:15px 0 10px;font-size:12px}.section-title:first-child{margin-top:0}.section-title:after{content:"";height:1px;background:#d9efea;flex:1}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 14px}.field label,.label{display:block;color:#5e6c72;font-size:11px;margin-bottom:5px}.control{height:34px;border:1px solid #d7dfe1;border-radius:3px;padding:0 9px;background:#fff;color:#314046;width:100%}.control:focus{outline:0;border-color:#69ceb4;box-shadow:0 0 0 2px var(--green-soft)}.control[disabled]{background:#f5f7f7;color:#869297}.radio-row{height:34px;display:flex;align-items:center;gap:16px}.radio-row input,input[type=checkbox],input[type=radio]{accent-color:var(--green)}
.course-card{display:grid;grid-template-columns:1fr auto;gap:8px;background:#f7f9fa;border:1px solid #edf0f1;border-radius:4px;padding:11px 12px}.course-card strong{display:block;font-size:14px;margin-bottom:4px}.course-card span{color:#65747a;font-size:12px}.course-count{align-self:center;font-weight:700;color:var(--green-dark);background:var(--green-soft);padding:5px 9px;border-radius:12px}
.timezone-selector{display:grid;grid-template-columns:110px minmax(240px,420px);align-items:center;gap:10px;margin-bottom:9px}.timezone-selector label{color:#5e6c72;font-size:11px}.week-list{display:grid;gap:7px}.week-row{display:grid;grid-template-columns:54px minmax(260px,1fr);gap:2px 8px;align-items:center}.week-day{display:flex;align-items:center;gap:4px;grid-row:1/span 2}.time-box{height:34px;border:1px solid #8bdcc7;background:#fbfffd;border-radius:3px;padding:6px 8px}.time-box.disabled{border-color:#e8eded;background:#f6f7f7;color:#b4bdc0;display:flex;align-items:center}.time-box input{border:0;background:transparent;font-weight:650;width:58px;color:#293d42;padding:0}.time-box input:focus{outline:0}.bj-box{height:18px;border:0;background:transparent;padding:0 8px;color:#98a4a8;font-size:10px}
.tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:10px}.tab{height:32px;border:0;border-bottom:2px solid transparent;background:#fff;padding:0 14px;color:#6d7b81;cursor:pointer}.tab.on{color:var(--green-dark);border-bottom-color:var(--green);font-weight:600}.filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.btn{height:34px;border:1px solid #d3dbdd;background:#fff;border-radius:3px;padding:0 14px;color:#405158;cursor:pointer}.btn:hover{border-color:#75d3ba;color:var(--green-dark)}.btn.primary{background:var(--green);border-color:var(--green);color:#fff}.btn.primary:hover{background:var(--green-dark)}.btn:disabled{background:#e8ecec;border-color:#e1e6e7;color:#a2acad;cursor:not-allowed}.btn.text{border:0;background:transparent;color:var(--green-dark);padding:0;height:auto}.btn.danger-text{border:0;background:transparent;color:var(--danger);padding:0;height:auto}.full{width:100%;margin-top:12px}.actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:14px}.actions.between{justify-content:space-between}
.summary-box{background:#f8faf9;border:1px solid #e4eae9;border-radius:4px;padding:10px 11px}.summary-box .summary-title{font-size:11px;color:var(--muted);margin-bottom:5px}.summary-box strong{display:block;margin-bottom:4px}.summary-box p{margin:2px 0;line-height:1.55;color:#526268}.summary-box .btn{margin-top:8px;width:100%}.rule-note{padding:9px 11px;background:var(--green-soft);border:1px solid #d3eee6;border-radius:4px;color:#53676c;margin-bottom:11px}.rule-note strong{color:var(--green-dark)}
.teacher-list{display:grid;gap:10px}.teacher-card{border:1px solid var(--line);border-radius:5px;padding:12px;background:#fff;transition:.15s;position:relative}.teacher-card:hover{border-color:#8bdcc7}.teacher-card.selected{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green);background:#fbfffd}.teacher-top{display:grid;grid-template-columns:20px 72px minmax(150px,1.15fr) minmax(260px,1.8fr);gap:11px;align-items:start}.teacher-top>input{margin-top:28px}.avatar{width:72px;height:82px;object-fit:cover;border-radius:4px;background:#eef1f2}.photo-wrap{width:72px;height:82px;position:relative;border-radius:4px;overflow:hidden;background:#eef1f2}.photo-wrap .avatar{width:100%;height:100%;display:block}.video-play{position:absolute;right:5px;bottom:5px;width:28px;height:28px;border:0;border-radius:50%;background:#fff;color:#111;display:grid;place-items:center;padding:0 0 0 2px;box-shadow:0 1px 5px rgba(0,0,0,.2);cursor:pointer}.teacher-name{font-size:15px;font-weight:700;margin-bottom:5px}.cert{display:inline-block;background:#fff6cf;color:#876715;border-radius:10px;padding:2px 7px;font-size:10px}.fact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 12px;margin-top:8px;color:#526168;font-size:11px}.bio{border-left:1px solid var(--line);padding-left:12px;color:#53636a;line-height:1.65}.bio-label{color:#89959a;font-size:10px;margin-bottom:3px}.bio-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.teacher-card.expanded .bio-text{display:block}.teacher-foot{display:flex;justify-content:flex-end;align-items:center;gap:15px;border-top:1px solid var(--line);padding-top:8px;margin-top:9px}.teacher-foot .selected-hint{margin-right:auto;color:var(--green-dark);font-weight:600}.select-bar{position:sticky;bottom:0;background:rgba(255,255,255,.96);border-top:1px solid var(--line);padding:10px 0 0;margin-top:10px;display:flex;align-items:center;justify-content:space-between}.select-bar span{color:#66757b}
.selected-teacher{display:grid;grid-template-columns:48px 1fr;gap:9px;align-items:center}.selected-teacher .photo-wrap{width:48px;height:52px}.selected-teacher .video-play{width:20px;height:20px;right:3px;bottom:3px;font-size:9px}.selected-teacher strong{font-size:13px}.selected-teacher small{display:block;color:var(--muted);margin-top:3px}
.result-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.result-intro h2{font-size:17px;margin:0 0 5px}.result-intro p{margin:0;color:#6d7b80}.result-meta{display:flex;gap:9px;flex-wrap:wrap}.meta-chip{background:#f7f9fa;border:1px solid var(--line);border-radius:4px;padding:7px 9px;min-width:120px}.meta-chip label{display:block;color:var(--muted);font-size:10px;margin-bottom:3px}.meta-chip strong{font-size:12px}
.schedule-wrap{border:1px solid var(--line);border-radius:4px;overflow:hidden}.schedule-table{border-collapse:collapse;width:100%;table-layout:fixed}.schedule-table th{background:#f6f8f9;color:#5d6d73;font-weight:600;text-align:left;padding:9px 8px;border-right:1px solid var(--line);font-size:11px}.schedule-table td{padding:9px 8px;border-top:1px solid var(--line);border-right:1px solid var(--line);vertical-align:middle}.schedule-table th:last-child,.schedule-table td:last-child{border-right:0}.schedule-table .student-col{background:#fbfffd}.time-primary strong{display:block;font-size:12px}.time-primary input{margin-top:5px;height:29px;width:72px;border:1px solid #7bd4bc;border-radius:3px;padding:0 7px;font-weight:600}.time-primary small{display:block;color:var(--muted);margin-top:4px}.bj-inline{display:block;margin-top:5px;color:#98a4a8;font-size:10px;font-weight:400}.bj-inline:before{content:"北京时间："}.conflict-row{background:#fff7f7}.conflict-tag{display:inline-block;background:#fff0f0;color:var(--danger);border:1px solid #f2cccc;border-radius:9px;padding:1px 6px;font-size:10px;margin-top:4px}.availability{color:#65757b;font-size:11px}.settings{margin-top:13px;border:1px solid var(--line);border-radius:4px;padding:12px}.settings-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.settings-head strong{font-size:13px}.settings-head span{font-size:11px;color:var(--muted)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:#26333a;color:#fff;padding:10px 16px;border-radius:4px;z-index:120;box-shadow:var(--shadow)}.modal-mask{position:fixed;inset:0;background:rgba(22,34,38,.38);z-index:100;display:grid;place-items:center}.modal{width:min(860px,calc(100vw - 80px));max-height:calc(100vh - 80px);overflow:auto;background:#fff;border-radius:6px;box-shadow:0 12px 40px rgba(0,0,0,.2)}.modal-head{height:50px;padding:0 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.modal-body{padding:16px}.modal-close{border:0;background:transparent;font-size:20px;color:#718087;cursor:pointer}.video-frame{height:300px;border-radius:4px;background:#273238;color:#fff;display:grid;place-items:center;text-align:center}.video-frame i{width:58px;height:58px;border-radius:50%;background:#fff;color:#111;display:grid;place-items:center;font-style:normal;font-size:22px;margin:0 auto 12px;padding-left:4px}.video-frame span{color:#dfe6e8}.calendar-grid{display:grid;grid-template-columns:56px repeat(5,1fr);border:1px solid var(--line);border-right:0;border-bottom:0}.calendar-grid div{min-height:45px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:5px;font-size:10px}.cal-head{background:#f6f8f9;font-weight:600}.cal-booked{background:#e8f4ff;color:#3d6f92}.cal-open{background:#e9faf4;color:#287c63}.calendar-legend{display:flex;gap:14px;color:#66757b;margin-bottom:10px}.dot{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:4px}.dot.open{background:#8fdcc6}.dot.booked{background:#92c4e7}
.success-box{text-align:center;padding:20px 10px}.success-icon{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;margin:0 auto 12px;background:var(--green-soft);color:var(--green-dark);font-size:25px;font-weight:700}.success-box h3{margin:0 0 7px}.success-box p{color:var(--muted);margin:0}
@media(max-width:1250px){.teacher-top{grid-template-columns:20px 66px 1fr}.teacher-top .bio{grid-column:3;border-left:0;border-top:1px solid var(--line);padding:8px 0 0}.week-row{grid-template-columns:50px 1fr}.review-note{display:none}}
