/* ===================== carthing — painel ===================== */
:root{
  --bg:#F4F5F7; --card:#FFFFFF; --line:#EAECF0;
  --ink:#141B27; --muted:#7A8696; --muted2:#AEB7C4;
  --shadow:0 1px 2px rgba(16,24,40,.04), 0 1px 3px rgba(16,24,40,.05);
  --radius:16px;
  --side:#0E1726; --side-2:#161F31;
  --cyan:#16D6E8;
  /* accent default = auto1 */
  --brand:#ED6B23; --brand-weak:#FEF1E8; --brand-line:#F6C4A0;
  --brand-glow:rgba(237,107,35,.38);
  --don-1:#ED6B23; --don-2:#F4995E; --don-3:#FAD2B5;
}
body.theme-openlane{
  --brand:#2358E6; --brand-weak:#ECF1FE; --brand-line:#AEC4F6;
  --brand-glow:rgba(35,88,230,.42);
  --don-1:#2358E6; --don-2:#5E84EC; --don-3:#BBCFF7;
}
body.theme-encheresvo{
  --brand:#E5322A; --brand-weak:#FDECEB; --brand-line:#F4B4B0;
  --brand-glow:rgba(229,50,42,.42);
  --don-1:#E5322A; --don-2:#EE6B63; --don-3:#F7C0BC;
}
*{box-sizing:border-box}
/* o atributo hidden ganha SEMPRE — senao um display:flex/grid mantém o elemento visível */
[hidden]{display:none!important}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);
  font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}
h1,h2,h3{margin:0}
a{text-decoration:none;color:inherit}
[data-lucide]{width:18px;height:18px;stroke-width:2}

