[data-seating-chart] .field{display:block;width:100%;min-height:2.5rem;border-radius:.375rem;border:1px solid #d1d5db;background:#fff;padding:.375rem .625rem;font-size:.875rem;color:#111827}[data-seating-chart] .field:focus{border-color:#2563eb;outline:2px solid rgba(37,99,235,.25);outline-offset:1px}[data-seating-chart] .field-label{display:block;margin-bottom:.25rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#4b5563}[data-seating-chart] .cta-action,[data-seating-chart] .secondary-action,[data-seating-chart] .icon-button{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;min-height:2.5rem;border-radius:.375rem;padding:0 .75rem;font-size:.8125rem;font-weight:700;transition:all .15s ease}[data-seating-chart] .cta-action{border:1px solid #1d4ed8;background:#2563eb;color:#fff;box-shadow:0 1px 2px #2563eb33}[data-seating-chart] .cta-action:hover{background:#1d4ed8}[data-seating-chart] .secondary-action{border:1px solid #d1d5db;background:#fff;color:#374151}[data-seating-chart] .secondary-action:hover{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}[data-seating-chart] .icon-button{width:2.5rem;padding:0;border:1px solid #d1d5db;background:#fff;color:#374151}[data-seating-chart] .icon-button:hover{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}[data-seating-chart] .cta-action:disabled,[data-seating-chart] .secondary-action:disabled,[data-seating-chart] .icon-button:disabled{cursor:not-allowed;opacity:.45}[data-seating-chart] .view-tab{min-height:2rem;border-radius:.25rem;padding:0 .75rem;font-size:.75rem;font-weight:700;color:#4b5563;transition:all .15s ease}[data-seating-chart] .view-tab[aria-selected=true]{background:#0f172a;color:#fff}[data-seating-chart] [data-chart]{background-color:#f8fafc;background-image:radial-gradient(#cbd5e1 1.25px,transparent 1.25px);background-size:22px 22px;box-shadow:inset 0 2px 8px #0000000a;border-radius:.5rem;transition:all .2s ease}[data-seating-chart].is-fullscreen{position:fixed;inset:0;z-index:9999;width:100vw;height:100vh;border-radius:0;overflow-y:auto;background:#fff;padding:1.25rem}[data-seating-chart] .board{position:absolute;display:flex;align-items:center;justify-content:space-between;padding:0 .85rem;border-radius:.375rem;border:2px solid #334155;background:linear-gradient(180deg,#1e293b,#0f172a);box-shadow:0 3px 6px -1px #0f172a40,inset 0 1px #ffffff26;font-size:clamp(.65rem,1.1vw,.78rem);font-weight:800;letter-spacing:.08em;color:#f8fafc;text-transform:uppercase;z-index:10;user-select:none}[data-seating-chart] .board-title{display:inline-flex;align-items:center;gap:.35rem}[data-seating-chart] .board-indicator{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:.25rem;background:#3b82f640;border:1px solid rgba(147,197,253,.35);font-size:.65rem;font-weight:600;letter-spacing:.02em;color:#93c5fd;text-transform:none}[data-seating-chart] .desk{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:.5rem;border:1.5px solid #cbd5e1;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 2px 4px -1px #0000000f,0 1px 2px -1px #0000000a;padding:.25rem .35rem;text-align:center;cursor:grab;user-select:none;transition:transform .15s cubic-bezier(.2,0,0,1),box-shadow .15s cubic-bezier(.2,0,0,1),border-color .15s ease,background-color .15s ease;z-index:2}[data-seating-chart] .desk-chair{position:absolute;bottom:-5px;width:36%;height:6px;border-radius:3px 3px 6px 6px;background:#94a3b8;box-shadow:0 1px 2px #00000026;pointer-events:none;transition:background .15s ease}[data-seating-chart] [data-chart].is-mirrored .desk-chair{top:-5px;bottom:auto;border-radius:6px 6px 3px 3px}[data-seating-chart] .desk:hover{transform:translateY(-2px);border-color:#3b82f6;box-shadow:0 8px 16px -4px #2563eb26,0 4px 6px -2px #0000000d;z-index:5}[data-seating-chart] .desk:hover .desk-chair{background:#3b82f6}[data-seating-chart] .desk:focus-visible{outline:2px solid #2563eb;outline-offset:2px}[data-seating-chart] .desk-header{width:100%;display:flex;align-items:center;justify-content:space-between;margin-bottom:.125rem;pointer-events:none;line-height:1}[data-seating-chart] .desk-badge{display:inline-flex;align-items:center;padding:.1rem .35rem;border-radius:.25rem;background:#f1f5f9;border:1px solid #e2e8f0;font-size:clamp(.5rem,.72vw,.625rem);font-weight:700;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:#64748b;letter-spacing:.02em;pointer-events:none}[data-seating-chart] .desk-icons{display:inline-flex;align-items:center;gap:.15rem;pointer-events:none}[data-seating-chart] .desk-pin{font-size:.65rem;line-height:1;color:#2563eb;filter:drop-shadow(0 1px 1px rgba(0,0,0,.1))}[data-seating-chart] .desk-iep{font-size:.65rem;line-height:1;color:#d97706}[data-seating-chart] .desk-alert-icon{font-size:.65rem;line-height:1;color:#dc2626;animation:bounce-short 1.5s infinite}[data-seating-chart] .desk-name{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:normal;font-size:clamp(.68rem,1.05vw,.85rem);font-weight:700;line-height:1.18;color:#0f172a;pointer-events:none;padding:0 .15rem}[data-seating-chart] .desk.is-empty{border:1.5px dashed #94a3b8;background:#f1f5f9a6;box-shadow:none;color:#94a3b8;cursor:pointer}[data-seating-chart] .desk.is-empty .desk-name{color:#94a3b8;font-weight:600;font-size:clamp(.6rem,.9vw,.75rem)}[data-seating-chart] .desk.is-empty .desk-chair{background:#cbd5e1}[data-seating-chart] .desk.is-empty:hover{border-color:#2563eb;background:#eff6ff;color:#1d4ed8}[data-seating-chart] .desk.is-empty:hover .desk-name{color:#1d4ed8}[data-seating-chart] [data-chart].is-placement-mode .desk.is-empty{border-color:#10b981;background:#ecfdf5;box-shadow:0 0 0 3px #10b98159;animation:pulse-border 1.5s infinite}[data-seating-chart] .desk.is-selected{border-color:#2563eb;background:#eff6ff;box-shadow:0 0 0 3px #2563eb66,0 6px 12px -2px #2563eb33;transform:translateY(-2px);z-index:15}[data-seating-chart] .desk.is-drop-target{border-color:#059669;background:#ecfdf5;box-shadow:0 0 0 3px #05966973;transform:scale(1.03);z-index:20}[data-seating-chart] .desk.is-flagged{border-color:#e11d48;background:#fff1f2;box-shadow:0 0 0 2px #e11d4859}[data-seating-chart] .desk.is-dragging{opacity:.35;transform:scale(.95)}[data-seating-chart] .unseated-chip{display:inline-flex;align-items:center;gap:.375rem;border-radius:9999px;border:1px solid #fcd34d;background:#fff;padding:.25rem .65rem;font-size:.78rem;font-weight:600;color:#78350f;cursor:grab;box-shadow:0 1px 2px #0000000d;transition:all .15s ease;user-select:none}[data-seating-chart] .unseated-chip:hover{border-color:#f59e0b;background:#fef3c7;transform:translateY(-1px);box-shadow:0 3px 6px -1px #f59e0b33}[data-seating-chart] .unseated-chip.is-selected{border-color:#2563eb;background:#eff6ff;color:#1d4ed8;box-shadow:0 0 0 2px #2563eb59;transform:translateY(-1px)}[data-seating-chart] .unseated-avatar{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border-radius:9999px;font-size:.625rem;font-weight:700}[data-seating-chart] .desk-tooltip{position:absolute;z-index:50;min-width:12rem;max-width:18rem;border-radius:.5rem;border:1px solid #334155;background:#0f172a;padding:.5rem .75rem;font-size:.75rem;color:#f8fafc;box-shadow:0 10px 25px -5px #0000004d,0 8px 10px -6px #0003;pointer-events:none;opacity:0;transition:opacity .15s ease,transform .15s ease;transform:translateY(4px)}[data-seating-chart] .desk-tooltip.is-visible{opacity:1;transform:translateY(0)}[data-seating-chart] .rule-chip{display:flex;align-items:center;justify-content:space-between;gap:.5rem;border-radius:.375rem;border:1px solid #e5e7eb;background:#f9fafb;padding:.35rem .6rem;font-size:.75rem;color:#374151}[data-seating-chart] .rule-chip button{color:#9ca3af;transition:color .15s ease}[data-seating-chart] .rule-chip button:hover{color:#dc2626}:global(.dark) [data-seating-chart] .field{border-color:#475569;background:#0f172a;color:#e2e8f0}:global(.dark) [data-seating-chart] .field-label{color:#94a3b8}:global(.dark) [data-seating-chart] .secondary-action,:global(.dark) [data-seating-chart] .icon-button{border-color:#475569;background:#0f172a;color:#e2e8f0}:global(.dark) [data-seating-chart] .secondary-action:hover,:global(.dark) [data-seating-chart] .icon-button:hover{border-color:#60a5fa;background:#1e293b;color:#93c5fd}:global(.dark) [data-seating-chart] .view-tab{color:#cbd5e1}:global(.dark) [data-seating-chart] .view-tab[aria-selected=true]{background:#f8fafc;color:#0f172a}:global(.dark) [data-seating-chart] [data-chart]{background-color:#0b0f17;background-image:radial-gradient(#334155 1.25px,transparent 1.25px);box-shadow:inset 0 2px 6px #0006}:global(.dark) [data-seating-chart] .board{border-color:#475569;background:linear-gradient(180deg,#1e293b,#0f172a)}:global(.dark) [data-seating-chart] .desk{border-color:#334155;background:linear-gradient(180deg,#1e293b,#0f172a);box-shadow:0 2px 4px -1px #0000004d}:global(.dark) [data-seating-chart] .desk-chair{background:#475569}:global(.dark) [data-seating-chart] .desk-badge{background:#1e293b;border-color:#334155;color:#94a3b8}:global(.dark) [data-seating-chart] .desk-name{color:#f1f5f9}:global(.dark) [data-seating-chart] .desk.is-empty{border-color:#475569;background:#0f172a99;color:#64748b}:global(.dark) [data-seating-chart] .desk.is-empty .desk-name{color:#64748b}:global(.dark) [data-seating-chart] .desk.is-empty .desk-chair{background:#334155}:global(.dark) [data-seating-chart] .desk.is-empty:hover{border-color:#60a5fa;background:#1e293b}:global(.dark) [data-seating-chart] .desk.is-selected{border-color:#60a5fa;background:#172554;box-shadow:0 0 0 3px #60a5fa66}:global(.dark) [data-seating-chart] .desk.is-drop-target{border-color:#10b981;background:#064e3b;box-shadow:0 0 0 3px #10b98173}:global(.dark) [data-seating-chart] .desk.is-flagged{border-color:#f43f5e;background:#4c0519;box-shadow:0 0 0 2px #f43f5e66}:global(.dark) [data-seating-chart] .rule-chip{border-color:#334155;background:#0f172a;color:#cbd5e1}:global(.dark) [data-seating-chart] .unseated-chip{border-color:#b45309;background:#291807;color:#fde68a}:global(.dark) [data-seating-chart] .unseated-chip:hover{background:#451a03;border-color:#d97706}:global(.dark) [data-seating-chart] .unseated-chip.is-selected{border-color:#3b82f6;background:#172554;color:#bfdbfe}@keyframes pulse-border{0%,to{box-shadow:0 0 0 2px #10b98166}50%{box-shadow:0 0 0 6px #10b98126}}@keyframes bounce-short{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}[data-seating-chart] [data-chart].is-projector-mode .desk-icons,[data-seating-chart] [data-chart].is-projector-mode .desk-chair,[data-seating-chart] [data-chart].is-projector-mode .desk-badge{display:none!important}[data-seating-chart] [data-chart].is-projector-mode .desk{background:#fff;border-color:#94a3b8;box-shadow:0 4px 8px -2px #00000014}[data-seating-chart] [data-chart].is-projector-mode .desk .desk-name{font-size:clamp(.85rem,1.4vw,1.2rem);font-weight:800;color:#0f172a;line-height:1.25}:global(.dark) [data-seating-chart] [data-chart].is-projector-mode .desk{background:#1e293b;border-color:#475569}:global(.dark) [data-seating-chart] [data-chart].is-projector-mode .desk .desk-name{color:#f8fafc}[data-seating-chart] .desk.is-spotlight-flashing{border-color:#f59e0b!important;background:#fef3c7!important;transform:scale(1.05);z-index:25;transition:all .06s ease}:global(.dark) [data-seating-chart] .desk.is-spotlight-flashing{border-color:#f59e0b!important;background:#78350f!important}[data-seating-chart] .desk.is-spotlighted{border-color:#eab308!important;background:#fefce8!important;box-shadow:0 0 0 4px #eab308,0 12px 28px -3px #eab30880!important;z-index:35!important;animation:spotlight-bounce .75s ease-in-out infinite alternate}:global(.dark) [data-seating-chart] .desk.is-spotlighted{background:#422006!important;box-shadow:0 0 0 4px #eab308,0 12px 28px -3px #eab308a6!important}[data-seating-chart] .desk.is-spotlighted .desk-name{color:#854d0e!important;font-weight:900!important}:global(.dark) [data-seating-chart] .desk.is-spotlighted .desk-name{color:#fef08a!important}@keyframes spotlight-bounce{0%{transform:scale(1.05) translateY(0)}to{transform:scale(1.1) translateY(-4px)}}[data-seating-chart] .desk{position:absolute;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.18em;overflow:hidden;border-radius:.5rem;border:1px solid #cbd5e1;background:linear-gradient(180deg,#fff,#f8fafc);padding:.2rem .25rem;text-align:center;font-size:clamp(.6rem,1.05vw,.8125rem);font-weight:600;line-height:1.15;color:#0f172a;cursor:grab;box-shadow:0 1px 2px #0f172a14,0 1px 1px #0f172a0a;transition:box-shadow .15s ease,border-color .15s ease,background .15s ease,transform .15s ease}.dark [data-seating-chart] .desk{border-color:#475569;background:linear-gradient(180deg,#1e293b,#172033);color:#e2e8f0;box-shadow:0 1px 2px #0006}[data-seating-chart] .desk:hover{z-index:2;border-color:#60a5fa;box-shadow:0 4px 10px #2563eb2e,0 1px 2px #0f172a14}[data-seating-chart] .desk:active{cursor:grabbing}[data-seating-chart] .desk:focus-visible{z-index:3;outline:2px solid #2563eb;outline-offset:2px}[data-seating-chart] .desk-body{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.18em;max-width:100%}[data-seating-chart] .desk-avatar{display:flex;flex:none;align-items:center;justify-content:center;width:1.9em;height:1.9em;border-radius:9999px;background:var(--desk-accent, #475569);box-shadow:inset 0 0 0 1px #ffffff47;font-size:.76em;font-weight:800;letter-spacing:.02em;line-height:1;color:#fff}[data-seating-chart] .desk.is-compact .desk-avatar{display:none}[data-seating-chart] .desk-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;max-width:100%;overflow:hidden;word-break:break-word}[data-seating-chart] .desk.is-grouped{border-top:3px solid var(--desk-group, #cbd5e1)}[data-seating-chart] .desk.is-empty{border-style:dashed;border-color:#cbd5e1;background:#f1f5f9;color:#94a3b8;cursor:pointer;box-shadow:none}[data-seating-chart] .desk.is-empty .desk-name{font-size:.85em;font-weight:700;letter-spacing:.06em;text-transform:uppercase}[data-seating-chart] .desk.is-empty:hover{border-color:#60a5fa;background:#eff6ff;color:#2563eb}[data-seating-chart] .desk.is-empty:after{content:"+";position:absolute;right:.28rem;bottom:.16rem;font-size:.8em;font-weight:800;line-height:1;opacity:0;transition:opacity .15s ease}[data-seating-chart] .desk.is-empty:hover:after{opacity:1}[data-seating-chart] .desk.is-selected{z-index:3;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb73,0 6px 14px #2563eb38}[data-seating-chart] .desk.is-drop-target{z-index:3;border-color:#059669;background:#ecfdf5;box-shadow:0 0 0 2px #05966980,0 6px 14px #05966933}[data-seating-chart] .desk.is-flagged{border-color:#dc2626;box-shadow:0 0 0 2px #dc262659}[data-seating-chart] .desk.is-dragging{opacity:.45;cursor:grabbing}[data-seating-chart] .desk-pin{position:absolute;top:.1rem;right:.2rem;font-size:.62em;line-height:1;color:#2563eb}[data-seating-chart] .desk-flag{position:absolute;top:.14rem;left:.2rem;display:flex;align-items:center;justify-content:center;width:1em;height:1em;border-radius:9999px;background:#dc2626;font-size:.6em;font-weight:800;line-height:1;color:#fff}[data-seating-chart] .desk-front{position:absolute;bottom:.12rem;left:.24rem;font-size:.58em;font-weight:800;letter-spacing:.05em;line-height:1;color:#7c3aed}[data-seating-chart] .board{position:absolute;box-sizing:border-box;display:flex;align-items:center;justify-content:center;border-radius:.3rem;background:linear-gradient(180deg,#2563eb,#1d4fa0);font-size:.6875rem;font-weight:700;letter-spacing:.09em;color:#fff;box-shadow:0 2px 6px #1d4fa059}@media (prefers-reduced-motion:no-preference){[data-seating-chart] .desk:hover{transform:translateY(-1px)}[data-seating-chart] .desk.is-drop-target{transform:scale(1.04)}[data-seating-chart] .desk.is-dragging{transform:scale(.96)}}.dark [data-seating-chart] .desk:hover{border-color:#60a5fa}.dark [data-seating-chart] .desk.is-empty{border-color:#334155;background:#0f172a;color:#64748b}.dark [data-seating-chart] .desk.is-empty:hover{border-color:#3b82f6;background:#14243d;color:#93c5fd}.dark [data-seating-chart] .desk.is-drop-target{border-color:#10b981;background:#052e23}.dark [data-seating-chart] .desk-front{color:#c4b5fd}@media print{@page{size:landscape;margin:.4in}header,footer,#header,#footer,nav,section:not(#seating-chart-generator),[data-seating-chart]>div:first-child,[data-seating-chart]>div:nth-child(2)>div:first-child,[data-seat-actions],[data-unseated-tray],[data-alerts],[data-desk-tooltip],.desk-chair,.rounded-md:has([data-export-pdf]),button:not(.desk),select,input,textarea{display:none!important}body,main,#seating-chart-generator,#seating-chart-generator>div,[data-seating-chart],[data-seating-chart]>div:nth-child(2),[data-seating-chart]>div:nth-child(2)>div:last-child{background:0 0!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0!important;width:100%!important;max-width:100%!important}.print\:flex{display:flex!important}[data-chart]{border:1px solid #cbd5e1!important;background:#fff!important;width:100%!important;min-width:0!important;aspect-ratio:1000/680!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.desk{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;border:1px solid #94a3b8!important;background:#fff!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;box-shadow:none!important}.desk.is-empty{background:#f8fafc!important;color:#94a3b8!important}.board{background:#1e293b!important;color:#fff!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}