@font-face{font-family:Heebo;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/heebo-hebrew-400-normal-CVTJgQVK.woff2)format("woff2"),url(/assets/heebo-hebrew-400-normal-DoqplqF9.woff)format("woff")}@font-face{font-family:Heebo;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/heebo-latin-400-normal-BGyEuwIV.woff2)format("woff2"),url(/assets/heebo-latin-400-normal-BVgBBEsj.woff)format("woff")}@font-face{font-family:Heebo;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/heebo-hebrew-500-normal-TEhwuRN-.woff2)format("woff2"),url(/assets/heebo-hebrew-500-normal-B1vvQVzc.woff)format("woff")}@font-face{font-family:Heebo;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/heebo-latin-500-normal-CRntKADR.woff2)format("woff2"),url(/assets/heebo-latin-500-normal-D9arPEGc.woff)format("woff")}@font-face{font-family:Heebo;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/heebo-hebrew-700-normal-BmueYKsA.woff2)format("woff2"),url(/assets/heebo-hebrew-700-normal-C-m02vPD.woff)format("woff")}@font-face{font-family:Heebo;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/heebo-latin-700-normal-PoyjiH5f.woff2)format("woff2"),url(/assets/heebo-latin-700-normal-DxB9_ClD.woff)format("woff")}@font-face{font-family:Varela Round;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/varela-round-hebrew-400-normal-CdSaNJFF.woff2)format("woff2"),url(/assets/varela-round-hebrew-400-normal-gahDRKkd.woff)format("woff")}@font-face{font-family:Varela Round;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/varela-round-latin-400-normal-CsVGkSoP.woff2)format("woff2"),url(/assets/varela-round-latin-400-normal-BCUlaylK.woff)format("woff")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#eef5f8;--surface:#fff;--surface-2:#e3eef3;--text:#0e2530;--text-2:#4d6470;--muted:#8da2ab;--border:#dce7ec;--primary:#0b6e8a;--primary-hover:#08566c;--primary-soft:#ddeff5;--primary-ink:#08566c;--on-primary:#fff;--hero:#0b6e8a;--on-hero:#fff;--expired:#c0362c;--expired-ring:#e5483c;--expired-soft:#fde8e5;--soon:#a45200;--soon-ring:#f08c1a;--soon-soft:#fff1dc;--ok:#157a4c;--ok-ring:#22a06b;--ok-soft:#e0f4ea;--switch-on:#22a06b;--switch-off:#d3e0e6;--admin:#f3e8ff;--on-admin:#6b2fa3;--toast-bg:#0e2530;--toast-text:#f1f7f9;--toast-action:#7fd3ea;--float-shadow:0 8px 28px #0e253024;--thumb-shadow:0 1px 3px #0e25301f;--scrim:#0e25300a;--font:"Heebo", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;--font-round:"Varela Round", "Heebo", system-ui, -apple-system, sans-serif;--radius:18px;--radius-sm:12px;--tab-height:68px;--tab-gap:max(12px, env(safe-area-inset-bottom,0px));--gutter:clamp(14px, 1.6vw + 9px, 40px);--title:clamp(30px, .9vw + 27px, 40px);--sidebar:256px;--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px);font-family:var(--font);color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;font-size:17px;line-height:1.45}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--bg:#0a161b;--surface:#12232a;--surface-2:#1a2f37;--text:#e4f0f4;--text-2:#93aab3;--muted:#5f7a84;--border:#223a43;--primary:#4fb3d1;--primary-hover:#79c8e0;--primary-soft:#12343f;--primary-ink:#8fd3e8;--on-primary:#04212b;--hero:#0e4f63;--on-hero:#fff;--expired:#ff8e83;--expired-ring:#e5483c;--expired-soft:#3a1916;--soon:#ffb45e;--soon-ring:#f08c1a;--soon-soft:#3a2812;--ok:#5ed39b;--ok-ring:#22a06b;--ok-soft:#10301f;--switch-on:#22a06b;--switch-off:#2c454f;--admin:#2e1f42;--on-admin:#d7b8f5;--toast-bg:#e4f0f4;--toast-text:#0e2530;--toast-action:#0b6e8a;--float-shadow:0 8px 28px #00000073;--thumb-shadow:0 1px 3px #0006;--scrim:#ffffff0a}}:root[data-theme=dark]{--bg:#0a161b;--surface:#12232a;--surface-2:#1a2f37;--text:#e4f0f4;--text-2:#93aab3;--muted:#5f7a84;--border:#223a43;--primary:#4fb3d1;--primary-hover:#79c8e0;--primary-soft:#12343f;--primary-ink:#8fd3e8;--on-primary:#04212b;--hero:#0e4f63;--on-hero:#fff;--expired:#ff8e83;--expired-ring:#e5483c;--expired-soft:#3a1916;--soon:#ffb45e;--soon-ring:#f08c1a;--soon-soft:#3a2812;--ok:#5ed39b;--ok-ring:#22a06b;--ok-soft:#10301f;--switch-on:#22a06b;--switch-off:#2c454f;--admin:#2e1f42;--on-admin:#d7b8f5;--toast-bg:#e4f0f4;--toast-text:#0e2530;--toast-action:#0b6e8a;--float-shadow:0 8px 28px #00000073;--thumb-shadow:0 1px 3px #0006;--scrim:#ffffff0a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);margin:0}body{overscroll-behavior-y:none;min-height:100dvh}h1,h2,p{margin:0}button,input,textarea,select{font:inherit;color:inherit}input,textarea,select{font-size:17px}button{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.button,.pill-button,.round-button,.chip,.hero-tile,.icon-button,.filter-tabs button,.row-action{transition:transform .12s}.button:active:not(:disabled),.pill-button:active:not(:disabled),.round-button:active,.chip:active,.hero-tile:active,.icon-button:active:not(:disabled),.filter-tabs button:active,.row-action:active{transform:scale(.95)}@media (prefers-reduced-motion:reduce){.button,.pill-button,.round-button,.chip,.hero-tile,.icon-button,.filter-tabs button,.row-action{transition:none}}a{color:inherit;text-decoration:none}:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.muted{color:var(--text-2);font-size:.88rem}.app{max-width:640px;min-height:100dvh;padding-bottom:calc(var(--tab-height) + var(--tab-gap) + 28px);margin:0 auto}.app.no-tabs{padding-bottom:calc(var(--safe-bottom) + 24px)}.screen{padding:calc(var(--safe-top) + 16px) var(--gutter) 0;flex-direction:column;gap:14px;display:flex}.screen-header{flex-direction:column;gap:4px;padding-top:8px;display:flex}.header-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.header-titles{flex-direction:column;gap:2px;min-width:0;display:flex}.screen-header h1{font-family:var(--font-round);font-size:var(--title);font-weight:400;line-height:1.1}.header-subtitle{color:var(--text-2);font-size:15px}.header-actions{align-items:center;gap:8px;margin-inline-start:auto;display:flex}.header-back{min-height:44px;color:var(--primary);background:0 0;border:0;align-self:flex-start;align-items:center;gap:2px;margin-inline-start:-6px;padding:0 6px;font-size:17px;display:inline-flex}.screen-header.modal{grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin-top:-6px;padding-top:0;display:grid}.screen-header.modal h1{text-align:center;font-size:18px}.header-cancel{min-height:44px;color:var(--primary);background:0 0;border:0;justify-self:start;padding:0 4px;font-size:17px;font-weight:500}.button{text-align:center;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:10px 20px;font-size:16px;font-weight:500;display:inline-flex}.button:disabled{opacity:.5;cursor:default}.button.small{min-height:36px;padding:4px 14px;font-size:14px}.button.primary{background:var(--primary);color:var(--on-primary);font-weight:700}.button.primary:hover:not(:disabled){background:var(--primary-hover)}.button.secondary{background:var(--surface);border-color:var(--border);color:var(--text)}.button.ghost{color:var(--primary);background:0 0}.button.danger{background:var(--expired-soft);color:var(--expired);font-weight:700}.button-row{flex-wrap:wrap;gap:10px;display:flex}.button-row .button{white-space:nowrap;flex:140px;padding-inline:12px}.pill-button{background:var(--surface);min-height:40px;color:var(--text);white-space:nowrap;border:0;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:500;display:inline-flex}.header-actions .pill-button{min-height:44px}.pill-button.fill{background:var(--surface-2)}.pill-button.primary{background:var(--primary);color:var(--on-primary);font-weight:700}.pill-button.danger{background:var(--expired-soft);color:var(--expired);font-weight:700}.pill-button:disabled{opacity:.5}.round-button{background:var(--surface);width:44px;height:44px;color:var(--text);border:0;border-radius:50%;flex:none;place-items:center;display:inline-grid;position:relative}.round-button.primary{background:var(--primary);color:var(--on-primary)}.round-button.primary:hover{background:var(--primary-hover)}.round-count{top:-4px;border:2px solid var(--bg);background:var(--soon-ring);color:#fff;border-radius:999px;place-items:center;min-width:22px;height:22px;padding:0 6px;font-size:12px;font-weight:700;line-height:1;display:grid;position:absolute;inset-inline-end:-4px}.icon-button{width:44px;height:44px;color:var(--text-2);background:0 0;border:0;border-radius:50%;place-items:center;display:inline-grid}.icon-button:hover:not(:disabled){background:var(--surface-2)}.icon-button:disabled{opacity:.35}.icon-button.discard:hover{color:var(--expired);background:var(--expired-soft)}.chip-row{margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter);scrollbar-width:none;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.chip-row::-webkit-scrollbar{display:none}.chip-row.wrap{flex-wrap:wrap;margin-inline:0;padding-inline:0;overflow:visible}.chip{background:var(--surface);white-space:nowrap;border:0;border-radius:999px;flex:none;min-height:38px;padding:0 14px;font-size:14px;font-weight:500}.chip[aria-pressed=true]{background:var(--text);color:var(--bg);font-weight:700}.segmented{border-radius:var(--radius-sm);background:var(--surface-2);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:2px;padding:3px;display:grid}.choice{display:block;position:relative}.choice input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.segmented .choice>span{text-align:center;white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;min-height:40px;padding:4px;font-size:15px;font-weight:500;display:flex}.segmented .choice input:checked+span{background:var(--surface);box-shadow:var(--thumb-shadow);font-weight:700}.choice input:focus-visible+span{outline:3px solid var(--primary);outline-offset:2px}.choice-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.choice-grid .choice>span{border-radius:var(--radius-sm);background:var(--surface);min-height:46px;color:var(--text);border:1.5px solid #0000;align-items:center;gap:8px;padding:8px 12px;font-size:15px;display:flex}.choice-grid .choice>span svg{color:var(--primary);flex:none}.choice-grid .choice input:checked+span{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-ink);font-weight:700}.filter-tabs{scrollbar-width:none;border-radius:var(--radius-sm);background:var(--surface-2);grid-auto-columns:minmax(max-content,1fr);grid-auto-flow:column;gap:2px;padding:3px;display:grid;overflow-x:auto}.filter-tabs::-webkit-scrollbar{display:none}.filter-tabs button{min-height:38px;color:var(--text);white-space:nowrap;background:0 0;border:0;border-radius:10px;padding:0 8px;font-size:14px;font-weight:500}.filter-tabs button[aria-pressed=true]{background:var(--surface);box-shadow:var(--thumb-shadow);font-weight:700}.filter-tabs .tone-expired{color:var(--expired);font-weight:700}.filter-tabs .tone-soon{color:var(--soon);font-weight:700}.filter-count{font-variant-numeric:tabular-nums}.filters{flex-direction:column;gap:10px;display:flex}.search{border-radius:var(--radius-sm);background:var(--surface-2);min-height:44px;color:var(--text-2);align-items:center;gap:8px;padding:0 12px;display:flex}.search-row{gap:8px;display:flex}.search-row>.search{flex:1;min-width:0}.scan-button{border-radius:var(--radius-sm);background:var(--primary-soft);width:44px;min-height:44px;color:var(--primary-ink);border:0;flex:none;place-items:center;transition:transform .12s;display:grid}.scan-button:active{transform:scale(.94)}.pill-button.scan-count{background:var(--primary-soft);color:var(--primary-ink);align-self:flex-start;font-weight:700}.scanned-note{color:var(--primary-ink);flex-direction:column;align-items:flex-start;gap:8px;margin:0;display:flex}.scanned-note .field-hint{color:var(--primary-ink);margin:0}.code-chips{flex-wrap:wrap;gap:6px;margin:0 0 8px;padding:0;list-style:none;display:flex}.code-chips li{background:var(--primary-soft);min-height:36px;color:var(--primary-ink);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:4px;padding-inline:12px 4px;font-size:15px;display:inline-flex}.code-chips button{width:30px;height:30px;color:inherit;background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.extra-barcodes .search-row input{border-radius:var(--radius-sm);background:var(--surface);min-width:0;min-height:44px;color:var(--text);border:1.5px solid #0000;flex:1;padding:0 12px}.extra-barcodes .search-row input:focus{border-color:var(--primary);outline:none}.extra-barcodes .search-row .pill-button{min-height:44px}.attach-barcode{flex-direction:column;gap:10px;display:flex}.attach-barcode>p{color:var(--text-2);margin:0}.attach-barcode>.button{align-self:flex-start}.search:focus-within{background:var(--surface);box-shadow:0 0 0 2px var(--primary)}.search-row.sticky{top:calc(var(--safe-top) + 8px);z-index:6;position:sticky}.search-row.sticky:before{content:"";z-index:-1;inset:-8px calc(-1 * var(--gutter));background:var(--bg);position:absolute}.filter-summary{color:var(--text-2);justify-content:space-between;align-items:center;gap:8px;margin-block:-4px;padding-inline-start:14px;font-size:14px;display:flex}.filter-summary strong{color:var(--text)}.chip-row[data-more-end]{-webkit-mask-image:linear-gradient(90deg,#0000,#000 40px);mask-image:linear-gradient(90deg,#0000,#000 40px)}.chip-row[data-more-start]{-webkit-mask-image:linear-gradient(270deg,#0000,#000 40px);mask-image:linear-gradient(270deg,#0000,#000 40px)}.chip-row[data-more-start][data-more-end]{-webkit-mask-image:linear-gradient(90deg,#0000,#000 40px calc(100% - 40px),#0000);mask-image:linear-gradient(90deg,#0000,#000 40px calc(100% - 40px),#0000)}.search input{min-width:0;height:44px;color:var(--text);background:0 0;border:0;outline:none;flex:1}.select-field{color:var(--text-2);align-items:center;gap:8px;font-size:14px;display:flex}.select-field select{border-radius:var(--radius-sm);background:var(--surface);min-height:40px;color:var(--text);border:0;flex:1;padding:6px 12px}.toggle{color:var(--text-2);align-items:center;gap:10px;font-size:15px;display:inline-flex}.switch{appearance:none;background:var(--switch-off);cursor:pointer;border-radius:999px;flex:none;width:51px;height:31px;margin:0;transition:background-color .2s;position:relative}.switch:before{content:"";top:2px;background:#fff;border-radius:50%;width:27px;height:27px;transition:transform .2s;position:absolute;inset-inline-start:2px;box-shadow:0 1px 3px #00000040}.switch:checked{background:var(--switch-on)}.switch:checked:before{transform:translate(-20px)}.switch.small{width:42px;height:26px}.switch.small:before{width:22px;height:22px}.switch.small:checked:before{transform:translate(-16px)}@media (prefers-reduced-motion:reduce){.switch,.switch:before{transition:none}}.hero{background:var(--hero);color:var(--on-hero);border-radius:22px;flex-direction:column;gap:12px;padding:16px;display:flex}.hero-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;display:flex}.hero-title{font-family:var(--font-round);font-size:18px;line-height:1.3}.hero-total{opacity:.85;font-size:14px}.hero-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.hero-tile{min-height:58px;color:inherit;background:#ffffff29;border:0;border-radius:16px;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;display:flex}.hero-tile[aria-pressed=true]{background:#fff}.hero-tile[aria-pressed=true].state-expired{color:#c0362c}.hero-tile[aria-pressed=true].state-short{color:#a45200}.hero-tile[aria-pressed=true].state-valid{color:#157a4c}.hero-count{font-family:var(--font-round);font-variant-numeric:tabular-nums;font-size:24px;line-height:1.1}.hero-label{font-size:13px;font-weight:700}.summary{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.summary-tile{border-radius:var(--radius);background:var(--surface);flex-direction:column;align-items:center;gap:2px;padding:12px 4px;display:flex}.summary-count{font-family:var(--font-round);font-variant-numeric:tabular-nums;font-size:24px;line-height:1.1}.summary-label{color:var(--text-2);font-size:13px}.tile-soon .summary-count{color:var(--soon)}.group{flex-direction:column;gap:6px;display:flex}.group-title{color:var(--text-2);align-items:center;gap:4px;padding:0 14px;font-size:13px;font-weight:700;display:flex}.group-count{font-variant-numeric:tabular-nums;font-weight:500}.title-expired{color:var(--expired)}.title-short{color:var(--soon)}.title-valid{color:var(--ok)}.item-list{--separator-inset:14px;border-radius:var(--radius);background:var(--surface);flex-direction:column;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.expiry-list{--separator-inset:70px}.catalog-list,.user-list{--separator-inset:66px}.user-list .item-card{flex-wrap:wrap}.user-list .item-main{min-width:min(100%,230px)}.user-list .item-actions{gap:6px;margin-inline-start:auto;padding:6px 12px}.item-list>li{position:relative}.item-list>li+li:before{content:"";z-index:2;top:0;inset-inline:var(--separator-inset) 0;background:var(--border);height:1px;position:absolute}.item-card{align-items:center;display:flex}.item-main{flex:1;align-items:center;gap:12px;min-width:0;padding:10px 14px;display:flex}a.item-main:active{background:var(--scrim)}.item-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.item-name{-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}.item-meta{color:var(--text-2);overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:2px 6px;font-size:14px;display:flex}.item-actions{flex:none;align-items:center;gap:2px;padding-inline-end:8px;display:flex}.days-ring{--ring:var(--border);width:44px;height:44px;font-family:var(--font-round);font-variant-numeric:tabular-nums;border-radius:50%;flex:none;place-items:center;font-size:15px;line-height:1;display:grid;position:relative}.days-ring.long{font-size:12px}.days-ring.small{width:34px;height:34px;font-size:13px}.days-ring.state-expired{--ring:var(--expired-ring);color:var(--expired)}.days-ring.state-short{--ring:var(--soon-ring);color:var(--soon)}.days-ring.state-valid{--ring:var(--ok-ring);color:var(--ok)}.ring-svg{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.ring-track,.ring-arc{fill:none;stroke:var(--ring);stroke-width:3px}.ring-track{stroke-opacity:.2}.ring-arc{stroke-linecap:round;animation:.6s cubic-bezier(.2,.8,.2,1) both ring-draw}@keyframes ring-draw{0%{stroke-dashoffset:var(--ring-c)}}.when-label{white-space:nowrap;font-weight:700}.when-date{font-variant-numeric:tabular-nums}.expiry-row .item-meta>span+span:before{content:"·";color:var(--muted);margin-inline-end:6px}.expiry-row.state-expired .when-label{color:var(--expired)}.expiry-row.state-short .when-label{color:var(--soon)}.expiry-row.state-valid .when-label{color:var(--ok)}.expiry-row .item-main{padding-inline-end:4px}.row-action{width:40px;height:44px;color:var(--muted);background:0 0;border:0;border-radius:12px;flex:none;place-items:center;margin-inline-end:6px;display:grid}.row-action:hover{background:var(--soon-soft);color:var(--soon)}.category-icon{background:var(--primary-soft);width:40px;height:40px;color:var(--primary);border-radius:12px;flex:none;place-items:center;display:grid}.category-icon.sm{border-radius:10px;width:34px;height:34px}.category-icon.lg{border-radius:14px;width:44px;height:44px}.stock-list .item-main{padding-block:12px}.stock-list .item-meta{font-size:13px}.stock-stepper{background:var(--surface-2);border-radius:999px;flex:none;align-items:center;gap:2px;margin-inline-end:14px;padding:3px;display:flex}.stock-stepper .icon-button{background:var(--surface);width:40px;height:40px;color:var(--text)}.stock-stepper .icon-button:disabled{color:var(--muted);opacity:1;background:0 0}.stock-qty{flex-direction:column;align-items:center;min-width:44px;padding:0 2px;line-height:1.05;display:flex;overflow:hidden}.stock-qty strong{font-family:var(--font-round);font-variant-numeric:tabular-nums;font-size:18px;font-weight:400}.stock-qty small{color:var(--text-2);font-size:11px}.stock-out .stock-qty strong{color:var(--expired)}.stock-low .stock-qty strong{color:var(--soon)}.badge{white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:700;display:inline-block}.badge-expired{background:var(--expired-soft);color:var(--expired)}.badge-soon{background:var(--soon-soft);color:var(--soon)}.badge-ok{background:var(--ok-soft);color:var(--ok)}.badge-neutral{background:var(--surface-2);color:var(--text-2)}.empty-state{text-align:center;color:var(--text-2);flex-direction:column;align-items:center;gap:10px;padding:36px 16px;display:flex}.empty-icon{background:var(--primary-soft);width:64px;height:64px;color:var(--primary);border-radius:50%;place-items:center;margin-bottom:4px;display:grid}.empty-state h2{color:var(--text);font-family:var(--font-round);font-size:20px;font-weight:400}.empty-state p{max-width:34ch}.empty-state .button{margin-top:8px}.item-form{flex-direction:column;gap:18px;display:flex}.field{border:0;flex-direction:column;gap:6px;min-width:0;margin:0;padding:0;display:flex}.field>label,.field>legend,.field-label{color:var(--text-2);padding:0 14px;font-size:14px;font-weight:500}.field>legend{margin-bottom:6px}.field input[type=text],.field input[type=password],.field input[type=email],.field input[type=date],.field input[type=number],.field input[type=time],.field textarea{border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:48px;color:var(--text);border:1.5px solid #0000;padding:10px 14px}.field input:focus,.field textarea:focus{border-color:var(--primary);outline:none}.field input[type=date],.field input[type=time]{text-align:start;font-variant-numeric:tabular-nums;appearance:none;min-width:0;max-width:100%;display:block}.field textarea{resize:vertical}input::-webkit-date-and-time-value{text-align:start}.label-done{background:var(--ok-ring);color:#fff;vertical-align:-3px;border-radius:50%;place-items:center;width:18px;height:18px;margin-inline-start:6px;display:inline-grid}.field-hint{color:var(--text-2);padding:0 14px;font-size:14px}.date-hint{align-items:center;gap:10px;padding:0 14px;display:flex}.date-hint .field-hint{padding:0}.tone-expired{color:var(--expired)}.tone-short{color:var(--soon)}.tone-valid{color:var(--ok)}.field-row{flex-wrap:wrap;gap:18px;display:flex}.field-row>.field{flex:180px}.stepper{background:var(--surface-2);border-radius:999px;align-self:flex-start;align-items:center;gap:2px;padding:3px;display:inline-flex}.stepper .icon-button{background:var(--surface);width:42px;height:42px;color:var(--text)}.stepper .icon-button:disabled{opacity:.4;background:0 0}.field .stepper input[type=number]{text-align:center;width:76px;min-height:42px;font-family:var(--font-round);-moz-appearance:textfield;background:0 0;border:0;padding:0 4px;font-size:20px}.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.form-error{border-radius:var(--radius-sm);background:var(--expired-soft);color:var(--expired);padding:10px 14px;font-weight:500}.form-actions{z-index:5;padding:14px 0 calc(var(--safe-bottom) + 10px);background:linear-gradient(to bottom, transparent, var(--bg) 18px);flex-direction:column;gap:8px;display:flex;position:sticky;bottom:0}.form-actions .button.primary{min-height:52px;font-size:17px}.danger-zone{flex-direction:column;gap:8px;padding-top:4px;display:flex}.card{border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:14px;padding:16px;display:flex}.card-title{font-family:var(--font-round);font-size:18px;font-weight:400}.card .field input[type=text],.card .field input[type=password],.card .field input[type=email]{background:var(--surface-2)}.settings-group{flex-direction:column;gap:6px;display:flex}.settings-group>h2{color:var(--text-2);padding:0 14px;font-size:13px;font-weight:500}.group-note{color:var(--text-2);padding:0 14px;font-size:13px}.group-note:empty{display:none}.list-card{border-radius:var(--radius);background:var(--surface);flex-direction:column;display:flex;overflow:hidden}.list-card.padded{padding:14px}.list-card>.row{position:relative}.list-card>.row+.row:before{content:"";top:0;background:var(--border);height:1px;position:absolute;inset-inline:14px 0}.row{width:100%;min-height:50px;color:inherit;text-align:start;background:0 0;border:0;align-items:center;gap:12px;padding:8px 14px;font-size:17px;display:flex}button.row:active,a.row:active{background:var(--scrim)}.row.multiline{flex-wrap:wrap}.row.accent{color:var(--primary)}.row.danger{color:var(--expired)}.row:disabled{opacity:.5}.row-label{flex:1;min-width:0}.row-text{flex-direction:column;flex:1;min-width:0;display:flex}.row-sub{color:var(--text-2);font-size:14px}.row-value{color:var(--text-2);font-variant-numeric:tabular-nums}.row-chevron{color:var(--muted);display:grid}.row-status{color:var(--text-2);align-items:center;gap:4px;font-size:15px;font-weight:700;display:inline-flex}.row-status.ok{color:var(--ok)}.row-time{background:var(--surface-2);width:auto;min-width:92px;height:40px;color:var(--text);text-align:center;font-variant-numeric:tabular-nums;appearance:none;border:0;border-radius:10px;padding:0 10px;font-weight:500}.user-row{min-height:72px}.avatar{background:var(--primary-soft);width:44px;height:44px;color:var(--primary-ink);font-family:var(--font-round);border-radius:50%;flex:none;place-items:center;font-size:19px;display:grid}.avatar.sm{width:36px;height:36px;font-size:15px}.avatar.admin{background:var(--admin);color:var(--on-admin)}.about{color:var(--text-2);text-align:center;padding:4px 0 8px;font-size:13px}.page-actions{flex-direction:column;align-items:center;gap:4px;display:flex}.install-banner,.update-banner{border-radius:var(--radius);background:var(--primary-soft);flex-direction:column;gap:10px;padding:14px 16px;font-size:15px;display:flex}.update-banner{top:calc(var(--safe-top) + 8px);z-index:20;box-shadow:var(--float-shadow);margin:8px 16px 0;position:sticky}.install-section{flex-direction:column;gap:10px;font-size:15px;display:flex}.install-actions{flex-wrap:wrap;gap:8px;display:flex}.inline-icon{vertical-align:-3px;color:var(--primary);display:inline-flex}.daily-summary{background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--soon-ring);border-radius:22px;flex-direction:column;gap:10px;padding:16px;display:flex}.daily-summary h2{font-family:var(--font-round);align-items:center;gap:8px;font-size:18px;font-weight:400;display:flex}.daily-icon{background:var(--soon-soft);width:30px;height:30px;color:var(--soon);border-radius:50%;place-items:center;display:grid}.daily-summary ul{flex-direction:column;gap:2px;margin:0;padding-inline-start:20px;display:flex}.tab-bar{z-index:10;bottom:var(--tab-gap);height:var(--tab-height);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(16px);box-shadow:var(--float-shadow);border-radius:26px;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:6px;display:grid;position:fixed;inset-inline:max(14px,50vw - 306px)}.tab{min-width:0;color:var(--text-2);border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:12px;font-weight:500;display:flex;position:relative}.tab[aria-current=page]{background:var(--primary-soft);color:var(--primary-ink);font-weight:700}.tab-icon{width:22px;height:22px;display:grid;position:relative}.tab-badge{border:2px solid var(--surface);background:var(--soon-ring);color:#fff;text-align:center;box-sizing:content-box;border-radius:999px;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;line-height:14px;position:absolute;top:2px;right:calc(50% + 4px)}.tab-badge.urgent{background:var(--expired-ring)}.nav-brand,.nav-user{display:none}.toast-region{inset-inline:0;bottom:calc(var(--tab-height) + var(--tab-gap) + 12px);z-index:30;pointer-events:none;justify-content:center;padding:0 16px;display:flex;position:fixed}.app.no-tabs+.toast-region{bottom:calc(var(--safe-bottom) + 132px)}.toast{--toast-accent:var(--ok-ring);background:var(--toast-bg);width:min(100%,440px);min-height:60px;color:var(--toast-text);pointer-events:auto;border-radius:18px;align-items:center;gap:12px;padding-block:12px;padding-inline:14px 8px;animation:.26s cubic-bezier(.2,.8,.2,1) toast-in;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 32px #00000042}.toast.tone-error{--toast-accent:var(--expired-ring)}.toast.tone-info{--toast-accent:var(--primary)}.toast.leaving{animation:.18s ease-in forwards toast-out}.toast-icon{background:var(--toast-accent);color:#fff;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;display:grid}.toast-message{flex:1;font-size:15px;line-height:1.35}.toast-action{background:color-mix(in srgb, var(--toast-action) 16%, transparent);min-height:36px;color:var(--toast-action);border:0;border-radius:999px;flex:none;padding:0 12px;font-weight:700}.toast-close{width:36px;height:36px;color:inherit;opacity:.6;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.toast-close:hover{opacity:1}.toast-timer{inset-inline:0;background:var(--toast-accent);transform-origin:0;height:3px;animation:linear forwards toast-timer;position:absolute;bottom:0}.toast.paused .toast-timer{animation-play-state:paused}@keyframes toast-timer{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes toast-in{0%{opacity:0;transform:translateY(16px)scale(.96)}}@keyframes toast-out{to{opacity:0;transform:translateY(10px)scale(.98)}}@media (prefers-reduced-motion:reduce){.toast-timer{display:none}}@media (width>=700px){.screen{padding-top:28px}}@media (width<=379px){.pill-label{display:none}}.notice{background:var(--surface-2);border-radius:14px;flex-direction:column;gap:8px;padding:12px 14px;font-size:15px;display:flex}.notice.danger{background:var(--expired-soft)}.notice.danger>strong{color:var(--expired)}.notice.warning{background:var(--soon-soft)}.notice-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.notice-list li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.notice-list small{color:var(--text-2)}.picked-product{border-radius:var(--radius);background:var(--surface);align-items:center;gap:12px;padding:12px 14px;display:flex}.picked-product .item-text{flex:1}.picked-product .item-meta{font-size:13px}.picker-results{border-radius:var(--radius);background:var(--surface);flex-direction:column;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.picker-results li{position:relative}.picker-results li+li:before{content:"";top:0;background:var(--border);height:1px;position:absolute;inset-inline:60px 0}.picker-option{text-align:start;background:0 0;border:0;align-items:center;gap:12px;width:100%;min-height:56px;padding:8px 14px;display:flex}.picker-option:hover:not(:disabled){background:var(--scrim)}.picker-option:disabled{opacity:.55}.picker-option .item-name{font-size:16px}.picker-option .item-meta{font-size:13px}.picker-new{justify-content:flex-start}.picker-more{align-self:flex-start}.new-product{border:1.5px solid var(--primary);border-radius:var(--radius);background:var(--primary-soft);flex-direction:column;gap:16px;min-width:0;margin:0;padding:16px;display:flex}.new-product>legend{color:var(--primary-ink);font-family:var(--font-round);padding:0 6px;font-size:17px}.log-list{border-radius:var(--radius);background:var(--surface);flex-direction:column;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.log-entry{align-items:flex-start;gap:12px;padding:12px 14px;display:flex;position:relative}.log-entry+.log-entry:before{content:"";top:0;background:var(--border);height:1px;position:absolute;inset-inline:62px 0}.log-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.log-head{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.log-area{color:var(--text-2);font-size:13px}.log-label{overflow-wrap:anywhere;min-width:0;font-size:16px;font-weight:500}.log-create{background:var(--ok-soft);color:var(--ok)}.log-update{background:var(--primary-soft);color:var(--primary-ink)}.log-delete{background:var(--expired-soft);color:var(--expired)}.log-import{background:var(--soon-soft);color:var(--soon)}.log-changes{overflow-wrap:anywhere;flex-direction:column;gap:2px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.log-meta{color:var(--text-2);font-size:13px}.welcome{flex-direction:column;gap:16px;padding-top:32px;display:flex}.welcome-logo{background:var(--primary);width:72px;height:72px;color:var(--on-primary);border-radius:22px;place-items:center;display:grid}.welcome h1{font-family:var(--font-round);text-wrap:balance;font-size:30px;font-weight:400;line-height:1.15}.welcome>p{color:var(--text-2)}.user-option{text-align:start;background:0 0;border:0;align-items:center;gap:12px;width:100%;min-height:64px;padding:10px 14px;display:flex}.user-option:hover{background:var(--scrim)}.swipe-row{position:relative;overflow:hidden}.swipe-action{visibility:hidden;background:var(--soon-ring);color:#fff;justify-content:flex-end;display:flex;position:absolute;inset:0}.swipe-row.swiping .swipe-action{visibility:visible}.swipe-action.tone-ok{background:var(--ok-ring)}.swipe-action button{width:96px;color:inherit;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:13px;font-weight:700;display:flex}.swipe-content{background:var(--surface);touch-action:pan-y;-webkit-user-select:none;user-select:none;align-items:center;display:flex;position:relative}.swipe-content a{-webkit-user-drag:none}@keyframes row-flash{0%,35%{background-color:var(--primary-soft)}}li.flash,.flash>.swipe-content{animation:2.4s ease-out row-flash}@media (prefers-reduced-motion:reduce){li.flash,.flash>.swipe-content{box-shadow:inset 0 0 0 2px var(--primary);animation:none}}.back-swipe-zone{z-index:25;top:0;bottom:0;touch-action:none;width:14px;position:fixed;inset-inline-start:0}.back-swipe-arrow{z-index:26;background:var(--surface);width:44px;height:44px;color:var(--text-2);box-shadow:var(--float-shadow);pointer-events:none;border-radius:50%;place-items:center;transition:background-color .15s,color .15s;display:grid;position:fixed}.back-swipe-arrow.armed{background:var(--primary);color:var(--on-primary)}.getting-started{background:var(--surface);border-radius:22px;flex-direction:column;gap:10px;padding:16px;display:flex}.getting-started-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.getting-started h2{font-family:var(--font-round);font-size:18px;font-weight:400}.getting-started-count{color:var(--text-2);font-variant-numeric:tabular-nums;font-size:14px}.progress{background:var(--surface-2);border-radius:999px;height:6px;overflow:hidden}.progress>span{border-radius:inherit;background:var(--ok-ring);height:100%;transition:width .3s;display:block}.steps{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.steps li+li{border-top:1px solid var(--border)}.step{width:100%;min-height:54px;color:inherit;text-align:start;background:0 0;border:0;align-items:center;gap:12px;padding:6px 0;font-size:16px;display:flex}.step:disabled{cursor:default}.step-mark{border:2px solid var(--border);color:#fff;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;display:grid}.steps .done .step-mark{border-color:var(--ok-ring);background:var(--ok-ring)}.steps .done .step{color:var(--text-2)}.step-text{flex-direction:column;flex:1;min-width:0;display:flex}.step-text small{color:var(--text-2);font-size:13px}.getting-started-hide{min-height:36px;color:var(--text-2);background:0 0;border:0;align-self:flex-start;padding:0;font-size:14px}.tip{color:var(--text-2);align-items:center;gap:8px;padding:0 14px;font-size:13px;display:flex}.tip>span{flex:1}.tip-close{min-height:36px;color:var(--primary);background:0 0;border:0;padding:0 4px;font-size:13px;font-weight:700}.code-input{font-family:var(--font-round);letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums;font-size:28px!important}.splash{place-items:center;min-height:60dvh;display:grid}.splash .welcome-logo{animation:1.4s ease-in-out infinite splash-pulse}@keyframes splash-pulse{50%{opacity:.55}}@media (prefers-reduced-motion:reduce){.splash .welcome-logo{animation:none}}.welcome-logo.muted-logo{background:var(--surface-2);color:var(--text-2)}.connection-banner{z-index:20;padding:calc(var(--safe-top) + 8px) 16px 8px;background:var(--soon-soft);color:var(--soon);text-align:center;margin:0;font-size:14px;font-weight:500;position:sticky;top:0}.logo{border-radius:22%;display:block;box-shadow:0 6px 18px #0a5a7240}.splash .logo{animation:1.4s ease-in-out infinite splash-pulse}@media (prefers-reduced-motion:reduce){.splash .logo{animation:none}}.page{flex-direction:column;gap:14px;display:flex}.page-main,.page-aside{flex-direction:column;gap:14px;min-width:0;display:flex}.settings-grid{flex-direction:column;gap:14px;display:flex}@media (width<=1023px){.app.no-tabs .tab-bar{display:none}}@media (width>=600px) and (width<=1023px){.app{max-width:760px}.tab-bar{inset-inline:auto;width:min(560px,100% - 28px);left:50%;transform:translate(-50%)}}@media (width>=1024px){.app,.app.no-tabs{max-width:none;padding-inline-start:var(--sidebar);margin:0;padding-bottom:56px}.screen{gap:20px;max-width:1180px;margin-inline:auto;padding-top:36px}.app.no-tabs .screen{max-width:760px}.update-banner{max-width:1100px;margin-inline:auto}.tab-bar{inset:0;width:var(--sidebar);border-inline-end:1px solid var(--border);background:var(--surface);height:auto;box-shadow:none;-webkit-backdrop-filter:none;border-radius:0;flex-direction:column;gap:4px;padding:24px 16px 20px;display:flex;inset-inline-end:auto}.tab-bar.has-thumb:before{border-radius:12px}.nav-brand{align-items:center;gap:12px;margin-bottom:24px;padding:0 8px;display:flex}.nav-brand .logo{box-shadow:none}.nav-brand span,.nav-user span{flex-direction:column;line-height:1.25;display:flex}.nav-brand strong{font-family:var(--font-round);font-size:22px;font-weight:400}.nav-brand small,.nav-user small{color:var(--text-2);font-size:13px}.tab{border-radius:12px;flex-direction:row;justify-content:flex-start;gap:12px;min-height:48px;padding:0 14px;font-size:16px}.tab-label{flex:1}.tab-badge{border:0;padding:1px 8px;font-size:12px;line-height:18px;position:static}.nav-user{border-top:1px solid var(--border);align-items:center;gap:10px;margin-top:auto;padding:14px 8px 0;display:flex}.nav-user strong{font-size:15px;font-weight:500}.page{grid-template-columns:minmax(0,1fr) clamp(300px,26vw,380px);align-items:start;gap:28px;display:grid}.page-main{grid-area:1/1}.page-main:only-child{grid-column:1/-1}.page-aside{overscroll-behavior:contain;scrollbar-width:thin;border-radius:var(--radius);grid-area:1/2;max-height:calc(100dvh - 48px);position:sticky;top:24px;overflow-y:auto}.page-aside>.hero{order:-1}.page-aside .chip-row{flex-wrap:wrap;margin-inline:0;padding-inline:0;overflow:visible;-webkit-mask-image:none;mask-image:none}.page-aside .filters{border-radius:var(--radius);background:var(--surface);padding:16px}.page-aside .filters .select-field select,.page-aside .filters .search{background:var(--surface-2)}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px 28px;display:grid}.toast-region,.app.no-tabs+.toast-region{padding-inline:calc(var(--sidebar) + 28px) 28px;justify-content:flex-end;bottom:28px}}@media (width>=1600px){:root{--sidebar:280px}}@media (hover:hover) and (pointer:fine){a.item-main:hover,button.row:hover,a.row:hover,.step:hover:not(:disabled),.user-option:hover{background:var(--scrim)}.tab:hover:not([aria-current=page]){background:var(--surface-2)}.chip:hover:not([aria-pressed=true]),.pill-button:hover:not(:disabled){filter:brightness(.96)}.back-swipe-zone{display:none}}.screen.enter-sheet{animation:.32s cubic-bezier(.2,.8,.2,1) enter-sheet}.screen.enter-push{animation:.3s cubic-bezier(.2,.8,.2,1) enter-push}.screen.enter-back{animation:.26s cubic-bezier(.2,.8,.2,1) enter-back}.screen.enter-fade{animation:.2s ease-out enter-fade}@keyframes enter-sheet{0%{opacity:0;transform:translateY(48px)}}@keyframes enter-push{0%{opacity:0;transform:translate(-36px)}}@keyframes enter-back{0%{opacity:.3;transform:translate(28px)}}@keyframes enter-fade{0%{opacity:0;transform:translateY(6px)}}.has-thumb{isolation:isolate}.segmented.has-thumb,.filter-tabs.has-thumb{position:relative}.has-thumb:before{content:"";z-index:-1;width:var(--thumb-w,0);height:var(--thumb-h,0);transform:translate(var(--thumb-x,0), var(--thumb-y,0));background:var(--surface);box-shadow:var(--thumb-shadow);border-radius:10px;position:absolute;top:0;left:0}.has-thumb[data-thumb-ready]:before{transition:transform .28s cubic-bezier(.2,.8,.2,1),width .28s cubic-bezier(.2,.8,.2,1),height .28s cubic-bezier(.2,.8,.2,1)}.segmented.has-thumb .choice input:checked+span,.filter-tabs.has-thumb button[aria-pressed=true]{box-shadow:none;background:0 0}.tab-bar.has-thumb:before{background:var(--primary-soft);box-shadow:none;border-radius:20px}.tab-bar.has-thumb .tab[aria-current=page]{background:0 0}.item-list>li.leaving{pointer-events:none;max-height:120px;animation:.22s ease-in forwards row-leave;overflow:hidden}@keyframes row-leave{to{opacity:0;max-height:0}}.item-list>li.arriving{animation:.3s cubic-bezier(.2,.8,.2,1) row-arrive}@keyframes row-arrive{0%{opacity:0;transform:translateY(-10px)scale(.98)}}.stock-qty strong{display:block}.stock-qty strong.roll-up{animation:.22s ease-out roll-up}.stock-qty strong.roll-down{animation:.22s ease-out roll-down}@keyframes roll-up{0%{opacity:0;transform:translateY(70%)}}@keyframes roll-down{0%{opacity:0;transform:translateY(-70%)}}li.pulse-low{animation:.9s ease-out pulse-low}li.pulse-out{animation:.9s ease-out pulse-out}li.pulse-ok{animation:.9s ease-out pulse-ok}@keyframes pulse-low{0%,30%{background-color:var(--soon-soft)}}@keyframes pulse-out{0%,30%{background-color:var(--expired-soft)}}@keyframes pulse-ok{0%,30%{background-color:var(--ok-soft)}}.form-error{animation:.36s ease-out error-in}@keyframes error-in{0%{opacity:0}20%{opacity:1;transform:translate(-6px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}.skeleton{border-radius:var(--radius);background:var(--surface);opacity:0;flex-direction:column;animation:.2s .15s forwards skeleton-appear;display:flex;overflow:hidden}.skeleton-row{align-items:center;gap:12px;padding:14px;display:flex}.skeleton-row+.skeleton-row{border-top:1px solid var(--border)}.skeleton-dot{border-radius:50%;flex:none;width:44px;height:44px}.skeleton-lines{flex-direction:column;flex:1;gap:8px;display:flex}.skeleton-lines span{border-radius:6px;height:12px}.skeleton-dot,.skeleton-lines span{background:linear-gradient(90deg, var(--surface-2) 25%, var(--border) 50%, var(--surface-2) 75%);background-size:200% 100%;animation:1.3s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}@keyframes skeleton-appear{to{opacity:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.skeleton{opacity:1}}.round-count.urgent{background:var(--expired-ring)}.bell-button.has-news svg{transform-origin:50% 10%;animation:.9s ease-in-out bell-ring}@keyframes bell-ring{0%,to{transform:rotate(0)}15%{transform:rotate(14deg)}30%{transform:rotate(-12deg)}45%{transform:rotate(8deg)}60%{transform:rotate(-5deg)}}.bell-layer{z-index:40;background:#0e25302e;animation:.15s ease-out fade-in;position:fixed;inset:0}@media (width>=600px){.bell-layer{background:0 0}}@keyframes fade-in{0%{opacity:0}}.bell-panel{background:var(--surface);transform-origin:0 0;border-radius:22px;outline:none;flex-direction:column;max-height:min(70dvh,560px);animation:.22s cubic-bezier(.2,.8,.2,1) panel-in;display:flex;position:fixed;overflow:auto;box-shadow:0 18px 48px #0e25303d}@keyframes panel-in{0%{opacity:0;transform:translateY(-6px)scale(.97)}}.bell-head{justify-content:space-between;align-items:baseline;gap:12px;padding:18px 18px 10px;display:flex}.bell-head h2{font-family:var(--font-round);font-size:20px;font-weight:400}.bell-head span{color:var(--text-2);font-size:14px}.bell-list{margin:0;padding:0 8px;list-style:none}.alert-row{width:100%;min-height:64px;color:inherit;text-align:start;background:0 0;border:0;border-radius:14px;align-items:center;gap:12px;padding:10px;display:flex}.alert-row:hover,.alert-row:focus-visible{background:var(--scrim)}.alert-icon{border-radius:12px;flex:none;place-items:center;width:40px;height:40px;display:grid}.alert-row.tone-expired .alert-icon{background:var(--expired-soft);color:var(--expired)}.alert-row.tone-soon .alert-icon{background:var(--soon-soft);color:var(--soon)}.alert-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.alert-text strong{font-size:16px;font-weight:700}.alert-row.tone-expired strong{color:var(--expired)}.alert-row.tone-soon strong{color:var(--soon)}.alert-row.tone-info .alert-icon{background:var(--primary-soft);color:var(--primary-ink)}.alert-row.tone-info strong{color:var(--primary-ink)}.alert-text small{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.bell-empty{color:var(--text-2);text-align:center;flex-direction:column;align-items:center;gap:6px;padding:16px 24px 20px;display:flex}.bell-empty strong{color:var(--text);font-family:var(--font-round);font-size:18px;font-weight:400}.bell-empty-icon{background:var(--ok-soft);width:52px;height:52px;color:var(--ok);border-radius:50%;place-items:center;display:grid}.bell-foot{border:0;border-top:1px solid var(--border);min-height:44px;color:var(--primary);background:0 0;margin:6px 8px 8px;font-size:15px;font-weight:500}.scanner{z-index:60;color:#fff;background:#000;flex-direction:column;justify-content:space-between;animation:.18s ease-out fade-in;display:flex;position:fixed;inset:0;overflow:hidden}.scanner-video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.scanner-top{z-index:1;padding:calc(var(--safe-top) + 10px) var(--gutter) 24px;background:linear-gradient(#0000008c,#0000);grid-template-columns:44px 1fr 44px;align-items:center;gap:8px;display:grid;position:relative}.scanner-top h2{font-family:var(--font-round);text-align:center;margin:0;font-size:18px;font-weight:400}.scanner-close{color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff2e;border:0;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.scanner-frame{aspect-ratio:16/9;pointer-events:none;--corner:linear-gradient(#fff, #fff);background:var(--corner) top left / 34px 4px, var(--corner) top left / 4px 34px, var(--corner) top right / 34px 4px, var(--corner) top right / 4px 34px, var(--corner) bottom left / 34px 4px, var(--corner) bottom left / 4px 34px, var(--corner) bottom right / 34px 4px, var(--corner) bottom right / 4px 34px;background-repeat:no-repeat;border-radius:20px;width:min(82vw,420px);position:absolute;top:44%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 100vmax #0000006b}.scanner-line{inset-inline:10%;background:var(--expired-ring);height:2px;box-shadow:0 0 12px var(--expired-ring);opacity:0;border-radius:2px;position:absolute;top:50%}.scanner-frame.live .scanner-line{opacity:.9;animation:1.8s ease-in-out infinite alternate scan-sweep}.scanner-frame.hit{animation:.45s ease-out scan-hit}@keyframes scan-sweep{0%{top:16%}to{top:84%}}@keyframes scan-hit{0%{box-shadow:0 0 0 100vmax #0000006b, inset 0 0 0 4px var(--ok-ring);transform:translate(-50%,-50%)scale(1.04)}to{box-shadow:0 0 0 100vmax #0000006b, inset 0 0 0 0 var(--ok-ring);transform:translate(-50%,-50%)scale(1)}}.scanner-bottom{z-index:1;padding:32px var(--gutter) calc(var(--safe-bottom) + 18px);text-align:center;background:linear-gradient(#0000,#000000b3 30%);flex-direction:column;align-items:center;gap:12px;display:flex;position:relative}.scanner-hint{color:#ffffffe0;max-width:420px;margin:0;font-size:15px;line-height:1.5}.scanner-hint.warn{border-radius:var(--radius-sm);color:#fff;background:#ffffff24;padding:10px 14px}.scanner-feedback{border-radius:var(--radius-sm);color:#0e2530;background:#fffffff0;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 12px;max-width:440px;padding:10px 16px;font-size:15px;font-weight:500;animation:.2s ease-out toast-in;display:flex}.scanner-feedback.tone-success{box-shadow:inset 4px 0 #22a06b}.scanner-feedback.tone-error{box-shadow:inset 4px 0 #e5483c}.scanner-feedback.tone-info{box-shadow:inset 4px 0 #0b6e8a}.scanner-feedback button{color:#08566c;background:#ddeff5;border:0;border-radius:999px;min-height:36px;padding:0 12px;font-size:14px;font-weight:700}.scanner-actions,.scanner-type{flex-wrap:wrap;justify-content:center;gap:10px;width:100%;max-width:440px;display:flex}.scanner-actions .pill-button{color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff2e;min-height:46px}.scanner-type input{border-radius:var(--radius-sm);color:#0e2530;min-width:0;min-height:46px;font:inherit;letter-spacing:.06em;text-align:center;background:#fff;border:0;flex:1;padding:0 14px;font-size:17px}.scanner-type .pill-button{min-height:46px}.password-input{position:relative}.field .password-input input{letter-spacing:.02em;padding-right:76px}.password-toggle{background:var(--surface-2);min-height:36px;color:var(--primary-ink);border:0;border-radius:999px;padding:0 12px;font-size:14px;font-weight:700;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.signin-alt{border-radius:var(--radius);background:var(--surface-2);color:var(--text-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 14px;padding:14px 16px;font-size:15px;display:flex}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.count-pill{background:var(--primary);min-width:24px;height:24px;color:var(--on-primary);font-family:var(--font);vertical-align:2px;border-radius:999px;place-items:center;margin-inline-start:6px;padding:0 7px;font-size:13px;font-weight:700;display:inline-grid}.join-requests,.credentials{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.request-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.request-row{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 0;display:flex}.request-row .item-text{flex:1;min-width:160px}.request-row .item-meta{flex-wrap:wrap;gap:2px 10px;display:flex}.request-actions{flex-wrap:wrap;gap:6px;margin-inline-start:auto;display:flex}.credentials{border:1.5px solid var(--primary);background:var(--primary-soft)}.credentials dl{grid-template-columns:auto 1fr;gap:6px 14px;margin:0;display:grid}.credentials dt{color:var(--text-2);font-size:15px}.credentials dd{overflow-wrap:anywhere;text-align:end;margin:0}.credentials-password{letter-spacing:.04em;color:var(--primary-ink);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:20px;font-weight:700}
