:root{--bg: #f5f4f0;--bg-glow: radial-gradient(1200px 600px at 50% -10%, #e7efe9 0%, transparent 60%);--surface: #ffffff;--surface-2: #f3f1ec;--surface-3: #ebe8e1;--text: #15171c;--text-muted: #6a6f78;--text-faint: #9a9ea6;--border: #e7e4dd;--border-strong: #d6d2c9;--accent: #0e5f4c;--accent-hover: #0b4f3f;--accent-soft: #e3efea;--accent-text: #ffffff;--ink: #17191f;--ink-hover: #2a2d35;--ink-text: #ffffff;--user-bubble: #17191f;--user-text: #f5f4f0;--ok: #17784a;--ok-soft: #e2f3e9;--warn: #93590a;--warn-soft: #fbf0dc;--bad: #b42318;--bad-soft: #fdebe9;--shadow-sm: 0 1px 2px rgba(20, 22, 28, .06);--shadow-md: 0 1px 2px rgba(20, 22, 28, .05), 0 6px 20px -6px rgba(20, 22, 28, .12);--shadow-lg: 0 2px 4px rgba(20, 22, 28, .04), 0 18px 40px -12px rgba(20, 22, 28, .18);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-pill: 999px;--ease: cubic-bezier(.2, .8, .2, 1);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-feature-settings:"cv11","ss01";font-size:15px;line-height:1.5;color:var(--text);color-scheme:light;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0c0e11;--bg-glow: radial-gradient(1200px 600px at 50% -10%, #12241f 0%, transparent 60%);--surface: #15181d;--surface-2: #1b1f25;--surface-3: #232830;--text: #eceef1;--text-muted: #969ca6;--text-faint: #6b717b;--border: #252a31;--border-strong: #333943;--accent: #4cc29f;--accent-hover: #63d0b0;--accent-soft: #16302a;--accent-text: #08130f;--ink: #eceef1;--ink-hover: #ffffff;--ink-text: #0c0e11;--user-bubble: #262b33;--user-text: #eceef1;--ok: #5fd08f;--ok-soft: #14291e;--warn: #f0b457;--warn-soft: #2e2413;--bad: #f3877d;--bad-soft: #321a18;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px -8px rgba(0, 0, 0, .5);--shadow-lg: 0 2px 4px rgba(0, 0, 0, .4), 0 20px 44px -12px rgba(0, 0, 0, .6);color-scheme:dark}}:root[data-theme=dark]{--bg: #0c0e11;--bg-glow: radial-gradient(1200px 600px at 50% -10%, #12241f 0%, transparent 60%);--surface: #15181d;--surface-2: #1b1f25;--surface-3: #232830;--text: #eceef1;--text-muted: #969ca6;--text-faint: #6b717b;--border: #252a31;--border-strong: #333943;--accent: #4cc29f;--accent-hover: #63d0b0;--accent-soft: #16302a;--accent-text: #08130f;--ink: #eceef1;--ink-hover: #ffffff;--ink-text: #0c0e11;--user-bubble: #262b33;--user-text: #eceef1;--ok: #5fd08f;--ok-soft: #14291e;--warn: #f0b457;--warn-soft: #2e2413;--bad: #f3877d;--bad-soft: #321a18;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px -8px rgba(0, 0, 0, .5);--shadow-lg: 0 2px 4px rgba(0, 0, 0, .4), 0 20px 44px -12px rgba(0, 0, 0, .6);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg-glow),var(--bg);background-attachment:fixed}button,input{font:inherit;color:inherit}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.card{padding:18px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-md);animation:rise .4s var(--ease) both}.card.emphasis{box-shadow:var(--shadow-lg)}.card-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.card-head-icon{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:var(--radius-md);background:var(--accent-soft);color:var(--accent)}.card-head-icon.bad{background:var(--bad-soft);color:var(--bad)}.card-eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.card-title{font-weight:650;letter-spacing:-.01em}.card-title.lg{font-size:1.15rem}.card-meta{font-size:.82rem;color:var(--text-muted)}.card-actions{display:flex;flex-direction:column;gap:8px;margin-top:16px}.card-cta{margin-top:16px}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:var(--radius-pill);font-size:.72rem;font-weight:600;white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.bad{background:var(--bad-soft);color:var(--bad)}.spec-chips{display:flex;flex-wrap:wrap;gap:5px;margin:0;padding:0;list-style:none}.spec-chips li{padding:3px 8px;border-radius:7px;background:var(--surface-2);color:var(--text-muted);font-size:.74rem;font-weight:500;white-space:nowrap}.products-card{display:flex;flex-direction:column;gap:8px;min-width:0}.rail-caption{font-size:.78rem;font-weight:500;color:var(--text-muted)}.product-rail{display:grid;grid-auto-flow:column;grid-auto-columns:214px;gap:12px;margin:-6px -16px 0;padding:6px 16px 14px;list-style:none;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 16px;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.product-rail.single{grid-auto-columns:minmax(214px,260px)}.product-tile{display:flex;flex-direction:column;scroll-snap-align:start;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-md);overflow:hidden;animation:rise .45s var(--ease) both;transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s}.product-tile:nth-child(2){animation-delay:.05s}.product-tile:nth-child(3){animation-delay:.1s}.product-tile:nth-child(4){animation-delay:.15s}.product-tile:nth-child(n+5){animation-delay:.2s}@media(hover:hover){.product-tile:hover{transform:translateY(-3px);border-color:var(--border-strong);box-shadow:var(--shadow-lg)}}.product-tile.unavailable .product-media svg{opacity:.35}.product-media{position:relative;display:grid;place-items:center;height:132px;color:var(--text);background:radial-gradient(120% 90% at 30% 20%,rgba(255,255,255,.65),transparent 60%),var(--media-tint, var(--surface-2))}.product-media svg{opacity:.78}.product-media.cat-phone{--media-tint: color-mix(in srgb, var(--accent) 10%, var(--surface-2))}.product-media.cat-laptop{--media-tint: color-mix(in srgb, #5b6ee1 11%, var(--surface-2))}.product-media.cat-headphone{--media-tint: color-mix(in srgb, #c27a2c 12%, var(--surface-2))}:root[data-theme=dark] .product-media{background:var(--media-tint, var(--surface-2))}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .product-media{background:var(--media-tint, var(--surface-2))}}.position-tag{position:absolute;top:10px;left:10px;display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:var(--radius-pill);background:var(--ink);color:var(--ink-text);font-size:.75rem;font-weight:700;font-variant-numeric:tabular-nums}.media-badge{position:absolute;right:10px;bottom:10px}.media-badge .badge{background:color-mix(in srgb,var(--surface) 90%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:var(--shadow-sm)}.product-body{display:flex;flex:1;flex-direction:column;gap:6px;padding:14px}.product-brand{font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}.product-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em;font-weight:600;line-height:1.35;letter-spacing:-.005em}.product-body .spec-chips{margin-bottom:2px}.product-price{margin-top:auto;padding-top:4px;font-size:1.2rem;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.product-price.lg{margin:0;padding:0;font-size:1.5rem}.product-actions{display:grid;grid-template-columns:1fr auto;gap:6px;margin-top:6px}.missing-note{font-size:.85rem;color:var(--text-muted)}.product-detail{display:grid;grid-template-columns:200px 1fr;gap:0;padding:0;overflow:hidden}.product-media.detail{height:auto;min-height:220px}.detail-body{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:20px}.detail-name{margin:0;font-size:1.2rem;font-weight:650;letter-spacing:-.015em;line-height:1.3}.detail-price-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.detail-description{margin:0;color:var(--text-muted);font-size:.92rem}.detail-body .btn{margin-top:4px}.line-list{margin:0;padding:0;list-style:none}.line{display:flex;align-items:center;gap:12px;padding:12px 0}.line+.line{border-top:1px dashed var(--border)}.line-thumb{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-muted)}.line-info{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.line-name{font-weight:550}.line-sub{font-size:.82rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.line-info .badge{margin-top:4px}.line.has-problem .line-name{color:var(--bad)}.line-total,.line-qty{flex:none;font-weight:600;font-variant-numeric:tabular-nums}.line-qty{color:var(--text-muted)}.total-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:4px;padding-top:14px;border-top:1px solid var(--border);font-weight:550}.total-amount{font-size:1.25rem;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.notice{display:flex;align-items:flex-start;gap:8px;margin-top:14px;padding:10px 12px;border-radius:var(--radius-md);font-size:.86rem}.notice svg{flex:none;margin-top:2px}.notice.bad{background:var(--bad-soft);color:var(--bad)}.info-block{display:flex;flex-direction:column;gap:14px;margin-top:16px;padding:14px;border-radius:var(--radius-md);background:var(--surface-2)}.info-row{display:flex;gap:12px}.info-icon{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--surface);color:var(--text-muted);box-shadow:var(--shadow-sm)}.info-label{font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint)}.info-strong{font-weight:550}.info-text{font-size:.88rem;color:var(--text-muted)}.expiry{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:12px;font-size:.78rem;color:var(--text-muted)}.result-hero{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 0 16px;text-align:center}.result-icon{display:grid;place-items:center;width:56px;height:56px;margin-bottom:8px;border-radius:50%;animation:pop .5s var(--ease) both .1s}.card.result.ok .result-icon{background:var(--ok-soft);color:var(--ok);box-shadow:0 0 0 6px color-mix(in srgb,var(--ok-soft) 50%,transparent)}.card.result.cancelled .result-icon{background:var(--bad-soft);color:var(--bad)}.result-icon svg path{stroke-dasharray:30;stroke-dashoffset:30;animation:draw .45s var(--ease) forwards .35s}.result-title{font-size:1.15rem;font-weight:650;letter-spacing:-.015em}.result-text{max-width:320px;font-size:.9rem;color:var(--text-muted)}@keyframes pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}@keyframes draw{to{stroke-dashoffset:0}}@media(max-width:560px){.card{padding:16px}.product-rail{grid-auto-columns:72%}.product-detail{grid-template-columns:1fr}.product-media.detail{min-height:160px}}.app{display:flex;flex-direction:column;height:100%;height:100dvh}.header{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px max(16px,calc((100% - 820px)/2));background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid var(--border)}.header-brand{display:flex;align-items:center;gap:12px;min-width:0}.header-text{min-width:0}.header-title{font-size:1rem;font-weight:650;letter-spacing:-.01em}.header-status{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-dot{flex:none;width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px var(--ok-soft)}.status-dot.busy{background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);animation:pulse 1.2s var(--ease) infinite}.status-dot.off{background:var(--bad);box-shadow:0 0 0 3px var(--bad-soft)}@keyframes pulse{50%{transform:scale(.7);opacity:.6}}.store-mark{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:linear-gradient(145deg,var(--accent),color-mix(in srgb,var(--accent) 70%,#000));color:#fff;box-shadow:var(--shadow-sm),inset 0 1px #ffffff2e}.store-mark.lg{width:56px;height:56px;border-radius:18px;box-shadow:var(--shadow-md),inset 0 1px #fff3}.icon-button{flex:none;display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);cursor:pointer;box-shadow:var(--shadow-sm);transition:background .15s,border-color .15s,transform .15s var(--ease)}.icon-button:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-2)}.icon-button:active:not(:disabled){transform:scale(.95)}.messages{flex:1;overflow-y:auto;overscroll-behavior:contain;scroll-behavior:smooth}.messages-inner{display:flex;flex-direction:column;gap:18px;width:100%;max-width:820px;min-height:100%;margin:0 auto;padding:24px 16px 32px}.msg{display:flex;align-items:flex-start;gap:10px;animation:rise .35s var(--ease) both}.msg.user{justify-content:flex-end}.msg .store-mark{width:28px;height:28px;border-radius:9px;margin-top:2px}.msg .store-mark svg{width:15px;height:15px}.msg-body{display:flex;flex-direction:column;gap:10px;min-width:0;max-width:min(100%,640px)}.msg.assistant .msg-body{flex:1;max-width:none}.msg.assistant .bubble,.msg.assistant .card{max-width:640px}.rich-text p,.rich-text ul,.rich-text ol{margin:0}.rich-text>*+*{margin-top:8px}.rich-text ul,.rich-text ol{padding-left:20px}.rich-text li+li{margin-top:2px}.rich-text li::marker{color:var(--text-faint)}.rich-text strong{font-weight:600}.msg.user .msg-body{align-items:flex-end;max-width:min(82%,520px)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.bubble{align-self:flex-start;display:flex;align-items:flex-start;gap:8px;max-width:100%;padding:11px 15px;border-radius:var(--radius-lg);border-top-left-radius:6px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow-wrap:anywhere}.msg.user .bubble{align-self:flex-end;border:none;border-top-left-radius:var(--radius-lg);border-top-right-radius:6px;background:var(--user-bubble);color:var(--user-text)}.bubble.error{background:var(--bad-soft);border-color:color-mix(in srgb,var(--bad) 25%,transparent);color:var(--bad)}.bubble.error svg{flex:none;margin-top:3px}.bubble-text{white-space:pre-wrap}.bubble.typing{gap:5px;padding:15px 16px}.bubble.typing span{width:7px;height:7px;border-radius:50%;background:var(--text-faint);animation:bounce 1.1s infinite var(--ease)}.bubble.typing span:nth-child(2){animation-delay:.15s}.bubble.typing span:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,70%,to{transform:none;opacity:.45}35%{transform:translateY(-4px);opacity:1}}.welcome{display:flex;flex-direction:column;align-items:center;margin:auto 0;padding:24px 0;text-align:center;animation:rise .5s var(--ease) both}.welcome-title{margin:20px 0 8px;font-size:clamp(1.5rem,4vw,1.9rem);font-weight:650;letter-spacing:-.025em;line-height:1.2}.welcome-text{max-width:440px;margin:0 0 24px;color:var(--text-muted)}.suggestions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:560px}.chip{padding:9px 15px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--text);font-size:.9rem;font-weight:500;cursor:pointer;box-shadow:var(--shadow-sm);transition:border-color .15s,background .15s,transform .15s var(--ease)}.chip:hover{border-color:var(--accent);background:var(--accent-soft)}.chip:active{transform:scale(.97)}.state-panel{display:flex;flex-direction:column;align-items:center;gap:8px;margin:auto 0;text-align:center}.state-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%}.state-icon.bad{background:var(--bad-soft);color:var(--bad)}.state-title{font-weight:600}.state-text{margin-bottom:8px;color:var(--text-muted);font-size:.9rem}.loader{width:28px;height:28px;border:2.5px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.composer-wrap{padding:10px 16px max(12px,env(safe-area-inset-bottom));background:linear-gradient(to top,var(--bg) 70%,transparent)}.composer{display:flex;align-items:center;gap:8px;max-width:788px;margin:0 auto;padding:6px 6px 6px 18px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);box-shadow:var(--shadow-md);transition:border-color .15s,box-shadow .15s}.composer:focus-within{border-color:var(--accent);box-shadow:var(--shadow-md),0 0 0 4px var(--accent-soft)}.composer input{flex:1;min-width:0;min-height:40px;padding:0;border:none;outline:none;background:transparent}.composer input::placeholder{color:var(--text-faint)}.send-button{flex:none;display:grid;place-items:center;width:40px;height:40px;padding:0;border:none;border-radius:50%;background:var(--ink);color:var(--ink-text);cursor:pointer;transition:background .15s,transform .15s var(--ease),opacity .15s}.send-button:hover:not(:disabled){background:var(--ink-hover)}.send-button:active:not(:disabled){transform:scale(.92)}.send-button:disabled{opacity:.25;cursor:not-allowed}.composer-note{margin-top:8px;font-size:.75rem;color:var(--text-faint);text-align:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 18px;border:1px solid transparent;border-radius:var(--radius-md);font-size:.92rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .15s var(--ease),opacity .15s}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-ink{background:var(--ink);color:var(--ink-text)}.btn-ink:hover:not(:disabled){background:var(--ink-hover)}.btn-accent{background:var(--accent);color:var(--accent-text)}.btn-accent:hover:not(:disabled){background:var(--accent-hover)}.btn-outline{border-color:var(--border-strong);background:var(--surface);color:var(--text)}.btn-outline:hover:not(:disabled){border-color:var(--text-muted);background:var(--surface-2)}.btn-danger{background:var(--bad);color:#fff}.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--bad) 88%,#000)}.btn-sm{min-height:34px;padding:0 12px;border-radius:10px;font-size:.82rem}.btn-block{width:100%}.spinner{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.composer input:focus-visible{outline:none}@media(max-width:560px){.messages-inner{padding:16px 16px 24px;gap:14px}.msg .store-mark{display:none}.msg.user .msg-body{max-width:88%}}
