:root{--color-bg:#f6f7f9;--color-surface:#fff;--color-border:#e5e8ec;--color-text:#1a2229;--color-text-muted:#667085;--color-primary:#0d9488;--color-primary-dark:#0b7d72;--color-primary-light:#e6f6f4;--color-accent:#f5a524;--color-success:#10b981;--color-success-light:#e7f8f1;--color-success-text:#067a55;--color-success-solid:#067a55;--color-on-primary:#fff;--color-danger:#e4483a;--color-danger-bg:#fef3f2;--color-danger-border:#fecdca;--color-warn-bg:#fff8ec;--color-warn-text:#9a6400;--color-icon-faint:#c7ccd4;--color-overlay:#10182873;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-sm:0 1px 2px #1018280f;--shadow-md:0 4px 16px #10182814;--shadow-lg:0 12px 32px #1018281f;color-scheme:light dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg:#10151b;--color-surface:#1a2129;--color-border:#2b333d;--color-text:#e6e9ed;--color-text-muted:#9aa5b1;--color-primary:#14b8a6;--color-primary-dark:#2dd4bf;--color-primary-light:#14b8a638;--color-accent:#fbbf24;--color-success:#34d399;--color-success-light:#12352c;--color-success-text:#4ade80;--color-success-solid:#065f46;--color-on-primary:#04231f;--color-danger:#f87171;--color-danger-bg:#3a1f1d;--color-danger-border:#5c2b28;--color-warn-bg:#37301b;--color-warn-text:#fbbf24;--color-icon-faint:#586475;--color-overlay:#0000009e;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 16px #00000073;--shadow-lg:0 12px 32px #0000008c}}:root[data-theme=dark]{--color-bg:#10151b;--color-surface:#1a2129;--color-border:#2b333d;--color-text:#e6e9ed;--color-text-muted:#9aa5b1;--color-primary:#14b8a6;--color-primary-dark:#2dd4bf;--color-primary-light:#14b8a638;--color-accent:#fbbf24;--color-success:#34d399;--color-success-light:#12352c;--color-success-text:#4ade80;--color-success-solid:#065f46;--color-on-primary:#04231f;--color-danger:#f87171;--color-danger-bg:#3a1f1d;--color-danger-border:#5c2b28;--color-warn-bg:#37301b;--color-warn-text:#fbbf24;--color-icon-faint:#586475;--color-overlay:#0000009e;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 16px #00000073;--shadow-lg:0 12px 32px #0000008c}*{box-sizing:border-box}body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f6f7f9;background:var(--color-bg);color:#1a2229;color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;overflow-x:hidden;padding:0;width:100%}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}[role=button]:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid #0d9488;outline:2px solid var(--color-primary);outline-offset:2px}.product-image-fallback{background:#f6f7f9;color:#c7ccd4}.state-message{align-items:center;background:#fff;background:var(--color-surface);border:1px dashed #e5e8ec;border:1px dashed var(--color-border);border-radius:12px;border-radius:var(--radius-md);color:#667085;color:var(--color-text-muted);display:flex;font-size:14px;gap:10px;justify-content:center;margin:10px 0;padding:32px 20px;text-align:center}.state-message-error{background:#fef3f2;background:var(--color-danger-bg);border-color:#fecdca;border-color:var(--color-danger-border);color:#e4483a;color:var(--color-danger)}.state-spinner{animation:state-spinner-spin .7s linear infinite;border:2px solid #e5e8ec;border-top-color:#0d9488;border:2px solid var(--color-border);border-radius:50%;border-top-color:var(--color-primary);display:inline-block;flex-shrink:0;height:16px;width:16px}.state-message-error .state-spinner{border-top-color:#e4483a;border-top-color:var(--color-danger)}@keyframes state-spinner-spin{to{transform:rotate(1turn)}}.login-container{align-items:center;background:var(--color-bg);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-box{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);max-width:380px;padding:40px 36px;text-align:center;width:100%}.logo{display:block;height:auto;margin:0 auto 24px;width:96px}.login-box h2{color:var(--color-text);font-size:20px;margin:-8px 0 20px}form{display:flex;flex-direction:column}input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-family:inherit;font-size:14px;margin-bottom:12px;padding:12px 14px;transition:border-color .15s ease,box-shadow .15s ease}input::placeholder{color:var(--color-icon-faint)}input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}button{background-color:var(--color-primary);border:none;border-radius:var(--radius-sm);color:var(--color-on-primary);cursor:pointer;font-family:inherit;font-size:15px;font-weight:600;margin-top:4px;padding:12px;transition:background-color .15s ease}button:hover{background-color:var(--color-primary-dark)}.error-message{background-color:var(--color-danger-bg);border:1px solid var(--color-danger-border);border-radius:var(--radius-sm);color:var(--color-danger);font-size:13px;margin-bottom:15px;padding:10px 12px}p{color:var(--color-text-muted);font-size:14px;margin-top:20px}a{color:var(--color-primary);font-weight:600;text-decoration:none}a:hover{text-decoration:underline}.product-image-fallback{align-items:center;background:var(--color-bg);color:var(--color-icon-faint);display:flex;justify-content:center}.pi-wrap{display:inline-flex;flex-shrink:0}.pi-zoom{animation:pi-zoom-in .12s ease;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);object-fit:contain;padding:8px;pointer-events:none;position:fixed;z-index:2000}@keyframes pi-zoom-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.pi-backdrop{align-items:center;animation:pi-fade-in .12s ease;background:#0009;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:1999}.pi-zoom--tap{height:min(82vw,340px);pointer-events:none;position:static;width:min(82vw,340px)}@keyframes pi-fade-in{0%{opacity:0}to{opacity:1}}.shared-page{margin:0 auto;max-width:560px;padding:16px 16px 60px}.shared-page-empty{padding-top:60px;text-align:center}.shared-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:18px}.shared-logo{height:40px;width:auto}.shared-header-link{color:var(--color-primary-dark);font-size:13px;font-weight:700;text-decoration:none}.shared-title{font-size:22px;margin:0 0 3px}.shared-sub{color:var(--color-text-muted);font-size:13px;margin:0 0 16px}.shared-total{align-items:baseline;background:var(--color-success-light);border-radius:var(--radius-md);color:var(--color-success-text);display:flex;font-size:13px;font-weight:700;justify-content:space-between;margin-bottom:6px;padding:12px 14px}.shared-total strong{font-size:20px}.shared-note{color:var(--color-accent);font-size:12px;font-weight:600;margin:4px 0 12px}.shared-items{list-style:none;margin:12px 0;padding:0}.shared-item{border-bottom:1px solid var(--color-border);display:flex;gap:10px;padding:10px 0}.shared-item:last-child{border-bottom:none}.shared-item-image{background:var(--color-bg);border-radius:var(--radius-sm);flex-shrink:0;height:42px;object-fit:contain;padding:3px;width:42px}.shared-item-body{flex:1 1;min-width:0}.shared-item-name{font-size:13.5px;font-weight:600;line-height:1.3}.shared-item-size{color:var(--color-text-muted);font-weight:500}.shared-item-prices{display:flex;flex-wrap:wrap;gap:3px 10px;margin-top:4px}.shared-price{color:var(--color-text-muted);font-size:12px}.shared-price.best{color:var(--color-success-text);font-weight:800}.shared-item-noprice{color:var(--color-accent);font-size:12px;font-weight:600}.shared-fresh{color:var(--color-text-muted);font-size:11.5px;line-height:1.4;margin:16px 0;text-align:center}.shared-actions{margin-top:20px;text-align:center}.shared-cta{background:var(--color-primary);border:none;border-radius:var(--radius-md);color:var(--color-on-primary);cursor:pointer;display:inline-block;font-family:inherit;font-size:14px;font-weight:700;padding:12px 22px;text-decoration:none}.shared-cta:hover:not(:disabled){background:var(--color-primary-dark)}.shared-cta:disabled{cursor:default;opacity:.6}.shared-copied{color:var(--color-success-text);font-size:14px;font-weight:700}.shared-copied a{color:var(--color-primary-dark)}.shared-login-hint{color:var(--color-text-muted);font-size:12.5px;margin-top:10px}.shared-product-head{align-items:center;display:flex;gap:14px;margin-bottom:18px}.shared-product-image{background:var(--color-bg);border-radius:var(--radius-sm);flex-shrink:0;height:72px;object-fit:contain;padding:5px;width:72px}.shared-price-rows{list-style:none;margin:0;padding:0}.shared-price-row{align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);display:flex;font-size:15px;font-weight:600;justify-content:space-between;margin-bottom:8px;padding:12px 14px}.shared-price-row.best{background:var(--color-success-light);border-color:var(--color-success-text);color:var(--color-success-text);font-weight:800}.shared-cheapest-tag{background:var(--color-success-solid);border-radius:5px;color:#fff;font-size:10px;font-weight:800;margin-left:8px;padding:2px 6px;text-transform:uppercase}.ph-box{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin:14px 0;padding:12px 14px}.ph-box.ph-buy{background:var(--color-success-light);border-color:var(--color-success-solid)}.ph-box.ph-wait{border-color:var(--color-warn-bg)}.ph-head{align-items:center;display:flex;gap:12px;justify-content:space-between}.ph-title{color:var(--color-text-muted);font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.ph-spark{flex-shrink:0;opacity:.9}.ph-verdict{color:var(--color-text);font-size:14px;font-weight:700;margin:8px 0 2px}.ph-detail{font-size:12.5px;margin:4px 0 0}.ph-detail,.shared-blurb{color:var(--color-text-muted)}.shared-blurb{font-size:13px;line-height:1.5;margin:12px 0}.search-container{align-items:center;display:flex;justify-content:center;margin-bottom:18px;position:relative}.search-input-wrap{max-width:520px;position:relative;width:100%}.search-container input[type=text]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--color-text);font-family:inherit;font-size:15px;padding:12px 18px 12px 42px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.search-container input[type=text]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.search-icon{display:flex;left:15px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);z-index:1}.search-icon svg{color:var(--color-icon-faint)}.search-container .suggestions-list{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);left:50%;list-style:none;margin-top:8px;max-height:420px;max-width:520px;overflow:hidden;overflow-y:auto;padding:0;position:absolute;top:100%;transform:translateX(-50%);width:100%;z-index:1000}.search-container .suggestion-item{align-items:center;border-bottom:1px solid var(--color-border);cursor:pointer;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:12px 16px;transition:background-color .15s ease}.search-container .suggestion-item-status{color:var(--color-text-muted);cursor:default;font-size:14px;gap:10px;justify-content:center;padding:18px 16px}.suggestions-show-more{background:#0000;border:none;color:var(--color-primary-dark);cursor:pointer;font-size:13px;font-weight:700;padding:4px 8px}.suggestions-show-more:hover{text-decoration:underline}.search-container .suggestion-item:last-child{border-bottom:none}.search-container .suggestion-item:hover{background-color:var(--color-bg)}.search-container .suggestion-info{align-items:flex-start;display:flex;flex:1 1;gap:12px;min-width:0}.search-container .suggestion-text{flex:1 1;min-width:0}.search-container .suggestion-name{color:var(--color-text);font-size:14px;font-weight:600;line-height:1.35}.search-container .suggestion-size{color:var(--color-text-muted);font-size:13px;font-weight:500}.search-container .suggestion-prices{color:var(--color-text-muted);display:flex;flex-wrap:wrap;font-size:13px;gap:4px 8px;margin-top:6px}.search-container .suggestion-price{align-items:baseline;border-radius:10px;display:inline-flex;gap:6px;padding:2px 8px}.search-container .suggestion-price-best{background:var(--color-success-light);box-shadow:0 0 0 2px #10b98159,0 2px 12px #10b98180;color:var(--color-success-text);font-weight:700}.search-container .suggestion-price-tag{background:var(--color-success-solid);border-radius:5px;color:#fff;font-size:10px;font-weight:800;letter-spacing:.03em;padding:1px 6px;text-transform:uppercase}.search-container .suggestion-image{border-radius:var(--radius-sm);flex-shrink:0;height:48px;object-fit:cover;width:48px}.search-container .add-button{align-self:center;background:var(--color-primary);border:none;border-radius:var(--radius-sm);color:var(--color-on-primary);cursor:pointer;flex-shrink:0;font-size:13px;font-weight:600;padding:8px 16px;transition:background-color .15s ease}.search-container .add-button:hover{background-color:var(--color-primary-dark)}.search-container .suggestion-actions{align-items:center;align-self:center;display:flex;flex-shrink:0;gap:6px}.suggestion-report-btn{background:none;border:none;color:var(--color-icon-faint);cursor:pointer;font-size:14px;line-height:1;padding:4px}.suggestion-report-btn:hover{color:var(--color-accent)}.search-container .suggestion-report-bar{align-items:center;border-top:1px dashed var(--color-border);display:flex;flex-basis:100%;flex-wrap:wrap;gap:8px;margin-top:4px;padding-top:10px;width:100%}.search-container .suggestion-report-label{color:var(--color-text-muted);font-size:12px;font-weight:700}.search-container .suggestion-report-bar button{background:var(--color-bg);border:1px solid var(--color-border);border-radius:999px;color:var(--color-text);cursor:pointer;font-family:inherit;font-size:12px;padding:5px 12px}.search-container .suggestion-report-bar button:hover{background:var(--color-surface);border-color:var(--color-accent);color:var(--color-accent)}.suggestion-report-done{align-self:center;color:var(--color-success-text);font-size:11.5px;font-weight:700}@media (max-width:768px){.search-container input[type=text]{font-size:14px;padding:11px 16px 11px 38px}.search-icon{left:14px}.search-container .suggestion-image{height:44px;width:44px}}@media (max-width:560px){.search-container .suggestion-item{align-items:flex-start;gap:8px 10px;padding:11px 12px}.search-container .suggestion-info{flex-wrap:wrap;row-gap:6px}.search-container .suggestion-text{flex:1 1 100%;min-width:0}.search-container .suggestion-prices{font-size:12px;margin-top:4px}.search-container .suggestion-price{padding:2px 7px}.search-container .suggestion-price-best{box-shadow:0 0 0 2px #10b98159}.search-container .suggestion-actions{align-self:center}}.plan-view{display:flex;flex-direction:column;gap:20px;margin:0 auto;max-width:1200px;width:100%}.plan-section-title{color:var(--color-text);font-size:15px;font-weight:700;letter-spacing:-.01em;margin:0 0 10px}.plan-summary{gap:12px}.plan-summary,.plan-summary-hero{display:flex;flex-direction:column}.plan-summary-hero{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-dark) 100%);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);color:var(--color-on-primary);justify-content:center;padding:20px 22px}.hero-label{font-size:12.5px;font-weight:700;letter-spacing:.05em;margin-bottom:4px;opacity:.85;text-transform:uppercase}.hero-total{font-size:38px;font-weight:800;letter-spacing:-.02em;line-height:1.1}.hero-savings{align-items:center;background:var(--color-success);border-radius:20px;color:var(--color-on-primary);display:inline-flex;font-size:14px;font-weight:700;gap:6px;margin-top:10px;padding:6px 12px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.hero-savings-pct{font-weight:600;opacity:.9}.plan-baskets-bar{align-items:flex-start;display:flex;gap:8px;justify-content:space-between;margin-bottom:10px}.plan-baskets-toggle{background:var(--color-surface);border:1px solid var(--color-border);border-radius:20px;color:var(--color-primary-dark);cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:700;padding:7px 14px}.plan-baskets-toggle:hover{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.hero-savings-vs{font-size:12.5px;font-weight:600;margin-top:6px;opacity:.85}.hero-note{font-size:12px;font-weight:600;margin-top:8px;opacity:.8}.plan-facts{display:flex;flex-wrap:wrap;gap:6px 22px;padding:2px 2px 0}.plan-fact{align-items:baseline;display:flex;font-size:13px;gap:8px;line-height:1.4}.plan-fact-label{color:var(--color-text-muted)}.plan-fact-value{color:var(--color-text);font-size:15px;font-weight:800;letter-spacing:-.01em}.plan-fresh{color:var(--color-text-muted);font-size:12px;line-height:1.5;margin:12px 2px 0}.plan-fresh a{color:var(--color-primary-dark)}.plan-grouped-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.store-plan-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.store-plan-card-muted{opacity:.7}.store-plan-header{align-items:flex-start;background:var(--color-bg);border-bottom:1px solid var(--color-border);display:flex;gap:10px;justify-content:space-between;padding:10px 14px}.store-plan-heading{display:flex;flex-direction:column;gap:1px}.store-plan-name{color:var(--color-text);font-size:13.5px;font-weight:700}.store-plan-count{color:var(--color-text-muted);font-size:11px;font-weight:600}.store-plan-value{align-items:flex-end;display:flex;flex-direction:column;gap:1px}.store-plan-total{color:var(--color-primary-dark);font-size:13.5px;font-weight:700}.store-plan-savings{color:var(--color-success-text);font-size:11px;font-weight:700}.store-plan-items{list-style:none;margin:0;padding:6px 0}.store-plan-expand{background:#0000;border:none;border-top:1px solid var(--color-border);color:var(--color-primary-dark);cursor:pointer;display:block;font-size:12px;font-weight:700;padding:8px 14px;text-align:center;transition:background-color .15s ease;width:100%}.store-plan-expand:hover{background:var(--color-bg)}.store-plan-items li{align-items:baseline;display:flex;font-size:13px;gap:8px;justify-content:space-between;padding:6px 14px}.store-plan-item-name{color:var(--color-text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.store-plan-item-size{color:var(--color-text-muted);font-weight:500}.store-plan-item-price{color:var(--color-text-muted);flex-shrink:0;font-weight:600}.plan-table-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:10px}.plan-table-header .plan-section-title{margin:0}.plan-filter-chips{display:flex;flex-wrap:wrap;gap:6px}.plan-filter-chips button{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;color:var(--color-text-muted);cursor:pointer;font-size:12.5px;font-weight:600;padding:6px 14px;transition:all .15s ease}.plan-filter-chips button:hover{border-color:var(--color-primary);color:var(--color-primary-dark)}.plan-filter-chips button.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.plan-table-scroll{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow-x:auto}.plan-table{border-collapse:collapse;min-width:560px;width:100%}.plan-table th{background:var(--color-bg);border-bottom:1px solid var(--color-border);color:var(--color-text-muted);font-size:11.5px;font-weight:700;letter-spacing:.03em;padding:10px 12px;text-align:left;text-transform:uppercase;white-space:nowrap}.plan-table th.col-price,.plan-table th.col-savings{text-align:right}.plan-table td{border-bottom:1px solid var(--color-border);padding:8px 12px;vertical-align:middle}.plan-table tbody tr:last-child td{border-bottom:none}.plan-table tbody tr:hover{background:var(--color-bg)}.col-item{min-width:220px}.col-price,.col-savings{text-align:right;white-space:nowrap}.col-remove{width:32px}.table-item-cell{align-items:center;display:flex;gap:10px}.table-item-image{background:var(--color-bg);border-radius:6px;flex-shrink:0;height:40px;object-fit:contain;padding:3px;width:40px}.table-item-text{display:flex;flex-direction:column;min-width:0}.table-item-name{color:var(--color-text);font-size:13px;font-weight:600;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-item-size{color:var(--color-text-muted);font-size:11.5px;font-weight:500}.price-best{background:var(--color-success-light);border-radius:6px;color:var(--color-success-text);font-weight:700;padding:3px 9px}.price-other{color:var(--color-text-muted);font-weight:500}.price-none{color:var(--color-icon-faint)}.savings-badge{background:var(--color-success-light);border-radius:12px;color:var(--color-success-text);display:inline-block;font-size:12px;font-weight:700;padding:3px 10px}.savings-none{color:var(--color-icon-faint)}.plan-mobile-cards{display:none;flex-direction:column;gap:8px}.plan-mobile-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:9px 10px}.plan-mobile-card-top{align-items:center;display:flex;gap:9px}.plan-mobile-card-image{background:var(--color-bg);border-radius:6px;flex-shrink:0;height:46px;object-fit:contain;padding:3px;width:46px}.plan-mobile-card-text{display:flex;flex:1 1;flex-direction:column;min-width:0}.plan-mobile-card-name{color:var(--color-text);font-size:13px;font-weight:600;line-height:1.25;overflow-wrap:break-word}.plan-mobile-card-size{color:var(--color-text-muted);font-size:11.5px;font-weight:500}.plan-mobile-card-top .table-remove-button{flex-shrink:0}.plan-mobile-card-prices{grid-gap:4px;border-top:1px solid var(--color-border);display:grid;gap:4px;margin-top:8px;padding-top:8px}.plan-mobile-price-cell{align-items:center;display:flex;flex-direction:column;gap:2px;min-width:0}.plan-mobile-card-prices.single-store .plan-mobile-price-cell{align-items:flex-start}.plan-mobile-store-label{color:var(--color-text-muted);font-size:10px;font-weight:700;letter-spacing:.03em;max-width:100%;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.plan-mobile-price-cell .price-best,.plan-mobile-price-cell .price-none,.plan-mobile-price-cell .price-other{font-size:13.5px}.plan-mobile-card-prices.single-store .price-best,.plan-mobile-card-prices.single-store .price-other{font-size:16px}.plan-mobile-card-savings{display:flex;justify-content:flex-end;margin-top:6px}.table-remove-button{background:#0000;border:none;border-radius:6px;color:var(--color-text-muted);cursor:pointer;font-size:18px;line-height:1;padding:4px 6px;transition:all .15s ease}.table-remove-button:hover{background:var(--color-danger-bg);color:var(--color-danger)}@media (max-width:768px){.hero-total{font-size:32px}.plan-facts{flex-direction:column;gap:4px}.plan-grouped-grid{grid-template-columns:1fr}.plan-table-scroll{display:none}.plan-mobile-cards{display:flex}}@media (max-width:400px){.plan-summary-hero{padding:16px}.hero-total{font-size:28px}.plan-table-header{align-items:flex-start;flex-direction:column}}.deal-badge{border-radius:999px;display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.02em;margin-left:6px;padding:1px 7px;text-transform:uppercase;vertical-align:middle;white-space:nowrap}.deal-lowest{background:var(--color-success-solid);color:#fff}.deal-good{background:var(--color-success-light);border:1px solid var(--color-success-solid);color:var(--color-success-text)}.starter-baskets{margin:4px 0 22px}.public-compare-baskets{margin:28px auto 0;max-width:760px;padding:0 16px}.starter-baskets-head h3{font-size:16px;margin:0 0 3px}.starter-baskets-head p{color:var(--color-text-muted);font-size:13px;margin:0 0 14px}.starter-basket-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.starter-basket-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:6px;padding:14px;text-align:left;transition:border-color .15s ease,box-shadow .15s ease}.starter-basket-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.starter-basket-title{color:var(--color-text);font-size:14.5px;font-weight:800}.starter-basket-purpose{color:var(--color-text-muted);flex:1 1;font-size:12.5px;line-height:1.4}.starter-basket-foot{align-items:baseline;color:var(--color-text-muted);display:flex;font-size:12px;justify-content:space-between;margin-top:2px}.starter-basket-price{color:var(--color-text);font-weight:800}.starter-overlay{align-items:flex-end;background:var(--color-overlay);display:flex;inset:0;justify-content:center;padding:12px;position:fixed;z-index:1002}@media (min-width:640px){.starter-overlay{align-items:center}}.starter-panel{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-height:88vh;max-width:500px;overflow-y:auto;padding:22px 18px 18px;position:relative;width:100%}.starter-close{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:24px;line-height:1;padding:4px 8px;position:absolute;right:10px;top:8px}.starter-loading{align-items:center;color:var(--color-text-muted);display:flex;font-size:14px;gap:8px;padding:20px 0}.starter-error{color:var(--color-danger);font-size:14px}.starter-detail-title{font-size:18px;margin:0 0 3px}.starter-detail-purpose{color:var(--color-text-muted);font-size:13px;margin:0 0 14px}.starter-note{background:var(--color-bg);border-left:3px solid var(--color-primary);border-radius:var(--radius-sm);color:var(--color-text);font-size:12.5px;line-height:1.45;margin-bottom:14px;padding:10px 12px}.starter-note strong{color:var(--color-text);display:block;margin-bottom:3px}.starter-note p{margin:0 0 4px}.starter-pantry{color:var(--color-text-muted)}.starter-line-list{list-style:none;margin:0 0 14px;padding:0}.starter-line{border-bottom:1px solid var(--color-border);display:flex;gap:10px;padding:10px 0}.starter-line:last-child{border-bottom:none}.starter-line.dropped{opacity:.45}.starter-line-image{background:var(--color-bg);border-radius:var(--radius-sm);flex-shrink:0;height:48px;object-fit:contain;padding:3px;width:48px}.starter-line-body{flex:1 1;min-width:0}.starter-line-name{font-size:13px;font-weight:600;line-height:1.3}.starter-line-size{color:var(--color-text-muted);font-weight:500}.starter-line-prices{display:flex;flex-wrap:wrap;gap:3px 8px;margin-top:4px}.starter-price{color:var(--color-text-muted);font-size:11.5px}.starter-price.best{color:var(--color-success-text);font-weight:800}.starter-line-noprice{color:var(--color-accent);font-size:11.5px;font-weight:600}.starter-line-note{color:var(--color-text-muted);font-size:11.5px;font-style:italic;margin-top:3px}.starter-line-controls{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:6px}.starter-qty{align-items:center;border:1px solid var(--color-border);border-radius:14px;display:flex;gap:8px;padding:2px 4px}.starter-qty button{background:none;border:none;color:var(--color-primary-dark);cursor:pointer;font-size:15px;font-weight:700;height:22px;line-height:1;width:22px}.starter-qty span{font-size:13px;font-weight:700;min-width:12px;text-align:center}.starter-drop,.starter-restore{background:none;border:none;cursor:pointer;font-size:11.5px;font-weight:700;padding:0}.starter-drop{color:var(--color-text-muted)}.starter-drop:hover{color:var(--color-danger)}.starter-restore{color:var(--color-primary-dark)}.starter-totals{background:var(--color-bg);border-radius:var(--radius-sm);margin-bottom:14px;padding:10px 12px}.starter-total-row{display:flex;font-size:13px;gap:12px;justify-content:space-between;padding:2px 0}.starter-total-row strong{font-size:15px}.starter-total-row.muted{color:var(--color-text-muted);font-size:12px}.starter-total-row.warn{color:var(--color-accent);display:block;font-size:12px;font-weight:600}.starter-total-row.save{color:var(--color-success-text);font-weight:800}.starter-add{background:var(--color-primary);border:none;border-radius:var(--radius-sm);color:var(--color-on-primary);cursor:pointer;display:block;font-family:inherit;font-size:14px;font-weight:700;padding:12px;text-align:center;text-decoration:none;width:100%}.starter-add:hover:not(:disabled){background:var(--color-primary-dark)}.starter-add:disabled{cursor:not-allowed;opacity:.55}.starter-added{color:var(--color-success-text);font-size:13.5px;font-weight:600;text-align:center}.starter-add-secondary{background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;display:block;font-family:inherit;font-size:13px;font-weight:700;margin:10px auto 0;padding:8px 20px}.share-list{position:relative}.share-list-btn{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:20px;color:var(--color-primary-dark);cursor:pointer;display:inline-flex;font-family:inherit;font-size:12.5px;font-weight:700;gap:6px;padding:7px 14px}.share-list-btn:hover{border-color:var(--color-primary)}.share-list-btn.is-shared{background:var(--color-success-light);border-color:var(--color-success-text);color:var(--color-success-text)}.share-list-btn:disabled{cursor:default;opacity:.6}.share-list-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:14px;position:absolute;right:0;top:calc(100% + 6px);width:min(320px,86vw);z-index:60}.share-list-note{color:var(--color-text-muted);font-size:12px;line-height:1.45;margin:0 0 10px}.share-list-url{display:flex;gap:6px;margin-bottom:10px}.share-list-url input{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);flex:1 1;font-family:inherit;font-size:12px;min-width:0;padding:7px 9px}.share-list-url button{background:var(--color-primary);border:none;border-radius:var(--radius-sm);color:var(--color-on-primary);flex-shrink:0;font-size:12.5px;padding:7px 14px}.share-list-revoke,.share-list-url button{cursor:pointer;font-family:inherit;font-weight:700}.share-list-revoke{background:none;border:none;color:var(--color-danger);font-size:12px;padding:0}.share-savings-btn{background:#10b981;background:var(--color-success-solid,#10b981);border:none;border-radius:8px;border-radius:var(--radius-sm,8px);color:#fff;cursor:pointer;font-size:13px;font-weight:700;padding:9px 16px;transition:filter .15s ease}.share-savings-btn:hover{filter:brightness(1.06)}.share-savings-btn:disabled{cursor:default;opacity:.6}.hero-share{margin-top:14px}.shop-view{margin:0 auto;max-width:640px;padding:14px 12px 116px;width:100%}@media (min-width:1024px){.shop-view{max-width:860px}}.shop-store-picker{background:var(--color-bg);margin:-6px 0 8px;padding:6px 0 12px;position:-webkit-sticky;position:sticky;top:0;z-index:50}.shop-store-picker-label{color:var(--color-text-muted);font-size:12.5px;font-weight:700;letter-spacing:.04em;margin-bottom:8px;text-transform:uppercase}.shop-store-chips{display:flex;flex-wrap:wrap;gap:8px}.shop-store-chip{align-items:center;background:var(--color-surface);border:2px solid var(--color-border);border-radius:22px;color:var(--color-text);cursor:pointer;display:flex;font-size:14px;font-weight:700;gap:6px;padding:10px 18px;transition:all .15s ease}.shop-store-chip svg{flex-shrink:0}.shop-store-chip-count{align-items:center;background:var(--color-bg);border-radius:999px;color:var(--color-text-muted);display:inline-flex;font-size:12px;font-weight:800;height:20px;justify-content:center;min-width:20px;padding:0 5px}@media (hover:hover){.shop-store-chip:hover{border-color:var(--color-primary)}}.shop-store-chip.selected{background:var(--color-primary);border-color:var(--color-primary);box-shadow:var(--shadow-md);color:var(--color-on-primary)}.shop-store-chip.selected .shop-store-chip-count{background:#ffffff40;color:var(--color-on-primary)}.shop-skip-toggle{background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:block;font-size:12.5px;font-weight:700;margin-bottom:8px;padding:8px 10px;text-align:center;transition:all .15s ease;width:100%}.shop-skip-toggle:hover{border-color:var(--color-primary);color:var(--color-primary-dark)}.shop-skip-toggle-inline{background:#0000;border:none;color:var(--color-primary-dark);cursor:pointer;font-size:inherit;font-weight:700;padding:0;text-decoration:underline}.shop-item-list{display:flex;flex-direction:column;gap:6px}.shop-item{background:var(--color-surface);border-left:1px solid var(--color-border);border:1px solid var(--color-border);border-left-width:4px;border-radius:var(--radius-sm);cursor:pointer;display:flex;gap:9px;padding:8px 11px;transition:opacity .15s ease,border-color .15s ease,box-shadow .15s ease}.shop-item:focus-visible,.shop-item:hover{border-color:var(--color-icon-faint);box-shadow:var(--shadow-sm)}.shop-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.shop-item.buy-here{border-left-color:var(--color-success)}.shop-item.skip-here{border-left-color:var(--color-accent)}.shop-item.not-here{border-left-color:var(--color-border)}.shop-item.bought{opacity:.5}.shop-item.bought .shop-item-name{text-decoration:line-through}.shop-bought-check{align-items:center;background:var(--color-surface);border:2px solid var(--color-border);border-radius:6px;color:var(--color-on-primary);display:flex;flex-shrink:0;height:22px;justify-content:center;margin-top:1px;transition:all .15s ease;width:22px}.shop-bought-check.checked{background:var(--color-success);border-color:var(--color-success)}.shop-item-image{background:var(--color-bg);border-radius:var(--radius-sm);flex-shrink:0;height:46px;object-fit:contain;padding:3px;width:46px}.shop-item-body{flex:1 1;min-width:0}.shop-item-top{align-items:flex-start;display:flex;gap:8px;justify-content:space-between}.shop-item-name{color:var(--color-text);flex:1 1;font-size:13.5px;font-weight:600;line-height:1.25;min-width:0;overflow-wrap:break-word}.shop-item-size{color:var(--color-text-muted);font-weight:500}.shop-item-badge{align-items:center;background:none;display:inline-flex;flex-shrink:0;font-size:10.5px;font-weight:800;gap:5px;letter-spacing:.02em;padding:0;text-transform:uppercase;white-space:nowrap}.shop-item-badge:before{background:currentColor;border-radius:50%;content:"";flex-shrink:0;height:7px;width:7px}.badge-buy{color:var(--color-success-text)}.badge-skip{color:var(--color-warn-text)}.badge-none,.shop-item-detail{color:var(--color-text-muted)}.shop-item-detail{font-size:12px;font-weight:600;line-height:1.3}.shop-item-detail strong{color:var(--color-text);font-weight:700}.shop-item-save{color:var(--color-success);font-weight:800}.shop-item-note{font-style:italic;font-weight:500}.shop-item-price-row{align-items:center;display:flex;flex-wrap:wrap;gap:3px 8px;margin-top:2px}.shop-item-price-here{color:var(--color-text);font-size:16px;font-weight:800}.shop-item.skip-here .shop-item-price-here{color:var(--color-text-muted);font-weight:600}.shop-freshness{color:var(--color-text-muted);font-size:11.5px;line-height:1.4;margin:12px 2px 0;text-align:center}.shop-item-compare-toggle{align-items:center;background:var(--color-bg);border:1px solid var(--color-border);border-radius:50%;color:var(--color-text-muted);cursor:pointer;display:flex;flex-shrink:0;height:20px;justify-content:center;margin-left:auto;transition:transform .15s ease,background-color .15s ease;width:20px}.shop-item-compare-toggle:hover{background:var(--color-border)}.shop-item-compare-toggle.expanded{transform:rotate(180deg)}.shop-item-compare{background:var(--color-bg);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:4px;margin-top:6px;padding:8px 10px}.shop-compare-row{color:var(--color-text-muted);display:flex;font-size:12.5px;justify-content:space-between;padding:2px 0}.shop-compare-row.current-store{color:var(--color-text);font-weight:700}.shop-compare-row .price-best{color:var(--color-success-text);font-weight:700}@media (max-width:480px){.shop-view{padding:10px 10px 116px}.shop-store-chip{font-size:13px;padding:9px 14px}}.shop-total-bar{align-items:center;background:var(--color-surface);border-top:1px solid var(--color-border);bottom:0;box-shadow:0 -4px 16px #10182814;display:flex;flex-wrap:wrap;gap:4px 12px;justify-content:space-between;left:0;padding:10px 16px;position:fixed;right:0;z-index:999}.shop-total-main{align-items:baseline;display:flex;flex-wrap:wrap;gap:4px 10px}.shop-total-label{color:var(--color-text-muted);font-size:13px;font-weight:700}.shop-total-amount{color:var(--color-text);font-size:20px;font-weight:800}.shop-total-progress{color:var(--color-primary-dark);font-size:12.5px;font-weight:700}.shop-total-side{align-items:flex-end;display:flex;flex-direction:column;gap:2px}.shop-total-saving{color:var(--color-success);font-size:12.5px;font-weight:800;white-space:nowrap}.shop-total-elsewhere{color:var(--color-text-muted);font-size:11.5px;font-weight:600;white-space:nowrap}@media (max-width:380px){.shop-total-amount{font-size:18px}}.list-switcher{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:8px 12px}.list-tabs{align-items:center;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.list-tabs::-webkit-scrollbar{display:none}.list-tab{align-items:center;background:var(--color-bg);border:1px solid var(--color-border);border-radius:18px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;flex-shrink:0;font-family:inherit;font-size:13px;font-weight:700;gap:6px;padding:6px 12px;transition:all .12s ease;white-space:nowrap}.list-tab.active,.list-tab:hover{border-color:var(--color-primary)}.list-tab.active{background:var(--color-primary);color:var(--color-on-primary)}.list-tab-count{background:#0000001f;border-radius:9px;font-size:11px;font-weight:800;min-width:16px;padding:0 6px;text-align:center}.list-tab.active .list-tab-count{background:#ffffff40}.list-icon-btn{align-items:center;background:var(--color-bg);border:1px solid var(--color-border);border-radius:50%;color:var(--color-text);cursor:pointer;display:inline-flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.list-icon-btn svg{height:15px;width:15px}.list-icon-btn:hover,.list-icon-btn[aria-pressed=true]{border-color:var(--color-primary);color:var(--color-primary)}.list-new-btn{background:none;border:1px dashed var(--color-border);border-radius:18px;color:var(--color-primary-dark);cursor:pointer;flex-shrink:0;font-family:inherit;font-size:12.5px;font-weight:700;padding:6px 12px;white-space:nowrap}.list-new-btn:hover{border-color:var(--color-primary)}.list-new-btn.locked{border-style:solid;color:var(--color-text-muted)}.list-editor{display:flex;gap:6px;margin-top:8px}.list-editor input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);flex:1 1;font-family:inherit;font-size:13px;min-width:0;padding:7px 10px}.list-editor input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.list-editor-delete,.list-editor-save{border:none;border-radius:var(--radius-sm);cursor:pointer;flex-shrink:0;font-family:inherit;font-size:12.5px;font-weight:700;padding:7px 12px}.list-editor-save{background:var(--color-primary);color:var(--color-on-primary)}.list-editor-save:disabled{cursor:not-allowed;opacity:.55}.list-editor-delete{background:var(--color-danger-bg);color:var(--color-danger)}.list-editor-delete:disabled{cursor:not-allowed;opacity:.4}.list-switcher-error{color:var(--color-text-muted);font-size:12px;font-weight:600;line-height:1.4;margin-top:8px}.list-switcher-upgrade{color:var(--color-primary-dark);text-decoration:none;white-space:nowrap}.list-switcher-upgrade:hover{text-decoration:underline}.theme-toggle{-webkit-tap-highlight-color:transparent;align-items:center;-webkit-appearance:none;appearance:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:50%;color:var(--color-text-muted);cursor:pointer;display:inline-flex;height:36px;justify-content:center;transition:color .15s ease,border-color .15s ease;width:36px}@media (hover:hover){.theme-toggle:hover{border-color:var(--color-primary);color:var(--color-primary)}}.theme-toggle:focus:not(:focus-visible){outline:none}.theme-toggle:active{background:var(--color-surface)}.theme-toggle--fixed{bottom:16px;box-shadow:var(--shadow-md);left:16px;position:fixed;z-index:1001}body:has(.shop-total-bar) .theme-toggle--fixed{bottom:68px}.theme-toggle--inline{height:34px;width:34px}.social-links{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.social-links a{align-items:center;color:var(--color-text-muted);display:inline-flex;font-size:13px;font-weight:600;gap:6px;text-decoration:none}.social-links a:hover{color:var(--color-text)}.social-links svg{flex-shrink:0}.admin-page{margin:0 auto;max-width:1100px;padding:24px 16px 80px}.admin-header{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:20px}.admin-header h1{font-size:22px;margin:0}.admin-back-link{color:var(--color-primary-dark);font-size:14px;font-weight:600;text-decoration:none}.admin-back-link:hover{text-decoration:underline}.admin-tiles{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));margin-bottom:28px}.admin-tile{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:14px;text-align:center}.admin-tile-value{color:var(--color-text);font-size:24px;font-weight:800}.admin-tile-label{color:var(--color-text-muted);font-size:12px;margin-top:2px}.admin-tabs{border-bottom:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:4px;margin-bottom:20px}.admin-tab{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:var(--color-text-muted);cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:700;gap:6px;margin-bottom:-1px;padding:9px 14px}.admin-tab:hover{color:var(--color-text)}.admin-tab.active{border-bottom-color:var(--color-primary);color:var(--color-primary-dark)}.admin-tab-badge{background:var(--color-danger);border-radius:9px;color:var(--color-on-primary);font-size:11px;font-weight:800;min-width:16px;padding:0 6px;text-align:center}.admin-section{margin-bottom:28px}.admin-h3{color:var(--color-text-muted);font-size:13px;letter-spacing:.03em;margin:22px 0 8px;text-transform:uppercase}.admin-prod-search{display:flex;gap:8px;margin-bottom:16px}.admin-prod-search input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);flex:1 1;font-family:inherit;font-size:13px;padding:8px 11px}.admin-prod-search button{background:var(--color-primary);border:none;border-radius:var(--radius-sm);color:var(--color-on-primary);cursor:pointer;font-family:inherit;font-size:13px;font-weight:700;padding:8px 16px}.admin-prod-group{margin-bottom:16px}.admin-prod-group-head{color:var(--color-text-muted);font-size:12px;font-weight:700;margin-bottom:4px}.admin-review-item,.admin-review-row{align-items:center;border-bottom:1px solid var(--color-border);display:flex;font-size:13px;gap:12px;justify-content:space-between;padding:6px 0}.admin-review-group{border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-bottom:8px;padding:8px 12px}.admin-review-group .admin-review-item:last-child{border-bottom:none}.admin-review-actions{display:flex;flex-shrink:0;gap:6px}.admin-mini-button.ghost{background:none;border:1px solid var(--color-border);color:var(--color-text-muted)}.admin-section h2{font-size:15px;margin:0 0 10px}.admin-table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow-x:auto}.admin-table{border-collapse:collapse;font-size:13px;white-space:nowrap;width:100%}.admin-table td,.admin-table th{border-bottom:1px solid var(--color-border);padding:8px 12px;text-align:left}.admin-table th{background:var(--color-bg);color:var(--color-text-muted);font-size:11.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.admin-table tr:last-child td{border-bottom:none}.admin-cell-warn{color:var(--color-danger);font-weight:700}.admin-empty{color:var(--color-text-muted);text-align:center}.admin-row-new td{background:var(--color-warn-bg)}.admin-cell-message{line-height:1.4;max-width:420px;white-space:normal}.admin-mini-button{background:var(--color-primary);border:none;border-radius:6px;color:var(--color-on-primary);cursor:pointer;font-size:11.5px;font-weight:700;padding:4px 9px}.admin-mini-button:hover{background:var(--color-primary-dark)}.admin-mini-button:disabled{cursor:not-allowed;opacity:.45}.admin-muted{color:var(--color-text-muted);font-size:12px}.admin-link-bar{align-items:center;background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 16px;padding:10px 12px}.admin-link-msg{color:var(--color-success-text);font-size:12px;font-weight:600}.admin-row-sel{background:var(--color-primary-light)}.admin-user-email{background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text);font-family:inherit;font-size:12px;max-width:100%;padding:4px 6px;width:180px}.admin-user-err{color:#b91c1c;color:var(--color-danger,#b91c1c);font-size:11px;margin-top:2px}.admin-section select{background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text);font-family:inherit;font-size:12px;padding:4px 6px}.an-cards{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:12px 0 20px}.an-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:12px 14px}.an-card-label{color:var(--color-text-muted);font-size:12px;font-weight:600}.an-card-big{font-size:26px;font-weight:800;margin-top:2px}.an-card-unit{font-size:12px;font-weight:600}.an-card-sub,.an-card-unit{color:var(--color-text-muted)}.an-card-sub{font-size:11.5px;margin-top:2px}.an-chart{align-items:flex-end;display:flex;gap:3px;height:140px;overflow-x:auto;padding:4px 0}.an-bar-wrap{align-items:center;flex:1 1;height:100%;min-width:14px}.an-bar-total,.an-bar-wrap{display:flex;flex-direction:column;justify-content:flex-end}.an-bar-total{background:var(--color-border);border-radius:2px 2px 0 0;min-height:2px;width:70%}.an-bar-human{background:var(--color-primary);border-radius:2px 2px 0 0;width:100%}.an-bar-x{font-size:9px;margin-top:2px}.an-bar-x,.an-legend{color:var(--color-text-muted)}.an-legend{font-size:11px;margin:4px 0 10px}.an-sw{border-radius:2px;display:inline-block;height:10px;margin:0 3px 0 10px;vertical-align:middle;width:10px}.an-sw.human{background:var(--color-primary)}.an-sw.total{background:var(--color-border)}.an-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:8px}.an-tag{background:var(--color-primary-light);border-radius:3px;color:var(--color-primary-dark);font-size:9px;font-weight:800;padding:1px 4px;text-transform:uppercase}.an-tag.bot{background:var(--color-warn-bg);color:var(--color-danger)}.admin-basket{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;margin-bottom:16px;padding:14px}.admin-basket-head{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px}.admin-basket-title{background:var(--color-bg);border:1px solid #0000;border-radius:4px;color:var(--color-text);flex:1 1;font-family:inherit;font-size:15px;font-weight:800;min-width:140px;padding:3px 6px}.admin-basket-title:focus{border-color:var(--color-border);outline:none}.admin-basket-pub{align-items:center;color:var(--color-text-muted);display:flex;font-size:12px;gap:4px}.admin-basket-order{background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text);font-size:12px;padding:3px;width:44px}.admin-basket-purpose{background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);font-family:inherit;font-size:12.5px;margin-bottom:6px;min-height:34px;padding:6px 8px;resize:vertical;width:100%}.admin-basket-items td{font-size:12px;vertical-align:middle}.admin-basket-best{color:var(--color-success-text);font-weight:700}.admin-basket-qty{background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text);font-size:12px;padding:3px;width:44px}.admin-basket-add{align-items:center;border-top:1px dashed var(--color-border);display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;padding-top:8px}.admin-basket-add input{background:var(--color-surface);flex:1 1;font-size:12.5px;min-width:200px}.admin-basket-add input,.admin-basket-opt{border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);font-family:inherit;padding:6px 8px}.admin-basket-opt{background:var(--color-bg);cursor:pointer;flex-basis:100%;font-size:12px;text-align:left}.admin-basket-opt:hover{border-color:var(--color-primary)}.public-compare{margin:0 auto;max-width:640px;padding:16px 14px 60px}@media (min-width:1024px){.public-compare{max-width:720px}}.public-compare-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.public-compare-logo{height:40px;width:auto}.public-compare-header-actions{align-items:center;display:flex;gap:12px}.public-compare-link{color:var(--color-text-muted);font-size:14px;font-weight:600;text-decoration:none}.public-compare-link:hover{color:var(--color-text)}.public-compare-cta-small{background:var(--color-primary);border-radius:var(--radius-sm);color:var(--color-on-primary);font-size:13.5px;font-weight:700;padding:8px 16px;text-decoration:none}.public-compare-hero{padding:24px 8px 20px;text-align:center}.public-compare-hero h1{color:var(--color-text);font-size:26px;margin:0 0 8px}.public-compare-hero p{color:var(--color-text-muted);font-size:15px;margin:0 auto;max-width:480px}.public-compare-search-wrap{margin-bottom:20px;position:relative}.public-compare-search-wrap .search-icon{color:var(--color-text-muted);display:flex;left:14px;position:absolute;top:50%;transform:translateY(-50%)}.public-compare-search-wrap input{background:var(--color-surface);border:2px solid var(--color-border);border-radius:10px;border-radius:var(--radius-md,10px);box-sizing:border-box;color:var(--color-text);font-size:16px;padding:14px 14px 14px 42px;width:100%}.public-compare-search-wrap input:focus{border-color:var(--color-primary);outline:none}.public-compare-status{align-items:center;color:var(--color-text-muted);display:flex;font-size:14px;gap:8px;justify-content:center;padding:20px 0;text-align:center}.public-compare-results{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.public-compare-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);display:flex;gap:12px;padding:12px}.public-compare-card-image{background:var(--color-bg);border-radius:var(--radius-sm);flex-shrink:0;height:48px;object-fit:contain;padding:4px;width:48px}.public-compare-card-body{flex:1 1;min-width:0}.public-compare-card-name{color:var(--color-text);font-size:14.5px;font-weight:700;margin-bottom:6px}.public-compare-share{background:none;border:none;color:var(--color-text-muted);cursor:pointer;float:right;line-height:0;margin-left:8px;padding:2px}.public-compare-share:hover{color:var(--color-primary)}.public-compare-card-size{color:var(--color-text-muted);font-weight:500}.public-compare-card-prices{display:flex;flex-direction:column;gap:4px;margin-top:6px}.public-compare-price-row{align-items:baseline;color:var(--color-text-muted);display:flex;font-size:14px;gap:12px}.public-compare-price-row>span:first-child{min-width:88px}.public-compare-price-row>span:nth-child(2){font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;min-width:56px}.public-compare-price-row.best{color:var(--color-text);font-weight:700}.public-compare-best-badge{background:var(--color-success);border-radius:8px;color:var(--color-on-primary);font-size:10px;font-weight:800;letter-spacing:.03em;padding:2px 7px}.public-compare-teaser{background:var(--color-surface);border:1px dashed var(--color-border);border-radius:10px;border-radius:var(--radius-md,10px);padding:24px 18px;text-align:center}.public-compare-teaser h2{font-size:17px;margin:0 0 8px}.public-compare-teaser p{color:var(--color-text-muted);font-size:14px;margin:0 0 16px}.public-compare-cta{background:var(--color-primary);border-radius:var(--radius-sm);color:var(--color-on-primary);display:inline-block;font-size:15px;font-weight:700;padding:12px 28px;text-decoration:none}.public-compare-footer{align-items:center;border-top:1px solid var(--color-border);display:flex;flex-direction:column;font-size:13px;gap:14px;margin-top:48px;padding-top:20px}.public-compare-footer-links{display:flex;gap:20px}.public-compare-footer a{color:var(--color-text-muted);text-decoration:none}.public-compare-footer a:hover{color:var(--color-text)}.public-compare-fresh{color:var(--color-text-muted);font-size:11.5px;line-height:1.5;margin:6px 2px 0}.feedback-fab{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:22px;bottom:16px;box-shadow:var(--shadow-md);color:var(--color-primary-dark);cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:700;gap:6px;padding:9px 14px;position:fixed;right:16px;transition:border-color .15s ease,color .15s ease;z-index:1001}.feedback-fab:hover{border-color:var(--color-primary);color:var(--color-primary)}body:has(.shop-total-bar) .feedback-fab{bottom:68px}.feedback-overlay{align-items:flex-end;background:var(--color-overlay);display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1002}@media (min-width:640px){.feedback-overlay{align-items:center}}.feedback-panel{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:440px;padding:22px 20px 20px;position:relative;width:100%}.feedback-close{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:24px;line-height:1;padding:4px 8px;position:absolute;right:10px;top:8px}.feedback-panel h3{font-size:17px;margin:0 0 4px}.feedback-intro{color:var(--color-text-muted);font-size:13px;margin:0 0 14px}.feedback-label{color:var(--color-text-muted);display:block;font-size:12px;font-weight:700;letter-spacing:.03em;margin-bottom:12px;text-transform:uppercase}.feedback-optional{font-weight:500;letter-spacing:0;text-transform:none}.feedback-label input,.feedback-label select,.feedback-label textarea{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);display:block;font-family:inherit;font-size:14px;font-weight:400;letter-spacing:0;margin-top:5px;padding:9px 11px;text-transform:none;width:100%}.feedback-label textarea{min-height:84px;resize:vertical}.feedback-label input:focus,.feedback-label select:focus,.feedback-label textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.feedback-hp{height:1px;left:-9999px;opacity:0;position:absolute;width:1px}.feedback-error{background:var(--color-danger-bg);border:1px solid var(--color-danger-border);border-radius:var(--radius-sm);color:var(--color-danger);font-size:13px;font-weight:600;margin-bottom:12px;padding:8px 10px}.feedback-submit{background:var(--color-primary);border:none;border-radius:var(--radius-sm);color:var(--color-on-primary);cursor:pointer;font-family:inherit;font-size:14px;font-weight:700;padding:11px;transition:background-color .15s ease;width:100%}.feedback-submit:hover:not(:disabled){background:var(--color-primary-dark)}.feedback-submit:disabled{cursor:not-allowed;opacity:.55}.feedback-done{padding:10px 0 4px;text-align:center}.feedback-done h3{margin-bottom:6px}.feedback-done p{color:var(--color-text-muted);font-size:14px;margin:0 0 16px}.account-page{color:var(--color-text);margin:0 auto;max-width:560px;padding:24px 18px 60px}.account-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:18px}.account-back{color:var(--color-primary-dark);font-size:14px;font-weight:600;text-decoration:none}.account-logout{background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;font-size:13px;padding:6px 12px}.account-page h1{font-size:22px;margin:0 0 6px}.account-whoami{color:var(--color-text-muted);font-size:13px;margin:0 0 16px}.account-whoami strong{color:var(--color-text);font-weight:700}.account-whoami-email{opacity:.8}.account-banner{border-radius:var(--radius-sm);font-size:13.5px;margin-bottom:14px;padding:10px 14px}.account-banner.ok{background:var(--color-success-light);color:var(--color-success-text)}.account-banner.err{background:var(--color-warn-bg);color:var(--color-danger)}.account-plan-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:16px;padding:16px}.account-plan-name{font-size:18px;font-weight:800}.account-plan-meta{color:var(--color-text-muted);font-size:13px;margin-top:4px}.account-actions{display:flex;flex-wrap:wrap;gap:10px}.account-actions button,.account-buy button{background:var(--color-primary);border:none;border-radius:var(--radius-sm);color:var(--color-on-primary);cursor:pointer;font-size:14px;font-weight:700;padding:10px 16px}.account-actions button:disabled,.account-buy button:disabled{cursor:default;opacity:.5}.account-actions .ghost{background:none;border:1px solid var(--color-border);color:var(--color-text-muted)}.account-buy button.paypal{background:#ffc439;color:#111}.account-buy button{align-items:center;display:inline-flex;gap:7px}.account-buy-lock{opacity:.85}.account-pay-trust{color:var(--color-text-muted);font-size:12px;margin:8px 0 0}.stripe-wordmark{color:#635bff;font-weight:700;letter-spacing:-.02em}:root[data-theme=dark] .stripe-wordmark{color:#a5a0ff}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .stripe-wordmark{color:#a5a0ff}}.account-upgrade{background:var(--color-bg);border:1px solid var(--color-primary-light);border-radius:var(--radius-md);padding:18px}.account-upgrade h2{align-items:baseline;display:flex;font-size:17px;gap:8px;margin:0 0 12px}.account-price{color:var(--color-primary-dark);font-size:14px;font-weight:700}.account-features{font-size:14px;line-height:1.7;margin:0 0 16px;padding-left:20px}.account-buy{display:flex;flex-wrap:wrap;gap:10px}.account-soon{color:var(--color-text-muted);font-size:13.5px;margin:0}.account-pref{margin-top:22px}.account-toggle{align-items:flex-start;cursor:pointer;display:flex;font-size:14px;gap:10px;line-height:1.4}.account-toggle input{margin-top:2px}.account-handle{border-top:1px solid var(--color-border);margin-top:26px;padding-top:20px}.account-handle label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}.account-handle-hint{color:var(--color-text-muted);font-weight:400}.account-handle-row{display:flex;gap:8px}.account-handle-row input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);flex:1 1;font-family:inherit;font-size:14px;padding:9px 12px}.account-handle-row button{background:var(--color-primary);border:none;border-radius:var(--radius-sm);color:var(--color-on-primary);cursor:pointer;font-size:13px;font-weight:700;padding:0 16px}.account-handle-msg{color:var(--color-text-muted);font-size:12.5px;margin-top:6px}.account-security{border:1px solid var(--color-border);border-radius:var(--radius-md);margin-top:24px;padding:4px 16px}.account-security>summary{cursor:pointer;font-size:14px;font-weight:700;padding:12px 0}.account-sec-form{border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:8px;padding:8px 0 16px}.account-sec-form h3{font-size:13px;margin:8px 0 2px}.account-sec-current{color:var(--color-text-muted);font-size:12px;margin:0}.account-sec-form input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-family:inherit;font-size:14px;padding:9px 11px}.account-sec-form button{align-self:flex-start;background:var(--color-primary);border:none;border-radius:var(--radius-sm);color:var(--color-on-primary);cursor:pointer;font-size:13px;font-weight:700;padding:9px 16px}.account-sec-msg{color:var(--color-text-muted);font-size:12.5px}.account-footer{border-top:1px solid var(--color-border);display:flex;flex-wrap:wrap;font-size:13px;gap:12px 18px;justify-content:space-between;margin-top:36px;padding-top:18px}.account-footer-links{display:flex;gap:18px}.account-footer a{color:var(--color-text-muted);text-decoration:none}.info-page{color:var(--color-text);margin:0 auto;max-width:640px;padding:24px 20px 80px}.info-head{align-items:center;border-bottom:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:24px;padding-bottom:14px}.info-back{color:var(--color-primary-dark);font-weight:700;text-decoration:none}.info-nav{display:flex;font-size:14px;gap:16px}.info-nav a{color:var(--color-text-muted);text-decoration:none}.info-nav a:hover{color:var(--color-text)}.info-body h1{font-size:26px;margin:0 0 8px}.info-body h2{font-size:17px;margin:28px 0 8px}.info-body li,.info-body p{color:var(--color-text);font-size:15px;line-height:1.6}.info-body ul{margin:8px 0;padding-left:22px}.info-body li{margin:5px 0}.info-body a{color:var(--color-primary-dark)}.info-updated{color:var(--color-text-muted);font-size:13px;margin-top:0}.info-foot{border-top:1px solid var(--color-border);margin-top:40px;padding-top:20px}.App{background:var(--color-bg)}.App,.app-shell{min-height:100vh}.app-foot{align-items:center;border-top:1px solid var(--color-border);display:flex;flex-wrap:wrap;font-size:13px;gap:12px 20px;justify-content:space-between;margin:0 auto;max-width:1200px;padding:24px 20px 40px}.app-foot-links{display:flex;gap:18px}.app-foot-links a{color:var(--color-text-muted);text-decoration:none}.app-foot-links a:hover{color:var(--color-text)}.App-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);gap:16px;justify-content:space-between;padding:8px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.App-header,.header-left{align-items:center;display:flex}.header-left{gap:10px}.App-logo{height:46px;width:auto}.primary-nav{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;gap:4px;padding:4px}.primary-nav-tab{align-items:center;background:#0000;border:none;border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;display:flex;font-size:14px;font-weight:700;gap:7px;padding:9px 20px;transition:background-color .15s ease,color .15s ease}.primary-nav-tab svg{flex-shrink:0}.primary-nav-tab:hover{color:var(--color-text)}.primary-nav-tab.active{background:var(--color-primary);box-shadow:var(--shadow-sm);color:var(--color-on-primary)}.header-actions{align-items:center;display:flex;gap:12px}.header-user{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-user,.logout-button{color:var(--color-text-muted);font-size:13px;font-weight:600}.logout-button{background:#0000;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;padding:8px 16px;transition:all .15s ease}.logout-button:hover{background:var(--color-bg);border-color:var(--color-icon-faint);color:var(--color-text)}.admin-link{background:#0000;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;text-decoration:none;transition:all .15s ease}.admin-link,.header-actions .logout-button{align-items:center;display:inline-flex;line-height:1}.admin-link:hover{background:var(--color-bg);border-color:var(--color-icon-faint);color:var(--color-text)}main{margin:0 auto;max-width:1200px;padding:20px 20px 40px}.loading{align-items:center;background:var(--color-bg);display:flex;font-size:18px;height:100vh;justify-content:center}.empty-state,.loading{color:var(--color-text-muted)}.empty-state{background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-md);font-size:14px;margin:10px 0;padding:28px 20px;text-align:center}body:has(.shop-total-bar) .app-shell{padding-bottom:76px}@media (max-width:768px){.App-header{flex-wrap:wrap;gap:8px 10px;padding:8px 12px}.header-left{order:1}.header-actions{margin-left:auto;order:2}.primary-nav{flex-basis:100%;justify-content:center;order:3}.admin-link,.header-actions .logout-button{font-size:12px;padding:6px 10px}.App-logo{height:36px}.primary-nav-tab{font-size:13px;padding:8px 14px}.header-user{display:none}main{padding:14px 12px 32px}}@media (max-width:480px){.primary-nav-tab span{display:none}.primary-nav-tab{padding:8px 12px}}
/*# sourceMappingURL=main.cce8d447.css.map*/