:root{--color-bg:#f2f2f7;--color-surface:#fff;--color-surface-muted:#f2f2f7;--color-fill:#7676801f;--color-pressed:#00000014;--color-border:#c6c6c8;--color-separator:#3c3c434a;--color-text:#000;--color-text-muted:#6c6c70;--color-text-tertiary:#8a8a8e;--color-primary:#0f766e;--color-primary-hover:#0b5f58;--color-primary-soft:#e0f0ee;--color-on-primary:#fff;--color-danger:#d70015;--color-danger-soft:#fdeaea;--color-success:#1e7b34;--color-success-soft:#e7f4ea;--color-warning:#a05a00;--color-warning-soft:#fff3e0;--color-info:#3634a3;--color-info-soft:#ecebfb;--color-focus:#0f766e;--glass-bg:#fafafcb8;--glass-border:#00000014;--glass-highlight:#ffffffb3;--glass-shadow:0 8px 28px #0000001f, 0 1px 3px #00000014;--glass-blur:blur(24px) saturate(1.5);--font-sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--text-large-title:700 2.125rem/1.206;--text-title1:700 1.75rem/1.214;--text-title2:700 1.375rem/1.273;--text-title3:600 1.25rem/1.25;--text-headline:600 1.0625rem/1.294;--text-body:400 1.0625rem/1.294;--text-callout:400 1rem/1.3125;--text-subhead:400 .9375rem/1.333;--text-footnote:400 .8125rem/1.385;--text-caption1:400 .75rem/1.333;--text-caption2:400 .6875rem/1.182;--radius-sm:10px;--radius-md:12px;--radius-lg:16px;--radius-pill:999px;--touch:44px;--control-lg:50px;--tab-height:62px;--tab-gap:10px;--nav-height:calc(var(--tab-height) + var(--tab-gap));--content-max:600px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--color-bg:#000;--color-surface:#1c1c1e;--color-surface-muted:#2c2c2e;--color-fill:#7676803d;--color-pressed:#ffffff1a;--color-border:#48484a;--color-separator:#54545899;--color-text:#fff;--color-text-muted:#aeaeb2;--color-text-tertiary:#7c7c80;--color-primary:#2dd4bf;--color-primary-hover:#5eead4;--color-primary-soft:#0f3a36;--color-on-primary:#00201c;--color-danger:#ff6961;--color-danger-soft:#3b1715;--color-success:#30d158;--color-success-soft:#0f2e18;--color-warning:#ffb340;--color-warning-soft:#3a2708;--color-info:#9d9bff;--color-info-soft:#1e1d45;--color-focus:#2dd4bf;--glass-bg:#1e1e20b3;--glass-border:#ffffff1a;--glass-highlight:#ffffff14;--glass-shadow:0 8px 28px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}@media (prefers-contrast:more){:root{--color-text-muted:#3c3c43;--color-text-tertiary:#6c6c70;--color-border:#8e8e93;--color-separator:#3c3c4399}}@media (prefers-contrast:more) and (prefers-color-scheme:dark){:root{--color-text-muted:#d1d1d6;--color-text-tertiary:#aeaeb2;--color-border:#8e8e93;--color-separator:#aeaeb299}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{background:var(--color-bg);min-height:100dvh;color:var(--color-text);font:var(--text-body) var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;line-height:1.4}h1,h2,h3,p{margin:0}a{color:var(--color-primary)}button,input,select,textarea{font:inherit;color:inherit}::placeholder{color:var(--color-text-muted);opacity:1}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.nav-bar{z-index:10;padding:env(safe-area-inset-top) 8px 0;transition:background-color .2s,box-shadow .2s;position:sticky;top:0}.nav-bar[data-scrolled]{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:0 .5px 0 var(--glass-border)}.nav-bar__inner{max-width:var(--content-max);grid-template-columns:var(--touch) minmax(0, 1fr) var(--touch);align-items:center;gap:8px;min-height:52px;margin:0 auto;display:grid}.nav-bar__title{font:var(--text-headline) var(--font-sans);text-align:center;text-overflow:ellipsis;white-space:nowrap;grid-column:2;transition:opacity .2s;overflow:hidden}.nav-bar__title[data-hidden]{opacity:0}.large-title{flex-direction:column;gap:2px;padding:0 0 4px;display:flex}.large-title__text{font:var(--text-large-title) var(--font-sans);letter-spacing:.012em}.large-title__subtitle{font:var(--text-subhead) var(--font-sans);color:var(--color-text-muted)}.app-main{width:100%;max-width:var(--content-max);padding:0 16px calc(var(--nav-height) + env(safe-area-inset-bottom) + 28px);flex-direction:column;flex:1;gap:24px;margin:0 auto;display:flex}.app-shell:after{content:"";z-index:15;height:calc(var(--tab-height) + env(safe-area-inset-bottom) + 36px);background:linear-gradient(to top, var(--color-bg) 35%, transparent);pointer-events:none;position:fixed;inset:auto 0 0}.bottom-nav{z-index:20;left:50%;bottom:calc(env(safe-area-inset-bottom) + var(--tab-gap));width:min(calc(100% - 24px), calc(var(--content-max) - 16px));border-radius:var(--radius-pill);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--glass-shadow), inset 0 0 0 .5px var(--glass-border), inset 0 1px 0 var(--glass-highlight);position:fixed;transform:translate(-50%)}.bottom-nav__list{height:var(--tab-height);grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:4px;list-style:none;display:grid}.bottom-nav__link{border-radius:var(--radius-pill);height:100%;font:600 .6875rem/1.18 var(--font-sans);color:var(--color-text);flex-direction:column;justify-content:center;align-items:center;gap:2px;text-decoration:none;transition:background-color .15s;display:flex}.bottom-nav__link:active{background:var(--color-pressed)}.bottom-nav__link[aria-current=page]{color:var(--color-primary);background:var(--color-fill)}.bottom-nav__link[aria-current=page] svg{stroke-width:2.4px}@media (prefers-reduced-transparency:reduce),(prefers-contrast:more){.nav-bar[data-scrolled],.bottom-nav{background:var(--color-surface);-webkit-backdrop-filter:none;backdrop-filter:none}.bottom-nav{box-shadow:0 0 0 1px var(--color-border)}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.nav-bar[data-scrolled],.bottom-nav{background:var(--color-surface)}}.offline-banner{background:var(--color-warning-soft);color:var(--color-warning);font:600 .9375rem/1.333 var(--font-sans);text-align:center;padding:8px 16px}.card{background:var(--color-surface);border-radius:var(--radius-lg);padding:16px}.stack{flex-direction:column;gap:12px;display:flex}section.stack{gap:8px}.section-title{font:var(--text-headline) var(--font-sans);color:var(--color-text);padding-top:4px}.stack:has(>.list,>.card)>.section-title{padding-inline:16px}.muted{color:var(--color-text-muted)}.small{font:var(--text-subhead) var(--font-sans)}.btn{min-height:var(--control-lg);border-radius:var(--radius-pill);font:var(--text-headline) var(--font-sans);cursor:pointer;border:0;justify-content:center;align-items:center;gap:8px;padding:0 22px;text-decoration:none;transition:background-color .15s,opacity .15s,filter .15s;display:inline-flex}.btn:disabled{opacity:.4;cursor:not-allowed}.btn:not(:disabled):active{filter:brightness(.9)}.btn--block{width:100%}.btn--primary{background:var(--color-primary);color:var(--color-on-primary)}.btn--primary:not(:disabled):hover{background:var(--color-primary-hover)}.btn--secondary{background:var(--color-fill);color:var(--color-primary)}.btn--ghost{color:var(--color-primary);min-height:var(--touch);background:0 0;padding:0 12px;font-weight:400}.btn--ghost:not(:disabled):active,.btn--destructive:not(:disabled):active{filter:none;opacity:.55}.btn--danger{background:var(--color-fill);color:var(--color-danger)}.btn--destructive{color:var(--color-danger);min-height:var(--touch);background:0 0;padding:0 12px;font-weight:400}.icon-btn{width:var(--touch);height:var(--touch);cursor:pointer;color:var(--color-text);background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.icon-btn:active{background:var(--color-pressed)}.icon-btn--glass{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:inset 0 0 0 .5px var(--glass-border), 0 2px 8px #00000014}@media (prefers-reduced-transparency:reduce),(prefers-contrast:more){.icon-btn--glass{background:var(--color-surface);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 0 0 1px var(--color-border)}}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}*,:before,:after{transition-duration:.01ms!important}}.field{flex-direction:column;gap:6px;display:flex}.field__label{font:500 .9375rem/1.333 var(--font-sans)}.field__control{display:flex;position:relative}.field__input{width:100%;min-height:var(--touch);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);font:var(--text-body) var(--font-sans);padding:10px 14px}.field__input:focus-visible{outline:2px solid var(--color-focus);outline-offset:-1px;border-color:#0000}.field__input[aria-invalid=true]{border-color:var(--color-danger)}.field__input--with-action{padding-right:56px}.field__action{height:100%;width:var(--touch);color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-md);background:0 0;border:0;place-items:center;display:grid;position:absolute;top:0;right:0}.field__hint{font:var(--text-footnote) var(--font-sans);color:var(--color-text-muted)}.field__error{font:500 .9375rem/1.333 var(--font-sans);color:var(--color-danger)}.switch-row{min-height:var(--touch);justify-content:space-between;align-items:center;gap:16px;display:flex}.switch-row input[type=checkbox]{appearance:none;border-radius:var(--radius-pill);background:var(--color-fill);cursor:pointer;flex:none;width:51px;height:31px;margin:0;transition:background-color .2s;position:relative}.switch-row input[type=checkbox]:after{content:"";background:#fff;border-radius:50%;width:27px;height:27px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 3px 8px #00000026,0 1px 1px #00000029}.switch-row input[type=checkbox]:checked{background:var(--color-primary)}.switch-row input[type=checkbox]:checked:after{transform:translate(20px)}.switch-row input[type=checkbox]:disabled{opacity:.4;cursor:not-allowed}input[type=checkbox],input[type=radio]{accent-color:var(--color-primary)}.alert{border-radius:var(--radius-md);font:var(--text-subhead) var(--font-sans);align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.alert svg{flex-shrink:0;margin-top:1px}.alert--error{background:var(--color-danger-soft);color:var(--color-danger)}.alert--success{background:var(--color-success-soft);color:var(--color-success)}.alert--info{background:var(--color-info-soft);color:var(--color-info)}.badge{border-radius:var(--radius-pill);font:600 .75rem/1.333 var(--font-sans);background:var(--color-fill);color:var(--color-text-muted);white-space:nowrap;align-items:center;padding:2px 9px;display:inline-flex}.badge--primary{background:var(--color-primary-soft);color:var(--color-primary)}.badge--danger{background:var(--color-danger-soft);color:var(--color-danger)}.list{background:var(--color-surface);border-radius:var(--radius-lg);margin:0;padding:0;list-style:none;overflow:hidden}.card .list{background:var(--color-surface-muted)}.list>li{position:relative}.list>li+li:before{content:"";background:var(--color-separator);transform-origin:top;pointer-events:none;height:1px;position:absolute;top:0;left:16px;right:0;transform:scaleY(.5)}.list>li:has(>.list__item>svg:first-child:not(.list__chevron))+li:before{left:54px}.list>li+li:has(>.list__item>svg:first-child:not(.list__chevron)):before{left:54px}.list__item{width:100%;min-height:var(--touch);text-align:left;color:var(--color-text);cursor:pointer;background:0 0;border:0;align-items:center;gap:16px;padding:11px 16px;text-decoration:none;transition:background-color .1s;display:flex}a.list__item:active,button.list__item:not(:disabled):active,label.list__item:active{background:var(--color-pressed)}.list__item>svg:first-child:not(.list__chevron){color:var(--color-primary);flex-shrink:0}.list__item--danger,.list__item--danger>svg:first-child:not(.list__chevron){color:var(--color-danger)}.list__body{flex:1;min-width:0}.list__title{font:var(--text-body) var(--font-sans);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.list__subtitle{font:var(--text-subhead) var(--font-sans);color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.list__chevron{color:var(--color-text-tertiary);flex-shrink:0;margin-right:-4px}.greeting__name{font:var(--text-title3) var(--font-sans);margin-top:-12px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.metric{background:var(--color-surface);border-radius:var(--radius-lg);min-height:112px;color:inherit;flex-direction:column;gap:2px;padding:14px 16px;text-decoration:none;transition:background-color .1s;display:flex}button.metric{text-align:left;cursor:pointer;border:0}a.metric:active,button.metric:active{background:var(--color-pressed)}.metrics>:last-child:nth-child(odd){grid-column:1/-1;min-height:0}.metric__label{font:600 .8125rem/1.385 var(--font-sans);color:var(--color-text-muted)}.metric__value{font:var(--text-title2) var(--font-sans);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.metric__hint{font:var(--text-caption1) var(--font-sans);color:var(--color-text-muted);margin-top:auto}.actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.action{border-radius:var(--radius-lg);background:var(--color-surface);text-align:left;min-height:96px;font:var(--text-headline) var(--font-sans);color:var(--color-text);cursor:pointer;border:0;flex-direction:column;align-items:flex-start;gap:12px;padding:14px 16px;text-decoration:none;transition:background-color .1s;display:flex}.action:active{background:var(--color-surface-muted)}.action:disabled{cursor:not-allowed}.action__icon{border-radius:var(--radius-sm);background:var(--color-primary-soft);width:36px;height:36px;color:var(--color-primary);place-items:center;display:grid}.action:disabled .action__icon{background:var(--color-fill);color:var(--color-text-muted)}.action__label{flex-direction:column;gap:4px;display:flex}.auth-page{min-height:100dvh;padding:calc(env(safe-area-inset-top) + 24px) 16px calc(env(safe-area-inset-bottom) + 24px);flex-direction:column;justify-content:center;display:flex}.auth-page__inner{flex-direction:column;gap:24px;width:100%;max-width:420px;margin:0 auto;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand__mark{border-radius:12px;width:52px;height:52px}.brand__title{font:var(--text-title3) var(--font-sans)}.page-title{font:var(--text-large-title) var(--font-sans);letter-spacing:.012em}.splash{min-height:100dvh;color:var(--color-text-muted);place-items:center;display:grid}.empty{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:36px 20px;display:flex}.empty__icon{color:var(--color-text-tertiary);place-items:center;margin-bottom:4px;display:grid}.empty__icon svg{stroke-width:1.6px;width:44px;height:44px}.empty__title{font:var(--text-title3) var(--font-sans)}.empty .muted{font:var(--text-subhead) var(--font-sans)}.field__prefix{color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.field__input--with-prefix{padding-left:44px}select.field__input{appearance:auto}textarea.field__input{resize:vertical;min-height:88px}.search__icon{color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.field__input.search__input{min-height:var(--touch);border-radius:var(--radius-pill);background:var(--color-fill);border:0;padding-left:40px;padding-right:44px}.search__input::-webkit-search-cancel-button{display:none}.search .field__action{border-radius:var(--radius-pill)}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips--scroll{scrollbar-width:none;flex-wrap:nowrap;margin:0 -16px;padding:0 16px 2px;overflow-x:auto}.chips--scroll::-webkit-scrollbar{display:none}.chip{min-height:var(--touch);border-radius:var(--radius-pill);background:var(--color-fill);font:500 .9375rem/1.333 var(--font-sans);cursor:pointer;white-space:nowrap;border:0;align-items:center;gap:8px;padding:0 16px;transition:background-color .15s;display:inline-flex}.chip:active{filter:brightness(.94)}.chip[aria-pressed=true]{background:var(--color-primary);color:var(--color-on-primary);font-weight:600}.chip:disabled{opacity:.4;cursor:not-allowed}.chip__swatch{border-radius:50%;width:18px;height:18px;box-shadow:inset 0 0 0 1px #0000002e}.row{gap:12px;display:flex}.row>*{flex:1;min-width:0}.installment-row{flex:1;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);align-items:end;gap:10px;min-width:0;display:grid}.price-now{font-variant-numeric:tabular-nums;font-weight:600}.price-old{color:var(--color-text-muted);font:var(--text-footnote) var(--font-sans);text-decoration:line-through}.stock-pill{font:600 .8125rem/1.385 var(--font-sans);font-variant-numeric:tabular-nums;border-radius:var(--radius-pill);background:var(--color-fill);color:var(--color-text-muted);white-space:nowrap;align-items:center;gap:4px;padding:2px 9px;display:inline-flex}.stock-pill--ok{background:var(--color-success-soft);color:var(--color-success)}.stock-pill--low{background:var(--color-warning-soft);color:var(--color-warning)}.stock-pill--out{background:var(--color-danger-soft);color:var(--color-danger)}.meta-grid{font:var(--text-subhead) var(--font-sans);grid-template-columns:auto 1fr;gap:8px 16px;display:grid}.meta-grid dt{color:var(--color-text-muted)}.meta-grid dd{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;margin:0;font-weight:600}.variant-group__title{font:var(--text-headline) var(--font-sans);align-items:center;gap:8px;padding-inline:16px;display:flex}.grid-preview{flex-direction:column;gap:10px;display:flex}.grid-preview__row{border-radius:var(--radius-lg);background:var(--color-surface);grid-template-columns:1fr;gap:8px;padding:14px 16px;display:grid}.grid-preview__title{font:var(--text-headline) var(--font-sans);align-items:center;gap:8px;display:flex}.sticky-actions{bottom:calc(var(--nav-height) + env(safe-area-inset-bottom) + 10px);z-index:16;flex-direction:column;gap:8px;display:flex;position:sticky}.sticky-actions .btn--primary:disabled{opacity:1;background:color-mix(in srgb, var(--color-primary) 40%, var(--color-bg))}.scan-result__code{font-family:var(--font-mono);font-size:.875rem}.stepper{border-radius:var(--radius-md);background:var(--color-fill);flex:none;align-items:center;display:inline-flex}.stepper__btn{width:var(--touch);height:var(--touch);border-radius:var(--radius-md);color:var(--color-primary);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.stepper__btn:not(:disabled):active{background:var(--color-pressed)}.stepper__btn:disabled{color:var(--color-text-tertiary);cursor:not-allowed}.stepper__input{width:52px;height:var(--touch);border:0;border-left:1px solid var(--color-separator);border-right:1px solid var(--color-separator);text-align:center;font:var(--text-headline) var(--font-sans);font-variant-numeric:tabular-nums;background:0 0}.stepper__input:focus-visible{outline-offset:-3px}.flow-icon{flex:none}.flow-icon--in,.amount-in{color:var(--color-success)}.flow-icon--out,.amount-out{color:var(--color-danger)}.meta-grid .total{border-top:1px solid var(--color-separator);padding-top:8px;font-weight:700}.flow-bar{border-radius:var(--radius-pill);background:var(--color-fill);height:6px;display:flex;overflow:hidden}.flow-bar__in{background:var(--color-success)}.flow-bar__out{background:var(--color-danger)}.app-icon{background:var(--color-primary-soft);width:36px;height:36px;color:var(--color-primary);border-radius:9px;flex:none;place-items:center;display:inline-grid}.app-icon--soon{background:var(--color-fill);color:var(--color-text-muted)}.steps{overflow-wrap:anywhere;gap:12px;min-width:0;margin:0;padding-left:36px;display:grid}.steps li::marker{color:var(--color-text-muted);font-weight:600}.connection-ok{color:var(--color-success);align-items:center;gap:8px;margin:0;font-weight:600;display:flex}.list__item .event-icon{color:var(--color-text-muted);flex:none;margin-top:2px}.list__item .event-icon--warn{color:var(--color-warning)}.list__item .event-icon--error{color:var(--color-danger)}.break-anywhere{overflow-wrap:anywhere;white-space:normal}