/* ---------- scrollbar com o degradê do "thing" (cyan -> teal) ---------- */
*{scrollbar-width:thin;scrollbar-color:#1AD3D2 transparent}                    /* Firefox: cor sólida intermédia */
::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{border-radius:10px;border:2px solid transparent;background-clip:content-box;
  background-image:linear-gradient(180deg,#13C7F0,#1FE0BE)}
::-webkit-scrollbar-thumb:horizontal{background-image:linear-gradient(90deg,#13C7F0,#1FE0BE)}
::-webkit-scrollbar-thumb:hover{background-image:linear-gradient(180deg,#2ED5F5,#34E8C9)}
::-webkit-scrollbar-corner{background:transparent}
/* troca de leiloeira: paleta faz morph suave (em vez de espasmo) durante a troca.
   inclui ::before/::after — muitos acentos da leiloeira são pseudo-elementos. */
body.theming, body.theming *, body.theming *::before, body.theming *::after{
  transition: background-color .5s ease, color .5s ease, border-color .5s ease,
              box-shadow .5s ease, fill .5s ease, stroke .5s ease, filter .5s ease !important;
}

/* ---------- wordmark carthing (Orbitron) ---------- */
.wm{font-family:'Orbitron',Inter,sans-serif;font-weight:600;font-size:22px;letter-spacing:1px;white-space:nowrap;display:inline-flex;align-items:center}
.wm-car{color:#0E1726}
.wm-thing{background:linear-gradient(90deg,#13C7F0,#1FE0BE);-webkit-background-clip:text;background-clip:text;color:transparent}
.wm.big{font-size:33px}
.side-brand .wm-car{color:#fff}

/* ===================== shell ===================== */
.app{display:flex;min-height:100vh}

/* ---------- sidebar (escura, neutra) ---------- */
.sidebar{width:244px;flex:0 0 244px;background:var(--side);color:#fff;
  display:flex;flex-direction:column;padding:22px 14px;position:sticky;top:0;height:100vh}
.side-brand{padding:6px 10px 24px}
.side-nav{display:flex;flex-direction:column;gap:3px;flex:1}
.side-nav a{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:10px;
  color:#97A4B8;font-weight:500;position:relative;transition:background .12s,color .12s}
.side-nav a:hover{background:rgba(255,255,255,.05);color:#D7DEE9}
.side-nav a.on{background:rgba(255,255,255,.06);color:#fff;font-weight:600}
.side-nav a.on::before{content:"";position:absolute;left:-14px;top:8px;bottom:8px;width:3px;
  border-radius:0 3px 3px 0;background:var(--brand)}
.side-nav a.on [data-lucide]{color:var(--brand)}
.side-nav a [data-lucide]{width:19px;height:19px}
/* badge de notificação (ex.: portagens por pagar) — empurrado para a direita do item */
.nav-badge{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:11px;
  background:#E5484D;color:#fff;font-size:11.5px;font-weight:800;line-height:20px;text-align:center;
  font-variant-numeric:tabular-nums;box-shadow:0 0 0 3px rgba(229,72,77,.18)}
.nav-badge[hidden]{display:none}
.side-nav a .nav-emoji{width:19px;display:inline-flex;align-items:center;justify-content:center;line-height:1;color:#97A4B8}
.side-nav a:hover .nav-emoji{color:#D7DEE9}
.side-nav a.on .nav-emoji{color:var(--brand)}
.side-foot{margin-top:auto;padding-top:16px}
.bot-status{display:flex;align-items:center;gap:10px;padding:6px 4px}
.bs-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto}
.bot-status.on .bs-dot{background:#36D399;animation:bs-pulse 2s infinite}
.bot-status.off .bs-dot{background:#8A97AB}
.bs-txt b{display:block;font-size:13px;font-weight:600;color:#fff;line-height:1.3}
.bs-txt span{font-size:11.5px;color:#8A97AB}
.bot-status.off .bs-txt b{color:#C3CCDA}
@keyframes bs-pulse{0%{box-shadow:0 0 0 0 rgba(54,211,153,.45)}
  70%{box-shadow:0 0 0 7px rgba(54,211,153,0)}100%{box-shadow:0 0 0 0 rgba(54,211,153,0)}}

/* ---------- controlos movidos do topo para a sidebar ---------- */
.side-tools{display:flex;gap:8px;margin-top:14px}
.side-icon{flex:1;height:40px;border-radius:11px;border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.04);color:#A9B6C7;cursor:pointer;display:grid;place-items:center;
  position:relative;font-family:inherit;transition:background .14s,color .14s,border-color .14s}
.side-icon:hover{background:rgba(255,255,255,.09);color:#fff}
.side-icon.has-dot::after{content:"";position:absolute;top:9px;right:11px;width:8px;height:8px;
  border-radius:50%;background:var(--brand);border:2px solid var(--side)}
.side-icon.danger{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;padding:0 12px;
  border-color:rgba(229,72,77,.4);background:rgba(229,72,77,.12);color:#FF8A8E;font-weight:800;
  font-variant-numeric:tabular-nums}
.side-icon.danger .rc-ic{font-size:14px;line-height:1}

.side-user{position:relative;display:flex;align-items:center;gap:10px;margin-top:12px;padding:8px 10px;
  border-radius:13px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);
  cursor:pointer;transition:background .14s}
.side-user:hover{background:rgba(255,255,255,.08)}
.side-user .avatar{width:36px;height:36px;flex:0 0 auto;background:var(--side-2);
  border:1px solid rgba(255,255,255,.10)}
.side-user .uname-wrap{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.2}
.side-user .uname{font-weight:600;font-size:13.5px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.side-user .urole{font-size:10.5px;font-weight:600;color:#8A97AB}
.side-user .chip-caret{background:none;border:0;color:#8A97AB;cursor:pointer;display:grid;place-items:center;flex:0 0 auto}
/* na sidebar o menu abre para CIMA */
.user-menu.up{top:auto;bottom:calc(100% + 8px);right:auto;left:0;width:100%}

/* título compacto (substitui a barra de topo removida) */
.page-head{display:flex;flex-direction:column;gap:3px}
.page-head h1{font-size:22px;font-weight:700}
.page-head p{margin:0;color:var(--muted);font-size:13.5px}

/* ---------- main ---------- */
.main{flex:1;min-width:0;display:flex;flex-direction:column}
.page-top{display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:20px 32px;background:#fff;border-bottom:1px solid var(--line)}
.page-titles h1{font-size:23px;font-weight:700}
.page-titles p{margin:3px 0 0;color:var(--muted);font-size:13.5px}
.top-actions{display:flex;align-items:center;gap:12px}
.icon-btn{width:42px;height:42px;border-radius:11px;border:1px solid var(--line);background:#fff;
  color:#56627a;cursor:pointer;display:grid;place-items:center;position:relative}
.icon-btn:hover{background:var(--bg)}
.icon-btn.has-dot::after{content:"";position:absolute;top:9px;right:10px;width:8px;height:8px;
  border-radius:50%;background:var(--brand);border:2px solid #fff}
.user-chip{display:flex;align-items:center;gap:9px;padding:5px 10px 5px 5px;border:1px solid var(--line);
  border-radius:30px;background:#fff;cursor:pointer}
.user-chip .avatar{cursor:pointer}
.uname-wrap{display:flex;flex-direction:column;line-height:1.15}
.uname-wrap .uname{font-weight:600;font-size:13.5px}
.urole{font-size:10.5px;font-weight:600;color:var(--muted)}

/* aviso de reportes por resolver (só o dev) */
.report-chip{display:inline-flex;align-items:center;gap:6px;height:42px;padding:0 14px;border-radius:11px;
  border:1px solid rgba(229,72,77,.35);background:rgba(229,72,77,.08);color:#E5484D;font-weight:800;
  font-size:14px;cursor:pointer;font-family:inherit;font-variant-numeric:tabular-nums}
.report-chip:hover{background:rgba(229,72,77,.15)}
.report-chip .rc-ic{font-size:15px;line-height:1}
.avatar{width:34px;height:34px;border-radius:50%;background:#0E1726;color:#fff;display:grid;place-items:center;
  font-weight:700;font-size:12px}
.user-chip .uname{font-weight:600;font-size:13.5px}
.user-chip a{color:var(--muted);display:grid;place-items:center}

.page-body{padding:26px 32px 110px;display:flex;flex-direction:column;gap:22px}

/* ===================== cards / grid ===================== */
.row{display:flex;gap:22px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:24px}
.card h2{font-size:17px;font-weight:700}
.card-sub{margin:6px 0 0;color:var(--muted);font-size:13.5px}
.top-row{align-items:stretch}
.leil-card{flex:1 1 0;display:flex;flex-direction:column}
.sum-card{flex:0 0 360px}

/* ---------- seletor de leiloeira (grande <-> pequeno) ---------- */
.leil-head{margin-bottom:8px}
.leil-pick{display:flex;align-items:center;gap:18px;margin-top:auto;padding-top:14px}
.pick{background:#fff;border:1.5px solid var(--line);border-radius:16px;cursor:pointer;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;
  font-family:inherit;transition:transform .18s,border-color .15s,box-shadow .15s,opacity .15s}
.pick.sel{flex:1 1 0;padding:30px 22px;border-color:var(--brand);background:var(--brand-weak)}
.pick.mini{flex:0 0 200px;padding:22px 16px;opacity:.62;filter:grayscale(.25)}
.pick.mini:hover{opacity:1;filter:none;border-color:var(--brand-line);transform:translateY(-2px)}
.pick-logo{display:grid;place-items:center}
.pick.sel .pick-logo{height:54px} .pick.sel .blogo{height:48px}
.pick.mini .pick-logo{height:34px} .pick.mini .blogo{height:30px}
.blogo{display:block;width:auto}
.pick-tag{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600}
.pick.sel .pick-tag{color:var(--brand)}
.pick.sel .pick-tag [data-lucide]{width:15px;height:15px;stroke-width:3}
.pick.mini .pick-tag{color:var(--muted)}

/* ---------- resumo ---------- */
.sum-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.sum-head h2{color:var(--brand)}
.badge-leil{font-size:11px;font-weight:800;letter-spacing:.5px;padding:4px 9px;border-radius:6px;
  background:var(--brand-weak);color:var(--brand)}
.sum-list{list-style:none;margin:0;padding:0}
.sum-list li{display:flex;align-items:center;gap:12px;padding:13px 2px;border-bottom:1px solid var(--line)}
.sum-list li:last-child{border-bottom:0}
.sum-list li [data-lucide]{color:var(--brand);width:19px;height:19px}
.sum-list li span{color:#475067;flex:1;font-size:13.5px}
.sum-list li b{font-size:15px;font-weight:700}
.sum-list li b.accent{color:var(--brand)}

/* ---------- visao geral ---------- */
.wide-card>h2{margin-bottom:18px}
.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:22px}
.kpi{display:flex;align-items:center;justify-content:space-between;gap:10px;
  border:1px solid var(--line);border-radius:13px;padding:16px 18px}
.kpi span{display:block;color:var(--muted);font-size:13px;margin-bottom:6px}
.kpi b{font-size:22px;font-weight:700}
.kpi>i[data-lucide]{width:22px;height:22px;color:var(--brand);background:var(--brand-weak);
  box-sizing:content-box;padding:9px;border-radius:11px}

/* ---------- charts ---------- */
.chart-row{align-items:stretch}
.chart-box{flex:1;border:1px solid var(--line);border-radius:13px;padding:18px 20px}
.chart-box h3{font-size:15px;font-weight:600;margin-bottom:14px}
.area-chart{width:100%;height:210px;display:block}
.grid-line{stroke:var(--line);stroke-width:1}
.ax{fill:var(--muted2);font-size:11px;font-weight:500}
.donut-wrap{display:flex;align-items:center;gap:26px;padding:6px 0}
.donut{width:160px;height:160px;flex:0 0 auto}
.donut-track{stroke:var(--line)}
.don-1{--c:var(--don-1)} .don-2{--c:var(--don-2)} .don-3{--c:var(--don-3)}
.donut-seg{stroke:var(--c);transition:stroke-dasharray .4s}
.legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.legend li{display:flex;align-items:center;gap:9px;font-size:13.5px;color:#475067}
.legend .sw{width:11px;height:11px;border-radius:50%;background:var(--c);flex:0 0 auto}
.legend b{font-weight:700;color:var(--ink);margin-left:2px}
.legend i{font-style:normal;color:var(--muted)}

.demo-note{margin:0;color:var(--muted2);font-size:12px;text-align:center}

/* ===================== nova pesquisa (so filtros) ===================== */
.newsearch{max-width:980px;margin:0 auto}
.newsearch-card{padding:8px 28px 24px}
.ns-head{display:flex;gap:12px;align-items:center;padding:20px 0;
  position:sticky;top:0;background:var(--card);z-index:2;border-bottom:1px solid var(--line)}
.ns-head .finput{flex:1;height:48px;font-size:15px}
.ns-head .btn-save{height:48px}

.ns-filters{display:flex;flex-direction:column}
.ns-filters > .fgroup,
.ns-filters > .frow{padding:22px 0;border-top:1px solid var(--line);margin:0}
.ns-filters > .fgroup:first-child{border-top:0}
.newsearch-card .fgroup{display:flex;flex-direction:column;gap:13px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}
.newsearch-card .frow > .fgroup{padding:0;border:0}
.newsearch-card .flabel{font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}
.newsearch-card .hint-mini{margin:0;color:var(--muted2);font-size:13px;font-style:italic;padding:4px 0}
.newsearch-card .toggles{gap:16px}
.newsearch-card .model-block{margin-top:2px}

.ns-foot{display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding-top:22px;border-top:1px solid var(--line)}

/* campos numericos sem as setinhas feias */
input[type=number]{-moz-appearance:textfield}
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.finput{height:44px}
select.finput{cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#fff;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237A8696' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
@media(max-width:680px){.frow{grid-template-columns:1fr;gap:0}.frow > .fgroup{padding:22px 0;border-top:1px solid var(--line)}}

/* ===================== pesquisa (lista resultados — veiculos/favoritos) ===================== */
.search-layout{display:flex;gap:22px;align-items:flex-start}
.filters{flex:0 0 296px;position:sticky;top:24px;padding:20px;display:flex;flex-direction:column;gap:18px}
.filters-head{display:flex;align-items:center;justify-content:space-between}
.filters-head h2{font-size:16px}
.clear-link{font-size:12.5px;color:var(--brand);font-weight:600}
.fgroup{display:flex;flex-direction:column;gap:9px}
.flabel{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}
.finput{border:1px solid var(--line);border-radius:9px;padding:9px 11px;font-size:13.5px;color:var(--ink);width:100%;font-family:inherit}
.finput:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-weak)}
.frange{display:flex;align-items:center;gap:8px}
.frange span{color:var(--muted2)}
.pill-wrap{display:flex;flex-wrap:wrap;gap:7px}
.pill-wrap.scroll{max-height:148px;overflow:auto;padding:2px}
.pill-check{cursor:pointer}
.pill-check input{position:absolute;opacity:0;width:0;height:0}
.pill-check span{position:relative;display:inline-block;padding:6px 12px;border:1px solid var(--line);border-radius:20px;
  font-size:12.5px;color:#54607a;background:#fff;user-select:none;overflow:hidden;
  transition:transform .22s cubic-bezier(.34,1.56,.64,1),border-color .16s,box-shadow .22s,background .16s,color .16s;
  will-change:transform}
/* brilho que varre a pill no hover */
.pill-check span::before{content:"";position:absolute;top:0;bottom:0;left:-80%;width:55%;pointer-events:none;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.65) 50%,transparent);
  transform:skewX(-22deg);opacity:0}
.pill-check:hover span::before{animation:pillSheen .65s ease forwards}
@keyframes pillSheen{from{left:-80%;opacity:1}to{left:130%;opacity:1}}
.pill-check:hover span{transform:translateY(-2px) scale(1.05);border-color:var(--brand);
  box-shadow:0 5px 16px -4px color-mix(in srgb, var(--brand) 45%, transparent)}
.pill-check span:active{transform:translateY(0) scale(.94);transition-duration:.08s}
.pill-check input:checked + span{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600;
  animation:pillPop .32s cubic-bezier(.34,1.56,.64,1)}
@keyframes pillPop{0%{transform:scale(1)}45%{transform:scale(1.12)}100%{transform:scale(1)}}
.pill-check input:checked + span::before{display:none}

.pill-marca span{display:inline-flex;align-items:center;gap:7px}
.brand-logo{width:18px;height:18px;object-fit:contain;flex:0 0 auto;border-radius:3px;
  transition:transform .25s cubic-bezier(.34,1.56,.64,1)}
.pill-marca:hover .brand-logo{transform:scale(1.45) rotate(-8deg)}
.pill-marca input:checked + span .brand-logo{background:#fff;padding:1px;animation:logoSettle .4s cubic-bezier(.34,1.56,.64,1)}
@keyframes logoSettle{0%{transform:scale(.2) rotate(-150deg)}100%{transform:scale(1) rotate(0)}}

/* ===== seletor de marcas (grelha de tiles) ===== */
.brand-bar{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.brand-bar .marca-search{flex:1}
.brand-count{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;
  color:var(--brand);background:var(--brand-weak);padding:7px 7px 7px 12px;border-radius:9px;white-space:nowrap}
.brand-count b{font-size:14px;font-weight:800}
.brand-count button{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:0;
  border-radius:6px;background:transparent;color:var(--brand);cursor:pointer;transition:.12s}
.brand-count button:hover{background:var(--brand);color:#fff}
.brand-count button [data-lucide]{width:13px;height:13px}

.brand-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px 8px;
  max-height:470px;overflow-y:auto;overflow-x:hidden;padding:16px 10px 16px 14px;overscroll-behavior:contain}
.brand-grid::-webkit-scrollbar{width:9px}
.brand-grid::-webkit-scrollbar-track{background:transparent}
.brand-grid::-webkit-scrollbar-thumb{background:var(--line);border-radius:8px}
.brand-grid::-webkit-scrollbar-thumb:hover{background:var(--brand-line)}

/* toggle "ocultar marcas esquisofrenicas" */
.weird-toggle{flex:0 0 auto;font-size:12px;color:var(--muted);white-space:nowrap}
.weird-toggle .track{transform:scale(.85)}
.brand-grid.hide-weird .brand-tile.weird{display:none}
.brand-grid.hide-weird .brand-tile.weird:has(input:checked){display:block}

.brand-tile{cursor:pointer;min-width:0;position:relative}
.brand-tile:hover{z-index:5}
.brand-tile input{position:absolute;opacity:0;width:0;height:0}
.bt-card{display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:10px;user-select:none;
  transform-origin:left center;
  transition:background .14s,transform .24s cubic-bezier(.34,1.56,.64,1)}
.brand-tile:hover .bt-card{background:var(--bg);transform:scale(1.12)}
.bt-card:active{transform:scale(.97)}
/* vizinhos abrem espaco (efeito dock) */
.brand-tile:hover + .brand-tile .bt-card{transform:translateX(14px)}
.brand-tile:has(+ .brand-tile:hover) .bt-card{transform:translateX(-14px)}
.bt-logo{width:24px;height:24px;flex:0 0 auto;display:flex;align-items:center;justify-content:center}
.bt-logo img{max-width:24px;max-height:24px;object-fit:contain;
  transition:transform .28s cubic-bezier(.34,1.56,.64,1)}
.brand-tile:hover .bt-logo img{transform:scale(2.3) rotate(-8deg)}
.bt-logo.noimg::before{content:attr(data-letter);width:22px;height:22px;border-radius:50%;display:flex;
  align-items:center;justify-content:center;background:var(--bg);border:1px solid var(--line);
  font-weight:800;font-size:11px;color:var(--muted)}
.bt-name{min-width:0;font-size:12.5px;font-weight:600;color:#54607a;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis;line-height:1.2;
  transition:transform .28s cubic-bezier(.34,1.56,.64,1)}
.brand-tile:hover .bt-name{transform:translateX(19px)}
.bt-check{margin-left:auto;flex:0 0 auto;width:17px;height:17px;border-radius:50%;background:var(--brand);
  color:#fff;display:flex;align-items:center;justify-content:center;transform:scale(0);
  transition:transform .28s cubic-bezier(.34,1.56,.64,1)}
.bt-check [data-lucide]{width:11px;height:11px;stroke-width:3.5}
.brand-tile input:checked + .bt-card .bt-check{transform:scale(1)}
.brand-tile input:checked + .bt-card .bt-name{color:var(--brand);font-weight:700}
.brand-tile input:checked + .bt-card .bt-logo img{animation:logoSettle .4s cubic-bezier(.34,1.56,.64,1)}
.hint-mini{margin:0;color:var(--muted2);font-size:12.5px;font-style:italic}
.model-block + .model-block{margin-top:10px}
.model-marca{font-size:11px;font-weight:700;color:var(--muted);margin-bottom:7px;text-transform:uppercase;letter-spacing:.3px}

.toggles{gap:12px}
.toggle{display:flex;align-items:center;gap:10px;font-size:13.5px;color:#3b4658;cursor:pointer}
.toggle input{position:absolute;opacity:0}
.toggle .track{width:38px;height:22px;border-radius:20px;background:#D7DCE3;position:relative;transition:.15s;flex:0 0 auto}
.toggle .track::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:.15s;box-shadow:0 1px 2px rgba(0,0,0,.2)}
.toggle input:checked + .track{background:var(--brand)}
.toggle input:checked + .track::after{transform:translateX(16px)}

.btn-search{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--brand);color:#fff;
  border:0;border-radius:10px;padding:12px;font-weight:700;font-size:14px;cursor:pointer;font-family:inherit}
.btn-search:hover{filter:brightness(1.06)}

.results{flex:1;min-width:0;display:flex;flex-direction:column;gap:16px}
.res-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px}
.res-count{font-size:14px} .res-count b{font-size:18px;font-weight:700}
.res-count .muted{margin-left:6px;font-size:13px}
.res-actions{display:flex;align-items:center;gap:10px}
.sort-sel{font-size:12.5px;color:var(--muted);display:flex;align-items:center;gap:7px}
.sort-sel select{border:1px solid var(--line);border-radius:8px;padding:7px 9px;font-size:13px;color:var(--ink);font-family:inherit;cursor:pointer}
.btn-ghost{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:#fff;
  border-radius:9px;padding:8px 13px;font-size:13px;font-weight:600;color:#3b4658;cursor:pointer;font-family:inherit}
.btn-ghost:hover{background:var(--bg)}
.btn-ghost [data-lucide]{width:16px;height:16px}
.btn-ghost.soon{opacity:.5;cursor:not-allowed}

.res-table-card{padding:0;overflow:hidden}
table.grid{width:100%;border-collapse:collapse;font-size:13px}
.grid th{text-align:left;color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:600;
  padding:11px 14px;border-bottom:1px solid var(--line);background:#FAFBFC}
.grid td{padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:middle}
.grid tr:last-child td{border-bottom:0}
.grid tbody tr:hover td{background:#FAFBFC}
.grid .num{text-align:right;font-variant-numeric:tabular-nums}
.grid .accent{color:var(--brand);font-weight:600}
.car b{display:block} .car .muted{font-size:12px}
.grid td a{color:var(--muted)} .grid td a:hover{color:var(--brand)}
.td-links{display:flex;align-items:center;gap:10px}
.pill-tag{display:inline-block;padding:2px 9px;border-radius:11px;font-size:11px;background:#EEF0F3;color:var(--muted);font-weight:600}
.pill-tag.pos{background:#E7F7EE;color:#1F9D57}

.empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:48px;text-align:center}
.empty [data-lucide]{width:34px;height:34px;color:var(--muted2);margin-bottom:6px}
.empty p{margin:0;font-weight:600;font-size:15px}

/* botao pesquisar inline (criar nova) */
.btn-search.inline{width:auto;display:inline-flex;align-items:center;gap:8px;padding:11px 18px}
.btn-search [data-lucide]{width:18px;height:18px}

/* ---- pesquisas guardadas ---- */
.page-head-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:4px}
.sec-title{font-size:16px;font-weight:700}
.saved-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;align-items:start}
.saved-card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);
  display:flex;flex-direction:column;overflow:hidden;transition:.15s}
.saved-card:hover{border-color:var(--brand-line);box-shadow:0 6px 20px rgba(20,30,60,.10);transform:translateY(-2px)}
.saved-main{padding:16px 16px 14px;display:block;flex:1}
.saved-top{display:flex;align-items:center;gap:12px}

/* cartao "Nova pesquisa" (tracejado) */
.saved-add{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  gap:6px;min-height:218px;padding:22px;border:2px dashed var(--brand-line);border-radius:14px;
  background:transparent;color:var(--muted);transition:.15s}
.saved-add:hover{border-color:var(--brand);background:var(--brand-weak);transform:translateY(-2px)}
.saved-add-plus{display:flex;align-items:center;justify-content:center;width:54px;height:54px;margin-bottom:6px;
  border-radius:50%;background:var(--brand-weak);color:var(--brand);transition:.15s}
.saved-add:hover .saved-add-plus{background:var(--brand);color:#fff}
.saved-add-plus [data-lucide]{width:26px;height:26px;stroke-width:2.5}
.saved-add-title{font-size:15.5px;font-weight:700;color:var(--ink)}
.saved-add-sub{font-size:12.5px;color:var(--muted);max-width:200px}

/* alternancia logo claro/escuro (night mode) */
.bl-d{display:none}
html.dark .bl-l{display:none}
html.dark .bl-d{display:inline}

.saved-logo{width:44px;height:44px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;overflow:hidden}
.saved-logo img{width:100%;height:100%;object-fit:contain}
.saved-logo.noimg::before{content:attr(data-letter);font-weight:800;font-size:18px;color:var(--brand)}
.saved-logo.multi{color:var(--brand)}
.saved-logo.multi [data-lucide]{width:24px;height:24px}

.saved-head{flex:1;min-width:0;padding-right:22px}
.saved-head h3{font-size:15.5px;font-weight:700;color:var(--ink);line-height:1.25;
  overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.saved-sub{display:block;margin-top:2px;font-size:11.5px;font-weight:600;color:var(--muted2);text-transform:uppercase;letter-spacing:.3px}
.saved-count{flex:1;min-width:0;color:var(--muted);font-size:12.5px;font-weight:600}
.saved-count b{color:var(--ink);font-size:15px;font-weight:800;margin-right:2px}

.saved-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.schip{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:5px 10px;border-radius:8px;
  background:var(--bg);border:1px solid var(--line);color:#4b5670;font-size:12px;font-weight:600;line-height:1.3}
.schip [data-lucide]{width:14px;height:14px;flex:0 0 auto;color:var(--muted)}
.schip span,.schip{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.schip.ghost{background:transparent;border-style:dashed;color:var(--muted2)}
.schip.ghost [data-lucide]{color:var(--muted2)}

/* eliminar minimalista no canto superior direito (revela-se no hover do cartao) */
.del-x{position:absolute;top:9px;right:9px;z-index:4;display:flex;align-items:center;justify-content:center;
  width:26px;height:26px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--muted2);
  cursor:pointer;opacity:.4;transition:.13s}
.saved-card:hover .del-x{opacity:1}
.del-x:hover{background:#FDEEEA;color:#C0492F}
.del-x [data-lucide]{width:15px;height:15px}

/* janelinha de confirmacao DENTRO do cartao */
.card-confirm{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;
  padding:14px;background:rgba(255,255,255,.72);backdrop-filter:blur(3px);
  opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s}
.saved-card.confirming .card-confirm{opacity:1;visibility:visible}
.cc-box{width:100%;text-align:center;transform:translateY(6px);transition:transform .18s cubic-bezier(.2,.8,.2,1)}
.saved-card.confirming .cc-box{transform:translateY(0)}
.cc-ic{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;
  background:#FDEEEA;color:#C0492F;margin-bottom:8px}
.cc-ic [data-lucide]{width:18px;height:18px}
.cc-title{margin:0;font-size:14.5px;font-weight:700;color:var(--ink)}
.cc-sub{margin:3px 0 0;font-size:12px;color:var(--muted);max-width:90%;margin-inline:auto;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cc-actions{display:flex;gap:9px;justify-content:center;margin-top:14px}
.cc-actions form{display:flex}
.cc-cancel,.cc-del{display:inline-flex;align-items:center;gap:6px;padding:8px 15px;border-radius:9px;
  font-size:13px;font-weight:700;cursor:pointer;border:1px solid transparent;font-family:inherit;transition:.12s}
.cc-cancel{background:var(--bg);border-color:var(--line);color:var(--muted)}
.cc-cancel:hover{color:var(--ink);border-color:var(--brand-line)}
.cc-del{background:#C0492F;color:#fff}
.cc-del:hover{background:#A93D26}
.cc-del [data-lucide]{width:14px;height:14px}

/* rodape: contagem + botao Ajustes */
.saved-actions{display:flex;align-items:center;gap:10px;padding:11px 14px;border-top:1px solid var(--line)}
.btn-ajustes{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:8px;
  background:transparent;border:1px solid var(--line);color:var(--muted);font-size:12.5px;font-weight:600;
  cursor:pointer;transition:.13s}
.btn-ajustes:hover{border-color:var(--brand-line);color:var(--brand);background:var(--brand-weak)}
.btn-ajustes [data-lucide]{width:14px;height:14px}

.mini-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:11px;background:#fff;
  border:0;color:#54607a;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}
.mini-btn:hover{background:var(--bg);color:var(--ink)}
.mini-btn [data-lucide]{width:16px;height:16px}

/* ===== wizard "nova pesquisa" (questionario por etapas) ===== */
.card.wiz{padding:0;overflow:hidden;position:relative}
.wiz-head{padding:20px 24px 16px;border-bottom:1px solid var(--line)}
.wiz-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.wiz-stepnum{font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.6px}
.wiz-stepnum b{color:var(--brand)}
.wiz-skipall{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:var(--muted2);
  font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:.12s}
.wiz-skipall:hover{color:var(--brand)}
.wiz-skipall [data-lucide]{width:14px;height:14px}
.wiz-bar{height:6px;border-radius:6px;background:var(--bg);overflow:hidden}
.wiz-fill{display:block;height:100%;width:10%;border-radius:6px;background:var(--brand);
  transition:width .35s cubic-bezier(.2,.8,.2,1)}
.wiz-title{margin:16px 0 0;font-size:21px;font-weight:800;color:var(--ink)}
.wiz-sub{margin:4px 0 0;font-size:13px;color:var(--muted)}

.wiz-body{padding:20px 24px;min-height:250px}
.wstep{display:none}
.wstep.on{display:block;animation:wstepIn .32s cubic-bezier(.2,.8,.2,1)}
.wstep.on.rev{animation-name:wstepInRev}
@keyframes wstepIn{from{opacity:0;transform:translateX(36px)}to{opacity:1;transform:none}}
@keyframes wstepInRev{from{opacity:0;transform:translateX(-36px)}to{opacity:1;transform:none}}

.wiz-scroll{max-height:330px;overflow-y:auto;padding-right:6px}
.pill-wrap.big .pill-check span{font-size:14px;padding:10px 20px}
.wiz-range{max-width:430px}
.wiz-km{max-width:300px}
.wstep .fgroup + .ns-codes,.wstep .ns-codes{margin-top:18px}
.wstep .ns-prices{margin-top:0}

.opt-cards{display:flex;gap:14px;flex-wrap:wrap}
.opt-card{flex:1;min-width:230px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;
  padding:18px;border:1.5px solid var(--line);border-radius:13px;background:transparent;cursor:pointer;
  font-family:inherit;transition:.15s}
.opt-card [data-lucide]{width:22px;height:22px;color:var(--muted);margin-bottom:5px}
.opt-card b{font-size:14.5px;color:var(--ink)}
.opt-card span{font-size:12.5px;color:var(--muted)}
.opt-card:hover{border-color:var(--brand-line);transform:translateY(-1px)}
.opt-card.on{border-color:var(--brand);background:var(--brand-weak);box-shadow:0 0 0 1px var(--brand) inset}
.opt-card.on [data-lucide]{color:var(--brand)}

/* ultimo passo: resumo + campos */
.review-box{padding:16px 18px;border:1.5px dashed var(--brand-line);border-radius:13px;background:var(--brand-weak)}
.review-cap{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:800;color:var(--brand);
  text-transform:uppercase;letter-spacing:.6px;margin-bottom:11px}
.review-cap [data-lucide]{width:15px;height:15px}
.review-chips{display:flex;flex-wrap:wrap;gap:8px}
.review-chips .schip{background:var(--card);font-size:12.5px;padding:6px 12px}
.review-chips .rv-logo{width:17px;height:17px;object-fit:contain;margin-right:2px}
.final-fields{margin-top:20px;display:flex;flex-direction:column;gap:18px}
.finput.big{padding:13px 15px;font-size:14.5px;border-radius:11px}

/* validacao dos precos obrigatorios */
.finput.invalid{border-color:#C0492F !important;box-shadow:0 0 0 3px rgba(192,73,47,.14)}
.pricebox.shake{animation:wshake .35s}
@keyframes wshake{0%,100%{transform:none}25%{transform:translateX(-7px)}75%{transform:translateX(7px)}}

/* aviso explicativo (toast) */
.wiz-toast{position:absolute;left:50%;bottom:78px;transform:translate(-50%,14px);z-index:9;
  display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border-radius:10px;
  background:#C0492F;color:#fff;font-size:13px;font-weight:600;box-shadow:0 8px 22px -6px rgba(192,73,47,.6);
  opacity:0;visibility:hidden;pointer-events:none;white-space:nowrap;
  transition:opacity .2s,transform .25s cubic-bezier(.2,.8,.2,1),visibility .2s}
.wiz-toast.show{opacity:1;visibility:visible;transform:translate(-50%,0)}
.wiz-toast [data-lucide]{width:16px;height:16px}

.wiz-foot{display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px;padding:14px 24px;border-top:1px solid var(--line);position:relative}
.wiz-foot .btn-save,.wiz-foot .btn-ghost{white-space:nowrap}
.wiz-cancel{margin-right:auto}
.wiz-foot-right{display:flex;align-items:center;gap:10px}
.wiz-next [data-lucide],.wiz-save [data-lucide],.wiz-back [data-lucide]{width:16px;height:16px}
.wiz .btn-save{display:inline-flex;align-items:center;gap:8px}

/* ===== precos de referencia (form) — Importado / Nacional, sem e com pack ===== */
/* dois regimes de IVA: Regime de margem e IVA dedutivel, cada um com sem/com pack */
.buy-group{margin-top:22px}
.buy-group:first-child{margin-top:0}
.buy-grouptitle{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:800;
  color:var(--ink);margin-bottom:11px}
.buy-grouptitle [data-lucide]{width:16px;height:16px;color:var(--muted)}
.buy-group .buy-block:first-child{margin-top:0}
.buy-block{margin-top:16px}
.buy-block:first-child{margin-top:0}
.buy-head{display:flex;align-items:center;gap:8px;font-size:11.5px;font-weight:800;color:var(--muted);
  text-transform:uppercase;letter-spacing:.5px;margin-bottom:9px}
.buy-head [data-lucide]{width:14px;height:14px}
.buy-head b{color:var(--ink)}
.buy-block.pack-block .buy-head b{color:#7C3AED}
.buy-head .pack-logo{display:inline-flex;align-items:center;height:22px}
.buy-head .pack-logo img{max-height:22px;max-width:64px;object-fit:contain}
.buy-row{display:flex;gap:12px}
.pricebox{flex:1;min-width:0;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:var(--bg)}
.pricebox.imp{border-left:3px solid #2B6CB0}
.pricebox.nac{border-left:3px solid #1F9D57}
.pack-block .pricebox{border-left-color:#7C3AED}
.pricebox .flabel{display:flex;align-items:center;gap:6px;margin:0 0 9px}
.pricebox .flabel [data-lucide]{width:14px;height:14px;color:var(--muted)}
.price-field{position:relative;display:flex;align-items:center}
.price-field .finput{width:100%;padding-right:30px}
.price-field .cur{position:absolute;right:12px;color:var(--muted);font-weight:700;font-size:13px;pointer-events:none}

/* ===== precos no cartao da pesquisa (mesmo visual do wizard) ===== */
.saved-prices{display:flex;flex-direction:column;gap:14px;margin-top:12px}
.sp-regime{display:flex;flex-direction:column;gap:8px}
.sp-regtitle{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:800;color:var(--ink)}
.sp-regtitle [data-lucide]{width:14px;height:14px;color:var(--muted2)}
.sp-head{display:flex;align-items:center;gap:6px;font-size:10.5px;font-weight:800;color:var(--muted2);
  text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px}
.sp-head [data-lucide]{width:13px;height:13px}
.sp-head.pack{color:#7C3AED}
.sp-packlogo{display:inline-flex;align-items:center;height:18px}
.sp-packlogo img{max-height:18px;max-width:48px;object-fit:contain}
.sp-row{display:flex;flex-wrap:wrap;gap:8px}
.pricetag{flex:1;min-width:120px;display:flex;flex-direction:column;gap:3px;padding:8px 11px;border-radius:10px;
  background:var(--bg);border:1px solid var(--line);border-left:3px solid var(--line)}
.pricetag .pt-top{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:var(--muted)}
.pricetag .pt-top [data-lucide]{width:13px;height:13px;flex:0 0 auto}
.pricetag b{color:var(--ink);font-weight:800;font-size:14.5px}
.pricetag.imp{border-left-color:#2B6CB0}
.pricetag.nac{border-left-color:#1F9D57}
.pricetag.pack{border-left-color:#7C3AED;background:rgba(124,58,237,.07)}
.pricetag.pack b{color:#7C3AED}

/* ===== codigos do carro (tags destacaveis) ===== */
.codetag{display:inline-flex;align-items:center;gap:5px;font-family:'Orbitron',ui-monospace,monospace;
  font-weight:700;font-size:11.5px;letter-spacing:.5px;color:#fff;padding:3px 9px;border-radius:6px;
  background:linear-gradient(135deg,#7C3AED,#DB2777);box-shadow:0 1px 3px rgba(124,58,237,.35);text-transform:uppercase}
.codetag.sm{font-size:10px;padding:2px 6px;letter-spacing:.3px}
.code-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}
.codetag.rm{cursor:pointer}
.codetag.rm [data-lucide]{width:12px;height:12px;opacity:.85}
.codetag.rm:hover{filter:brightness(1.1)}

/* campo de codigos no formulario */
.ns-codes{margin-top:14px}
.ns-codes .flabel{display:flex;align-items:center;gap:6px}
.ns-codes .flabel [data-lucide]{width:14px;height:14px;color:var(--muted)}
.code-input{display:flex;flex-wrap:wrap;align-items:center;gap:7px;min-height:44px;padding:7px 10px;
  border:1px solid var(--line);border-radius:10px;background:#fff;cursor:text;transition:border-color .15s}
.code-input:focus-within{border-color:var(--brand)}
#code-chips{display:contents}
.code-entry{flex:1;min-width:130px;border:0;outline:0;background:transparent;font-size:13.5px;
  font-family:inherit;color:var(--ink);padding:4px 2px}

/* botao "Criar nova pesquisa" — padrao do painel, com micro-hover subtil */
.page-head-row .btn-search.inline{transition:filter .12s,transform .12s,box-shadow .12s}
.page-head-row .btn-search.inline:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(20,30,60,.14)}

/* ===== pagina leiloes: abas por pesquisa ===== */
.leil-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.leil-tab{display:flex;align-items:center;gap:10px;max-width:340px;padding:9px 12px;border-radius:12px;
  border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);text-decoration:none;transition:.14s}
.leil-tab:hover{border-color:var(--brand-line);transform:translateY(-1px)}
.leil-tab.on{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand) inset,0 4px 14px rgba(20,30,60,.10)}
.leil-tab-logo{width:32px;height:32px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;overflow:hidden}
.leil-tab-logo img{width:100%;height:100%;object-fit:contain}
.leil-tab-logo.multi{color:var(--brand)}
.leil-tab-logo.multi [data-lucide]{width:19px;height:19px}
.leil-tab-main{display:flex;flex-direction:column;gap:3px;min-width:0}
.leil-tab-name{font-size:13.5px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.leil-tab.on .leil-tab-name{color:var(--brand)}
.leil-tab-codes{display:flex;flex-wrap:wrap;gap:4px}
.leil-tab-n{flex:0 0 auto;margin-left:2px;background:var(--brand-weak);color:var(--brand);font-weight:800;
  font-size:12px;padding:2px 9px;border-radius:20px}
.res-bar .res-count .codetag{margin-left:8px;vertical-align:1px}

/* ---- barra guardar pesquisa ---- */
.save-bar{display:flex;gap:12px;align-items:center;padding:14px 16px}
.save-bar .finput{flex:1;height:44px}
.btn-save{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:#fff;border:0;
  border-radius:10px;padding:0 18px;height:44px;font-weight:700;font-size:13.5px;cursor:pointer;font-family:inherit;white-space:nowrap}
.btn-save:hover{background:#26344a}
.btn-save [data-lucide]{width:17px;height:17px}

/* ---- favorito ---- */
.th-fav{width:42px}
.fav-cell{width:42px;text-align:center}
.fav-btn{background:none;border:0;cursor:pointer;color:var(--muted2);display:inline-grid;place-items:center;padding:4px}
.fav-btn:hover{color:var(--brand)}
.fav-btn.on{color:#F5A623}
.fav-btn.on [data-lucide]{fill:#F5A623}
.fav-btn [data-lucide]{width:19px;height:19px}

/* ---- cartões de carro estilo Auto1 (favoritos) ---- */
.car-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(262px,1fr));gap:15px}
.vcard{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);
  display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .15s,transform .15s}
.vcard:hover{box-shadow:0 6px 20px rgba(16,24,40,.10);transform:translateY(-2px)}
.vcard-media{position:relative;aspect-ratio:16/10;background:#EEF0F3}
.vcard-photo{display:block;width:100%;height:100%}
.vcard-photo img{width:100%;height:100%;object-fit:cover;display:block}
.vcard-noimg{display:grid;place-items:center;width:100%;height:100%;color:var(--muted2)}
.vcard-noimg [data-lucide]{width:42px;height:42px}
.vcard-badges{position:absolute;top:10px;left:10px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.vbadge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;padding:4px 9px;border-radius:8px;
  backdrop-filter:blur(2px);box-shadow:0 1px 3px rgba(16,24,40,.18)}
.vbadge.vat{background:rgba(231,247,238,.95);color:#1F9D57}
.vbadge.exp{background:rgba(20,27,39,.82);color:#fff}
.vbadge [data-lucide]{width:13px;height:13px}
.vcard-fav{position:absolute;top:8px;right:8px;margin:0}
.vcard-fav .fav-btn{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.92);
  box-shadow:0 1px 4px rgba(16,24,40,.22);padding:0}
.vcard-fav .fav-btn:hover{background:#fff}
/* botão minimalista "Simular" (canto inf. esquerdo da foto) -> abre o simulador */
.vcard-sim{position:absolute;bottom:8px;left:8px;width:34px;height:34px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;border:0;cursor:pointer;padding:0;
  background:rgba(255,255,255,.92);color:var(--ink);box-shadow:0 1px 4px rgba(16,24,40,.22);
  transition:background .16s,transform .12s}
.vcard-sim:hover{background:var(--brand);color:#fff;transform:translateY(-1px)}
.vcard-sim [data-lucide]{width:17px;height:17px}
/* botão "Simular" na tabela dos Leilões (coluna de ações) */
.tbl-sim{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;
  border:0;background:transparent;color:var(--muted);cursor:pointer;padding:0;border-radius:7px;
  vertical-align:middle;transition:background .15s,color .15s}
.tbl-sim:hover{background:var(--brand-weak);color:var(--brand)}
.tbl-sim [data-lucide]{width:16px;height:16px}
/* aviso curto ao abrir noutro browser */
.open-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,12px);z-index:9999;
  background:#111827;color:#fff;font-size:13px;font-weight:600;padding:10px 16px;border-radius:10px;
  box-shadow:0 8px 26px rgba(16,24,40,.3);opacity:0;pointer-events:none;transition:opacity .18s,transform .18s}
.open-toast.show{opacity:1;transform:translate(-50%,0)}
.open-toast.bad{background:#b42318}
.vcard-body{padding:13px 13px 15px;display:flex;flex-direction:column;gap:10px}
.vcard-title{display:block;color:var(--ink)}
.vcard-title b{display:block;font-size:15px;font-weight:700;line-height:1.25}
.vcard-title .muted{display:block;font-size:12px;color:var(--muted);margin-top:2px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vcard-title:hover b{color:var(--brand)}
.vcard-specs{display:flex;flex-wrap:wrap;gap:5px 6px;list-style:none;margin:0;padding:0}
.vcard-specs li{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;color:#3b4658;
  background:var(--bg);border:1px solid var(--line);border-radius:7px;padding:4px 8px}
.vcard-specs [data-lucide]{width:14px;height:14px;color:var(--muted)}
.vcard-loc{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted)}
.vcard-loc [data-lucide]{width:14px;height:14px;flex:0 0 auto}
.vcard-loc span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vcard-prices{border-top:1px solid var(--line);padding-top:11px;margin-top:1px}
.vprice-row{display:flex;gap:12px}
.vprice-row .vprice{flex:1;min-width:0}
.vprice span{display:block;font-size:10.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.3px}
.vprice b{display:block;font-size:18px;font-weight:800;margin-top:3px;font-variant-numeric:tabular-nums}
.vprice.main b{color:var(--brand)}
.vprice.buy{text-align:right}
.vprice.buy b{color:var(--ink)}
.vprice-extra{margin-top:9px;display:flex;flex-direction:column;gap:5px}
.vprice-extra .vrow{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.vprice-extra .vrow span{font-size:12px;color:var(--muted)}
.vprice-extra .vrow b{font-size:13.5px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}

/* timer sobre a foto */
.vcard-timer{position:absolute;top:8px;left:8px;display:inline-flex;align-items:center;gap:6px;
  background:rgba(20,27,39,.82);color:#fff;font-size:12px;font-weight:700;padding:5px 10px;border-radius:9px;
  backdrop-filter:blur(2px);box-shadow:0 1px 4px rgba(16,24,40,.22)}
.vcard-timer [data-lucide]{width:14px;height:14px}
.vcard-timer .tlabel{font-weight:600;opacity:.85}
.vcard-timer .tval{font-variant-numeric:tabular-nums;letter-spacing:.3px}
.vcard-timer.ending{background:rgba(193,73,47,.92)}
.vcard-timer.ended{background:rgba(90,99,112,.92)}
.vcard-timer.direct{background:rgba(37,99,235,.95)}

/* tags IVA / exportação */
.vcard-tags{display:flex;flex-wrap:wrap;gap:6px}
.vtag{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;padding:4px 9px;border-radius:8px}
.vtag [data-lucide]{width:13px;height:13px}
.vtag.vat{background:#E7F7EE;color:#1F9D57}
.vtag.exp{background:#FEF1E8;color:#C0492F}

/* link p/ pesquisa comparável no Standvirtual */
.vcard-sv{display:inline-flex;align-self:flex-start;align-items:center;gap:5px;font-size:11.5px;
  font-weight:700;padding:4px 9px;border-radius:8px;background:#EAF2FF;color:#2563EB}
.vcard-sv:hover{background:#DCE9FF}
.vcard-sv [data-lucide]{width:13px;height:13px}
html.dark .vcard-sv{background:rgba(37,99,235,.20);color:#8FB6FF}
html.dark .vcard-sv:hover{background:rgba(37,99,235,.30)}

/* abas dos favoritos (Todos / Combustão / Elétricos / Terminados) */
.fav-tabs{display:flex;flex-wrap:wrap;gap:6px;background:var(--card);border:1px solid var(--line);
  border-radius:13px;box-shadow:var(--shadow);padding:6px;margin-top:-6px}
.ftab{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;cursor:pointer;
  font-family:inherit;font-size:13.5px;font-weight:600;color:#54607a;padding:9px 15px;border-radius:9px;transition:.12s}
.ftab:hover{background:var(--bg);color:var(--ink)}
.ftab [data-lucide]{width:16px;height:16px}
.ftab.on{background:var(--brand);color:#fff}
.ftab.on [data-lucide]{color:#fff}
.ftab-n{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;
  font-size:11.5px;font-weight:800;background:var(--bg);color:var(--muted);font-variant-numeric:tabular-nums}
.ftab.on .ftab-n{background:rgba(255,255,255,.25);color:#fff}

@media(max-width:1100px){
  .search-layout{flex-direction:column}
  .filters{position:static;flex:1 1 auto;width:100%}
}

/* ===================== Assistente ===================== */
/* colapsado = círculo só com as estrelas; ao passar o rato cresce p/ a esquerda e mostra "Assistente" */
.assist-fab{position:fixed;right:26px;bottom:24px;z-index:60;display:flex;align-items:center;justify-content:center;gap:0;
  border:0;cursor:pointer;height:54px;width:54px;padding:0;border-radius:27px;color:#fff;font-weight:700;font-size:14px;font-family:inherit;
  overflow:hidden;white-space:nowrap;
  background:linear-gradient(90deg,#2F80FF,#6A35EC);box-shadow:0 0 22px rgba(80,110,255,.5);
  transition:width .28s cubic-bezier(.2,.8,.2,1),gap .28s cubic-bezier(.2,.8,.2,1),box-shadow .22s}
.assist-fab span{max-width:0;opacity:0;overflow:hidden;transition:max-width .28s cubic-bezier(.2,.8,.2,1),opacity .18s}
.assist-fab:hover{width:158px;gap:9px;box-shadow:0 0 30px rgba(80,110,255,.66)}
.assist-fab:hover span{max-width:120px;opacity:1}
.assist-fab [data-lucide]{width:19px;height:19px;flex:0 0 auto}
.assist-overlay{position:fixed;inset:0;background:rgba(10,20,50,.25);z-index:59;opacity:0;visibility:hidden;transition:.2s}
.assist-card{position:fixed;right:26px;bottom:24px;width:444px;z-index:61;
  background:linear-gradient(135deg,#EAF1FF 0%,#DCE7FF 55%,#C9D8FF 100%);
  border-radius:28px;padding:26px;box-shadow:0 24px 60px -10px rgba(30,50,130,.42);
  opacity:0;visibility:hidden;transform:translateY(18px) scale(.96);transform-origin:bottom right;
  transition:opacity .22s,transform .22s cubic-bezier(.2,.8,.2,1),visibility .22s,width .22s cubic-bezier(.2,.8,.2,1),right .22s cubic-bezier(.2,.8,.2,1)}
/* vista do analisar: card ~12% mais largo (cresce para a esquerda) p/ o titulo caber numa linha */
.assist-card.sim{width:440px;right:83px;overflow:visible;display:flex;flex-direction:column;justify-content:flex-end;height:214px;border-radius:18px}
.assist-card.sim #assist-sim{width:320px;transform:translate(-3px,-8px)}
/* titulo+subtitulo: empurrados um bocadinho p/ baixo, e o subtitulo mais perto do titulo */
.assist-card.sim #assist-sim h2{margin-top:6px;font-size:20.2px;font-weight:700}
.assist-card.sim #assist-sim .assist-sub{margin-top:7px;font-size:9.3px;font-weight:400}
/* titulo+subtitulo mais perto da box (menos espaço acima da box) */
.assist-card.sim #assist-sim .assist-input{margin-top:17px;height:48px;border-radius:10px;width:282px;transition:border-color .18s,box-shadow .25s}
.assist-card.sim #assist-sim .assist-input [data-lucide]{width:17px;height:17px}
.assist-card.sim #assist-sim .assist-input input{font-size:11px;font-weight:400}
.assist-card.sim #assist-sim .assist-input input::placeholder{transition:opacity .15s}
.assist-card.sim #assist-sim .assist-input input:focus::placeholder{opacity:0}
/* botao voltar mais acima — margin-top NAO funciona aqui (bloco ancorado ao fundo), por isso uso transform */
.assist-card.sim #assist-sim .assist-back{margin-top:-8px;transform:translateY(-13px)}
/* botao Simular mais fininho (-20%) com texto e emoji reduzidos na mesma proporcao */
.assist-card.sim #assist-sim .assist-go{height:38px;font-size:13px;width:282px;border-radius:10px;margin-top:14px;position:relative;overflow:hidden}
.assist-card.sim #assist-sim .assist-go [data-lucide]{width:14px;height:14px}
/* personagem só nesta vista: desce (fivela junto ao fundo) e vem p/ a esquerda (dedo dentro da box) */
.assist-card.sim .assist-char{right:19px;bottom:-67px;clip-path:inset(0 0 67px 0)}
.assist-card.sim .assist-shadow{right:19px;bottom:-67px;clip-path:none;filter:brightness(0) blur(18px);opacity:.15;
  -webkit-mask-image:radial-gradient(ellipse 72% 60% at 48% 42%,#000 32%,transparent 78%);
  mask-image:radial-gradient(ellipse 72% 60% at 48% 42%,#000 32%,transparent 78%)}
body.assist-open .assist-overlay{opacity:1;visibility:visible}
body.assist-open .assist-card{opacity:1;visibility:visible;transform:none}
body.assist-open .assist-fab{opacity:0;visibility:hidden}
.assist-char{position:absolute;right:-4px;bottom:0;height:298px;width:auto;z-index:4;pointer-events:none}
/* cópia só-sombra: silhueta desfocada, fica ATRÁS das boxes e textos (z-index < .assist-body) */
.assist-shadow{position:absolute;right:-4px;bottom:0;height:298px;width:auto;z-index:2;pointer-events:none;
  filter:brightness(0) blur(13px);opacity:.18;transform:translate(4px,12px)}
.assist-close{position:absolute;top:14px;right:14px;z-index:5;width:32px;height:32px;border-radius:50%;
  border:0;background:rgba(255,255,255,.72);color:#3a4870;cursor:pointer;display:grid;place-items:center}
.assist-close:hover{background:#fff}
.assist-close [data-lucide]{width:17px;height:17px}
.assist-body{position:relative;z-index:3;width:264px}
.assist-body h2{font-size:20px;font-weight:700;color:#071A52;line-height:1.15;letter-spacing:-.4px}
.assist-body h2 .hl{color:#2D63FF}
.assist-sub{margin:10px 0 0;font-size:10.21px;font-weight:600;color:#7A859F;line-height:1.45}
.assist-sub .hl{color:#2D63FF}
.assist-input{margin-top:20px;height:52px;background:#fff;border:2px solid #C8D4FF;border-radius:15px;
  display:flex;align-items:center;gap:10px;padding:0 14px;box-shadow:0 8px 22px rgba(77,109,255,.12)}
.assist-input [data-lucide]{width:19px;height:19px;color:#2D63FF;flex:0 0 auto}
.assist-input input{border:0;outline:0;flex:1;font-size:14px;font-weight:500;color:#1b2440;background:transparent;font-family:inherit;min-width:0}
.assist-input input::placeholder{color:#9AA4B8}
.assist-go{margin-top:14px;width:100%;height:50px;border:0;border-radius:15px;cursor:pointer;font-family:inherit;
  background:linear-gradient(90deg,#2F80FF,#6A35EC);color:#fff;font-size:16px;font-weight:600;
  display:flex;align-items:center;justify-content:center;gap:9px;box-shadow:0 14px 30px rgba(70,100,255,.35)}
.assist-go:hover{box-shadow:0 18px 40px rgba(70,100,255,.5)}
.assist-go [data-lucide]{width:18px;height:18px}
/* menu de escolha */
.assist-actions{margin-top:20px;display:flex;flex-direction:column;gap:11px;width:264px}
.assist-act{height:50px;border:0;border-radius:15px;cursor:pointer;font-family:inherit;font-size:15px;font-weight:600;
  display:flex;align-items:center;gap:10px;padding:0 18px;color:#fff;
  background:linear-gradient(90deg,#2F80FF,#6A35EC);box-shadow:0 14px 30px rgba(70,100,255,.35);transition:.18s}
.assist-act:hover{box-shadow:0 18px 40px rgba(70,100,255,.5)}
.assist-act [data-lucide]{width:18px;height:18px;flex:0 0 auto}
/* Reportar: NAO e um botao igual aos outros — e um link discreto, separado por uma linha */
.assist-act.is-report{height:auto;background:transparent;color:#8A93A8;box-shadow:none;border:0;
  border-top:1px solid rgba(20,30,60,.09);border-radius:0;margin-top:3px;padding:11px 0 1px;
  font-size:12.5px;font-weight:600;justify-content:center;gap:6px}
.assist-act.is-report:hover{background:transparent;color:#E5384D;box-shadow:none;text-decoration:underline;text-underline-offset:3px}
.assist-act.is-report [data-lucide]{width:15px;height:15px}
.assist-act.is-soon{background:#E4EAFB;color:#9AA4C2;box-shadow:none;cursor:not-allowed}
.assist-act.is-soon [data-lucide]{color:#B4BEDB}
/* box foca com brilho (so no focus); botao Simular com o brilho a passar (sem o "respirar" que parecia clicado) */
.assist-card.sim #assist-sim .assist-input:focus-within{border-color:#2D63FF;box-shadow:0 0 0 3px rgba(45,99,255,.16),0 10px 24px rgba(77,109,255,.20)}
.assist-card.sim #assist-sim .assist-go::after{content:"";position:absolute;top:0;left:-65%;width:42%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.7),transparent);transform:skewX(-18deg);
  animation:assist-shine 3.2s ease-in-out infinite;pointer-events:none}
@keyframes assist-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.03)}}
@keyframes assist-shine{0%{left:-65%}55%,100%{left:150%}}
/* clique no Simular: carrega (scale) + ripple a sair do ponto do clique */
.assist-card.sim #assist-sim .assist-go:active{animation:none;transform:scale(.95)}
.assist-go .ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.5);
  transform:translate(-50%,-50%) scale(0);animation:assist-ripple .6s ease-out forwards;pointer-events:none;z-index:1}
@keyframes assist-ripple{to{transform:translate(-50%,-50%) scale(1);opacity:0}}
@media(prefers-reduced-motion:reduce){.assist-card.sim #assist-sim .assist-go{animation:none}
  .assist-card.sim #assist-sim .assist-go::after{animation:none}}
.assist-act .soon{margin-left:auto;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;
  background:#fff;color:#A0AAC6;padding:3px 8px;border-radius:8px}
/* botão voltar */
.assist-back{display:inline-flex;align-items:center;gap:4px;margin:-8px 0 12px;padding:4px 9px 4px 6px;
  border:0;border-radius:20px;cursor:pointer;font-family:inherit;font-size:10px;font-weight:600;
  background:rgba(255,255,255,.72);color:#3a4870}
.assist-back:hover{background:#fff}
.assist-back [data-lucide]{width:12px;height:12px}

/* reportar / anotar */
.assist-title{width:264px;margin-top:6px;background:#fff;border:2px solid #C8D4FF;border-radius:13px;
  padding:10px 14px;font-family:inherit;font-size:13.5px;font-weight:600;color:#1b2440;outline:0;
  box-shadow:0 8px 22px rgba(77,109,255,.10)}
.assist-title::placeholder{color:#9AA4B8;font-weight:500}
.assist-textarea{margin-top:10px;width:264px;min-height:88px;resize:vertical;background:#fff;
  border:2px solid #C8D4FF;border-radius:15px;padding:12px 14px;font-family:inherit;font-size:14px;
  font-weight:500;color:#1b2440;outline:0;box-shadow:0 8px 22px rgba(77,109,255,.12)}
.assist-textarea::placeholder{color:#9AA4B8}
/* linha de ações: + (adicionar tópico) + enviar */
.report-actions{width:264px;margin-top:12px;display:flex;gap:10px}
.topic-add{flex:0 0 auto;width:50px;height:50px;border:0;border-radius:15px;cursor:pointer;
  background:#EAF0FF;color:#2D63FF;display:grid;place-items:center;transition:.15s}
.topic-add:hover{background:#DCE6FF}
.topic-add [data-lucide]{width:22px;height:22px}
.report-actions .assist-go{flex:1;margin-top:0;width:auto}
/* tópicos já adicionados (empilhados por cima) */
.topic-list{width:264px;display:flex;flex-direction:column;gap:8px;margin-bottom:14px;text-align:left}
.topic-chip{position:relative;background:rgba(255,255,255,.82);border:1px solid #DCE3F7;border-radius:13px;
  padding:10px 30px 10px 12px}
.topic-chip .tc-title{font-size:12.5px;font-weight:800;color:#1b2440;margin-bottom:2px}
.topic-chip .tc-text{font-size:12.5px;color:#3a4870;line-height:1.4;white-space:pre-wrap;word-break:break-word}
.tc-del{position:absolute;top:7px;right:7px;width:22px;height:22px;border:0;border-radius:7px;cursor:pointer;
  background:transparent;color:#9AA4B8;display:grid;place-items:center}
.tc-del:hover{background:rgba(229,72,77,.1);color:#E5484D}
.tc-del [data-lucide]{width:14px;height:14px}
/* título do tópico no painel do admin */
.rep-card-title{font-size:14px;font-weight:800;color:var(--ink);margin-bottom:4px}
@media(max-width:560px){.assist-card{width:calc(100vw - 32px);right:16px}}

/* ===================== login ===================== */
.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg)}
.login-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);
  padding:38px 32px;width:344px;display:flex;flex-direction:column;gap:13px;text-align:center}

/* toggle sol/lua minimalista (canto sup. direito do card) */
.login-theme{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;
  border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;
  display:grid;place-items:center;padding:0;transition:color .15s,background .15s,border-color .15s,transform .2s}
.login-theme:hover{color:var(--brand);border-color:var(--brand-line);transform:rotate(-12deg)}
.login-theme svg{width:18px;height:18px}

/* botão Entrar — gradiente do logo + "breathe" (animação da assistente do EXCEL bot) */
.btn-login{position:relative;overflow:hidden;border:0;border-radius:10px;cursor:pointer;margin-top:8px;
  padding:13px;font-weight:800;font-size:15px;font-family:inherit;letter-spacing:.3px;color:#06262E;
  background:linear-gradient(90deg,#13C7F0,#1FE0BE);
  box-shadow:0 7px 20px rgba(22,200,220,.30);
  animation:login-breathe 3.4s ease-in-out infinite;transition:box-shadow .2s,transform .1s}
.btn-login:hover{box-shadow:0 11px 30px rgba(22,200,220,.50)}
.btn-login:active{transform:scale(.99)}
.btn-login::after{content:"";position:absolute;top:0;left:-65%;width:45%;height:100%;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.6),transparent);
  transform:skewX(-18deg);animation:login-shine 3.4s ease-in-out infinite}
@keyframes login-breathe{0%,100%{transform:scale(1);box-shadow:0 7px 20px rgba(22,200,220,.30)}
  50%{transform:scale(1.02);box-shadow:0 12px 32px rgba(22,200,220,.50)}}
@keyframes login-shine{0%{left:-65%}55%,100%{left:150%}}
@media(prefers-reduced-motion:reduce){.btn-login,.btn-login::after{animation:none}}
/* dark mode: texto branco */
.dark .btn-login{color:#fff}
.login-logo{display:flex;justify-content:center;margin-bottom:4px}
.login-card .sub{color:var(--muted);margin:-4px 0 10px;font-size:13.5px}
.login-card label{display:flex;flex-direction:column;gap:6px;text-align:left;font-size:12.5px;color:var(--muted);font-weight:500}
.login-card input{background:#fff;border:1px solid var(--line);border-radius:9px;padding:11px 13px;color:var(--ink);font-size:14px}
.login-card input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-weak)}
.btn-primary{background:#0E1726;color:#fff;border:0;border-radius:9px;
  padding:12px;font-weight:700;font-size:14px;cursor:pointer;margin-top:8px}
.btn-primary:hover{background:#1b2740}
.erro{background:#FEF1F1;color:#D64545;border:1px solid #F6D2D2;border-radius:9px;padding:9px;font-size:13px}

@media(max-width:1100px){
  .top-row,.chart-row{flex-direction:column}
  .sum-card{flex:1 1 auto}
  .pick.mini{flex:0 0 170px}
  .kpi-row{grid-template-columns:repeat(2,1fr)}
}

/* ===================== night mode (tema escuro) ===================== */
/* Gancho: <html class="dark"> (aplicado cedo no <head> p/ evitar flash).
   Redefinimos as variaveis NO body para vencer body.theme-auto1/openlane,
   mantendo o --brand (laranja/azul) de cada leiloeira. */
html.dark body{
  --bg:#0D1320; --card:#161E2B; --line:#28323F;
  --ink:#E7ECF3; --muted:#94A2B5; --muted2:#6B7889;
  --brand-weak:#1E2A3B;
  --shadow:0 1px 2px rgba(0,0,0,.35), 0 1px 3px rgba(0,0,0,.40);
}
html.dark{color-scheme:dark}

/* superficies que estavam fixas a branco */
html.dark .page-top,
html.dark .icon-btn,
html.dark .user-chip,
html.dark .pick,
html.dark .btn-ghost,
html.dark .mini-btn,
html.dark .login-card{background:var(--card)}
html.dark select.finput{background-color:var(--card)}
html.dark .login-card input{background:var(--bg)}
html.dark .pill-check span{background:var(--card)}
html.dark .icon-btn{color:#A9B6C7}
html.dark .icon-btn.has-dot::after{border-color:var(--card)}

/* fundos cinza-claro */
html.dark .grid th{background:#1C2532}
html.dark .grid tbody tr:hover td{background:#1C2532}
html.dark .vcard-media{background:#1C2532}
html.dark .pill-tag{background:#202B3A}
html.dark .toggle .track{background:#3A4656}
html.dark .vcard-fav .fav-btn{background:rgba(22,30,43,.92)}
html.dark .vcard-fav .fav-btn:hover{background:var(--card)}

/* cartoes de pesquisa guardada (escuro) */
html.dark .schip{background:#1C2532;color:#B7C2D1}
html.dark .saved-card:hover{box-shadow:0 6px 20px rgba(0,0,0,.35)}
html.dark .del-x:hover{background:rgba(192,73,47,.18);color:#F1A07F}
html.dark .code-input{background:var(--card)}
html.dark .pricebox{background:#1C2532}
html.dark .pricetag{background:#1C2532}
html.dark .pricetag.pack{background:rgba(124,58,237,.16);border-color:#2A3547;border-left-color:#7C3AED}
html.dark .pricetag.pack b{color:#CBB6F7}
html.dark .sp-head.pack{color:#B794F6}
html.dark .buy-block.pack-block .buy-head b{color:#B794F6}
html.dark .wiz-bar{background:#1C2532}
html.dark .opt-card.on{background:color-mix(in srgb, var(--brand) 14%, var(--card))}
html.dark .pill-check span::before{background:linear-gradient(105deg,transparent,rgba(255,255,255,.16) 50%,transparent)}
html.dark .pill-check:hover span{box-shadow:0 5px 18px -4px color-mix(in srgb, var(--brand) 60%, transparent)}
html.dark .pill-check input:checked + span{background:var(--brand);border-color:var(--brand);color:#fff}
/* grelha de marcas (escuro) */
html.dark .brand-tile:hover .bt-card{background:#1C2532}
html.dark .bt-name{color:#B7C2D1}
html.dark .bt-logo.noimg::before{background:#1C2532;color:#B7C2D1}
html.dark .brand-grid::-webkit-scrollbar-thumb{background:#2A3547}
/* pill selecionada tem chip branco atras do logo -> usar a versao clara do logo, nao a invertida */
html.dark .pill-marca input:checked + span .bl-l{display:inline}
html.dark .pill-marca input:checked + span .bl-d{display:none}
html.dark .card-confirm{background:rgba(18,24,33,.78)}
html.dark .cc-ic{background:rgba(192,73,47,.20);color:#F1A07F}
html.dark .cc-cancel{background:#1C2532}
html.dark .btn-retro-face{border-color:#000;box-shadow:5px 5px 0 #000}
html.dark .btn-retro:hover .btn-retro-face{box-shadow:7px 7px 0 #000}

/* textos que estavam fixos a cinza-escuro -> cinza-claro */
html.dark .sum-list li span,
html.dark .legend li,
html.dark .toggle,
html.dark .btn-ghost,
html.dark .mini-btn,
html.dark .vcard-specs li,
html.dark .pill-check span,
html.dark .sim-row .lbl,
html.dark .reg-line .k,
html.dark .reg-hero .hl .k,
html.dark .rep-row .rep-name{color:#B7C2D1}

/* botoes escuros que usavam var(--ink) como fundo (agora claro) */
html.dark .btn-save{background:var(--brand);color:#fff}
html.dark .btn-save:hover{filter:brightness(1.06);background:var(--brand)}

/* tags claras nos cartoes */
html.dark .vtag.vat,html.dark .vbadge.vat{background:rgba(31,157,87,.18);color:#56D996}
html.dark .vtag.exp{background:rgba(192,73,47,.20);color:#F1A07F}
html.dark .pill-tag.pos{background:rgba(31,157,87,.18);color:#56D996}

/* abas dos favoritos no escuro */
html.dark .ftab{color:#B7C2D1}
html.dark .ftab:hover{background:rgba(255,255,255,.05);color:#fff}
html.dark .ftab-n{background:rgba(255,255,255,.08);color:#9AA7B8}

/* login no escuro */
html.dark .wm-car{color:#E7ECF3}
html.dark .login-theme:hover{color:var(--brand)}
html.dark .erro{background:rgba(214,69,69,.14);border-color:rgba(214,69,69,.42);color:#F2A6A6}

/* ===================== platform switcher (sidebar) ============= */
/* Já são 3 leiloeiras — não cabem lado a lado. Colapsado mostra só a ATIVA;
   ao passar o rato (ou focar) abre um popup para cima com as 3 para escolher. */
.pswitch{position:relative;display:flex;justify-content:center;width:100%;margin-bottom:16px}

/* ===== COLAPSADO: só a leiloeira ATIVA, com glow + luz a passar (efeitos abaixo) ===== */
.pswitch-active{position:relative;display:flex;justify-content:center;align-items:center;padding:6px 0;
  cursor:pointer;transition:opacity .18s ease}
.pswitch:hover .pswitch-active{opacity:0}   /* ao abrir o popup, some o preview p/ não duplicar */
.pa{display:none;position:relative}
body.theme-auto1      .pswitch-active .pa[data-id="auto1"],
body.theme-openlane   .pswitch-active .pa[data-id="openlane"],
body.theme-encheresvo .pswitch-active .pa[data-id="encheresvo"]{display:inline-flex}
.pswitch-active .blogo{position:relative;z-index:1;max-height:22px;max-width:150px;width:auto;object-fit:contain;display:block}
.pswitch-active .wm-evo{font-size:18px}
.pswitch-active .pa[data-id="openlane"] .blogo{max-height:17px;max-width:130px;filter:brightness(.92)}

/* ===== popup (lista) ao hover — EMPILHADO na vertical (o logo OpenLane é largo, 7:1) ===== */
.pswitch-pop{position:absolute;left:50%;bottom:calc(100% + 6px);transform:translateX(-50%) translateY(6px);
  display:flex;flex-direction:column;align-items:center;gap:15px;padding:15px 16px;min-width:150px;z-index:80;
  background:var(--side-2);border:1px solid rgba(255,255,255,.08);border-radius:16px;
  box-shadow:0 18px 44px rgba(0,0,0,.5);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .18s ease, transform .18s ease, visibility .18s}
.pswitch:hover .pswitch-pop,.pswitch:focus-within .pswitch-pop{
  opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
/* ponte invisível a tapar o intervalo entre o popup e o seletor (senão o hover cai) */
.pswitch-pop::before{content:"";position:absolute;top:100%;left:0;right:0;height:12px}
/* seta a apontar para baixo */
.pswitch-pop::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%) rotate(45deg);
  margin-top:-6px;width:11px;height:11px;background:var(--side-2);
  border-right:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}

.pswitch-form{display:flex;justify-content:center;width:100%;min-width:0}
.pswitch-opt{position:relative;display:inline-flex;align-items:center;justify-content:center;
  padding:0;background:none;border:0;cursor:pointer;font-family:inherit;max-width:100%}
.pswitch-form.on .pswitch-opt{cursor:default}

/* logos da lista (OpenLane fica mais pequena — é muito larga) */
.pswitch-pop .blogo{position:relative;z-index:1;width:auto;height:auto;max-height:19px;max-width:150px;
  object-fit:contain;display:block;transition:opacity .3s ease, filter .3s ease}
.pswitch-pop .wm-evo{font-size:16px}
.pswitch-form[data-id="openlane"] .blogo{max-height:16px;max-width:122px;filter:brightness(.92)}
/* NÃO selecionada: lisa (sem glow nem luz), só ligeiramente esbatida; hover acende */
.pswitch-form:not(.on) .blogo{opacity:.8}
.pswitch-form:not(.on) .pswitch-opt{transition:transform .22s cubic-bezier(.22,.61,.36,1)}
.pswitch-form:not(.on) .pswitch-opt:hover{transform:translateY(-2px) scale(1.06)}
.pswitch-form:not(.on) .pswitch-opt:hover .blogo{opacity:1}

/* ============================================================
   EFEITOS "ATIVO": glow por FORA + luz a passar por DENTRO.
   Só no item .on da lista E no preview colapsado — as leiloeiras
   NÃO selecionadas da lista ficam sem qualquer efeito.
   ============================================================ */
/* glow por fora */
.pswitch-form.on .pswitch-opt::before,
.pswitch-active .pa::before{
  content:"";position:absolute;inset:-45% -18%;z-index:0;pointer-events:none;filter:blur(9px);opacity:.9}
.pswitch-form.on[data-id="auto1"] .pswitch-opt::before,      .pswitch-active .pa[data-id="auto1"]::before{background:radial-gradient(closest-side, rgba(237,107,35,.7), transparent 72%)}
.pswitch-form.on[data-id="openlane"] .pswitch-opt::before,   .pswitch-active .pa[data-id="openlane"]::before{background:radial-gradient(closest-side, rgba(45,110,255,.7), transparent 72%)}
.pswitch-form.on[data-id="encheresvo"] .pswitch-opt::before, .pswitch-active .pa[data-id="encheresvo"]::before{background:radial-gradient(closest-side, rgba(229,50,42,.7), transparent 72%)}

/* luz a passar — imagens (auto1/openlane), mascarada à forma do logo */
.pswitch-form.on[data-id="auto1"] .pswitch-opt::after,
.pswitch-form.on[data-id="openlane"] .pswitch-opt::after,
.pswitch-active .pa[data-id="auto1"]::after,
.pswitch-active .pa[data-id="openlane"]::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:2;
  background:linear-gradient(105deg, transparent 40%, rgba(255,255,255,.95) 50%, transparent 60%);
  background-size:230% 100%;background-repeat:no-repeat;
  mask-repeat:no-repeat;mask-position:center;mask-size:100% 100%;
  -webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:100% 100%;
  mix-blend-mode:screen;animation:logo-sheen 3.2s ease-in-out infinite}
.pswitch-form.on[data-id="auto1"] .pswitch-opt::after,
.pswitch-active .pa[data-id="auto1"]::after{-webkit-mask-image:url(/static/logos/auto1.png);mask-image:url(/static/logos/auto1.png)}
.pswitch-form.on[data-id="openlane"] .pswitch-opt::after,
.pswitch-active .pa[data-id="openlane"]::after{-webkit-mask-image:url(/static/logos/openlane.png);mask-image:url(/static/logos/openlane.png)}

/* luz a passar — wordmark EnchèresVO (clip no próprio texto) */
.pswitch-form[data-id="encheresvo"] .wm-evo,
.pswitch-active .pa[data-id="encheresvo"] .wm-evo{position:relative}
.pswitch-form.on[data-id="encheresvo"] .wm-evo::after,
.pswitch-active .pa[data-id="encheresvo"] .wm-evo::after{
  content:"ENCHÈRESVO";position:absolute;left:0;top:0;line-height:1;
  font-weight:900;letter-spacing:-.4px;
  background:linear-gradient(105deg, transparent 42%, rgba(255,255,255,.95) 50%, transparent 58%);
  background-size:230% 100%;background-repeat:no-repeat;
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
  mix-blend-mode:screen;pointer-events:none;animation:logo-sheen 3.2s ease-in-out infinite}
@keyframes logo-sheen{
  0%{background-position:150% 0}
  60%,100%{background-position:-40% 0}
}

/* fechar o popup logo após escolher (o JS mete .picked; sai no mouseleave) */
.pswitch.picked .pswitch-pop{opacity:0;visibility:hidden;pointer-events:none}
.pswitch.picked .pswitch-active{opacity:1}

@media(prefers-reduced-motion:reduce){
  .pswitch-opt::after,.pa::after,.wm-evo::after{animation:none}
  .pswitch-active,.pswitch-pop{transition:none}
}

/* ---- wordmark EnchèresVO (sem PNG): ENCHÈRES a claro + VO a vermelho ---- */
.wm-evo{display:inline-flex;align-items:baseline;font-weight:900;letter-spacing:-.4px;
  font-size:15px;line-height:1;white-space:nowrap;font-family:Inter,system-ui,sans-serif}
.wm-evo .evo-a{color:#EAF0FF}
.wm-evo .evo-b{color:#E5322A}

/* ===================== menu da conta (setinha) ===================== */
.user-chip{position:relative}
.user-chip .avatar{border:0;cursor:pointer;font-family:inherit;transition:filter .15s}
.user-chip .avatar:hover{filter:brightness(1.12)}
.chip-caret{background:none;border:0;color:var(--muted);cursor:pointer;display:grid;place-items:center;
  padding:2px;border-radius:6px;transition:color .15s}
.chip-caret:hover{color:var(--ink)}
.user-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:194px;background:var(--card);
  border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 34px rgba(16,24,40,.18);padding:6px;z-index:70}
.user-menu button,.user-menu a{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:0;
  background:transparent;border-radius:8px;font-size:13.5px;font-weight:600;color:var(--ink);cursor:pointer;
  font-family:inherit;text-align:left}
.user-menu button:hover,.user-menu a:hover{background:var(--bg)}
.user-menu a[href="/logout"]{color:#E5484D}
.user-menu [data-lucide]{width:17px;height:17px}

/* ===================== modal de conta (foto) ===================== */
.account-overlay{position:fixed;inset:0;background:rgba(10,16,28,.45);z-index:80;backdrop-filter:blur(2px)}
.account-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:81;width:380px;
  max-width:calc(100vw - 32px);background:var(--card);border:1px solid var(--line);border-radius:20px;
  box-shadow:0 30px 70px rgba(0,0,0,.35);padding:30px 26px;text-align:center;
  animation:account-in .18s cubic-bezier(.2,.8,.2,1)}
@keyframes account-in{from{opacity:0;transform:translate(-50%,-46%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.account-close{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:50%;border:0;
  background:var(--bg);color:var(--muted);cursor:pointer;display:grid;place-items:center}
.account-close:hover{color:var(--ink)}
.account-avatar{width:72px;height:72px;border-radius:50%;background:var(--brand);color:#fff;display:grid;
  place-items:center;font-weight:800;font-size:24px;margin:4px auto 14px;box-shadow:0 8px 22px rgba(16,24,40,.25)}
.account-name{font-size:20px;font-weight:800}
.account-sub{color:var(--muted);font-size:13px;margin:3px 0 20px}
.account-actions{display:flex;flex-direction:column;gap:9px}
.account-act{display:flex;align-items:center;justify-content:center;gap:9px;padding:12px;border-radius:11px;
  border:1px solid var(--line);background:var(--bg);color:var(--ink);font-weight:700;font-size:13.5px;
  cursor:pointer;font-family:inherit;text-decoration:none}
.account-act:hover{border-color:var(--brand-line)}
.account-act[disabled]{opacity:.5;cursor:not-allowed}
.account-act span{font-weight:500;font-size:11px;color:var(--muted)}
.account-act.danger{color:#E5484D;border-color:rgba(229,72,77,.35)}
.account-act.danger:hover{background:rgba(229,72,77,.08);border-color:rgba(229,72,77,.5)}
.account-act [data-lucide]{width:17px;height:17px}

/* imagem de perfil (em vez das iniciais) — recorta e preenche o circulo */
.avatar img,.account-avatar img,.ae-pic img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.avatar{overflow:hidden}.account-avatar{overflow:hidden}
.account-avatar.clickable{cursor:pointer;transition:filter .15s,transform .15s}
.account-avatar.clickable:hover{filter:brightness(1.05);transform:scale(1.03)}

/* ----- foto da conta em grande (lightbox) ----- */
.photo-overlay{position:fixed;inset:0;z-index:90;background:rgba(8,12,20,.8);backdrop-filter:blur(3px);
  display:grid;place-items:center;overflow:hidden}
.photo-box{cursor:default}
.photo-box{width:min(76vw,400px);height:min(76vw,400px);border-radius:50%;overflow:hidden;
  box-shadow:0 30px 80px rgba(0,0,0,.55);animation:account-in .18s cubic-bezier(.2,.8,.2,1)}
.photo-box img{width:100%;height:100%;object-fit:cover;display:block}
.photo-initials{width:100%;height:100%;display:grid;place-items:center;background:var(--brand);
  color:#fff;font-weight:800;font-size:clamp(64px,18vw,128px)}

/* ----- painel de reportes/notas (só o dev) ----- */
.reports-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:81;width:480px;
  max-width:calc(100vw - 32px);max-height:82vh;overflow:auto;background:var(--card);border:1px solid var(--line);
  border-radius:20px;box-shadow:0 30px 70px rgba(0,0,0,.35);padding:26px 24px;
  animation:account-in .18s cubic-bezier(.2,.8,.2,1)}
.reports-body{display:flex;flex-direction:column;gap:10px}
.reports-empty{color:var(--muted);font-size:13.5px;text-align:center;padding:24px 0}
.rep-card{border:1px solid var(--line);border-radius:13px;padding:12px 14px;background:var(--bg)}
.rep-card-meta{font-size:11px;color:var(--muted);font-weight:700;margin-bottom:5px}
.rep-card-text{font-size:13.5px;color:var(--ink);line-height:1.5;white-space:pre-wrap;word-break:break-word;margin-bottom:11px}
.rep-resolve{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--card);
  color:#13A06B;border-radius:9px;padding:7px 12px;font-weight:700;font-size:12.5px;cursor:pointer;font-family:inherit}
.rep-resolve:hover{border-color:#36D399;background:rgba(54,211,153,.08)}
.rep-resolve:disabled{opacity:.5;cursor:default}
.rep-resolve [data-lucide]{width:15px;height:15px}

/* ----- editar perfil (dentro do modal de conta) ----- */
.account-edit{display:flex;flex-direction:column;gap:12px;text-align:left}
.ae-avatar{position:relative;width:84px;height:84px;margin:2px auto 6px;cursor:pointer}
.ae-pic{width:84px;height:84px;border-radius:50%;background:var(--brand);color:#fff;display:grid;
  place-items:center;font-weight:800;font-size:26px;overflow:hidden;box-shadow:0 8px 22px rgba(16,24,40,.25)}
.ae-cam{position:absolute;right:-2px;bottom:-2px;width:28px;height:28px;border-radius:50%;
  background:var(--card);border:1px solid var(--line);display:grid;place-items:center;color:var(--ink)}
.ae-cam [data-lucide]{width:15px;height:15px}
.ae-avatar:hover .ae-cam{border-color:var(--brand-line)}
.ae-field{display:flex;flex-direction:column;gap:5px}
.ae-field span{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}
.ae-field input{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:10px;
  padding:10px 12px;font-size:14px;font-family:inherit;outline:none}
.ae-field input:focus{border-color:var(--brand);background:var(--card)}
.ae-actions{display:flex;gap:9px;margin-top:6px}
.ae-cancel,.ae-save{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:11px;border-radius:11px;font-weight:700;font-size:13.5px;cursor:pointer;font-family:inherit}
.ae-cancel{border:1px solid var(--line);background:var(--bg);color:var(--muted)}
.ae-cancel:hover{color:var(--ink);border-color:var(--brand-line)}
.ae-save{border:0;background:var(--brand);color:#fff}
.ae-save:hover{filter:brightness(1.06)}
.ae-save [data-lucide]{width:16px;height:16px}

/* ---------- Mensagens do painel (conta -> conta) ---------- */
/* badge de não-lidas no sino da sidebar */
.side-dot{position:absolute;top:-5px;right:-5px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;
  background:var(--brand);color:#fff;font-size:10.5px;font-weight:800;line-height:17px;text-align:center;
  border:2px solid var(--side);font-variant-numeric:tabular-nums}
.side-dot[hidden]{display:none}

.msgs-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:91;width:440px;
  max-width:calc(100vw - 32px);max-height:84vh;display:flex;flex-direction:column;background:var(--card);
  border:1px solid var(--line);border-radius:20px;box-shadow:0 30px 70px rgba(0,0,0,.4);padding:22px;
  animation:account-in .18s cubic-bezier(.2,.8,.2,1)}
.msgs-head{display:flex;align-items:center;gap:11px;margin-bottom:14px}
.msgs-ic{width:38px;height:38px;border-radius:11px;background:var(--brand-weak);color:var(--brand);
  display:grid;place-items:center;flex-shrink:0}
.msgs-ic [data-lucide]{width:19px;height:19px}
.msgs-head h3{font-size:16px;font-weight:700}
.msgs-head p{font-size:12px;color:var(--muted);margin-top:1px}
.msgs-tabs{display:flex;gap:4px;background:var(--bg);border:1px solid var(--line);border-radius:11px;
  padding:4px;margin-bottom:12px}
.msgs-tab{flex:1;border:0;background:transparent;border-radius:8px;padding:8px;font-weight:700;font-size:13px;
  color:var(--muted);cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.msgs-tab.on{background:var(--card);color:var(--ink);box-shadow:0 1px 2px rgba(16,24,40,.12)}
.msgs-pill{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--brand);color:#fff;
  font-size:10.5px;font-weight:800;line-height:18px;text-align:center}
.msgs-pill[hidden]{display:none}
.msgs-body{flex:1;min-height:120px;overflow:auto;display:flex;flex-direction:column;gap:8px}
.msgs-empty{color:var(--muted);font-size:13px;text-align:center;padding:28px 10px;line-height:1.5}
.msg-card{display:flex;gap:11px;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:var(--bg)}
.msg-card.unread{border-color:var(--brand-line);background:var(--brand-weak)}
.msg-av{position:relative;width:34px;height:34px;border-radius:50%;background:var(--brand-weak);color:var(--brand);
  display:grid;place-items:center;font-weight:800;font-size:13px;flex-shrink:0;overflow:hidden}
.msg-av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.msg-main{flex:1;min-width:0}
.msg-top{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--ink);margin-bottom:3px}
.msg-top b{font-weight:700}
.msg-new{width:7px;height:7px;border-radius:50%;background:var(--brand);flex-shrink:0}
.msg-time{margin-left:auto;font-size:11px;color:var(--muted);font-weight:600;white-space:nowrap}
.msg-text{font-size:13.5px;color:var(--ink);line-height:1.5;white-space:pre-wrap;word-break:break-word}
/* cartão da simulação dentro da notificação (estilo compacto do card dos Veículos) */
.msg-simcard{display:flex;gap:10px;align-items:center;margin-top:2px;padding:8px;
  border:1px solid var(--line);border-radius:11px;background:var(--card)}
.msg-simcard.clickable{cursor:pointer;transition:border-color .12s,transform .12s,box-shadow .12s}
.msg-simcard.clickable:hover{border-color:var(--brand-line);transform:translateY(-1px);box-shadow:var(--shadow)}
.msc-thumb{position:relative;width:66px;height:50px;flex-shrink:0;border-radius:8px;overflow:hidden;
  background:var(--bg);display:grid;place-items:center;color:var(--muted2)}
.msc-thumb img{width:100%;height:100%;object-fit:cover}
.msc-thumb [data-lucide]{width:20px;height:20px}
.msc-plat{position:absolute;left:3px;bottom:3px;font-size:8.5px;font-weight:800;letter-spacing:.2px;
  padding:1px 5px;border-radius:20px;background:rgba(0,0,0,.62);color:#fff;line-height:1.4}
.msc-body{flex:1;min-width:0}
.msc-name{font-size:13px;font-weight:800;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.msc-specs{display:flex;align-items:center;gap:8px;margin-top:3px;overflow:hidden}
.msc-spec{display:inline-flex;align-items:center;gap:3px;font-size:10.5px;font-weight:600;
  color:var(--muted);white-space:nowrap}
.msc-spec [data-lucide]{width:11px;height:11px;opacity:.7;flex-shrink:0}
.msc-nums{display:flex;align-items:center;gap:6px;margin-top:6px}
.msc-lucro{font-weight:800;font-size:12px;font-variant-numeric:tabular-nums;padding:2px 9px;border-radius:20px;
  background:rgba(120,130,145,.12);color:var(--ink)}
.msc-lucro.pos{background:rgba(19,160,107,.15);color:#13A06B}
.msc-lucro.neg{background:rgba(229,72,77,.15);color:#E5484D}
html.dark .msc-lucro.pos{color:#43D699}
html.dark .msc-lucro.neg{color:#FF6B6F}
.msgs-compose{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.msgs-to{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:9px}
.msgs-to.shake{animation:msgs-shake .4s}
@keyframes msgs-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
.msgs-chip{display:inline-flex;align-items:center;gap:7px;padding:5px 11px 5px 5px;border-radius:20px;
  border:1px solid var(--line);background:var(--bg);color:var(--muted);font-weight:700;font-size:12.5px;
  cursor:pointer;font-family:inherit;transition:.12s}
.msgs-chip:hover{border-color:var(--brand-line)}
.msgs-chip.on{border-color:var(--brand);background:var(--brand-weak);color:var(--brand)}
.msgs-chip-av{width:24px;height:24px;border-radius:50%;background:var(--brand-weak);color:var(--brand);
  display:grid;place-items:center;font-weight:800;font-size:11px;overflow:hidden;position:relative}
.msgs-chip-av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.msgs-compose-row{display:flex;gap:9px;align-items:flex-end}
.msgs-textarea{flex:1;border:1px solid var(--line);background:var(--bg);border-radius:12px;padding:11px 12px;
  font-size:13.5px;color:var(--ink);font-family:inherit;outline:none;resize:none;max-height:120px;line-height:1.45}
.msgs-textarea:focus{border-color:var(--brand)}
.msgs-send{width:42px;height:42px;flex-shrink:0;border:0;border-radius:12px;background:var(--brand);color:#fff;
  cursor:pointer;display:grid;place-items:center}
.msgs-send:hover{filter:brightness(1.06)}
.msgs-send:disabled{opacity:.5;cursor:default}
.msgs-send [data-lucide]{width:18px;height:18px}

/* ===== modal de envio (seletor de contactos) =====
   Usado pelo Simulador (botão Enviar) e pelos Veículos (ícone Enviar de cada cartão). */
.send-overlay{position:fixed;inset:0;background:rgba(10,16,28,.5);z-index:90;backdrop-filter:blur(2px)}
.send-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:91;width:380px;
  max-width:calc(100vw - 32px);background:var(--card);border:1px solid var(--line);border-radius:18px;
  box-shadow:0 30px 70px rgba(0,0,0,.4);padding:22px;animation:send-in .18s cubic-bezier(.2,.8,.2,1)}
@keyframes send-in{from{opacity:0;transform:translate(-50%,-46%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.send-close{position:absolute;top:12px;right:12px;width:30px;height:30px;border-radius:50%;border:0;
  background:var(--bg);color:var(--muted);cursor:pointer;display:grid;place-items:center}
.send-close:hover{color:var(--ink)}
.send-head{display:flex;align-items:center;gap:11px;margin-bottom:14px}
.send-ic{width:36px;height:36px;border-radius:10px;background:var(--brand-weak);color:var(--brand);display:grid;place-items:center}
.send-head h3{font-size:16px;font-weight:700}
.send-head p{font-size:12px;color:var(--muted);margin-top:1px}
.send-list{display:flex;flex-direction:column;gap:7px;max-height:46vh;overflow:auto;margin-bottom:14px}
.send-item{display:flex;align-items:center;gap:11px;padding:8px 10px;border:1px solid var(--line);
  border-radius:12px;background:var(--bg);cursor:pointer;user-select:none;-webkit-user-select:none}
.send-item:hover{border-color:var(--brand-line)}
.send-av{position:relative;width:36px;height:36px;border-radius:50%;background:var(--brand-weak);color:var(--brand);
  display:grid;place-items:center;font-weight:700;font-size:14px;flex-shrink:0;overflow:hidden}
.send-av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.send-meta{flex:1;min-width:0}
.send-nm{display:block;font-size:13.5px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.send-sub{display:block;font-size:11.5px;color:var(--muted)}
.send-check{position:absolute;opacity:0;width:0;height:0}
.send-box{width:22px;height:22px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;
  flex-shrink:0;color:transparent;transition:.12s}
.send-check:checked + .send-box{background:var(--brand);border-color:var(--brand);color:#fff}
.send-box [data-lucide]{width:14px;height:14px}
.send-go{width:100%;border:0;background:var(--brand);color:#fff;border-radius:11px;padding:12px;font-weight:700;
  font-size:14px;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:8px}
.send-go:hover{filter:brightness(1.06)}
.send-go:disabled{background:var(--brand-weak);color:var(--brand-line);cursor:not-allowed;filter:none;opacity:.75}
.send-go [data-lucide]{width:17px;height:17px}
.send-empty{text-align:center;color:var(--muted);padding:24px 8px;font-size:13px}
.send-group-label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:800;letter-spacing:.4px;
  text-transform:uppercase;color:var(--muted);margin:2px 2px 8px}
.send-group-label [data-lucide]{width:13px;height:13px}
.send-list + .send-group-label{margin-top:14px}

/* ===== chip da nota: % + rank num só retângulo, na cor da nota: [ 22% │ B ] =====
   Usado no painel dos Guardados do Simulador. */
.saved-score{display:inline-flex;align-items:center;gap:6px;padding:2px 9px;border-radius:8px;
  font-size:11px;font-weight:800;line-height:1.6;font-variant-numeric:tabular-nums;
  background:rgba(120,130,145,.14);color:var(--muted)}
.saved-score .sroi{letter-spacing:.2px}
/* barra divisória vertical na mesma cor — o gap de 6px dá espaço igual dos dois lados */
.saved-score .sdiv{width:1px;align-self:stretch;margin:2px 0;background:currentColor;opacity:.35}
.saved-score .srk{font-weight:900}
.saved-score.g-E{background:rgba(229,72,77,.16);color:#E5484D}
.saved-score.g-D{background:rgba(255,107,53,.16);color:#FF6B35}
.saved-score.g-C{background:rgba(210,153,34,.18);color:#C68A0F}
.saved-score.g-B{background:rgba(93,168,56,.18);color:#5DA838}
.saved-score.g-MB{background:rgba(63,185,80,.18);color:#3FB950}
.saved-score.g-A{background:rgba(31,157,87,.18);color:#1F9D57}
.saved-score.g-S{background:linear-gradient(120deg,rgba(240,180,41,.18),rgba(184,134,11,.22));color:#B8860B}
html.dark .saved-score.g-C{color:#E3B23C}
html.dark .saved-score.g-B{color:#7BC65A}
html.dark .saved-score.g-A{color:#3FBE6E}
html.dark .saved-score.g-S{color:#F0B429}

/* ===== hero do "Lucro" + anel do ROI =====
   Do Resumo financeiro do Simulador (é o que sai no print). Partilhado com os
   cartões dos Veículos, para o cartão mostrar exatamente as mesmas caixas.
   Cores fixas (tema escuro) de propósito: estas caixas são escuras nos dois sítios. */
/* hero — dois cartões separados (Tributável | "Lucro"), com espaço entre eles */
.rn-hero{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rn-hero-box{position:relative;overflow:hidden;padding:14px 16px;border-radius:14px;
  display:flex;flex-direction:column;gap:6px;justify-content:center;text-align:center;align-items:center;
  background:#0E1828;border:1px solid rgba(255,255,255,.07);min-height:104px}
/* cartão do "Lucro": espaço em baixo p/ o gráfico não tapar o número, mas menos que
   antes para o título+valor ficarem mais centrados (o gráfico é mais baixinho agora) */
.rn-hero-box.lucro{padding-bottom:26px;border-color:transparent}
/* moldura em degradê (brilhante numa ponta, esbate na outra) via máscara */
.rn-hero-box.lucro::before{content:"";position:absolute;inset:0;border-radius:14px;padding:1px;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:3}
/* brilho interior suave (menos forte que antes) */
.rn-hero-box.lucro.pos{background:linear-gradient(180deg,rgba(74,222,128,.03),rgba(74,222,128,.09));
  box-shadow:0 0 18px rgba(74,222,128,.09)}
.rn-hero-box.lucro.pos::before{background:linear-gradient(135deg,rgba(74,222,128,.05),rgba(74,222,128,.85))}
.rn-hero-box.lucro.neg{background:linear-gradient(180deg,rgba(248,113,113,.03),rgba(248,113,113,.09));
  box-shadow:0 0 18px rgba(248,113,113,.09)}
.rn-hero-box.lucro.neg::before{background:linear-gradient(135deg,rgba(248,113,113,.05),rgba(248,113,113,.85))}
/* negócio a zero: cinzento neutro + linha reta */
.rn-hero-box.lucro.zero{background:linear-gradient(180deg,rgba(148,163,184,.03),rgba(148,163,184,.08));
  box-shadow:0 0 16px rgba(148,163,184,.07)}
.rn-hero-box.lucro.zero::before{background:linear-gradient(135deg,rgba(148,163,184,.05),rgba(148,163,184,.6))}
.rn-hero-k{position:relative;z-index:1;font-size:11px;color:#94A3B8;font-weight:500;
  letter-spacing:.5px;text-transform:uppercase}
.rn-hero-v{position:relative;z-index:1;font-size:24px;font-weight:800;color:#fff;
  letter-spacing:-.5px;white-space:nowrap}
.rn-hero-box.lucro.pos .rn-hero-k{color:#6EE7A8}
.rn-hero-box.lucro.neg .rn-hero-k{color:#FCA5A5}
.rn-hero-box.lucro.zero .rn-hero-k{color:#B6C2D4}
.rn-hero-v.pos{color:#4ADE80}
.rn-hero-v.neg{color:#F87171}
.rn-hero-v.zero{color:#CBD5E1}
/* gráfico decorativo no fundo do cartão do "Lucro" (sobe se lucro, desce se prejuízo,
   reto se zero) — baixinho, para não empurrar o título+valor para cima */
.rn-spark{position:absolute;left:0;right:0;bottom:0;width:100%;height:46%;z-index:0;pointer-events:none}
.rn-hero-box.lucro.pos .rn-spark-line{filter:drop-shadow(0 1px 3px rgba(74,222,128,.5))}
.rn-hero-box.lucro.neg .rn-spark-line{filter:drop-shadow(0 1px 3px rgba(248,113,113,.5))}
/* ROI — anel + nota + frase (cor via --rc, triplo RGB) */
.rn-roi{display:flex;align-items:center;gap:14px;padding:12px 15px;border-radius:12px;
  border:1px solid rgb(var(--rc) / .45);background:rgb(var(--rc) / .06)}
.rn-ring{width:48px;height:48px;flex:0 0 auto;border-radius:50%;position:relative;
  background:conic-gradient(rgb(var(--rc)) calc(var(--pct)*1%), rgba(255,255,255,.09) 0)}
.rn-ring-in{position:absolute;inset:4px;border-radius:50%;background:#0A1220;display:grid;place-items:center}
.rn-ring-in span{font-size:12px;font-weight:800;color:#fff}
.rn-roi-l{display:flex;flex-direction:column;gap:2px}
.rn-roi-k{font-size:11px;font-weight:700;color:#fff}
.rn-roi-grade{font-size:11px;font-weight:800;color:rgb(var(--rc))}
.rn-roi-sep{width:1px;align-self:stretch;background:rgba(255,255,255,.10);margin:2px 2px}
.rn-roi-txt{flex:1;min-width:0;font-size:11px;line-height:1.4;color:#94A3B8}
.rn-roi-txt b{color:rgb(var(--rc));font-weight:700}
.rn-roi-arrow{flex:0 0 auto;color:rgb(var(--rc))}
.rn-roi-arrow[data-lucide]{width:20px;height:20px}
