:root{--bg:#f5f7fa;--panel:#fff;--panel-2:#eef2f7;--line:#0a17271a;--text:#0a1727;--muted:#5c6b80;--accent:#0f9d68;--accent-2:#2f7dd6;--danger:#d1414f;--best:#0f9d68;--shadow:0 12px 32px #0a172714;--radius:16px}@media (prefers-color-scheme:dark){:root{--bg:#07111f;--panel:#0d1b2e;--panel-2:#10233b;--line:#ffffff1a;--text:#f7f9fc;--muted:#93a4ba;--accent:#5ee7b3;--accent-2:#42b8ff;--danger:#ff7b88;--best:#5ee7b3;--shadow:0 24px 60px #00000047}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{color:var(--text);background:var(--bg);-webkit-tap-highlight-color:transparent;min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}#root{flex-direction:column;min-height:100vh;display:flex}.app-main{flex:1;width:min(1080px,100% - 32px);margin:0 auto;padding-bottom:100px}.visually-hidden{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:800}.muted{color:var(--muted)}.btn{border:1px solid var(--line);background:var(--panel-2);border-radius:12px;padding:12px 18px;font-size:15px;font-weight:600}.btn-primary{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#06111d;border:none}.btn-danger{color:var(--danger)}.btn:disabled{opacity:.5;cursor:not-allowed}.page-narrow{max-width:720px;margin:0 auto}.spinner{border:3px solid var(--line);border-top-color:var(--accent-2);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=720px){.app-main{width:calc(100% - 24px);padding-bottom:120px}}.modal-backdrop{z-index:50;background:#00000080;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{background:var(--panel);border:1px solid var(--line);border-radius:20px;flex-direction:column;gap:14px;width:min(440px,100%);max-height:85vh;padding:24px;display:flex;overflow:auto}.modal-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.modal-top h3{margin:6px 0 0}.icon-btn{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;flex-shrink:0;width:32px;height:32px;font-size:18px;line-height:1}.area-list{flex-wrap:wrap;gap:8px;display:flex}.area-chip{border:1px solid var(--line);background:var(--panel-2);border-radius:999px;padding:8px 14px;font-size:13px}.area-chip.active{background:var(--accent);color:#06111d;border-color:#0000;font-weight:700}.field{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.field input{border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:12px;padding:12px 14px;font-size:15px}.current-location-row{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;justify-content:space-between;align-items:center;padding:10px 14px;font-size:14px;display:flex}.use-location-btn{width:100%}.manual-location-form{flex-direction:column;gap:10px;display:flex}.manual-location-form button{align-self:flex-start}.location-error{color:var(--danger);font-size:13px}.field-label{color:var(--muted);margin-bottom:8px;font-size:13px;display:block}.radius-section{border-top:1px solid var(--line);padding-top:14px}.radius-chips{flex-wrap:wrap;gap:8px;display:flex}.radius-chip{border:1px solid var(--line);background:var(--panel-2);border-radius:999px;padding:8px 14px;font-size:13px}.radius-chip.active{background:var(--accent);color:#06111d;border-color:#0000;font-weight:700}.topbar{justify-content:space-between;align-items:center;gap:12px;width:min(1080px,100% - 32px);margin:0 auto;padding:18px 0;display:flex}.brand{background:#07111f;border-radius:12px;align-items:center;gap:12px;padding:8px 12px;text-decoration:none;display:flex}.brand-logo-long{width:auto;height:52px;display:block}.brand-logo-icon{width:auto;height:44px;display:none}.top-actions{align-items:center;gap:8px;display:flex}.ghost-btn{background:var(--panel-2);border:1px solid var(--line);white-space:nowrap;text-overflow:ellipsis;border-radius:12px;max-width:44vw;padding:9px 12px;font-size:13px;overflow:hidden}.basket-pill{background:var(--text);color:var(--bg);white-space:nowrap;border-radius:12px;align-items:center;gap:8px;padding:9px 14px;font-size:13px;font-weight:700;text-decoration:none;display:flex}.basket-pill span{background:var(--accent);color:#06111d;border-radius:999px;place-items:center;min-width:20px;height:20px;font-size:11px;font-weight:800;display:inline-grid}@media (width<=480px){.brand-logo-long{display:none}.brand-logo-icon{display:block}.top-actions{gap:6px}.ghost-btn{max-width:48vw;padding:9px 10px}.basket-pill{padding:9px 12px}}.bottom-nav{z-index:40;display:none;position:fixed;bottom:0;left:0;right:0}@media (width<=720px){.bottom-nav{background:var(--panel);border-top:1px solid var(--line);padding:8px 20px calc(10px + env(safe-area-inset-bottom));grid-template-columns:1fr auto 1fr;align-items:center;display:grid;box-shadow:0 -8px 30px #0000001f}}.nav-item{color:var(--muted);flex-direction:column;align-items:center;gap:2px;padding:4px 0;font-size:11px;font-weight:600;text-decoration:none;display:flex}.nav-item.active{color:var(--text)}.nav-icon{font-size:20px}.nav-scan{transform:translateY(-18px)}.nav-scan-icon{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#06111d;border:4px solid var(--bg);border-radius:50%;place-items:center;width:58px;height:58px;font-size:26px;display:grid;box-shadow:0 10px 24px #42b8ff59}.autocomplete-box{position:relative}.autocomplete-list{z-index:30;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;max-height:320px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.autocomplete-item{text-align:left;background:0 0;border:none;border-radius:10px;flex-direction:column;gap:2px;width:100%;padding:9px 10px;display:flex}.autocomplete-item.highlighted,.autocomplete-item:hover{background:var(--panel-2)}.autocomplete-item strong{font-size:14px}.autocomplete-item .small{font-size:12px}.hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:40px;padding:14px 0 24px;display:grid}.hero-copy h1{letter-spacing:-.03em;margin:0 0 12px;font-size:clamp(28px,4.6vw,54px);line-height:1.05}.hero-copy h1 span{color:var(--muted)}.hero-copy p{color:var(--muted);max-width:520px;font-size:16px;line-height:1.6}.search-panel{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:22px;flex-direction:column;gap:12px;padding:16px;display:flex}.search-box-wrap{background:var(--panel-2);border:1px solid var(--line);border-radius:14px;grid-template-columns:22px 1fr;align-items:center;gap:10px;height:56px;padding:0 14px;display:grid}.search-box-wrap svg{fill:none;width:20px;stroke:var(--muted);stroke-width:2px}.search-box-wrap input{width:100%;height:100%;color:var(--text);background:0 0;border:0;outline:0;font-size:16px}.quick-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.action-card{border:1px solid var(--line);background:var(--panel-2);text-align:left;border-radius:14px;align-items:center;gap:8px;min-width:0;padding:10px 12px;display:flex}.action-icon{width:34px;height:34px;color:var(--accent);background:#5ee7b326;border-radius:10px;flex-shrink:0;place-items:center;font-size:16px;display:grid}.action-card>span:last-child{flex:1;min-width:0}.action-card strong,.action-card small{display:block}.action-card strong{white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.action-card small{color:var(--muted);margin-top:1px;font-size:11px;line-height:1.3}.search-submit{width:100%}.retailer-strip{border-top:1px solid var(--line);padding:16px 0 24px}.retailer-strip-label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px;font-size:11px;font-weight:700;display:block}.retailer-chips{scrollbar-width:none;flex-wrap:nowrap;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.retailer-chips::-webkit-scrollbar{display:none}.retailer-chip{border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:6px 12px;font-size:12px}@media (width>=721px) and (width<=920px){.quick-actions{grid-template-columns:1fr}}@media (width>=721px){.home{flex-direction:column;justify-content:center;min-height:calc(100vh - 260px);display:flex}}@media (width<=720px){.hero{grid-template-columns:1fr;gap:18px;padding-top:8px}.hero-copy p{margin:0;font-size:15px}}@media (width<=420px){.hero-copy h1{margin-bottom:8px;font-size:30px}.search-panel{gap:10px;padding:12px}.search-box-wrap{height:50px}.action-card{gap:6px;padding:10px 8px}.action-icon{width:30px;height:30px}}.section-heading{justify-content:space-between;align-items:flex-end;gap:12px;padding:12px 0 18px;display:flex}.section-heading h2{margin:6px 0 0;font-size:22px}.state-row{color:var(--muted);align-items:center;gap:10px;padding:16px 0;display:flex}.product-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.product-card{text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:16px;flex-direction:column;justify-content:space-between;gap:12px;min-height:120px;padding:16px;display:flex}.product-card-body strong{font-size:15px;line-height:1.35;display:block}.small{font-size:12px}.product-card-price{flex-direction:column;gap:2px;display:flex}.product-card-price .price{font-size:20px;font-weight:800}.unavailable-details{color:var(--muted);margin-top:24px;font-size:13px}.unavailable-details summary{cursor:pointer}.unavailable-details ul{margin:10px 0 0;padding-left:18px}.compare-page{padding-top:14px}.back-btn{color:var(--muted);background:0 0;border:none;padding:0 0 14px;font-size:13px}.product-hero{border-bottom:1px solid var(--line);align-items:center;gap:16px;margin-bottom:20px;padding-bottom:20px;display:flex}.product-hero img{object-fit:contain;background:var(--panel-2);border-radius:14px;flex-shrink:0;width:84px;height:84px}.product-hero h2{margin:6px 0 4px;font-size:22px}.offer-list{gap:12px;display:grid}.offer-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:4px;padding:16px;display:flex;position:relative}.offer-card.best{border-color:var(--best);box-shadow:0 0 0 1px var(--best)}.best-badge{background:var(--best);color:#06111d;letter-spacing:.06em;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:800;position:absolute;top:-10px;right:14px}.offer-top{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.offer-top strong{font-size:16px}.availability{background:var(--panel-2);color:var(--muted);border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700}.availability.in_stock{color:var(--best)}.availability.out_of_stock{color:var(--danger)}.offer-price-row{align-items:baseline;gap:10px;display:flex}.offer-price{font-size:24px;font-weight:800}.offer-was{color:var(--muted);font-size:13px;text-decoration:line-through}.tag{color:var(--accent-2);background:#42b8ff26;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.offer-link{color:var(--accent-2);margin-top:8px;font-size:13px;text-decoration:none}.add-basket-btn{width:100%;margin-top:22px}.scan-page{max-width:480px;margin:0 auto;padding-top:14px}.scan-page h2{margin:6px 0 18px}.camera-wrap{aspect-ratio:3/4;background:#000;border-radius:20px;position:relative;overflow:hidden}.camera-wrap video{object-fit:cover;width:100%;height:100%}.scanner-frame{pointer-events:none;position:absolute;inset:15% 12%}.scanner-frame span{border:3px solid var(--accent);width:28px;height:28px;position:absolute}.scanner-frame span:first-child{border-bottom:none;border-right:none;top:0;left:0}.scanner-frame span:nth-child(2){border-bottom:none;border-left:none;top:0;right:0}.scanner-frame span:nth-child(3){border-top:none;border-right:none;bottom:0;left:0}.scanner-frame span:nth-child(4){border-top:none;border-left:none;bottom:0;right:0}.camera-message{color:#fff;text-align:center;background:#000000a6;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px;font-size:13px;display:flex;position:absolute;bottom:16px;left:16px;right:16px}.scan-message{margin-top:14px}.manual-barcode{margin-top:20px}.manual-barcode-row{gap:8px;margin-top:6px;display:flex}.manual-barcode-row input{border:1px solid var(--line);background:var(--panel-2);border-radius:12px;flex:1;padding:12px 14px;font-size:15px}.photo-page{max-width:480px;margin:0 auto;padding-top:14px}.photo-page h2{margin:6px 0 10px}.photo-cta{width:100%;margin-top:18px;padding:18px}.photo-preview-wrap{flex-direction:column;align-items:center;gap:10px;margin-top:18px;display:flex}.photo-preview{object-fit:contain;background:var(--panel-2);border-radius:16px;width:100%;max-height:320px}.retake-btn{width:100%}.photo-results{margin-top:20px}.candidate-list{gap:10px;display:grid}.candidate-card{text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:4px;padding:14px;display:flex}.extracted-text{color:var(--muted);margin-top:16px;font-size:13px}.extracted-text p{white-space:pre-wrap}.basket-empty{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:60px 0;display:flex}.basket-empty .btn{margin-top:10px;text-decoration:none}.basket-items{gap:10px;margin-bottom:24px;display:grid}.basket-item{background:var(--panel);border:1px solid var(--line);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.qty-control{align-items:center;gap:10px;display:flex}.qty-control button{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;width:30px;height:30px;font-size:16px}.remove-btn{color:var(--danger);background:0 0;border:none;font-size:13px}.plans{gap:24px;display:grid}.plan-section{flex-direction:column;gap:10px;display:flex}.plan-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px}.plan-card.best{border-color:var(--best);box-shadow:0 0 0 1px var(--best)}.plan-card-top{justify-content:space-between;align-items:baseline;display:flex}.plan-total{font-size:22px;font-weight:800}.savings{color:var(--best);margin:6px 0 0;font-size:13px;font-weight:700}.split-assignments{gap:12px;margin-top:14px;display:grid}.split-assignment{border-top:1px solid var(--line);padding-top:10px}.split-assignment-top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.split-assignment-distance{margin-top:4px;display:block}.split-assignment ul{color:var(--muted);margin:6px 0 0;padding-left:18px;font-size:13px}.health-page h2{margin:6px 0 4px}.health-table-wrap{margin-top:16px;overflow-x:auto}.health-table{border-collapse:collapse;width:100%;font-size:13px}.health-table th,.health-table td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 12px}.status-pill{text-transform:capitalize;background:var(--panel-2);border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700}.status-pill.healthy{color:var(--best)}.status-pill.degraded{color:#d9a441}.status-pill.unavailable{color:var(--danger)}.type-pill{text-transform:uppercase;background:var(--panel-2);color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700}.type-pill.browser{color:var(--accent-2);border-color:var(--accent-2)}.browser-pool-section{border-top:1px solid var(--line);margin-top:28px;padding-top:16px}.browser-pool-stats{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-top:12px;display:grid}.browser-pool-stats>div{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:2px;padding:12px;display:flex}.browser-pool-stats strong{font-size:20px}.browser-pool-stats span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.auth-page{padding:32px 0 48px}.auth-card{flex-direction:column;gap:18px;padding:28px;display:flex}.auth-card h2{margin:4px 0 0}.auth-fields{flex-direction:column;gap:14px;display:flex}.auth-field{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.auth-field input{border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:12px;padding:12px 14px;font-size:15px}.auth-checkbox{color:var(--muted);align-items:flex-start;gap:10px;font-size:13px;display:flex}.auth-checkbox input{margin-top:3px}.auth-checkbox a{color:var(--accent-2);font-weight:600}.auth-error{color:var(--danger);font-size:14px}.auth-notice{color:var(--muted);background:var(--panel-2);border-radius:12px;padding:12px 14px;font-size:14px}.auth-success{color:var(--best);font-size:14px}.auth-links{justify-content:space-between;font-size:13px;display:flex}.auth-links a{color:var(--accent-2);font-weight:600}.auth-card .btn-primary{width:100%}.link-btn{color:var(--accent-2);background:0 0;border:none;padding:0;font-size:13px;font-weight:600}.account-section{border-top:1px solid var(--line);flex-direction:column;gap:12px;padding-top:16px;display:flex}.account-section h3{margin:0;font-size:15px}.session-info{flex-direction:column;gap:8px;margin:0;display:flex}.session-info div{border-bottom:1px dashed var(--line);justify-content:space-between;gap:12px;padding-bottom:6px;font-size:14px;display:flex}.session-info dt{color:var(--muted)}.session-info dd{text-align:right;margin:0}.account-actions{flex-wrap:wrap;gap:10px;display:flex}.app-footer{border-top:1px solid var(--line);width:min(1080px,100% - 32px);color:var(--muted);margin:40px auto 0;padding:18px 0 30px;font-size:12px}@media (width<=720px){.app-footer{margin-bottom:80px}}
