@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap");:root{--bg:#f2f4f7;--surface:#fff;--surface-2:#f7f9fb;--surface-3:#eef1f5;--border:#e5e9ef;--text:#0f172a;--text-2:#475569;--text-3:#64748b;--navy:#1e3a8a;--navy-2:#24489f;--navy-soft:#eaf0fb;--gold:#f59e0b;--gold-soft:#fef4e3;--green:#16a34a;--green-soft:#dcfce7;--amber:#b45309;--amber-soft:#fef3c7;--red:#dc2626;--red-soft:#fee2e2;--shadow:0 1px 2px rgba(15,23,42,.06),0 2px 8px rgba(15,23,42,.05);--fs-xs:11px;--fs-sm:12.5px;--fs-md:14px;--fs-lg:16px;--fs-xl:20px;--fs-2xl:24px;--fs-3xl:30px;--lh-tight:1.15;--lh-body:1.45;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--r-sm:8px;--r-md:12px;--r-lg:18px;--r-pill:999px;--h-ctrl:44px;--h-ctrl-sm:36px;--card-brd:rgba(15,23,42,.06);--shadow-1:0 1px 2px rgba(15,23,42,.04);--shadow-2:0 4px 16px rgba(15,23,42,.06);--shadow-3:0 12px 32px rgba(15,23,42,.1);--brand:#1e3a8a;--brand-2:#24489f;--brand-ink:#fff;--brand-soft:#eaf0fb;--iris:linear-gradient(115deg,#e9f0b8,#cfe6d5 28%,#cdd9ef 58%,#e3d6ee 82%,#f0e2c8);--iris-dim:linear-gradient(115deg,hsla(68,65%,83%,.2),rgba(205,217,239,.2),rgba(227,214,238,.2));--ease:cubic-bezier(.22,.8,.28,1)}[data-theme=dark]{--bg:#0b0d10;--surface:#15181d;--surface-2:#1b1f26;--surface-3:#22272f;--border:#272c34;--card-brd:hsla(0,0%,100%,.07);--shadow-1:0 1px 2px rgba(0,0,0,.5);--shadow-2:0 6px 20px rgba(0,0,0,.45);--shadow-3:0 16px 40px rgba(0,0,0,.55);--brand:#4f6fce;--brand-2:#5f7ddb;--brand-ink:#0b0d10;--brand-soft:#1b2440;--text:#f1f5f9;--text-2:#aebbcf;--text-3:#647089;--navy:#4f6fce;--navy-2:#3b5bb5;--navy-soft:#1e2c49;--gold:#f59e0b;--gold-soft:#3a2c10;--green:#34d399;--green-soft:#0f2e22;--amber:#fbbf24;--amber-soft:#332811;--red:#f87171;--red-soft:#371b1b;--shadow:0 1px 2px rgba(0,0,0,.4),0 4px 14px rgba(0,0,0,.3)}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-size:var(--fs-md);line-height:var(--lh-body)}h1{font-size:var(--fs-2xl);font-weight:700;line-height:var(--lh-tight)}h2{font-size:var(--fs-lg);font-weight:600;line-height:1.25}.tnum{font-feature-settings:tabular-nums lining-nums;font-variant-numeric:tabular-nums lining-nums}.mb16{margin-bottom:16px}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.card-head-right{flex:none}@media(max-width:560px){.card-head{flex-direction:column;gap:6px}.card-head-right,.card-head-right>div{text-align:left!important}}button,input,select,textarea{font-family:inherit;font-size:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.sidebar{display:none}.bottomnav{display:flex;padding-bottom:calc(9px + env(safe-area-inset-bottom))}.appmain{margin-left:0;padding-bottom:calc(74px + env(safe-area-inset-bottom))}@media(min-width:768px) and (max-width:1023px){.sidebar{display:flex;width:76px!important}.sidebar .navitem{justify-content:center;padding:12px 0}.sidebar .navitem .lbl,.sidebar .sb-brand-txt,.sidebar .sb-user{display:none}.sidebar .sb-brand{justify-content:center}.appmain{margin-left:76px;padding-bottom:0}.bottomnav{display:none}}@media(min-width:1024px){.sidebar{display:flex}.bottomnav{display:none}.appmain{margin-left:250px;padding-bottom:0}.solo-movil{display:none!important}}@media(max-width:1023px){.solo-escritorio{display:none!important}}.kpigrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}@media(min-width:1120px){.kpigrid{grid-template-columns:repeat(4,1fr)}}.col2{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:16px;gap:16px;align-items:start}.col2 .btn,.col2>*{min-width:0}.col2 .btn{padding-left:10px;padding-right:10px}@media(min-width:920px){.col2{grid-template-columns:1.55fr 1fr}}.loginwrap{display:grid;grid-template-columns:1fr}@media(min-width:860px){.loginwrap{grid-template-columns:1fr 1fr}}.loginbrand{display:none}@media(min-width:860px){.loginbrand{display:flex}}.paygrid{display:grid;grid-template-columns:1fr;grid-gap:16px;gap:16px;align-items:start}@media(min-width:900px){.paygrid{grid-template-columns:1.4fr 1fr}}.card{background:var(--surface);border:1px solid var(--card-brd);border-radius:var(--r-lg);box-shadow:var(--shadow-1)}.card-int{border-radius:var(--r-md)}.card-hover{transition:transform .22s var(--ease),box-shadow .22s var(--ease)}.card-hover:hover{transform:translateY(-2px);box-shadow:var(--shadow-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:var(--r-md);background:var(--navy);color:#fff;font-weight:600;font-size:14px;padding:0 18px;height:46px;transition:transform .15s var(--ease),background .15s var(--ease),box-shadow .15s var(--ease)}.btn:active{transform:scale(.97)}.btn:hover{background:var(--navy-2)}.btn.gold{background:var(--gold);color:#0f172a}.btn.ghost{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.btn.ghost:hover{background:var(--surface-3)}.btn:disabled{opacity:.55;cursor:not-allowed}.badge{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-xs);line-height:1;font-weight:700;padding:4px 8px;border-radius:var(--r-sm);white-space:nowrap;letter-spacing:.2px}.b-green{color:#166534;background:#dcfce7}.b-amber{color:#92400e;background:#fef3c7}.b-red{color:#991b1b;background:#fee2e2}.b-navy{color:#1e3a8a;background:#eaf0fb}.b-gray{color:#334155;background:#eef2f7}[data-theme=dark] .b-green{color:#86efac;background:#0f2e22}[data-theme=dark] .b-amber{color:#fcd34d;background:#332811}[data-theme=dark] .b-red{color:#fca5a5;background:#371b1b}[data-theme=dark] .b-navy{color:#a5b4fc;background:#1e2c49}[data-theme=dark] .b-gray{color:#cbd5e1;background:#1f2a3f}.navitem{display:flex;align-items:center;gap:11px;padding:10px 12px;border:none;background:transparent;color:var(--text-2);border-radius:9px;font-size:13.5px;font-weight:600;text-align:left;width:100%}.navitem:hover{background:var(--surface-3)}.navitem[data-active=true]{background:var(--navy);color:#fff}.bnav[data-active=true]{color:var(--navy)}.hidescroll::-webkit-scrollbar{height:8px;width:8px}.hidescroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:8px}.field{width:100%;height:46px;padding:0 14px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);color:var(--text);outline:none;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}.field:focus{border-color:var(--navy);box-shadow:0 0 0 3px var(--navy-soft)}.row{display:flex;justify-content:space-between;align-items:center}.muted{font-size:12px;color:var(--text-2)}@keyframes spin{to{transform:rotate(1turn)}}.spin{width:16px;height:16px;border:2px solid hsla(0,0%,100%,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}:focus-visible{outline:2px solid var(--navy);outline-offset:2px;border-radius:6px}[data-theme=dark] :focus-visible{outline-color:#7c9bff}@keyframes skel{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skel{border-radius:8px;background:var(--surface-3) linear-gradient(90deg,transparent,hsla(0,0%,100%,.55),transparent) -200px 0/200px 100% no-repeat}.skel,[data-theme=dark] .skel{animation:skel 1.15s ease-in-out infinite}[data-theme=dark] .skel{background:hsla(0,0%,100%,.06) linear-gradient(90deg,transparent,hsla(0,0%,100%,.09),transparent) -200px 0/200px 100% no-repeat}.alert{display:flex;gap:9px;align-items:flex-start;font-size:13px;font-weight:600;border-radius:10px;padding:10px 13px;line-height:1.45}.alert.error{background:var(--red-soft);color:var(--red);border:1px solid color-mix(in srgb,var(--red) 35%,transparent)}.alert.ok{background:var(--green-soft);color:var(--green);border:1px solid color-mix(in srgb,var(--green) 35%,transparent)}.alert.warn{background:var(--amber-soft);color:var(--amber);border:1px solid color-mix(in srgb,var(--amber) 35%,transparent)}.empty{padding:26px 16px;text-align:center;color:var(--text-3);font-size:12.5px}.empty b{display:block;font-size:13.5px;color:var(--text-2);margin-bottom:3px}.stafftabs{display:flex;gap:5px;margin-bottom:16px;padding:5px;background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow-x:auto;white-space:nowrap;box-shadow:var(--shadow);scroll-snap-type:x proximity;scroll-padding:0 24px;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}.stafftabs::-webkit-scrollbar{display:none}.tabbtn{flex:none;height:44px;padding:0 14px;border:none;border-radius:9px;background:transparent;color:var(--text-2);font-size:12.5px;font-weight:700;transition:background .15s,color .15s;scroll-snap-align:center}.tabbtn:hover{background:var(--surface-3)}.tabbtn[data-on=true]{background:var(--navy);color:#fff;box-shadow:0 3px 10px rgba(30,58,138,.35)}@media(min-width:1024px){.stafftabs{-webkit-mask-image:none;mask-image:none;flex-wrap:wrap;white-space:normal}}.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;background:linear-gradient(90deg,var(--surface) 30%,transparent),linear-gradient(90deg,transparent,var(--surface) 70%) 100% 0,radial-gradient(farthest-side at 0 50%,rgba(15,23,42,.18),transparent),radial-gradient(farthest-side at 100% 50%,rgba(15,23,42,.18),transparent) 100% 0;background-repeat:no-repeat;background-size:40px 100%,40px 100%,14px 100%,14px 100%;background-attachment:local,local,scroll,scroll}.tablewrap::-webkit-scrollbar{height:8px}.tablewrap::-webkit-scrollbar-thumb{background:var(--border);border-radius:8px}.tablewrap table{min-width:100%}.tablewrap table.stickyfirst td:first-child,.tablewrap table.stickyfirst th:first-child{position:-webkit-sticky;position:sticky;left:0;background:var(--surface);z-index:1;box-shadow:2px 0 0 var(--border)}@media(max-width:640px){.field,input.field,select.field,textarea.field{font-size:16px}.btn{min-height:44px}.card .row{gap:10px}.card .row span:last-child{min-width:0}.kpigrid{gap:10px}}.filegrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-top:8px}@media(max-width:420px){.filegrid{grid-template-columns:1fr}}.filebtn{position:relative;overflow:hidden;width:100%;height:42px;font-size:13px}.filebtn input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.qr-bg{position:fixed;inset:0;z-index:80;background:rgba(15,23,42,.72);display:flex;align-items:flex-end;justify-content:center;padding:0}.qr-box{width:min(520px,100%);background:var(--surface);border-radius:18px 18px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom));box-shadow:0 -10px 40px rgba(0,0,0,.35);animation:drawerUp .25s cubic-bezier(.2,.8,.3,1)}@media(min-width:640px){.qr-bg{align-items:center}.qr-box{border-radius:18px}}.qr-video{position:relative;width:100%;aspect-ratio:1/1;max-height:60vh;background:#000;border-radius:14px;overflow:hidden}.qr-video video{width:100%;height:100%;object-fit:cover;display:block}.qr-mira{position:absolute;inset:14%;border:3px solid rgba(245,158,11,.9);border-radius:16px;box-shadow:0 0 0 999px rgba(0,0,0,.28);pointer-events:none}@keyframes drawerUp{0%{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}.wrap-app{max-width:1180px}.tabgrp{display:none}@media(min-width:1024px){.wrap-app{display:grid;grid-template-columns:224px minmax(0,1fr);grid-gap:22px;gap:22px;align-items:start}.wrap-app>.alert,.wrap-app>.brand{grid-column:1/-1}.wrap-app .stafftabs{flex-direction:column;position:-webkit-sticky;position:sticky;top:16px;padding:8px;gap:2px;white-space:normal;flex-wrap:nowrap;margin-bottom:0}.wrap-app .tabbtn{text-align:left;height:40px;border-radius:8px;justify-content:flex-start;display:flex;align-items:center;width:100%;font-size:13px}.wrap-app .tabgrp{display:block;font-size:10.5px;letter-spacing:1px;text-transform:uppercase;color:var(--text-3);font-weight:700;padding:12px 10px 4px}.wrap-app .tabgrp:first-child{padding-top:4px}}.wrap{max-width:640px;margin:0 auto;padding:28px 18px}.wrap .card{padding:20px;margin-bottom:16px}.brand{display:flex;align-items:center;gap:12px;margin-bottom:22px}.brand,.brand>div{min-width:0}.brand img{height:44px;flex:none}.brand .t{font-weight:800;font-size:19px;color:var(--navy);line-height:1.05;letter-spacing:-.2px}.brand .s{font-size:11px;letter-spacing:1px;color:var(--text-2);text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:480px){.brand img{height:38px}.brand .t{font-size:17px}.brand .s{font-size:10.5px;letter-spacing:.6px}}.center{text-align:center}.badge.ok{background:var(--green-soft);color:#166534}.badge.bad,.badge.ok{font-size:13px;padding:7px 16px;border-radius:999px}.badge.bad{background:var(--red-soft);color:#991b1b}.link{color:var(--navy);font-weight:600}.err{color:var(--red);font-size:13px;margin-bottom:10px}.card h2{font-size:16px;font-weight:700;margin-bottom:12px}.card .row{padding:9px 0;border-bottom:1px solid var(--border);font-size:14px}.card .row span:first-child{color:var(--text-2)}.card .row span:last-child{font-weight:600;text-align:right}@keyframes mapPing{0%{transform:scale(.5);opacity:.55}80%{opacity:0}to{transform:scale(2.6);opacity:0}}@keyframes mapDash{to{stroke-dashoffset:-1000}}@keyframes mapDot{0%,to{opacity:.85}50%{opacity:.35}}.map-ping{transform-box:fill-box;transform-origin:center;animation:mapPing 2.6s cubic-bezier(.2,.6,.3,1) infinite}.map-flow{stroke-dasharray:5 9;animation:mapDash 22s linear infinite}.map-pin{cursor:pointer;transition:none}.map-core{animation:mapDot 2.4s ease-in-out infinite}.map-region{transition:fill .25s ease}.map-region:hover{fill:rgba(56,189,248,.17)}@keyframes dashRise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.dash-sec{animation:dashRise .38s cubic-bezier(.2,.7,.3,1)}.seg-btn{transition:background .15s,color .15s,box-shadow .15s}@media(max-width:560px){.dir-sub,.dir-user{display:none}}.dir-corto{display:none}@media(max-width:400px){.dir-largo{display:none}.dir-corto{display:inline}}.crm-filtros{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin-bottom:14px;align-items:center}.crm-filtros .f-buscar,.crm-filtros .f-vista{grid-column:1/-1}@media(min-width:760px){.crm-filtros{display:flex;flex-wrap:wrap}.crm-filtros .f-buscar{max-width:240px}.crm-filtros .field{width:auto;min-width:140px}.crm-filtros .f-vista{margin-left:auto}}.kanban{display:flex;gap:12px;overflow-x:auto;padding:2px 2px 12px;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:thin}.kanban::-webkit-scrollbar{height:8px}.kanban::-webkit-scrollbar-thumb{background:var(--card-brd);border-radius:8px}.kanban::-webkit-scrollbar-thumb:hover{background:var(--text-3)}.kcol{flex:0 0 min(86vw,268px);background:var(--surface-2);border:1px solid var(--card-brd);border-radius:var(--r-lg);display:flex;flex-direction:column;max-height:72vh;scroll-snap-align:start;overflow:hidden}@media(min-width:760px){.kcol{flex:0 0 262px}}.kcol-h{padding:12px 13px;font-weight:700;font-size:13px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--card-brd);position:-webkit-sticky;position:sticky;top:0;background:var(--surface-2);z-index:1}.kcol-n{margin-left:auto;font-size:11.5px;font-weight:800;color:var(--text-2);background:var(--surface-3);border-radius:var(--r-pill);padding:2px 9px;min-width:26px;text-align:center}.kcol-b{padding:9px;display:flex;flex-direction:column;gap:9px;overflow-y:auto;scrollbar-width:thin}.kcol-b::-webkit-scrollbar{width:7px}.kcol-b::-webkit-scrollbar-thumb{background:var(--card-brd);border-radius:8px}.kcard{flex:none;position:relative;background:var(--surface);border:1px solid var(--card-brd);border-radius:var(--r-md);padding:12px 12px 11px;cursor:pointer;transition:box-shadow .18s var(--ease),transform .18s var(--ease),border-color .18s var(--ease);box-shadow:var(--shadow-1);overflow:hidden}.kcard:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--kc,var(--card-brd));opacity:.85}.kcard:hover{box-shadow:var(--shadow-2);transform:translateY(-2px);border-color:var(--brand-soft)}.kcard:active{transform:translateY(0)}.kcard:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.kdot{width:9px;height:9px;border-radius:50%;flex:none}.crm-drawer-bg{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:60;display:flex;justify-content:flex-end}.crm-drawer{width:min(460px,100%);background:var(--surface);height:100%;overflow-y:auto;box-shadow:-10px 0 40px rgba(0,0,0,.2);animation:drawerIn .25s cubic-bezier(.2,.8,.3,1)}@keyframes drawerIn{0%{transform:translateX(30px);opacity:.6}to{transform:none;opacity:1}}.chatb{max-width:82%;padding:8px 11px;border-radius:12px;font-size:12.5px;line-height:1.4}.chatb.lead{background:var(--surface-3);align-self:flex-start;border-bottom-left-radius:3px}.chatb.nacho{background:var(--navy-soft);color:var(--navy)}.chatb.asesor,.chatb.nacho{align-self:flex-end;border-bottom-right-radius:3px}.chatb.asesor{background:var(--gold-soft);color:var(--amber)}.pri-ALTA{color:var(--red);background:var(--red-soft)}.pri-MEDIA{color:var(--amber);background:var(--amber-soft)}.pri-BAJA{color:var(--text-3);background:var(--surface-3)}.pop-check{animation:popIn .5s cubic-bezier(.2,.8,.3,1.2)}@keyframes fasePulse{0%,to{opacity:1}50%{opacity:.45}}.fase-on{animation:fasePulse 1.1s ease-in-out infinite}@media print{body *{visibility:hidden}#recibo-prov,#recibo-prov *{visibility:visible}#recibo-prov{position:fixed;left:0;top:0;width:100%;border-radius:0}}.b-red{color:var(--red);background:var(--red-soft)}.kpigrid .badge{white-space:normal;line-height:1.25;text-align:left}.iris{color:#0f172a}.iris,.iris-soft{background:var(--iris)}.iris-soft{opacity:.9}[data-theme=dark] .iris{color:#0f172a}.kpi{background:var(--surface);border:1px solid var(--card-brd);border-radius:var(--r-lg);padding:18px;display:flex;flex-direction:column;gap:12px;min-width:0;box-shadow:var(--shadow-1);position:relative;overflow:hidden}.kpi-primary{background:linear-gradient(150deg,var(--brand-2),var(--brand));border-color:transparent;color:#fff}.kpi-primary .kpi-label,.kpi-primary .kpi-sub{color:hsla(0,0%,100%,.72)}.kpi-primary .kpi-value{color:#fff}.kpi-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.kpi-ic{width:42px;height:42px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;background:var(--surface-3);color:var(--brand);flex:none}.kpi-primary .kpi-ic{background:hsla(0,0%,100%,.16);color:#fff}.kpi-label{font-size:var(--fs-sm);color:var(--text-2);font-weight:600}.kpi-value{font-size:26px;font-weight:800;line-height:1.05;letter-spacing:-.5px;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpi-sub{color:var(--text-3)}.kpi-sub,.pill{font-size:11.5px}.pill{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 9px;border-radius:var(--r-pill);font-weight:700;line-height:1;white-space:nowrap}.pill-up{background:#dcfce7;color:#166534}.pill-down{background:#fee2e2;color:#991b1b}.pill-neutral{background:var(--surface-3);color:var(--text-2)}.kpi-primary .pill-up{background:hsla(0,0%,100%,.9);color:#166534}[data-theme=dark] .pill-up{background:#0f2e22;color:#86efac}[data-theme=dark] .pill-down{background:#371b1b;color:#fca5a5}.prog{height:10px;background:var(--surface-3);overflow:hidden}.prog,.prog>i{border-radius:var(--r-pill)}.prog>i{display:block;height:100%;background:var(--iris);transition:width .8s var(--ease)}.prog.brand>i{background:linear-gradient(90deg,var(--brand-2),var(--brand))}.applayout{display:block}@media(min-width:1024px){.applayout{display:grid;grid-template-columns:248px minmax(0,1fr);grid-gap:20px;gap:20px;align-items:start;max-width:1440px;margin:0 auto;padding:20px}.appside{position:-webkit-sticky;position:sticky;top:20px;background:var(--surface);border:1px solid var(--card-brd);border-radius:var(--r-lg);padding:14px;box-shadow:var(--shadow-1);display:flex;flex-direction:column;gap:4px;max-height:calc(100vh - 40px);overflow:auto}}.appside{display:none}.side-brand{display:flex;align-items:center;gap:10px;padding:6px 8px 14px}.side-brand img{width:36px;height:36px;object-fit:contain;background:#fff;border-radius:10px;padding:4px;border:1px solid var(--border)}.side-user{margin-top:auto;padding-top:12px;border-top:1px solid var(--border);gap:10px}.avatar,.side-user{display:flex;align-items:center}.avatar{width:36px;height:36px;border-radius:var(--r-pill);background:var(--brand);color:#fff;justify-content:center;font-weight:700;font-size:13px;flex:none}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes shimmerBar{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.enter{animation:fadeUp .45s var(--ease) both}.enter-fade{animation:fadeIn .4s var(--ease) both}.stagger>*{animation:fadeUp .45s var(--ease) both}.stagger>:first-child{animation-delay:.02s}.stagger>:nth-child(2){animation-delay:.06s}.stagger>:nth-child(3){animation-delay:.1s}.stagger>:nth-child(4){animation-delay:.14s}.stagger>:nth-child(5){animation-delay:.18s}.stagger>:nth-child(6){animation-delay:.22s}.stagger>:nth-child(7){animation-delay:.26s}.stagger>:nth-child(8){animation-delay:.3s}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.chatfab{position:fixed;right:18px;bottom:18px;z-index:70;height:54px;padding:0 20px;border:none;border-radius:var(--r-pill);background:var(--brand);color:#fff;font-weight:700;font-size:14px;display:inline-flex;align-items:center;gap:9px;box-shadow:var(--shadow-3);animation:popIn .4s var(--ease) both}.chatfab:hover{background:var(--brand-2)}.chatwrap{position:fixed;inset:0;z-index:75;display:flex;align-items:flex-end;justify-content:flex-end;padding:0;background:rgba(15,23,42,.35);animation:fadeIn .2s var(--ease)}.chatbox{width:min(440px,100%);height:min(680px,100%);background:var(--surface);border:1px solid var(--card-brd);border-radius:var(--r-lg) var(--r-lg) 0 0;display:flex;flex-direction:column;box-shadow:var(--shadow-3);animation:slideUp .3s var(--ease) both;overflow:hidden}@media(min-width:640px){.chatwrap{padding:18px}.chatbox{border-radius:var(--r-lg);height:min(640px,calc(100vh - 36px))}}.chat-head{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;background:var(--surface)}.chat-body{flex:1 1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;background:var(--surface-2)}.chat-foot{padding:12px;border-top:1px solid var(--border);display:flex;gap:8px;background:var(--surface)}.msg{max-width:88%;padding:11px 14px;border-radius:16px;font-size:13.5px;line-height:1.5;animation:fadeUp .28s var(--ease) both;white-space:pre-wrap;overflow-wrap:anywhere}.msg-bot{align-self:flex-start;background:var(--surface);border:1px solid var(--card-brd);border-bottom-left-radius:6px;color:var(--text)}.msg-user{align-self:flex-end;background:var(--brand);color:#fff;border-bottom-right-radius:6px}.msg-data{align-self:flex-start;width:100%;border:1px solid var(--card-brd);border-radius:14px;padding:12px}.chip,.msg-data{background:var(--surface);font-size:12.5px}.chip{display:inline-flex;align-items:center;height:32px;padding:0 12px;border-radius:var(--r-pill);border:1px solid var(--border);color:var(--text-2);font-weight:600;white-space:nowrap;transition:background .15s var(--ease)}.chip:hover{background:var(--surface-3);color:var(--text)}.typing{display:inline-flex;gap:4px;align-items:center}.typing i{width:6px;height:6px;border-radius:50%;background:var(--text-3);animation:blink 1.2s infinite}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}@keyframes blink{0%,60%,to{opacity:.25}30%{opacity:1}}