    :root{--garage-panel:#0c1119;--garage-line:rgba(255,255,255,.09)}
    body{align-items:stretch}
    .garage-shell{width:100%;max-width:1440px;margin:0 auto}
    .garage-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:4px 0 18px}
    .garage-heading h1{font-size:30px}.garage-heading p{color:var(--text-muted);font-size:13px;margin-top:5px}
    .sync-note{font-size:11px;color:#30d158;border:1px solid rgba(48,209,88,.25);background:rgba(48,209,88,.08);padding:7px 12px;border-radius:999px}.sync-note.stale{color:#ffd60a;border-color:rgba(255,214,10,.3);background:rgba(255,214,10,.08)}.sync-note.offline{color:#ff9f0a;border-color:rgba(255,159,10,.3);background:rgba(255,159,10,.08)}
    .kpi-strip{display:grid;grid-template-columns:repeat(7,minmax(108px,1fr));gap:10px;margin-bottom:16px}
    .garage-kpi{background:var(--card-bg);border:1px solid var(--card-border);border-radius:15px;padding:13px}
    .garage-kpi span{display:block;color:var(--text-muted);font-size:10px;text-transform:uppercase;letter-spacing:.7px}
    .garage-kpi strong{display:block;font-size:21px;margin-top:5px}.garage-kpi strong.good{color:#30d158}.garage-kpi strong.gold{color:#ffd60a}
    .toolbar{position:sticky;top:70px;z-index:200;background:rgba(10,14,20,.96);border:1px solid var(--card-border);border-radius:17px;padding:14px;margin-bottom:12px;box-shadow:0 10px 30px rgba(0,0,0,.35);backdrop-filter:blur(18px)}
    .filter-toolbar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.toolbar-head-actions{display:flex;flex-shrink:0;gap:8px}#trackedFilter b{color:#75c9ff}#trackedFilter.active b{color:inherit}.filter-toolbar-head strong{display:block;font-size:13px}.filter-summary-line{margin:4px 0 0;font-size:11px;color:var(--text-muted);line-height:1.45}
    .filter-section{min-width:0;margin:0;padding:13px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.025)}.filter-section legend{padding:0 7px;color:#75c9ff;font-size:10px;font-weight:900;letter-spacing:.8px;text-transform:uppercase}.filter-section-body{display:grid;gap:14px;min-width:0}.model-filter-section{margin-top:12px;padding:9px 11px 7px;background:rgba(50,173,230,.045);border-color:rgba(50,173,230,.2)}.model-filter-section legend{color:#ffd60a}.model-filter-section .filter-controls{padding-bottom:2px}
    .advanced-filters{display:none;margin-top:12px;padding-top:12px;border-top:1px solid var(--garage-line)}.advanced-filters.open{display:block}.filter-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.characteristics-filter-section,.origin-filter-section,.display-filter-section{grid-column:1/-1}.characteristics-filter-section>.filter-section-body{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.origin-filter-section>.filter-section-body{grid-template-columns:minmax(180px,.8fr) minmax(0,1.7fr) minmax(180px,.8fr);align-items:start}.display-filter-body{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}.display-filter-body .field{width:min(360px,100%)}
    .state-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.cost-filter-grid{grid-template-columns:minmax(120px,.7fr) minmax(180px,1fr)}.cost-filter-grid .field-km{grid-column:1/-1}
    .field{display:flex;flex-direction:column;gap:5px;min-width:0}.field label{font-size:9px;text-transform:uppercase;color:var(--text-muted);font-weight:800;letter-spacing:.6px}.field select,.field input{width:100%;height:44px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:#080b10;color:#fff;padding:0 10px;font:600 11px var(--font-main)}
    .field-km{min-width:0}.km-control{display:flex;align-items:center;gap:9px}.field .km-control input{flex:1;height:44px;padding:0;accent-color:#32ade6}.km-control output{min-width:102px;color:#fff;font-size:11px;font-weight:800;text-align:right}.km-shortcuts{display:none;gap:5px}.km-shortcuts button{min-height:38px;flex:1;border:1px solid rgba(255,255,255,.13);border-radius:9px;background:rgba(255,255,255,.05);color:#fff;font-size:10px;font-weight:800;cursor:pointer}
    .inactive-switch{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 11px;border:1px solid rgba(255,255,255,.14);border-radius:10px;cursor:pointer;color:#fff;font:700 11px var(--font-main)}.inactive-switch input{width:20px;height:20px;accent-color:#30d158}.inactive-switch b{color:#ff9f0a}
    .toolbar-toggle{min-height:44px;padding:0 13px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:#fff;font:700 11px var(--font-main);cursor:pointer}.toolbar-toggle.active{border-color:#30d158;background:rgba(48,209,88,.15);color:#30d158}
    .advanced-filters select{min-height:44px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:#080b10;color:#fff;padding:0 10px}.reset-filters{min-height:44px;padding:0 12px;border:1px solid transparent;border-radius:10px;background:transparent;color:#75c9ff;font-weight:800;cursor:pointer}.reset-filters:hover{background:rgba(50,173,230,.08);border-color:rgba(50,173,230,.2)}
    .filter-checkbox{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 11px;border:1px solid rgba(255,255,255,.1);border-radius:10px;cursor:pointer;color:#fff;font:700 11px var(--font-main)}.filter-checkbox input{width:20px;height:20px;min-width:20px;accent-color:#ffd60a;cursor:pointer}
    .results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 8px;padding:3px 4px}.results-toolbar>div:first-child{display:flex;align-items:center;gap:4px;color:#fff;font-size:12px}.results-toolbar #hiddenInactiveNote{color:#ff9f0a;font-size:10px}.view-tabs{display:flex;gap:5px;margin-left:auto}.view-tab{min-height:44px;padding:0 15px;border:0;border-radius:10px;color:var(--text-muted);background:transparent;font:800 11px var(--font-main);cursor:pointer}
    .view-tab.active{color:#fff;background:rgba(50,173,230,.17);box-shadow:inset 0 0 0 1px rgba(50,173,230,.35)}
    .matrix-card,.secondary-view{border:1px solid var(--card-border);background:rgba(12,17,25,.78);border-radius:18px;overflow:hidden}
    .matrix-header{padding:14px 15px;border-bottom:1px solid var(--garage-line);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
    .matrix-header h2{font-size:16px}.matrix-header p{font-size:11px;color:var(--text-muted);margin-top:3px}
    .matrix-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.matrix-legend{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.legend-item{font-size:10px;color:rgba(255,255,255,.72);display:flex;align-items:center;gap:4px}.legend-dot{width:8px;height:8px;border-radius:3px}
    .matrix-hint{display:none;font-size:10px;color:#ffd60a;padding:9px 14px 0}
    .matrix-card{--matrix-columns:12}
    .matrix-minimap{display:none;grid-template-columns:46px repeat(var(--matrix-columns,12),1fr);gap:2px;padding:10px 12px;background:rgba(0,0,0,.18)}
    .mini-axis{font-size:8px;color:var(--text-muted);display:flex;align-items:center}.mini-cell{height:8px;border:0;border-radius:2px;background:rgba(255,255,255,.035);padding:0}.mini-cell.occupied{cursor:pointer;box-shadow:0 0 0 1px rgba(255,255,255,.09)}
    .matrix-scroll{max-height:650px;overflow:auto;overscroll-behavior:contain;position:relative;scrollbar-color:rgba(50,173,230,.45) transparent}
    .garage-matrix{width:100%;min-width:calc(54px + var(--matrix-columns,12) * 112px);border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:10px}
    .garage-matrix th,.garage-matrix td{border-right:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.055);padding:4px;text-align:center;vertical-align:middle}
    .garage-matrix thead th{position:sticky;top:0;z-index:5;height:38px;background:#0a0e14;color:rgba(255,255,255,.7);font-size:10px}
    .garage-matrix th:first-child,.garage-matrix td:first-child{position:sticky;left:0;z-index:4;width:54px;background:#0a0e14;color:#ffd60a;font-weight:900;box-shadow:4px 0 10px rgba(0,0,0,.38)}
    .garage-matrix thead th:first-child{z-index:7}
    .matrix-cell{min-height:104px;display:flex;flex-direction:column;gap:3px;align-items:center;justify-content:center;position:relative;border-radius:8px}
    .density-count{position:absolute;top:3px;right:3px;font-size:8px;color:rgba(255,255,255,.5)}
    .offer-chip{width:100%;min-width:0;min-height:96px;padding:6px;border-radius:9px;border:1px solid var(--chip-color,#32ade6);background:color-mix(in srgb,var(--chip-color,#32ade6) 15%,rgba(10,14,20,.97));color:#fff;cursor:pointer;font-family:var(--font-main);display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:2px;text-align:left;box-shadow:0 3px 10px rgba(0,0,0,.38)}
    .offer-chip:hover,.offer-chip:focus-visible{outline:2px solid #fff;outline-offset:1px;transform:translateY(-1px)}
    .chip-status-row{display:flex;align-items:center;gap:3px;min-width:0;min-height:15px}.chip-status-row>span{display:inline-flex;align-items:center;min-height:15px;border-radius:999px;padding:1px 4px;font-size:6.5px;font-weight:900;line-height:1;white-space:nowrap}
    .chip-origin{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);color:rgba(255,255,255,.82)}.chip-origin-pt{border-color:rgba(48,209,88,.38);background:rgba(48,209,88,.1);color:#67e884}.chip-origin-de{border-color:rgba(50,173,230,.4);background:rgba(50,173,230,.11);color:#75c9ff}.chip-origin-manual{color:#d7b7ff;border-color:rgba(191,90,242,.38);background:rgba(191,90,242,.1)}
    .chip-pareto{color:#30d158}.chip-removed{margin-left:auto;border:1px solid rgba(255,69,58,.55);background:rgba(255,69,58,.16);color:#ff6b63}
    .chip-model{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;font-weight:900;line-height:1.12;color:#fff}.chip-variant{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-weight:750;line-height:1.15;color:rgba(255,255,255,.7)}
    .chip-cost{display:flex;align-items:baseline;gap:2px;margin-top:1px;color:#ffd60a}.chip-cost strong{font-size:15px;font-weight:950;line-height:1}.chip-cost small{font-size:7.5px;font-weight:850;color:rgba(255,255,255,.65)}
    .chip-facts{display:grid;grid-template-columns:1fr auto;gap:4px;font-size:8px;font-weight:850;color:rgba(255,255,255,.82)}.chip-facts span:last-child{color:#ffd60a}
    .chip-warranty{display:inline-flex;align-self:flex-start;align-items:center;margin-top:1px;padding:1px 4px;border-radius:999px;font-size:6.5px;font-weight:900;line-height:1.25;border:1px solid transparent}.chip-warranty-good{color:#67e884;background:rgba(48,209,88,.08);border-color:rgba(48,209,88,.24)}.chip-warranty-warn{color:#ffd60a;background:rgba(255,214,10,.08);border-color:rgba(255,214,10,.24)}.chip-warranty-bad{color:#ff6b63;background:rgba(255,69,58,.08);border-color:rgba(255,69,58,.26)}
    .more-count{margin-top:2px;font-size:8px;font-weight:900;color:#75c9ff;text-align:center}
    .secondary-view{padding:14px}.offer-list{display:grid;gap:8px}.list-row{display:grid;grid-template-columns:minmax(220px,2fr) repeat(5,minmax(90px,1fr));align-items:center;gap:8px;padding:11px;border:1px solid var(--garage-line);border-radius:12px;background:rgba(255,255,255,.025);font-size:11px}
    .list-row strong{font-size:12px}.list-row button{min-height:44px;border:1px solid rgba(50,173,230,.3);background:rgba(50,173,230,.1);color:#fff;border-radius:9px;font-weight:800;cursor:pointer}
    .ranking-row{display:grid;grid-template-columns:42px minmax(180px,1.2fr) 3fr 90px;gap:12px;align-items:center;margin:7px 0;padding:11px;border-radius:12px;background:rgba(255,255,255,.025);font-size:11px}.rank-no{font-size:16px;font-weight:900;color:#ffd60a}.rank-track{height:10px;border-radius:9px;background:#050608;overflow:hidden}.rank-fill{height:100%;border-radius:9px;background:linear-gradient(90deg,#30d158,#ffd60a)}
    .load-more{display:block;margin:14px auto 2px;min-height:42px;padding:0 20px;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:rgba(255,255,255,.05);color:#fff;font-weight:800;cursor:pointer}
    .empty-state{padding:45px 18px;text-align:center;color:var(--text-muted)}.empty-state button{margin-top:12px;min-height:44px;padding:0 16px;border:1px solid #ff9f0a;border-radius:10px;background:rgba(255,159,10,.12);color:#ffb340;font-weight:900;cursor:pointer}
    .manual-add{margin-top:15px;border:1px solid var(--card-border);border-radius:16px;background:var(--card-bg)}.manual-add summary{cursor:pointer;padding:14px;font-weight:800;font-size:12px}.manual-form{display:grid;grid-template-columns:2fr 1fr 1fr 2fr auto;gap:8px;padding:0 14px 14px}.manual-form select,.manual-form input,.manual-form button{min-height:42px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:#080b10;color:#fff;padding:0 10px}.manual-form button{background:#30d158;color:#061009;font-weight:900;cursor:pointer}
    .drawer-backdrop{position:fixed;inset:0;z-index:11000;background:rgba(0,0,0,.66);opacity:0;pointer-events:none;transition:.2s}.drawer-backdrop.open{opacity:1;pointer-events:auto}
    .offer-drawer{position:fixed;z-index:11001;top:0;right:0;width:min(470px,94vw);height:100vh;background:var(--garage-panel);border-left:1px solid rgba(255,255,255,.14);box-shadow:-20px 0 60px rgba(0,0,0,.7);transform:translateX(104%);transition:.3s cubic-bezier(.16,1,.3,1);overflow:auto;padding:18px}
    .offer-drawer.open{transform:none}.drawer-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.drawer-close{min-width:44px;min-height:44px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.05);color:#fff;border-radius:12px;font-size:20px;cursor:pointer}
    .drawer-eyebrow{font-size:10px;color:#32ade6;text-transform:uppercase;font-weight:900;letter-spacing:.8px}.drawer-title{font-size:23px;margin-top:5px}.drawer-sub{font-size:12px;color:var(--text-muted);margin-top:5px}.drawer-group{display:flex;gap:7px;overflow:auto;margin:15px 0;padding-bottom:4px}.drawer-group button{min-height:44px;white-space:nowrap;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#fff;border-radius:10px;padding:0 10px;font-size:10px}.drawer-group button.active{border-color:#30d158;color:#30d158}
    .garage-reference,.chip-reference{display:inline-flex;align-items:center;border:1px solid rgba(255,214,10,.4);border-radius:999px;padding:2px 6px;color:#ffd60a;background:rgba(255,214,10,.08);font-size:9px;font-weight:900;letter-spacing:.25px}.garage-reference.copyable{display:flex;margin-top:8px;padding:5px 8px;cursor:pointer;font:inherit;font-size:9px}.chip-reference{margin-top:3px}
    /* --- Drawer redesign: hierarquia de blocos (idêntica às Oportunidades) --- */
    /* Dois blocos-chefe com valor grande + contexto imediato, depois grelha 2×2 de stats secundários. */
    .op-block{display:block;margin:14px 0;padding:14px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.03)}
    .op-block-label{display:block;color:var(--text-muted);font-size:9px;text-transform:uppercase;letter-spacing:.06em}
    .op-block-value{display:block;font-size:30px;font-weight:900;line-height:1.08;margin-top:3px}
    .op-block-unit{font-size:14px;font-weight:800;color:rgba(255,255,255,.55)}
    .op-block-note{margin:8px 0 0;font-size:11.5px;line-height:1.55;color:var(--text-muted)}
    .op-block-note b{color:#fff;font-weight:800}
    /* Barra de percentil do custo mensal */
    .op-meter{height:6px;border-radius:99px;overflow:hidden;margin-top:10px}
    .op-meter-fill{height:100%;border-radius:99px}
    .op-meter-good{background:rgba(48,209,88,.18)}.op-meter-good .op-meter-fill{background:#30d158}
    .op-meter-warn{background:rgba(255,159,10,.18)}.op-meter-warn .op-meter-fill{background:#ff9f0a}
    .op-meter-bad{background:rgba(255,69,58,.18)}.op-meter-bad .op-meter-fill{background:#ff453a}
    /* Tag de valor justo */
    .op-tag{display:inline-block;padding:2px 8px;border-radius:99px;font-size:11px;font-weight:900;margin-right:4px}
    .op-tag-good{background:rgba(48,209,88,.16);color:#30d158;border:1px solid rgba(48,209,88,.4)}
    .op-tag-warn{background:rgba(255,159,10,.16);color:#ff9f0a;border:1px solid rgba(255,159,10,.4)}
    /* Grelha 2×2 de stats secundários */
    .op-drawer-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0 18px}
    .op-stat{padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:rgba(255,255,255,.025)}
    .op-stat span{display:block;color:var(--text-muted);font-size:9px;text-transform:uppercase}
    .op-stat strong{display:block;font-size:17px;margin-top:4px}
    .op-stat small{display:block;font-size:10px;color:var(--text-muted);margin-top:3px}
    /* Badge de analytics / Pareto no cabeçalho do drawer */
    .analytics-badge{display:inline-block;padding:3px 8px;border-radius:99px;font-size:10px;font-weight:900;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.72);margin-bottom:6px}
    .analytics-badge.pareto{background:rgba(48,209,88,.12);border-color:rgba(48,209,88,.4);color:#30d158}
    /* Anúncio confirmado fora do ar (404/410 na origem) */
    .gone-badge{display:inline-block;padding:3px 8px;border-radius:99px;font-size:10px;font-weight:900;background:rgba(255,69,58,.14);border:1px solid rgba(255,69,58,.4);color:#ff453a;margin-bottom:6px;margin-left:6px}
    .gone-banner{padding:10px 12px;border-radius:12px;background:rgba(255,69,58,.1);border:1px solid rgba(255,69,58,.35);color:#ff453a;font-size:12px;font-weight:700;margin:0 0 14px}
    .chip-gone{outline:2px solid #ff453a;outline-offset:-2px}
    .chip-tracked{border:1px solid rgba(191,90,242,.82);background:rgba(191,90,242,.22);color:#edc8ff;font-size:6.5px;line-height:1;filter:drop-shadow(0 0 4px rgba(191,90,242,.9))}.offer-chip.is-tracked{box-shadow:inset 0 0 0 1px rgba(191,90,242,.72)}
    .list-row .row-tracked-tag{color:#75c9ff;font-weight:900;font-size:10px;text-transform:uppercase}
    .drawer-track-toggle{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:44px;margin-top:12px;padding:0 14px;border-radius:12px;border:1px solid rgba(117,201,255,.5);background:rgba(117,201,255,.12);color:#75c9ff;font:900 12px var(--font-main);cursor:pointer}
    .drawer-track-toggle:hover{background:rgba(117,201,255,.2)}
    .drawer-track-toggle.is-tracking{background:#75c9ff;border-color:#75c9ff;color:#04121d}
    .drawer-track-toggle:focus-visible{outline:2px solid #fff;outline-offset:2px}
    .list-row.is-gone{opacity:.72}
    .list-row .row-gone-tag{color:#ff453a;font-weight:900;font-size:10px;text-transform:uppercase}
    .drawer-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px}.drawer-actions a,.drawer-actions button{min-height:46px;border-radius:12px;border:1px solid rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;text-decoration:none;color:#fff;background:rgba(255,255,255,.055);font-weight:900;font-size:12px;cursor:pointer}.drawer-actions .primary{background:#30d158;color:#061009;border-color:#30d158}.drawer-actions .action-open{background:linear-gradient(135deg,#007aff 0%,#005bb5 100%);border-color:#007aff;color:#fff}.drawer-actions .action-archive{background:rgba(255,159,10,.15);border-color:#ff9f0a;color:#ff9f0a}.drawer-actions .action-restore{background:linear-gradient(135deg,#007aff 0%,#005bb5 100%);border-color:#007aff;color:#fff}
    /* Os mapas usam o mesmo cabeçalho colapsável: a primeira matriz abre por
       defeito; a segunda fica fechada até ser pedida. */
    .km-matrix-block{margin:12px 0 0;border:1px solid var(--card-border);border-radius:18px;background:rgba(12,17,25,.5);overflow:hidden}
    .km-matrix-block[hidden]{display:none}
    .km-matrix-block .matrix-card{border:0;border-top:1px solid var(--garage-line);border-radius:0;background:rgba(12,17,25,.78)}
    .km-matrix-block .matrix-card[hidden]{display:none}
    .km-matrix-head{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:58px;padding:10px 14px;border:0;background:transparent;color:#fff;text-align:left;font:inherit;cursor:pointer}
    .km-matrix-head:hover{background:rgba(50,173,230,.05)}.km-matrix-head:focus-visible{outline:2px solid #fff;outline-offset:-3px}
    .km-matrix-copy{display:block;min-width:0}.km-matrix-title-row{display:flex;align-items:center;gap:8px}.km-matrix-head h2{margin:0;font-size:14px;font-weight:900;color:#fff}
    .km-matrix-note{display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;color:var(--text-muted)}
    .km-matrix-toggle{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;color:#32ade6;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.35px}.km-matrix-toggle:before{content:'Ver matriz'}.km-matrix-toggle i{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid rgba(50,173,230,.34);border-radius:999px;font-style:normal;font-size:18px;transition:transform .2s}
    .km-matrix-block.is-open .km-matrix-toggle:before{content:'Ocultar matriz'}.km-matrix-block.is-open .km-matrix-toggle i{transform:rotate(180deg)}
    .compare-tray{position:fixed;left:50%;bottom:18px;z-index:1000;transform:translate(-50%,130%);transition:.25s;background:rgba(12,17,25,.96);border:1px solid rgba(50,173,230,.35);border-radius:16px;padding:9px 12px;display:flex;align-items:center;gap:10px;box-shadow:0 14px 40px rgba(0,0,0,.65)}.compare-tray.open{transform:translate(-50%,0)}.compare-tray button{min-height:44px;border-radius:10px;padding:0 13px;border:0;background:#32ade6;color:#041018;font-weight:900;cursor:pointer}.compare-tray button:disabled{opacity:.45;cursor:not-allowed}.compare-tray .clear{background:transparent;color:var(--text-muted);border:1px solid rgba(255,255,255,.12)}
    .compare-modal{position:fixed;inset:6%;z-index:12000;background:#0c1119;border:1px solid rgba(255,255,255,.16);border-radius:20px;box-shadow:0 30px 90px #000;display:none;overflow:auto;padding:18px}.compare-modal.open{display:block}.compare-grid{display:grid;grid-template-columns:150px repeat(var(--compare-count),minmax(160px,1fr));min-width:700px;margin-top:15px}.compare-grid>div{padding:11px;border-bottom:1px solid var(--garage-line);font-size:11px}.compare-label{color:var(--text-muted);font-weight:800}.compare-bar{height:8px;background:#050608;border-radius:8px;overflow:hidden;margin-top:5px}.compare-bar span{display:block;height:100%;background:#30d158}
    .toolbar button:focus-visible,.toolbar select:focus-visible,.toolbar input:focus-visible,.manual-add summary:focus-visible,.manual-form :focus-visible,.drawer-actions :focus-visible,.drawer-group button:focus-visible,.compare-tray button:focus-visible,.ranking-row:focus-visible,.mini-cell:focus-visible{outline:2px solid #fff;outline-offset:2px}.modal-open{overflow:hidden}
    @media(max-width:1000px){.kpi-strip{grid-template-columns:repeat(3,1fr)}.filter-sections{grid-template-columns:1fr}.characteristics-filter-section,.origin-filter-section,.display-filter-section{grid-column:auto}.characteristics-filter-section>.filter-section-body{grid-template-columns:1fr 1fr}.origin-filter-section>.filter-section-body{grid-template-columns:1fr 1fr}.origin-filter-cluster{grid-column:1/-1}.list-row{grid-template-columns:minmax(200px,2fr) repeat(3,1fr)}.list-row .optional{display:none}.manual-form{grid-template-columns:1fr 1fr}}
    @media(max-width:768px){
      .garage-heading{padding:0 7px;align-items:flex-start}.garage-heading h1{font-size:25px!important}.sync-note{display:none}
      .kpi-strip{display:flex;overflow:auto;padding:0 7px 4px;scroll-snap-type:x mandatory;scrollbar-width:none}.kpi-strip::-webkit-scrollbar{display:none}.garage-kpi{min-width:132px;scroll-snap-align:start}.garage-kpi strong{font-size:19px}
      .toolbar{top:68px;margin:0 5px 10px;padding:10px}.filter-toolbar-head{align-items:center}.filter-toolbar-head strong{font-size:12px}.filter-summary-line{display:-webkit-box;max-width:68vw;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.model-filter-section{margin-top:9px}.model-filter-section .source-btn{min-height:40px}.toolbar.filters-open{position:fixed;z-index:12050;inset:auto 0 0;top:auto;height:min(88vh,800px);overflow:auto;margin:0;padding:14px 12px calc(24px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;background:#0c1119;box-shadow:0 -20px 60px rgba(0,0,0,.7)}.toolbar.filters-open .filter-summary-line{max-width:72vw}.field{width:100%}.km-shortcuts{display:flex}.inactive-switch{width:100%}.results-toolbar{align-items:flex-end}.results-toolbar>div:first-child{display:block}.view-tabs{width:auto;margin-left:auto}.view-tab{min-width:70px;padding:0 8px}
      .advanced-filters.open{display:block;position:static;margin-top:12px;padding:12px 0 0;border-top:1px solid var(--garage-line);background:transparent;box-shadow:none}.filter-sections{gap:10px}.filter-section{padding:12px 10px}.state-filter-grid,.cost-filter-grid,.characteristics-filter-section>.filter-section-body,.origin-filter-section>.filter-section-body{grid-template-columns:1fr}.cost-filter-grid .field-km,.origin-filter-cluster{grid-column:auto}.display-filter-body{display:grid;align-items:stretch}.display-filter-body .field{width:100%}.reset-filters{border-color:rgba(50,173,230,.2);background:rgba(50,173,230,.06)}
      .matrix-header{padding:12px}.matrix-header p{font-size:10px}.matrix-legend{gap:6px}.matrix-hint{display:block}.matrix-minimap{display:grid}
      .matrix-scroll{max-height:60vh}.garage-matrix{min-width:calc(54px + var(--matrix-columns,12) * 108px)}.matrix-cell{min-height:102px}.offer-chip{min-height:94px}
      .secondary-view{padding:8px}.list-row{grid-template-columns:minmax(165px,1fr) 70px 80px}.list-row .optional{display:none}.ranking-row{grid-template-columns:34px 1fr 80px}.rank-track{display:none}
      .manual-form{grid-template-columns:1fr;padding:0 12px 12px}
      .km-matrix-head{min-height:54px;padding:9px 10px}.km-matrix-note{max-width:62vw}.km-matrix-toggle:before{content:'Ver'}.km-matrix-block.is-open .km-matrix-toggle:before{content:'Ocultar'}.toolbar-head-actions{flex-direction:column;gap:6px}.toolbar-head-actions .toolbar-toggle{white-space:nowrap}
      .offer-drawer{top:auto;bottom:0;left:0;right:0;width:100%;height:min(82vh,760px);border-left:0;border-top:1px solid rgba(255,255,255,.16);border-radius:24px 24px 0 0;transform:translateY(104%);padding-bottom:calc(92px + env(safe-area-inset-bottom))}.offer-drawer.open{transform:none}
      .compare-tray{bottom:calc(82px + env(safe-area-inset-bottom));width:calc(100% - 18px);justify-content:space-between}.compare-modal{inset:8px 8px calc(78px + env(safe-area-inset-bottom));border-radius:16px}
    }
    @media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

    /* Roadmap 1-8: radar, analytics and brand glow. */
    .brand-glow{--brand-color:#32ade6;border-color:rgba(255,255,255,.14)!important;box-shadow:0 7px 22px rgba(0,0,0,.28)!important;border-color:color-mix(in srgb,var(--brand-color) 52%,rgba(255,255,255,.1))!important;box-shadow:0 7px 22px color-mix(in srgb,var(--brand-color) 18%,transparent)!important}
    .offer-chip.brand-glow:hover,.offer-chip.brand-glow:focus-visible{box-shadow:0 0 0 2px var(--brand-color),0 10px 24px rgba(0,0,0,.45);box-shadow:0 0 0 2px var(--brand-color),0 10px 24px color-mix(in srgb,var(--brand-color) 30%,transparent)}
    .offer-chip.is-tracked.brand-glow,.offer-chip.is-tracked.brand-glow:hover,.offer-chip.is-tracked.brand-glow:focus-visible{border-width:2px!important;border-color:#bf5af2!important;box-shadow:0 0 0 2px rgba(191,90,242,.38),0 8px 26px rgba(191,90,242,.38)!important;background:linear-gradient(135deg,rgba(191,90,242,.3),rgba(191,90,242,.08) 56%),color-mix(in srgb,var(--chip-color,#32ade6) 14%,rgba(10,14,20,.97))}
    .deal-score-badge{display:inline-flex;align-items:center;gap:4px;color:#ffd60a;border:1px solid rgba(255,214,10,.35);background:rgba(255,214,10,.08);border-radius:999px;padding:2px 6px;font-size:9px;font-weight:900}.deal-score-badge.good{color:#30d158;border-color:rgba(48,209,88,.4);background:rgba(48,209,88,.1)}.deal-score-badge.bad{color:#ff9f0a;border-color:rgba(255,159,10,.4);background:rgba(255,159,10,.1)}
    .garage-price-tracker{margin-top:14px}.garage-price-tracker .price-tracker-chart{height:100px}.garage-price-tracker .price-tracker-line{stroke:#ffd60a}.garage-price-tracker .price-tracker-area{fill:rgba(255,214,10,.12)}
    .radar-wrap{margin-top:14px;padding:12px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.025)}.radar-chart{display:block;width:100%;height:auto;max-height:330px}.radar-grid{fill:none;stroke:rgba(255,255,255,.16);stroke-width:1}.radar-axis{stroke:rgba(255,255,255,.18);stroke-width:1}.radar-label{fill:rgba(255,255,255,.72);font:600 10px var(--font-main);text-anchor:middle}.radar-series{fill-opacity:.16;stroke-width:2}.radar-legend{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.radar-legend span{font-size:10px;color:rgba(255,255,255,.78)}.radar-legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px}
    .list-row.brand-glow,.ranking-row.brand-glow{border-left:3px solid var(--brand-color,#32ade6)!important;box-shadow:inset 8px 0 18px rgba(50,173,230,.04)}
    .offer-drawer{border-left-color:rgba(255,255,255,.14)}
    .offer-drawer[style*="--brand-color"]{border-left-color:var(--brand-color)}
    .radar-accessible{width:100%;border-collapse:collapse;margin-top:10px;font-size:10px}.radar-accessible caption{text-align:left;color:var(--text-muted);font-size:9px;text-transform:uppercase;margin-bottom:5px}.radar-accessible th,.radar-accessible td{padding:5px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left}.radar-accessible th{color:var(--text-muted);font-weight:700}.radar-accessible td{color:#fff}
    @media(max-width:768px){.radar-wrap{padding:8px}}
    /* Mapa dos carros em Portugal — bloco final da Garagem.
       Herda a cabeça dobrável de .km-matrix-block; só o corpo é próprio. */
    .geo-map-block .km-matrix-toggle:before{content:'Ver mapa'}
    .geo-map-block.is-open .km-matrix-toggle:before{content:'Ocultar mapa'}
    .geo-map-body{border-top:1px solid var(--garage-line);background:rgba(12,17,25,.78);padding:14px}
    .geo-map-body[hidden]{display:none}
    .geo-map-layout{display:grid;grid-template-columns:minmax(240px,380px) minmax(0,1fr);gap:18px;align-items:start}
    /* A caixa do mapa mantém a proporção do SVG; os pinos são HTML por cima,
       posicionados em percentagem — assim têm foco, título e teclado de graça. */
    /* `container-type` para o número acompanhar o mapa quando ele encolhe: o
       mesmo bloco desenha o mapa a 380 px, a 260 px no telemóvel e a 190 px com
       um sítio aberto ao lado. */
    .geo-map-canvas{position:relative;container-type:inline-size;border:1px solid var(--card-border);border-radius:16px;background:radial-gradient(circle at 50% 30%,rgba(50,173,230,.07),transparent 70%),rgba(255,255,255,.02);padding:6px}
    .geo-map-svg{display:block;width:100%;height:auto}
    .geo-map-outline{fill:rgba(50,173,230,.09);stroke:rgba(120,200,255,.55);stroke-width:1.6;stroke-linejoin:round}
    /* O BOTÃO é o alvo e tem sempre o tamanho da separação mínima entre pontos
       (--pin-hit, vindo do PTMap): dois pinos tocam-se mas nunca se sobrepõem,
       e o clique é sempre do ponto que está debaixo do rato. O disco colorido é
       o ::before, que cresce com o número de carros DENTRO desta caixa. O alvo
       é REDONDO e não quadrado: a separação é uma distância entre centros, e
       dois quadrados de lado igual a essa distância ainda se sobrepõem pelos
       cantos — dois círculos desse diâmetro nunca. Foi a
       versão anterior, com o disco a ser o próprio alvo, que punha 28 dos 49
       pinos com parte da sua área a pertencer ao vizinho. */
    .geo-pin{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;width:var(--pin-hit,5.5%);aspect-ratio:1;padding:0;border:0;border-radius:50%;background:transparent;color:#0a0e14;font:900 3.1cqw/1 var(--font-main);cursor:pointer;z-index:2}
    .geo-pin::before{content:'';position:absolute;inset:var(--pin-inset,10%);border-radius:50%;border:1.5px solid rgba(10,14,20,.9);background:var(--brand-color,#32ade6);box-shadow:0 2px 8px rgba(0,0,0,.5);transition:transform .15s}
    .geo-pin:hover,.geo-pin:focus-visible{z-index:30;outline:0}
    .geo-pin:hover::before,.geo-pin:focus-visible::before{transform:scale(1.35);box-shadow:0 0 0 2px #fff,0 2px 10px rgba(0,0,0,.6)}
    .geo-pin i{position:relative;z-index:1;font-style:normal;pointer-events:none}
    /* Num mapa estreito o número sai a 6 px e lê-se como uma mancha. Vale mais
       o ponto limpo: o tamanho do disco continua a dizer que ali há mais do que
       um carro, e a lista ao lado diz quantos. */
    @container (max-width: 239px){.geo-pin i{display:none}}
    .geo-pin.is-tracked::before{border-color:#bf5af2;box-shadow:0 0 0 2px rgba(191,90,242,.45),0 2px 8px rgba(0,0,0,.5)}
    .geo-pin.is-approx::before{border-style:dashed;opacity:.85}
    .geo-map-side{min-width:0}
    .geo-map-lead{margin:0 0 10px;font-size:12px;color:var(--text-muted);line-height:1.5}.geo-map-lead b{color:#fff}
    .geo-map-rows{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
    .geo-row{display:grid;gap:3px;text-align:left;padding:9px 11px;border:1px solid var(--card-border);border-left:3px solid var(--brand-color,#32ade6);border-radius:12px;background:rgba(255,255,255,.03);color:#fff;font:inherit;cursor:pointer}
    .geo-row:hover,.geo-row:focus-visible{background:rgba(50,173,230,.09);outline:none;border-color:var(--brand-color,#32ade6)}
    .geo-row-head{display:flex;align-items:center;gap:6px;font-size:12.5px}
    .geo-row-head em{font-style:normal;font-size:9px;text-transform:uppercase;letter-spacing:.4px;color:#ffd60a;border:1px solid rgba(255,214,10,.3);border-radius:999px;padding:1px 5px}
    .geo-row-count{margin-left:auto;font-size:10px;font-weight:900;color:#0a0e14;background:var(--brand-color,#32ade6);border-radius:999px;min-width:18px;text-align:center;padding:1px 5px}
    .geo-row-meta{font-size:10.5px;color:var(--text-muted)}
    .geo-row-models{font-size:10.5px;color:rgba(255,255,255,.72);overflow:hidden;text-overflow:ellipsis}
    /* Com um sítio aberto o mapa NÃO muda de tamanho: mudava, e os pinos
       saltavam todos de sítio no instante a seguir ao clique — o ponto que se
       acabou de carregar deixava de estar debaixo do rato. No ecrã largo os
       cartões têm espaço de sobra sem tirar largura ao mapa. */
    .geo-pin.is-selected::before{outline:2px solid #fff;outline-offset:2px;transform:scale(1.35)}
    .geo-map-layout.has-selection .geo-pin:not(.is-selected)::before{opacity:.45}
    .geo-detail-head{display:grid;gap:4px;margin-bottom:12px}
    .geo-detail-head h3{margin:0;font-size:17px;font-weight:900}
    .geo-detail-head h3 em{font-style:normal;font-size:9px;vertical-align:middle;text-transform:uppercase;letter-spacing:.4px;color:#ffd60a;border:1px solid rgba(255,214,10,.3);border-radius:999px;padding:2px 6px;margin-left:5px}
    .geo-detail-head p{margin:0;font-size:11px;color:var(--text-muted)}
    .geo-back{justify-self:start;min-height:32px;padding:0 11px;border:1px solid rgba(50,173,230,.28);border-radius:999px;background:rgba(50,173,230,.08);color:#75c9ff;font:800 10.5px var(--font-main);cursor:pointer}
    .geo-back:hover,.geo-back:focus-visible{background:rgba(50,173,230,.16);color:#fff}
    .geo-photos-loading{margin:0 0 8px;font-size:10.5px;color:var(--text-muted)}
    .geo-map-cards{padding:0;border-top:0;grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}
    .geo-map-shift-note{display:block;margin-top:4px;color:rgba(255,255,255,.55);font-size:10.5px}
    .geo-map-skipped{margin:12px 0 0;font-size:10.5px;color:#ffd60a;line-height:1.5}
    .geo-map-credit{margin:8px 0 0;font-size:9.5px;color:var(--text-muted)}
    @media(max-width:768px){
      .geo-map-layout,.geo-map-layout.has-selection{grid-template-columns:1fr}
      .geo-map-cards{grid-template-columns:1fr}
      /* Com um sítio aberto, o mapa passa a ser contexto e não o ecrã inteiro:
         os cartões têm de ficar visíveis sem rolar um país inteiro. */
      .geo-map-layout.has-selection .geo-map-canvas{width:190px}
      /* Largura EXPLÍCITA, não `max-width` com margem automática: a margem
         automática faz o item da grelha encolher para o tamanho do conteúdo, e
         com `container-type:inline-size` o conteúdo não conta — o mapa
         colapsava para os 14 px do padding. */
      .geo-map-canvas{width:260px;max-width:100%;margin:0 auto}
      .geo-map-rows{grid-template-columns:1fr}
    }
