.grid-root{gap:12px;min-width:0;display:grid}.grid-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.grid-bar-state,.grid-bar-actions{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.grid-status{color:var(--text-muted);min-height:1.25em;margin:0;font-size:.8125rem}.grid-hint{color:var(--text-muted);max-width:64ch;margin:0;font-size:.8125rem}.grid-empty{border:1px dashed var(--line-strong);border-radius:var(--radius-lg);color:var(--text-muted);margin:0;padding:32px 16px}.grid-bar button[aria-disabled=true]{opacity:.45;cursor:not-allowed}.grid-stack{gap:16px;min-width:0;display:grid}.grid-surface{min-width:0}.grid-cell{border-radius:var(--radius-lg);min-width:0;position:relative}.grid-surface .grid-cell{overflow:auto}.grid-cell[data-editing]{outline:1px dashed var(--line-strong);outline-offset:2px}.grid-tools{z-index:3;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-2);gap:2px;padding:2px;display:flex;position:absolute;top:6px;right:6px}.grid-tool,.grid-drag-handle{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text);cursor:pointer;background:0 0;border:0;place-items:center;display:inline-grid}.grid-tool:hover{background:var(--signal-soft)}.grid-tool[aria-disabled=true]{color:var(--text-faint);cursor:not-allowed}.grid-tool:focus-visible,.grid-bar button:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.grid-drag-handle{cursor:grab;color:var(--text-muted);touch-action:none}.grid-drag-handle:active{cursor:grabbing}@media (pointer:coarse){.grid-tool,.grid-drag-handle{width:40px;height:40px}}.grid-cell[data-pulse]{animation:1.6s ease-out grid-pulse}@keyframes grid-pulse{0%{box-shadow:0 0 0 0 var(--signal)}70%{box-shadow:0 0 0 10px #0000}to{box-shadow:0 0 #0000}}@media (prefers-reduced-motion:reduce){.grid-cell[data-pulse]{outline:2px solid var(--signal);outline-offset:2px;animation:none}}.grid-surface .react-grid-item.react-grid-placeholder{background:var(--signal-soft);border-radius:var(--radius-lg);opacity:1}.grid-surface .react-grid-item>.react-resizable-handle:after{border-color:var(--text-muted)}
