:root{--kallas-red: #B0211A;--kallas-red-600: #C62A22;--kallas-red-700: #8E1A14;--kallas-red-soft: #FBEAE8;--kallas-gold: #C9A24D;--kallas-gold-soft: #F7EFDD;--ink-900: #0F172A;--ink-700: #334155;--ink-600: #475569;--ink-400: #94A3B8;--ink-300: #CBD5E1;--surface: #FFFFFF;--bg: #F4F5F7;--bg-2: #EDEFF3;--line: #E7EAF0;--success: #16A34A;--success-soft: #E7F6EC;--warning: #D97706;--warning-soft: #FCF1E2;--danger: #DC2626;--info: #2563EB;--font-display: "Manrope", system-ui, sans-serif;--font-text: "Inter", system-ui, sans-serif;--r-sm: 10px;--r-md: 16px;--r-lg: 22px;--r-pill: 999px;--sh-sm: 0 1px 2px rgb(15 23 42 / .04), 0 1px 3px rgb(15 23 42 / .06);--sh-md: 0 2px 4px rgb(15 23 42 / .04), 0 8px 20px rgb(15 23 42 / .08);--sh-lg: 0 10px 30px rgb(15 23 42 / .12);--sh-red: 0 8px 22px rgb(176 33 26 / .28);--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 20px;--s6: 24px;--s8: 32px;--s10: 40px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{font-family:var(--font-text);color:var(--ink-900);background:var(--bg);-webkit-font-smoothing:antialiased;line-height:1.45}img{max-width:100%;display:block}button{font-family:inherit;cursor:pointer;border:none;background:none}a{color:inherit;text-decoration:none}ul{margin:0;padding:0;list-style:none}.t-display{font-family:var(--font-display);font-weight:800;font-size:28px;line-height:1.15;letter-spacing:-.02em}.t-h1{font-family:var(--font-display);font-weight:800;font-size:22px;letter-spacing:-.01em}.t-h2{font-family:var(--font-display);font-weight:700;font-size:18px}.t-title{font-weight:700;font-size:16px}.t-body{font-size:14px;color:var(--ink-700)}.t-sm{font-size:13px;color:var(--ink-600)}.t-xs{font-size:11px;color:var(--ink-400);letter-spacing:.02em}.t-muted{color:var(--ink-400)}.kvalue{font-family:var(--font-display);font-weight:800;letter-spacing:-.02em}.kvalue .k{font-size:.62em;font-weight:700;vertical-align:.35em;margin-right:2px;opacity:.85}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:50px;padding:0 22px;border-radius:var(--r-pill);font-weight:700;font-size:15px;transition:transform .12s ease,box-shadow .2s ease,background .2s}.btn:active{transform:translateY(1px) scale(.99)}.btn-block{width:100%}.btn-primary{background:var(--kallas-red);color:#fff;box-shadow:var(--sh-red)}.btn-primary:hover{background:var(--kallas-red-600)}.btn-dark{background:var(--ink-900);color:#fff}.btn-ghost{background:var(--bg-2);color:var(--ink-900)}.btn-outline{border:1.5px solid var(--line);background:var(--surface);color:var(--ink-900)}.btn-success{background:var(--success);color:#fff}.btn-sm{height:38px;font-size:13px;padding:0 16px}.card{background:var(--surface);border-radius:var(--r-md);box-shadow:var(--sh-sm)}.card-pad{padding:var(--s4)}.field{margin-bottom:var(--s4)}.field label{display:block;font-size:13px;font-weight:600;color:var(--ink-600);margin-bottom:6px}.input{width:100%;height:52px;padding:0 16px;border-radius:var(--r-sm);border:1.5px solid var(--line);background:var(--surface);font-size:15px;color:var(--ink-900);transition:border-color .15s,box-shadow .15s}.input:focus{outline:none;border-color:var(--kallas-red);box-shadow:0 0 0 4px var(--kallas-red-soft)}.input-group{position:relative}.input-group .suffix{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--ink-400)}.segmented{display:flex;background:var(--bg-2);border-radius:var(--r-pill);padding:4px;gap:4px}.segmented button{flex:1;height:40px;border-radius:var(--r-pill);font-weight:600;font-size:13px;color:var(--ink-600);transition:all .18s}.segmented button.active{background:var(--surface);color:var(--kallas-red);box-shadow:var(--sh-sm)}.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;height:36px;padding:0 14px;border-radius:var(--r-pill);background:var(--surface);border:1.5px solid var(--line);font-size:13px;font-weight:600;color:var(--ink-700)}.chip.active{background:var(--kallas-red);border-color:var(--kallas-red);color:#fff}.chip-soft{background:var(--kallas-red-soft);border:none;color:var(--kallas-red-700)}.badge{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:var(--r-pill);font-size:11px;font-weight:700}.badge-gold{background:var(--kallas-gold-soft);color:#8a6a1f}.badge-success{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.i{width:22px;height:22px;stroke-width:2}.i-sm{width:18px;height:18px}.i-lg{width:26px;height:26px}.phone{width:390px;height:844px;background:#000;border-radius:46px;padding:12px;box-shadow:var(--sh-lg);position:relative;flex:0 0 auto}.phone .screen{width:100%;height:100%;background:var(--bg);border-radius:36px;overflow:hidden;position:relative}.phone iframe{width:100%;height:100%;border:0}.phone .notch{position:absolute;top:12px;left:50%;transform:translate(-50%);width:130px;height:26px;background:#000;border-radius:0 0 16px 16px;z-index:20}.app{display:flex;flex-direction:column;height:100%;position:relative}.app-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.app-body::-webkit-scrollbar{width:0}.statusbar{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;font-size:13px;font-weight:700;color:var(--ink-900)}.statusbar.on-red{color:#fff}.appbar{display:flex;align-items:center;justify-content:space-between;padding:6px 18px 12px}.appbar .greet{font-size:13px;color:var(--ink-400)}.appbar .name{font-family:var(--font-display);font-weight:800;font-size:18px}.icon-btn{width:42px;height:42px;border-radius:var(--r-pill);display:grid;place-items:center;background:var(--surface);box-shadow:var(--sh-sm);color:var(--ink-700);position:relative}.icon-btn .dot{position:absolute;top:9px;right:10px;width:8px;height:8px;border-radius:50%;background:var(--kallas-red);border:2px solid var(--surface)}.avatar{width:44px;height:44px;border-radius:var(--r-pill);object-fit:cover;background:var(--kallas-red-soft);display:grid;place-items:center;font-weight:800;color:var(--kallas-red);font-family:var(--font-display)}.wallet{margin:4px 18px 0;border-radius:var(--r-lg);padding:20px;color:#fff;background:radial-gradient(120% 120% at 0% 0%,#c62a22,#8e1a14 55%,#5e110d);box-shadow:var(--sh-red);position:relative;overflow:hidden}.wallet:after{content:"";position:absolute;right:-40px;top:-40px;width:180px;height:180px;border-radius:50%;background:#ffffff0f}.wallet .label{font-size:12px;opacity:.8;letter-spacing:.04em;text-transform:uppercase}.wallet .saldo{font-family:var(--font-display);font-weight:800;font-size:36px;letter-spacing:-.02em;margin:2px 0}.wallet .limit{font-size:12px;opacity:.85}.wallet .brand-k{position:absolute;right:16px;top:16px;font-family:var(--font-display);font-weight:800;font-size:26px;opacity:.9}.wallet-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:18px}.wallet-actions .wa{display:flex;flex-direction:column;align-items:center;gap:6px;color:#fff}.wallet-actions .wa .circle{width:46px;height:46px;border-radius:var(--r-pill);display:grid;place-items:center;background:#ffffff29;backdrop-filter:blur(4px)}.wallet-actions .wa span{font-size:11px;font-weight:600;opacity:.95}.section{padding:22px 18px 0}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-head h3{margin:0;font-family:var(--font-display);font-weight:800;font-size:16px}.section-head a{font-size:13px;font-weight:700;color:var(--kallas-red)}.search{display:flex;align-items:center;gap:10px;height:50px;padding:0 16px;background:var(--surface);border-radius:var(--r-pill);box-shadow:var(--sh-sm);margin:16px 18px 0}.search input{border:none;outline:none;flex:1;font-size:15px;background:transparent;color:var(--ink-900)}.search input::placeholder{color:var(--ink-400)}.cat-row{display:flex;gap:14px;overflow-x:auto;padding:2px 18px 4px;scrollbar-width:none}.cat-row::-webkit-scrollbar{display:none}.cat{flex:0 0 auto;width:76px;text-align:center}.cat .ico{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;margin:0 auto 8px;box-shadow:var(--sh-sm)}.cat span{font-size:12px;font-weight:600;color:var(--ink-700)}.reco-row{display:flex;gap:14px;overflow-x:auto;padding:2px 18px 6px;scrollbar-width:none}.reco-row::-webkit-scrollbar{display:none}.reco{flex:0 0 auto;width:220px;border-radius:var(--r-md);overflow:hidden;background:var(--surface);box-shadow:var(--sh-md)}.reco .cover{height:120px;background-size:cover;background-position:center;position:relative}.reco .cover .fav{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:50%;background:#ffffffeb;display:grid;place-items:center;color:var(--kallas-red)}.reco .info{padding:12px}.reco .info .nm{font-weight:700;font-size:14px}.reco .info .meta{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:12px;color:var(--ink-400)}.reco .info .price{margin-top:8px;font-family:var(--font-display);font-weight:800;color:var(--kallas-red)}.li{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.li:last-child{border-bottom:none}.li .thumb{width:46px;height:46px;border-radius:12px;background:var(--bg-2);display:grid;place-items:center;color:var(--ink-600);flex:0 0 auto}.li .grow{flex:1;min-width:0}.li .grow .l1{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.li .grow .l2{font-size:12px;color:var(--ink-400);margin-top:2px}.li .val{font-family:var(--font-display);font-weight:800;font-size:14px}.li .val.in{color:var(--success)}.li .val.out{color:var(--ink-900)}.voucher{background:var(--surface);border-radius:var(--r-md);box-shadow:var(--sh-md);overflow:hidden;margin-bottom:14px}.voucher .top{display:flex;gap:12px;padding:14px}.voucher .logo{width:54px;height:54px;border-radius:14px;background:var(--kallas-red-soft);display:grid;place-items:center;color:var(--kallas-red);font-family:var(--font-display);font-weight:800;flex:0 0 auto}.voucher .nm{font-weight:700;font-size:15px}.voucher .sub{font-size:12px;color:var(--ink-400);margin-top:2px}.voucher .price{font-family:var(--font-display);font-weight:800;color:var(--kallas-red);margin-top:6px}.voucher .exp{padding:0 14px 12px}.voucher .bar{height:6px;border-radius:4px;background:var(--bg-2);overflow:hidden}.voucher .bar>i{display:block;height:100%;background:var(--warning)}.voucher .footer{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--bg)}.tabbar{display:flex;align-items:center;justify-content:space-around;height:70px;background:var(--surface);border-top:1px solid var(--line);padding-bottom:6px;position:relative}.tabbar a{display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--ink-400);font-size:10px;font-weight:600;flex:1}.tabbar a.active{color:var(--kallas-red)}.tabbar .qr-fab{width:58px;height:58px;border-radius:50%;background:var(--kallas-red);color:#fff;display:grid;place-items:center;box-shadow:var(--sh-red);margin-top:-24px}.divlabel{display:flex;align-items:center;gap:10px;color:var(--ink-400);font-size:12px;margin:18px 0}.divlabel:before,.divlabel:after{content:"";flex:1;height:1px;background:var(--line)}.topbar{display:flex;align-items:center;gap:12px;padding:8px 14px 12px}.topbar .back{width:42px;height:42px;border-radius:var(--r-pill);display:grid;place-items:center;background:var(--surface);box-shadow:var(--sh-sm);color:var(--ink-900)}.topbar h1{flex:1;margin:0;font-family:var(--font-display);font-weight:800;font-size:18px}.topbar .act{display:flex;gap:8px}.sheet-backdrop{position:absolute;inset:0;background:#0f172a7a;display:flex;align-items:flex-end;z-index:30}.sheet{width:100%;background:var(--surface);border-radius:24px 24px 0 0;padding:8px 18px 24px;box-shadow:var(--sh-lg)}.sheet .grabber{width:40px;height:4px;border-radius:2px;background:var(--ink-300);margin:6px auto 14px}.sheet h3{margin:4px 0 6px;font-family:var(--font-display);font-size:18px}.sheet .sub{color:var(--ink-400);font-size:13px;margin-bottom:14px}.modal-backdrop{position:absolute;inset:0;background:#0f172a7a;display:grid;place-items:center;padding:20px;z-index:30}.modal{background:var(--surface);border-radius:var(--r-lg);width:100%;max-width:320px;overflow:hidden;box-shadow:var(--sh-lg)}.modal .head{background:var(--kallas-red);color:#fff;padding:14px 18px;font-weight:700;text-align:center}.modal .body{padding:20px 18px 8px}.modal .foot{padding:8px 12px 14px;display:flex;gap:10px;justify-content:flex-end}.tabpills{display:flex;gap:6px;padding:0 18px;border-bottom:1px solid var(--line)}.tabpills a{padding:14px 6px;font-size:13px;font-weight:700;color:var(--ink-400);position:relative}.tabpills a.active{color:var(--kallas-red)}.tabpills a.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--kallas-red);border-radius:3px 3px 0 0}.stepper{display:flex;align-items:center;gap:14px}.stepper button{width:38px;height:38px;border-radius:var(--r-pill);background:var(--bg-2);color:var(--ink-900);display:grid;place-items:center;font-size:18px;font-weight:800}.stepper button.primary{background:var(--kallas-red);color:#fff}.stepper .num{font-family:var(--font-display);font-weight:800;font-size:22px;min-width:30px;text-align:center}.rating{display:inline-flex;gap:2px;align-items:center}.rating .s{color:var(--kallas-gold)}.rating .n{margin-left:6px;color:var(--ink-600);font-weight:700;font-size:13px}.features{display:grid;grid-template-columns:1fr 1fr;gap:12px}.feature{display:flex;align-items:center;gap:8px;padding:12px;border-radius:12px;background:var(--bg);font-size:13px;font-weight:600}.feature i{color:var(--kallas-red)}.success-hero{display:grid;place-items:center;margin:40px 0 24px}.success-hero .ring{width:120px;height:120px;border-radius:50%;background:var(--success-soft);display:grid;place-items:center;margin-bottom:16px;animation:pop .5s ease-out}.success-hero .ring i{width:60px;height:60px;color:var(--success);stroke-width:2.5}@keyframes pop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.qr-hero{padding:20px;background:var(--surface);border-radius:var(--r-lg);margin:16px 18px;text-align:center;box-shadow:var(--sh-md)}.qr-hero .code{width:240px;height:240px;margin:8px auto 12px;background:#fff;padding:12px;border-radius:16px;border:1px solid var(--line)}.qr-hero .code svg{width:100%;height:100%}.qr-hero .timer{color:var(--kallas-red);font-family:var(--font-display);font-weight:800;font-size:22px}.scanner{position:absolute;inset:0;background:#000;color:#fff;display:flex;flex-direction:column}.scanner .cam{flex:1;background:linear-gradient(180deg,#0f0f10,#1a1a1c);position:relative;display:grid;place-items:center}.scanner .frame{width:240px;height:240px;border-radius:24px;border:3px solid rgba(255,255,255,.9);box-shadow:0 0 0 9999px #0000008c;position:relative}.scanner .frame:before,.scanner .frame:after{content:"";position:absolute;width:36px;height:36px;border:4px solid var(--kallas-red)}.scanner .frame:before{top:-3px;left:-3px;border-right:none;border-bottom:none;border-radius:24px 0 0}.scanner .frame:after{bottom:-3px;right:-3px;border-left:none;border-top:none;border-radius:0 0 24px}.scanner .hint{position:absolute;bottom:90px;left:0;right:0;text-align:center;font-size:14px;opacity:.85}.scanner .close{position:absolute;top:16px;right:16px;width:44px;height:44px;border-radius:var(--r-pill);background:#ffffff24;display:grid;place-items:center;color:#fff}.mapx{height:200px;border-radius:var(--r-md);background:linear-gradient(135deg,#eef3f8,#dce6f2);position:relative;overflow:hidden}.mapx:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 40%,rgba(176,33,26,.1) 0 6px,transparent 8px),linear-gradient(90deg,transparent 49%,#C7D3E3 49% 51%,transparent 51%) 0 0/48px 48px,linear-gradient(0deg,transparent 49%,#C7D3E3 49% 51%,transparent 51%) 0 0/48px 48px;opacity:.5}.mapx .pin{position:absolute;top:50%;left:50%;transform:translate(-50%,-100%);width:36px;height:36px;border-radius:50%;background:var(--kallas-red);display:grid;place-items:center;color:#fff;box-shadow:var(--sh-red)}.menu{background:var(--surface);border-radius:var(--r-md);box-shadow:var(--sh-sm);overflow:hidden}.menu a{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);color:var(--ink-900);font-weight:600;font-size:14px}.menu a:last-child{border-bottom:none}.menu a .icobox{width:34px;height:34px;border-radius:10px;background:var(--kallas-red-soft);color:var(--kallas-red);display:grid;place-items:center}.menu a .arrow{margin-left:auto;color:var(--ink-400)}img.logo-white{height:90px;width:auto}img.logo-mark{height:30px;width:auto}.empty{text-align:center;padding:40px 24px;color:var(--ink-400)}.empty i{width:64px;height:64px;color:var(--ink-300);margin:0 auto 12px;display:block}.empty b{display:block;color:var(--ink-700);margin-bottom:4px;font-size:15px}.sm-backdrop{position:absolute;inset:0;z-index:40;background:#0f172a7a;backdrop-filter:blur(2px);animation:fadeIn .18s ease-out}.sm-drawer{position:absolute;top:0;left:0;bottom:0;z-index:41;width:82%;max-width:320px;background:var(--surface);display:flex;flex-direction:column;box-shadow:4px 0 32px #0f172a2e;animation:slideIn .24s cubic-bezier(.2,.9,.3,1)}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sm-header{padding:22px 20px 18px;color:#fff;background:radial-gradient(120% 120% at 0% 0%,#c62a22,#8e1a14 60%,#5e110d);position:relative;overflow:hidden}.sm-header:after{content:"";position:absolute;right:-40px;top:-40px;width:180px;height:180px;border-radius:50%;background:#ffffff0f}.sm-header .close{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;background:#ffffff29;border:none;color:#fff;display:grid;place-items:center;cursor:pointer}.sm-header .avatar{width:56px;height:56px;border-radius:18px;background:#ffffff29;color:#fff;display:grid;place-items:center;overflow:hidden;font-family:var(--font-display);font-weight:800;font-size:22px;margin-bottom:12px}.sm-header .avatar img{width:100%;height:100%;object-fit:cover}.sm-header .name{font-family:var(--font-display);font-weight:800;font-size:18px}.sm-header .email{font-size:12px;opacity:.8}.sm-header .saldo-mini{margin-top:14px;padding:10px 12px;border-radius:12px;background:#ffffff24;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:space-between;text-decoration:none;color:#fff}.sm-header .saldo-mini .lbl{font-size:11px;opacity:.85;text-transform:uppercase;letter-spacing:.04em}.sm-header .saldo-mini .val{font-family:var(--font-display);font-weight:800;font-size:16px}.sm-body{flex:1;overflow-y:auto;padding:12px 8px}.sm-body::-webkit-scrollbar{width:4px}.sm-body::-webkit-scrollbar-thumb{background:var(--ink-300);border-radius:2px}.sm-group{padding:10px 12px 6px;font-size:11px;font-weight:700;color:var(--ink-400);text-transform:uppercase;letter-spacing:.06em}.sm-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;color:var(--ink-900);text-decoration:none;font-weight:600;font-size:14px;cursor:pointer;transition:background .15s}.sm-item:hover{background:var(--bg)}.sm-item.-active{background:var(--kallas-red-soft);color:var(--kallas-red)}.sm-item .ico{width:34px;height:34px;border-radius:10px;background:var(--bg);color:var(--ink-700);display:grid;place-items:center;flex:0 0 auto}.sm-item.-active .ico{background:var(--kallas-red);color:#fff}.sm-item .chev{margin-left:auto;color:var(--ink-400)}.sm-item.-danger{color:var(--kallas-red)}.sm-item.-danger .ico{background:var(--kallas-red-soft);color:var(--kallas-red)}.sm-foot{padding:12px 20px 20px;border-top:1px solid var(--line);font-size:11px;color:var(--ink-400);text-align:center}.ph-tag{position:absolute;bottom:8px;right:8px;z-index:3;background:#0f172ab8;color:#fff;font-size:9px;font-weight:600;letter-spacing:.04em;padding:3px 7px;border-radius:6px;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);pointer-events:none}.ph-tag.on-hero{bottom:14px;right:14px;font-size:10px;padding:4px 9px}.kfab{position:absolute;right:18px;bottom:88px;z-index:15;width:58px;height:58px;border-radius:50%;background:radial-gradient(120% 120% at 30% 20%,#c62a22,#8e1a14 70%);color:#fff;display:grid;place-items:center;box-shadow:0 10px 24px #b0211a6b,0 0 0 4px #c9a24d2e;text-decoration:none}.kfab i{width:26px;height:26px}.kfab:after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid rgb(201 162 77 / .5);animation:kfab-pulse 2.4s ease-out infinite}@keyframes kfab-pulse{0%{transform:scale(.85);opacity:.9}70%{transform:scale(1.35);opacity:0}to{transform:scale(1.35);opacity:0}}.kfab .spark{position:absolute;top:6px;right:6px;width:12px;height:12px;color:#f2d48d}.concierge-header{background:linear-gradient(180deg,#fbeae8,#fff);padding:6px 18px 16px}.concierge-hero{display:flex;align-items:center;gap:14px}.concierge-avatar{width:56px;height:56px;border-radius:18px;position:relative;background:radial-gradient(120% 120% at 30% 20%,#c62a22,#8e1a14 70%);display:grid;place-items:center;color:#fff;box-shadow:var(--sh-red)}.concierge-avatar i{width:26px;height:26px;color:#f2d48d}.concierge-avatar .dot-on{position:absolute;bottom:-2px;right:-2px;width:16px;height:16px;border-radius:50%;background:var(--success);border:3px solid #FBEAE8}.concierge-name{font-family:var(--font-display);font-weight:800;font-size:17px}.concierge-status{font-size:12px;color:var(--success);font-weight:600}.chat{display:flex;flex-direction:column;gap:10px;padding:16px 18px 100px}.msg{max-width:82%;padding:12px 14px;border-radius:18px;font-size:14px;line-height:1.45}.msg.bot{align-self:flex-start;background:var(--surface);color:var(--ink-900);box-shadow:var(--sh-sm);border-top-left-radius:6px}.msg.bot b{color:var(--kallas-red)}.msg.me{align-self:flex-end;background:var(--kallas-red);color:#fff;border-top-right-radius:6px;box-shadow:var(--sh-red)}.msg-time{font-size:10px;color:var(--ink-400);margin-top:-4px;padding:0 4px}.msg-time.me{align-self:flex-end}.msg-card{margin-top:8px;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:var(--bg)}.msg-card .top{display:flex;gap:10px;padding:10px;align-items:center}.msg-card .top .lg{width:40px;height:40px;border-radius:10px;background:var(--kallas-red-soft);color:var(--kallas-red);display:grid;place-items:center;font-family:var(--font-display);font-weight:800;font-size:14px;flex:0 0 auto}.msg-card .top b{font-size:13px;display:block}.msg-card .top small{font-size:11px;color:var(--ink-400)}.msg-card .price{color:var(--kallas-red);font-weight:800;font-family:var(--font-display);font-size:13px;margin-left:auto}.msg-card .foot{padding:6px 10px 10px;display:flex;gap:6px}.msg-card .foot a{flex:1;font-size:12px;padding:8px;text-align:center;font-weight:700;text-decoration:none;border-radius:8px}.msg-card .foot a.primary{background:var(--kallas-red);color:#fff}.msg-card .foot a.ghost{background:var(--bg-2);color:var(--ink-700)}.typing{display:inline-flex;gap:4px;padding:12px 16px;background:var(--surface);border-radius:6px 18px 18px;box-shadow:var(--sh-sm);align-self:flex-start}.typing i{width:7px;height:7px;border-radius:50%;background:var(--ink-400);display:inline-block;animation:bounce 1.2s infinite ease-in-out}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.quicks{position:absolute;left:0;right:0;bottom:88px;z-index:5;padding:8px 18px;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;background:linear-gradient(0deg,var(--bg) 60%,transparent)}.quicks::-webkit-scrollbar{display:none}.quicks a{flex:0 0 auto;padding:8px 14px;border-radius:999px;background:var(--surface);border:1.5px solid var(--line);color:var(--ink-700);font-size:12px;font-weight:600;white-space:nowrap;text-decoration:none}.chat-input{position:absolute;left:0;right:0;bottom:0;z-index:6;padding:12px 14px calc(12px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);display:flex;align-items:center;gap:8px}.chat-input .box{flex:1;display:flex;align-items:center;gap:8px;background:var(--bg-2);border-radius:999px;padding:0 16px;height:46px}.chat-input input{flex:1;border:none;outline:none;background:transparent;font-size:14px;color:var(--ink-900);font-family:var(--font-text)}.chat-input .box i{color:var(--ink-400)}.chat-input .send{width:46px;height:46px;border-radius:50%;background:var(--kallas-red);color:#fff;display:grid;place-items:center;box-shadow:var(--sh-red)}
