.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #e0e8f0;border-radius:7px;padding:8px 15px;font-size:12px;background:#fff;white-space:nowrap;transition:.15s}.btn:hover{border-color:var(--primary);color:var(--primary)}.btn.primary{color:#fff;background:var(--primary);border-color:var(--primary);box-shadow:0 3px 8px #2196e519}.btn.primary:hover{background:var(--primary-hover)}.btn.danger{color:var(--danger)}.btn.small{padding:5px 10px;font-size:11px}.icon-btn{padding:7px;color:#8b98aa;border-radius:7px}.icon-btn:hover{background:var(--bg);color:var(--primary)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;gap:12px}.panel-head h2{display:flex;align-items:center;gap:9px}.panel-head h2:before{content:"";width:3px;height:14px;border-radius:3px;background:var(--primary)}.link{color:var(--primary);font-size:12px;padding:3px 5px}.badge{font-size:11px;display:inline-block;padding:3px 9px;border-radius:5px;background:var(--primary-soft);color:var(--primary);white-space:nowrap}.badge.green{color:var(--success);background:var(--success-soft)}.badge.orange{color:#cc9639;background:var(--warning-soft)}.badge.red{color:var(--danger);background:var(--danger-soft)}.badge.gray{color:var(--muted);background:#f0f3f7}.table-wrap{overflow-x:auto;overflow-y:visible}.filters{display:flex;gap:10px;padding:18px 22px;border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center}.search-input{min-width:240px;font-size:12px;background:#fcfdff}.filters select{font-size:12px;min-width:130px}.filter-spacer{flex:1}.tabs{display:flex;gap:25px;border-bottom:1px solid var(--border);padding:0 22px}.tab{padding:16px 0;color:var(--muted);border-bottom:2px solid transparent;font-size:13px}.tab.active{border-color:var(--primary);color:var(--primary);font-weight:600}.table-bottom{padding:17px 22px;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted)}.table-summary{display:inline-flex;align-items:center;gap:12px;min-height:34px;white-space:nowrap}.table-summary>span{color:var(--muted)}.table-summary>span b{color:var(--text);font-size:13px}.table-summary>i{width:1px;height:16px;background:var(--border)}.page-size-label{display:inline-flex;align-items:center;gap:7px;color:var(--muted)}.page-size-label select{width:74px;min-width:74px;height:32px;padding:3px 25px 3px 10px;border-radius:7px;font-size:12px;color:var(--text);background-color:var(--surface)}.auto-dark-times{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:100%}.auto-dark-times.hidden{display:none}.pagination{display:flex;gap:6px}.pagination button{padding:3px 9px;border:1px solid var(--border);border-radius:4px}.pagination .active{color:#fff;background:var(--primary)}.person{display:flex;gap:10px;align-items:center}.person .avatar{font-size:12px;width:33px;height:33px}.person small{display:block;font-size:10px}.student-scope-card{padding:6px 8px;border:1px solid transparent;border-radius:10px}.student-scope-card>small{display:block;margin:4px 0 0 46px;color:#9a5b00}.empty{text-align:center;padding:65px;color:var(--muted)}.notice{padding:12px 16px;border-radius:8px;color:#6185a4;background:var(--primary-soft);font-size:12px;line-height:1.8}.modal-backdrop{position:fixed;inset:0;background:#1e35534d;backdrop-filter:blur(3px);z-index:100;display:flex;align-items:center;justify-content:center;padding:24px}.modal{width:660px;max-width:100%;max-height:90vh;background:#fff;border-radius:15px;box-shadow:0 30px 100px #20365740;display:flex;flex-direction:column;overflow:hidden}.modal.wide{width:960px}.modal-head{padding:20px 25px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.modal-head h2{font-size:19px}.modal-body{padding:23px 25px;overflow:auto}.modal-foot{display:flex;gap:10px;justify-content:flex-end;padding:17px 25px;border-top:1px solid var(--border)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{font-size:12px}.field span{display:block;margin-bottom:7px;color:#65778d}.field input,.field select,.field textarea{width:100%}.field.full{grid-column:1/-1}.form-error{color:var(--danger);margin-top:12px;font-size:12px}.preview{margin-top:18px;padding:18px;background:#f5faff;border:1px solid #d9edff;border-radius:10px;font-size:12px}.preview-row{display:flex;justify-content:space-between;margin:7px 0}.preview-row.total{border-top:1px dashed #cadfeb;padding-top:10px;font-size:15px;color:var(--primary)}#toast{position:fixed;bottom:32px;left:50%;transform:translate(-50%) translateY(25px);padding:12px 24px;color:#fff;background:#263e58;border-radius:9px;box-shadow:var(--shadow);z-index:200;opacity:0;pointer-events:none;transition:.2s}#toast.visible{opacity:1;transform:translate(-50%) translateY(0)}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:15px 0 25px}.class-member-list{display:grid;gap:10px;margin-top:14px}.class-member-card{display:grid;grid-template-columns:minmax(180px,1.4fr) 1fr .8fr auto;align-items:center;gap:16px;padding:14px 16px;background:#f8fbff;border:1px solid var(--border);border-radius:12px}.class-member-card.cross-campus-student{background:#fff7e8;border-color:#f2c56f}.class-member-card span,.class-member-card small{display:block;margin-top:4px;color:var(--muted);font-size:12px}@media(max-width:760px){.class-member-card{grid-template-columns:1fr 1fr}}.detail-grid small{display:block}.detail-section{margin:18px 0 10px}.inline-actions{display:flex;gap:5px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--success);margin-right:5px}@media(max-width:760px){.form-grid{grid-template-columns:1fr}.modal-backdrop{padding:12px}.modal-body{padding:18px}.detail-grid{grid-template-columns:1fr 1fr}.search-input{min-width:160px;flex:1}.filters{padding:15px}.table-bottom{gap:12px;flex-wrap:wrap}}
