:root{--accent:#188038;--accent-strong:#137333;--accent-bg:#ceead6;--band:#f3f3f3;--band-line:#c8c8c8;--line:#d4d4d4;--hover:#e6e6e6;--text:#202124;--text-dim:#5f6368;--disabled:#80868b;--focus:#188038}html,body,#root{height:100%;margin:0}body{color:var(--text);background:#fff;font:13px system-ui,sans-serif}.app{flex-direction:column;height:100%;display:flex}.icon-row button,.menubar>.menu-wrap>button,.sheet-add,.split-toggle,.dialog button,.doc-list button{color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px}:is(.icon-row button,.menubar>.menu-wrap>button,.sheet-add,.split-toggle,.dialog button,.doc-list button):hover:not(:disabled):not([aria-disabled=true]){background:var(--hover);border-color:var(--line)}:is(.icon-row button,.menubar>.menu-wrap>button,.sheet-add,.split-toggle,.dialog button,.doc-list button):active:not(:disabled):not([aria-disabled=true]){background:color-mix(in srgb, var(--hover) 86%, black);border-color:var(--line)}:is(.icon-row button,.menubar>.menu-wrap>button,.sheet-add,.split-toggle,.dialog button,.doc-list button):is([aria-pressed=true],[aria-checked=true],[aria-expanded=true]):not(:disabled):not([aria-disabled=true]){background:var(--accent-bg);border-color:var(--accent)}:is(.icon-row button,.menubar>.menu-wrap>button,.sheet-add,.split-toggle,.dialog button,.doc-list button):is([aria-pressed=true],[aria-checked=true],[aria-expanded=true]):active:not(:disabled):not([aria-disabled=true]){background:color-mix(in srgb, var(--accent-bg) 86%, black)}:is(.icon-row button,.menubar>.menu-wrap>button,.sheet-add,.split-toggle,.dialog button,.doc-list button):is(:disabled,[aria-disabled=true]){color:var(--disabled);cursor:default}:is(.icon-row button,.menubar>.menu-wrap>button,.sheet-add,.split-toggle,.dialog button,.doc-list button):focus-visible,.icon-row select:focus-visible,.dialog select:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.app input:not([type=checkbox]),.icon-row select,.dialog select{border:1px solid var(--line);color:var(--text);background:#fff;border-radius:2px}.icon-row select:hover:not(:disabled){background:var(--hover)}.icon-row select:disabled,.dialog select:disabled{color:var(--disabled);cursor:default}.app input:not([type=checkbox]):focus-visible{outline:2px solid var(--focus);outline-offset:-1px}.icon-row{background:var(--band);border-bottom:1px solid var(--band-line);flex-wrap:wrap;align-items:center;gap:4px 6px;padding:3px 8px;display:flex}.icon-row button{box-sizing:border-box;width:28px;height:26px;font:inherit;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-row select{font:inherit;padding:2px 4px}.icon-row .toolbar-label{color:var(--text-dim);white-space:nowrap;margin-right:-2px;font-size:12px}.icon-row button[aria-haspopup=dialog]{flex-direction:column;gap:1px}.icon-row .swatch-bar{flex:none;width:16px;height:3px;display:block}.icon-row .swatch-bar.fill{box-shadow:0 0 0 1px var(--line)}.colour-popover{z-index:30;box-sizing:border-box;max-width:calc(100vw - 8px);color:var(--text);border:1px solid var(--line);background:#fff;gap:8px;padding:8px;display:grid;position:fixed;box-shadow:0 2px 6px #00000026}.swatch-grid{grid-template-columns:repeat(8,22px);gap:2px;display:grid}.colour-popover .swatch{box-sizing:border-box;border:1px solid var(--line);cursor:pointer;border-radius:2px;width:22px;height:22px;padding:0}.colour-popover .swatch[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:1px}.colour-popover button:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.colour-popover button:not(.swatch){font:inherit;color:var(--text);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:2px;padding:3px 11px}.colour-popover button:not(.swatch):hover{background:var(--hover)}.colour-popover button:not(.swatch):active{background:color-mix(in srgb, var(--hover) 86%, black)}.colour-hex{align-items:center;gap:6px;display:flex}.colour-hex input{width:7em;font:inherit;padding:3px 6px}.colour-preview{border:1px solid var(--line);box-sizing:border-box;flex:none;width:18px;height:18px}.colour-error{color:#c5221f}.formula-bar{border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:8px;padding:4px 8px;display:flex}.formula-bar .addr{width:56px;font-weight:600}.formula-bar input{font:inherit;flex:1;padding:4px 7px}.panes{flex:1;min-height:0;display:flex}.pane{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.pane-divider{cursor:col-resize;background:var(--line);touch-action:none;flex:none;width:6px}.pane-divider:hover{background:color-mix(in srgb, var(--line) 80%, black)}.pane-divider:focus-visible{outline:2px solid var(--focus);outline-offset:-2px;background:var(--accent-bg)}.pane-title{color:var(--text-dim);border-bottom:1px solid var(--band-line);background:var(--band);white-space:nowrap;text-overflow:ellipsis;padding:2px 8px;font-size:12px;overflow:hidden}.grid-host{flex:1;min-height:0;position:relative;overflow:hidden}.grid-host canvas{outline:none;position:absolute;top:0;left:0}.status{border-top:1px solid var(--line);color:var(--text-dim);min-height:1.4em;padding:4px 8px}.status.persistence{color:#c5221f;background:#fce8e6;font-weight:600}.banner{color:#c5221f;background:#fce8e6;align-items:center;gap:8px;padding:6px 8px;display:flex}.toolbar-sep{background:var(--band-line);align-self:stretch;width:1px;margin:0 4px}.sheet-tabs{border-top:1px solid var(--band-line);background:var(--band);align-items:flex-end;gap:2px;padding:0 8px;display:flex;overflow-x:auto}.sheet-tab{font:inherit;color:var(--text);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-top:2px solid #0000;border-radius:2px 2px 0 0;padding:3px 15px 4px}.sheet-tab:hover{background:var(--hover)}.sheet-tab:active{background:color-mix(in srgb, var(--hover) 86%, black)}.sheet-tab.active{border-top-color:var(--accent);color:var(--accent-strong);background:#fff;font-weight:600}.sheet-tab:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.sheet-name-input{font:inherit;width:8em;padding:4px 7px}.sheet-add{font:inherit;padding:3px 11px}.split-toggle{font:inherit;white-space:nowrap;align-self:center;margin-left:auto;padding:3px 11px}.doc-bar{display:contents}.doc-title{font:inherit;width:16em;padding:4px 7px;font-weight:600}.doc-list{z-index:10;border:1px solid var(--line);background:#fff;min-width:22em;max-height:50vh;margin:0;padding:4px;list-style:none;position:absolute;top:100%;left:8px;overflow:auto;box-shadow:0 2px 6px #00000026}.doc-list li{align-items:center;gap:6px;padding:2px 0;display:flex}.doc-list li[aria-current=true]{font-weight:600}.doc-list li>button:first-child{text-align:left;flex:1}.doc-list button{font:inherit;padding:2px 7px}.dialog-backdrop{z-index:100;background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:#fff;border-radius:2px;gap:10px;min-width:300px;padding:16px;display:grid;box-shadow:0 4px 16px #0000004d}.dialog button{font:inherit;padding:3px 11px}.dialog button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.dialog button.primary:hover:not(:disabled):not([aria-disabled=true]){background:var(--accent-strong);border-color:var(--accent-strong)}.dialog button.primary:active:not(:disabled):not([aria-disabled=true]){background:color-mix(in srgb, var(--accent-strong) 86%, black);border-color:var(--accent-strong)}.dialog button.primary:is(:disabled,[aria-disabled=true]){background:var(--band-line);border-color:var(--band-line);color:var(--disabled)}.dialog button.primary:focus-visible{outline-offset:2px;box-shadow:0 0 0 2px #fff}.sort-key,.filter-actions{gap:8px;display:flex}.filter-values{gap:4px;max-height:50vh;display:grid;overflow:auto}.dialog-buttons{justify-content:flex-end;gap:8px;display:flex}.dialog-error{color:#c5221f}.dialog-position{border:1px solid var(--band-line);gap:14px;margin:0;padding:4px 8px 6px;display:flex}.dialog-position legend{padding:0 4px}.menu-row{background:var(--band);border-bottom:1px solid var(--band-line);flex-wrap:wrap;align-items:center;gap:2px 8px;padding:2px 8px;display:flex;position:relative}.menubar{gap:2px;display:flex}.menu-wrap{position:relative}.menubar>.menu-wrap>button{font:inherit;padding:3px 10px}.menu-popup{z-index:20;border:1px solid var(--line);background:#fff;flex-direction:column;min-width:12em;padding:4px 0;display:flex;position:absolute;top:100%;left:0;box-shadow:0 2px 6px #00000026}.menu-popup button{font:inherit;color:var(--text);text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:baseline;padding:4px 12px;display:flex}.menu-popup button:hover,.menu-popup button:focus{background:var(--accent-bg);outline:none}.menu-popup button:active:not([aria-disabled=true]){background:color-mix(in srgb, var(--accent-bg) 86%, black)}.menu-popup button:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.menu-popup button[aria-disabled=true]{color:var(--disabled);cursor:default;background:0 0}.menu-sep{background:var(--line);height:1px;margin:4px 0}.menu-check{width:1.2em;display:inline-block}.menu-popup button[aria-checked=true] .menu-check:before{content:"✓"}.menu-shortcut{color:var(--text-dim);margin-left:auto;padding-left:2em}.menu-popup button[aria-disabled=true] .menu-shortcut{color:inherit}.palette{gap:8px;width:min(488px,90vw - 32px);display:grid}.palette-list{border:1px solid var(--line);max-height:50vh;overflow:auto}.palette-list:empty{display:none}.palette-row{cursor:pointer;color:var(--text);align-items:baseline;gap:8px;padding:4px 8px;display:flex}.palette-row:hover{background:var(--hover)}.palette-row[aria-selected=true]{background:var(--accent-bg)}.palette-row[aria-disabled=true]{color:var(--disabled);cursor:default}.palette-row[aria-disabled=true]:hover{background:0 0}.palette-row[aria-disabled=true][aria-selected=true]{background:var(--accent-bg)}.palette-menu{min-width:3.6em;color:var(--text-dim);flex:none}.palette-row[aria-disabled=true] .palette-menu,.palette-row[aria-disabled=true] .palette-shortcut{color:inherit}.palette-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.palette-state{color:var(--text-dim);margin-left:.6em}.palette-row[aria-disabled=true] .palette-state{color:inherit}.palette-shortcut{color:var(--text-dim);flex:none}.palette-empty{color:var(--text-dim);padding:8px}.palette-empty:empty{width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.palette b{font-weight:700}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
