.sheet-cell span.cell-value-line{display:flex;align-items:baseline;width:100%;min-width:0;overflow:hidden;white-space:nowrap;column-gap:1.25em;text-overflow:ellipsis}.sheet-cell span.cell-value-text{display:block;flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-cell span.cell-value-line.cell-value-align-end{display:grid;grid-template-columns:var(--quantity-unit-gutter, 3.9em) minmax(0,1fr);column-gap:var(--quantity-unit-gap, 1.1em);align-items:baseline}.sheet-cell span.cell-value-line.cell-value-align-end>span.cell-value-text{grid-column:2;width:auto;text-align:center}.sheet-cell span.cell-value-line.cell-value-align-end>.cell-unit-chip-host{grid-column:1;justify-self:center}.sheet-cell .cell-unit-chip-host{display:inline-flex;flex:0 0 auto;order:-1;width:auto;overflow:visible;vertical-align:baseline;direction:rtl;unicode-bidi:isolate}.sheet-cell .cell-unit-chip{display:inline-flex;align-items:center;gap:.1em;border:1px solid var(--chip-border, var(--unit-other-border));border-radius:999px;background:var(--surface-raised, #fffdf7);color:var(--chip-fg, var(--unit-other-fg));font:inherit;font-size:.8em;font-weight:500;line-height:1.5;padding:.16em .4em;min-height:2.2em;touch-action:manipulation;cursor:pointer;white-space:nowrap}.sheet-cell .cell-unit-chip[data-tone=gram]{--chip-fg: var(--unit-gram-fg);--chip-bg: var(--unit-gram-bg);--chip-border: var(--unit-gram-border)}.sheet-cell .cell-unit-chip[data-tone=mesghal]{--chip-fg: var(--unit-mesghal-fg);--chip-bg: var(--unit-mesghal-bg);--chip-border: var(--unit-mesghal-border)}.sheet-cell .cell-unit-chip[data-tone=ounce]{--chip-fg: var(--unit-ounce-fg);--chip-bg: var(--unit-ounce-bg);--chip-border: var(--unit-ounce-border)}.sheet-cell span.cell-unit-chip:after,.sheet-cell button.cell-unit-chip:before{content:attr(data-unit)}.sheet-cell button.cell-unit-chip:after{content:"▾";font-size:.9em;line-height:1}.sheet-cell span.cell-unit-chip{width:auto;overflow:visible;text-overflow:clip}.sheet-cell .cell-unit-chip:hover,.sheet-cell .cell-unit-chip:focus-visible,.sheet-cell .cell-unit-chip[aria-expanded=true]{background:var(--chip-bg, var(--unit-other-bg));border-color:var(--chip-fg, var(--unit-other-fg));color:var(--chip-fg, var(--unit-other-fg))}.sheet-cell .cell-unit-chip:focus-visible{outline:var(--focus-ring-width, 2px) solid var(--focus-ring-color, var(--grid-active));outline-offset:var(--focus-ring-offset, 1px)}.sheet-cell .cell-unit-chip:disabled{cursor:default;opacity:.6}.cell-unit-menu{position:fixed;z-index:60;min-width:6.5em;padding:.2em;border:1px solid var(--border-strong, #c9c0ab);border-radius:8px;background:var(--surface-raised, #fffdf7);box-shadow:0 8px 20px #0000002e;display:flex;flex-direction:column;gap:2px}.cell-unit-menu button{border:0;border-radius:6px;background:transparent;color:var(--text, #2b2419);font:inherit;font-size:var(--font-size-sm, 13px);text-align:start;padding:.35em .6em;min-height:30px;touch-action:manipulation;cursor:pointer}.cell-unit-menu button:hover,.cell-unit-menu button:focus-visible{background:var(--accent-soft, #f3e7c6);outline:none}.cell-unit-menu button.current{font-weight:600}.selection-status-unit{margin:0;color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.6;overflow-wrap:anywhere}.sheet-cell.cell-computed{cursor:default}.sheet-workspace:has(>.selection-status-bar){grid-template-rows:56px 40px minmax(0,1fr) auto}.sheet-workspace.ribbon-collapsed:has(>.selection-status-bar){grid-template-rows:38px minmax(0,1fr) auto}.sheet-workspace.formula-expanded:has(>.selection-status-bar){grid-template-rows:56px 72px minmax(0,1fr) auto}.sheet-workspace.ribbon-collapsed.formula-expanded:has(>.selection-status-bar){grid-template-rows:72px minmax(0,1fr) auto}.sheet-workspace.read-only:has(>.selection-status-bar){grid-template-rows:minmax(0,1fr) auto}.selection-status-bar{min-width:0;padding:var(--space-1) var(--space-3);border-top:1px solid var(--grid-line);background:var(--panel);color:var(--text);font-family:var(--ui-font);font-size:var(--font-size-sm);line-height:1.5}.selection-status-metrics{display:flex;flex-wrap:wrap;direction:rtl;justify-content:flex-start;align-items:baseline;gap:var(--space-1) var(--space-3);min-width:0;margin:0}.selection-status-metric{display:flex;align-items:baseline;gap:var(--space-1);min-width:0;max-width:100%}.selection-status-metric dt{flex:0 0 auto;white-space:nowrap}.selection-status-metric dt:after{content:":"}.selection-status-metric dd{min-width:0;margin:0;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.selection-status-errors{display:block;margin-top:var(--space-1);color:var(--tone-warning-fg)}.selection-status-action{min-height:1.5em;margin:0;color:var(--text-muted);font-size:var(--font-size-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:820px){.sheet-workspace:not(.ribbon-collapsed):not(.read-only):has(>.selection-status-bar){grid-template-rows:auto 40px minmax(0,1fr) auto}.sheet-workspace.formula-expanded:not(.ribbon-collapsed):not(.read-only):has(>.selection-status-bar){grid-template-rows:auto 72px minmax(0,1fr) auto}.selection-status-bar{padding-inline:var(--space-2)}.selection-status-metrics{justify-content:flex-start;gap:var(--space-1) var(--space-2)}}.find-replace-panel{position:fixed;top:104px;inset-inline-start:16px;z-index:90;display:flex;flex-direction:column;gap:var(--space-2);max-width:min(460px,calc(100vw - 32px));padding:var(--space-2) var(--space-3);border:1px solid var(--grid-line);border-radius:8px;background:var(--panel);color:var(--text);font-family:var(--ui-font);font-size:var(--font-size-sm);box-shadow:0 10px 28px #0f172a2e}.find-replace-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);min-width:0}.find-replace-field{display:flex;flex:1 1 220px;align-items:center;gap:var(--space-1);min-width:0;white-space:nowrap}.find-replace-field input{flex:1 1 auto;min-width:0;padding:2px var(--space-1);border:1px solid var(--grid-line);border-radius:4px;background:var(--panel);color:var(--text);font:inherit}.find-replace-field input:focus-visible{outline:2px solid var(--accent, #2563eb);outline-offset:1px}.find-replace-count{min-width:5.5em;color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.find-replace-panel .tool-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);padding:2px var(--space-2);border:1px solid var(--grid-line);border-radius:4px;background:var(--panel);color:var(--text);font:inherit;cursor:pointer}.find-replace-panel .tool-button:hover:not(:disabled){background:var(--hover, rgb(15 23 42 / 6%))}.find-replace-panel .tool-button:disabled{opacity:.5;cursor:default}.find-replace-options label{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;cursor:pointer}@media(max-width:820px){.find-replace-panel{top:8px;inset-inline:8px auto}}:root{--app-bg: #dfe5e2;--chrome: #0f5f3b;--chrome-dark: #094428;--surface: #ffffff;--panel: #f7f9f8;--tab: #e8eeeb;--grid-head: #edf3f0;--grid-line: #c6d0cc;--grid-line-soft: #e3e9e6;--grid-active: #0f7a42;--grid-fill: rgba(15, 122, 66, .14);--grid-row-band: #e0edff;--blue: #1f5f99;--amber: #946200;--danger: #b42318;--text: #18231f;--muted: #65736d;--shadow: 0 10px 22px rgba(14, 42, 30, .11);--ui-font: "Segoe UI Variable", "Segoe UI", "Noto Sans Arabic", "Noto Sans", Tahoma, Arial, sans-serif;--font-size-xl: 16px;--font-size-lg: 15px;--font-size-ui: 14px;--font-size-sm: 12px;--font-size-data: 12px;--letter-spacing-ui: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--control-height: 32px;--control-height-sm: 28px;--radius-sm: 4px;--radius-md: 6px;--icon-size: 16px;--icon-size-sm: 12px;--icon-size-lg: 20px;--swatch-size: 20px;--focus-ring-color: var(--grid-active);--focus-ring-width: 2px;--focus-ring-offset: 1px;--disabled-opacity: .45;--menu-item-height: 28px;--tone-success-fg: var(--grid-active);--tone-success-bg: #eaf5ef;--tone-warning-fg: #8a5a00;--tone-warning-bg: #fff8e6;--tone-warning-border: #e0b25c;--tone-danger-fg: var(--danger);--tone-danger-bg: #fef3f2;--tone-danger-border: #f0b4ad;--tone-info-fg: var(--blue);--tone-info-bg: #eef4fa;--unit-gram-fg: var(--danger);--unit-gram-bg: var(--tone-danger-bg);--unit-gram-border: var(--tone-danger-border);--unit-mesghal-fg: var(--blue);--unit-mesghal-bg: var(--tone-info-bg);--unit-mesghal-border: #a9c4de;--unit-ounce-fg: var(--grid-active);--unit-ounce-bg: var(--tone-success-bg);--unit-ounce-border: #9fcfb6;--unit-other-fg: var(--muted);--unit-other-bg: var(--panel);--unit-other-border: var(--grid-line);--row-height: 30px;--fill-cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 17 17'%3E%3Cpath d='M8.5 1.5v14M1.5 8.5h14' stroke='%23ffffff' stroke-width='3' stroke-linecap='square'/%3E%3Cpath d='M8.5 1.5v14M1.5 8.5h14' stroke='%23000000' stroke-width='1.5' stroke-linecap='square'/%3E%3C/svg%3E") 8 8, crosshair;font-family:var(--ui-font)}*{box-sizing:border-box}html,body,#root{height:100%;direction:rtl}body{margin:0;min-width:320px;color:var(--text);background:var(--app-bg);font-family:var(--ui-font)}button,input,select{font:inherit}button{cursor:pointer}svg{flex:none}.tool-button.mixed{border-style:dashed;border-color:var(--amber);color:var(--amber);background:#fdf6e4}.tool-button.mixed:hover:not(:disabled){border-color:var(--amber);color:var(--amber);background:#fbefd2}button:focus-visible,select:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}button:disabled{cursor:not-allowed;opacity:var(--disabled-opacity)}.app-shell{display:grid;grid-template-rows:42px minmax(0,1fr);height:100%;min-height:0;font-size:var(--font-size-ui);background:var(--app-bg)}.app-titlebar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:0 var(--space-3);color:#fff;background:linear-gradient(90deg,var(--chrome),var(--chrome-dark));border-bottom:1px solid #07381f}.brand{display:flex;align-items:center;gap:9px;min-width:0}.brand svg{flex:0 0 auto}.brand h1{margin:0;font-size:var(--font-size-lg);font-weight:700;line-height:1.15}.brand span{display:block;margin-top:2px;color:#ffffffd9;font-size:var(--font-size-sm);white-space:nowrap}.notice{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-width:168px;height:var(--control-height-sm);padding:0 var(--space-3);border:1px solid rgba(255,255,255,.22);color:#ffffffeb;background:#ffffff14;font-size:var(--font-size-ui);white-space:nowrap;border-radius:var(--radius-sm)}.notice.success{color:#fff;border-color:#a3e6ba6b;background:#16653473}.notice.error{color:#ffe4e0;border-color:#ffbcae80;background:#7f1d1d66}.notice.warning{color:#ffe8b0;border-color:#f0be648c;border-inline-start-width:3px;background:#78530c6b}.tab-strip{display:flex;align-items:start;min-width:0;padding:0 10px;border-top:1px solid #adbab4;background:#d2dcd7}.tab-strip-tools{display:flex;flex:0 0 auto;align-items:center;align-self:center;margin-inline-start:var(--space-2);padding-inline-start:var(--space-2);border-inline-start:1px solid #aab8b2}.tab-strip-action{display:inline-flex;align-items:center;gap:var(--space-1);height:26px;padding:0 var(--space-2);border:1px solid #aab8b2;border-radius:var(--radius-sm);color:var(--chrome-dark);background:#eef3f0;font-size:var(--font-size-sm);font-weight:600;white-space:nowrap}.tab-strip-action:hover{background:#f8fbf9}.tab-strip-action:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:1px}.workbook-tabs{display:flex;flex:1 1 auto;align-items:end;min-width:0;overflow-x:auto}.workbook-tabs button{min-width:104px;height:var(--row-height);padding:0 12px;border:1px solid #aab8b2;border-top:0;color:#2d3a35;background:var(--tab);font-size:var(--font-size-ui);border-radius:var(--radius-sm) var(--radius-sm) 0 0}.workbook-tabs button+button{margin-inline-start:-1px}.workbook-tabs button:hover{color:var(--chrome-dark);background:#f5f8f6}.workbook-tabs button.active{position:relative;z-index:1;height:calc(var(--row-height) + var(--space-1));color:var(--chrome-dark);background:var(--surface);font-weight:700}.workbook-surface{display:grid;grid-template-rows:minmax(0,1fr) 36px;min-height:0;margin:0 10px 10px;border:1px solid #aab8b2;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.workbook-content{min-height:0;overflow:hidden}.sheet-workspace{display:grid;grid-template-rows:56px 40px minmax(0,1fr);height:100%;min-height:0}.sheet-workspace.ribbon-collapsed{grid-template-rows:38px minmax(0,1fr)}.sheet-workspace.read-only{grid-template-rows:minmax(0,1fr)}.report-grid-host,.report-grid-host .sheet-workspace{height:100%}.sheet-workspace.formula-expanded{grid-template-rows:56px 72px minmax(0,1fr)}.sheet-workspace.ribbon-collapsed.formula-expanded{grid-template-rows:72px minmax(0,1fr)}.ribbon{display:flex;align-items:stretch;gap:0;min-width:0;overflow-x:auto;border-bottom:1px solid var(--grid-line);background:#f7faf8}.ribbon-group{position:relative;display:inline-flex;align-items:center;gap:var(--space-1);min-height:56px;padding:var(--space-1) var(--space-3) var(--space-4);border-inline-end:1px solid var(--grid-line)}.ribbon-label{position:absolute;right:var(--space-3);bottom:var(--space-1);color:var(--muted);font-size:var(--font-size-sm);line-height:1}.tool-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--control-height);min-width:var(--control-height);padding:0 var(--space-2);border:1px solid #bdc9c4;color:var(--text);background:#fff;border-radius:var(--radius-sm)}.tool-button:hover:not(:disabled),.tool-button.active{border-color:var(--grid-active);color:var(--chrome-dark);background:#eaf5ef}.tool-button.primary{min-width:78px;border-color:var(--grid-active);color:#fff;background:var(--grid-active)}.tool-button.primary:hover:not(:disabled){color:#fff;background:var(--chrome-dark)}.tool-button.danger{color:var(--danger)}.ribbon-select{height:var(--control-height);min-width:112px;border:1px solid #bdc9c4;color:var(--text);background:#fff;border-radius:var(--radius-sm)}.hidden-file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.ribbon-select.small{min-width:56px}.swatches{gap:var(--space-1)}.swatch{width:var(--swatch-size);height:var(--swatch-size);padding:0;border:1px solid #aab8b2;background:#fff}.text-swatch{display:inline-grid;place-items:center;font-size:var(--font-size-ui);font-weight:700}.formula-bar{display:grid;grid-template-columns:80px 40px minmax(260px,1fr) 184px;gap:0;align-items:center;min-width:0;padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--grid-line);background:var(--panel)}.name-box,.formula-input,.cell-hint,.fx-mark{height:var(--control-height);border:1px solid #bdc9c4;background:#fff}.name-box{direction:ltr;text-align:center;color:var(--blue);font-weight:700}.fx-mark{display:inline-flex;align-items:center;justify-content:center;margin-inline:var(--space-1);color:var(--amber);font-family:Georgia,serif;font-style:italic;font-weight:700}.formula-input{padding:0 9px;border-inline-start:0}.formula-input-ltr{direction:ltr;text-align:left}.formula-input-rtl{direction:rtl;text-align:right}.formula-expanded .formula-input,.formula-expanded .name-box,.formula-expanded .cell-hint,.formula-expanded .fx-mark{height:64px}.formula-input:focus{position:relative;z-index:1;border-color:var(--grid-active);box-shadow:inset 0 0 0 1px var(--grid-active)}.cell-hint{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-inline-start:8px;padding:0 9px;color:var(--muted);font-size:var(--font-size-sm);overflow:hidden}.cell-hint strong,.cell-hint span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-hint strong{color:var(--text)}.sheet-grid{display:grid;align-content:start;height:100%;min-height:0;overflow:auto;outline:0;scroll-padding:30px 52px 0 0;direction:rtl;background:#fff}.corner-cell,.column-header,.row-header,.sheet-cell{border-left:1px solid var(--grid-line);border-bottom:1px solid var(--grid-line-soft)}.corner-cell,.column-header,.row-header{position:sticky;z-index:20;background:var(--grid-head);color:#40554c;-webkit-user-select:none;user-select:none}.corner-cell{top:0;right:0;z-index:22;border-bottom-color:var(--grid-line);cursor:cell}.column-header{top:0;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;min-width:0;padding:0 6px;border-bottom-color:var(--grid-line);direction:rtl;font-size:var(--font-size-sm);cursor:pointer}.column-header strong{direction:ltr;color:var(--blue);text-align:center}.column-header span{direction:rtl;min-width:0;overflow:hidden;color:#263731;text-overflow:ellipsis;white-space:nowrap}.row-header{right:0;z-index:21;display:inline-flex;align-items:center;justify-content:center;direction:ltr;background:#f1f5f3;font-size:var(--font-size-sm);cursor:pointer}.column-header.selected,.row-header.selected{color:var(--chrome-dark);background:#dbeee4;font-weight:700}.column-resize-handle,.row-resize-handle{position:absolute;z-index:6;margin:0;padding:0;border:0;background:transparent}.column-resize-handle{top:0;bottom:0;left:-4px;width:8px;cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M16 5v22' stroke='%23000000' stroke-width='2' stroke-linecap='square'/%3E%3Cpath d='M14 16H6m0 0 4-4m-4 4 4 4M18 16h8m0 0-4-4m4 4-4 4' fill='none' stroke='%23000000' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'/%3E%3Cpath d='M16 5v22' stroke='%23ffffff' stroke-width='4' stroke-linecap='square' opacity='.9'/%3E%3Cpath d='M16 5v22M14 16H6m0 0 4-4m-4 4 4 4M18 16h8m0 0-4-4m4 4-4 4' fill='none' stroke='%23000000' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E") 16 16,col-resize}.row-resize-handle{right:0;bottom:-4px;left:0;height:8px;cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M5 16h22' stroke='%23ffffff' stroke-width='4' stroke-linecap='square' opacity='.9'/%3E%3Cpath d='M5 16h22M16 14V6m0 0-4 4m4-4 4 4M16 18v8m0 0-4-4m4 4 4-4' fill='none' stroke='%23000000' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E") 16 16,row-resize}.column-resize-handle:hover,.column-resize-handle:focus-visible{background:#0f7a4233}.row-resize-handle:hover,.row-resize-handle:focus-visible{background:#0f7a4233}.grid-resizing{-webkit-user-select:none;user-select:none}.grid-resize-guide{position:fixed;z-index:40;width:1px;height:1px;pointer-events:none;background:#186348}.grid-resizing-column,.grid-resizing-column *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M16 5v22' stroke='%23ffffff' stroke-width='4' stroke-linecap='square' opacity='.9'/%3E%3Cpath d='M16 5v22M14 16H6m0 0 4-4m-4 4 4 4M18 16h8m0 0-4-4m4 4-4 4' fill='none' stroke='%23000000' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E") 16 16,col-resize!important}.grid-resizing-row,.grid-resizing-row *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M5 16h22' stroke='%23ffffff' stroke-width='4' stroke-linecap='square' opacity='.9'/%3E%3Cpath d='M5 16h22M16 14V6m0 0-4 4m4-4 4 4M16 18v8m0 0-4-4m4 4 4-4' fill='none' stroke='%23000000' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E") 16 16,row-resize!important}.grid-fill-dragging,.grid-fill-dragging *{cursor:var(--fill-cursor)!important}.grid-row-contents.row-banded{--row-background: var(--grid-row-band)}.sheet-cell{position:relative;display:flex;align-items:center;min-width:0;padding:0 7px;direction:rtl;background:var(--row-background, #ffffff);font-size:var(--font-size-data);line-height:1;-webkit-user-select:none;user-select:none}.sheet-cell.numeric{direction:ltr;justify-content:flex-start;font-variant-numeric:tabular-nums}.sheet-cell span{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-cell span.invalid-date-value{display:inline-block;max-width:100%;padding-bottom:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:underline wavy var(--tone-danger-fg);text-decoration-thickness:2px;text-underline-offset:1px}.sheet-cell.selected{--selected-grid-line: rgba(45, 111, 76, .24);background:#0f7a4214}.sheet-cell.selected:before{position:absolute;inset:0;z-index:1;pointer-events:none;background:var(--grid-fill);box-shadow:inset 1px 0 0 var(--selected-grid-line),inset 0 -1px 0 var(--selected-grid-line);content:""}.sheet-cell.selected>span:not(.active-fill-handle):not(.clipboard-outline):not(.painter-outline),.sheet-cell.selected .cell-editor{position:relative;z-index:2}.sheet-cell.active:after{position:absolute;inset:-1px;z-index:5;pointer-events:none;border:2px solid var(--grid-active);content:""}.sheet-cell .active-fill-handle{position:absolute;left:-3px;bottom:-3px;z-index:6;display:block;width:6px;height:6px;border:1px solid #ffffff;background:var(--grid-active);cursor:var(--fill-cursor);overflow:visible;text-overflow:clip;white-space:normal}.sheet-workspace.format-painter-armed .sheet-grid,.sheet-workspace.format-painter-armed .sheet-cell,.sheet-workspace.format-painter-armed .sheet-cell .cell-editor{cursor:copy}.sheet-workspace.format-painter-locked .sheet-grid,.sheet-workspace.format-painter-locked .sheet-cell,.sheet-workspace.format-painter-locked .sheet-cell .cell-editor{cursor:crosshair}.fill-options{position:absolute;left:-24px;bottom:-25px;z-index:24;direction:rtl;font-family:var(--ui-font);font-size:var(--font-size-ui);font-style:normal;font-weight:400;letter-spacing:0;line-height:1.2;text-align:initial;text-decoration:none}.fill-options-trigger{position:relative;display:block;align-items:center;justify-content:center;width:23px;height:22px;padding:0;border:1px solid #8f9c95;border-radius:var(--radius-sm);background:linear-gradient(#fff,#eef3f0);color:#1f4f39;box-shadow:0 1px 2px #182b2333;cursor:pointer;font-family:var(--ui-font);line-height:1}.fill-options-trigger:hover,.fill-options.open .fill-options-trigger{border-color:#6f8f7c;background:linear-gradient(#f9fcfa,#e0eee6)}.fill-options-trigger:before{position:absolute;top:4px;right:7px;width:9px;height:10px;border:1px solid #7f9188;background:linear-gradient(#c9d8d0,#c9d8d0) 0 3px / 100% 1px no-repeat,linear-gradient(#c9d8d0,#c9d8d0) 0 6px / 100% 1px no-repeat,linear-gradient(90deg,#c9d8d0,#c9d8d0) 3px 0 / 1px 100% no-repeat,#fff;content:""}.fill-options-trigger:after{position:absolute;right:4px;bottom:4px;width:0;height:0;border-top:4px solid #3f554b;border-inline:3px solid transparent;content:""}:root{--fill-cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 17 17' shape-rendering='crispEdges'%3E%3Cpath d='M7 1h3v6h6v3h-6v6H7v-6H1V7h6z' fill='%23000000'/%3E%3C/svg%3E") 8 8, crosshair}.sheet-cell .active-fill-handle{border-radius:0;cursor:var(--fill-cursor)}.sheet-cell.selection-edge-top{--selection-edge-top: 2px}.sheet-cell.selection-edge-right{--selection-edge-right: 2px}.sheet-cell.selection-edge-bottom{--selection-edge-bottom: 2px}.sheet-cell.selection-edge-left{--selection-edge-left: 2px}.sheet-cell.selected:before{border-style:solid;border-color:var(--grid-active);border-width:var(--selection-edge-top, 0px) var(--selection-edge-right, 0px) var(--selection-edge-bottom, 0px) var(--selection-edge-left, 0px)}.grid-fill-dragging .sheet-cell.selected:before{border-style:dashed}.fill-options-menu,.context-menu{padding:var(--space-1);border:1px solid #a2aca7;border-radius:var(--radius-md);background:#fff;color:var(--text);direction:rtl;font-family:var(--ui-font);font-size:var(--font-size-ui);font-style:normal;font-weight:400;letter-spacing:0;line-height:1.25;text-decoration:none}.fill-options-menu button,.context-menu button{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-4);width:100%;min-height:var(--menu-item-height);padding:var(--space-1) var(--space-2);border:0;background:transparent;color:inherit;cursor:pointer;font-family:var(--ui-font);font-size:var(--font-size-ui);line-height:1.25;text-align:right}.fill-options-menu button:hover,.fill-options-menu button:focus-visible,.context-menu button:hover,.context-menu button:focus-visible{background:var(--tone-success-bg)}.fill-options-menu{position:absolute;left:0;bottom:24px;min-width:144px;box-shadow:0 4px 12px #182b232e}.fill-options-current{color:var(--muted)}.context-menu{position:fixed;z-index:60;min-width:220px;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);overflow:auto;box-shadow:0 8px 22px #182b2333;overscroll-behavior:contain}.context-menu button:disabled{color:var(--muted);cursor:default;opacity:1}.context-menu button:disabled:hover{background:transparent}.context-menu span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.context-menu kbd{min-height:auto;padding:0;border:0;background:transparent;color:#6a7771;font-family:var(--ui-font);font-size:var(--font-size-sm)}.context-menu-separator{height:1px;margin:var(--space-1) var(--space-2);background:#d8e0dc}.sheet-cell.clipboard-cell,.sheet-cell.painter-cell{--clipboard-color: var(--grid-active);--clip-top: transparent;--clip-bottom: transparent;--clip-start: transparent;--clip-end: transparent}.sheet-cell.clipboard-cell.active:after,.sheet-cell.clipboard-cell.selected:before,.sheet-cell.painter-cell.active:after,.sheet-cell.painter-cell.selected:before{border-color:transparent}.sheet-cell .clipboard-outline,.sheet-cell .painter-outline{position:absolute;inset:0;z-index:4;pointer-events:none;background-image:linear-gradient(90deg,var(--clip-top) 50%,transparent 50%),linear-gradient(90deg,var(--clip-bottom) 50%,transparent 50%),linear-gradient(0deg,var(--clip-start) 50%,transparent 50%),linear-gradient(0deg,var(--clip-end) 50%,transparent 50%);background-position:0 0,0 100%,100% 0,0 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:8px 2px,8px 2px,2px 8px,2px 8px;animation:clipboard-march .72s linear infinite}.sheet-cell.painter-cell,.sheet-cell.clipboard-copy{--clipboard-color: #0f7a42}.sheet-cell.clipboard-cut{--clipboard-color: #c05621}.sheet-cell.clipboard-top,.sheet-cell.painter-top{--clip-top: var(--clipboard-color)}.sheet-cell.clipboard-bottom,.sheet-cell.painter-bottom{--clip-bottom: var(--clipboard-color)}.sheet-cell.clipboard-start,.sheet-cell.painter-start{--clip-start: var(--clipboard-color)}.sheet-cell.clipboard-end,.sheet-cell.painter-end{--clip-end: var(--clipboard-color)}@keyframes clipboard-march{to{background-position:8px 0,-8px 100%,100% -8px,0 8px}}.cell-editor{width:calc(100% + 14px);height:100%;margin:0 -7px;padding:0 7px;border:2px solid var(--grid-active);outline:0;background:#fff;color:var(--text);direction:inherit}.cell-editor:focus-visible{outline:0}.sheet-cell.numeric .cell-editor{direction:ltr;text-align:left}.sheet-cell.numeric span,.sheet-cell.numeric .cell-editor,.formula-input-ltr,.report-table td{font-variant-numeric:tabular-nums}.shortcut-backdrop{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:28px;background:#081a125c}.shortcut-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr);width:min(1040px,100%);max-height:min(760px,calc(100vh - 56px));border:1px solid #8fa39a;background:#fff;box-shadow:0 20px 56px #0a1c1447}.shortcut-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:56px;padding:0 var(--space-3);color:#fff;background:var(--chrome)}.shortcut-header h2{margin:0;font-size:var(--font-size-xl)}.shortcut-header span{display:block;margin-top:var(--space-1);color:#ffffffb8;font-size:var(--font-size-sm)}.shortcut-legend{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--grid-line);background:#f7faf8}.shortcut-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);min-height:0;overflow:auto;padding:var(--space-3)}.shortcut-group-card{min-width:0;border:1px solid var(--grid-line);background:#fff}.shortcut-group-card h3{margin:0;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--grid-line);background:var(--grid-head);color:#263731;font-size:var(--font-size-ui)}.shortcut-group-card table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.shortcut-group-card td{padding:var(--space-2);border-bottom:1px solid var(--grid-line-soft);vertical-align:middle}.shortcut-group-card td:first-child{width:156px}kbd{display:inline-flex;align-items:center;min-height:24px;padding:0 var(--space-1);border:1px solid #aab8b2;border-bottom-width:2px;background:#f9fbfa;color:#17231e;font-family:Segoe UI,Arial,sans-serif;font-size:var(--font-size-sm);white-space:nowrap}.status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:20px;padding:0 7px;border:1px solid #bdc9c4;color:var(--muted);background:#fff;font-size:var(--font-size-sm);white-space:nowrap}.status-pill.active{border-color:#9bc7aa;color:var(--chrome-dark);background:#eaf6ee}.status-pill.documented{border-color:#b9cce0;color:#1f5f99;background:#edf5ff}.status-pill.blocked{border-color:#e0b4ae;color:var(--danger);background:#fff1ef}.reports-panel{display:grid;grid-template-rows:auto auto auto auto auto minmax(0,1fr);gap:8px;height:100%;min-height:0;padding:10px;background:#f6f9f7}.report-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2);min-height:46px;padding:0 12px;border:1px solid var(--grid-line);background:#fff}.report-tabs{display:inline-flex;gap:var(--space-1)}.report-tabs button{height:var(--control-height);padding:0 var(--space-3);border:1px solid var(--grid-line);border-radius:var(--radius-sm);background:#fff;color:var(--chrome-dark);font-family:var(--ui-font);font-size:var(--font-size-ui);cursor:pointer}.report-tabs button.active{border-color:var(--grid-active);background:var(--grid-active);color:#fff}.reports-header{display:flex;align-items:center;justify-content:space-between;min-height:46px;padding:0 12px;border:1px solid var(--grid-line);background:#fff}.reports-header h2{margin:0;font-size:var(--font-size-lg)}.reports-header span{display:block;margin-top:3px;color:var(--muted);font-size:var(--font-size-sm)}.reports-header strong{color:var(--blue)}.report-filters{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(152px,1fr) minmax(152px,1fr) 112px;gap:var(--space-2);align-items:end;padding:var(--space-3);border:1px solid var(--grid-line);background:#fff}.report-filters label{display:grid;gap:var(--space-1)}.report-filters span{color:var(--muted);font-size:var(--font-size-sm)}.report-filters input{height:var(--control-height);padding:0 var(--space-2);border:1px solid #bdc9c4;background:#fff;border-radius:var(--radius-sm)}.report-filters input.date-input{direction:ltr;text-align:left;font-variant-numeric:tabular-nums}.report-filters input:focus{border-color:var(--grid-active);box-shadow:inset 0 0 0 1px var(--grid-active)}.run-report{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);height:var(--control-height);border:1px solid var(--grid-active);color:#fff;background:var(--grid-active);border-radius:var(--radius-sm)}.report-status{min-height:var(--control-height-sm);padding:var(--space-1) var(--space-2);border:1px solid var(--grid-line);color:var(--muted);background:#fff;font-size:var(--font-size-sm)}.report-status.info,.report-status.success,.report-status.error,.report-status.warning,.report-status.history-warning{border-style:solid;border-inline-start-width:3px;font-weight:600}.report-status.info{border-color:var(--tone-info-fg);color:var(--tone-info-fg);background:var(--tone-info-bg)}.report-status.success{border-color:var(--tone-success-fg);color:var(--tone-success-fg);background:var(--tone-success-bg)}.report-status.error{border-color:var(--tone-danger-fg);color:var(--tone-danger-fg);background:var(--tone-danger-bg)}.report-status.warning{border-color:var(--tone-warning-border);color:var(--tone-warning-fg);background:var(--tone-warning-bg)}.report-empty{position:absolute;inset-inline:0;top:96px;padding:var(--space-3);color:var(--muted);text-align:center}.report-empty.info{color:var(--tone-info-fg)}.summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--grid-line);background:var(--grid-line);gap:1px}.summary-strip.quad{grid-template-columns:repeat(4,minmax(0,1fr))}.summary-strip div{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;min-height:40px;padding:0 var(--space-3);background:#fff}.summary-unit{direction:ltr;color:var(--muted);font-size:var(--font-size-sm);font-style:normal;white-space:nowrap}.summary-strip span{color:var(--muted);font-size:var(--font-size-sm)}.summary-strip strong{direction:ltr;color:var(--chrome-dark)}.report-table-wrap{position:relative;min-height:0;overflow:auto;border:1px solid var(--grid-line);background:#fff}.report-table{width:100%;min-width:900px;border-collapse:collapse}.report-table th,.report-table td{height:30px;padding:0 8px;border-bottom:1px solid var(--grid-line-soft);border-left:1px solid var(--grid-line);white-space:nowrap}.report-table th{position:sticky;top:0;z-index:1;color:#263731;background:var(--grid-head)}@media(max-width:820px){.app-shell{grid-template-rows:auto minmax(0,1fr)}.app-titlebar{align-items:stretch;flex-direction:column;min-height:74px;padding:8px}.notice{width:100%;min-width:0;height:var(--control-height-sm);border-radius:var(--radius-sm)}.workbook-surface{min-height:72vh;margin:0 6px 6px}.sheet-workspace{grid-template-rows:auto 40px minmax(0,1fr)}.ribbon{min-height:58px}.formula-bar{grid-template-columns:72px 32px minmax(120px,1fr)}.cell-hint{display:none}.report-filters,.summary-strip,.shortcut-groups{grid-template-columns:1fr}.shortcut-backdrop{padding:10px}}.load-gate{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;height:100%;min-height:0;padding:24px;color:var(--text);text-align:center;background:var(--surface)}.load-gate p{margin:0;max-width:560px;font-size:var(--font-size-ui);line-height:1.7}.load-gate button{display:inline-flex;align-items:center;gap:var(--space-1);height:var(--control-height);padding:0 var(--space-4);border:1px solid var(--grid-line);color:var(--chrome-dark);background:var(--panel);font-size:var(--font-size-ui);cursor:pointer;border-radius:var(--radius-sm)}.load-gate button:hover{background:var(--surface)}.history-actions{display:inline-flex;align-items:center;gap:var(--space-1)}.app-shell.has-conflict{grid-template-rows:42px auto minmax(0,1fr)}.conflict-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);min-height:36px;padding:var(--space-1) var(--space-3);border-bottom:1px solid var(--tone-warning-border);color:var(--tone-warning-fg);background:var(--tone-warning-bg);font-size:var(--font-size-ui)}.conflict-bar span{flex:1 1 320px;min-width:0}.conflict-bar button{display:inline-flex;align-items:center;gap:var(--space-1);height:var(--control-height-sm);padding:0 var(--space-3);border:1px solid var(--tone-warning-border);border-radius:var(--radius-sm);color:var(--tone-warning-fg);background:#fff;font-size:var(--font-size-ui);cursor:pointer;white-space:nowrap}.conflict-bar button:hover{background:#fff3d6}.app-shell.has-setup{grid-template-rows:42px auto minmax(0,1fr)}.setup-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);min-height:36px;padding:var(--space-1) var(--space-3);border-bottom:1px solid var(--blue);color:var(--tone-info-fg);background:var(--tone-info-bg);font-size:var(--font-size-ui)}.setup-bar span{flex:1 1 320px;min-width:0}.setup-bar button{display:inline-flex;align-items:center;gap:var(--space-1);height:var(--control-height-sm);padding:0 var(--space-3);border:1px solid var(--blue);border-radius:var(--radius-sm);color:var(--tone-info-fg);background:#fff;font-size:var(--font-size-ui);font-weight:600;cursor:pointer;white-space:nowrap}.setup-bar button:hover{background:#dbe9f6}.report-status.history-warning{border-color:var(--tone-warning-border);border-inline-start-width:3px;color:var(--tone-warning-fg);background:var(--tone-warning-bg);font-weight:600}.report-table td button{display:inline-flex;align-items:center;gap:var(--space-1);height:var(--control-height-sm);padding:0 var(--space-3);border:1px solid var(--grid-line);border-radius:var(--radius-sm);color:var(--chrome-dark);background:#fff;font-size:var(--font-size-ui);cursor:pointer}.report-table td button.run-report{height:var(--control-height-sm);border-color:var(--grid-active);color:#fff;background:var(--grid-active)}.report-table td button:disabled{opacity:var(--disabled-opacity);cursor:default}.sheet-cell{text-align:var(--user-default-align, start);font-family:var(--user-default-font, inherit);font-size:var(--user-default-size, inherit)}.settings-panel{width:min(560px,100%)}.settings-form{display:grid;gap:var(--space-3);padding:var(--space-4);overflow:auto}.settings-row{display:grid;grid-template-columns:170px minmax(0,1fr);gap:var(--space-3);align-items:center;font-size:var(--font-size-ui)}.settings-row select{height:var(--control-height);min-width:0;padding:0 var(--space-2);border:1px solid #aab8b2;border-radius:var(--radius-sm);background:#fff;font-family:var(--ui-font);font-size:var(--font-size-ui)}.settings-note{margin:0;color:var(--muted);font-size:var(--font-size-ui);line-height:1.8}.settings-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.conversions-panel{width:min(720px,100%)}.unit-dialog-tabs{display:flex;gap:var(--space-1);padding:var(--space-2) var(--space-4) 0;border-bottom:1px solid var(--grid-line)}.unit-dialog-tabs button{padding:var(--space-1) var(--space-3);border:1px solid transparent;border-bottom:none;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:transparent;color:var(--muted);font-family:var(--ui-font);font-size:var(--font-size-ui);cursor:pointer}.unit-dialog-tabs button.active{border-color:var(--grid-line);background:#fff;color:var(--chrome-dark);font-weight:600}.unit-dialog-tabs button:focus-visible{outline:2px solid var(--grid-active);outline-offset:1px}.catalog-table{display:grid;gap:var(--space-1)}.catalog-head,.catalog-row{display:grid;grid-template-columns:72px minmax(120px,1.2fr) minmax(110px,1fr) minmax(90px,.8fr) 42px;gap:var(--space-2);align-items:center}.catalog-head span{color:var(--muted);font-size:var(--font-size-sm)}.catalog-group-title span{color:var(--chrome-dark);font-size:var(--font-size-sm);font-weight:600}.catalog-row input{height:var(--control-height);min-width:0;padding:0 var(--space-2);border:1px solid #aab8b2;border-radius:var(--radius-sm);background:#fff;font-family:var(--ui-font);font-size:var(--font-size-ui)}.catalog-row input:focus{border-color:var(--grid-active);box-shadow:inset 0 0 0 1px var(--grid-active)}.catalog-default{display:flex;align-items:center;gap:var(--space-1);min-height:var(--control-height);color:var(--chrome-dark)}.catalog-implicit{padding:0 6px;border-radius:999px;background:#fff3bf;color:#6d5300;font-size:12px;font-style:normal}.catalog-filter{display:flex;align-items:center;gap:var(--space-2);color:var(--muted);font-size:var(--font-size-sm)}.catalog-filter select{height:var(--control-height-sm);min-width:150px;padding:0 var(--space-2);border:1px solid #aab8b2;border-radius:var(--radius-sm);background:#fff;font-family:var(--ui-font)}.conversions-form{display:grid;gap:var(--space-3);padding:var(--space-4);overflow:auto}.conversions-table{display:grid;gap:var(--space-1)}.conversions-head,.conversions-row{display:grid;grid-template-columns:minmax(120px,1.2fr) minmax(96px,1fr) minmax(110px,1fr) 42px 42px 42px;gap:var(--space-2);align-items:center}.conversions-head span{color:var(--muted);font-size:var(--font-size-sm)}.conversions-row input{height:var(--control-height);min-width:0;padding:0 var(--space-2);border:1px solid #aab8b2;border-radius:var(--radius-sm);background:#fff;font-family:var(--ui-font);font-size:var(--font-size-ui)}.conversions-row input.grams-input{direction:ltr;text-align:left;font-variant-numeric:tabular-nums}.conversions-row input:focus{border-color:var(--grid-active);box-shadow:inset 0 0 0 1px var(--grid-active)}.conversions-status{min-height:var(--control-height-sm);margin:0;color:var(--muted);font-size:var(--font-size-sm)}.conversions-error{margin:0;padding:var(--space-1) var(--space-2);border:1px solid var(--tone-danger-fg);border-inline-start-width:3px;border-radius:var(--radius-sm);color:var(--tone-danger-fg);background:var(--tone-danger-bg);font-size:var(--font-size-sm);font-weight:600}.conversions-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.conversions-panel{width:min(1080px,100%);max-height:calc(100vh - 56px)}.catalog-manager{display:flex;flex-direction:column;gap:var(--space-3);min-height:0;overflow:hidden}.catalog-setup-steps{flex:none;display:grid;gap:var(--space-1);padding:var(--space-2) var(--space-3);border:1px solid var(--blue);border-radius:var(--radius-md);color:var(--tone-info-fg);background:var(--tone-info-bg);font-size:var(--font-size-ui)}.catalog-setup-steps h3{margin:0;font-size:var(--font-size-ui);font-weight:700}.catalog-setup-steps ol{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4);margin:0;padding:0;list-style:none}.catalog-setup-steps li{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--muted)}.catalog-setup-steps li.done{color:var(--tone-success-fg);font-weight:600}.catalog-setup-steps .setup-step-mark{display:inline-flex;align-items:center}.catalog-setup-steps p{margin:0;color:var(--muted);font-size:var(--font-size-sm)}.catalog-workspace{display:grid;grid-template-columns:220px minmax(0,1fr);grid-template-rows:minmax(0,1fr);flex:1 1 auto;min-height:180px;overflow:hidden;border:1px solid var(--grid-line);border-radius:var(--radius-md);background:#f7faf8}.category-sidebar{display:flex;flex-direction:column;gap:var(--space-3);min-width:0;min-height:0;padding:var(--space-3) var(--space-2);overflow-y:auto;border-inline-end:1px solid var(--grid-line);background:#edf3ef}.category-sidebar-head,.catalog-section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.category-sidebar-head{padding:0 var(--space-1)}.category-sidebar h3,.catalog-section-head h3,.category-editor h3{margin:0;color:var(--chrome-dark);font-size:var(--font-size-ui)}.category-sidebar-head span,.catalog-section-head span,.category-editor p{margin:2px 0 0;color:var(--muted);font-size:var(--font-size-sm)}.category-list{display:grid;gap:var(--space-1)}.category-list-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;min-height:52px;padding:var(--space-2);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--chrome-dark);font-family:var(--ui-font);text-align:start;cursor:pointer}.category-list-item:hover{background:#ffffffa8}.category-list-item.active{border-color:#b8cbc0;background:#fff;box-shadow:0 1px 3px #173f2b12}.category-list-item>span{display:grid;min-width:0}.category-list-item strong,.category-list-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-list-item strong{font-size:var(--font-size-ui)}.category-list-item small{color:var(--muted);font-size:var(--font-size-sm)}.category-list-item em{min-width:24px;padding:1px 6px;border-radius:999px;background:#dce8e0;color:var(--chrome-dark);font-size:var(--font-size-sm);font-style:normal;text-align:center}.category-empty-hint{margin:0;padding:var(--space-2);color:var(--muted);font-size:var(--font-size-sm);line-height:1.8}.category-stage{display:grid;grid-template-rows:auto minmax(0,1.25fr) minmax(0,1fr);gap:var(--space-3);min-width:0;min-height:0;padding:var(--space-4);overflow:hidden;background:#fff}.category-editor{display:grid;grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) var(--control-height);gap:var(--space-3);align-items:end;padding-bottom:var(--space-3);border-bottom:1px solid var(--grid-line)}.category-editor label{display:grid;gap:var(--space-1);color:var(--muted);font-size:var(--font-size-sm)}.category-editor input,.manager-item-row input,.rate-equation input{width:100%;min-width:0;height:var(--control-height);padding:0 var(--space-2);border:1px solid #aab8b2;border-radius:var(--radius-sm);background:#fff;color:var(--chrome-dark);font-family:var(--ui-font);font-size:var(--font-size-ui)}.category-editor input:focus,.manager-item-row input:focus,.rate-equation input:focus{border-color:var(--grid-active);outline:none;box-shadow:0 0 0 2px #2e7d5b24}.catalog-empty-state{display:grid;justify-items:center;align-content:center;gap:var(--space-2);min-height:360px;padding:var(--space-5);color:var(--muted);text-align:center}.catalog-empty-state h3,.catalog-empty-state p{margin:0}.catalog-empty-state>svg{width:calc(var(--icon-size) * 1.75);height:calc(var(--icon-size) * 1.75);color:var(--muted)}.catalog-empty-state h3{color:var(--chrome-dark)}.catalog-empty-state p{max-width:430px;line-height:1.9}.catalog-items-section,.item-rate-editor{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;overflow:hidden;border:1px solid var(--grid-line);border-radius:var(--radius-sm)}.item-rate-editor{grid-template-rows:auto auto minmax(0,1fr)}.catalog-section-head{min-height:52px;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--grid-line);background:#f5f8f6}.catalog-section-head>div{display:grid}.manager-item-list,.manager-rate-list{display:grid;align-content:start;min-height:0;overflow-y:auto;overscroll-behavior:contain}.manager-item-row{display:grid;grid-template-columns:minmax(160px,1fr) 82px 106px var(--control-height);gap:var(--space-2);align-items:center;padding:var(--space-2) var(--space-3);border-bottom:1px solid #e7ece9;background:#fff}.manager-item-row:last-child{border-bottom:none}.manager-item-row.active{background:#f0f7f3;box-shadow:inset -3px 0 0 var(--grid-active)}.inherited-unit{overflow:hidden;padding:4px 8px;border-radius:999px;background:#e5efe8;color:var(--chrome-dark);font-size:var(--font-size-sm);text-align:center;text-overflow:ellipsis;white-space:nowrap}.item-rates-link{display:flex;align-items:center;justify-content:center;gap:5px;height:var(--control-height);padding:0 var(--space-2);border:1px solid #b7c6bd;border-radius:var(--radius-sm);background:#fff;color:var(--chrome-dark);font-family:var(--ui-font);cursor:pointer}.item-rates-link:hover{border-color:var(--grid-active);background:#f5faf7}.item-rates-link em{color:var(--muted);font-size:var(--font-size-sm);font-style:normal}.catalog-inline-empty{padding:var(--space-4);color:var(--muted);font-size:var(--font-size-sm);line-height:1.8;text-align:center}.rate-empty{align-self:start;border:1px dashed #bdc9c1;border-radius:var(--radius-sm)}.rate-independence-note{margin:0;padding:var(--space-2) var(--space-3) 0;color:var(--muted);font-size:var(--font-size-sm)}.manager-rate-row{display:grid;grid-template-columns:minmax(290px,1.4fr) minmax(140px,.8fr) auto auto;gap:var(--space-2);align-items:center;padding:var(--space-3);border-bottom:1px solid #e7ece9}.manager-rate-row:last-child{border-bottom:none}.rate-equation{display:grid;grid-template-columns:auto minmax(72px,1fr) auto minmax(82px,.8fr) auto;gap:var(--space-2);align-items:center;color:var(--muted);font-size:var(--font-size-sm);white-space:nowrap}.rate-equation .grams-input{direction:ltr;font-variant-numeric:tabular-nums;text-align:left}.rate-equivalent{color:var(--muted);font-size:var(--font-size-sm);line-height:1.6}.rate-equivalent.default{width:fit-content;padding:3px 8px;border-radius:999px;background:#fff1bf;color:#6a5200;font-weight:600;white-space:nowrap}.tool-button.danger:not(:disabled){color:var(--tone-danger-fg)}@media(max-width:900px){.catalog-workspace{grid-template-columns:176px minmax(0,1fr)}.category-stage{padding:var(--space-3)}.manager-item-row{grid-template-columns:minmax(110px,1fr) 68px 44px var(--control-height);padding-inline:var(--space-2)}.item-rates-link span{display:none}.manager-rate-row{grid-template-columns:minmax(0,1fr) auto auto}.rate-equivalent{grid-column:1 / -1;grid-row:2}}@media(max-width:680px){.catalog-manager{padding:var(--space-2);overflow:auto}.catalog-workspace{flex:none;display:flex;flex-direction:column;height:auto;min-height:0;max-height:none;overflow:visible}.category-sidebar{flex:none;max-height:154px;border-inline-end:none;border-bottom:1px solid var(--grid-line)}.category-list{display:flex;overflow-x:auto}.category-list-item{flex:0 0 154px}.category-empty-hint{display:none}.category-stage{grid-template-rows:auto auto auto;overflow:visible}.catalog-items-section,.item-rate-editor{grid-template-rows:auto minmax(0,1fr);min-height:min-content;overflow:visible}.item-rate-editor{grid-template-rows:auto auto minmax(0,1fr)}.manager-item-list,.manager-rate-list{overflow-y:visible}.category-editor{grid-template-columns:minmax(0,1fr);align-items:stretch}.category-editor>.tool-button{width:fit-content}.catalog-section-head{align-items:flex-start}.catalog-section-head .tool-button span{display:none}.manager-item-row{grid-template-columns:minmax(100px,1fr) 44px var(--control-height)}.manager-item-row .inherited-unit{grid-column:1;grid-row:2;width:fit-content}.manager-item-row .item-rates-link{grid-column:2;grid-row:1 / 3}.manager-item-row>.tool-button{grid-column:3;grid-row:1 / 3}.manager-rate-row{grid-template-columns:minmax(0,1fr) auto auto;padding:var(--space-2)}.rate-equation{grid-column:1 / -1;grid-template-columns:auto minmax(60px,1fr) auto minmax(72px,.8fr) auto}}@keyframes authModalFadeIn{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-backdrop.auth-gate-backdrop,.modal-backdrop.users-workspace-backdrop{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 18%,rgba(15,122,66,.28),transparent 62%),#081a129e;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}.modal-card.auth-gate-card{width:min(430px,100%);border:1px solid rgba(15,95,59,.28);border-radius:12px;background:var(--surface);box-shadow:0 24px 60px #0719115c,0 4px 16px #07191129;overflow:hidden;animation:authModalFadeIn .16s ease-out}.modal-card.auth-gate-card.is-customer-card{width:min(740px,100%)}.auth-gate-hero{display:flex;align-items:center;gap:14px;padding:20px 22px;color:#fff;background:linear-gradient(135deg,var(--chrome) 0%,var(--chrome-dark) 100%);border-bottom:1px solid rgba(255,255,255,.12)}.auth-gate-hero-icon{width:44px;height:44px;border-radius:10px;background:#ffffff24;border:1px solid rgba(255,255,255,.24);display:grid;place-items:center;flex:none;color:#fff}.auth-gate-hero-text{min-width:0;flex:1}.auth-gate-hero-text h2{margin:0;font-size:17px;font-weight:700;line-height:1.35}.auth-gate-hero-text p{margin:4px 0 0;font-size:var(--font-size-sm);color:#ffffffd1;line-height:1.5}.auth-gate-form{padding:22px 24px 24px;display:flex;flex-direction:column;gap:15px}.auth-gate-form .field-label,.users-workspace-card .field-label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:#21332c}.auth-input-box{position:relative;display:flex;align-items:center}.auth-input-box .auth-field-icon{position:absolute;inset-inline-start:12px;color:var(--muted);pointer-events:none;display:inline-flex}.auth-input-box input{width:100%;height:40px;padding-inline-start:38px;padding-inline-end:38px;border:1px solid #b8c7c1;border-radius:8px;background:#fbfdfc;color:var(--text);font-size:var(--font-size-ui);transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease}.auth-input-box input:focus,.users-workspace-card input:focus,.users-workspace-card select:focus{outline:none;border-color:var(--grid-active);background:#fff;box-shadow:0 0 0 3px #0f7a4229}.auth-eye-toggle{position:absolute;inset-inline-end:6px;width:30px;height:30px;border:none;border-radius:6px;background:transparent;color:var(--muted);display:grid;place-items:center}.auth-eye-toggle:hover{background:var(--tab);color:var(--text)}.error-banner{padding:10px 12px;border:1px solid var(--tone-danger-border);border-radius:8px;background:var(--tone-danger-bg);color:var(--tone-danger-fg);font-size:13px;line-height:1.5}.notice-banner{padding:10px 12px;border:1px solid #a9c4de;border-radius:8px;background:var(--tone-info-bg);color:var(--tone-info-fg);font-size:12.5px;line-height:1.6}.primary-btn{min-height:38px;padding:0 18px;border:1px solid var(--chrome-dark);border-radius:8px;background:linear-gradient(180deg,#137548 0%,var(--chrome) 100%);color:#fff;font-size:var(--font-size-ui);font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 2px 6px #09442833}.primary-btn:hover:not(:disabled){filter:brightness(1.07)}.primary-btn:disabled{opacity:var(--disabled-opacity);cursor:not-allowed}.secondary-btn{min-height:36px;padding:0 14px;border:1px solid var(--grid-line);border-radius:8px;background:#fff;color:var(--text);font-size:13px;font-weight:500}.secondary-btn:hover:not(:disabled){background:var(--grid-head)}.auth-submit-btn{width:100%;height:42px;margin-top:4px;font-size:14.5px}.user-session-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:6px;background:#ffffff1f;border:1px solid rgba(255,255,255,.2);color:#fff;font-size:12px}.user-session-badge .titlebar-action{min-height:24px;padding:0 8px;border:1px solid rgba(255,255,255,.24);border-radius:4px;background:#ffffff1a;color:#fff;font-size:11.5px}.user-session-badge .titlebar-action:hover{background:#ffffff38}.modal-card.users-workspace-card{width:min(960px,100%);max-height:min(86vh,820px);display:flex;flex-direction:column;border:1px solid rgba(15,95,59,.28);border-radius:12px;background:var(--surface);box-shadow:0 24px 60px #07191157;overflow:hidden;animation:authModalFadeIn .16s ease-out}.users-workspace-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 22px;background:linear-gradient(135deg,var(--chrome) 0%,var(--chrome-dark) 100%);color:#fff}.users-workspace-header h2{margin:0;font-size:16.5px;font-weight:700}.users-workspace-body{padding:18px 22px 22px;overflow-y:auto;flex:1}.users-workspace-card input[type=text],.users-workspace-card input[type=password],.users-workspace-card input[type=number],.users-workspace-card select{height:36px;padding:0 10px;border:1px solid #b8c7c1;border-radius:6px;background:#fbfdfc;color:var(--text)}.users-workspace-card .report-table th,.users-workspace-card .report-table td{padding:8px 10px;border-bottom:1px solid var(--grid-line-soft);text-align:right;font-size:13px}.users-workspace-card .report-table th{background:var(--grid-head);color:#24352e;font-weight:600}.app-shell{line-height:1.4;letter-spacing:var(--letter-spacing-ui)}.sheet-cell{line-height:1.25}.cell-editor,.sheet-cell.numeric .cell-editor{font-variant-numeric:inherit;text-align:inherit}.column-header{grid-template-columns:24px minmax(0,1fr)}.row-header,.name-box,.summary-strip strong,.ribbon-select.small{font-variant-numeric:tabular-nums}.ribbon-group{padding-inline:var(--space-2)}.ribbon-label{right:var(--space-2)}.ribbon-select{max-width:160px}.tool-button.active:not(.mixed){box-shadow:inset 0 -2px 0 var(--grid-active)}.ribbon button:focus-visible,.ribbon select:focus-visible,.workbook-tabs button:focus-visible{outline-offset:-2px}.context-menu button,.fill-options-menu button{border-radius:var(--radius-sm)}.context-menu button:focus:not(:disabled),.fill-options-menu button:focus:not(:disabled){outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:-2px;background:var(--tone-success-bg)}.context-menu kbd{color:#596a61;direction:ltr;unicode-bidi:isolate}.context-menu button:disabled kbd{color:inherit}.shortcut-panel{grid-template-rows:auto minmax(0,1fr);min-height:0;overflow:hidden;border-radius:var(--radius-md);font-family:var(--ui-font);font-size:var(--font-size-ui)}.shortcut-header{flex:none;padding-block:var(--space-2)}.shortcut-header>div{min-width:0}.shortcut-header span{color:#ffffffe6;line-height:1.5}.shortcut-groups,.settings-form{min-height:0;overscroll-behavior:contain}.settings-actions .tool-button{height:auto;min-height:var(--control-height);padding-block:var(--space-1);line-height:1.5;text-align:start}.settings-row input{height:var(--control-height);min-width:0;padding:0 var(--space-2);border:1px solid #aab8b2;border-radius:var(--radius-sm);background:var(--surface);font-family:var(--ui-font);font-size:var(--font-size-ui)}.grid-size-panel{width:min(420px,100%)}.grid-size-panel .settings-row{grid-template-columns:minmax(0,1fr) 128px}.grid-size-panel input{width:100%;padding-inline:var(--space-2);font-variant-numeric:tabular-nums;text-align:left}.grid-size-panel input[aria-invalid=true]{border-color:var(--tone-danger-fg);background:var(--tone-danger-bg)}.dialog-actions{padding-block-start:var(--space-2);justify-content:flex-start}.reports-panel{display:flex;flex-direction:column;min-width:0;overflow:auto;overscroll-behavior:contain}.reports-panel>*{flex:0 0 auto;min-width:0}.reports-panel>.report-table-wrap{flex:1 0 182px;min-height:182px}.report-filters label,.summary-strip div{min-width:0}.report-filters input{width:100%;min-width:0}.summary-strip div{gap:var(--space-2)}.summary-strip strong{unicode-bidi:plaintext}.report-table td{line-height:1.4}@media(max-width:820px){.app-titlebar{gap:var(--space-2)}.app-shell.has-conflict{grid-template-rows:auto auto minmax(0,1fr)}.workbook-surface{min-height:0}.report-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:var(--space-2)}.report-filters label:first-child,.report-filters .run-report{grid-column:1 / -1}.summary-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.summary-strip div{flex-direction:column;align-items:start;justify-content:center;gap:var(--space-1);padding:var(--space-2)}.shortcut-panel{max-height:calc(100dvh - 20px)}}@media(max-width:560px){.settings-row{grid-template-columns:minmax(0,1fr);gap:var(--space-1)}.shortcut-header{align-items:start}.shortcut-group-card td:first-child{width:auto}.shortcut-group-card td{padding:var(--space-1)}.shortcut-group-card kbd{white-space:normal;overflow-wrap:anywhere}}.sheet-cell.formula-edit-origin{box-shadow:inset 0 0 0 2px #0e6a3e}.cell-draft-preview{width:100%;white-space:pre;overflow:hidden;text-overflow:clip}.formula-reference-0{--formula-reference-color: #2167ae}.formula-reference-1{--formula-reference-color: #b54242}.formula-reference-2{--formula-reference-color: #7953a7}.formula-reference-3{--formula-reference-color: #aa6818}.formula-reference-4{--formula-reference-color: #1c7c85}.formula-reference-cell:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;border:0 dashed var(--formula-reference-color)}.reference-top:after{border-top-width:2px}.reference-bottom:after{border-bottom-width:2px}.reference-left:after{border-left-width:2px}.reference-right:after{border-right-width:2px}.formula-reference-range{position:relative;z-index:1;min-width:0;min-height:0;pointer-events:none;border:2px dashed var(--formula-reference-color)}.sheet-grid:has(>.formula-reference-range) .formula-reference-cell:after{visibility:hidden}.formula-edit-origin .cell-editor{border-color:#0e6a3e}.column-header{grid-template-columns:24px minmax(0,1fr) 22px;gap:2px}.column-filter-button{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:3px;border:1px solid transparent;border-radius:var(--radius-sm);color:#5a6b62;background:transparent;cursor:pointer}.column-filter-button:hover,.column-filter-button[aria-expanded=true]{border-color:var(--grid-line);background:#fff}.column-filter-button.active{color:var(--chrome-dark);background:#cbe8d7;border-color:#83b49a}.column-filter-button svg{width:13px;height:13px}.column-filter-button:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:-1px}.column-filter-menu{position:fixed;z-index:80;display:flex;flex-direction:column;width:min(320px,calc(100vw - 16px));max-height:calc(100dvh - 16px);padding:10px;gap:8px;direction:rtl;color:var(--text);background:#fff;border:1px solid var(--grid-line);border-radius:var(--radius-md);box-shadow:0 8px 28px #17392a30;font-size:var(--font-size-sm)}.column-filter-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.column-filter-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.column-filter-title button{border:0;background:transparent;font-size:20px;padding:0 5px;color:#52675b}.column-filter-search{min-width:0;width:100%;padding:6px 8px;border:1px solid var(--grid-line);border-radius:var(--radius-sm)}.column-filter-select-all,.column-filter-option{display:flex;align-items:center;gap:7px;cursor:pointer}.column-filter-select-all{padding:2px 6px 6px;border-bottom:1px solid var(--grid-line-soft)}.column-filter-menu input[type=checkbox]{flex:none;margin:0;accent-color:var(--grid-active)}.column-filter-options{height:240px;min-height:64px;flex:1 1 240px;overflow:auto;overscroll-behavior:contain}.column-filter-option{height:32px;padding:4px 6px;border-radius:var(--radius-sm)}.column-filter-option:hover,.column-filter-option:focus-within{background:var(--tone-success-bg)}.column-filter-option span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:pre}.column-filter-option small{color:#64766b;font-variant-numeric:tabular-nums}.column-filter-note{margin:0;color:#596a61;font-size:11px;line-height:1.6}.column-filter-actions{display:flex;gap:6px;flex-wrap:wrap}.column-filter-actions button{flex:1;padding:5px 6px;border:1px solid var(--grid-line);border-radius:var(--radius-sm);background:#f6f8f7;color:#344e40;white-space:nowrap}.column-filter-actions button.primary{background:var(--grid-active);border-color:var(--grid-active);color:#fff}.column-filter-menu button:focus-visible,.column-filter-menu input:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:1px}.column-filter-empty{color:#596a61;padding:12px;text-align:center}.filter-view-status{display:flex;align-items:center;gap:12px;min-height:26px;padding:2px 10px;direction:rtl;color:#3f5b4b;background:#edf6f0;border-bottom:1px solid var(--grid-line-soft);font-size:11px;margin:-3px -10px 3px;flex-wrap:wrap}.filter-view-status button,.filter-no-matches button{color:var(--chrome-dark);border:0;background:transparent;text-decoration:underline;cursor:pointer}.filter-no-matches{grid-column:1 / -1;grid-row:2;align-self:start;justify-self:start;padding:18px;direction:rtl;color:#52675b}@media(max-width:480px){.column-filter-menu{gap:6px;padding:8px}.column-filter-options{flex-basis:190px}}.autocomplete-popup{position:fixed;z-index:80;box-sizing:border-box;overflow:hidden;border:1px solid #b8c9bf;border-radius:6px;background:#fff;color:var(--text);box-shadow:0 6px 22px #1d36282e;font-family:var(--ui-font);font-size:12px;line-height:1.5;text-align:right}.autocomplete-list{overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.autocomplete-options{position:relative}.autocomplete-option{position:absolute;inset-inline:0;display:flex;align-items:center;gap:12px;box-sizing:border-box;padding:0 10px;cursor:pointer}.autocomplete-option:hover{background:#f0f6f2}.autocomplete-option[data-category]:not([data-category=""]):after{content:attr(data-category);flex:0 0 auto;padding:0 6px;border-radius:999px;background:#eef2ef;color:#55645e;font-size:12px;line-height:20px}.autocomplete-option[aria-selected=true]{background:#dceee1;box-shadow:inset -3px 0 #217346}.autocomplete-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:pre;unicode-bidi:plaintext}.autocomplete-empty{padding:5px 10px;color:#52665a}@media(forced-colors:active){.autocomplete-popup{border-color:CanvasText}.autocomplete-option[aria-selected=true]{background:Highlight;color:HighlightText}}@media print{@page{margin:12mm}.app-shell,.workbook-surface,.workbook-content,.sheet-workspace,.report-grid-host,.report-table-wrap{display:block;height:auto;min-height:0;overflow:visible}.app-titlebar,.conflict-bar,.tab-strip,.ribbon,.formula-bar,.selection-status-bar,.shortcut-backdrop,.context-menu,.column-filter-button,.column-resize-handle,.row-resize-handle,.grid-resize-guide,.fill-handle,.active-fill-handle,.fill-options,.autocomplete-popup{display:none!important}.sheet-grid{height:auto;max-height:none;overflow:visible!important;border-color:var(--grid-line);align-content:start;print-color-adjust:exact;-webkit-print-color-adjust:exact}.sheet-cell,.row-header,.column-header,.corner-cell{break-inside:avoid;print-color-adjust:exact;-webkit-print-color-adjust:exact}.grid-row-contents{break-inside:avoid}}@keyframes shell-surface-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes shell-fade-in{0%{opacity:0}to{opacity:1}}@keyframes shell-dialog-in{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}@keyframes shell-tab-in{0%{opacity:.65}to{opacity:1}}.notice{animation:shell-surface-in .16s ease-out}.load-gate{animation:shell-fade-in .16s ease-out}.shortcut-panel.dialog-motion{animation:shell-dialog-in .16s ease-out}.workbook-tabs button.active{animation:shell-tab-in .16s ease-out}@media(prefers-reduced-motion:reduce){.notice,.load-gate,.shortcut-panel.dialog-motion,.workbook-tabs button.active{animation-duration:0ms}}
