:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;font-weight:400;color:#333;background-color:#f0f2f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;min-width:320px;min-height:100vh}#app{max-width:1800px;margin:0 auto;padding:24px}.classroom-canvas-wrapper[data-v-69a3c3da]{position:relative;display:inline-block}.group-control-panel[data-v-69a3c3da],.fixture-control-panel[data-v-69a3c3da]{position:absolute;background:#fff;border:1px solid #ddd;border-radius:8px;padding:12px;box-shadow:0 4px 12px #00000026;z-index:100;min-width:140px}.control-panel-title[data-v-69a3c3da]{font-weight:700;font-size:13px;color:#333;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid #eee}.control-row[data-v-69a3c3da]{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:13px;color:#555}.control-row button[data-v-69a3c3da]{width:26px;height:26px;padding:0;font-size:16px;line-height:1;background:#f5f5f5;color:#333;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-weight:700;display:flex;align-items:center;justify-content:center;transition:background .2s}.control-row button[data-v-69a3c3da]:hover{background:#e0e0e0;transform:none;box-shadow:none}.count-display[data-v-69a3c3da]{min-width:24px;text-align:center;font-weight:700;font-size:15px;color:#333}.delete-btn[data-v-69a3c3da]{width:100%;margin-bottom:6px;padding:6px;font-size:12px;background:#ffebee;color:#c62828;border:1px solid #ef9a9a;border-radius:4px;cursor:pointer;font-weight:700;transition:background .2s}.delete-btn[data-v-69a3c3da]:hover{background:#ffcdd2;transform:none;box-shadow:none}.close-btn[data-v-69a3c3da]{width:100%;margin-top:4px;padding:6px;font-size:12px;background:#f5f5f5;color:#666;border:1px solid #ddd;border-radius:4px;cursor:pointer;transition:background .2s}.close-btn[data-v-69a3c3da]:hover{background:#e0e0e0;transform:none;box-shadow:none}.app[data-v-a6034b77]{display:flex;flex-direction:column;gap:16px}.card[data-v-a6034b77]{background:#fff;border-radius:10px;padding:20px;box-shadow:0 1px 3px #0000000f}.app-header[data-v-a6034b77]{display:flex;align-items:center;gap:16px;padding:16px 0}.app-header h1[data-v-a6034b77]{font-size:20px;font-weight:600;color:#1a1a1a;margin:0}.btn[data-v-a6034b77]{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;font-size:13px;font-weight:500;color:#444;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.btn[data-v-a6034b77]:hover{background:#eee;border-color:#ccc}.btn-primary[data-v-a6034b77]{color:#fff;background:#4361ee;border-color:#4361ee}.btn-primary[data-v-a6034b77]:hover{background:#3a56d4;border-color:#3a56d4}.btn-sm[data-v-a6034b77]{padding:5px 12px;font-size:12px}.config-bar[data-v-a6034b77]{padding:14px 20px}.config-row[data-v-a6034b77]{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.config-row.compact[data-v-a6034b77]{gap:12px}.config-label[data-v-a6034b77]{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#555;white-space:nowrap}.config-label strong[data-v-a6034b77]{color:#1a1a1a;font-size:14px}.config-label input[data-v-a6034b77]{width:64px;padding:5px 8px;font-size:13px;border:1px solid #ddd;border-radius:5px;text-align:center;background:#fafafa}.config-label input[data-v-a6034b77]:focus{outline:none;border-color:#4361ee;background:#fff}.config-sep[data-v-a6034b77]{width:1px;height:20px;background:#e0e0e0}.config-info[data-v-a6034b77]{font-size:12px;color:#888;padding:4px 10px;background:#fff8e1;border-radius:4px}.config-info.ok[data-v-a6034b77]{background:#e8f5e9;color:#2e7d32}.section-header[data-v-a6034b77]{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}.section-header h2[data-v-a6034b77]{font-size:16px;font-weight:600;color:#1a1a1a;margin:0}.layout-info[data-v-a6034b77]{font-size:12px;color:#888;padding:8px 12px;background:#f5f7fa;border-radius:6px}.layout-info .warn[data-v-a6034b77]{color:#e53935;font-weight:500}.groups-container[data-v-a6034b77]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.group-card[data-v-a6034b77]{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000000f;border:1px solid #eee}.group-header[data-v-a6034b77]{padding:8px 12px;font-size:13px;font-weight:600;color:#333;text-align:center}.group-table[data-v-a6034b77]{width:100%;border-collapse:collapse;font-size:12px}.group-table th[data-v-a6034b77],.group-table td[data-v-a6034b77]{padding:6px 8px;text-align:center;border-top:1px solid #f0f0f0}.group-table thead[data-v-a6034b77]{background:#f8f9fa}.group-table thead th[data-v-a6034b77]{font-weight:600;color:#666;font-size:11px;text-transform:uppercase;letter-spacing:.3px}.group-table tbody tr[data-v-a6034b77]{cursor:move;transition:background .15s}.group-table tbody tr[data-v-a6034b77]:hover{background:#f0f4ff}.group-table tbody tr[data-v-a6034b77]:nth-child(2n){background:#fafafa}.group-table tbody tr[data-v-a6034b77]:nth-child(2n):hover{background:#f0f4ff}.group-table tfoot[data-v-a6034b77]{background:#f8f9fa;font-weight:600;color:#555}.canvas-area[data-v-a6034b77]{overflow-x:auto}.canvas-toolbar[data-v-a6034b77]{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.export-bar[data-v-a6034b77]{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;padding:14px 20px}
