.landing{--landing-deep: #13211d;--landing-deep-2: #203d35;--landing-card: #ffffff;--landing-card-border: rgba(56, 92, 84, .16);--landing-grid: rgba(56, 92, 84, .1);--landing-logo-plate: #ffffff;--landing-logo-border: rgba(25, 25, 25, .12);--landing-copy-max: 42rem;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:linear-gradient(90deg,var(--landing-grid) 1px,transparent 1px),linear-gradient(var(--landing-grid) 1px,transparent 1px),linear-gradient(180deg,#fdfcf9 0%,var(--bg) 42%,#ffffff 100%);background-size:44px 44px,44px 44px,100% 100%;color:var(--text)}.landing main{width:100%;max-width:1180px;margin:0 auto;padding:0 24px;flex:1}.landing-header{position:sticky;top:0;z-index:30;width:100%;max-width:none;margin:0;padding:16px max(24px,calc((100vw - 1180px)/2 + 24px));display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fdfcf9b8;border-bottom:1px solid rgba(56,92,84,.1);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 16px 36px #13211d0d}.landing-brand-link{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:9px 14px;border-radius:10px;background:var(--landing-logo-plate);border:1px solid var(--landing-logo-border);box-shadow:0 14px 36px #13211d1f}.landing-logo{width:auto;height:clamp(46px,6vw,64px);max-width:min(290px,58vw);display:block;object-fit:contain}.landing-header .btn-small{min-height:44px;padding:8px 16px;border-color:#385c543d;background:#ffffffe0}.landing-hero{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(380px,.98fr);gap:48px;align-items:center;padding:46px 0 72px}.landing-hero-copy{max-width:var(--landing-copy-max)}.landing-badge{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid rgba(217,119,84,.45);color:var(--landing-deep);border-radius:999px;padding:7px 13px;font-size:.82rem;font-weight:750;box-shadow:0 10px 28px #d977541f;margin-bottom:22px}.landing-badge svg{color:var(--accent)}.landing-hero h1{font-size:clamp(2.45rem,4.75vw,4.45rem);line-height:1.08;letter-spacing:-.024em;font-weight:800;color:var(--landing-deep);text-wrap:balance}.landing-hero h1 em{font-style:normal;color:var(--accent)}.landing-sub{margin-top:24px;font-size:clamp(1rem,1.8vw,1.15rem);line-height:1.72;color:var(--muted);max-width:40rem}.landing-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.landing-cta{padding:14px 24px;font-size:1rem;font-weight:750}.landing-proof{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.landing-proof li{min-height:38px;display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;background:#ffffffd1;border:1px solid rgba(56,92,84,.16);color:var(--landing-deep);font-size:.88rem;font-weight:650;box-shadow:0 8px 24px #13211d0f}.landing-proof svg{color:var(--primary)}.landing-hero-visual{position:relative;min-height:560px;display:flex;align-items:flex-end;justify-content:center;padding:128px 24px 28px;isolation:isolate}.landing-hero-visual:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;border-radius:28px;background:linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(145deg,var(--landing-deep) 0%,#142d27 55%,var(--landing-deep-2) 100%);background-size:34px 34px,34px 34px,100% 100%;border:1px solid rgba(255,255,255,.12);box-shadow:0 34px 90px #13211d42}.landing-hero-visual:after{content:"";position:absolute;top:18px;right:18px;bottom:18px;left:18px;z-index:-1;border-radius:20px;background:linear-gradient(120deg,transparent 0 30%,rgba(217,119,84,.22) 30% 31%,transparent 31% 100%),url(/assets/stockflow-pattern-BKEgb9sv.png) top 26px right 26px / 286px auto no-repeat;opacity:.7}.landing-visual-brand{position:absolute;top:28px;left:28px;right:28px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:86px;padding:12px 18px 12px 14px;border-radius:14px;background:var(--landing-logo-plate);border:1px solid rgba(255,255,255,.74);box-shadow:0 18px 46px #00000038}.landing-visual-logo{height:clamp(52px,6vw,76px);width:auto;max-width:min(330px,70%);display:block;object-fit:contain}.landing-visual-brand span{color:#13211d!important;font-size:.74rem;font-weight:850;line-height:1.2;text-align:right;text-transform:uppercase;letter-spacing:.08em}.landing-mock{position:relative;z-index:1;width:100%;max-width:500px;background:var(--landing-card);border:1px solid rgba(255,255,255,.78);border-radius:16px;box-shadow:0 24px 55px #00000038,inset 0 1px #fffc;padding:18px;display:flex;flex-direction:column;gap:11px}.landing-mock:before{content:"";position:absolute;left:22px;right:22px;top:72px;height:2px;background:linear-gradient(90deg,transparent,var(--accent),#10b981,transparent);box-shadow:0 0 16px #d977546b;opacity:.9}.landing-mock-head{min-height:44px;display:flex;align-items:center;gap:9px;font-size:.72rem;font-weight:850;letter-spacing:.08em;color:var(--muted);padding:0 4px 12px;border-bottom:1px solid var(--border)}.landing-mock-dot{width:9px;height:9px;border-radius:50%;background:#10b981;box-shadow:0 0 0 5px #10b98121}.landing-mock-off{margin-left:auto;display:inline-flex;align-items:center;gap:5px;color:var(--primary);font-weight:800;letter-spacing:normal;text-transform:lowercase}.landing-mock-scan{display:grid;grid-template-columns:minmax(120px,.75fr) minmax(0,1fr);align-items:center;gap:10px 14px;padding:13px 14px;background:#f7fbf8;border:1px solid rgba(56,92,84,.12);border-radius:10px;font-size:.86rem}.landing-mock-scan .mono{color:var(--landing-deep);font-size:.82rem}.landing-mock-dim{opacity:.72}.landing-mock-ok{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;color:#087f5b;font-weight:750;text-align:right}.landing-mock-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding-top:12px;border-top:1px solid var(--border)}.landing-mock-stats div{min-height:78px;display:flex;flex-direction:column;justify-content:center;gap:3px;padding:12px 10px;border-radius:10px;background:var(--muted-bg)}.landing-mock-stats strong{font-size:1.45rem;line-height:1;letter-spacing:-.02em;color:var(--landing-deep)}.landing-mock-stats span{font-size:.72rem;line-height:1.2;color:var(--muted)}.landing-section{padding:54px 0}.landing-section-centered{display:flex;flex-direction:column;align-items:center}.landing-section>h2{position:relative;display:flex;align-items:center;gap:12px;font-size:clamp(1.55rem,3vw,2.18rem);line-height:1.1;font-weight:850;letter-spacing:-.035em;color:var(--landing-deep);margin-bottom:26px}.landing-section-centered>h2{justify-content:center;text-align:center}.landing-section>h2:before{content:"";width:38px;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--accent),#10b981);flex-shrink:0}.landing-grid{display:grid;gap:16px}.landing-grid-3{grid-template-columns:repeat(auto-fit,minmax(255px,1fr))}.landing-card{background:#ffffffe6;border:1px solid var(--landing-card-border);border-radius:8px;padding:22px;display:flex;flex-direction:column;gap:11px;box-shadow:0 18px 42px #13211d0f}.landing-card svg{color:var(--accent)}.landing-card h3{font-size:1.07rem;line-height:1.2;font-weight:800;letter-spacing:-.015em;color:var(--landing-deep)}.landing-card p{font-size:.95rem;line-height:1.62;color:var(--muted)}.landing-steps{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.landing-steps li{display:flex;gap:16px;background:#ffffffe6;border:1px solid var(--landing-card-border);border-radius:8px;padding:22px;box-shadow:0 18px 42px #13211d0d}.landing-step-num{flex-shrink:0;width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:var(--landing-deep);color:#fff;font-weight:850;font-size:1.05rem;box-shadow:inset 0 -3px #ffffff1a}.landing-steps h3{font-size:1.04rem;font-weight:800;color:var(--landing-deep);margin-bottom:6px}.landing-steps p{font-size:.93rem;line-height:1.6;color:var(--muted)}.landing-access{display:grid;grid-template-columns:minmax(0,.9fr) minmax(340px,.72fr);gap:42px;align-items:start;margin:48px 0 24px;background:linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(140deg,var(--landing-deep) 0%,#17302a 58%,var(--landing-deep-2) 100%);background-size:36px 36px,36px 36px,100% 100%;border:1px solid rgba(255,255,255,.14);border-radius:20px;padding:clamp(26px,4vw,44px);scroll-margin-top:120px;box-shadow:0 26px 80px #13211d38}.landing-access-copy h2{font-size:clamp(1.7rem,3vw,2.35rem);line-height:1.05;font-weight:850;letter-spacing:-.04em;color:#fff;margin-bottom:16px}.landing-access-copy p{color:#ffffffbf;line-height:1.68;margin-bottom:13px}.landing-access-copy .muted{color:#ffffffb3}.landing-access-copy a{color:#fff;font-weight:800}.landing-form{display:flex;flex-direction:column;gap:14px;padding:20px;border-radius:14px;background:#fff!important;border:1px solid rgba(56,92,84,.16)!important;box-shadow:0 22px 54px #0000003d!important}.landing-field{display:flex;flex-direction:column;gap:7px}.landing-field label{font-size:.84rem;font-weight:800;color:#13211d!important}.landing-field input{background:#f9f8f6!important;border:1.5px solid rgba(56,92,84,.24)!important;border-radius:10px!important;padding:12px 14px!important;font-size:1rem!important;font-family:inherit!important;color:#191919!important;min-height:48px!important}.landing-field input::placeholder{color:#76706a!important;opacity:.85!important}.landing-field input:focus{background:#fff!important;border-color:var(--accent)!important;box-shadow:0 0 0 3px #d9775424!important;outline:none!important;color:#191919!important}.landing-form .landing-cta{width:100%}.landing-form-note{font-size:.82rem;color:#3f3b38!important;text-align:center}.landing-form-error{font-size:.9rem;color:var(--danger)!important}.landing-form-done{display:flex;flex-direction:column;gap:10px;align-items:flex-start;padding:22px;border-radius:14px;background:#fff!important;color:#191919!important;box-shadow:0 22px 54px #00000038!important}.landing-form-done svg{color:var(--primary)!important}.landing-form-done h3{font-size:1.15rem;font-weight:850;color:#191919!important}.landing-form-done p{line-height:1.6;color:#3f3b38!important}.landing-faq{display:grid;gap:10px;width:min(840px,100%);max-width:840px;margin:0 auto}.landing-faq details{background:#ffffffeb;border:1px solid var(--landing-card-border);border-radius:8px;padding:16px 20px;box-shadow:0 12px 30px #13211d0a}.landing-faq summary{font-weight:800;cursor:pointer;min-height:30px;color:var(--landing-deep)}.landing-faq p{margin-top:10px;line-height:1.65;color:var(--muted)}.landing-final{position:relative;overflow:hidden;text-align:center;margin:30px 0 70px;padding:clamp(42px,6vw,70px) 24px;border-radius:20px;color:#fff;background:linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(135deg,var(--landing-deep) 0%,#18342d 58%,#d97754 160%);background-size:34px 34px,34px 34px,100% 100%;box-shadow:0 26px 80px #13211d38}.landing-final-logo{height:clamp(56px,7vw,82px);width:auto;max-width:min(320px,78vw);display:block;object-fit:contain;margin:0 auto 22px;padding:9px 13px;border-radius:10px;background:#fff;border:1px solid rgba(255,255,255,.72);box-shadow:0 18px 42px #00000038}.landing-final h2{font-size:clamp(1.9rem,4vw,3.15rem);line-height:1.04;font-weight:850;letter-spacing:-.045em;margin-bottom:12px;text-wrap:balance}.landing-final p{color:#ffffffbf;margin-bottom:26px;font-size:1.05rem}.landing-footer{border-top:1px solid rgba(56,92,84,.14);padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:1180px;width:100%;margin:0 auto;font-size:.85rem;color:var(--muted)}.landing-footer a{color:var(--muted);font-weight:700}@media (prefers-color-scheme: dark){.landing{--landing-deep: #f1eae4;--landing-deep-2: #305f53;--landing-card: #22211e;--landing-card-border: rgba(255, 255, 255, .1);--landing-grid: rgba(255, 255, 255, .045);background:linear-gradient(90deg,var(--landing-grid) 1px,transparent 1px),linear-gradient(var(--landing-grid) 1px,transparent 1px),linear-gradient(180deg,#12110f 0%,var(--bg) 52%,#181714 100%);background-size:44px 44px,44px 44px,100% 100%}.landing-header{background:#12110fc2;border-bottom-color:#ffffff14;box-shadow:0 16px 36px #0000003d}.landing-header .btn-small,.landing-badge,.landing-proof li,.landing-card,.landing-steps li,.landing-faq details{background:#22211ee6}.landing-badge,.landing-proof li{color:var(--text)}.landing-step-num{background:var(--landing-deep-2);color:#fff}.landing-hero-visual:before,.landing-access,.landing-final{background:linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(145deg,#12110f,#18342d 60%,#244b42);background-size:34px 34px,34px 34px,100% 100%}.landing-mock-scan{background:#262924}.landing-mock-scan .mono,.landing-mock-stats strong{color:var(--text)}.landing-mock-ok{color:#34d399}}@media (max-width: 940px){.landing-hero{grid-template-columns:1fr;gap:34px;padding:26px 0 58px}.landing-hero-copy{max-width:760px}.landing-hero-visual{min-height:520px}.landing-access{grid-template-columns:1fr;gap:28px}.landing-cta-row .landing-cta{flex:1}}@media (max-width: 620px){.landing main{padding:0 16px}.landing-header{padding:12px 16px;gap:10px}.landing-brand-link{padding:7px 10px}.landing-logo{height:42px;max-width:185px}.landing-header .btn-small{min-height:40px;padding:7px 12px}.landing-hero h1{font-size:clamp(2.2rem,11.5vw,3.15rem);line-height:1.08;letter-spacing:-.022em}.landing-cta-row{flex-direction:column}.landing-proof{flex-direction:column;align-items:stretch}.landing-proof li{justify-content:center}.landing-hero-visual{min-height:auto;padding:110px 12px 16px}.landing-hero-visual:before{border-radius:20px}.landing-hero-visual:after{top:12px;right:12px;bottom:12px;left:12px;border-radius:14px;background-size:210px auto}.landing-visual-brand{top:16px;left:16px;right:16px;min-height:76px;padding:10px}.landing-visual-logo{height:54px;max-width:78%}.landing-visual-brand span{display:none}.landing-mock{border-radius:12px;padding:14px}.landing-mock-head{font-size:.64rem}.landing-mock-scan{grid-template-columns:1fr;align-items:start}.landing-mock-ok{justify-content:flex-start;text-align:left}.landing-mock-stats{grid-template-columns:1fr}.landing-section{padding:40px 0}.landing-section>h2{align-items:flex-start}.landing-section>h2:before{margin-top:.58em;width:28px}.landing-access{margin:28px 0 16px;border-radius:16px;padding:20px}.landing-form{padding:16px}.landing-footer{flex-direction:column;align-items:flex-start;padding:18px 16px}}.modern-loader-container{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%}.modern-loader-container.fullscreen{min-height:100vh;background-color:var(--bg)}.modern-loader{position:relative;width:64px;height:64px;margin-bottom:24px}.loader-box{position:absolute;top:0;right:0;bottom:0;left:0;border:3px solid var(--border);border-radius:16px;overflow:hidden;background:var(--bg);box-shadow:inset 0 2px 10px #0000000d}.loader-box:before{content:"";position:absolute;top:15%;left:20%;right:20%;bottom:15%;background:repeating-linear-gradient(90deg,var(--muted) 0,var(--muted) 2px,transparent 2px,transparent 6px);opacity:.15}.loader-laser{position:absolute;top:0;left:0;right:0;height:2px;background-color:var(--accent);box-shadow:0 0 10px 2px var(--accent);animation:scan 1.5s cubic-bezier(.4,0,.2,1) infinite alternate}@keyframes scan{0%{top:10%;opacity:0}10%{opacity:1}90%{opacity:1}to{top:90%;opacity:0}}.loader-text{font-size:.95rem;color:var(--muted);font-weight:500;letter-spacing:.05em;animation:pulse-text 2s ease-in-out infinite}@keyframes pulse-text{0%,to{opacity:.4}50%{opacity:1}}*{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f8fafc;--surface: #ffffff;--muted-bg: #f2f3f4;--border: #e6e8ea;--text: #0f172a;--muted: #475569;--primary: #334155;--on-primary: #ffffff;--accent: #059669;--on-accent: #ffffff;--accent-soft: #ecfdf5;--warn: #b45309;--warn-soft: #fffbeb;--danger: #dc2626;--danger-soft: #fef2f2;--ring: #334155;--radius: 12px;--shadow: 0 1px 2px rgba(15, 23, 42, .05), 0 4px 12px rgba(15, 23, 42, .05);--font-sans: "Fira Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "Fira Code", ui-monospace, "Cascadia Code", monospace}@media (prefers-color-scheme: dark){:root:not(.theme-light){--bg: #191816;--surface: #22211e;--muted-bg: #2c2b27;--border: #383632;--text: #f1eae4;--muted: #9b958f;--primary: #4a7c72;--on-primary: #191816;--accent: #e28a6c;--on-accent: #22110c;--accent-soft: rgba(226, 138, 108, .14);--warn: #fbbf24;--warn-soft: rgba(251, 191, 36, .12);--danger: #f87171;--danger-soft: rgba(248, 113, 113, .12);--ring: #e28a6c;--shadow: none}}:root.theme-dark{--bg: #191816;--surface: #22211e;--muted-bg: #2c2b27;--border: #383632;--text: #f1eae4;--muted: #9b958f;--primary: #4a7c72;--on-primary: #191816;--accent: #e28a6c;--on-accent: #22110c;--accent-soft: rgba(226, 138, 108, .14);--warn: #fbbf24;--warn-soft: rgba(251, 191, 36, .12);--danger: #f87171;--danger-soft: rgba(248, 113, 113, .12);--ring: #e28a6c;--shadow: none}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}.page{max-width:720px;margin:0 auto;padding:20px 16px 24px;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;gap:20px}h1{font-size:clamp(1.4rem,4vw,1.75rem);font-weight:700;letter-spacing:-.02em}h2{font-size:1.05rem;font-weight:600;letter-spacing:-.01em;margin-bottom:10px}.muted{color:var(--muted)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.notice{background:var(--accent-soft);border:1px solid var(--accent);color:var(--text);padding:12px 16px;border-radius:var(--radius)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:12px 18px;font-size:1rem;font-family:inherit;font-weight:500;cursor:pointer;text-decoration:none;text-align:center;min-height:48px;transition:background-color .2s ease,border-color .2s ease,transform .15s ease}.btn:hover{background:var(--muted-bg)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:600}.btn-primary:hover{background:#047857;border-color:#047857}@media (prefers-color-scheme: dark){.btn-primary:hover{background:#34d399;border-color:#34d399}}.btn-small{padding:6px 12px;min-height:36px;font-size:.875rem}.btn-block{width:100%;margin-bottom:8px;justify-content:flex-start;text-align:left}:is(a,button,select,input,textarea):focus-visible{outline:2px solid var(--ring);outline-offset:2px}.page-header{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.company-list{display:flex;flex-direction:column;gap:12px}.company-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px;display:flex;flex-direction:column;gap:6px;color:var(--text);text-decoration:none;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,transform .15s ease}.company-card:hover{border-color:var(--accent)}.company-card:active{transform:scale(.99)}.company-card strong{font-size:1.15rem;letter-spacing:-.01em}.home-nav{display:flex;gap:12px;margin-top:auto}.home-nav .btn{flex:1}.badge{display:inline-flex;align-items:center;gap:6px;background:var(--muted-bg);color:var(--muted);border-radius:999px;padding:4px 12px;font-size:.8rem;font-weight:500;white-space:nowrap;width:fit-content}.badge-ok{background:var(--accent-soft);color:var(--accent)}.badge-warn{background:var(--warn-soft);color:var(--warn)}.badge-error{background:var(--danger-soft);color:var(--danger)}.badge-btn{border:none;font:inherit;cursor:pointer;transition:filter .15s ease}.badge-btn:hover{filter:brightness(.95)}.multiplier-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.multiplier-chip{justify-content:center;padding:10px 4px}.count-page{gap:16px}.count-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.header-status{display:flex;flex-direction:column;gap:6px;align-items:flex-end}.scan-input{position:fixed;top:-100px;left:-100px;width:10px;height:10px;opacity:0}.count-stat{text-align:center;padding:8px 0 0}.count-stat .stat-number{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:clamp(3.5rem,16vw,6.5rem);font-weight:700;letter-spacing:-.05em;line-height:1;display:block}.count-stat .stat-label{color:var(--muted);font-size:.9rem;text-transform:uppercase;letter-spacing:.08em}.scan-status{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px;text-align:center}.awaiting{display:inline-flex;align-items:center;gap:10px;color:var(--accent);font-weight:500}.pulse-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}.last-scan{margin-top:10px;padding-top:10px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:center;gap:8px;font-size:1.05rem}.last-scan .icon-ok{color:var(--accent);flex-shrink:0}.last-scan .icon-warn{color:var(--warn);flex-shrink:0}.scan-feed{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px}.scan-feed-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;color:var(--muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.06em}.scan-feed-list{list-style:none}.scan-feed-list li{display:flex;align-items:center;gap:10px;padding:12px 2px;border-top:1px solid var(--border)}.scan-feed-list li:first-child{border-top:none}.scan-name{flex:1;display:inline-flex;align-items:center;gap:8px;min-width:0}.scan-name .icon-ok{color:var(--accent);flex-shrink:0}.scan-name .icon-warn{color:var(--warn);flex-shrink:0}.scan-qty{color:var(--muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.count-footer{display:flex;gap:10px;margin-top:auto}.count-footer .btn{flex:1;padding-left:10px;padding-right:10px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;display:flex;align-items:center;justify-content:center;padding:16px;z-index:50;animation:fade-in .18s ease}.modal{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 12px 32px #0f172a2e;padding:24px;width:100%;max-width:440px;display:flex;flex-direction:column;gap:14px;animation:rise-in .2s ease}@keyframes fade-in{0%{opacity:0}}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}}.modal h2{font-size:1.2rem;margin:0}.modal-actions{display:flex;gap:10px;justify-content:flex-end}.modal-actions-stack{flex-direction:column}.modal-actions-stack .btn{width:100%}.ambiguous-list{display:flex;flex-direction:column}label{display:flex;flex-direction:column;gap:6px;font-size:.875rem;font-weight:500;color:var(--muted)}input:not(.scan-input),select,textarea{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:12px;font-size:1rem;font-family:inherit;min-height:48px;transition:border-color .2s ease}textarea{min-height:0}input:not(.scan-input):hover,select:hover,textarea:hover{border-color:var(--muted)}select{cursor:pointer}@keyframes drop-in{0%{opacity:0;transform:translateY(-10px)}}.toasts{position:fixed;bottom:max(16px,env(safe-area-inset-bottom,16px));top:auto;left:50%;transform:translate(-50%);display:flex;flex-direction:column;justify-content:flex-end;gap:8px;z-index:60;width:min(92vw,400px);pointer-events:none}.toast{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;font-size:13px;box-shadow:0 4px 16px #0003;display:flex;align-items:center;gap:6px;animation:drop-in .2s ease}.toast-ok{border-left:4px solid var(--accent)}.toast-ok .toast-icon{color:var(--accent)}.toast-warn{border-left:4px solid var(--warn)}.toast-warn .toast-icon{color:var(--warn)}.toast-info{border-left:4px solid var(--primary)}.toast-info .toast-icon{color:var(--primary)}.toast-icon{flex-shrink:0}.dashboard{display:flex;flex-direction:column;gap:20px}.dashboard section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.table-header{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;margin-bottom:12px}.table-header h2{margin-bottom:0}.table-header .filter-input{min-height:38px;padding:8px 12px;width:100%;max-width:300px;border-radius:8px}.table-wrapper{overflow-x:auto;margin:0 -18px;padding:0 18px}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;padding:10px;border-bottom:1px solid var(--border)}tbody tr:last-child td{border-bottom:none}th{color:var(--muted);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}td.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.neg{color:var(--danger)}.pos{color:var(--accent)}.dashboard-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-bottom:32px}.kpi-card{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:16px;display:flex;flex-direction:column;align-items:flex-start;box-shadow:0 4px 12px #00000008;transition:transform .2s,box-shadow .2s}.kpi-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000000d}.kpi-label{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600;margin-bottom:8px}.kpi-value{font-size:1.5rem;font-family:var(--font-mono);color:var(--fg);line-height:1.1}.kpi-value.text-error{color:var(--danger)}.kpi-value.text-warning{color:var(--warning)}@media (max-width: 768px){.dashboard .table-wrapper{margin:0;padding:0;background:transparent;border:none;overflow:visible}.dashboard table{display:block}.dashboard thead{display:none}.dashboard tbody{display:flex;flex-direction:column;gap:12px}.dashboard tr{display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:12px;box-shadow:0 2px 8px #00000008}.dashboard td{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px dashed var(--border);text-align:right}.dashboard td:last-child{border-bottom:none}.dashboard td:before{content:attr(data-label);font-weight:600;font-size:.8rem;color:var(--muted);text-transform:uppercase;text-align:left;margin-right:16px}}.mapping{background:var(--muted-bg);border:1px solid var(--border);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:12px;margin-top:12px;min-width:0}.mapping-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);-webkit-overflow-scrolling:touch}.mapping-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:.875rem}.mapping-table th,.mapping-table td{padding:12px 16px;border-bottom:1px solid var(--border);border-right:1px solid var(--border);min-width:180px;max-width:360px;white-space:pre-wrap;word-break:break-word;vertical-align:top}.mapping-table th:last-child,.mapping-table td:last-child{border-right:none}.mapping-table tbody tr:last-child td{border-bottom:none}.mapping-table .row-gutter{position:sticky;left:0;background:var(--muted-bg);z-index:10;min-width:95px;max-width:110px;font-weight:600;text-transform:uppercase;font-size:.72rem;letter-spacing:.05em;color:var(--muted);border-right:2px solid var(--border);text-align:center;white-space:nowrap;vertical-align:middle}.mapping-table th.row-gutter{z-index:12;background:var(--muted-bg)}.mapping-table thead th{position:sticky;top:0;background:var(--surface);z-index:8;padding:12px 16px}.mapping-table select{width:100%;padding:8px 12px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:.875rem;font-family:inherit;font-weight:500;cursor:pointer;outline:none;transition:all .15s ease;min-height:38px}.mapping-table select:hover{border-color:var(--muted)}.mapping-table select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.mapping-table select.col-mapped{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}.mapping-table .row-preamble{background:#00000004;cursor:pointer;transition:background-color .15s ease}.mapping-table .row-preamble:hover{background-color:var(--muted-bg)}.mapping-table .row-preamble td:not(.row-gutter){color:var(--muted);font-style:italic}.mapping-table .row-header{background:var(--accent-soft);font-weight:600;color:var(--text)}.mapping-table .row-header td{border-bottom:2px solid var(--accent)}.mapping-table tbody tr:not(.row-preamble):not(.row-header):hover{background-color:#00000004}@media (prefers-color-scheme: dark){:root:not(.theme-light) .mapping-table .row-preamble{background:#ffffff05}:root:not(.theme-light) .mapping-table tbody tr:not(.row-preamble):not(.row-header):hover{background-color:#ffffff05}}:root.theme-dark .mapping-table .row-preamble{background:#ffffff05}:root.theme-dark .mapping-table tbody tr:not(.row-preamble):not(.row-header):hover{background-color:#ffffff05}.batch-list{list-style:none;display:flex;flex-direction:column;gap:10px}.batch-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.page section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.page section label{margin-bottom:10px}.login-page-split{min-height:100vh;min-height:100dvh;width:100%;position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;padding:clamp(18px,3vw,44px);background:linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(180deg,#10100e,#151410 54%,#111917);background-size:44px 44px,44px 44px,100% 100%}.login-page-split:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;background:linear-gradient(116deg,transparent 0 36%,rgba(217,119,84,.18) 36% 36.45%,transparent 36.45% 100%),linear-gradient(153deg,transparent 0 58%,rgba(16,185,129,.11) 58% 58.35%,transparent 58.35% 100%);opacity:.9}.login-page-split:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:url(/assets/stockflow-pattern-BKEgb9sv.png) right 7vw bottom 9vh / 360px auto no-repeat;opacity:.13}.login-auth-topbar{width:min(1120px,100%);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;position:relative;z-index:1}.login-auth-logo{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:10px;background:#fff;border:1px solid rgba(255,255,255,.7);box-shadow:0 18px 44px #00000038}.login-auth-logo img{width:auto;height:clamp(42px,5vw,58px);max-width:min(250px,58vw);display:block;object-fit:contain}.login-auth-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 14px;border-radius:10px;color:#ffffffd6;background:#fff1;border:1px solid rgba(255,255,255,.13);text-decoration:none;font-size:.88rem;font-weight:750}.login-auth-link:hover{background:#ffffff1a;color:#fff}.login-auth-shell{width:min(1120px,100%);margin:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,430px);gap:clamp(34px,7vw,96px);align-items:center;position:relative;z-index:1;padding:clamp(34px,7vh,76px) 0}.login-auth-copy{max-width:620px;display:flex;flex-direction:column;align-items:flex-start}.login-auth-badge{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:7px 13px;border-radius:999px;color:#fff;background:#ffffff0f;border:1px solid rgba(217,119,84,.5);font-size:.82rem;font-weight:800;box-shadow:0 10px 28px #d977541a}.login-auth-badge svg{color:var(--accent)}.login-auth-copy h1{margin-top:24px;max-width:10.8ch;color:#f1eae4;font-size:clamp(2.65rem,6.2vw,5.2rem);line-height:1.02;letter-spacing:-.028em;font-weight:850;text-wrap:balance}.login-auth-copy p{margin-top:22px;max-width:37rem;color:#f1eae4ad;font-size:clamp(1rem,1.55vw,1.14rem);line-height:1.7}.login-auth-proof{margin-top:28px;display:flex;flex-wrap:wrap;gap:10px}.login-auth-proof span{min-height:38px;display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;color:#f1eae4;background:#ffffff12;border:1px solid rgba(255,255,255,.12);font-size:.86rem;font-weight:750}.login-auth-proof svg{color:#34d399}.login-form-panel{display:block;min-height:0;padding:0;background:transparent}.login-form-container{width:100%;max-width:none;display:flex;flex-direction:column;gap:22px;padding:clamp(24px,3.2vw,34px);border-radius:20px;background:#181714e0;border:1px solid rgba(255,255,255,.11);box-shadow:0 28px 80px #00000047;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);animation:login-fade-in .45s cubic-bezier(.16,1,.3,1) forwards}.login-form-header{display:flex;flex-direction:column;gap:7px}.login-form-eyebrow{width:fit-content;color:var(--accent);font-size:.76rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.login-form-title{color:#f1eae4;font-size:clamp(1.85rem,3vw,2.35rem);line-height:1.08;letter-spacing:-.026em;font-weight:850;margin:0}.login-form-subtitle{color:#f1eae494;font-size:.95rem;line-height:1.55;margin:0}.login-card-form{display:flex;flex-direction:column;gap:17px}.input-group{display:flex;flex-direction:column;gap:7px}.input-group label{color:#f1eae4;font-size:.84rem;font-weight:800}.input-field-wrapper{position:relative;display:flex;align-items:center}.input-field-icon{position:absolute;left:14px;color:#8b8580;pointer-events:none;transition:color .2s ease,transform .2s ease}.input-field-wrapper input{width:100%;min-height:52px;padding:12px 14px 12px 44px!important;border-radius:10px;background:#fff;color:#191919;border:1.5px solid rgba(255,255,255,.18);font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.input-field-wrapper input::placeholder{color:#8b8580;opacity:.58}.input-field-wrapper input:hover{border-color:#d9775499}.input-field-wrapper input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #d9775433;background:#fff;outline:none}.input-field-wrapper:focus-within .input-field-icon{color:var(--accent);transform:scale(1.05)}.btn-login-submit{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:52px;border-radius:10px;border:1px solid var(--accent);background:var(--accent);color:var(--on-accent);font-size:.96rem;font-weight:850;cursor:pointer;box-shadow:0 16px 34px #d977542e;transition:transform .15s ease,filter .2s ease,opacity .2s ease}.btn-login-submit:hover:not(:disabled){filter:brightness(.96)}.btn-login-submit:active:not(:disabled){transform:translateY(1px)}.btn-login-submit:disabled{opacity:.48;cursor:not-allowed;box-shadow:none;transform:none;background:#ffffff14;border-color:#ffffff1a;color:#f1eae48c}.login-form-support{margin:-2px 0 0;color:#f1eae480;font-size:.82rem;text-align:center}.login-remember{display:flex;flex-direction:row;align-items:flex-start;gap:11px;cursor:pointer;-webkit-user-select:none;user-select:none;margin-top:-4px}.login-remember input[type=checkbox]{width:19px;height:19px;min-height:0;margin-top:2px;flex-shrink:0;cursor:pointer;accent-color:#059669}.login-remember input[type=checkbox]:disabled{cursor:not-allowed}.login-remember span{display:flex;flex-direction:column;gap:1px;min-width:0}.login-remember strong{color:#f1eae4;font-size:.86rem;font-weight:600}.login-remember small{color:#f1eae48c;font-size:.76rem;line-height:1.35}.login-status-banner{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:10px;font-size:.85rem;line-height:1.45;animation:banner-slide-down .25s cubic-bezier(.16,1,.3,1) forwards}@media (max-width: 880px){.login-page-split{padding:16px}.login-auth-shell{grid-template-columns:1fr;gap:30px;padding:36px 0 12px}.login-auth-copy{align-items:center;text-align:center;margin:0 auto}.login-auth-copy h1{max-width:13ch;font-size:clamp(2.25rem,10vw,3.35rem)}.login-auth-proof{justify-content:center}.login-form-panel{width:min(430px,100%);margin:0 auto}}@media (max-width: 520px){.login-auth-topbar{align-items:flex-start}.login-auth-link{min-height:38px;padding:7px 11px;font-size:.8rem}.login-auth-logo{padding:7px 9px}.login-auth-logo img{height:40px;max-width:178px}.login-auth-copy h1{margin-top:18px;font-size:clamp(2.05rem,12vw,2.85rem)}.login-auth-copy p{margin-top:16px}.login-form-container{padding:20px;border-radius:16px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.layout-container{display:flex;min-height:100vh;min-height:100dvh;width:100%;background:var(--bg)}.sidebar{width:240px;background:var(--muted-bg);border-right:1.5px solid var(--border);display:flex;flex-direction:column;padding:20px 12px;position:relative;transition:width .28s cubic-bezier(.16,1,.3,1),padding .28s ease;flex-shrink:0;z-index:40;gap:0}.sidebar-collapsed{width:68px;padding:20px 8px}.layout-content{flex:1;min-width:0;overflow-y:auto;min-height:100vh;min-height:100dvh}.sidebar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;position:relative;width:100%;min-height:40px}.sidebar-brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.1rem;color:var(--text);overflow:hidden;letter-spacing:-.02em;min-width:0}.brand-logo-wrapper{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:transparent;flex-shrink:0;overflow:hidden}.brand-logo-img{width:100%;height:100%;display:block;object-fit:cover}.brand-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:fade-in-quick .2s ease-in-out forwards}@keyframes fade-in-quick{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.sidebar-toggle-btn{position:absolute;right:-24px;top:8px;z-index:50;width:20px;height:20px;border-radius:50%;background:var(--surface);border:1.5px solid var(--border);color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);transition:transform .28s cubic-bezier(.16,1,.3,1),right .28s ease;outline:none}.sidebar-toggle-btn:hover{color:var(--text);border-color:var(--muted)}.sidebar-toggle-btn .toggle-icon{transition:transform .28s cubic-bezier(.16,1,.3,1)}.sidebar-collapsed .sidebar-toggle-btn{right:-18px}.sidebar-collapsed .sidebar-toggle-btn .toggle-icon{transform:rotate(180deg)}.sidebar-nav{display:flex;flex-direction:column;gap:4px;flex:1}.sidebar-nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;color:var(--muted);text-decoration:none;font-size:.92rem;font-weight:500;transition:background-color .18s ease,color .18s ease;cursor:pointer;position:relative;outline:none;white-space:nowrap;overflow:hidden}.sidebar-nav-item:hover{background:#0000000a;color:var(--text)}.theme-dark .sidebar-nav-item:hover,:root:not(.theme-light) .sidebar-nav-item:hover{background:#ffffff0f}.sidebar-nav-item.active{background:var(--surface);color:var(--text);font-weight:650;box-shadow:0 1px 3px #0000000a}.nav-item-icon{flex-shrink:0;color:inherit}.nav-item-label{white-space:nowrap;animation:fade-in-quick .2s ease-in-out forwards;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.active-dot{position:absolute;right:10px;width:5px;height:5px;border-radius:50%;background:var(--accent);flex-shrink:0}.sidebar-collapsed .sidebar-nav-item{justify-content:center;padding:10px 0}.sidebar-footer{display:flex;flex-direction:column;gap:8px;border-top:1.5px solid var(--border);padding-top:14px;margin-top:auto}.sidebar-footer-btn{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border:none;background:transparent;border-radius:8px;color:var(--muted);cursor:pointer;font-size:.88rem;font-weight:500;text-align:left;transition:background-color .18s ease,color .18s ease;outline:none;white-space:nowrap;overflow:hidden}.sidebar-footer-btn:hover{background:#0000000a;color:var(--text)}.theme-dark .sidebar-footer-btn:hover,:root:not(.theme-light) .sidebar-footer-btn:hover{background:#ffffff0d}.footer-btn-label{white-space:nowrap;animation:fade-in-quick .2s ease-in-out forwards;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.sidebar-collapsed .sidebar-footer-btn{justify-content:center;padding:9px 0}.sidebar-profile-card{display:flex;align-items:center;gap:9px;padding:8px;border-radius:12px;background:var(--surface);border:1.5px solid var(--border);overflow:hidden;transition:padding .28s ease,border-color .28s ease}.profile-avatar{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,var(--accent) 0%,var(--primary) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:700;flex-shrink:0;letter-spacing:.02em}.profile-info{display:flex;flex-direction:column;min-width:0;flex:1;animation:fade-in-quick .22s ease-in-out forwards}.profile-name{font-size:.8rem;font-weight:650;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.25}.profile-role{font-size:.68rem;color:var(--muted);line-height:1.2}.btn-logout-icon{background:transparent;border:none;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:5px;border-radius:6px;transition:background-color .18s ease,color .18s ease;outline:none;flex-shrink:0}.btn-logout-icon:hover{background:var(--danger-soft);color:var(--danger)}.sidebar-collapsed .sidebar-profile-card{justify-content:center;padding:6px 0;border-color:transparent;background:transparent}.sidebar-collapsed .sidebar-profile-card .profile-avatar{width:36px;height:36px;font-size:.9rem}.logout-collapsed-btn{color:var(--muted)}.logout-collapsed-btn:hover{background:var(--danger-soft)!important;color:var(--danger)!important}.tooltip-wrapper{position:relative;display:inline-flex;align-items:center;justify-content:center}.tooltip-content{position:absolute;z-index:100;pointer-events:none;display:flex;flex-direction:column;align-items:center}.tooltip-top{bottom:100%;left:50%;transform:translate(-50%,-8px);padding-bottom:8px;--tooltip-start: translate(-50%, 0px);--tooltip-end: translate(-50%, -8px);animation:tooltip-fade-in .14s cubic-bezier(.16,1,.3,1) forwards}.tooltip-bottom{top:100%;left:50%;transform:translate(-50%,8px);padding-top:8px;--tooltip-start: translate(-50%, 0px);--tooltip-end: translate(-50%, 8px);animation:tooltip-fade-in .14s cubic-bezier(.16,1,.3,1) forwards}.tooltip-left{right:100%;top:50%;transform:translate(-8px,-50%);padding-right:8px;--tooltip-start: translate(0px, -50%);--tooltip-end: translate(-8px, -50%);animation:tooltip-fade-in .14s cubic-bezier(.16,1,.3,1) forwards}.tooltip-right{left:100%;top:50%;transform:translate(8px,-50%);padding-left:8px;--tooltip-start: translate(0px, -50%);--tooltip-end: translate(8px, -50%);animation:tooltip-fade-in .14s cubic-bezier(.16,1,.3,1) forwards}@keyframes tooltip-fade-in{0%{opacity:0;transform:var(--tooltip-start)}to{opacity:1;transform:var(--tooltip-end)}}.tooltip-inner{background:#0f172a;border:1px solid rgba(255,255,255,.12);color:#f1f5f9;padding:9px 12px;border-radius:8px;box-shadow:0 10px 20px -5px #00000047;min-width:140px;max-width:220px;text-align:left}.tooltip-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}.tooltip-title{font-size:.8rem;font-weight:700;color:#fff;letter-spacing:-.01em}.tooltip-body{font-size:.75rem;font-weight:400;color:#94a3b8;line-height:1.35;margin:0}.tooltip-arrow{position:absolute;width:0;height:0;border-style:solid;pointer-events:none}.tooltip-top .tooltip-arrow{bottom:2px;left:50%;transform:translate(-50%);border-width:6px 6px 0;border-color:#0f172a transparent transparent}.tooltip-bottom .tooltip-arrow{top:2px;left:50%;transform:translate(-50%);border-width:0 6px 6px;border-color:transparent transparent #0f172a}.tooltip-left .tooltip-arrow{right:2px;top:50%;transform:translateY(-50%);border-width:6px 0 6px 6px;border-color:transparent transparent transparent #0f172a}.tooltip-right .tooltip-arrow{left:2px;top:50%;transform:translateY(-50%);border-width:6px 6px 6px 0;border-color:transparent #0f172a transparent transparent}.mobile-dock{display:none}@media (max-width: 768px){.layout-container{--mobile-dock-height: 70px;--mobile-dock-bottom: calc(10px + env(safe-area-inset-bottom, 0px)) ;--mobile-dock-clearance: calc(var(--mobile-dock-height) + var(--mobile-dock-bottom) + 12px)}.sidebar{display:none}.layout-content{padding-bottom:var(--mobile-dock-clearance)}.mobile-dock{position:fixed;bottom:var(--mobile-dock-bottom);left:50%;transform:translate(-50%);z-index:45;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:center;gap:2px;width:min(376px,calc(100vw - 20px));min-height:var(--mobile-dock-height);padding:6px;border-radius:24px;background:#ffffffe0;background:color-mix(in srgb,var(--surface) 82%,transparent);-webkit-backdrop-filter:blur(18px) saturate(1.5);backdrop-filter:blur(18px) saturate(1.5);border:1px solid var(--border);box-shadow:0 12px 32px #19191929,0 2px 8px #19191914}.theme-dark .mobile-dock,:root:not(.theme-light) .mobile-dock{background:#22211edb;background:color-mix(in srgb,var(--surface) 86%,transparent);box-shadow:0 14px 34px #00000057,0 2px 8px #00000038}.mobile-dock-item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:100%;min-width:0;min-height:58px;padding:7px 4px 10px;border:none;border-radius:18px;background:transparent;color:var(--muted);font-family:inherit;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .18s ease,color .18s ease,transform .12s ease}.mobile-dock-item svg{flex-shrink:0}.mobile-dock-item:hover,.mobile-dock-item:focus-visible{color:var(--text);background:#0f172a0d;outline:none}.theme-dark .mobile-dock-item:hover,.theme-dark .mobile-dock-item:focus-visible,:root:not(.theme-light) .mobile-dock-item:hover,:root:not(.theme-light) .mobile-dock-item:focus-visible{background:#ffffff12}.mobile-dock-item:active{transform:scale(.92)}.mobile-dock-item.active{color:var(--accent);background:var(--accent-soft)}.mobile-dock-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:.62rem;font-weight:650;letter-spacing:0;line-height:1;white-space:nowrap}.mobile-dock-indicator{position:absolute;bottom:3px;width:4px;height:4px;border-radius:50%;background:transparent;transition:background-color .18s ease}.mobile-dock-item.active .mobile-dock-indicator{background:var(--accent)}.mobile-dock-avatar{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.58rem;font-weight:700;background:var(--accent-soft);color:var(--accent);transition:box-shadow .18s ease,transform .18s ease}.mobile-dock-profile.active .mobile-dock-avatar{box-shadow:0 0 0 2px var(--accent);transform:scale(1.06)}.mobile-dock-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:46;background:transparent}.mobile-dock-popover{position:fixed;bottom:calc(var(--mobile-dock-bottom) + var(--mobile-dock-height) + 10px);left:50%;transform:translate(-50%);z-index:47;width:min(230px,calc(100vw - 32px));padding:8px;border-radius:20px;background:#ffffffeb;background:color-mix(in srgb,var(--surface) 90%,transparent);-webkit-backdrop-filter:blur(18px) saturate(1.5);backdrop-filter:blur(18px) saturate(1.5);border:1px solid var(--border);box-shadow:0 12px 32px #1919192e,0 2px 8px #19191914;animation:mobileDockPopoverIn .16s ease}.theme-dark .mobile-dock-popover,:root:not(.theme-light) .mobile-dock-popover{background:#22211eeb;background:color-mix(in srgb,var(--surface) 90%,transparent);box-shadow:0 14px 34px #0000005c,0 2px 8px #0000003d}.mobile-dock-popover-header{display:flex;align-items:center;gap:10px;padding:8px 10px 10px;border-bottom:1px solid var(--border);margin-bottom:6px}.popover-avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;background:var(--accent-soft);color:var(--accent);flex-shrink:0}.popover-user{display:flex;flex-direction:column;min-width:0}.popover-name{font-size:.82rem;font-weight:650;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.popover-role{font-size:.68rem;color:var(--muted)}.mobile-dock-popover-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border:none;border-radius:12px;background:transparent;color:var(--text);font-family:inherit;font-size:.82rem;font-weight:550;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .15s ease}.mobile-dock-popover-item:hover,.mobile-dock-popover-item:active{background:#0f172a0f}.theme-dark .mobile-dock-popover-item:hover,.theme-dark .mobile-dock-popover-item:active,:root:not(.theme-light) .mobile-dock-popover-item:hover,:root:not(.theme-light) .mobile-dock-popover-item:active{background:#ffffff14}.mobile-dock-popover-item.danger{color:#e5484d}@keyframes mobileDockPopoverIn{0%{opacity:0;transform:translate(-50%,8px) scale(.96)}to{opacity:1;transform:translate(-50%) scale(1)}}}@media (max-width: 360px){.layout-container{--mobile-dock-height: 68px;--mobile-dock-bottom: calc(8px + env(safe-area-inset-bottom, 0px)) }.mobile-dock{width:calc(100vw - 16px);padding:5px;border-radius:22px}.mobile-dock-item{min-height:56px;padding-left:2px;padding-right:2px}.mobile-dock-label{font-size:.58rem}}.btn-cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--accent);color:var(--on-accent);border:none;border-radius:var(--radius);padding:14px 22px;font-size:1rem;font-family:inherit;font-weight:700;cursor:pointer;text-decoration:none;min-height:52px;letter-spacing:-.01em;transition:background-color .2s ease,transform .15s ease,box-shadow .2s ease;box-shadow:0 4px 18px #05966938}.btn-cta:hover{filter:brightness(1.08);box-shadow:0 6px 24px #0596694d;transform:translateY(-1px)}.btn-cta:active{transform:scale(.98) translateY(0)}.btn-cta:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-secondary{background:var(--muted-bg);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border)}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger);font-weight:600}.btn-danger:hover{background:#b91c1c;border-color:#b91c1c}.glass-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:28px 24px;display:flex;flex-direction:column;gap:16px}.empty-hero{align-items:center;text-align:center;padding:48px 32px;border-style:dashed}.empty-hero h2{font-size:1.35rem;font-weight:750;letter-spacing:-.025em;color:var(--text);margin-bottom:0}.empty-hero ol{list-style:decimal inside;display:flex;flex-direction:column;gap:10px;color:var(--muted);font-size:.95rem;line-height:1.55;text-align:left;max-width:380px;padding:0}.empty-hero .btn-cta{margin-top:8px;width:fit-content}.empty-hero .btn{font-size:.88rem;padding:8px 14px;min-height:38px}.app-error-page{justify-content:center}.app-error-card{max-width:520px}.import-summary-icon{display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:14px;background:var(--accent-soft);color:var(--accent);flex-shrink:0;align-self:center}.page-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.page-header-row h1{margin-bottom:0}.page-header-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;min-width:0}@media (max-width: 520px){.page-header>.page-header-row{align-items:flex-start;flex-wrap:wrap}.page-header>.page-header-row .page-header-actions{width:100%;justify-content:flex-start}.page-header-actions .btn{flex:1 1 136px;min-width:0}}.company-card-body{display:flex;flex-direction:column;gap:8px;flex:1}.company-card-body strong{font-size:1.1rem;font-weight:750;color:var(--text);letter-spacing:-.015em}.company-card-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:4px;padding-top:14px;border-top:1px solid var(--border)}.company-card-actions .btn-cta{flex:1;min-width:160px;padding:11px 16px;min-height:44px;font-size:.93rem}.company-card-actions .btn{padding:10px 16px;min-height:44px;font-size:.93rem}.status-banner{display:flex;align-items:flex-start;gap:12px;padding:14px 18px;border-radius:var(--radius);border:1px solid;font-size:.9rem;line-height:1.55;animation:banner-slide-down .25s cubic-bezier(.16,1,.3,1) forwards}.banner-info{background:var(--accent-soft);border-color:var(--accent);color:var(--text)}.banner-warn{background:var(--warn-soft);border-color:var(--warn);color:var(--text)}.banner-error{background:var(--danger-soft);border-color:var(--danger);color:var(--text)}.banner-icon{flex-shrink:0;color:var(--accent);margin-top:1px}.banner-warn .banner-icon{color:var(--warn)}.banner-error .banner-icon{color:var(--danger)}.banner-text{flex:1;min-width:0}.status-banner-compact{padding:7px 12px;gap:8px;font-size:.78rem;line-height:1.4;border-style:dashed}@keyframes banner-slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.spinner-loader{display:inline-block;width:18px;height:18px;border:2.5px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.page-wide{max-width:960px;margin:0 auto;padding:24px 24px 40px;min-height:100%;display:flex;flex-direction:column;gap:20px}@media (min-width: 1024px){.page-wide{max-width:1440px;width:95%}}.import-setup{display:flex;flex-direction:column;gap:16px;max-width:480px}@media (min-width: 768px){.import-setup{max-width:100%}.import-setup>label{max-width:480px;width:100%}.import-log-console{max-height:400px}}.import-progress-container{display:flex;flex-direction:column;gap:10px;padding:16px 0}.import-progress-header{display:flex;align-items:center;justify-content:space-between}.progress-title{font-size:.9rem;font-weight:600;color:var(--text)}.progress-percentage{font-family:var(--font-mono);font-size:.88rem;color:var(--accent);font-weight:700}.progress-bar-track{height:8px;border-radius:999px;background:var(--muted-bg);overflow:hidden;border:1px solid var(--border)}.progress-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 75%,#10b981 25%));transition:width .3s ease}.progress-subtitle{font-size:.82rem;color:var(--muted)}.import-log-console-wrapper{margin-top:8px;border-radius:10px;overflow:hidden;border:1px solid var(--border)}.log-console-header{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;background:var(--muted-bg);border-bottom:1px solid var(--border)}.log-console-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.log-console-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:pulse 1.4s ease-in-out infinite}.import-log-console{max-height:200px;overflow-y:auto;padding:12px 14px;background:#0d1117;display:flex;flex-direction:column;gap:4px;font-family:var(--font-mono);font-size:.75rem}.log-line{display:flex;gap:8px;line-height:1.4}.log-timestamp{color:#6e7681;flex-shrink:0}.log-message{color:#e6edf3}.custom-select-wrapper{position:relative;width:100%}.custom-select-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:12px 14px;font-size:1rem;font-family:inherit;min-height:48px;cursor:pointer;text-align:left;transition:border-color .2s ease,box-shadow .2s ease;outline:none}.custom-select-trigger:hover{border-color:var(--muted)}.custom-select-trigger:focus-visible{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in srgb,var(--ring) 22%,transparent);outline:none}.custom-select-wrapper.open .custom-select-trigger{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in srgb,var(--ring) 18%,transparent)}.custom-select-trigger:disabled{opacity:.5;cursor:not-allowed}.custom-select-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-select-value.placeholder{color:var(--muted)}.custom-select-chevron{flex-shrink:0;color:var(--muted);transform:rotate(-90deg);transition:transform .25s cubic-bezier(.16,1,.3,1)}.custom-select-chevron.rotated{transform:rotate(90deg)}.custom-select-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:200;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 4px 6px -1px #0000001a,0 16px 40px -4px #0003;overflow:hidden;animation:select-drop-in .16s cubic-bezier(.16,1,.3,1) forwards}@keyframes select-drop-in{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.custom-select-option{padding:11px 14px;font-size:.95rem;cursor:pointer;transition:background-color .12s ease,color .12s ease;color:var(--text);border-bottom:1px solid var(--border)}.custom-select-option:last-child{border-bottom:none}.custom-select-option:hover{background:var(--accent-soft)}.custom-select-option.active{background:var(--accent);color:var(--on-accent);font-weight:650}.custom-select-option.active:hover{filter:brightness(.95)}.custom-select-option:first-child{color:var(--muted);font-size:.9rem}.custom-select-option:first-child.active{color:var(--on-accent);font-size:.95rem}.camera-scan-section{display:flex;flex-direction:column;align-items:center;gap:12px;margin:4px 0 8px}.camera-toggle{display:inline-flex;align-items:center;gap:8px}.camera-scan{position:relative;width:100%;max-width:560px;aspect-ratio:4 / 3;border-radius:16px;overflow:hidden;background:#000;border:1px solid var(--border);isolation:isolate;z-index:0}.camera-scan-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.camera-scan-hud{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;touch-action:manipulation;cursor:pointer}.camera-scan-hint{position:absolute;left:50%;bottom:10px;transform:translate(-50%);max-width:calc(100% - 24px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:6px 12px;border-radius:999px;background:#0000008c;color:#fff;font-size:.8rem;pointer-events:none}.camera-scan-close{position:absolute;top:10px;right:10px;width:36px;height:36px;display:grid;place-items:center;border:none;border-radius:999px;background:#0000008c;color:#fff;cursor:pointer}.camera-scan-close:hover{background:#000000bf}.camera-scan-debug{position:absolute;bottom:20px;right:20px;z-index:10}.camera-scan-debug-fab{width:42px;height:42px;border-radius:999px;border:none;background:#000000a6;color:#fff;display:grid;place-items:center;box-shadow:0 4px 12px #0000004d;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.camera-scan-debug-panel{background:#111827d9;color:#fff;padding:12px;border-radius:12px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);width:220px;display:flex;flex-direction:column;gap:12px;box-shadow:0 8px 24px #0006;border:1px solid rgba(255,255,255,.1)}.debug-panel-header{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af}.debug-panel-header button{background:none;border:none;color:#9ca3af;padding:2px;cursor:pointer;display:grid;place-items:center}.camera-scan-debug-panel input[type=range]{width:100%;accent-color:#22c55e}.debug-test-buttons{display:flex;gap:6px}.debug-test-buttons button{flex:1;padding:6px;border:none;border-radius:6px;font-size:.75rem;font-weight:600;background:#ffffff1a;color:#fff;cursor:pointer}.debug-test-buttons button:hover{background:#fff3}.debug-qr-toggle{display:flex;align-items:center;gap:8px;font-size:.75rem;color:#d1d5db;line-height:1.35;border-top:1px solid rgba(255,255,255,.1);padding-top:10px;cursor:pointer}.debug-qr-toggle input{flex-shrink:0;accent-color:#22c55e}.camera-scan-error{position:absolute;top:0;right:0;bottom:0;left:0;padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;color:#fff}.camera-scan-error p{margin:0;font-size:.95rem}.camera-scan-error-actions{display:flex;gap:10px}.scan-status-wrapper{display:flex;flex-direction:column;align-items:center;gap:12px}.scan-box-anim{position:relative;width:100%;max-width:420px;display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 16px 14px;border-radius:16px;border:1.5px solid var(--border);background:var(--surface);transition:border-color .2s ease,box-shadow .2s ease}.scan-box-anim-success{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.scan-box-anim-error{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}.box-pile-viewport{position:relative;width:170px;height:118px}.box-pile-stack{position:absolute;top:0;right:0;bottom:16px;left:0}.stacked-box-item{position:absolute;left:50%;width:60px;height:45px;transform:translate(calc(-50% + var(--box-x-offset, 0px))) rotate(var(--box-rotation, 0deg));animation:box-drop .3s cubic-bezier(.16,1,.3,1)}@keyframes box-drop{0%{opacity:0;transform:translate(calc(-50% + var(--box-x-offset, 0px))) rotate(var(--box-rotation, 0deg)) translateY(-18px)}}.pile-box-svg{width:60px;height:45px;display:block}.pallet-base-platform{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:130px}.pallet-top-board{height:8px;border-radius:3px;background:var(--border)}.pallet-blocks{display:flex;justify-content:space-between;padding:0 10px}.pallet-block{width:16px;height:8px;border-radius:0 0 2px 2px;background:var(--muted);opacity:.45}.laser-beam-container{position:absolute;top:18px;left:24px;right:24px;height:118px;overflow:hidden;pointer-events:none}.laser-line-element{position:absolute;left:4%;right:4%;height:2px;opacity:.65;background:linear-gradient(90deg,transparent,var(--danger) 25%,var(--danger) 75%,transparent);animation:laser-sweep 2.6s ease-in-out infinite}@keyframes laser-sweep{0%,to{top:6%}50%{top:90%}}.scan-status-text{min-height:24px;font-size:.95rem;display:flex;align-items:center;justify-content:center;gap:8px;text-align:center}.scan-status-text .text-success{color:var(--accent);font-weight:600}.scan-status-text .text-error{color:var(--danger);font-weight:600}.scan-status-text .text-warning{color:var(--warn);font-weight:600;display:inline-flex;align-items:center;gap:6px}.scan-status-text .text-muted{color:var(--muted);display:inline-flex;align-items:center;gap:8px}.pulse-text{animation:pulse 1.2s ease-in-out infinite}.last-scan-pill{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface);font-size:.9rem}.camera-last-scan-content{display:inline-flex;align-items:center;gap:6px;min-width:0;flex:1}.camera-undo-btn{flex-shrink:0;min-height:34px;padding:6px 10px}.last-scan-pill .icon-ok{color:var(--accent);flex-shrink:0}.last-scan-pill .icon-warn{color:var(--warn);flex-shrink:0}.last-scan-pill .warning-text{color:var(--warn)}.name-trunc{max-width:26ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-problems{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.quick-problems-label{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:.85rem;font-weight:600}.chip-problem{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 13px;border-radius:999px;border:1.5px solid var(--border);background:var(--surface);color:var(--text);font-size:.85rem;font-weight:500;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.chip-problem:hover{border-color:var(--warn)}.chip-problem-done{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.count-footer .btn-pos{flex:1}.btn-pos{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:10px 16px;border-radius:12px;border:1.5px solid var(--border);background:var(--surface);color:var(--text);font-size:.95rem;font-weight:600;cursor:pointer;transition:border-color .15s ease,filter .15s ease,background-color .15s ease}.btn-pos-warning:hover{border-color:var(--warn);color:var(--warn)}.btn-pos-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-pos-primary:hover{filter:brightness(.95)}@media (max-width: 640px){.page{padding:12px 12px 16px;gap:14px}.empty-hero{padding:30px 22px;gap:14px}.empty-hero ol{gap:8px;font-size:.9rem;line-height:1.48}.empty-hero .btn-cta{width:100%}.empty-hero .btn.btn-small{display:none}.camera-toggle{width:100%;min-height:48px;justify-content:center}.camera-scan{max-width:none;aspect-ratio:3 / 4;max-height:62dvh;border-radius:14px}.camera-scan-hint{white-space:normal;text-align:center;line-height:1.35;font-size:.78rem;padding:6px 14px;border-radius:14px}.camera-scan-close{width:42px;height:42px}.count-stat{padding:0}.count-stat .stat-number{font-size:clamp(2.75rem,14vw,4rem)}.scan-box-anim{padding:14px 12px 12px}.box-pile-viewport,.laser-beam-container{height:100px}.name-trunc{max-width:18ch}.quick-problems{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.quick-problems::-webkit-scrollbar{display:none}.quick-problems-label{flex-shrink:0}.chip-problem{flex-shrink:0;min-height:44px}.count-footer{position:sticky;bottom:0;z-index:40;margin:0 -12px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--border)}.count-page:has(.camera-scan) .count-footer{position:static;margin:0;padding:0;border-top:none;background:transparent}.btn-pos{min-height:54px}.modal{padding:18px;border-radius:14px;max-height:86dvh;overflow-y:auto}.modal-actions .btn,.modal-actions-stack .btn{min-height:46px}}@media (max-width: 640px){.count-page--camera{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;height:100dvh;overflow:hidden;background:var(--bg);padding:8px 12px calc(8px + env(safe-area-inset-bottom));gap:8px}.count-page--camera .count-header{align-items:center}.count-page--camera .count-header h1{font-size:1.02rem}.count-page--camera .count-header .muted{display:none}.count-page--camera .header-status{flex-direction:row;align-items:center}.count-page--camera .status-banner,.count-page--camera .scan-feed,.count-page--camera .camera-toggle{display:none}.count-page--camera .camera-scan-section{flex:1;min-height:0;width:100%;margin:0}.count-page--camera .camera-scan{flex:1;min-height:0;height:100%;width:100%;max-width:none;max-height:none;aspect-ratio:auto}.count-page--camera .count-stat{display:flex;align-items:baseline;justify-content:center;gap:8px;padding:0;flex-shrink:0}.count-page--camera .count-stat .stat-number{font-size:2rem}.count-page--camera .count-stat .stat-label{font-size:.72rem}.camera-last-scan{margin:0 auto;flex-shrink:0;max-width:100%;width:100%;justify-content:flex-start;border-radius:14px;padding:7px 8px 7px 12px}.camera-last-scan .name-trunc{max-width:32vw}.camera-undo-btn{min-height:38px}.count-page--camera .camera-scan-debug{right:auto;left:16px;bottom:16px}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.syncing-icon{animation:spin 1.2s linear infinite}.speed-dial{position:fixed;bottom:24px;right:24px;z-index:1000;display:flex;flex-direction:column;align-items:flex-end;gap:12px}.speed-dial-actions{display:flex;flex-direction:column;align-items:flex-end;gap:12px;opacity:0;pointer-events:none;transform:translateY(20px) scale(.9);transition:opacity .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}.speed-dial.open .speed-dial-actions{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.speed-dial-action{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:30px;padding:8px 16px 8px 20px;display:flex;align-items:center;gap:12px;box-shadow:0 4px 12px #0000001a;cursor:pointer;font-family:inherit;font-size:.95rem;font-weight:600;transition:background-color .2s,transform .2s,opacity .3s;opacity:0;transform:translate(10px)}.speed-dial.open .speed-dial-action{opacity:1;transform:translate(0);transition-delay:calc(var(--delay) * .05s)}.speed-dial-action:active{transform:scale(.95)!important}.speed-dial-action.success{color:#10b981}.speed-dial-action.warning{color:#f59e0b}.speed-dial-action.error{color:#ef4444}.speed-dial-label{color:var(--text)}.speed-dial-icon-btn{display:flex;align-items:center;justify-content:center}.speed-dial-fab{width:56px;height:56px;border-radius:50%;background:var(--accent);color:#fff;border:none;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #d9775466;cursor:pointer;transition:transform .3s cubic-bezier(.4,0,.2,1),background-color .2s;z-index:10}.speed-dial-fab:active{transform:scale(.92)}.speed-dial.open .speed-dial-fab{background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:0 4px 12px #00000026;transform:rotate(90deg)}.speed-dial.open .speed-dial-fab:active{transform:rotate(90deg) scale(.92)}
