.data-manage[data-v-e9c2dc72]{font-size:.9rem}.section[data-v-e9c2dc72]{margin-bottom:16px}.section h4[data-v-e9c2dc72]{margin:0 0 8px;color:#555;font-size:.85rem}.btn-add[data-v-e9c2dc72]{display:block;width:100%;padding:6px 10px;margin-bottom:8px;border:1px dashed #ccc;background:#fafafa;border-radius:6px;cursor:pointer;font-size:.85rem}.list[data-v-e9c2dc72]{list-style:none;padding:0;margin:0}.list-item[data-v-e9c2dc72]{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;border-radius:4px;margin-bottom:4px;background:#f5f5f5}.actions[data-v-e9c2dc72]{display:flex;gap:4px}.btn-sm[data-v-e9c2dc72]{padding:2px 8px;font-size:.75rem;border:none;border-radius:4px;background:#e0e0e0;cursor:pointer}.btn-sm.danger[data-v-e9c2dc72]{background:#ffcdd2;color:#c62828}.modal-mask[data-v-e9c2dc72]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-e9c2dc72]{background:#fff;padding:20px;border-radius:12px;min-width:320px;max-width:90vw}.modal h3[data-v-e9c2dc72]{margin:0 0 16px}.modal label[data-v-e9c2dc72]{display:block;margin:10px 0 4px;font-size:.9rem;color:#555}.modal input[data-v-e9c2dc72],.modal select[data-v-e9c2dc72],.modal textarea[data-v-e9c2dc72]{width:100%;padding:8px 10px;border:1px solid #ddd;border-radius:6px;font-size:.9rem}.check-group[data-v-e9c2dc72]{display:flex;flex-wrap:wrap;gap:8px}.check-item[data-v-e9c2dc72]{display:flex;align-items:center;gap:4px;margin:0;cursor:pointer}.modal-actions[data-v-e9c2dc72]{margin-top:20px;display:flex;justify-content:flex-end;gap:10px}.modal .btn[data-v-e9c2dc72]{padding:8px 16px;border:none;border-radius:8px;cursor:pointer}.modal .btn.primary[data-v-e9c2dc72]{background:#e94560;color:#fff}.view-switch h4[data-v-976ab432]{margin:0 0 10px;font-size:.85rem;color:#555}.options[data-v-976ab432]{display:flex;flex-direction:column;gap:6px}.option[data-v-976ab432]{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.9rem}.schedule-wrap[data-v-adf5a5a3]{background:#fff;border-radius:12px;box-shadow:0 2px 12px #0000000f;overflow:hidden}.grid-scroll[data-v-adf5a5a3]{overflow:auto;max-height:calc(100vh - 180px)}.schedule-table[data-v-adf5a5a3]{width:100%;border-collapse:collapse;min-width:700px}.schedule-table th[data-v-adf5a5a3],.schedule-table td[data-v-adf5a5a3]{border:1px solid #e0e0e0;padding:10px 12px;text-align:center;font-size:.9rem}.schedule-table th[data-v-adf5a5a3]{background:#f5f5f5;font-weight:600;color:#333}.col-time[data-v-adf5a5a3]{width:120px}.col-class[data-v-adf5a5a3]{width:70px;vertical-align:middle}.cell-time[data-v-adf5a5a3]{background:#fafafa;color:#666;font-size:.85rem}.cell-slot[data-v-adf5a5a3]{min-width:100px;vertical-align:middle;cursor:pointer}.cell-slot.drop-over[data-v-adf5a5a3]{background:#e3f2fd;outline:2px dashed #2196f3}.cell-slot.conflict[data-v-adf5a5a3]{background:#ffebee;color:#c62828}.cell-slot.locked .slot-content[data-v-adf5a5a3]{opacity:.9}.slot-content[data-v-adf5a5a3]{padding:6px 8px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:6px;font-size:.85rem;cursor:grab;display:flex;align-items:center;justify-content:center;gap:4px}.slot-content[data-v-adf5a5a3]:active{cursor:grabbing}.slot-empty[data-v-adf5a5a3]{color:#bbb;min-height:32px;display:flex;align-items:center;justify-content:center}.label[data-v-adf5a5a3]{flex:1;min-width:0}.lock-btn[data-v-adf5a5a3]{font-size:.75rem;cursor:pointer;padding:2px;flex-shrink:0}.lock-btn[data-v-adf5a5a3]:hover{opacity:.9}.teacher-view[data-v-3b66c2b9]{background:#fff;border-radius:12px;box-shadow:0 2px 12px #0000000f;overflow:hidden}.toolbar[data-v-3b66c2b9]{padding:12px 16px;background:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;align-items:center;gap:10px}.select[data-v-3b66c2b9]{padding:8px 12px;border:1px solid #ddd;border-radius:8px;font-size:.9rem;min-width:120px}.grid-scroll[data-v-3b66c2b9]{overflow:auto}.schedule-table[data-v-3b66c2b9]{width:100%;border-collapse:collapse}.schedule-table th[data-v-3b66c2b9],.schedule-table td[data-v-3b66c2b9]{border:1px solid #e0e0e0;padding:10px 12px;text-align:center;font-size:.9rem}.cell-time[data-v-3b66c2b9]{background:#fafafa;width:120px}.label[data-v-3b66c2b9]{display:inline-block;padding:4px 8px;background:#e8eaf0;border-radius:4px;font-size:.85rem}.empty[data-v-3b66c2b9]{color:#bbb}.hint[data-v-3b66c2b9]{padding:40px;text-align:center;color:#888}.school-view[data-v-88131df3]{background:#fff;border-radius:12px;box-shadow:0 2px 12px #0000000f;padding:16px}.hint[data-v-88131df3]{margin:0 0 16px;color:#666;font-size:.9rem}.class-cards[data-v-88131df3]{display:flex;flex-wrap:wrap;gap:20px}.class-card[data-v-88131df3]{border:1px solid #e0e0e0;border-radius:8px;padding:12px;min-width:320px;cursor:pointer;transition:box-shadow .2s}.class-card[data-v-88131df3]:hover{box-shadow:0 4px 12px #0000001a}.class-card h4[data-v-88131df3]{margin:0 0 10px;font-size:1rem;color:#1a1a2e}.mini-table[data-v-88131df3]{width:100%;border-collapse:collapse;font-size:.75rem}.mini-table th[data-v-88131df3],.mini-table td[data-v-88131df3]{border:1px solid #eee;padding:4px 6px;text-align:center}.mini-time[data-v-88131df3]{background:#f5f5f5;max-width:70px;overflow:hidden;text-overflow:ellipsis}.mini-table td.conflict[data-v-88131df3]{background:#ffebee;color:#c62828}.course-pool[data-v-82b8635d]{display:flex;flex-wrap:wrap;gap:8px}.course-card[data-v-82b8635d]{padding:8px 12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:8px;font-size:.85rem;cursor:grab;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:4px}.course-card[data-v-82b8635d]:active{cursor:grabbing}.course-card.fixed[data-v-82b8635d]{background:linear-gradient(135deg,#f093fb,#f5576c)}.lock-icon[data-v-82b8635d]{font-size:.75rem}.empty[data-v-82b8635d]{color:#888;font-size:.85rem;margin:0}.conflict-list[data-v-e1ab7aef]{max-height:200px;overflow-y:auto;font-size:.85rem}.none[data-v-e1ab7aef]{color:#888;margin:0}.list[data-v-e1ab7aef]{list-style:none;padding:0;margin:0}.item[data-v-e1ab7aef]{padding:6px 8px;margin-bottom:4px;background:#ffebee;border-left:3px solid #e94560;border-radius:4px}.msg[data-v-e1ab7aef]{color:#c62828}.modal-mask[data-v-0b243b1e]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-0b243b1e]{background:#fff;padding:24px;border-radius:12px;min-width:360px}.modal h3[data-v-0b243b1e]{margin:0 0 16px}.options[data-v-0b243b1e]{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.option[data-v-0b243b1e]{display:flex;align-items:center;gap:8px;cursor:pointer}.select-row[data-v-0b243b1e]{margin-bottom:16px;display:flex;align-items:center;gap:10px}.select-row select[data-v-0b243b1e]{padding:8px 12px;border:1px solid #ddd;border-radius:8px;min-width:140px}.modal-actions[data-v-0b243b1e]{display:flex;justify-content:flex-end;gap:10px}.btn[data-v-0b243b1e]{padding:8px 16px;border:none;border-radius:8px;cursor:pointer}.btn.primary[data-v-0b243b1e]{background:#e94560;color:#fff}.modal-mask[data-v-79a72bb9]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-79a72bb9]{background:#fff;padding:24px;border-radius:12px;min-width:400px}.modal h3[data-v-79a72bb9]{margin:0 0 12px}.hint[data-v-79a72bb9]{font-size:.85rem;color:#666;margin:0 0 16px}.file-input[data-v-79a72bb9]{display:block;margin-bottom:16px}.result[data-v-79a72bb9]{padding:12px;background:#e8f5e9;border-radius:8px;font-size:.9rem;margin-bottom:16px}.result.error[data-v-79a72bb9]{background:#ffebee;color:#c62828}.modal-actions[data-v-79a72bb9]{display:flex;justify-content:flex-end;gap:10px}.btn[data-v-79a72bb9]{padding:8px 16px;border:none;border-radius:8px;cursor:pointer}.btn.primary[data-v-79a72bb9]{background:#e94560;color:#fff}.btn.primary[data-v-79a72bb9]:disabled{opacity:.6;cursor:not-allowed}.toast[data-v-ebe90ea0]{position:fixed;bottom:24px;left:50%;transform:translate(-50%);padding:12px 24px;background:#1a1a2e;color:#fff;border-radius:8px;font-size:.9rem;box-shadow:0 4px 12px #0003;z-index:2000;cursor:pointer}.toast-enter-active[data-v-ebe90ea0],.toast-leave-active[data-v-ebe90ea0]{transition:opacity .25s,transform .25s}.toast-enter-from[data-v-ebe90ea0],.toast-leave-to[data-v-ebe90ea0]{opacity:0;transform:translate(-50%) translateY(10px)}*{box-sizing:border-box}body{margin:0;font-family:Noto Sans SC,-apple-system,BlinkMacSystemFont,sans-serif;background:#f0f2f5;color:#1a1a2e}.app{min-height:100vh;display:flex;flex-direction:column}.header{background:linear-gradient(135deg,#1a1a2e,#16213e);color:#eee;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 8px #00000026}.logo{margin:0;font-size:1.25rem;font-weight:600}.header-actions{display:flex;align-items:center;gap:12px}.user-hint{font-size:.8rem;opacity:.85}.btn{padding:8px 16px;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500}.btn-primary{background:#e94560;color:#fff}.btn-primary:hover{background:#c73e54}.btn-secondary{background:#ffffff26;color:#eee}.btn-secondary:hover{background:#ffffff40}.main-layout{flex:1;display:flex;overflow:hidden}.sidebar{width:200px;background:#fff;border-right:1px solid #e0e0e0;display:flex;flex-direction:column;overflow:hidden}.nav{display:flex;flex-direction:column;padding:12px 0}.nav-btn{padding:10px 16px;border:none;background:none;text-align:left;cursor:pointer;font-size:.95rem;color:#444}.nav-btn:hover{background:#f5f5f5}.nav-btn.active{background:#e8eaf0;color:#1a1a2e;font-weight:600;border-right:3px solid #e94560}.panel{padding:12px;overflow-y:auto;flex:1}.content{flex:1;overflow:auto;padding:16px}.right-panel{width:260px;background:#fff;border-left:1px solid #e0e0e0;display:flex;flex-direction:column;overflow:hidden}.pool-section,.conflict-section{padding:12px;border-bottom:1px solid #eee}.pool-section h3,.conflict-section h3{margin:0 0 10px;font-size:.95rem;color:#333}.badge{background:#e94560;color:#fff;padding:2px 8px;border-radius:10px;font-size:.8rem}
