:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f2ec;--surface:#fff;--surface-muted:#f2eee7;--text:#231a13;--text-soft:#6d5b4d;--accent:#a54d1c;--accent-strong:#8f3d11;--accent-soft:#f7e4d7;--danger:#b53232;--border:#e4d6c6;--shadow:0 10px 30px #40200d14;--radius-xl:24px;--radius-lg:18px;--radius-md:14px;--radius-sm:12px}.pastry-loading{z-index:15;background:radial-gradient(at 50% 45%,#fffdf7 0%,#fff0dc 65%,#f6dfc6 100%);place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.pastry-sky{pointer-events:none;position:absolute;inset:0;overflow:hidden}.flying-pastry{font-size:var(--size);opacity:.65;filter:drop-shadow(0 8px 8px #7e43121f);animation:pastry-flight var(--duration) var(--delay) ease-in-out infinite alternate;line-height:1;position:absolute}.pastry-loading-label{background:#fffdf8f0;border:1px solid #ffffffe6;border-radius:32px;justify-items:center;gap:16px;padding:32px 44px;display:grid;position:relative;box-shadow:0 16px 60px #7e43121f}.pastry-loading-mark{font-size:48px;line-height:1}.pastry-loading-label p{color:var(--accent-strong);margin:0;font-size:clamp(1.6rem,6vw,2rem);font-weight:800}.pastry-loading-dots{gap:8px;display:flex}.pastry-loading-dots i{background:var(--accent);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite pastry-dot}.pastry-loading-dots i:nth-child(2){animation-delay:.15s}.pastry-loading-dots i:nth-child(3){animation-delay:.3s}@keyframes pastry-flight{0%{transform:translate(-15px, 12px) rotate(var(--tilt))}35%{transform:translate(var(--flight-x), -35px) rotate(-35deg)}70%{transform:translate(-25px, var(--flight-y)) rotate(85deg)}to{transform:translate(var(--flight-x), var(--flight-y)) rotate(var(--turn))}}@keyframes pastry-dot{0%,80%,to{opacity:.4;transform:translateY(0)}40%{opacity:1;transform:translateY(-5px)}}@media (prefers-reduced-motion:reduce){.flying-pastry,.pastry-loading-dots i{animation:none}}*{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent}body{background:linear-gradient(180deg, #fff8f2 0%, var(--bg) 100%);min-height:100vh;color:var(--text);margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}code{background:#231a1314;border-radius:8px;padding:.12rem .35rem}.app-shell{width:min(100%,560px);margin:0 auto;padding:0 16px}.app-main{padding-top:24px;padding-bottom:36px}.app-header{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fff8f2e6;border-bottom:1px solid #a478551f;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:12px;min-height:72px;display:flex}.brand-mark{font-size:1.05rem;font-weight:800}.header-nav{align-items:center;gap:8px;display:flex}.language-switch{white-space:nowrap;border:1px solid var(--border);background:var(--surface);min-height:42px;color:var(--text-soft);border-radius:999px;align-items:center;gap:4px;padding:6px 8px;font-size:.8rem;display:inline-flex}.language-active{color:var(--accent);text-underline-offset:3px;font-weight:800;text-decoration:underline}@media (max-width:480px){.header-inner{flex-wrap:wrap;gap:6px;padding-top:8px;padding-bottom:8px}.brand-mark{font-size:.9rem}.header-nav{gap:3px;margin-left:auto}.header-nav .nav-link{padding:10px 8px;font-size:.85rem}}.nav-link{color:var(--text-soft);background:0 0;border-radius:999px;padding:10px 14px;font-weight:600}.nav-link-active{background:var(--surface);color:var(--accent);box-shadow:var(--shadow)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow)}.hero{margin-bottom:18px;padding:24px}.compact-hero{padding:20px}.hero h1,.empty-state h1,.setup-notice h2,.login-card h2,.admin-toolbar h2,.modal-card h2{margin:0;line-height:1.15}.hero p,.setup-notice p,.empty-state p,.login-card p,.admin-toolbar p{color:var(--text-soft);margin:0;line-height:1.5}.hero>*+*,.setup-notice>*+*,.empty-state>*+*,.login-card>*+*{margin-top:12px}.eyebrow,.modal-kicker{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;font-size:.82rem;font-weight:800}.category-grid{grid-template-columns:1fr;gap:12px;display:grid}.category-card{border-radius:var(--radius-xl);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);padding:18px;transition:transform .15s,border-color .15s;display:block}.category-card:active{transform:scale(.99)}.category-card-top{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.category-card h2{margin:0 0 8px}.category-card p{color:var(--text-soft);margin:0}.category-icon{background:var(--accent-soft);border-radius:16px;place-items:center;width:48px;height:48px;font-size:1.45rem;display:inline-grid}.category-arrow{color:var(--text-soft);font-size:1.2rem}.product-list{flex-direction:column;gap:12px;display:flex}.product-button{color:var(--text);text-align:left;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:100%;box-shadow:var(--shadow);justify-content:space-between;align-items:center;gap:16px;padding:18px;display:flex}.product-button h2{margin:6px 0 0;font-size:1.05rem}.product-order,.product-button-hint{color:var(--text-soft);font-size:.86rem}.empty-state,.setup-notice,.login-card{padding:24px}.back-link{color:var(--accent);align-items:center;gap:8px;font-weight:700;display:inline-flex}.setup-steps{color:var(--text-soft);gap:10px;margin-top:8px;display:grid}.modal-overlay{z-index:50;background:#1e140e6b;justify-content:center;align-items:flex-end;padding:16px;display:flex;position:fixed;inset:0}.modal-card{background:var(--surface);border-radius:24px 24px 18px 18px;width:min(100%,560px);padding:20px;box-shadow:0 25px 80px #1a0c0447}.modal-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.modal-head h2{margin-top:6px}.barcode-box{border:1px dashed var(--border);background:var(--surface-muted);border-radius:18px;margin-top:18px;padding:16px;overflow-x:auto}.barcode-svg{width:100%;min-width:0;height:112px;display:block}.barcode-modal-position{width:min(100%,560px);min-width:0;position:relative}.barcode-next-button{border:1px solid var(--border);background:var(--surface);width:44px;height:44px;color:var(--accent);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:calc(100% + 5px);left:15px}.product-barcode-modal{width:100%;height:min(400px,100dvh - 90px);overflow:hidden auto}.product-barcode-modal .modal-head{min-height:100px}.product-barcode-modal .modal-head>div{min-width:0}.product-barcode-modal .modal-head h2{overflow-wrap:anywhere;max-height:74px;font-size:1.3rem;overflow-y:auto}.product-barcode-modal .modal-head button{flex-shrink:0}.product-barcode-modal .modal-kicker{margin:0 0 6px}.product-barcode-modal .barcode-box{flex-shrink:0;height:146px}.product-barcode-modal .barcode-meta{overflow-wrap:anywhere}.barcode-meta{color:var(--text-soft);gap:6px;margin-top:12px;font-size:.92rem;display:grid}.admin-shell,.admin-category-list{gap:14px;display:grid}.admin-toolbar{flex-direction:column;gap:14px;padding:18px;display:flex}.admin-toolbar-actions{flex-wrap:wrap;gap:10px;display:flex}.status-banner{border-radius:var(--radius-md);margin:0;padding:12px 14px;font-weight:600}.status-banner.success{color:#236a24;background:#edf7ed}.status-banner.error,.error-text{color:#a22020;background:#fff1f1}.login-form,.add-item-form,.admin-item-row,.move-row,.row-actions-bottom{gap:12px;display:grid}.login-form label,.add-item-form label,.admin-item-row label,.move-row label{gap:8px;display:grid}.login-form span,.add-item-form span,.admin-item-row span,.move-row span{color:var(--text-soft);font-size:.92rem}input,select{border:1px solid var(--border);width:100%;min-height:46px;color:var(--text);background:#fff;border-radius:14px;padding:0 14px}input:focus,select:focus{border-color:#a54d1c7a;outline:2px solid #a54d1c2e}.primary-button,.secondary-button,.ghost-button,.danger-button,.tiny-button,.inline-button{border:1px solid #0000;border-radius:14px;justify-content:center;align-items:center;min-height:46px;padding:0 16px;font-weight:700;display:inline-flex}.primary-button,.inline-button{background:var(--accent);color:#fff}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled,.danger-button:disabled,.tiny-button:disabled{opacity:.6;cursor:not-allowed}.secondary-button{background:var(--accent-soft);color:var(--accent)}.ghost-button{color:var(--text);border-color:var(--border);background:0 0}.danger-button{color:var(--danger);background:#fff1f1}.tiny-button{background:var(--surface-muted);min-width:38px;min-height:38px;color:var(--text);padding:0}.admin-category{padding:0}.admin-category-head{z-index:10;background:var(--surface);border-radius:var(--radius-xl);height:96px;margin:0;position:relative}.is-expanded>.admin-category-head{top:var(--admin-header-offset,73px);position:sticky}.admin-category-head.is-compact{height:48px;margin-bottom:48px;box-shadow:0 5px 12px #40200d1f}.admin-category-toggle{border-radius:inherit;width:100%;height:100%;color:var(--text);text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:0 18px;display:flex}.admin-category-title{flex:1;font-size:1.1rem;font-weight:700}.admin-category-content{padding:0 18px 18px}.admin-category-content[hidden]{display:none}.admin-notification{z-index:45;width:max-content;max-width:calc(100% - 32px);box-shadow:var(--shadow);align-items:center;gap:12px;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.admin-notification button{color:inherit;background:0 0;border:0;min-width:32px;min-height:32px;font-size:1.3rem}.admin-category-head h3,.add-item-form h4{margin:6px 0 0}.counter-chip{background:var(--surface-muted);min-height:34px;color:var(--text-soft);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:0 12px;font-weight:700;display:inline-flex}.admin-items-stack{gap:12px;margin-bottom:18px;display:grid}.admin-item-row{border:1px solid var(--border);border-radius:var(--radius-lg);background:#fffdfb;padding:14px}.admin-item-row-top{justify-content:space-between;align-items:center;display:flex}.drag-handle{min-width:40px;min-height:40px;color:var(--text-soft);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;padding:0;font-size:1.4rem;line-height:1;display:inline-flex}.drag-handle:active{background:var(--surface-muted)}.admin-item-slot{position:relative}.admin-item-row-placeholder{visibility:hidden;border:1px dashed var(--border);background:var(--surface-muted)}.admin-drag-overlay{z-index:60;pointer-events:none;opacity:.96;position:fixed;transform:scale(1.02);box-shadow:0 20px 45px #40200d47}.row-actions-bottom{grid-template-columns:1fr 1fr}.scan-button{grid-column:1/-1}.scanner-dialog{border:1px solid var(--border);background:var(--surface);width:min(560px,100% - 24px);max-height:calc(100dvh - 32px);color:var(--text);box-shadow:var(--shadow);border-radius:24px;padding:20px;overflow-y:auto}.scanner-dialog::backdrop{background:#1e140e99}.scanner-dialog h2{margin:0;font-size:1.3rem}.scanner-product-name{overflow-wrap:anywhere;color:var(--text-soft)}.scanner-viewfinder{background:#171717;border-radius:14px;padding:10px 3px;position:relative;overflow:hidden}.scanner-frame-space{width:100%}.scanner-video{width:calc(111.111% - 6.66667px);max-width:none;height:auto;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.scanner-frame{pointer-events:none;border-radius:8px;outline:1px solid #ffffffa6;position:absolute;inset:10px 3px;box-shadow:0 0 0 100vmax #0000007a}.scanner-detection{border:3px solid #ffd34e;border-radius:5px;position:absolute}.scanner-detection.is-readable{border-color:#69ef97}.scanner-snapshot{border-radius:14px;width:100%;height:auto;display:block}.scanner-code{overflow-wrap:anywhere;font-family:monospace}.scanner-confirmation p{line-height:1.6}.scanner-hint{color:var(--text-soft);line-height:1.5}.scanner-actions{flex-wrap:wrap;gap:12px;display:flex}.scanner-actions>button{flex:160px}.scanner-retry{margin-top:12px}.move-row{grid-template-columns:1fr}.add-item-form{border-top:1px solid var(--border);padding-top:16px}.mini-empty{border-radius:var(--radius-md);background:var(--surface-muted);color:var(--text-soft);padding:14px}@media (min-width:580px){.app-shell{width:min(100%,760px)}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-toolbar{flex-direction:row;justify-content:space-between;align-items:center}.move-row{grid-template-columns:1fr auto;align-items:end}.modal-overlay{align-items:center}.modal-card{border-radius:24px}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#171412;--surface:#24201d;--surface-muted:#302923;--text:#f4ece5;--text-soft:#c2afa0;--accent:#eea16d;--accent-strong:#ffc497;--accent-soft:#432d20;--danger:#f99;--border:#493b31;--shadow:0 10px 30px #00000038}.theme-switch{border:1px solid var(--border);background:var(--surface);width:36px;height:36px;color:var(--text-soft);border-radius:50%;flex-shrink:0;place-items:center;padding:0;display:inline-grid}.theme-switch:hover{color:var(--accent);background:var(--surface-muted)}.theme-switch:focus-visible{outline:2px solid var(--accent);outline-offset:3px}:root[data-theme=dark] body{background:linear-gradient(180deg, #211a16 0%, var(--bg) 100%)}:root[data-theme=dark] .app-header{border-bottom-color:var(--border);background:#1d1814eb}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] .admin-item-row{background:var(--surface-muted)}:root[data-theme=dark] code{background:#ffffff14}:root[data-theme=dark] .status-banner.success{color:#a4dfad;background:#203b27}:root[data-theme=dark] .status-banner.error,:root[data-theme=dark] .error-text,:root[data-theme=dark] .danger-button{color:#faa;background:#452323}:root[data-theme=dark] .primary-button,:root[data-theme=dark] .inline-button{color:#21160f}:root[data-theme=dark] .pastry-loading{background:radial-gradient(at 50% 45%,#38291e 0%,#231b16 65%,#171412 100%)}:root[data-theme=dark] .pastry-loading-label{background:var(--surface);border-color:var(--border);box-shadow:var(--shadow)}:root[data-theme=dark] .barcode-box{background:#fff;border-color:#ddd}
