:root{--font-family:system-ui, sans-serif;--font-weight-normal:400;--size-control-height:30px;--size-header-height:48px;--size-sheet-tabs-height:40px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--radius-control:12px;--radius-sm:var(--radius-control);--radius-md:var(--radius-control);--radius-pill:999px;--color-bg:#f4f6f9;--color-bg-top:#f8fafc;--color-bg-glow:#1665d814;--color-surface:#fff;--color-surface-muted:#f7f9fc;--color-surface-hover:#eef3fa;--color-text:#1e293b;--color-text-muted:#64748b;--color-on-accent:#fff;--color-accent:#1665d8;--color-accent-soft:#1665d824;--color-danger:#b42318;--color-border:#d6dce7;--color-border-strong:#bfccdc;--color-tab-active-bg:#dbeafe;--color-tab-active-border:#bfdbfe;--color-tab-active-text:#1e40af;--focus-ring:0 0 0 2px #1665d838;--shadow-overlay:0 14px 34px #0f172a24}:root[data-theme=dark]{--color-bg:#0f172a;--color-bg-top:#111827;--color-bg-glow:#38bdf814;--color-surface:#111827;--color-surface-muted:#1f2937;--color-surface-hover:#263447;--color-text:#e2e8f0;--color-text-muted:#94a3b8;--color-on-accent:#f8fafc;--color-accent:#60a5fa;--color-accent-soft:#60a5fa38;--color-danger:#f87171;--color-border:#334155;--color-border-strong:#475569;--color-tab-active-bg:#1d4f8f;--color-tab-active-border:#2f67ad;--color-tab-active-text:#dbeafe;--focus-ring:0 0 0 2px #60a5fa57;--shadow-overlay:0 20px 40px #02061773}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{font-family:var(--font-family);font-weight:var(--font-weight-normal);color:var(--color-text);background:radial-gradient(circle at top right, var(--color-bg-glow), transparent 38%), linear-gradient(180deg, var(--color-bg-top) 0%, var(--color-bg) 100%);overflow:hidden}button,input,select,textarea{font-family:var(--font-family);font-weight:var(--font-weight-normal);color:var(--color-text);font-size:13px}.icon-sprite{width:0;height:0;position:absolute;overflow:hidden}.icon{fill:none;stroke:currentColor;stroke-width:1.75px;pointer-events:none;flex:none;width:16px;height:16px}.app-shell{grid-template-rows:auto auto minmax(0,1fr);height:100vh;display:grid}.app-header{min-height:var(--size-header-height);justify-content:space-between;align-items:center;gap:var(--space-3);background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:8px 12px;display:flex}.brand-block{align-items:center;gap:var(--space-2);min-width:0;display:flex}.brand-block h1{letter-spacing:0;margin:0;font-size:15px;font-weight:650}.header-actions{align-items:center;gap:6px;min-width:0;display:flex}.presence{gap:6px;min-width:0;padding:2px;display:flex;overflow:auto}.presence-badge{color:var(--color-on-accent);border-radius:var(--radius-pill);padding:var(--space-1) 10px;white-space:nowrap;font-size:11px;font-weight:600}.header-btn:not([hidden]),.toolbar button:not([hidden]),.sheet-tab:not([hidden]){height:var(--size-control-height);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted);color:var(--color-text);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.icon-btn{width:var(--size-control-height);padding:0}.chip-btn{padding:0 var(--space-2)}.header-btn:hover,.toolbar button:hover,.sheet-tab:hover{background:color-mix(in srgb, var(--color-surface-hover) 74%, var(--color-surface));border-color:var(--color-border-strong)}.header-btn.is-active,.toolbar button.is-active{background:var(--color-accent-soft);border-color:color-mix(in srgb, var(--color-accent) 36%, var(--color-border));color:var(--color-accent)}.header-btn.has-comments{border-color:color-mix(in srgb, var(--color-accent) 24%, var(--color-border))}.header-btn-count{background:color-mix(in srgb, var(--color-accent-soft) 74%, var(--color-surface));min-width:18px;height:18px;color:var(--color-accent);border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-size:10px;font-weight:800;line-height:1;display:inline-flex}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:var(--focus-ring);outline:none}button:disabled{opacity:.45;cursor:default}.chrome-stack{background:0 0;border-bottom:0;gap:8px;padding:10px 12px 8px;display:grid}.chrome-details,.surface-details{border:1px solid var(--color-border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-surface) 78%, var(--color-surface-muted));overflow:clip}.chrome-details[hidden],.surface-details[hidden]{display:none}.chrome-details summary,.surface-details summary{cursor:pointer;user-select:none;align-items:center;padding:8px 12px;list-style:none;display:flex}.chrome-details summary::-webkit-details-marker,.surface-details summary::-webkit-details-marker{display:none}.chrome-summary-copy{justify-content:space-between;align-items:center;gap:12px;width:100%;min-width:0;display:flex}.chrome-summary-title{letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted);font-size:10px;font-weight:700}.chrome-summary-meta{min-width:0;color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;text-align:right;font-size:11px;font-weight:600;overflow:hidden}.chrome-details summary:after,.surface-details summary:after{content:"▾";color:var(--color-text-muted);margin-left:8px;font-size:13px;font-weight:700;line-height:1;transition:transform .12s}.chrome-details[open] summary:after,.surface-details[open] summary:after{transform:rotate(180deg)}.chrome-details-body{border-top:1px solid var(--color-border);gap:8px;padding:10px;display:grid}.toolbar{background:0 0;border-bottom:0;flex-wrap:wrap;align-items:center;gap:8px;padding:0;display:flex}.toolbar-section{border-right:1px solid var(--color-border);align-items:center;gap:6px;margin-right:2px;padding-right:8px;display:inline-flex}.toolbar-section[hidden]{display:none}.toolbar-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;padding:0 2px;font-size:10px;font-weight:600}.toolbar-section:last-child{border-right:none;margin-right:0;padding-right:0}.format-btn{width:var(--size-control-height);padding:0}.format-glyph{font-size:14px;font-weight:700;line-height:1}.format-glyph-italic{font-style:italic}input:not([type=checkbox]):not([type=radio]),select,textarea{height:var(--size-control-height);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);outline:none;padding:0 9px}select{-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--color-text-muted) 50%), linear-gradient(135deg, var(--color-text-muted) 50%, transparent 50%);background-position:calc(100% - 16px) calc(50% - 1px),calc(100% - 11px) calc(50% - 1px);background-repeat:no-repeat;background-size:5px 5px;padding-right:30px}textarea{resize:vertical;height:auto;min-height:96px;padding:9px}input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-accent)}#filter-col-input{width:64px}#filter-query-input{width:132px}#structured-view-select{min-width:160px}#display-format-select{min-width:102px}#format-fill-select{display:none}.toolbar-popover-wrap{position:relative}.color-swatch-group{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.toolbar-color-swatches{gap:10px;max-width:260px}.toolbar .format-color-btn:not([hidden]){width:var(--size-control-height);min-width:var(--size-control-height);box-shadow:none;background:0 0;border-color:#0000;padding:0}.toolbar .format-color-btn:hover:not(:disabled){background:0 0;border-color:#0000}.toolbar .format-color-btn.is-active{color:inherit;background:0 0;border-color:#0000}.format-color-trigger-swatch{border:1px solid color-mix(in srgb, var(--color-border) 88%, black 12%);background:var(--swatch-color,transparent);border-radius:999px;flex:none;width:18px;height:18px;box-shadow:inset 0 0 0 1px #ffffff8a}.toolbar .format-color-btn:hover:not(:disabled) .format-color-trigger-swatch,.toolbar .format-color-btn.is-active .format-color-trigger-swatch{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent-soft) 88%, transparent), inset 0 0 0 1px #ffffff8a}.format-color-trigger-swatch.is-clear{background:linear-gradient(135deg, transparent calc(50% - 1px), var(--color-danger) calc(50% - 1px), var(--color-danger) calc(50% + 1px), transparent calc(50% + 1px)), var(--color-surface)}.color-popover{z-index:16;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);min-width:228px;box-shadow:var(--shadow-overlay);padding:12px;position:absolute;top:calc(100% + 10px);left:0}.color-popover[hidden]{display:none}.color-swatch-btn,.toolbar .color-swatch-btn:not([hidden]){border:1px solid color-mix(in srgb, var(--color-border) 88%, black 12%);background:var(--swatch-color,transparent);border-radius:999px;justify-content:center;align-items:center;gap:0;width:22px;min-width:22px;height:22px;padding:0;transition:transform .14s,border-color .14s,box-shadow .14s;display:inline-flex;position:relative;box-shadow:inset 0 0 0 1px #ffffff80}.color-swatch-btn:hover:not(:disabled),.toolbar .color-swatch-btn:hover:not(:disabled){background:var(--swatch-color,transparent);transform:translateY(-1px)}.color-swatch-btn.is-active,.toolbar .color-swatch-btn.is-active{border-color:var(--color-accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-accent) 28%, transparent), inset 0 0 0 1px #ffffff8a;background:var(--swatch-color,transparent)}.color-swatch-btn.is-compact{width:20px;height:20px}.color-swatch-btn.is-clear{background:linear-gradient(135deg, transparent calc(50% - 1px), var(--color-danger) calc(50% - 1px), var(--color-danger) calc(50% + 1px), transparent calc(50% + 1px)), var(--color-surface);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-border) 86%, white 14%)}.color-swatch-btn:disabled{opacity:.48;cursor:not-allowed;transform:none}.formula-strip{background:0 0;border:0;border-radius:0;align-items:center;gap:10px;min-width:0;min-height:0;padding:0;display:flex}#formula-label{min-width:42px;color:var(--color-text-muted);text-align:left;white-space:nowrap;padding-right:10px;font-size:11px;font-weight:600}#formula-input,#formula-select{width:100%;min-width:0}.formula-multi-select{align-items:center;gap:8px;width:100%;min-width:0;height:100%;display:flex;overflow:hidden}.formula-editor{border:1px solid color-mix(in srgb, var(--color-border) 84%, transparent);background:color-mix(in srgb, var(--color-surface) 94%, var(--color-surface-muted));border-radius:999px;flex:auto;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-width:0;height:40px;min-height:40px;padding:0 12px;display:grid;position:relative;box-shadow:inset 0 1px #ffffff75,0 1px 2px #0000000f}.formula-editor:focus-within{border-color:color-mix(in srgb, var(--color-accent) 36%, var(--color-border));box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent-soft) 82%, transparent), inset 0 1px 0 #ffffff75}.formula-control{align-items:center;min-width:0;height:100%;min-height:100%;display:flex;position:relative}.formula-assist{z-index:18;gap:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0}.formula-assist[hidden]{display:none}.formula-error{border:1px solid color-mix(in srgb, var(--color-danger) 34%, var(--color-border-strong));border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-danger) 10%, var(--color-surface));color:var(--color-danger);box-shadow:var(--shadow-overlay);z-index:18;padding:9px 11px;font-size:12px;font-weight:600;position:absolute;top:calc(100% + 6px);left:0;right:0}#formula-error[hidden]{display:none}.formula-signature,.formula-autocomplete{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-surface) 92%, var(--color-surface-muted));box-shadow:var(--shadow-overlay)}.formula-signature{color:var(--color-text-muted);padding:9px 11px;font-size:12px}.formula-signature strong{color:var(--color-text);font-weight:700}.formula-autocomplete{display:grid;overflow:hidden}.formula-autocomplete button{border:0;border-top:1px solid var(--color-border);text-align:left;background:0 0;gap:4px;width:100%;padding:9px 11px;display:grid}.formula-autocomplete button:first-child{border-top:0}.formula-autocomplete button:hover,.formula-autocomplete button.is-active{background:color-mix(in srgb, var(--color-accent-soft) 64%, var(--color-surface))}.formula-autocomplete-title{color:var(--color-text);font-size:12px;font-weight:700}.formula-autocomplete-title code{font-family:inherit;font-size:inherit}.formula-autocomplete-summary{color:var(--color-text-muted);font-size:11px}.formula-actions{flex:none;align-items:center;gap:6px;display:inline-flex}.formula-checkbox{background:0 0;border:0;border-radius:0;align-items:center;gap:8px;width:100%;min-height:30px;padding:0;display:inline-flex}.formula-checkbox span{color:var(--color-text-muted);font-size:12px;font-weight:600}#formula-checkbox-wrap[hidden],#formula-multi-select-wrap[hidden],#formula-actions[hidden]{display:none}.formula-preview,#formula-input,#formula-select,#formula-multi-select-wrap,#formula-checkbox-wrap{width:100%;min-width:0}.formula-preview{pointer-events:none;white-space:nowrap;border-radius:999px;align-items:center;padding:0;font-size:13px;line-height:1;display:flex;position:absolute;inset:0;overflow:hidden}#formula-input.is-rich-preview{z-index:1;color:#0000;caret-color:var(--color-text);background:0 0;position:relative}.formula-editor :is(#formula-input,#formula-select,#formula-multi-select-add){height:100%;min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;line-height:1}.formula-control :is(#formula-input,#formula-select,#formula-multi-select-add){width:100%}.formula-editor :is(#formula-input,#formula-select,#formula-multi-select-add):focus-visible{box-shadow:none}#formula-select{appearance:none;height:100%;padding-right:20px;display:block}#formula-multi-select-wrap{padding:0}#formula-multi-select-add{max-width:11.5rem;color:var(--color-text);flex:0 0 11.5rem}#formula-multi-select-list{flex-wrap:nowrap;flex:auto;min-width:0;padding:2px 0;overflow:auto hidden}.formula-token-ref{color:var(--color-accent);font-weight:700}.formula-token-fn{color:#0f766e;font-weight:700}.formula-token-op{color:var(--color-text-muted)}.formula-token-num{color:#7c3aed;font-weight:600}.formula-token-text{color:var(--color-text)}:root[data-theme=dark] .formula-token-fn{color:#5eead4}:root[data-theme=dark] .formula-token-num{color:#c4b5fd}.workspace{min-height:0;padding:10px 12px 12px;overflow:hidden}.grid-wrapper{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);grid-template-rows:auto auto minmax(0,1fr) auto;height:100%;min-height:0;display:grid;overflow:hidden}.grid-scroll{grid-row:3;min-height:0;overflow:auto}.surface-details{border:0;border-bottom:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 88%, var(--color-surface-muted));border-radius:0}#structured-surface-details{grid-row:1}#structured-field-details{grid-row:2}.surface-details summary{padding:9px 14px}.structured-surface{border-top:1px solid var(--color-border);gap:14px;min-height:0;padding:10px 14px 14px;display:grid;overflow:auto}.structured-field-surface{padding-top:8px}.grid-scroll:focus-visible{box-shadow:inset var(--focus-ring);outline:none}.grid-table{border-collapse:separate;border-spacing:0;user-select:none;width:max-content;min-width:100%}.grid-table th,.grid-table td{border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);min-width:112px;max-width:240px;height:var(--size-control-height);white-space:nowrap;text-overflow:ellipsis;background:var(--color-surface);padding:4px 8px;font-size:12px;line-height:1.3;position:relative;overflow:hidden}.grid-table td.cell{background:var(--cell-background,var(--color-surface));color:var(--cell-foreground,var(--color-text));text-align:var(--cell-text-align,left);font-weight:var(--cell-font-weight,400);font-style:var(--cell-font-style,normal)}.grid-table th{z-index:3;background:var(--color-surface-muted);color:var(--color-text-muted);font-size:12px;font-weight:600;position:sticky;top:0}.field-header{align-items:start;gap:3px;display:grid}.field-header-top,.freeform-header-top{align-items:center;gap:6px;min-width:0;display:flex}.field-header-name{color:var(--color-text);text-overflow:ellipsis;min-width:0;font-size:12px;font-weight:600;overflow:hidden}.field-type-pill{border-radius:var(--radius-pill);background:var(--color-accent-soft);width:fit-content;color:var(--color-accent);letter-spacing:.04em;text-transform:uppercase;justify-content:center;align-items:center;padding:1px 6px;font-size:10px;font-weight:700;display:inline-flex}.field-header-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.field-type-pill.is-primary{background:color-mix(in srgb, var(--color-surface) 72%, var(--color-accent-soft));color:var(--color-text)}.freeform-header{align-items:start;gap:2px;display:grid}.freeform-header-name{color:var(--color-text);text-overflow:ellipsis;min-width:0;font-size:12px;font-weight:600;overflow:hidden}.freeform-header-meta{color:var(--color-text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:700}.grid-table th.is-selected-field{background:color-mix(in srgb, var(--color-accent-soft) 70%, var(--color-surface-muted))}.grid-table th.is-sorted{background:color-mix(in srgb, var(--color-accent-soft) 46%, var(--color-surface-muted))}.grid-table th.corner{z-index:5;min-width:56px;max-width:56px;left:0}.grid-table td.row-label{z-index:2;background:var(--color-surface-muted);text-align:center;min-width:56px;max-width:56px;color:var(--color-text-muted);font-size:12px;position:sticky;left:0}.grid-table th[data-col],.grid-table td.row-label{user-select:none;transition:background .14s,box-shadow .14s,transform .14s,opacity .14s}.grid-table th.column-header,.grid-table td.row-label{cursor:default}.column-sort-indicator{background:color-mix(in srgb, var(--color-accent-soft) 70%, var(--color-surface));min-width:18px;height:18px;color:var(--color-accent);letter-spacing:.04em;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0 5px;font-size:10px;font-weight:800;display:inline-flex}.grid-table th.is-axis-selected,.grid-table td.row-label.is-axis-selected{background:color-mix(in srgb, var(--color-accent-soft) 62%, var(--color-surface-muted));color:var(--color-accent)}.grid-table th.is-resize-ready,.grid-table td.row-label.is-resize-ready{overflow:visible}.grid-table th.is-resize-ready{cursor:col-resize}.grid-table td.row-label.is-resize-ready{cursor:row-resize}.grid-table th.is-resize-ready:after,.grid-table td.row-label.is-resize-ready:after{content:"";background:color-mix(in srgb, var(--color-accent) 55%, transparent);opacity:.92;border-radius:999px;position:absolute}.grid-table th.is-resize-ready:after{width:4px;top:6px;bottom:6px;right:-1px}.grid-table td.row-label.is-resize-ready:after{height:4px;bottom:-1px;left:8px;right:8px}.grid-table.is-column-dragging th.column-header,.grid-table.is-row-dragging td.row-label{cursor:grabbing}.grid-table th.is-drag-source,.grid-table td.row-label.is-drag-source{background:color-mix(in srgb, var(--color-accent-soft) 82%, var(--color-surface));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-accent) 24%, transparent);opacity:.92;transform:scale(.985)}.grid-table th.is-drop-target,.grid-table td.row-label.is-drop-target{background:color-mix(in srgb, var(--color-accent-soft) 36%, var(--color-surface-muted))}.grid-table th.is-drop-target:before,.grid-table td.row-label.is-drop-target:before{content:"";background:var(--color-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent-soft) 76%, transparent);border-radius:999px;position:absolute}.grid-table th.is-drop-target-before:before{width:3px;top:4px;bottom:4px;left:-2px}.grid-table th.is-drop-target-after:before{width:3px;top:4px;bottom:4px;right:-2px}.grid-table td.row-label.is-drop-target-before:before{height:3px;top:-2px;left:8px;right:8px}.grid-table td.row-label.is-drop-target-after:before{height:3px;bottom:-2px;left:8px;right:8px}.group-row td{background:var(--color-surface-muted);color:var(--color-text-muted);font-size:12px;font-weight:600}.table-add-record-cell{background:color-mix(in srgb, var(--color-surface) 88%, var(--color-surface-muted));padding:0}.table-add-record-btn{width:100%;min-height:42px;color:var(--color-accent);background:0 0;border:0;border-radius:0;justify-content:flex-start;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex}.table-add-record-btn:hover{background:color-mix(in srgb, var(--color-accent-soft) 58%, var(--color-surface))}.table-add-record-row .icon{flex:none;width:16px;height:16px}.table-add-record-btn span{line-height:1}.grid-table td.cell.selected{box-shadow:inset 0 0 0 2px var(--color-accent);z-index:1;overflow:visible}.grid-table td.cell.selected-range{background:color-mix(in srgb, var(--color-accent-soft) 72%, var(--cell-background,var(--color-surface)))}.grid-table td.cell.has-fill-handle{z-index:2;overflow:visible}.grid-table td.cell.fill-preview{background:color-mix(in srgb, var(--color-accent-soft) 46%, var(--cell-background,var(--color-surface)));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-accent) 42%, transparent)}.fill-handle{border:2px solid var(--color-surface);background:var(--color-accent);width:10px;height:10px;box-shadow:0 0 0 1px color-mix(in srgb, var(--color-accent) 50%, transparent);cursor:crosshair;z-index:6;border-radius:999px;position:absolute;bottom:-5px;right:-5px}.fill-handle:hover{transform:scale(1.08)}.grid-table td.cell.has-comments:after{content:"";background:color-mix(in srgb, var(--color-text-muted) 82%, transparent);width:7px;height:7px;box-shadow:0 0 0 2px var(--color-surface);border-radius:999px;position:absolute;top:4px;right:4px}.grid-table td.cell.has-open-comments:after{background:var(--color-accent)}.grid-table td.cell.has-chip{padding-top:4px;padding-bottom:4px}.grid-table td.cell.has-inline-editor{padding:2px 8px}.grid-table td.cell.has-chip-stack{white-space:normal}.grid-table td.cell.remote{box-shadow:inset 0 0 0 2px var(--remote-color,var(--color-accent))}.grid-table td.cell.error{color:var(--color-danger);font-weight:600}.grid-table td.cell.cell-number{font-variant-numeric:tabular-nums}.grid-table td.cell.cell-formula{color:color-mix(in srgb, var(--color-accent) 78%, var(--cell-foreground,var(--color-text)))}.grid-table td.cell.cell-image{padding:4px}.formula-result-display{align-items:center;gap:7px;min-width:100%;display:inline-flex}.formula-result-prefix{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;flex:none;font-size:10px;font-weight:800}.cell-number-value{min-width:100%;text-align:inherit;font-variant-numeric:tabular-nums;display:inline-block}.cell-inline-input,.cell-inline-select{border-radius:var(--radius-control);background:color-mix(in srgb, var(--color-surface) 88%, var(--color-surface-muted));width:100%;min-width:0;min-height:26px;color:var(--color-text);font:inherit;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-accent) 14%, var(--color-border));border:0;padding:0 8px}.cell-inline-input:focus,.cell-inline-select:focus{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-accent) 32%, var(--color-border)), 0 0 0 2px color-mix(in srgb, var(--color-accent-soft) 80%, transparent);outline:none}.cell-inline-checkbox{min-height:26px;color:var(--color-text);align-items:center;gap:8px;font-size:12px;font-weight:600;display:inline-flex}.cell-inline-checkbox-input{margin:0}.cell-inline-multi-select{gap:6px;display:grid}.cell-inline-empty{color:var(--color-text-muted);font-size:11px;font-weight:600}.grid-table td.frozen-col,.grid-table th.frozen-col,.grid-table td.frozen-row{background:var(--cell-background,var(--color-surface));position:sticky}.grid-table td.row-label.frozen-row{background:var(--color-surface-muted)}.sheet-tabs{height:var(--size-sheet-tabs-height);border-top:1px solid var(--color-border);background:var(--color-surface-muted);grid-row:4;align-items:center;gap:6px;padding:5px 8px;display:flex;overflow:auto}.sheet-tab.active{background:var(--color-tab-active-bg);border-color:var(--color-tab-active-border);color:var(--color-tab-active-text)}.sheet-tab.add{min-width:var(--size-control-height);font-weight:700}.sheet-tab{position:relative}.sheet-tab.is-drag-source{background:color-mix(in srgb, var(--color-accent-soft) 82%, var(--color-surface));border-color:color-mix(in srgb, var(--color-accent) 24%, var(--color-border));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-accent) 24%, transparent);opacity:.92;transform:scale(.985)}.sheet-tab.is-drop-target{background:color-mix(in srgb, var(--color-accent-soft) 36%, var(--color-surface-muted))}.sheet-tab.is-drop-target:before{content:"";background:var(--color-accent);width:3px;box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent-soft) 76%, transparent);border-radius:999px;position:absolute;top:5px;bottom:5px}.sheet-tab.is-drop-target-before:before{left:-2px}.sheet-tab.is-drop-target-after:before{right:-2px}.inspector-panel{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);width:min(360px,100vw - 28px);max-height:calc(100vh - 90px);box-shadow:var(--shadow-overlay);padding:var(--space-3);z-index:20;position:fixed;top:74px;right:14px;overflow:auto}.record-panel{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);width:min(360px,100vw - 420px);max-height:calc(100vh - 90px);box-shadow:var(--shadow-overlay);padding:var(--space-3);z-index:19;position:fixed;top:74px;right:388px;overflow:auto}.record-panel-header,.surface-header{justify-content:space-between;align-items:flex-start;gap:var(--space-2);display:flex}.surface-card{gap:var(--space-3);display:grid}.surface-card h2,.surface-card h3{margin:0}.surface-card p{color:var(--color-text-muted);margin:0;font-size:12px;line-height:1.5}.structured-surface [hidden]{display:none}.surface-grid{align-items:start;gap:12px;display:grid}.surface-overview{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.surface-overview-copy{gap:3px;max-width:48rem;display:grid}.surface-overview-copy h2{letter-spacing:-.02em;margin:0;font-size:16px;line-height:1}.surface-section-head p{color:var(--color-text-muted);margin:0;font-size:12px;line-height:1.5}.surface-section{border-top:1px solid color-mix(in srgb, var(--color-border) 84%, transparent);gap:12px;padding-top:12px;display:grid}.surface-section.is-first{border-top:0;padding-top:0}.surface-section-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.surface-section-head h3{margin:2px 0 0;font-size:15px}.surface-caption{color:var(--color-text-muted);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:700}.surface-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.surface-meta-pill{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 68%, var(--color-surface-muted));min-height:1.6rem;color:var(--color-text-muted);white-space:nowrap;border-radius:999px;align-items:center;padding:.18rem .54rem;font-size:10px;font-weight:700;display:inline-flex}.surface-grid.two-up{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.schema-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.schema-form{gap:12px}.schema-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.schema-field-name{flex:18rem;min-width:0}.schema-field-type{flex:0 14rem;min-width:12rem}.schema-actions.surface-actions{flex:auto;grid-column:auto;justify-content:flex-end;align-self:end;margin-left:auto}.schema-choices{max-width:32rem}.schema-related-sheet{max-width:22rem}.schema-lookup-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.schema-context-note strong{color:var(--color-text)}.record-field{gap:6px;display:grid}.record-field label,.record-field>span{color:var(--color-text-muted);font-size:11px;font-weight:600}.record-field input[type=checkbox]{justify-self:start}.record-multiselect-list{flex-wrap:wrap;gap:8px;display:flex}.record-multiselect-option{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 74%, var(--color-surface-muted));min-height:32px;color:var(--color-text);border-radius:999px;align-items:center;gap:8px;padding:0 10px;font-size:12px;display:inline-flex}.record-multiselect-option input{margin:0}.record-image-stack{gap:8px;display:grid}.record-image-preview{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-muted);overflow:hidden}.record-image-preview img{object-fit:cover;width:100%;max-height:180px;display:block}.record-readonly{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted);padding:var(--space-2);font-size:13px}.surface-actions{gap:var(--space-2);flex-wrap:wrap;grid-column:1/-1;align-self:start;align-items:center;display:flex}.surface-choice-list{flex-wrap:wrap;gap:6px;display:flex}.conditional-form{gap:var(--space-3)}.conditional-range-field{flex:12rem}.conditional-operator-field,.conditional-value-field,.conditional-fill-field{flex:12rem;min-width:10rem}.conditional-actions.surface-actions{justify-content:flex-end;margin-left:auto}.conditional-rule-list{gap:10px;display:grid}.view-filter-field{gap:10px}.view-filter-list{gap:10px;display:grid}.view-filter-row{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1.2fr) auto;align-items:center;gap:10px;display:grid}.conditional-rule-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-surface) 86%, var(--color-surface-muted));cursor:grab;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;transition:border-color .14s,box-shadow .14s,transform .14s,background .14s;display:flex}.conditional-rule-copy{gap:4px;display:grid}.conditional-rule-priority{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700}.conditional-rule-title{color:var(--color-text);font-size:13px;font-weight:700}.conditional-rule-value{color:var(--color-accent)}.conditional-rule-meta,.conditional-rule-empty{color:var(--color-text-muted);font-size:12px}.conditional-rule-actions{flex-wrap:wrap;align-items:center;gap:10px;display:inline-flex}.conditional-rule-card.is-drag-source{opacity:.88;background:color-mix(in srgb, var(--color-accent-soft) 48%, var(--color-surface));transform:scale(.99)}.conditional-rule-card.is-drop-target{background:color-mix(in srgb, var(--color-accent-soft) 34%, var(--color-surface-muted))}.conditional-rule-card.is-drop-target:before{content:"";background:var(--color-accent);height:3px;box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent-soft) 72%, transparent);border-radius:999px;position:absolute;left:14px;right:14px}.conditional-rule-card.is-drop-target-before:before{top:-2px}.conditional-rule-card.is-drop-target-after:before{bottom:-2px}.conditional-rule-swatch{border:1px solid var(--color-border);background:var(--swatch-color,var(--color-surface-muted));border-radius:999px;width:18px;height:18px}.surface-choice-token{border:1px solid color-mix(in srgb, var(--color-accent) 20%, var(--color-border));background:color-mix(in srgb, var(--color-accent-soft) 68%, var(--color-surface));min-height:26px;color:var(--color-accent);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 10px;font-size:11px;font-weight:700;display:inline-flex}.surface-choice-token:hover{border-color:color-mix(in srgb, var(--color-accent) 34%, var(--color-border))}.button{min-height:var(--size-control-height);white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:0 12px;font-size:12px;font-weight:700;line-height:1;transition:background .14s,border-color .14s,box-shadow .14s;display:inline-flex}.button-primary{background:var(--color-accent);border-color:color-mix(in srgb, var(--color-accent) 70%, black);color:var(--color-on-accent);box-shadow:0 10px 18px color-mix(in srgb, var(--color-accent) 22%, transparent)}.button-primary:hover{background:color-mix(in srgb, var(--color-accent) 88%, white)}.button-secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.button-secondary:hover{background:var(--color-surface-hover);border-color:var(--color-border-strong)}.cell-chip{white-space:nowrap;text-overflow:ellipsis;border:1px solid #0000;border-radius:999px;align-items:center;max-width:100%;min-height:22px;padding:0 9px;font-size:11px;font-weight:700;line-height:1;display:inline-flex;overflow:hidden}.cell-chip-stack{flex-wrap:wrap;gap:4px;max-width:100%;display:flex}.cell-chip-link,.cell-chip-email{text-decoration:none}.cell-chip-muted{background:color-mix(in srgb, var(--color-surface-muted) 84%, var(--color-surface));border-color:var(--color-border);color:var(--color-text-muted)}.cell-chip-success{background:color-mix(in srgb, #3ba56a 18%, var(--color-surface));border-color:color-mix(in srgb, #3ba56a 36%, var(--color-border));color:#2f8b59}.cell-chip-select{background:color-mix(in srgb, var(--color-accent-soft) 72%, var(--color-surface));border-color:color-mix(in srgb, var(--color-accent) 24%, var(--color-border));color:var(--color-accent)}.cell-chip-date{background:color-mix(in srgb, #e0b14a 16%, var(--color-surface));border-color:color-mix(in srgb, #d49c21 26%, var(--color-border));color:#b47111}.cell-chip-link{background:color-mix(in srgb, #2b7fff 14%, var(--color-surface));border-color:color-mix(in srgb, #2b7fff 26%, var(--color-border));color:#245fba}.cell-chip-email{background:color-mix(in srgb, #7c5cff 14%, var(--color-surface));border-color:color-mix(in srgb, #7c5cff 26%, var(--color-border));color:#5f49bc}.cell-chip-formula{background:color-mix(in srgb, #22a699 15%, var(--color-surface));border-color:color-mix(in srgb, #22a699 28%, var(--color-border));color:#1c857a}.cell-image-frame{background:color-mix(in srgb, var(--color-surface-muted) 84%, var(--color-surface));border:1px solid var(--color-border);border-radius:10px;align-items:center;width:100%;min-height:44px;padding:3px;display:flex}.cell-image-frame img{object-fit:cover;border-radius:8px;width:100%;max-height:64px;display:block}:root[data-theme=dark] .cell-chip-success{color:#8edcb1}:root[data-theme=dark] .cell-chip-date{color:#f0c36a}:root[data-theme=dark] .cell-chip-link{color:#8db7ff}:root[data-theme=dark] .cell-chip-email{color:#b6a6ff}:root[data-theme=dark] .cell-chip-formula{color:#71d9d0}.drag-preview{z-index:40;pointer-events:none;border:1px solid color-mix(in srgb, var(--color-accent) 22%, var(--color-border));background:color-mix(in srgb, var(--color-surface) 82%, var(--color-surface-muted));max-width:18rem;color:var(--color-text);box-shadow:var(--shadow-overlay);border-radius:999px;padding:9px 12px;font-size:12px;font-weight:700;position:fixed}.context-menu{z-index:45;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-surface) 92%, var(--color-surface-muted));min-width:210px;box-shadow:var(--shadow-overlay);gap:4px;padding:6px;display:grid;position:fixed}.context-menu[hidden]{display:none}.context-menu-item{border-radius:var(--radius-sm);min-height:34px;color:var(--color-text);text-align:left;background:0 0;border:0;padding:0 10px;font-size:13px;font-weight:600}.context-menu-item:hover{background:var(--color-surface-hover)}.context-menu-item.is-danger{color:var(--color-danger)}.panel-section h2{margin:0 0 var(--space-2);font-size:14px}.modal-overlay{z-index:48;background:color-mix(in srgb, var(--color-bg) 38%, transparent);backdrop-filter:blur(8px);place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-overlay[hidden]{display:none}.modal-card{border:1px solid var(--color-border-strong);background:color-mix(in srgb, var(--color-surface) 94%, var(--color-surface-muted));width:min(560px,100vw - 40px);max-height:min(78vh,720px);box-shadow:var(--shadow-overlay);border-radius:22px;padding:18px 18px 16px;overflow:auto}.modal-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.modal-header h2{letter-spacing:-.03em;margin:0;font-size:24px;line-height:1}.modal-header p{color:var(--color-text-muted);margin:6px 0 0;font-size:13px;line-height:1.5}.modal-close-btn{flex:none}.modal-actions{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.revision-modal-list{gap:10px;display:grid}.revision-item,.revision-empty{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 90%, var(--color-surface-muted));border-radius:16px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.revision-item-copy{gap:4px;min-width:0;display:grid}.revision-item-copy h3{margin:0;font-size:14px}.revision-item-copy p,.revision-empty{color:var(--color-text-muted);margin:0;font-size:12px}.list{gap:var(--space-2);display:grid}.comment-card,.info-row{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);padding:var(--space-2);font-size:12px}.details-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-surface) 88%, var(--color-surface-muted));gap:12px;padding:12px;display:grid}.details-grid{gap:8px;display:grid}.info-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.info-row span{color:var(--color-text-muted)}.info-row strong{color:var(--color-text);text-align:right;overflow-wrap:anywhere}.details-card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.details-card-meta{color:var(--color-text-muted);font-size:11px;font-weight:600}.status-pill{background:var(--color-surface-muted);min-height:24px;color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;padding:0 10px;font-size:11px;font-weight:800;display:inline-flex}.status-pill.is-online{background:color-mix(in srgb, #d1fae5 74%, var(--color-surface));color:#047857}.status-pill.is-local{background:color-mix(in srgb, var(--color-accent-soft) 72%, var(--color-surface));color:var(--color-accent)}.status-pill.is-error{background:color-mix(in srgb, var(--color-danger) 14%, var(--color-surface));color:var(--color-danger)}.connection-note{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-muted);padding:10px 12px;font-size:12px}.connection-note.is-error{border-color:color-mix(in srgb, var(--color-danger) 28%, var(--color-border));background:color-mix(in srgb, var(--color-danger) 8%, var(--color-surface));color:var(--color-danger)}.details-connection-form{gap:12px}.details-connection-actions{justify-content:flex-end}.details-stack{gap:10px;display:grid}.details-list-row{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.details-row-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.details-list-copy{gap:4px;min-width:0;display:grid}.details-list-copy strong{color:var(--color-text)}.details-list-meta{color:var(--color-text-muted);font-size:11px}.details-inline-link{color:var(--color-accent);font-size:12px;font-weight:600;text-decoration:none}.details-inline-link:hover{text-decoration:underline}.details-empty{border:1px dashed var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);background:color-mix(in srgb, var(--color-surface) 85%, var(--color-surface-muted));padding:12px;font-size:12px}.details-subhead{color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;margin:8px 0 0;font-size:11px;font-weight:800}.details-code{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted);max-width:100%;color:var(--color-text);white-space:pre;margin-top:8px;padding:8px;font-size:11px;line-height:1.45;display:block;overflow:auto}.comment-meta{color:var(--color-text-muted);font-size:11px}@media (width<=980px){.toolbar{padding:var(--space-2)}.toolbar-section{border-right:none;padding-right:0}.inspector-panel{top:auto;right:var(--space-2);left:var(--space-2);bottom:calc(var(--size-sheet-tabs-height) + var(--space-2));width:auto;max-height:42vh}.record-panel{right:var(--space-2);left:var(--space-2);top:auto;bottom:calc(42vh + var(--size-sheet-tabs-height) + 20px);width:auto;max-height:32vh}.schema-grid{grid-template-columns:1fr}.modal-card{width:calc(100vw - 20px);padding:16px 14px 14px}.revision-item{flex-direction:column;align-items:flex-start}.surface-actions{grid-column:1}.schema-row{grid-template-columns:1fr;display:grid}.schema-field-type{min-width:0}.schema-actions.surface-actions{justify-content:flex-start;margin-left:0}.schema-choices{max-width:none}.view-filter-row{grid-template-columns:1fr}}