/* v33 · solo Calculadora y Q. No cambia mapa, GPS, navegación ni controles de acceso. */
.cc-mini-calculator {
  --mini-ink:#193147; --mini-muted:#536c7e; --mini-surface:#fff; --mini-input:#f7fafc;
  --mini-line:#ccdce5; --mini-accent:#06636a; --mini-result:#eaf7f5; --mini-action:#125c7b;
}
html[data-theme="dark"] .cc-mini-calculator {
  --mini-ink:#eef6fb; --mini-muted:#b1c5d2; --mini-surface:#152438; --mini-input:#102136;
  --mini-line:#3b556c; --mini-accent:#7de3d2; --mini-result:#123637; --mini-action:#1b5369;
}
body.cc-app #calculatorCard.cc-mini-calculator,
body.cc-q-app #qCalcSection.cc-mini-calculator {
  height:auto!important; min-height:0!important; max-height:none!important; overflow:visible!important;
  padding:16px!important; color:var(--mini-ink)!important; background:var(--mini-surface)!important;
}
body :is(#calculatorCard,#qCalcSection) .cc-calc-heading {
  display:flex!important; justify-content:space-between!important; align-items:center!important;
  margin:0 0 12px!important; position:static!important; padding:0!important;
}
body :is(#calculatorCard,#qCalcSection) .cc-calc-heading h2 {
  margin:0!important; font-size:20px!important; line-height:1.2!important; letter-spacing:-.4px;
}
body.cc-app #quickVehicleSummary {
  display:flex!important; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:3px 10px!important;
  margin:0 0 14px!important; padding:0!important; background:transparent!important; border:0!important; border-radius:0!important;
}
body.cc-app #quickVehicleSummary strong {font-size:14px!important; line-height:1.35; overflow-wrap:anywhere;}
body.cc-app #quickVehicleSummary span {font-size:12px!important; line-height:1.35; color:var(--mini-muted)!important;}
body.cc-app #quickVehicleSummary button {font-size:13px!important; min-height:40px!important; padding:8px 12px!important;}
body.cc-app #calculatorCard .calculator {display:block!important;}
body :is(#calculatorCard,#qCalcSection) .cc-calc-core {display:grid; gap:8px; min-width:0;}
body :is(#calculatorCard,#qCalcSection) .cc-distance-label {
  display:block!important; margin:0!important; font-size:14px!important; line-height:1.3!important;
  font-weight:700!important; color:var(--mini-ink)!important;
}
body :is(#calculatorCard,#qCalcSection) .cc-km-row {
  display:flex; gap:10px; align-items:stretch; min-width:0;
}
body :is(#calculatorCard,#qCalcSection) .cc-distance-input {
  display:flex; flex:1 1 auto; min-width:0; align-items:center; background:var(--mini-input)!important;
  border:1px solid var(--mini-line); border-radius:14px; overflow:hidden;
}
body :is(#calculatorCard,#qCalcSection) .cc-distance-input:focus-within {outline:2px solid var(--mini-accent);outline-offset:2px;}
body.cc-app #calculatorCard #kmInput, body.cc-q-app #qCalcSection #qKm {
  display:block!important; margin:0!important; width:100%!important; min-width:0!important;
  flex:1 1 0; height:60px!important; min-height:0!important; padding:8px 14px!important;
  border:0!important; border-radius:0!important; background:transparent!important;
  outline:0!important; box-shadow:none!important; font-size:34px!important; font-weight:750!important;
  line-height:1.1!important; color:var(--mini-ink)!important; -webkit-text-fill-color:var(--mini-ink)!important;
  font-variant-numeric:tabular-nums;
}
body :is(#calculatorCard,#qCalcSection) .cc-distance-input>span {flex:0 0 auto; padding:0 13px 0 3px; font-size:14px; color:var(--mini-muted);}
body :is(#calculatorCard,#qCalcSection) .cc-calc-done {
  display:none!important; margin:0!important; position:static!important; width:auto!important;
  flex:0 0 auto; padding:10px 14px!important; min-height:44px!important; height:auto!important;
  border:1px solid var(--mini-line)!important; border-radius:12px!important;
  font-size:15px!important; font-weight:750!important; line-height:1.1; color:#fff!important;
  background:var(--mini-action)!important; text-decoration:none!important; cursor:pointer;
}
body :is(#calculatorCard,#qCalcSection) .cc-calc-output {
  display:block!important; min-width:0!important; min-height:0!important; margin:2px 0 0!important;
  border:1px solid var(--mini-line)!important; border-radius:16px!important;
  background:var(--mini-result)!important; padding:0!important;
}
body :is(#calculatorCard,#qCalcSection) .cc-cost-hero {display:grid; gap:4px; padding:14px 16px; min-width:0;}
body :is(#calculatorCard,#qCalcSection) .cc-cost-caption {font-size:12px!important; line-height:1.2; font-weight:650; color:var(--mini-muted)!important;}
body :is(#calculatorCard,#qCalcSection) .cc-cost-value {
  font-size:clamp(32px,10vw,46px)!important; font-weight:800!important; letter-spacing:-1px;
  line-height:1.08!important; color:var(--mini-accent)!important; font-variant-numeric:tabular-nums;
  overflow-wrap:anywhere;
}
body :is(#calculatorCard,#qCalcSection) .cc-cost-meta {font-size:13px!important; line-height:1.3!important; color:var(--mini-ink)!important;}
body :is(#calculatorCard,#qCalcSection) .cc-calc-options {
  border:1px solid var(--mini-line); border-radius:12px; margin:14px 0 0; background:var(--mini-input);
}
body :is(#calculatorCard,#qCalcSection) .cc-calc-options>summary {
  display:flex; align-items:center; gap:10px; min-height:44px; cursor:pointer; padding:11px 12px;
  color:var(--mini-ink); list-style:none; font-size:13px; font-weight:700;
}
body :is(#calculatorCard,#qCalcSection) .cc-calc-options>summary::-webkit-details-marker {display:none;}
body :is(#calculatorCard,#qCalcSection) .cc-calc-options>summary::after {content:'⌄'; margin-left:0; font-size:18px; line-height:1;}
body :is(#calculatorCard,#qCalcSection) .cc-calc-options[open]>summary::after {content:'⌃';}
body :is(#calculatorCard,#qCalcSection) .cc-options-current {margin-left:auto; text-align:right; color:var(--mini-muted); font-weight:500; line-height:1.35;}
body :is(#calculatorCard,#qCalcSection) .cc-calc-options-body {padding:0 12px 12px;}
body :is(#calculatorCard,#qCalcSection) .cc-calc-selects {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px;}
body :is(#calculatorCard,#qCalcSection) .cc-calc-selects label {display:grid; gap:6px; color:var(--mini-muted)!important; font-size:13px!important;}
body :is(#calculatorCard,#qCalcSection) .cc-calc-selects select {
  width:100%!important; min-width:0; min-height:44px!important; padding:8px!important;
  background:var(--mini-surface)!important; color:var(--mini-ink)!important; border:1px solid var(--mini-line)!important;
  border-radius:10px!important; font-size:16px!important; font-weight:550!important;
}
body :is(#calculatorCard,#qCalcSection) .cc-calc-breakdown {display:grid; gap:7px; margin:12px 0 0; color:var(--mini-muted); font-size:12px; line-height:1.4;}
body :is(#calculatorCard,#qCalcSection) .cc-calc-breakdown>div {display:flex; justify-content:space-between; gap:10px;}
body :is(#calculatorCard,#qCalcSection) .cc-calc-breakdown p {margin:0; font-size:12px; line-height:1.4;}
body :is(#calculatorCard,#qCalcSection) .cc-calc-disclaimer {font-size:12px; line-height:1.4; color:var(--mini-muted); margin:12px 0 0;}
body #calculatorCard :is(#selectedStation,#calculateBtn)[hidden] {display:none!important;}

/* Q: cabecera mínima, vehículo en una fila y acciones por encima del pliegue. */
body.cc-q-app .q-shell {width:min(560px,100%); padding:calc(12px + var(--cc-safe-top,0px)) 14px calc(20px + var(--cc-safe-bottom,0px))!important;}
body.cc-q-app .q-header {display:flex!important; justify-content:space-between; align-items:center; gap:10px!important; margin:0 0 12px!important;}
body.cc-q-app .q-header h1 {font-size:20px!important; line-height:1.2!important; margin:0!important; letter-spacing:-.4px;}
body.cc-q-app .q-header h1 span {font-size:22px;}
body.cc-q-app .q-map-link {display:flex; align-items:center; min-height:44px; padding:9px 12px; font-size:13px; font-weight:650; border-radius:12px;}
body.cc-q-app .q-vehicle-card {margin-bottom:12px!important; padding:12px!important; border-radius:14px;}
body.cc-q-app .q-vehicle-card strong {font-size:15px!important;}
body.cc-q-app .q-vehicle-card span {font-size:12px!important;}
body.cc-q-app .q-vehicle-card a {font-size:13px!important; min-height:44px!important;}
body.cc-q-app .q-vehicle-card.q-no-vehicle {grid-template-columns:minmax(0,1fr) auto!important;}
body.cc-q-app .q-tabs {gap:4px; padding:4px; margin-bottom:12px; position:static; backdrop-filter:none; z-index:auto; border-radius:14px;}
body.cc-q-app .q-tab {display:flex; align-items:center; justify-content:center; gap:6px; padding:10px 5px; min-height:44px; font-size:14px; line-height:1.2; font-weight:700;}
body.cc-q-app .q-panel {padding:16px; border-radius:18px; box-shadow:none;}
body.cc-q-app .q-panel-head {margin:0 0 12px; align-items:center;}
body.cc-q-app .q-panel-head h2 {font-size:20px!important; line-height:1.2!important; margin:0!important;}
body.cc-q-app .q-field {font-size:14px; gap:6px;}
body.cc-q-app .q-field :is(select,input) {min-height:44px; font-size:16px;}
body.cc-q-app .q-trip-estimate {display:flex; flex-wrap:wrap; align-items:center; gap:4px 8px; margin:12px 0; padding:12px; border-radius:12px;}
body.cc-q-app .q-trip-estimate strong {font-size:16px;}
body.cc-q-app .q-trip-estimate>span {font-size:12px;}
body.cc-q-app .q-trip-estimate>span:last-of-type {flex-basis:100%;}
body.cc-q-app .q-trip-estimate>small {font-size:12px; color:var(--q-muted);}
body.cc-q-app .q-primary {min-height:48px; font-size:16px; border-radius:12px;}
body.cc-q-app .q-message {font-size:13px; line-height:1.4; margin:10px 0; min-height:0;}
body.cc-q-app .q-message:empty {display:none;}
body.cc-q-app #qLastSummaryBtn {margin-top:10px;}
body.cc-q-app .q-near-heading {gap:10px;}
body.cc-q-app .q-location-action {border:1px solid var(--q-line); border-radius:12px; min-height:44px; padding:9px 11px; font-size:13px; font-weight:700; background:var(--q-panel2); color:var(--q-text); cursor:pointer;}
body.cc-q-app .q-near-context {margin:0 0 8px; color:var(--q-muted); font-size:12px; line-height:1.4;}
body.cc-q-app .q-near-card:empty {display:none;}
body.cc-q-app .q-nearest-station {gap:10px;}
body.cc-q-app .q-nearest-head {padding:0 0 10px; border:0; border-bottom:1px solid var(--q-line); border-radius:0; background:transparent;}
body.cc-q-app .q-nearest-head strong {font-size:15px;}
body.cc-q-app .q-nearest-prices>div {padding:10px 12px;}
body.cc-q-app .q-nearest-prices strong {font-size:22px;}
body.cc-q-app .q-summary-date {font-size:12px;margin:0 0 10px;}
body.cc-q-app .q-summary-hero {padding:14px;}
body.cc-q-app .q-summary-config {font-size:12px;}
body.cc-q-app .q-summary-stats article {padding:10px 8px;}
body.cc-q-app .q-summary-stats strong {font-size:16px;}
body.cc-q-app .q-summary-stats span {font-size:11px;}

html[data-theme="light"] body.cc-q-app {
  --q-bg:#f4f8fb; --q-panel:#fff; --q-panel2:#eaf2f8; --q-line:#c5d6e1;
  --q-text:#193147; --q-muted:#526a7b; --q-good:#087151; background:var(--q-bg)!important; color:var(--q-text)!important;
}
html[data-theme="light"] body.cc-q-app :is(.q-panel,.q-tabs,.q-trip-estimate,.q-vehicle-card,.q-nearest-prices>div,.q-summary-stats article,.q-summary-adjust,.q-trip-live) {background:var(--q-panel)!important;color:var(--q-text)!important;border-color:var(--q-line)!important;}
html[data-theme="light"] body.cc-q-app :is(input,select,textarea) {background:var(--q-panel2)!important;color:var(--q-text)!important;border-color:var(--q-line)!important;}
html[data-theme="light"] body.cc-q-app .q-tab.active {background:#173d55;color:#fff;}
html[data-theme="light"] body.cc-q-app .q-vehicle-card a {color:#17678c;}
html[data-theme="light"] body.cc-q-app .q-nearest-head small {color:#086569;}
html[data-theme="light"] body.cc-q-app .q-nearest-prices .selected-fuel {background:#eaf7f5!important;border-color:#218479!important;}
html[data-theme="light"] body.cc-q-app .q-nearest-prices .selected-fuel span {color:#086569;}

/* Al escribir, solo distancia + costo. Listo queda junto al número, NO en la barra del sistema. */
@media(max-width:920px) {
  body.cc-app.cc-calc-editing .layout[data-right-card="calculatorCard"] #sidePanel,
  body.cc-q-app.cc-calc-editing #qCalcSection.cc-mini-calculator {
    position:fixed!important; left:8px!important; right:8px!important; width:auto!important;
    top:calc(var(--cc-calc-visible-top,8px) + var(--cc-safe-top,0px))!important;
    height:calc(var(--cc-calc-visible-height,88dvh) - var(--cc-safe-top,0px) - var(--cc-safe-bottom,0px))!important;
    max-height:calc(var(--cc-calc-visible-height,88dvh) - var(--cc-safe-top,0px) - var(--cc-safe-bottom,0px))!important;
    min-height:0!important; bottom:auto!important; margin:0!important; transform:none!important;
    padding:12px!important; border-radius:18px!important; overflow-y:auto!important;
    overscroll-behavior:contain; transition:none!important; z-index:4100!important;
    align-content:start!important; gap:0!important;
  }
  body.cc-app.cc-calc-editing #calculatorCard.cc-mini-calculator {padding:0!important; border:0!important; border-radius:0!important;}
  body.cc-app.cc-calc-editing #closeRightPanelBtn,
  body.cc-calc-editing :is(#calculatorCard,#qCalcSection) :is(.cc-calc-heading,.cc-calc-vehicle,.cc-calc-options) {display:none!important;}
  body.cc-calc-editing :is(#calculatorCard,#qCalcSection) .cc-calc-done {display:inline-flex!important; align-items:center; justify-content:center;}
  body.cc-app.cc-calc-editing #sidePanel::before {display:none!important;}
  body.cc-app.cc-calc-editing :is(#mobileDock.cc-navigation,#tripActiveMini,#plannedRouteMini,#mobileSettingsBtn) {visibility:hidden!important;pointer-events:none!important;}
  body.cc-q-app.cc-calc-editing .q-shell {padding-top:0!important;}
  body.cc-calc-editing :is(#calculatorCard,#qCalcSection) .cc-cost-value {font-size:38px!important;}
  body.cc-calc-editing :is(#calculatorCard,#qCalcSection) .cc-cost-hero {padding:12px 14px;}
}
@media(max-width:350px) {
  body.cc-q-app .q-shell {padding-left:10px!important;padding-right:10px!important;}
  body.cc-q-app .q-header h1 {font-size:18px!important;}
  body.cc-q-app .q-panel {padding:12px;}
  body :is(#calculatorCard,#qCalcSection) .cc-calc-selects {grid-template-columns:1fr;}
  body.cc-q-app .q-tab {font-size:13px;}
}
@media(prefers-reduced-motion:no-preference) {
  body :is(#calculatorCard,#qCalcSection) .cc-cost-hero {animation:cc-cost-appear .16s ease-out;}
  @keyframes cc-cost-appear {from{opacity:.8}to{opacity:1}}
}
/* Nota heredada junto al input técnico oculto: la referencia ya aparece arriba. */
body.cc-app #calculatorCard #manualConsumptionVehicleNote {display:none!important;}
@media(max-width:920px) {
  body.cc-q-app.cc-calc-editing .q-shell > :is(.q-header,.q-vehicle-card,.q-tabs) {visibility:hidden!important;pointer-events:none!important;}
}
html[data-theme="light"] body.cc-q-app .q-secondary {background:var(--q-panel2);color:var(--q-text);border-color:var(--q-line);}
html[data-theme="light"] body.cc-q-app .q-trip-speed strong {color:#165777;}
html[data-theme="light"] body.cc-q-app .q-trip-stats article {background:var(--q-panel2);border-color:var(--q-line);color:var(--q-text);}
html[data-theme="light"] body.cc-q-app .q-trip-stats .highlight {background:#eaf7f5;border-color:#218479;}
html[data-theme="light"] body.cc-q-app .q-trip-stats .highlight strong {color:#087151;}
html[data-theme="light"] body.cc-q-app .q-trip-config {color:var(--q-muted);}
html[data-theme="light"] body.cc-q-app .q-journal-status[data-state="saved"] {color:#087151;}
