*,*:before,*:after{box-sizing:border-box}:root{--paper: #f4f3ee;--paper-2: #e9e7dd;--surface: #ffffff;--surface-soft: #faf9f4;--ink: #20222e;--ink-soft: #45485a;--muted: #5c5f70;--faint: #686b7e;--line: #e4e2da;--line-strong: #d4d2c8;--brand: #3b4a8c;--brand-deep: #2c3a73;--brand-soft: #eef0f8;--camel: #b08a4b;--good: #3e7b57;--good-deep: #2f6446;--good-soft: #e7f0e9;--warn: #b7822b;--warn-deep: #8a611c;--warn-soft: #f7efdd;--bad: #b0432e;--bad-deep: #863021;--bad-soft: #f6e7e2;--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--shadow: 0 1px 2px rgba(36, 31, 26, .04), 0 1px 3px rgba(36, 31, 26, .05);--shadow-md: 0 2px 6px rgba(36, 31, 26, .05), 0 6px 16px rgba(36, 31, 26, .06);--font-ui: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display: "Fraunces", Georgia, "Times New Roman", serif}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;font-family:var(--font-ui);background:var(--paper);color:var(--ink);min-height:100vh;min-height:100dvh;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.eyebrow,.panel h2,.detail-chart-head h2,.stat-label{font-size:.68rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.header{padding:1rem 2rem;border-bottom:1px solid var(--line);background:var(--surface);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.header-brand{display:flex;align-items:center;gap:.7rem}.brand-mark{width:34px;height:34px;border-radius:9px;background:var(--brand);color:var(--paper);display:flex;align-items:center;justify-content:center;flex-shrink:0}.header-brand h1{margin:0;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-family:var(--font-display);font-size:1.4rem;font-weight:600;letter-spacing:-.01em;color:var(--ink);line-height:1.1}.demo-badge{font-family:var(--font-body);font-size:.64rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--warn-deep);background:var(--warn-soft);border:1px solid var(--warn);padding:.15rem .5rem;border-radius:999px;cursor:help;white-space:nowrap}.header-brand p{margin:.1rem 0 0;font-size:.78rem;color:var(--muted)}.alert-hint{margin:.5rem 0 0;padding:.55rem .75rem;font-size:.78rem;line-height:1.45;color:var(--warn-deep);background:var(--warn-soft);border-left:3px solid var(--warn);border-radius:4px}.waking-banner{display:flex;align-items:center;gap:.55rem;margin:0 0 1rem;padding:.6rem .9rem;font-size:.8rem;color:var(--warn-deep);background:var(--warn-soft);border:1px solid var(--warn);border-radius:8px}.waking-spinner{flex:none;width:.85rem;height:.85rem;border:2px solid var(--warn);border-top-color:transparent;border-radius:50%;animation:waking-spin .9s linear infinite}@keyframes waking-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.waking-spinner{animation:none;border-top-color:var(--warn);opacity:.5}}.auth-row--logged{display:flex;align-items:center;gap:.75rem}.auth-email{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--ink-soft);background:var(--surface-soft);border:1px solid var(--line);padding:.35rem .75rem;border-radius:999px}.auth-email--button{font-family:inherit;cursor:pointer;max-width:22ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-email--button:hover{border-color:var(--camel);color:var(--ink)}.account-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:1.5rem;background:#20222e73;overflow-y:auto}.account-card{width:min(560px,100%);background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1.5rem;box-shadow:0 8px 32px #241f1a2e}.account-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.account-card h2{margin:0;font-size:1.15rem}.account-card h3{margin:0 0 .35rem;font-size:.92rem}.account-close{border:1px solid var(--line);background:var(--surface-soft);color:var(--muted);border-radius:8px;padding:.3rem;cursor:pointer;line-height:0}.account-close:hover{color:var(--ink);border-color:var(--line-strong)}.account-lead{margin:.35rem 0 1.1rem;font-size:.85rem;color:var(--muted);overflow-wrap:break-word;overflow-wrap:anywhere}.account-section{padding-top:1.1rem;margin-top:1.1rem;border-top:1px solid var(--line)}.account-section p{margin:0 0 .75rem;font-size:.85rem;line-height:1.5;color:var(--ink-soft)}.account-msg{padding:.7rem .85rem;border-radius:10px;font-size:.83rem;line-height:1.45}.account-msg--ok{color:var(--good-deep);background:var(--good-soft);border:1px solid var(--good)}.account-msg--bad{color:var(--bad-deep);background:var(--bad-soft);border:1px solid var(--bad)}.account-danger{margin:0 0 .9rem;padding:.8rem .9rem;border:1px solid var(--warn);background:var(--warn-soft);border-radius:10px;color:var(--warn-deep);font-size:.83rem}.account-danger strong{display:block;margin-bottom:.3rem}.account-danger p{margin:0;font-size:.83rem;color:var(--warn-deep)}.account-danger a{color:var(--warn-deep);font-weight:600}.account-codes{margin:.6rem 0 0;padding-left:1.1rem;font-size:.8rem}.account-codes code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;-webkit-user-select:all;user-select:all}.account-confirm label{display:block;font-size:.83rem;color:var(--ink-soft);margin-bottom:.4rem}.account-confirm input{width:100%;padding:.5rem .7rem;font-size:.9rem;font-family:inherit;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface-soft);margin-bottom:.7rem}.account-actions{display:flex;flex-wrap:wrap;gap:.6rem}.btn-quiet-app,.btn-danger{font-family:inherit;font-size:.85rem;font-weight:600;padding:.5rem .95rem;border-radius:8px;cursor:pointer}.btn-quiet-app{border:1px solid var(--line-strong);background:var(--surface-soft);color:var(--ink-soft)}.btn-quiet-app:hover:not(:disabled){border-color:var(--camel);color:var(--ink)}.btn-danger{border:1px solid var(--bad);background:var(--bad);color:#fff}.btn-danger:hover:not(:disabled){background:var(--bad-deep);border-color:var(--bad-deep)}.btn-quiet-app:disabled,.btn-danger:disabled{opacity:.55;cursor:not-allowed}.account-foot{margin:1.1rem 0 0;font-size:.78rem;color:var(--muted)}.quota-notice{margin-top:.75rem;padding:.75rem .9rem;border:1px solid var(--warn);background:var(--warn-soft);border-radius:10px;font-size:.85rem;color:var(--warn-deep)}.quota-notice p{margin:0 0 .6rem;line-height:1.45}.quota-notice-cta{display:inline-block;font-weight:600;color:var(--warn-deep);text-decoration:underline;text-underline-offset:2px}.quota-notice-cta:hover{color:var(--camel)}.plan-badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;padding:.35rem .75rem;border-radius:999px;border:1px solid var(--line);text-decoration:none;white-space:nowrap}.plan-badge--active{color:var(--good-deep);background:var(--good-soft);border-color:var(--good)}.plan-badge--expiring{color:var(--warn-deep);background:var(--warn-soft);border-color:var(--warn)}.plan-badge--free{color:var(--ink-soft);background:var(--surface-soft)}.plan-badge--free:hover,.plan-badge--expiring:hover{border-color:var(--camel)}.plan-badge{max-width:100%}.btn-logout{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .9rem;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-soft);font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.btn-logout:hover{background:var(--bad-soft);border-color:var(--bad);color:var(--bad-deep)}.btn-login{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .9rem;border-radius:999px;border:1px solid var(--brand);background:var(--brand);color:#fff;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.btn-login:hover{background:var(--brand-deep);border-color:var(--brand-deep)}.dashboard{flex:1;padding:1.5rem 2rem 2.5rem;display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem;align-items:start}.sidebar{display:flex;flex-direction:column;gap:1.25rem;min-width:0}@media(min-width:960px){.dashboard{grid-template-columns:minmax(290px,330px) minmax(0,1fr)}.sidebar{position:sticky;top:1.5rem}}.panel,.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.15rem 1.25rem;box-shadow:var(--shadow);min-width:0}.card{padding:1.5rem}.panel h2{margin:0 0 .85rem;display:flex;align-items:center;gap:.5rem}.card h2{margin:0 0 1rem;font-size:1rem;color:var(--ink)}.count-badge{font-size:.7rem;font-weight:700;color:var(--brand-deep);background:var(--brand-soft);border-radius:999px;padding:.05rem .5rem;letter-spacing:0}.search-box{position:relative;display:flex;align-items:center;color:var(--muted)}.search-box-icon{position:absolute;left:.7rem;display:inline-flex;pointer-events:none;color:var(--faint)}.search-box input{width:100%;padding:.6rem .85rem .6rem 2.2rem;border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--surface-soft);color:var(--ink);font-size:.9rem;font-family:var(--font-ui);transition:border-color .15s,box-shadow .15s,background .15s}.search-box input::placeholder{color:var(--faint)}.search-box input:focus{outline:none;background:var(--surface);border-color:var(--brand);box-shadow:0 0 0 3px #3b4a8c29}.spinner{position:absolute;right:.7rem;width:14px;height:14px;border:2px solid var(--line-strong);border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.search-results{list-style:none;margin:.85rem 0 0;padding:0;display:flex;flex-direction:column;gap:.4rem}.search-item{display:flex;align-items:center;gap:.6rem;padding:.55rem .7rem;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface-soft);transition:border-color .15s,background .15s,transform .1s}.search-item:hover{border-color:var(--line-strong);background:var(--brand-soft)}.search-item-main{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1}.search-item-title{font-size:.85rem;font-weight:500;color:var(--ink);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-item-title:hover{color:var(--brand-deep);text-decoration:underline}.search-item-price{font-size:.8rem;font-weight:600;color:var(--good-deep);font-variant-numeric:tabular-nums}.btn-track{flex-shrink:0;display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .7rem;border-radius:var(--radius-sm);border:1px solid var(--brand);background:var(--brand);color:var(--paper);font-size:.72rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s,transform .1s,opacity .15s}.btn-track:hover:not(:disabled){background:var(--brand-deep);border-color:var(--brand-deep)}.btn-track:disabled{opacity:.6;cursor:wait}.empty-hint{margin:.85rem 0 0;font-size:.82rem;line-height:1.5;color:var(--muted)}.product-list{list-style:none;margin:0 0 .85rem;padding:0;display:flex;flex-direction:column;gap:.4rem}.product-card{display:flex;align-items:stretch;gap:.35rem;min-width:0;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface-soft);overflow:hidden;transition:border-color .15s,background .15s,transform .1s}.product-card:hover{border-color:var(--line-strong);transform:translateY(-1px)}.product-card.active{border-color:var(--brand);background:var(--brand-soft);box-shadow:inset 3px 0 0 var(--brand)}.product-card-btn{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem;padding:.6rem .75rem;border:none;background:transparent;cursor:pointer;text-align:left;font-family:var(--font-ui)}.product-card-name{font-size:.88rem;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-card-id{font-size:.7rem;color:var(--faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-card-remove{flex-shrink:0;width:2.1rem;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--faint);cursor:pointer;transition:background .15s,color .15s}.product-card-remove:hover:not(:disabled){background:var(--bad-soft);color:var(--bad)}.product-card-remove:disabled{cursor:wait;opacity:.6}.add-product{display:flex;gap:.4rem}.add-product input{flex:1;min-width:0;padding:.55rem .75rem;border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--surface-soft);color:var(--ink);font-size:.85rem;font-family:var(--font-ui)}.add-product input::placeholder{color:var(--faint)}.add-product input:focus{outline:none;background:var(--surface);border-color:var(--brand);box-shadow:0 0 0 3px #3b4a8c24}.add-product button{flex-shrink:0;width:2.4rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);border:1px solid var(--brand);background:var(--brand);color:var(--paper);cursor:pointer;transition:background .15s,transform .1s}.add-product button:hover:not(:disabled){background:var(--brand-deep)}.add-product button:disabled{opacity:.6;cursor:wait}.alert-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.alert-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-width:0;padding:.65rem .85rem;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface-soft)}.alert-item-info{display:flex;flex-direction:column;gap:.2rem;min-width:0}.alert-item-product{font-size:.88rem;font-weight:600;color:var(--ink);text-transform:capitalize}.alert-item-threshold{font-size:.78rem;color:var(--muted);display:flex;align-items:center;gap:.5rem;font-variant-numeric:tabular-nums}.alert-badge{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--good-deep);background:var(--good-soft);border:1px solid rgba(62,123,87,.35);padding:.1rem .45rem;border-radius:999px}.alert-item--dormant{opacity:.62;border-style:dashed}.alert-badge--dormant{color:var(--muted);background:transparent;border-color:var(--line-strong)}.alert-dormant-note{margin:0 0 .7rem;font-size:.76rem;line-height:1.45;color:var(--muted)}.alert-dormant-note a{color:var(--ink);font-weight:600;white-space:nowrap}.btn-icon-danger{flex-shrink:0;padding:.4rem .8rem;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:transparent;color:var(--bad-deep);font-size:.78rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.btn-icon-danger:hover{background:var(--bad-soft);border-color:var(--bad)}.detail{min-width:0}.detail-card{animation:fade-in .25s ease-out}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.detail-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.85rem;min-height:360px;padding:2rem;border:1px dashed var(--line-strong);border-radius:var(--radius-lg);color:var(--muted);text-align:center}.detail-empty-icon{display:inline-flex;color:var(--camel)}.detail-empty p{max-width:320px;margin:0;font-size:.92rem;line-height:1.5}.detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.detail-eyebrow{margin:0 0 .2rem;font-size:.7rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.price{margin:.1rem 0 0;font-family:var(--font-display);font-size:2.4rem;font-weight:600;letter-spacing:-.02em;line-height:1.05;color:var(--ink);font-variant-numeric:tabular-nums}.price-badge{margin-left:.55rem;font-family:var(--font-ui);font-size:.62rem;font-weight:700;color:var(--good-deep);background:var(--good-soft);border:1px solid rgba(62,123,87,.35);padding:.2rem .5rem;border-radius:999px;vertical-align:middle;letter-spacing:.03em;text-transform:uppercase}.discount-line{display:flex;align-items:center;gap:.5rem;margin-top:.3rem;font-variant-numeric:tabular-nums}.strike{text-decoration:line-through;color:var(--faint)}.discount-pct{color:var(--bad-deep);font-weight:600}.deal{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.15rem;padding:.85rem 1.1rem;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface-soft)}.deal--success{border-color:#3e7b5759;background:var(--good-soft)}.deal--warning{border-color:#b7822b59;background:var(--warn-soft)}.deal--danger{border-color:#b0432e52;background:var(--bad-soft)}.deal-signal{display:flex;flex-direction:column;gap:.15rem}.deal-label{font-family:var(--font-display);font-size:1.15rem;font-weight:600;letter-spacing:-.01em}.deal--success .deal-label{color:var(--good-deep)}.deal--warning .deal-label{color:var(--warn-deep)}.deal--danger .deal-label{color:var(--bad-deep)}.deal--muted .deal-label{color:var(--ink-soft)}.deal-hint{font-size:.78rem;color:var(--muted)}.deal-score{display:flex;align-items:baseline;gap:.1rem;flex-shrink:0;font-family:var(--font-display)}.deal-score-value{font-size:1.65rem;font-weight:600;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}.deal-score-max{font-size:.8rem;color:var(--faint)}.position{margin-top:1.1rem}.position-labels{display:flex;justify-content:space-between;font-size:.72rem;color:var(--muted);margin-bottom:.4rem;font-variant-numeric:tabular-nums}.position-track{position:relative;height:7px;border-radius:999px;background:var(--paper-2)}.position-fill{position:absolute;left:0;top:0;height:7px;border-radius:999px;transition:width .4s ease}.position-fill--success{background:var(--good)}.position-fill--warning{background:var(--warn)}.position-fill--danger{background:var(--bad)}.position-fill--muted{background:var(--camel)}.position-marker{position:absolute;top:-3.5px;width:14px;height:14px;border-radius:50%;background:var(--surface);border:2px solid var(--ink);transform:translate(-50%);box-shadow:var(--shadow);transition:left .4s ease}.segmented{display:inline-flex;margin-top:1.15rem;padding:.2rem;gap:.15rem;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface-soft)}.segmented-btn{padding:.35rem .85rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--muted);font-size:.78rem;font-weight:600;cursor:pointer;font-family:var(--font-ui);transition:background .15s,color .15s}.segmented-btn:hover{color:var(--ink)}.segmented-btn.active{background:var(--brand);color:var(--paper)}.stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.6rem;margin-top:1.15rem}.stat{display:flex;flex-direction:column;gap:.3rem;padding:.7rem .75rem;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface-soft)}.stat-value{font-size:.92rem;font-weight:700;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums}.stat-value--low{color:var(--good-deep)}.stat-value--high{color:var(--bad-deep)}@media(max-width:900px){.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:901px)and (max-width:1180px){.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:520px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.detail-chart{margin-top:1.4rem}.detail-chart-head h2{margin:0 0 .5rem}.chart-container{height:340px;min-width:0}.chart-container canvas{max-width:100%}.detail-meta{margin-top:1rem}.meta{margin:.2rem 0 0;font-size:.82rem;color:var(--muted)}.meta a{color:var(--brand-deep);text-decoration:none;font-weight:500}.meta a:hover{text-decoration:underline}.title{margin-top:.4rem;font-size:.9rem;color:var(--ink-soft);line-height:1.4}.form{display:flex;flex-direction:column;gap:.75rem}.alert-form{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--line)}.login-cta{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.login-cta-text p{margin:0;font-size:.85rem;max-width:42ch}.btn-cta{flex-shrink:0;width:auto;padding:.55rem 1.1rem}.alert-form-title{margin:0 0 .5rem;font-size:.95rem;color:var(--ink);font-weight:600}.alert-field{display:flex;flex-direction:column;gap:.4rem}.alert-field label{font-size:.8rem;font-weight:500;color:var(--muted)}.alert-controls{display:flex;flex-wrap:wrap;gap:.6rem}.alert-controls input{flex:1 1 12rem;min-width:0;padding:.6rem .85rem;border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--surface-soft);color:var(--ink);font-size:.9rem;font-family:var(--font-ui);font-variant-numeric:tabular-nums}.alert-controls input:focus{outline:none;background:var(--surface);border-color:var(--brand);box-shadow:0 0 0 3px #3b4a8c24}.btn-alert{flex-shrink:0;display:inline-flex;align-items:center;padding:.6rem 1.1rem;border-radius:var(--radius);border:1px solid var(--good);background:var(--good);color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;white-space:nowrap;font-family:var(--font-ui);transition:background .15s,transform .1s}.btn-alert:hover:not(:disabled){background:var(--good-deep)}.btn-alert:disabled{opacity:.6;cursor:wait}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.error{color:var(--bad-deep);font-size:.85rem;padding:.5rem .75rem;background:var(--bad-soft);border:1px solid rgba(176,67,46,.25);border-radius:var(--radius-sm);margin-top:.5rem}.muted{color:var(--muted);font-size:.875rem}.auth-page{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem 1rem}.auth-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-md)}.auth-card-logo{text-align:center;margin-bottom:1.5rem}.auth-back{display:block;width:100%;margin-top:1.25rem;padding:.4rem;background:none;border:none;color:var(--muted);font-size:.85rem;cursor:pointer;text-align:center}.auth-back:hover{color:var(--brand);text-decoration:underline}.auth-card-logo h2{margin:0 0 .35rem;font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--ink)}.auth-card-logo p{margin:0;font-size:.85rem;color:var(--muted)}.auth-tabs{display:flex;gap:.3rem;padding:.25rem;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:1.25rem}.auth-tab{flex:1;padding:.5rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--muted);font-size:.85rem;font-weight:600;cursor:pointer;font-family:var(--font-ui);transition:background .15s,color .15s}.auth-tab.active{background:var(--surface);color:var(--brand-deep);box-shadow:var(--shadow)}.auth-fields{display:flex;flex-direction:column;gap:.85rem}.input-group{display:flex;flex-direction:column;gap:.35rem}.input-group label{font-size:.8rem;font-weight:500;color:var(--muted)}.input-group input{padding:.65rem .85rem;border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--surface-soft);color:var(--ink);font-size:.9rem;font-family:var(--font-ui)}.input-group input:focus{outline:none;background:var(--surface);border-color:var(--brand);box-shadow:0 0 0 3px #3b4a8c24}.btn-primary{width:100%;padding:.8rem 1.25rem;border-radius:var(--radius);border:1px solid var(--brand);background:var(--brand);color:var(--paper);font-size:.95rem;font-weight:600;cursor:pointer;font-family:var(--font-ui);transition:background .15s,transform .1s}.btn-primary:hover:not(:disabled){background:var(--brand-deep)}.btn-primary:disabled{opacity:.6;cursor:wait}@keyframes skeleton-pulse{0%{opacity:.55}50%{opacity:.9}to{opacity:.55}}.skeleton{border-radius:var(--radius);background:linear-gradient(100deg,var(--paper-2),var(--line),var(--paper-2));animation:skeleton-pulse 1.3s ease-in-out infinite}.skeleton--summary{height:120px;margin-top:1.25rem}.skeleton--chart{height:340px;margin-top:.75rem}.skeleton--row{height:44px}.toast-container{position:fixed;bottom:1.5rem;right:1.5rem;bottom:calc(1.5rem + env(safe-area-inset-bottom,0px));right:calc(1.5rem + env(safe-area-inset-right,0px));z-index:1000;display:flex;flex-direction:column;gap:.6rem;max-width:min(360px,calc(100vw - 2rem))}.toast{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.8rem 1rem;border-radius:var(--radius);font-size:.875rem;font-weight:500;color:var(--ink);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-md);animation:toast-in .2s ease-out}@keyframes toast-in{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.toast--success{border-left:3px solid var(--good)}.toast--error{border-left:3px solid var(--bad)}.toast-close{flex-shrink:0;border:none;background:transparent;color:var(--faint);font-size:1.2rem;line-height:1;cursor:pointer;padding:0 .25rem}.toast-close:hover{color:var(--ink)}.auth-loading{flex:1;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.9rem}.explore-form{display:flex;flex-direction:column;gap:.85rem}.input-group select{padding:.65rem .85rem;border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--surface-soft);color:var(--ink);font-size:.9rem;font-family:var(--font-ui);cursor:pointer}.input-group select:focus{outline:none;background:var(--surface);border-color:var(--brand);box-shadow:0 0 0 3px #3b4a8c24}.input-group select:disabled{opacity:.6;cursor:not-allowed}.price-unit{font-family:var(--font-ui);font-size:1rem;font-weight:500;color:var(--muted);margin-left:.25rem;letter-spacing:0}.btn-fav{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .85rem;border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--surface-soft);color:var(--ink-soft);font-size:.85rem;font-weight:600;font-family:var(--font-ui);cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}.btn-fav:hover:not(:disabled){background:var(--brand-soft);border-color:var(--brand);color:var(--brand-deep)}.btn-fav--on{background:var(--good-soft);border-color:#3e7b5766;color:var(--good-deep);cursor:default}.btn-fav:disabled:not(.btn-fav--on){opacity:.6;cursor:wait}.ranking{margin-top:1.5rem}.ranking-date{font-size:.78rem;color:var(--muted)}.ranking-list{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.35rem}.ranking-row{display:grid;grid-template-columns:1.5rem minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.6rem .75rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-soft)}.ranking-row--best{border-color:#3e7b5766;background:var(--good-soft)}.ranking-pos{font-variant-numeric:tabular-nums;font-weight:700;color:var(--muted);text-align:center}.ranking-row--best .ranking-pos{color:var(--good-deep)}.ranking-info{display:flex;flex-direction:column;gap:.15rem;min-width:0}.ranking-name{display:flex;align-items:baseline;gap:.5rem;min-width:0;font-size:.9rem;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ranking-loc{display:inline-flex;align-items:center;gap:.25rem;width:fit-content;max-width:100%;font-size:.76rem;color:var(--muted);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .15s ease}.ranking-loc:hover{color:var(--brand);text-decoration:underline}.ranking-loc svg{flex-shrink:0}.ranking-brand{font-size:.72rem;color:var(--muted);background:var(--paper-2);padding:.1rem .4rem;border-radius:999px;white-space:nowrap}.ranking-price{font-family:var(--font-display);font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap}.ranking-row--best .ranking-price{color:var(--good-deep)}.header{position:relative;overflow:hidden}.header>*{position:relative;z-index:1}.header-wire{position:absolute;z-index:0;left:0;right:0;bottom:0;height:28px;pointer-events:none}.header-wire svg{display:block;width:100%;height:100%}.header-wire-dot{position:absolute;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:50%;background:var(--camel);box-shadow:0 0 10px 4px #b08a4b59;opacity:0}.btn-primary:has(.fuel-gauge){display:flex;align-items:center;justify-content:center;gap:.5rem}.fuel-gauge{flex-shrink:0}.fuel-gauge-needle{transform-origin:16px 15px;animation:fuel-sweep 1.9s cubic-bezier(.45,.05,.3,1) infinite}@keyframes fuel-sweep{0%{transform:rotate(-58deg)}60%,to{transform:rotate(56deg)}}.auth-page{position:relative;overflow:hidden;isolation:isolate}.backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none}.backdrop-layer{position:absolute;top:-4%;right:-4%;bottom:-4%;left:-4%;will-change:transform}.backdrop-layer svg{display:block;width:100%;height:100%}.backdrop-pulse{transform-box:fill-box;transform-origin:center;animation:backdrop-ring 2.8s ease-out infinite}@keyframes backdrop-ring{0%{transform:scale(.35);opacity:.7}70%,to{transform:scale(3.2);opacity:0}}.auth-card{position:relative;z-index:1}@media(prefers-reduced-motion:reduce){.backdrop-pulse{animation:none;opacity:.25}.backdrop-layer{will-change:auto}.fuel-gauge-needle{animation:none}}.site-footer{margin-top:auto;padding:1.5rem 2rem 2rem;border-top:1px solid var(--line);background:var(--surface);display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.site-footer-source{margin:0;font-size:.78rem;color:var(--muted);max-width:46ch;line-height:1.5}.site-footer-links{display:flex;gap:1.1rem;flex-wrap:wrap}.site-footer-links a{font-size:.78rem;font-weight:600;color:var(--muted);text-decoration:none}.site-footer-links a:hover{color:var(--brand);text-decoration:underline}@media(max-width:640px){.site-footer{padding:1.25rem 1.25rem 1.75rem}.dashboard{padding:1rem 1rem 2rem}.header{padding:1rem 1.25rem}.segmented{width:100%;justify-content:space-between}.header{flex-direction:column;align-items:stretch;gap:.7rem}.header-brand{flex-direction:column;align-items:flex-start;gap:.15rem;min-width:0}.header-brand h1{font-size:1.25rem}.auth-row,.auth-row--logged{flex-wrap:wrap;gap:.5rem}.plan-badge{flex:1 1 100%;justify-content:center}.auth-email--button{flex:1 1 0;min-width:0;max-width:none}.btn-logout{flex:0 0 auto}.segmented-btn{padding:.4rem .5rem;white-space:nowrap}.ranking-row{grid-template-columns:1.5rem minmax(0,1fr);gap:.5rem .65rem}.ranking-name{display:block;white-space:normal;overflow:visible;overflow-wrap:break-word;overflow-wrap:anywhere;line-height:1.3}.ranking-brand{display:inline-block;margin-left:.35rem}.ranking-loc{white-space:normal;overflow:visible;line-height:1.35}.ranking-price{grid-column:2;justify-self:start;font-size:1.05rem}.detail-head{flex-direction:column;align-items:stretch;gap:.75rem}.detail-head-info{min-width:0}.btn-fav{justify-content:center}.price{font-size:2rem}.alert-controls input{flex:1 1 100%}.btn-alert{flex:1 1 100%;justify-content:center}}@media(max-width:768px){.search-box input,.alert-controls input,.explore-form select,.input-group select,.input-group input,.auth-form input,.account-panel input,input[type=text],input[type=email],input[type=password],input[type=number],select,textarea{font-size:16px}}@media(pointer:coarse){.btn-login,.btn-logout,.auth-email--button,.segmented-btn,.btn-icon-danger,.product-card-remove,.account-close,.btn-quiet-app,.btn-danger,.btn-fav,.btn-alert,.auth-tab,.auth-back,.plan-badge{min-height:44px}.product-card-remove{width:44px}.account-close{width:44px;min-width:44px}.site-footer-links a,.ranking-loc{padding-top:.35rem;padding-bottom:.35rem}}@media(max-width:640px){.panel h2,.card h2{font-size:.82rem}.stat-label,.detail-eyebrow,.product-card-id,.legal-eyebrow,.alert-badge,.alert-badge--dormant{font-size:.75rem}}@media(max-width:360px){.dashboard{padding:.85rem .75rem 2rem}.panel,.card{padding:1rem .85rem}.segmented-btn{padding:.4rem .3rem;font-size:.74rem}.stat{padding:.6rem .55rem}.stat-label{overflow-wrap:break-word;overflow-wrap:anywhere}.stat-value{white-space:normal}.price{font-size:1.75rem}}
