@font-face{font-family:Faida;src:url('/assets/faida-0.ttf');font-weight:300 500;font-display:swap}@font-face{font-family:Faida;src:url('/assets/faida-1.ttf');font-weight:600 800;font-display:swap}
:root{color-scheme:light;--navy:#0e1a3a;--gold:#f2c56d;--bg:#e8edf4;--panel:#fff;--card-bg:#fff;--card-border:#c6d1df;--card-shadow:0 3px 12px #0e1a3a12;--muted:#626a7a;--line:#dde1e9;--note:#fcf5e5;--red:#ab3039;--green:#22754d;--text:var(--navy);--error-bg:#fff0f0;--error-text:var(--red);--success-bg:#e9f4ee;--success-text:var(--green);font:400 16px/1.45 Faida,system-ui,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit;touch-action:manipulation}button:disabled{opacity:.5;cursor:wait}button,a,input,textarea,select{outline-offset:4px}button:focus-visible,a:focus-visible{outline:3px solid #ad7c26}input,textarea,select{color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px;min-height:48px;width:100%;font-size:16px}textarea{resize:vertical;overflow-wrap:anywhere}input[type=checkbox]{width:22px;height:22px;min-height:22px;accent-color:#ad7c26;flex:none}label{display:block}label.check{display:flex;align-items:center;gap:12px;min-height:48px}.shell{max-width:780px;min-height:100dvh;margin:auto;background:var(--bg);display:flex;flex-direction:column}.top{background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;gap:8px;padding:calc(6px + env(safe-area-inset-top)) 18px 6px}.brand{--logo-scale:1;position:relative;display:block;flex:none;width:calc(195px * var(--logo-scale));height:calc(56px * var(--logo-scale));overflow:hidden}.brand img{position:absolute;max-width:none;width:calc(260px * var(--logo-scale));height:calc(260px * var(--logo-scale));left:calc(-30px * var(--logo-scale));top:calc(-102px * var(--logo-scale))}.icon-button{border:0;background:transparent;min-width:48px;min-height:48px;font-size:25px;padding:6px;flex-shrink:0;border-radius:12px}.bordered{background:var(--panel);border:1px solid var(--line)}.environment{color:var(--muted);font-size:11px;letter-spacing:.2px;min-width:0;padding:5px 0}main{padding:28px 20px;flex:1}h1{margin:8px 0 14px;}h2{font-size:21px;margin:0}p{margin:0 0 16px}.muted{color:var(--muted)}.small{font-size:13px}.eyebrow{font-size:11px;font-weight:600;color:var(--muted);letter-spacing:1.7px}.intro{margin:0 0 28px;text-wrap:balance}.primary,.secondary,.text-button{border:0;border-radius:12px;min-height:48px;padding:12px 16px;font-weight:600}.primary{background:var(--gold);color:var(--navy)}.secondary{background:var(--panel);border:1px solid var(--line)}.text-button{background:transparent;padding-left:0;padding-right:0;text-align:left;font-size:14px}.big{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:58px}.big>svg{flex:none}.big span{font-size:26px}.stack{display:grid;gap:12px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px;margin:20px 0}.panel p:last-child{margin-bottom:0}.footer{text-align:center;color:var(--muted);font-size:11px;padding:10px 10px calc(14px + env(safe-area-inset-bottom));letter-spacing:.7px}.footer span{color:#b99146;margin:0 4px}.notice{background:var(--note);padding:13px 16px;font-size:14px;border-radius:12px;margin:12px 0;overflow-wrap:anywhere}.shell>.notice{margin:12px 16px 0}.warning{border-left:3px solid #d29c37}.error{background:var(--error-bg);border-left:3px solid var(--red);color:var(--error-text)}.success{background:var(--success-bg);color:var(--success-text)}.title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.title-row h1{margin:8px 0 0;overflow-wrap:anywhere}.freshness{margin:0}.search{display:flex;align-items:center;border:1px solid var(--line);border-radius:12px;background:var(--panel);padding-left:12px;gap:6px}.search>span{font-size:25px}.search input{border:0;min-width:0;padding-left:4px}.search>svg{flex:none}.search input::placeholder{color:var(--muted);font-size:15px}.search .icon-button{font-size:22px}.list-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0 14px;flex-wrap:wrap}.product-list{display:grid;gap:18px}.product-card{border:1px solid var(--card-border);border-radius:16px;background:var(--card-bg);box-shadow:var(--card-shadow);padding:15px}.product-card.matched{box-shadow:0 0 0 2px #bf9850}.product-main{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.thumb{border:1px solid var(--line);border-radius:12px;background:var(--bg);min-height:0;aspect-ratio:1;position:relative;align-self:start;width:100%;padding:0;overflow:hidden;display:grid;place-items:center;color:var(--muted)}.thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.no-photo{display:grid;place-items:center;font-size:11px;padding:12px 4px;text-align:center}.no-photo span{font-size:28px;opacity:.5}.line-number{font-size:12px;color:var(--muted);margin-bottom:5px}.item-title{border-radius:6px;display:block;text-align:left;padding:0;border:0;background:transparent;font-weight:600;font-size:15px;line-height:1.4;overflow-wrap:anywhere;min-height:44px}.ids{margin-top:12px;display:grid;grid-template-columns:70px minmax(0,1fr);gap:4px 10px;font-size:13px;overflow-wrap:anywhere}.ids dt{color:var(--muted)}.ids dd{margin:0}.barcode-digits{font-variant-numeric:tabular-nums;letter-spacing:.6px;display:block}.hint{font-size:14px;padding:12px;border-left:3px solid #d8ae64;background:var(--note);border-radius:0 8px 8px 0;margin:12px 0}.hint strong{display:block;font-size:11px;margin-bottom:4px}.quantity{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.quantity strong{font-size:24px;white-space:nowrap}.stock{border-top:1px solid var(--line);margin-top:12px;padding-top:11px;font-size:13px}.stock-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:8px}.stock-nums{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}.stock-nums span{display:grid;text-align:right}.stock-nums b{font-size:16px}.stock-nums small{font-size:10px;color:var(--muted)}.finance{display:flex;gap:24px;margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.finance span{display:block;color:var(--muted);font-size:11px}.document-bottom{margin-top:22px}.document-bottom button{width:100%}.empty{text-align:center;padding:35px 14px;color:var(--muted)}fieldset{min-width:0}legend{font-size:15px;font-weight:700;padding:0 6px}.sticky-actions{display:grid;grid-template-columns:1fr auto;gap:10px;position:sticky;bottom:0;background:var(--bg);padding:12px 0 calc(12px + env(safe-area-inset-bottom))}.back{margin-bottom:8px}dialog{color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:20px;width:min(94vw,500px);max-height:92dvh;padding:20px;overscroll-behavior:contain}dialog::backdrop{background:#081123aa;backdrop-filter:blur(3px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.full-dialog{width:min(100vw,620px);height:100dvh;max-height:100dvh;max-width:100vw;margin:0 auto;border-radius:0;border:0;padding:calc(8px + env(safe-area-inset-top)) 20px calc(20px + env(safe-area-inset-bottom))}.full-dialog .dialog-head{position:sticky;top:-8px;z-index:1;background:var(--panel)}.detail-image{display:grid;place-items:center;min-height:230px;background:var(--bg);border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-bottom:20px}.detail-image img{width:100%;max-height:50dvh;object-fit:contain}.detail-name{font-size:21px;font-weight:600;line-height:1.35;overflow-wrap:anywhere}.barcode-paper{background:white;color:black;border-radius:12px;text-align:center;padding:16px 5px;margin-top:10px;overflow:auto}.barcode-paper canvas{display:block;max-width:100%;height:auto;margin:auto}.barcode-help{font-size:11px;color:var(--muted);margin-top:10px}.viewfinder{position:relative;background:#0e1a3a;aspect-ratio:1.15;border-radius:16px;overflow:hidden;margin-bottom:14px}.viewfinder video{width:100%;height:100%;object-fit:cover}.scan-frame{position:absolute;inset:20%;border:2px solid var(--gold);border-radius:12px;pointer-events:none}.file-button{display:block;text-align:center;margin-top:14px;font-size:14px;cursor:pointer}.file-button input{position:absolute;width:1px;height:1px;opacity:0;padding:0;min-height:0}.notice button{border:0;background:transparent;font:inherit;text-decoration:underline;color:inherit}[hidden]{display:none!important}
@media(min-width:650px){main{padding:36px}#home-screen{max-width:430px;margin:30px auto}.product-list{grid-template-columns:1fr 1fr}}
@media(max-width:360px){main{padding:22px 12px}.top{padding-left:14px;padding-right:14px}.product-card{padding:12px}.product-main{gap:10px}.quantity strong{font-size:21px}.stock-line{grid-template-columns:1fr}.stock-nums{justify-content:flex-start}.stock-nums span{text-align:left}.full-dialog{padding-left:14px;padding-right:14px}}
:root[data-theme="dark"]{color-scheme:dark;--bg:#0a132b;--panel:#0e1a3a;--card-bg:#162444;--card-border:#3b5075;--card-shadow:0 4px 14px #0003;--muted:#adb8d1;--line:#293859;--note:#242842;--text:#f2f3f8;--error-bg:#351e29;--error-text:#ffb5bc;--success-bg:#152f2b;--success-text:#b0e4c6}
@media(prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--bg:#0a132b;--panel:#0e1a3a;--card-bg:#162444;--card-border:#3b5075;--card-shadow:0 4px 14px #0003;--muted:#adb8d1;--line:#293859;--note:#242842;--text:#f2f3f8;--error-bg:#351e29;--error-text:#ffb5bc;--success-bg:#152f2b;--success-text:#b0e4c6}}
@media(prefers-reduced-motion:no-preference){button{transition:background .15s,opacity .15s}}

.header-actions{display:flex;align-items:center;gap:2px}.header-actions svg{display:block;margin:auto}.history-home{width:100%}.recent-list{display:grid;gap:10px}.recent-item{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:14px;text-align:left;background:var(--bg);border:1px solid var(--line);border-radius:12px;min-height:76px}.recent-item>span:first-child{min-width:0;display:grid;gap:3px;overflow-wrap:anywhere}.recent-item>span:last-child{font-size:24px;color:var(--muted)}

.utility-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 18px;border-bottom:1px solid var(--line);min-height:34px}.utility-bar .icon-button{display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px}.header-actions svg{width:24px;height:24px}.document-meta{white-space:pre-line;text-align:right;font-size:14px;line-height:1.5;padding-bottom:2px;flex-shrink:0}.title-row>div:first-child{min-width:0}.freshness-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:6px 0 14px;padding-bottom:8px;border-bottom:1px solid var(--line)}.freshness-row .icon-button{display:grid;place-items:center;width:44px;min-width:44px;min-height:44px}.document-actions{display:flex;gap:8px;margin:12px 0}.document-actions .secondary{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;font-weight:400}.document-actions #scan-product{flex:1}.document-actions #document-settings{flex:none;width:48px;padding:10px;margin-left:auto}.document-actions svg{flex:none}
@media(max-width:399px){.top{padding-left:14px;padding-right:14px}}
@media(max-width:359px){.top{flex-wrap:wrap;justify-content:center}.brand{--logo-scale:1}.document-meta{font-size:12px}}

.product-identifiers{min-width:0}.product-identifiers .line-number{margin:0 0 14px}.product-identifiers .ids{display:block;margin:0}.product-identifiers .ids dt{font-size:11px;margin-bottom:3px}.product-identifiers .ids dd{font-size:13px;margin:0 0 12px}.product-identifiers .ids dd:last-child{margin-bottom:0}.product-identifiers .barcode-digits{letter-spacing:0;overflow-wrap:anywhere}.product-card>.item-title{width:100%;margin-top:14px;font-size:16px;min-height:44px}

.detail-image{position:relative}.gallery-frame{width:100%;display:grid;place-items:center;min-height:230px}.gallery-frame img{display:block}.gallery-prev,.gallery-next{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:var(--panel);color:var(--text);display:grid;place-items:center;padding:0;box-shadow:0 2px 10px #0003}.gallery-prev{left:8px}.gallery-next{right:8px}.gallery-count{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);background:#0e1a3ae6;color:#fff;border-radius:20px;padding:4px 12px;font-size:13px;font-variant-numeric:tabular-nums}

.gallery-prev svg,.gallery-next svg{display:block;width:24px;height:24px;pointer-events:none}

.recent-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.recent-tabs button{padding:10px 8px;font-size:13px}.recent-tabs [aria-pressed="true"]{background:var(--gold);color:var(--navy);border-color:var(--gold)}

/* Product barcode picker: native radio semantics, Faida appearance. */
.barcode-panel{padding:18px;background:var(--card-bg);border-color:var(--card-border);box-shadow:var(--card-shadow)}.barcode-heading{display:flex;align-items:center;gap:10px;margin-bottom:18px}.barcode-heading h2{flex:1;font-size:18px;line-height:1.3}.barcode-symbol{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:12px;background:var(--gold);color:var(--navy)}.barcode-symbol svg{width:24px;height:24px}.barcode-count{display:grid;place-items:center;min-width:28px;height:28px;padding:0 8px;border-radius:20px;background:var(--bg);color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.barcode-choices{margin:0 0 16px;padding:0;border:0}.barcode-choices legend{padding:0;margin-bottom:10px;font-size:12px;font-weight:400;color:var(--muted)}.barcode-options{display:grid;gap:8px;max-height:260px;overflow:auto;padding:4px;margin:-4px;overscroll-behavior:contain}.barcode-option{display:flex;align-items:center;gap:12px;min-height:56px;padding:12px;border:1px solid var(--card-border);border-radius:12px;background:var(--bg);cursor:pointer}.barcode-option:has(input:checked){border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold);background:var(--note)}.barcode-option:focus-within{outline:2px solid #ad7c26;outline-offset:2px}.barcode-option input{appearance:none;-webkit-appearance:none;flex:none;width:20px;height:20px;min-height:20px;margin:0;padding:0;border:2px solid var(--muted);border-radius:50%;background:var(--panel);outline:none}.barcode-option input:checked{border-color:var(--gold);background:var(--navy);box-shadow:inset 0 0 0 4px var(--gold)}.barcode-option-text{min-width:0;display:grid;gap:4px}.barcode-option-code{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.barcode-option-package{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.barcode-panel .barcode-paper{margin:0;padding:20px 8px;border:1px solid #dde1e9;border-radius:12px}.barcode-panel .barcode-help{font-size:12px;line-height:1.5;margin:12px 0 0}.barcode-panel #barcode-fallback{overflow-wrap:anywhere}.barcode-panel canvas{image-rendering:pixelated}
@media(max-width:360px){.barcode-panel{padding:14px}.barcode-heading{gap:8px}.barcode-heading h2{font-size:16px}.barcode-option{padding:10px;gap:10px}}

/* Reserve the same photo area before, during and after image decoding. */
.detail-image{height:min(580px,calc(100vw - 40px),50vh);height:min(580px,calc(100vw - 40px),50svh);min-height:0}.gallery-frame{position:relative;height:100%;min-height:0;min-width:0}.gallery-frame img{position:absolute;inset:0;width:100%;height:100%;max-height:100%;object-fit:contain}.gallery-status{position:absolute;top:10px;left:50%;transform:translateX(-50%);max-width:calc(100% - 24px);padding:6px 12px;border-radius:12px;background:#0e1a3ae6;color:#fff;font-size:12px;text-align:center;pointer-events:none}

.gallery-expand{position:absolute;top:10px;right:10px;width:44px;height:44px;padding:0;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text);box-shadow:0 2px 10px #0003}.gallery-expand svg{display:block;width:24px;height:24px;pointer-events:none}.gallery-status{max-width:calc(100% - 132px)}.photo-viewer{width:100vw;max-width:100vw;height:100vh;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;border-radius:0;overflow:hidden;background:var(--bg)}.photo-viewer .detail-image{width:100%;height:100%;margin:0;border:0;border-radius:0}.photo-viewer .gallery-expand{top:calc(12px + env(safe-area-inset-top));right:calc(12px + env(safe-area-inset-right))}.photo-viewer .gallery-status{top:calc(14px + env(safe-area-inset-top))}.photo-viewer .gallery-prev{left:calc(12px + env(safe-area-inset-left))}.photo-viewer .gallery-next{right:calc(12px + env(safe-area-inset-right))}.photo-viewer .gallery-count{bottom:calc(14px + env(safe-area-inset-bottom))}

.leave-dialog{padding:24px}.leave-dialog h2{margin:0 0 12px}.leave-dialog p{line-height:1.5;margin-bottom:24px}.leave-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}

/* Compact action menu with separate account action. */
.app-menu{width:min(calc(100vw - 32px),400px);padding:12px;border-radius:20px;border-color:var(--card-border);box-shadow:0 18px 60px #0003}.menu-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 4px 10px 12px}.menu-heading h2{font-size:20px;line-height:1.3;outline:none}.app-menu svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.menu-close{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:0;border-radius:12px;background:transparent;color:var(--muted)}.app-menu .menu-close:focus-visible,.app-menu .menu-item:focus-visible{outline:2px solid #ad7c26;outline-offset:-2px}.menu-items{display:grid;gap:2px}.menu-item{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:10px 12px;border:0;border-radius:12px;background:transparent;text-align:left;font-size:14px;font-weight:500;line-height:1.4}.menu-item>span:not(.menu-item-icon){flex:1;min-width:0;overflow-wrap:anywhere}.menu-item-icon{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:10px;background:var(--bg);color:var(--text)}.app-menu .menu-chevron{width:16px;height:16px;color:var(--muted)}.menu-account{margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}.menu-account .menu-item{color:var(--error-text)}.menu-account .menu-item-icon{background:transparent;color:inherit}.menu-item:active,.menu-close:active{background:var(--bg)}
@media(hover:hover){.menu-item:hover,.menu-close:hover{background:var(--bg)}}

/* One focus boundary for the complete search control. */
.search{--search-focus:#ad7c26;transition:border-color .15s,box-shadow .15s}.search:focus-within{border-color:var(--search-focus);box-shadow:0 0 0 1px var(--search-focus)}.search input:focus{outline:none;box-shadow:none}.search input::-webkit-search-cancel-button{appearance:none;-webkit-appearance:none}.search .icon-button:focus-visible{outline:2px solid var(--search-focus);outline-offset:-5px}:root[data-theme="dark"] .search{--search-focus:var(--gold)}

#document-code{height:48px;min-width:0;min-height:48px;max-height:48px}#document-code:focus{outline:none;border-color:#ad7c26;box-shadow:0 0 0 1px #ad7c26}:root[data-theme="dark"] #document-code:focus{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}

.pagination{display:flex;align-items:center;justify-content:space-between;gap:8px;position:sticky;bottom:-20px;background:var(--panel);padding:12px 0 0;margin-top:16px;border-top:1px solid var(--line)}.pagination span{font-size:13px;text-align:center}.pagination button{min-width:48px}.pagination button:disabled{cursor:default;opacity:.35}.period-dates{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.period-dates label{min-width:0}.period-dates input{min-width:0;max-width:100%;font-size:14px}.panel select{margin:8px 0 12px}#system-screen .panel .small,#prices-permission{margin-top:12px}#system-screen input:focus-visible,#system-screen select:focus-visible{outline:2px solid #ad7c26;outline-offset:2px}@media(max-width:360px){.period-dates{grid-template-columns:1fr}}

/* Personal collection marks preserve card positions and photo nodes. */
.collection-progress{font-size:14px;font-weight:600;color:var(--muted);margin:0 0 14px}.collection-toggle{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;margin-top:16px;border:1px solid var(--card-border);border-radius:12px;background:var(--bg);color:var(--text);font-size:14px;font-weight:600}.collection-toggle svg{width:22px;height:22px;flex:none}.collection-toggle[aria-pressed="true"]{background:var(--success-bg);color:var(--success-text);border-color:var(--success-text)}.product-card.collected{box-shadow:inset 4px 0 0 var(--success-text),inset -4px 0 0 var(--success-text),var(--card-shadow)}.collection-toggle:disabled{opacity:.55;cursor:wait}.collection-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.document-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:22px 0 0}.document-pagination span{text-align:center;font-size:12px;color:var(--muted)}.document-pagination button{min-width:48px;flex:none}.document-pagination button:disabled{opacity:.35}.list-tools{scroll-margin-top:16px}#settings-form .panel p{margin-top:12px;line-height:1.5}

.row-actions{display:flex;gap:10px;margin-top:16px}.row-actions>button{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;min-width:0;min-height:56px;margin:0;padding:10px 8px;border:1px solid var(--card-border);border-radius:12px;background:var(--bg);font-size:14px;font-weight:600;line-height:1.25}.row-actions svg{width:22px;height:22px;flex:none}.row-actions span{min-width:0}.row-actions .collection-toggle[aria-pressed="true"]{background:var(--success-bg);color:var(--success-text);border-color:var(--success-text)}.collection-toggle[aria-pressed="false"] svg path{visibility:hidden}.scanner-target{margin:0 0 18px;padding:12px;border-radius:12px;background:var(--bg);font-weight:600;font-size:15px;overflow-wrap:anywhere}.row-check-result{padding:18px;border:1px solid var(--line);border-radius:14px;margin-bottom:16px;overflow-wrap:anywhere;outline:none;background:var(--note)}.row-check-result strong{display:block;font-size:22px;line-height:1.3}.row-check-result p{margin:10px 0}.row-check-result.match{background:var(--success-bg);color:var(--success-text)}.row-check-result.mismatch{background:var(--error-bg);color:var(--error-text)}#scan-again{width:100%;margin-bottom:18px}#scanner .viewfinder[hidden]{display:none}@media(max-width:360px){.row-actions{gap:8px}.row-actions>button{font-size:13px;gap:6px}.row-actions svg{width:20px;height:20px}}

.scan-feedback{display:flex;align-items:flex-start;gap:12px;padding:18px;margin-bottom:18px;border:1px solid var(--line);border-radius:14px;background:var(--note);outline:none;overflow-wrap:anywhere}.scan-feedback.failure{background:var(--error-bg);color:var(--error-text);border-color:currentColor}.scan-feedback>svg{width:26px;height:26px;flex:none;margin-top:1px}.scan-feedback>div{min-width:0}.scan-feedback strong{display:block;font-size:20px;line-height:1.3}.scan-feedback p{font-size:14px;margin:10px 0 0;line-height:1.5}.scan-spinner{width:24px;height:24px;flex:none;border:3px solid var(--line);border-top-color:currentColor;border-radius:50%;animation:scan-spin .8s linear infinite}@keyframes scan-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.scan-spinner{animation:none}}

.view-choice{border:0;margin:0;padding:0}.view-choice>legend{padding:0;margin-bottom:12px;font-size:16px;font-weight:400}.view-choice-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.view-choice-option{display:flex;align-items:center;gap:10px;min-height:68px;padding:12px;border:1px solid var(--card-border);border-radius:12px;background:var(--bg);cursor:pointer;font-size:14px;font-weight:600;line-height:1.35}.view-choice-option:has(input:checked){background:var(--note);border-color:#ad7c26;box-shadow:inset 0 0 0 1px #ad7c26}.view-choice-option:has(input:focus-visible){outline:2px solid #ad7c26;outline-offset:3px}.view-choice-option input{appearance:none;-webkit-appearance:none;width:20px;height:20px;min-height:20px;flex:none;margin:0;padding:0;border:2px solid var(--muted);border-radius:50%;background:var(--panel);outline:none}.view-choice-option input:checked{border-color:var(--gold);background:var(--navy);box-shadow:inset 0 0 0 4px var(--gold)}.view-choice+.small{margin:14px 0 0}@media(max-width:360px){.view-choice-option{gap:8px;padding:10px 8px;font-size:13px}}

.install-guide p{margin:0 0 16px;line-height:1.5}.install-guide h3{margin:0 0 14px;font-size:18px}.install-guide .install-status{padding:14px 16px;border-radius:14px;background:var(--bg);margin:0}.install-guide .install-status:empty{display:none}.install-guide .install-error{background:var(--error-bg);color:var(--error-text)}

.open-document-button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:58px}.open-document-button svg{flex:none}

.update-card{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:12px;margin:12px 16px 0;padding:14px;border:1px solid #ad7c2666;border-radius:16px;background:var(--note)}.update-card-icon{display:grid;place-items:center;width:32px;height:32px;color:#ad7c26}.update-card-copy{display:grid;gap:4px;min-width:0}.update-card-copy strong{font-size:15px;line-height:1.3}.update-card-copy>span{font-size:12px;line-height:1.35;color:var(--muted)}.update-card .primary{font-size:14px;padding:12px;white-space:nowrap}.update-card-icon svg{flex:none}:root[data-theme="dark"] .update-card-icon{color:var(--gold)}@media(prefers-color-scheme:dark){:root:not([data-theme]) .update-card-icon{color:var(--gold)}}@media(max-width:360px){.update-card{grid-template-columns:24px minmax(0,1fr);gap:10px;padding:12px}.update-card-icon{width:24px;height:24px}.update-card .primary{grid-column:1/-1;width:100%}}

main:has(#document-screen:not([hidden])){padding-bottom:12px}

.capture-controls{margin:0 0 20px}.capture-controls button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px}.capture-controls svg{flex:none}.capture-controls button:disabled{opacity:.6;cursor:wait}.capture-controls .small{margin:10px 0;line-height:1.5}.capture-message{font-size:14px;line-height:1.45;background:var(--note);border-radius:12px;padding:12px;margin:10px 0 0}.capture-message:empty{display:none}

.recent-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 20px}.recent-heading h1{margin:0;outline:none}.recent-heading svg{display:block}.recent-heading .icon-button{display:grid;place-items:center}#recent-screen .recent-list{gap:12px}#recent-screen .recent-item{background:var(--card-bg);border-color:var(--card-border);box-shadow:var(--card-shadow);min-height:100px;padding:16px}#recent-screen .recent-item>svg{flex:none;color:var(--muted)}#recent-screen .pagination{margin-bottom:0;bottom:0;background:var(--bg);padding:12px 0 calc(12px + env(safe-area-inset-bottom))}#recent-status:empty{display:none}#recent-retry{width:100%;margin-top:12px}#recent-screen .recent-tabs{margin-bottom:16px}#recent-screen .back,#document-back{margin-bottom:12px}

/* Common feedback: the icon and title convey the meaning without relying on color. */
.system-notice{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--text);font-size:14px;line-height:1.45;overflow-wrap:anywhere}
.system-notice.success{background:var(--success-bg);border-color:color-mix(in srgb,var(--success-text) 28%,transparent);color:var(--success-text)}
.system-notice.error{background:var(--error-bg);border-color:color-mix(in srgb,var(--error-text) 28%,transparent);color:var(--error-text)}
.system-notice.warning{background:var(--note);border-color:#ad7c2655;color:var(--text)}
.system-notice.info{background:var(--panel);color:var(--text)}
.notice-icon{display:grid;place-items:center;width:26px;height:26px;flex:none;margin-top:1px}.notice-icon svg{width:24px;height:24px}.system-notice.warning .notice-icon{color:#ad7c26}.system-notice.info .notice-icon{color:var(--muted)}
.notice-copy{flex:1;min-width:0}.system-notice .notice-title{display:block;font-size:15px;font-weight:600;line-height:1.4}.system-notice .notice-copy p{font-size:13px;line-height:1.5;margin:4px 0 0}.system-notice .notice-copy .small{font-size:12px;opacity:.85}
.system-notice button.notice-close{display:grid;place-items:center;flex:none;width:40px;min-height:40px;padding:8px;margin:-7px -8px -7px 0;border-radius:10px;text-decoration:none;background:transparent;border:0}.notice-close svg{width:20px;height:20px}.notice-close:hover{background:#80808015}
.system-notice button.notice-action{display:inline-flex;align-items:center;min-height:44px;margin-top:6px;padding:4px 0;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.toast.system-notice{position:fixed;z-index:100;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));transform:translateX(-50%);width:calc(100% - 32px);max-width:480px;margin:0;box-shadow:0 8px 32px #0002}
#scanner .system-notice{margin:0 0 18px;outline:none}#scanner .system-notice .notice-title{font-size:18px}#scanner .system-notice .notice-copy p{font-size:14px}
:root[data-theme="dark"] .system-notice.warning .notice-icon{color:var(--gold)}
@media(prefers-color-scheme:dark){:root:not([data-theme]) .system-notice.warning .notice-icon{color:var(--gold)}}
@media(prefers-reduced-motion:no-preference){.toast:not([hidden]){animation:toast-appear .18s ease-out}@keyframes toast-appear{from{opacity:0;translate:0 6px}to{opacity:1;translate:0 0}}}

/* Shared storage hints: adding a place is separate from editing an existing one. */
.place-summary{display:flex;align-items:center;gap:10px;width:100%;padding:12px;margin:10px 0 0;border:1px solid var(--line);border-radius:12px;background:var(--bg);text-align:left;font-size:13px;overflow-wrap:anywhere}.place-summary>svg{flex:none}.place-summary>span:nth-child(2){flex:1;min-width:0}.place-summary small{display:block;color:var(--muted);font-size:11px;margin-bottom:3px}.place-summary b{display:block;font-weight:600;margin-top:3px}.places-dialog{width:min(94vw,580px)}.place-product{font-weight:600;font-size:14px;overflow-wrap:anywhere;background:var(--bg);border-radius:12px;padding:12px}.place-group{border-top:1px solid var(--line);padding-top:16px;margin-top:20px}.place-group h3{font-size:16px;margin:0 0 12px}.place-card{border:1px solid var(--card-border);border-radius:14px;padding:14px;margin:12px 0;background:var(--bg);overflow-wrap:anywhere}.place-card p{margin:10px 0}.place-badge{display:inline-block;font-size:11px;font-weight:600;background:var(--panel);border:1px solid var(--line);padding:4px 9px;border-radius:20px}.place-description{font-size:16px;white-space:pre-wrap}.place-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.place-actions>.primary,.place-actions>.secondary{flex:1;min-width:110px;font-size:14px}.place-actions .text-button{font-size:12px;padding:8px}.place-delete{color:var(--red)}.place-add{margin:22px 0 8px;border-top:1px dashed var(--card-border);padding-top:18px}.place-add button{width:100%;font-size:14px;text-align:left;display:flex;align-items:center;gap:8px}.place-add button span{font-size:24px}.place-add p{margin-top:8px}.place-photo{display:block;width:100%;padding:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--panel);margin:12px 0}.place-photo img{display:block;width:100%;height:180px;object-fit:contain}.place-photo span{display:block;padding:8px;font-size:12px}.place-preview img{width:100%;height:200px;object-fit:contain;border-radius:12px;background:var(--bg)}.place-preview[hidden]{display:none}.place-refresh{width:100%;margin-top:18px}.place-confirm{padding:14px;border:1px solid #b68c3f;background:var(--note);border-radius:12px;margin:12px 0}.place-viewer{width:min(98vw,1000px);max-height:98dvh;padding:12px}.place-viewer img{display:block;width:100%;height:75dvh;object-fit:contain;margin-top:12px}.places-dialog #places-notice{position:static}.places-dialog textarea{resize:none}.places-dialog .file-button{margin:0;display:flex;align-items:center;justify-content:center;text-align:center}.places-dialog #places-title{font-size:21px}.places-dialog #places-title:focus{outline:none}

.places-dialog .dialog-head{position:sticky;top:-20px;z-index:2;background:var(--panel);padding:8px 0;margin-top:-8px}.place-delete{color:var(--error-text)}

/* A white canvas blends with product packshots in both themes; keep contain sizing. */
.thumb img,.gallery-frame img{background:#fff}

.stage-option{align-items:flex-start}.stage-option span{display:grid;gap:4px}.stage-option strong{font-weight:600}.stage-option small{color:var(--muted);font-size:13px;line-height:1.4}

.permission-disabled{color:var(--muted);cursor:default}.permission-disabled small{display:block;font-size:12px;line-height:1.4;margin-top:4px;font-weight:400}

.period-options .view-choice-option{min-height:56px}.period-options .view-choice-option:last-child{grid-column:1/-1}

.title-row>div:first-child{min-width:0}.document-customer{font-size:17px;font-weight:500;line-height:1.4;color:var(--muted);margin:8px 0 0;overflow-wrap:anywhere}.title-row .document-meta{flex-shrink:0}

/* Invoice tools: full scan action and three accessible choices on small screens. */
.document-actions{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto}.document-actions .secondary{font-size:14px;padding:10px 12px}.document-actions #document-settings{width:auto;margin:0}.document-actions #document-settings span{display:none}.document-actions button[aria-pressed=true]{border-color:#ad7c26;background:var(--note)}.document-view-summary{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}.view-chip{display:flex;align-items:center;gap:10px;max-width:100%;overflow-wrap:anywhere;background:var(--note);border:1px solid var(--card-border);border-radius:20px;padding:7px 12px;font-size:13px;text-align:left;min-height:40px}.view-chip span{font-size:20px;flex:none}.choice-dialog{width:min(94vw,520px)}.choice-dialog .dialog-head{position:sticky;top:-20px;z-index:1;background:var(--panel);padding:4px 0}.choice-list{display:grid;gap:10px}.choice-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:52px;padding:14px;text-align:left;background:var(--bg);border:1px solid var(--card-border);border-radius:12px;font-size:15px;overflow-wrap:anywhere}.choice-option[aria-pressed=true]{background:var(--note);border-color:#ad7c26}.choice-option>svg{flex:none;color:#ad7c26}.folder-copy{min-width:0;display:grid;gap:4px}.folder-copy strong{font-weight:600}.folder-copy small{color:var(--muted);font-size:12px}.choice-hint{margin:16px 0 0}#folder-search{margin-bottom:14px}@media(max-width:560px){.document-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.document-actions #scan-product{grid-column:1/-1}.document-actions #document-settings span{display:inline}.document-actions .secondary{padding:10px 8px;font-size:13px;gap:6px}}

.footer .footer-brand{display:inline-flex;align-items:center;gap:6px;color:inherit;margin:0;line-height:24px}.footer-symbol{display:block;flex:none;width:24px;height:24px;background:currentColor;-webkit-mask:url("/assets/faida-symbol.svg") center/contain no-repeat;mask:url("/assets/faida-symbol.svg") center/contain no-repeat}

main:has(#document-screen:not([hidden]) #document-back:not([hidden])){padding-top:8px}#document-back{min-height:44px;padding-top:8px;padding-bottom:8px;margin-bottom:4px}



/* Product navigation stays visible while the detailed content scrolls. */
#detail[open]{display:flex;flex-direction:column;overflow:hidden}
#detail>.dialog-head{flex:none;position:static;margin-bottom:8px}
#detail-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 4px 16px;margin:0 -4px}
.detail-navigation{flex:none;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;border-top:1px solid var(--line);padding-top:12px;background:var(--panel)}
.detail-navigation button{min-height:48px;padding:10px 6px;font-size:14px;line-height:1.3}
.detail-navigation button:disabled{cursor:default}
#detail-position{font-size:12px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;text-align:center}
@media(max-width:360px){.detail-navigation{gap:5px}.detail-navigation button{font-size:12px}}

/* One compact header for guests and signed-in users. */
.top{position:relative;justify-content:space-between;flex-wrap:nowrap;padding:calc(8px + env(safe-area-inset-top)) 16px 8px;min-height:72px;gap:8px}
.top .brand{--logo-scale:.8;min-width:0}
.top .header-actions{flex:none;color:#fff;gap:0}
.top .icon-button{display:grid;place-items:center;min-width:44px;min-height:44px;width:44px;height:44px;padding:8px;font-size:20px}
.header-login{border:1px solid #ffffff55;background:transparent;color:#fff;min-height:44px;border-radius:12px;padding:8px 12px;font-size:14px;font-weight:600}
.top .environment{position:absolute;left:16px;bottom:5px;font-size:9px;color:#ccd4e6;padding:0}
.top:has(.environment:not([hidden])){padding-bottom:20px}
@media(max-width:360px){.top{padding-left:12px;padding-right:12px}.top .brand{--logo-scale:.7}.top .environment{left:12px}}
.document-actions{grid-template-columns:minmax(0,1fr) auto auto}
.document-actions.guest-actions{grid-template-columns:1fr}
@media(max-width:560px){.document-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.document-actions #scan-product{grid-column:1/-1}}
/* Shared row tracks keep adjacent full names and subsequent sections aligned. */
.product-card>.item-title{min-height:4.2em;margin-top:0;align-self:start;display:flex;align-items:flex-start}
.product-card{display:grid;grid-template-rows:auto auto 1fr;gap:14px}
.product-details{min-width:0}.product-details>.place-summary:first-child{margin-top:0}.product-details>.quantity:first-child{margin-top:0}
@supports(grid-template-rows:subgrid){.product-card{grid-row:span 3;grid-template-rows:subgrid;row-gap:14px}.product-list{row-gap:14px}}
:root{--focus-ring:#956518}:root[data-theme="dark"]{--focus-ring:#f2c56d}
button:focus-visible,a:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
html[data-input="pointer"] button:focus-visible,html[data-input="pointer"] a:focus-visible{outline:none}
.top button:focus-visible,.top a:focus-visible{outline-color:#f2c56d}
button:not(:disabled),a,input{transition:background-color .12s,border-color .12s,box-shadow .12s}
@media(hover:hover){button:not(:disabled):hover{background-image:linear-gradient(#7b879413,#7b879413)}.top button:not(:disabled):hover{background-color:#ffffff16}a:hover{filter:brightness(1.08)}}
/* Native tap overlays can outlive a transition and ignore the visual control shape. */
:where(button,a[href],input,select,textarea,label){-webkit-tap-highlight-color:transparent}
button:not(:disabled):active,.file-button:active{background-image:linear-gradient(#7b87942e,#7b87942e)}
input:focus,textarea:focus,select:focus{outline:2px solid var(--focus-ring);outline-offset:2px}
@media(prefers-reduced-motion:reduce){button,a,input{transition:none}}

/* Document identity, full customer label, and refresh form one calm panel. */
.invoice-header{border:1px solid var(--card-border);border-radius:18px;background:var(--panel);padding:24px;margin:4px 0 20px;--invoice-badge:var(--bg)}
.invoice-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.invoice-heading{min-width:0;flex:1 1 180px}
.invoice-eyebrow{color:var(--muted);font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.invoice-heading h1{margin:8px 0 0;overflow-wrap:anywhere}
.invoice-count{background:var(--invoice-badge);color:var(--muted);padding:5px 10px;border-radius:8px;font-size:12px;line-height:1.5;white-space:nowrap}
.invoice-posting{display:block;margin-top:8px;font-size:12px;color:var(--muted)}
.invoice-customer{margin-top:26px}
.invoice-label{margin-bottom:8px;font-size:12px;color:var(--muted)}
.invoice-customer p{margin:0;font-size:18px;font-weight:400;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.invoice-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:24px;padding-top:12px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);flex-wrap:wrap}
.invoice-refresh{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:8px 0 8px 8px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:13px;flex:none}
.invoice-refresh svg{flex:none}
:root[data-theme="dark"] .invoice-header{background:#0c1529;border-color:#26334b;--invoice-badge:#1a263c}
:root[data-theme="dark"] .invoice-eyebrow{color:#a4b1c8}
:root[data-theme="dark"] .invoice-label,:root[data-theme="dark"] .invoice-footer{color:#8e9eb8}
:root[data-theme="dark"] .invoice-count{color:#c1cde0}
:root[data-theme="dark"] .invoice-customer p{color:#dce4f1}
:root[data-theme="dark"] .invoice-refresh{color:#b5c5dd}
:root[data-theme="dark"] .invoice-footer{border-color:#26334b}
@media(max-width:480px){.invoice-header{padding:18px;border-radius:16px}.invoice-top{gap:12px}.invoice-heading{flex-basis:150px}.invoice-eyebrow{font-size:12px}.invoice-count{font-size:11px;padding:4px 8px}.invoice-customer{margin-top:22px}.invoice-customer p{font-size:16px}.invoice-footer{margin-top:20px;gap:6px}}


.scanner-sound{margin:0 0 14px}.scanner-sound .check{font-size:14px}.scanner-sound .small{margin:0 0 0 34px}

/* Backgrounds follow each button's own border radius; no separate rectangular overlay. */
#capture-frame.is-pressed,#capture-frame[aria-busy="true"]{background-image:linear-gradient(#f2c56d45,#f2c56d45);border-color:var(--focus-ring);opacity:1}
#capture-frame[aria-busy="true"] svg{opacity:.55}

.search + .recent-tabs{margin-top:12px}

/* Shared catalogue tree and admin exclusions. */
.tree-dialog[open]{display:flex;flex-direction:column;width:min(94vw,600px);height:min(85dvh,800px);overflow:hidden}.tree-dialog>.dialog-head,.tree-dialog>p,.tree-dialog>input,.tree-footer{flex:none}.tree-dialog>.choice-list{overflow:auto;min-height:0;flex:1;display:block;margin-top:12px;padding:4px}.tree-dialog .dialog-head{margin-bottom:4px}.tree-dialog #folder-search{margin-bottom:0}.folder-tree-row{display:flex;align-items:center;min-width:0;border-radius:12px;margin:3px 0;border:1px solid transparent}.folder-tree-row.selected{background:var(--note);border-color:#ad7c26}.tree-toggle{flex:none;width:44px;min-height:48px;border:0;border-radius:10px;background:transparent;font-size:24px}.tree-spacer{width:44px;flex:none}.tree-select{display:flex;align-items:center;gap:10px;flex:1;min-width:0;min-height:48px;border:0;border-radius:10px;background:transparent;text-align:left;padding:8px 10px;font-size:14px;cursor:pointer}.tree-select>svg{flex:none}.tree-select .folder-copy{flex:1}.tree-select strong{font-weight:600;overflow-wrap:anywhere}.tree-count{margin-left:auto;flex:none;color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums}.depth-1{margin-left:12px}.depth-2{margin-left:24px}.depth-3{margin-left:36px}.tree-footer{border-top:1px solid var(--line);padding-top:8px}.tree-footer .primary{width:100%}.tree-footer p{margin:6px 0}.tree-select input:disabled{cursor:default}.tree-select:has(input:disabled){cursor:default;color:var(--muted)}
@media(max-width:600px){.tree-dialog[open]{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0;padding:calc(12px + env(safe-area-inset-top)) 14px calc(12px + env(safe-area-inset-bottom))}.tree-dialog .folder-copy small{font-size:11px}.tree-toggle,.tree-spacer{width:40px}.tree-select{gap:7px;padding:8px}.tree-select>svg{width:18px}.tree-dialog .depth-1{margin-left:10px}.tree-dialog .depth-2{margin-left:20px}.tree-dialog .depth-3{margin-left:30px}}

html:has(.tree-dialog[open]),body:has(.tree-dialog[open]){overflow:hidden}

/* The app owns Back handling; suppress the browser's horizontal overscroll navigation. */
html,body{overscroll-behavior-x:none}
/* The catalogue title gets the full mobile row; the count cannot squeeze it. */
.catalog-header .invoice-heading h1{margin-top:0}
@media(max-width:480px){.catalog-header .invoice-heading{flex:1 0 100%}.catalog-header .invoice-heading h1{overflow-wrap:normal}.catalog-header .invoice-top{gap:10px}.catalog-header .invoice-footer{margin-top:16px}}

/* One centered icon/label grid for all five home actions, including the inset search form. */
#home-screen{container-type:inline-size;display:flex;flex-direction:column;gap:12px}
#home-screen>.intro{margin:0 0 16px}
#home-screen>#open-form{margin:8px 0}
#home-screen>.history-home{margin:0}
#home-screen .home-action{display:grid;grid-template-columns:36px minmax(0,min(18ch,calc(100cqw - 120px)));align-items:center;justify-content:center;gap:12px;text-align:left}
#home-screen .home-action>span{min-width:0;font-size:inherit}

/* Shared page-title scale: all page headings, including catalogue and invoice number. */
:root{--page-title-size:24px}
h1{font-size:var(--page-title-size);line-height:1.25;font-weight:700;letter-spacing:-.3px;text-wrap:balance}
@media(min-width:650px){:root{--page-title-size:28px}}

.footer{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.footer .footer-version{margin:0;color:inherit;font-size:10px;line-height:24px;letter-spacing:0;white-space:nowrap}

.place-group.single-warehouse{border-top:0;margin-top:0;padding-top:0}

.product-note{margin:12px 0;padding:12px;border:1px solid var(--card-border);border-radius:12px;background:var(--note);overflow-wrap:anywhere}.product-note-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.product-note-head strong{font-size:13px;font-weight:600}.product-note p{margin:6px 0 0;white-space:pre-wrap;font-size:14px;line-height:1.5}.product-note .text-button{font-size:13px;min-height:36px;padding:4px 8px}.product-note-add{width:100%;margin:12px 0 0;text-align:left;font-size:14px}.product-note-dialog textarea{min-height:130px;resize:vertical}.product-note-dialog .place-product{margin-bottom:16px}.product-note-dialog .muted.small{margin:0}.product-note-dialog .place-confirm{margin:0 0 12px}

#scan-collection{margin:0 0 18px}#scan-collection .collection-toggle{margin-top:0;min-height:56px;font-size:16px}
