/* Kitchen inventory. Accent ladder; existing blue identity and system type retained.
   Canvas = viewport - 232px sidebar - equal 28px gutters. */
:root{--bg:#f5f7fa;--paper:#fff;--raised:#f8fafc;--ink:#243348;--muted:#58677b;--line:#e5e9ef;--rule:#edf0f4;--control:#cbd3df;--blue:#205bcc;--blue-soft:#edf3ff;--blue-ink:#1c4fae;--green:#24744e;--danger:#ad2c36;--radius:10px;--sidebar-width:232px;--gutter:28px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-synthesis:none;font-size:14px;color:var(--ink);color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:var(--bg);line-height:1.45}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;color:var(--muted);background:var(--raised)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #8eb1f4;outline-offset:3px}a{text-decoration:none;color:inherit}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}svg{width:20px;height:20px;flex-shrink:0;vertical-align:middle}
.app-shell{display:flex;min-height:100dvh}.sidebar{width:var(--sidebar-width);position:fixed;inset:0 auto 0 0;background:var(--bg);border-right:1px solid var(--line);padding:24px 14px 20px;display:flex;flex-direction:column;overflow-y:auto;z-index:10}.brand{display:flex;align-items:center;gap:10px;padding:0 10px;font-size:23px;font-weight:650;letter-spacing:-.5px}.brand-mark{width:38px;height:38px;background:var(--blue);color:#fff;border-radius:10px;display:grid;place-items:center;font-size:29px;line-height:1;padding-bottom:4px;letter-spacing:-3px;padding-right:3px}.brand small{display:block;font-size:12px;font-weight:400;color:var(--muted);letter-spacing:0;margin-top:1px}.workspace-label{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);margin:24px 12px 18px}.status-dot{width:6px;height:6px;background:var(--green);display:inline-block;border-radius:50%;flex-shrink:0}
.primary-nav,.station-nav{display:flex;flex-direction:column;gap:4px}.nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:transparent;color:var(--muted);text-align:left;border-radius:7px;min-height:42px;font-size:14px}.nav-item svg{width:18px;height:18px}.nav-item:hover{background:#eaf0f7;color:var(--ink)}.nav-item.active{background:#e4ecfa;color:var(--blue-ink);font-weight:600}.nav-item .count{margin-left:auto;font-size:12px;font-variant-numeric:tabular-nums;font-weight:400;color:var(--muted)}.nav-item.active .count{color:var(--blue-ink)}.sidebar-label{font-size:12px;font-weight:600;color:var(--muted);margin:26px 12px 12px}.station-nav{gap:2px}.station-nav .nav-item{font-size:13px;min-height:38px;padding:8px 12px}.station-dot{width:7px;height:7px;border:1.5px solid #78869a;border-radius:2px;margin:0 5px;flex-shrink:0}.nav-item.active .station-dot{background:var(--blue);border-color:var(--blue)}.sidebar-footer{margin-top:auto;display:flex;align-items:center;gap:10px;padding:26px 10px 0;font-size:12px;color:var(--muted)}.sidebar-footer small{display:block;font-size:11px;margin-top:3px}.file-glyph{font-weight:700;color:var(--muted);border:1px solid var(--control);border-radius:5px;padding:6px 9px}
.main{margin-left:var(--sidebar-width);width:calc(100% - var(--sidebar-width));min-width:0}.topbar{height:56px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter);gap:16px}.breadcrumb{font-size:12px;color:var(--muted);display:flex;gap:10px;align-items:center;min-width:0}.breadcrumb strong{font-weight:500;color:var(--ink)}.breadcrumb span{color:var(--muted)}.save-status{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--muted);white-space:nowrap}.content{max-width:1500px;margin:0 auto;padding:28px var(--gutter) 24px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}h1{font-size:26px;line-height:1.2;letter-spacing:-.5px;margin:0;font-weight:650;display:flex;align-items:center;gap:10px}h1>span{font-size:13px;font-weight:500;letter-spacing:0;font-variant-numeric:tabular-nums;padding:4px 8px;border:1px solid var(--line);background:var(--paper);border-radius:6px;color:var(--muted)}.page-heading p{margin:8px 0 0;color:var(--muted);font-size:13px;max-width:520px}.heading-actions{display:flex;gap:8px;flex-shrink:0}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:7px;padding:10px 14px;min-height:40px;font-size:13px;font-weight:600;white-space:nowrap;transition:background .14s}.button svg{width:16px;height:16px}.primary{background:var(--blue);color:var(--paper)}.primary:hover{background:var(--blue-ink)}.secondary{background:var(--paper);border:1px solid var(--control);color:var(--ink)}.secondary:hover{background:var(--raised)}
.catalog{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:clip}.catalog-tools{position:sticky;top:0;z-index:5;background:var(--paper);border-bottom:1px solid var(--line)}.toolbar{padding:16px 20px 12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.search-wrap{position:relative;display:flex;align-items:center;flex:1;min-width:160px;max-width:400px}.search-wrap>span{position:absolute;left:12px;color:var(--muted);display:flex;pointer-events:none}.search-wrap svg{width:17px;height:17px}.search-wrap input{height:40px;width:100%;border:1px solid var(--control);border-radius:7px;background:var(--paper);padding:0 36px 0 38px;color:var(--ink);font-size:14px}.search-wrap input::placeholder{color:var(--muted);opacity:1}.search-wrap kbd{position:absolute;right:12px;font-size:12px;font-family:inherit;border:1px solid var(--control);border-radius:4px;padding:0 5px;color:var(--muted);pointer-events:none}.category-controls{display:flex;align-items:center;gap:8px;min-width:0}.filter-label{min-width:0}.filter-label select,.mobile-station select{height:40px;border:1px solid var(--control);border-radius:7px;padding:0 28px 0 10px;font-size:13px;color:var(--ink);background:var(--paper);max-width:225px;min-width:0}.filter-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 12px;border:1px solid var(--control);border-radius:7px;background:var(--paper);color:var(--muted);font-size:13px;white-space:nowrap;flex-shrink:0}.filter-toggle:hover{background:var(--raised)}.filter-toggle[aria-pressed="true"]{background:var(--blue-soft);border-color:#7b9fdf;color:var(--blue-ink)}.filter-count{font-size:12px;font-variant-numeric:tabular-nums}.filter-count:empty{display:none}.mobile-station{display:none}.text-button{display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--blue-ink);font-size:13px;padding:8px 0;min-height:36px;white-space:nowrap}.text-button:hover{text-decoration:underline;text-underline-offset:3px}
.list-info{padding:0 20px 12px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px;gap:16px}.list-info #results-count{color:var(--ink);font-variant-numeric:tabular-nums}.table-heading{display:grid;grid-template-columns:minmax(0,1fr) 43% 20px;gap:16px;padding:10px 20px;background:var(--paper);border-top:1px solid var(--rule);font-size:12px;color:var(--muted)}.group-heading{display:flex;gap:10px;align-items:center;padding:10px 20px 7px;font-size:11px;font-weight:600;line-height:1.4;color:var(--muted);background:var(--raised);border-block:1px solid var(--rule)}.group-heading:first-child{border-top:0}.group-count{font-size:12px;font-weight:400;font-variant-numeric:tabular-nums;color:var(--muted)}.item-row{width:100%;padding:9px 20px;min-height:48px;display:grid;grid-template-columns:minmax(0,1fr) 43% 20px;align-items:center;gap:16px;background:var(--paper);border-bottom:1px solid var(--rule);text-align:left;transition:background .14s;scroll-margin-top:180px}.item-row:last-child{border-bottom:0}.item-row:hover{background:#f4f7fd}.item-row:active{background:var(--blue-soft)}.item-row:focus-visible{outline-offset:-3px}.item-name{font-size:13px;font-weight:500;line-height:1.45;color:var(--ink);overflow-wrap:anywhere;min-width:0}.item-subtitle{font-size:12px;font-weight:400;color:var(--muted);margin-top:4px}.item-row .arrow{color:var(--muted);justify-self:end}.item-row:hover .arrow{color:var(--blue)}.station-chips{display:flex;flex-wrap:wrap;gap:5px;min-width:0}.station-chip{display:inline-flex;align-items:center;min-height:21px;font-size:11px;font-weight:400;padding:2px 6px;background:#f0f3f7;color:#495a70;border:1px solid #e3e8ef;border-radius:4px;white-space:nowrap;flex:none}.station-chip.selected-station{color:var(--blue-ink);background:var(--blue-soft);border-color:#bed0ef}.no-placements{font-size:12px;color:var(--muted);line-height:1.5}.catalog-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 20px;background:var(--raised);border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.catalog-footer>span{overflow-wrap:anywhere}.catalog-footer .text-button{font-size:12px;flex-shrink:0}.page-footer{display:flex;justify-content:space-between;gap:16px;margin-top:16px;font-size:11px;color:var(--muted)}
.empty-state,.loading-state{padding:48px 24px;text-align:center;color:var(--muted);font-size:14px}.empty-state svg{width:28px;height:28px;margin-bottom:12px;color:var(--muted)}.empty-state h3{font-size:16px;color:var(--ink);font-weight:600;margin:0 0 8px}.empty-state p{line-height:1.6;margin:0 0 16px}.bottom-nav{display:none}.notice{background:#fff8e8;border:1px solid #eedab0;color:#775619;border-radius:7px;font-size:13px;padding:12px 16px;line-height:1.6;margin-bottom:20px}
.editor-dialog{position:fixed;margin:0 0 0 auto;inset:0 0 0 auto;width:520px;max-width:100%;height:100dvh;max-height:100dvh;border:0;border-left:1px solid var(--line);padding:0;background:var(--paper);color:var(--ink);box-shadow:-12px 0 48px #1b2c4120;overflow:hidden}.editor-dialog::backdrop,.confirm-dialog::backdrop{background:#18283c55}.editor-dialog form{display:flex;flex-direction:column;height:100%;margin:0}.editor-header{padding:22px 24px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.editor-context{font-size:12px;color:var(--muted);margin-bottom:5px}.editor-header h2{font-size:23px;font-weight:600;letter-spacing:-.4px;margin:0}.icon-button{background:var(--raised);color:var(--muted);border:1px solid var(--line);border-radius:7px;width:40px;height:40px;display:inline-grid;place-items:center;flex-shrink:0}.icon-button:hover{background:#edf1f7}.icon-button svg{width:18px;height:18px}.editor-body{padding:22px 24px;overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0}.field{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:500;color:var(--ink);margin-bottom:20px}.field input,.field select{height:44px;border:1px solid var(--control);border-radius:7px;padding:0 12px;font-size:15px;color:var(--ink);background:var(--paper);width:100%;min-width:0}.field input::placeholder{color:var(--muted);opacity:1}.master-note{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;padding:12px;background:var(--raised);border-radius:6px;margin-bottom:24px;line-height:1.5}.master-note svg{width:16px;height:16px;color:var(--blue-ink)}.placement-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.placement-heading h3{font-size:16px;font-weight:600;margin:0}.placement-heading span{font-size:12px;font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap}.field-description{font-size:12px;color:var(--muted);line-height:1.6;margin:8px 0 16px}.placement-list{display:flex;flex-direction:column;gap:8px}.placement-option{border:1px solid var(--control);border-radius:7px;transition:border-color .14s}.placement-option.checked{border-color:#8faee0;background:#f7faff}.placement-label{display:flex;align-items:center;gap:12px;cursor:pointer;padding:13px 12px;font-size:14px;color:var(--ink);min-height:48px}.placement-label input{width:19px;height:19px;margin:0;accent-color:var(--blue);flex-shrink:0}.placement-label .small-count{margin-left:auto;font-size:12px;font-variant-numeric:tabular-nums;color:var(--muted)}.placement-section{display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:0 12px 12px 43px;color:var(--muted);font-size:12px}.placement-section select{font-size:13px;border:1px solid var(--control);background:var(--paper);color:var(--ink);border-radius:5px;padding:8px;max-width:100%;min-width:0;width:100%;height:38px}.editor-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 24px max(16px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--paper);flex-shrink:0}.editor-footer .danger{margin-right:auto;font-size:12px}.danger{color:var(--danger)}.form-error{padding:12px;border:1px solid #e9b6bb;border-radius:7px;background:#fff4f4;color:var(--danger);font-size:13px;line-height:1.6;margin-top:16px}
.confirm-dialog{border:1px solid var(--line);border-radius:10px;box-shadow:0 16px 64px #142a4b30;width:420px;max-width:calc(100% - 32px);padding:24px;color:var(--ink)}.confirm-dialog h2{font-size:21px;line-height:1.35;margin:14px 0 10px}.confirm-dialog p{font-size:14px;color:var(--muted);line-height:1.6;margin-bottom:24px;overflow-wrap:anywhere}.confirm-icon{color:var(--muted)}.confirm-icon svg{width:24px;height:24px}.confirm-actions{display:flex;justify-content:flex-end;gap:8px}.toast{position:fixed;left:calc(50% + 116px);bottom:24px;transform:translateX(-50%);max-width:calc(100% - 32px);padding:13px 18px;background:var(--ink);color:var(--paper);border-radius:8px;box-shadow:0 6px 24px #162f5420;z-index:1000;display:flex;align-items:center;gap:16px;font-size:14px}.toast button{background:transparent;color:#d4e3ff;font-size:13px;padding:4px 0;min-height:32px}
.history-view{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.history-intro{padding:20px;color:var(--muted);font-size:14px;line-height:1.6;border-bottom:1px solid var(--line)}.history-entry{display:flex;gap:14px;align-items:center;padding:18px 20px;border-bottom:1px solid var(--rule)}.history-glyph{color:var(--muted);flex-shrink:0}.history-glyph svg{width:18px;height:18px}.history-entry strong{font-size:14px;font-weight:500;display:block;overflow-wrap:anywhere}.history-entry time{font-size:12px;color:var(--muted);display:block;margin-top:4px}.history-entry .version{font-size:12px;font-variant-numeric:tabular-nums;margin-left:auto;color:var(--muted)}.history-entry .text-button{margin-left:auto}.archive-action{font-size:12px;color:var(--blue-ink);display:flex;align-items:center;gap:5px}mark{background:#fff0b5;color:var(--ink);border-radius:2px}.mobile-only{display:none}
@media(max-width:1150px) and (min-width:801px){:root{--sidebar-width:210px;--gutter:24px}.page-heading{align-items:flex-start;flex-wrap:wrap;gap:16px}.search-wrap{max-width:none;flex-basis:100%}.category-controls{flex:1}.filter-label{flex:1}.filter-label select{width:100%;max-width:none}#list-hint{display:none}}
@media(max-width:800px){:root{--gutter:16px}.sidebar{display:none}.main{width:100%;margin:0}.topbar{height:48px;gap:8px}.breadcrumb{font-size:11px;gap:7px}.save-status{font-size:11px;gap:6px}.content{padding:20px var(--gutter) 100px}.page-heading{align-items:flex-start;flex-wrap:wrap;gap:16px;margin-bottom:18px}h1{font-size:24px}.page-heading p{font-size:12px;margin-top:7px}.heading-actions{width:100%;gap:8px}.heading-actions .button{flex:1;min-height:44px;font-size:13px;padding:10px 12px}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;padding:8px 12px max(8px,env(safe-area-inset-bottom));gap:8px;background:var(--paper);border-top:1px solid var(--line);z-index:20}.bottom-nav .nav-item{flex-direction:column;justify-content:center;gap:4px;flex:1;width:auto;min-height:48px;padding:5px;font-size:11px}.bottom-nav .nav-item svg{width:19px;height:19px}.bottom-nav .nav-item .count{display:none}.toolbar{padding:12px;gap:8px}.search-wrap{flex:1 1 100%;min-width:0;max-width:none}.search-wrap input{height:44px;font-size:16px}.search-wrap kbd{display:none}.category-controls{flex:1 1 100%;min-width:0;gap:8px}.filter-label{display:block;flex:1;min-width:0}.filter-label select,.mobile-station select{width:100%;max-width:none;height:44px;font-size:14px;padding-left:10px;padding-right:22px}.filter-toggle{height:44px;font-size:13px;padding-inline:10px;gap:6px}.filter-count{font-size:12px}.mobile-station{display:block;flex:1;min-width:0}.toolbar .text-button{min-height:44px;padding:8px 4px;font-size:12px}.list-info{padding:0 12px 12px;font-size:12px}#list-hint{display:none}.table-heading{display:none}.group-heading{padding:9px 12px;font-size:11px}.item-row{grid-template-columns:minmax(0,1fr) 18px;padding:10px 12px;gap:6px;min-height:64px;scroll-margin-top:205px}.item-name{font-size:13px}.station-chips{grid-row:2;gap:5px}.item-row>.arrow,.item-row>.archive-action{grid-row:1 / span 2;grid-column:2;align-self:center}.archive-action{font-size:0}.station-chip{font-size:11px;min-height:21px;padding:1px 6px}.no-placements{font-size:12px}.catalog-footer{align-items:flex-start;flex-direction:column;gap:4px;padding:12px}.catalog-footer>span{display:none}.catalog-footer .text-button{font-size:12px;min-height:44px}.page-footer{flex-wrap:wrap;gap:4px;font-size:11px}.toast{left:50%;bottom:88px;width:max-content;max-width:calc(100% - 24px);font-size:13px}.editor-dialog{width:100%;border:0}.editor-header{padding:18px 16px 16px}.editor-header h2{font-size:22px}.icon-button{width:44px;height:44px}.editor-body{padding:20px 16px}.editor-footer{display:grid;grid-template-columns:1fr 1.4fr;padding:12px 16px max(12px,env(safe-area-inset-bottom));gap:8px}.editor-footer .button{min-height:44px;font-size:14px;padding:10px}#cancel-editor{grid-column:1;grid-row:1}#save-item{grid-column:2;grid-row:1}#archive-item{grid-column:1 / -1;grid-row:2;margin:0;min-height:40px;font-size:12px}.field input,.field select,.placement-section select{font-size:16px}.placement-section select{height:44px}.history-intro{font-size:14px;padding:16px}.history-entry{padding:16px;gap:12px}.history-entry strong{font-size:14px}.notice{font-size:12px}.confirm-actions .button{min-height:44px;font-size:13px;white-space:normal}}
@media(max-width:360px){.breadcrumb>span{display:none}.breadcrumb{font-size:0;gap:0}.breadcrumb strong{font-size:11px}.heading-actions .button{font-size:12px;padding-inline:8px;gap:6px}.filter-toggle{font-size:12px;padding-inline:8px}.filter-label select{font-size:13px}.editor-header h2{font-size:20px}.placement-heading h3{font-size:15px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* Category management shares the catalogue's compact rows and controls. */
.categories-view{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:clip}
.categories-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid var(--line)}
.categories-toolbar .search-wrap{max-width:360px}.categories-toolbar>span{font-size:12px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.categories-heading,.category-row{display:grid;grid-template-columns:minmax(0,1fr) 64px 158px;align-items:center;gap:16px;padding:10px 20px}
.categories-heading{font-size:12px;color:var(--muted);background:var(--raised);border-bottom:1px solid var(--line)}
.category-row{min-height:52px;border-bottom:1px solid var(--rule)}.category-row:last-child{border-bottom:0}
.category-row-name{font-size:13px;font-weight:500;overflow-wrap:anywhere}.category-item-count{font-size:12px;text-align:right;font-variant-numeric:tabular-nums;color:var(--muted)}
.categories-heading>span:nth-child(2){text-align:right}.category-rename{gap:7px;justify-self:end;font-size:12px}.category-rename svg{width:16px;height:16px}
.category-dialog{width:440px;max-width:calc(100% - 32px);max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--line);border-radius:10px;padding:24px;color:var(--ink);background:var(--paper);box-shadow:0 16px 64px #142a4b30}
.category-dialog::backdrop{background:#18283c55}.category-dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.category-dialog h2{font-size:22px;line-height:1.3;margin:0;font-weight:600;letter-spacing:-.3px}.category-dialog .field-description{font-size:13px;margin:16px 0 22px}.category-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.category-dialog .field{margin-bottom:0}
@media(max-width:800px){.categories-toolbar{padding:12px;flex-wrap:wrap;gap:10px}.categories-toolbar .search-wrap{max-width:none}.categories-heading,.category-row{padding:10px 12px;grid-template-columns:minmax(0,1fr) 48px 44px;gap:10px}.category-rename{width:44px;min-height:44px;padding:0}.category-rename span{display:none}.category-row{min-height:64px}.category-dialog{padding:20px 16px}.category-dialog h2{font-size:21px}.category-dialog .field input{font-size:16px}.category-dialog-actions .button{min-height:44px}.bottom-nav .nav-item{min-width:0}}
