/* Taxi Control v7.19.0 - correcciones pre-lanzamiento */

/* iOS/Safari: evitar zoom automático al enfocar formularios. */
@media (max-width: 820px) {
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  select,
  textarea { font-size: 16px !important; }

  /* Caja diaria: el control nativo de horas no debe invadir el valor. */
  input[name="hours"], select[name="hours"] {
    min-width: 9rem;
    padding-right: 2.7rem !important;
    font-variant-numeric: tabular-nums;
  }

  /* Jornada: ruta, hora e importe nunca se pisan. */
  #journey-services .journey-item-v4.service-item-v4 {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    gap: 12px !important;
    overflow: hidden;
  }
  #journey-services .item-main-v4 {
    min-width: 0 !important;
    width: 100% !important;
    align-items: flex-start !important;
  }
  #journey-services .item-main-v4 > div:last-child { min-width: 0 !important; flex: 1 1 auto !important; }
  #journey-services .item-title-line-v4 {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    gap: 8px !important;
    align-items: start !important;
    min-width: 0 !important;
  }
  #journey-services .item-title-line-v4 > strong {
    min-width: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    line-height: 1.16 !important;
  }
  #journey-services .item-title-line-v4 > span { white-space: nowrap !important; }
  #journey-services .item-amount-v4.service-amount-pair-v67 {
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: baseline !important;
    gap: 10px !important;
    text-align: right !important;
    padding: 0 2px !important;
    box-sizing: border-box;
  }
  #journey-services .item-amount-v4.service-amount-pair-v67 strong { white-space: nowrap !important; }
  #journey-services .journey-company-admin-v42,
  #journey-services .item-actions-v4 { width: 100% !important; min-width: 0 !important; }

  /* Barras secundarias: cuatro acciones reales, sin scroll ni textos cortados. */
  .context-nav-v68.context-movements-v68 {
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    overflow-x:hidden !important;
    gap:6px !important;
  }
  .context-nav-v68.context-movements-v68 > a {
    min-width:0 !important;
    width:100% !important;
    padding:7px 4px !important;
    overflow:hidden !important;
  }
  .context-nav-v68.context-movements-v68 > a span {
    min-width:0 !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    text-align:center !important;
    line-height:1.08 !important;
  }

  /* Contratos: checkbox + texto siempre dentro de su tarjeta. */
  .legal-check {
    display: grid !important;
    grid-template-columns: 34px minmax(0,1fr) !important;
    align-items: start !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }
  .legal-check input[type="checkbox"] {
    width: 28px !important;
    height: 28px !important;
    margin: 2px 0 0 !important;
    transform: none !important;
  }
  .legal-check span {
    display: block !important;
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    line-height: 1.35 !important;
  }
}

/* Contraseña: control mostrar/ocultar. */
.tc-password-field { position: relative; display: block; }
.tc-password-field > input { width: 100%; padding-right: 3.25rem !important; box-sizing: border-box; }
.tc-password-toggle {
  position: absolute; right: .65rem; top: 50%; transform: translateY(-50%);
  width: 2.35rem; height: 2.35rem; border: 0; border-radius: 999px;
  background: rgba(15,35,52,.07); color: #17334a; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center; padding: 0;
}
.tc-password-toggle svg { width: 1.25rem; height: 1.25rem; fill: none; stroke: currentColor; stroke-width: 2; }

/* Empresas escritorio: barra contextual visible, en flujo normal y sin solapar fecha/buscador. */
@media (min-width: 851px) {
  body.tc-companies-premium-v7160 > .context-nav-v68,
  body.tc-company-form-premium-v7120 > .context-nav-v68 {
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
    z-index:4 !important;
    display:flex !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:10px !important;
    width:100% !important;
    min-height:58px !important;
    margin:0 !important;
    padding:8px 18px !important;
    overflow:visible !important;
    box-sizing:border-box !important;
    background:#f6f1fb !important;
    border-bottom:1px solid #e2d6ee !important;
  }
  body.tc-companies-premium-v7160 > .context-nav-v68 > a,
  body.tc-company-form-premium-v7120 > .context-nav-v68 > a {
    display:inline-flex !important;
    flex:0 0 auto !important;
    align-items:center !important;
    justify-content:center !important;
    gap:7px !important;
    min-width:150px !important;
    min-height:42px !important;
    padding:8px 15px !important;
    border-radius:12px !important;
    text-decoration:none !important;
  }
  body.tc-company-form-premium-v7120 > .topbar.app-topbar {
    position:relative !important;
    top:auto !important;
  }
}

/* Acciones de movimientos con justificante. */
.transaction-actions .receipt-link-v7190,
.movement-actions .receipt-link-v7190 {
  border-color: #9bc5df !important;
  background: #eef8ff !important;
  color: #236c98 !important;
}

/* Facturación v7.19 */
.billing-bank-list-v7190 { display: grid; gap: 12px; margin-top: 12px; }
.billing-bank-row-v7190 {
  display: grid; grid-template-columns: minmax(130px,.8fr) minmax(220px,1.5fr) auto auto;
  gap: 10px; align-items: end; padding: 14px; border: 1px solid #e2d9f2;
  border-radius: 16px; background: #fcfaff;
}
.billing-bank-row-v7190 label { margin: 0; }
.billing-bank-default-v7190 { display:flex; align-items:center; gap:7px; min-height:48px; font-weight:700; }
.billing-bank-remove-v7190 { min-height:48px; border:1px solid #efb9c0; background:#fff4f5; color:#b13242; border-radius:12px; padding:0 14px; font-weight:700; }
.billing-add-bank-v7190 { margin-top:12px; }
.invoice-number-parts-v7190 { display:grid; grid-template-columns:auto minmax(0,1fr); gap:0; align-items:stretch; }
.invoice-number-prefix-v7190 { display:flex; align-items:center; padding:0 14px; border:1px solid #d9dfe4; border-right:0; border-radius:14px 0 0 14px; background:#f4f6f8; font-weight:800; }
.invoice-number-parts-v7190 input { border-radius:0 14px 14px 0 !important; }
.invoice-paid-panel-v7190 { margin-top:14px; padding:14px; border:1px solid #cfe7d8; background:#f2fbf5; border-radius:16px; }
.invoice-paid-fields-v7190 { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:12px; }
.invoice-paid-fields-v7190[hidden] { display:none !important; }
.collaborator-panel-v7190 { margin-top:14px; padding:14px; border:1px solid #ded1ef; background:#faf7ff; border-radius:16px; }
.collaborator-grid-v7190 { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:10px; }
.collaborator-badge-v7190 { display:inline-flex; align-items:center; padding:5px 9px; border-radius:999px; background:#f1e8ff; color:#6e3caf; font-weight:800; font-size:.8rem; margin-top:7px; }
.daily-link-choice-v7190 { margin-top:14px; padding:14px; border:1px solid #cfe0ed; background:#f6fbff; border-radius:16px; }
.daily-link-choice-v7190 label { display:flex; gap:9px; align-items:flex-start; margin:8px 0; }
.settings-subscription-status-v7190 { margin:12px 0 0; padding:14px 16px; border-radius:16px; border:1px solid #ead9a6; background:#fff9e9; }
.settings-subscription-status-v7190 strong { display:block; font-size:1.05rem; }
.settings-subscription-status-v7190 small { display:block; margin-top:4px; }
.settings-subscription-status-v7190 a { display:inline-block; margin-top:9px; font-weight:800; }

@media(max-width:820px){
  .billing-bank-row-v7190 { grid-template-columns:1fr; }
  .invoice-paid-fields-v7190,.collaborator-grid-v7190 { grid-template-columns:1fr; }
}
.movement-actions .movement-receipt-v7190 { border-color:#9bc5df !important;background:#eef8ff !important;color:#236c98 !important; }

/* Contratación pendiente: continuar o cancelar desde el propio aviso. */
.tc-pending-actions-v7190{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:8px}
.tc-pending-actions-v7190 form{margin:0}
.tc-pending-actions-v7190 button{border:1px solid #d7b35e;background:#fffdf6;color:#77560a;border-radius:999px;padding:8px 13px;font:inherit;font-weight:800;cursor:pointer}
@media(max-width:820px){.tc-pending-actions-v7190{gap:8px}.tc-pending-actions-v7190 button{padding:7px 11px;font-size:.92rem}}

/* v7.19.4 - Jornada móvil: los importes de Gastos del día no pueden invadir el título. */
@media (max-width: 640px) {
  #journey-expenses .expense-journey-item-v5 {
    grid-template-columns: minmax(0,1fr) !important;
    gap: 9px !important;
    align-items: start !important;
    overflow: hidden !important;
  }
  #journey-expenses .expense-journey-item-v5 .item-main-v4 {
    width: 100% !important;
    min-width: 0 !important;
    align-items: flex-start !important;
  }
  #journey-expenses .expense-journey-item-v5 .item-main-v4 > div:last-child {
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }
  #journey-expenses .expense-journey-item-v5 .item-main-v4 strong {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    overflow-wrap: anywhere !important;
    line-height: 1.18 !important;
  }
  #journey-expenses .expense-journey-item-v5 .item-main-v4 p {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    line-height: 1.25 !important;
  }
  #journey-expenses .expense-journey-item-v5 > .item-amount-v4 {
    grid-column: 1 / -1 !important;
    justify-self: end !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 2px 0 0 !important;
    text-align: right !important;
    white-space: nowrap !important;
    line-height: 1.15 !important;
  }
  #journey-expenses .expense-journey-item-v5 > .item-actions-v4 {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-width: 0 !important;
    justify-content: stretch !important;
    flex-wrap: wrap !important;
  }
  #journey-expenses .expense-journey-item-v5 > .item-actions-v4 > a,
  #journey-expenses .expense-journey-item-v5 > .item-actions-v4 > form {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
  #journey-expenses .expense-journey-item-v5 > .item-actions-v4 > a,
  #journey-expenses .expense-journey-item-v5 > .item-actions-v4 form > button {
    width: 100% !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }
}

/* =========================================================
   Taxi Control v7.20.12 — Lenguaje visual NAVY
   Navegación premium, dashboard móvil oscuro y dock minimalista.
   Solo capa visual: sin cambios de lógica ni estructura de datos.
   ========================================================= */

/* Escritorio · sidebar premium oscuro del Dashboard */
@media (min-width:851px){
  body.tc-dashboard-premium-v7111{
    --tc-shell-navy:#071f2e;
    --tc-shell-navy-2:#0b2c3f;
    --tc-shell-line:rgba(255,255,255,.10);
  }
  body.tc-dashboard-premium-v7111 .tc-side-v7111{
    background:linear-gradient(180deg,#071f2e 0%,#09283a 56%,#061a27 100%)!important;
    border-right:1px solid rgba(255,255,255,.08)!important;
    box-shadow:12px 0 34px rgba(4,20,31,.13)!important;
  }
  body.tc-dashboard-premium-v7111 .tc-brand-v7111{color:#f4f8fa!important}
  body.tc-dashboard-premium-v7111 .tc-brand-v7111 b{color:#f4f8fa!important;font-weight:900!important}
  body.tc-dashboard-premium-v7111 .tc-brand-v7111 b i{color:#f2b62a!important}
  body.tc-dashboard-premium-v7111 .tc-brand-v7111 small{color:#9cb0bc!important}
  body.tc-dashboard-premium-v7111 .tc-brand-logo-v7111{
    filter:drop-shadow(0 5px 12px rgba(0,0,0,.20));
  }
  body.tc-dashboard-premium-v7111 .tc-side-v7111 nav{gap:7px!important}
  body.tc-dashboard-premium-v7111 .tc-side-v7111 nav a{
    min-height:50px!important;padding:7px 10px!important;border:1px solid transparent!important;
    color:#d8e4ea!important;border-radius:14px!important;font-size:13px!important;
  }
  body.tc-dashboard-premium-v7111 .tc-side-v7111 nav a>span{
    width:36px!important;height:36px!important;border-radius:11px!important;
    background:color-mix(in srgb,var(--a) 28%,#0b2a3c)!important;
    border:1px solid color-mix(in srgb,var(--a) 38%,transparent)!important;
    color:color-mix(in srgb,var(--a) 82%,#fff)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;
  }
  body.tc-dashboard-premium-v7111 .tc-side-v7111 nav a>span svg{width:20px!important;height:20px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.9!important;stroke-linecap:round!important;stroke-linejoin:round!important}
  body.tc-dashboard-premium-v7111 .tc-side-v7111 nav a:hover{
    background:rgba(255,255,255,.055)!important;border-color:rgba(255,255,255,.06)!important;color:#fff!important;
  }
  body.tc-dashboard-premium-v7111 .tc-side-v7111 nav a.active{
    background:linear-gradient(135deg,#f5bd32 0%,#dc9c13 100%)!important;
    border-color:#f8cc61!important;color:#102634!important;
    box-shadow:0 10px 23px rgba(224,160,24,.22)!important;
  }
  body.tc-dashboard-premium-v7111 .tc-side-v7111 nav a.active>span{
    background:rgba(255,255,255,.23)!important;border-color:rgba(255,255,255,.34)!important;color:#102634!important;
  }
  body.tc-dashboard-premium-v7111 .tc-account-v7111,
  body.tc-dashboard-premium-v7111 .tc-help-v7111{
    background:rgba(255,255,255,.055)!important;border-color:rgba(255,255,255,.11)!important;
    color:#e7eff3!important;box-shadow:none!important;
  }
  body.tc-dashboard-premium-v7111 .tc-account-v7111 small,
  body.tc-dashboard-premium-v7111 .tc-help-v7111 small{color:#9db0ba!important}
  body.tc-dashboard-premium-v7111 .tc-help-v7111 span{color:#e8b83f!important}
  body.tc-dashboard-premium-v7111 .tc-account-v7111 em{color:#a7b8c2!important}
  body.tc-dashboard-premium-v7111 .tc-account-v7111>span{
    background:linear-gradient(135deg,#f2bc2d,#dda014)!important;color:#132b39!important;
  }
}

/* Móvil · cabecera navy común a toda la app */
@media(max-width:850px){
  .tc-unified-mobile-head-v7155{
    background:linear-gradient(135deg,#061d2b 0%,#0a2b3e 56%,#071f2e 100%)!important;
    border-bottom:1px solid rgba(255,255,255,.10)!important;
    box-shadow:0 8px 24px rgba(3,20,31,.24)!important;
  }
  .tc-umh-btn-v7155,
  .tc-umh-btn-v7155.back,
  .tc-umh-btn-v7155.home,
  .tc-umh-btn-v7155.calendar,
  .tc-umh-btn-v7155.menu{
    background:rgba(255,255,255,.08)!important;
    border-color:rgba(255,255,255,.17)!important;
    color:#f3f7f9!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 4px 14px rgba(1,14,22,.12)!important;
  }
  .tc-umh-btn-v7155.home{color:#f4bd35!important;background:rgba(244,189,53,.12)!important;border-color:rgba(244,189,53,.28)!important}
  .tc-umh-btn-v7155.calendar{color:#62baf0!important;background:rgba(66,154,210,.12)!important;border-color:rgba(91,180,234,.24)!important}

  /* Dock inferior minimalista. Cuatro áreas diarias + Más. */
  .tc-mobile-primary-v7125{
    height:74px!important;padding:7px 7px calc(6px + env(safe-area-inset-bottom))!important;
    background:rgba(255,255,255,.985)!important;border-top:1px solid #dce4e8!important;
    box-shadow:0 -12px 30px rgba(3,23,35,.20)!important;backdrop-filter:blur(15px)!important;
  }
  .tc-mobile-primary-v7125 a,
  .tc-mobile-primary-v7125 button{
    appearance:none!important;-webkit-appearance:none!important;border:0!important;
    position:relative!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
    gap:3px!important;min-width:0!important;min-height:54px!important;padding:3px!important;border-radius:14px!important;
    background:transparent!important;text-decoration:none!important;font:inherit!important;cursor:pointer!important;
  }
  .tc-mobile-primary-v7125 a svg,.tc-mobile-primary-v7125 button svg{width:24px!important;height:24px!important;margin:0!important;fill:none!important;stroke:currentColor!important;stroke-width:1.9!important;stroke-linecap:round!important;stroke-linejoin:round!important}
  .tc-mobile-primary-v7125 a small,.tc-mobile-primary-v7125 button small{font-size:8.6px!important;line-height:1!important;font-weight:900!important;color:inherit!important}
  .tc-mobile-primary-v7125 .start{color:#d89b11!important}
  .tc-mobile-primary-v7125 .journeys{color:#2683c5!important}
  .tc-mobile-primary-v7125 .movements{color:#28a368!important}
  .tc-mobile-primary-v7125 .companies{color:#8254b3!important}
  .tc-mobile-primary-v7125 .more{color:#627984!important}
  .tc-mobile-primary-v7125 a.active,.tc-mobile-primary-v7125 button.active{background:color-mix(in srgb,currentColor 10%,#fff)!important}
  .tc-mobile-primary-v7125 a.active:before,.tc-mobile-primary-v7125 button.active:before{content:""!important;position:absolute!important;top:1px!important;width:26px!important;height:3px!important;border-radius:999px!important;background:currentColor!important}

  /* Cajón Más: mismo lenguaje oscuro y enlaces claros. */
  body>.app-nav,
  body.tc-dashboard-premium-v7111>.app-nav.tc-dashboard-drawer-v7125{
    background:linear-gradient(180deg,#071f2e,#0a2c3f)!important;
    border-left:1px solid rgba(255,255,255,.10)!important;
    box-shadow:-20px 0 42px rgba(3,18,28,.34)!important;
  }
  body>.app-nav .nav-close,
  body.tc-dashboard-premium-v7111>.app-nav.tc-dashboard-drawer-v7125 .nav-close{
    background:rgba(255,255,255,.10)!important;border-color:rgba(255,255,255,.16)!important;color:#fff!important;
  }
  body>.app-nav a,
  body.tc-dashboard-premium-v7111>.app-nav.tc-dashboard-drawer-v7125 a{
    background:rgba(255,255,255,.055)!important;border:1px solid rgba(255,255,255,.09)!important;
    color:#e7eff3!important;box-shadow:none!important;
  }
  body>.app-nav a:hover,
  body.tc-dashboard-premium-v7111>.app-nav.tc-dashboard-drawer-v7125 a:hover{background:rgba(255,255,255,.10)!important}

  /* Dashboard móvil: fondo navy + tarjetas claras. */
  body.tc-dashboard-premium-v7111{background:#071f2e!important}
  body.tc-dashboard-premium-v7111 .tc-mobile-premium-main-v7133{
    background:linear-gradient(180deg,#071f2e 0%,#09293b 56%,#071f2e 100%)!important;
    color:#172a36!important;padding-top:16px!important;
  }
  body.tc-dashboard-premium-v7111 .tc-mobile-hero-v7133{
    margin:0 0 14px!important;padding:24px 16px 20px!important;border:1px solid rgba(255,255,255,.12)!important;
    border-radius:23px!important;background:#fff!important;box-shadow:0 13px 28px rgba(0,0,0,.17)!important;
  }
  body.tc-dashboard-premium-v7111 .tc-mobile-privacy-v7197,
  body.tc-dashboard-premium-v7111 .tc-mobile-premium-notice-v7133,
  body.tc-dashboard-premium-v7111 .tc-mobile-balance-v7133,
  body.tc-dashboard-premium-v7111 .tc-mobile-mini-v7133,
  body.tc-dashboard-premium-v7111 .tc-mobile-alert-v7133,
  body.tc-dashboard-premium-v7111 .tc-mobile-status-v7133 .grid a{
    box-shadow:0 11px 25px rgba(0,0,0,.13)!important;
  }
  body.tc-dashboard-premium-v7111 .tc-mobile-privacy-v7197{background:#fff!important;border-color:#e4eaed!important;color:#31444f!important}
  body.tc-dashboard-premium-v7111 .tc-mobile-status-v7133>.title{color:#b7c7d0!important}

  /* Acciones principales: tarjetas blancas, iconografía por color. */
  body.tc-dashboard-premium-v7111 .tc-mobile-actions-v7133 a{
    background:#fff!important;border-color:#e2e8eb!important;color:#172a36!important;
    box-shadow:0 11px 25px rgba(0,0,0,.13)!important;
  }
  body.tc-dashboard-premium-v7111 .tc-mobile-actions-v7133 .journey .ico{background:#e7f2fc!important;color:#2d77b1!important}
  body.tc-dashboard-premium-v7111 .tc-mobile-actions-v7133 .income .ico{background:#e6f6ed!important;color:#23935b!important}
  body.tc-dashboard-premium-v7111 .tc-mobile-actions-v7133 .expense .ico{background:#fdebed!important;color:#d65560!important}
  body.tc-dashboard-premium-v7111 .tc-mobile-actions-v7133 .company .ico{background:#f1eafb!important;color:#7c55ad!important}
  body.tc-dashboard-premium-v7111 .tc-mobile-actions-v7133 a small{color:#73828a!important}
}


/* =========================================================
   Taxi Control v7.20.13 — Rail navy universal + cabecera coherente
   - Logo oficial sin reinterpretaciones
   - Sidebar escritorio en todas las páginas
   - Rail compacto (iconos) que se expande al pasar el cursor
   - Cabecera burgundy sustituida por navy/petróleo
   ========================================================= */

@media (min-width:851px){
  :root{
    --tc-navy-72013:#061d2b;
    --tc-navy-2-72013:#0a2d41;
    --tc-navy-3-72013:#0e3a51;
    --tc-rail-width-72013:76px;
    --tc-rail-open-72013:258px;
  }

  /* Dashboard: el menú ocupa solo un rail hasta que se usa. */
  body.tc-dashboard-premium-v7111 .tc-side-v7111{
    width:var(--tc-rail-width-72013)!important;
    padding:14px 9px 16px!important;
    z-index:1200!important;
    overflow:hidden!important;
    transition:width .22s ease,box-shadow .22s ease!important;
    background:linear-gradient(180deg,var(--tc-navy-72013) 0%,var(--tc-navy-2-72013) 58%,#051822 100%)!important;
    box-shadow:8px 0 26px rgba(3,18,28,.13)!important;
  }
  body.tc-dashboard-premium-v7111 .tc-side-v7111:hover,
  body.tc-dashboard-premium-v7111 .tc-side-v7111:focus-within{
    width:var(--tc-rail-open-72013)!important;
    box-shadow:18px 0 42px rgba(3,18,28,.25)!important;
  }
  body.tc-dashboard-premium-v7111 .tc-head-v7111,
  body.tc-dashboard-premium-v7111 .tc-main-v7111{
    margin-left:var(--tc-rail-width-72013)!important;
    transition:margin-left .2s ease!important;
  }

  /* Logo oficial: tarjeta blanca. El texto nunca se recrea con CSS. */
  body.tc-dashboard-premium-v7111 .tc-brand-official-v72013{
    width:56px!important;height:58px!important;min-height:58px!important;
    margin:0 auto 18px!important;padding:6px!important;gap:0!important;
    display:grid!important;place-items:center!important;
    border-radius:15px!important;background:#fff!important;border:1px solid rgba(255,255,255,.32)!important;
    box-shadow:0 8px 22px rgba(0,0,0,.20)!important;overflow:hidden!important;
    transition:width .22s ease,height .22s ease,padding .22s ease!important;
  }
  body.tc-dashboard-premium-v7111 .tc-brand-official-v72013 .tc-brand-full-v72013{display:none!important}
  body.tc-dashboard-premium-v7111 .tc-brand-official-v72013 .tc-brand-compact-v72013{
    display:block!important;width:44px!important;height:44px!important;object-fit:contain!important;flex:none!important;
  }
  body.tc-dashboard-premium-v7111 .tc-side-v7111:hover .tc-brand-official-v72013,
  body.tc-dashboard-premium-v7111 .tc-side-v7111:focus-within .tc-brand-official-v72013{
    width:224px!important;height:72px!important;padding:7px 10px!important;
  }
  body.tc-dashboard-premium-v7111 .tc-side-v7111:hover .tc-brand-official-v72013 .tc-brand-full-v72013,
  body.tc-dashboard-premium-v7111 .tc-side-v7111:focus-within .tc-brand-official-v72013 .tc-brand-full-v72013{
    display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;
  }
  body.tc-dashboard-premium-v7111 .tc-side-v7111:hover .tc-brand-official-v72013 .tc-brand-compact-v72013,
  body.tc-dashboard-premium-v7111 .tc-side-v7111:focus-within .tc-brand-official-v72013 .tc-brand-compact-v72013{display:none!important}

  body.tc-dashboard-premium-v7111 .tc-side-v7111 nav a{
    width:56px!important;min-height:52px!important;padding:7px 9px!important;gap:11px!important;
    overflow:hidden!important;white-space:nowrap!important;
    transition:width .22s ease,background .15s ease,border-color .15s ease!important;
  }
  body.tc-dashboard-premium-v7111 .tc-side-v7111 nav a>span{
    width:36px!important;height:36px!important;flex:0 0 36px!important;
  }
  body.tc-dashboard-premium-v7111 .tc-side-v7111 nav a>b{
    display:block!important;min-width:145px!important;opacity:0!important;transform:translateX(-5px)!important;
    transition:opacity .14s ease .02s,transform .18s ease!important;
  }
  body.tc-dashboard-premium-v7111 .tc-side-v7111:hover nav a,
  body.tc-dashboard-premium-v7111 .tc-side-v7111:focus-within nav a{width:238px!important}
  body.tc-dashboard-premium-v7111 .tc-side-v7111:hover nav a>b,
  body.tc-dashboard-premium-v7111 .tc-side-v7111:focus-within nav a>b{opacity:1!important;transform:none!important}

  body.tc-dashboard-premium-v7111 .tc-side-bottom-v7111{
    width:238px!important;opacity:0!important;pointer-events:none!important;transform:translateX(-10px)!important;
    transition:opacity .15s ease,transform .2s ease!important;
  }
  body.tc-dashboard-premium-v7111 .tc-side-v7111:hover .tc-side-bottom-v7111,
  body.tc-dashboard-premium-v7111 .tc-side-v7111:focus-within .tc-side-bottom-v7111{
    opacity:1!important;pointer-events:auto!important;transform:none!important;
  }

  /* La antigua cabecera burdeos desaparece del Dashboard. */
  body.tc-dashboard-premium-v7111 .tc-head-v7111{
    background:linear-gradient(135deg,#0a2a3d 0%,#103b52 58%,#092638 100%)!important;
    border-bottom:1px solid rgba(255,255,255,.08)!important;
    box-shadow:0 10px 26px rgba(3,23,35,.20)!important;
  }
  body.tc-dashboard-premium-v7111 .tc-date-v7111,
  body.tc-dashboard-premium-v7111 .tc-search-v7111{
    background:rgba(255,255,255,.085)!important;border-color:rgba(255,255,255,.18)!important;
  }
  body.tc-dashboard-premium-v7111 .tc-date-v7111 input,
  body.tc-dashboard-premium-v7111 .tc-search-v7111 input{color:#fff!important}
  body.tc-dashboard-premium-v7111 .tc-date-v7111 input::-webkit-calendar-picker-indicator{filter:invert(1)!important}
  body.tc-dashboard-premium-v7111 .tc-search-v7111 input::placeholder{color:rgba(255,255,255,.74)!important}
  body.tc-dashboard-premium-v7111 .tc-date-v7111 span,
  body.tc-dashboard-premium-v7111 .tc-search-v7111 span{color:#d9e5eb!important}
  body.tc-dashboard-premium-v7111 .tc-date-v7111 button{
    color:#f3f7f9!important;border-left-color:rgba(255,255,255,.16)!important;
  }
  body.tc-dashboard-premium-v7111 .tc-head-actions-v7111 a{
    color:#f3f7f9!important;background:rgba(255,255,255,.08)!important;
  }
  body.tc-dashboard-premium-v7111 .tc-head-actions-v7111 a:hover{background:rgba(255,255,255,.16)!important}

  /* Rail universal para todas las páginas que usan render_app_header(). */
  body.tc-universal-rail-v72013{
    padding-left:var(--tc-rail-width-72013)!important;
  }
  .tc-global-rail-v72013{
    position:fixed!important;z-index:1700!important;left:0!important;top:0!important;bottom:0!important;
    width:var(--tc-rail-width-72013)!important;padding:14px 9px 15px!important;
    display:flex!important;flex-direction:column!important;overflow:hidden!important;
    background:linear-gradient(180deg,var(--tc-navy-72013) 0%,var(--tc-navy-2-72013) 58%,#051822 100%)!important;
    border-right:1px solid rgba(255,255,255,.08)!important;
    box-shadow:8px 0 26px rgba(3,18,28,.13)!important;
    transition:width .22s ease,box-shadow .22s ease!important;
  }
  .tc-global-rail-v72013:hover,.tc-global-rail-v72013:focus-within{
    width:var(--tc-rail-open-72013)!important;
    box-shadow:18px 0 42px rgba(3,18,28,.25)!important;
  }
  .tc-global-brand-v72013{
    width:56px;height:58px;min-height:58px;margin:0 auto 18px;padding:6px;
    display:grid;place-items:center;border-radius:15px;background:#fff;border:1px solid rgba(255,255,255,.32);
    box-shadow:0 8px 22px rgba(0,0,0,.20);overflow:hidden;
    transition:width .22s ease,height .22s ease,padding .22s ease;
  }
  .tc-global-brand-v72013 img.full{display:none;width:100%;height:100%;object-fit:contain}
  .tc-global-brand-v72013 img.compact{display:block;width:44px;height:44px;object-fit:contain}
  .tc-global-rail-v72013:hover .tc-global-brand-v72013,
  .tc-global-rail-v72013:focus-within .tc-global-brand-v72013{width:224px;height:72px;padding:7px 10px}
  .tc-global-rail-v72013:hover .tc-global-brand-v72013 img.full,
  .tc-global-rail-v72013:focus-within .tc-global-brand-v72013 img.full{display:block}
  .tc-global-rail-v72013:hover .tc-global-brand-v72013 img.compact,
  .tc-global-rail-v72013:focus-within .tc-global-brand-v72013 img.compact{display:none}

  .tc-global-rail-v72013 nav{display:flex;flex-direction:column;gap:7px}
  .tc-global-rail-v72013 nav a,.tc-global-rail-foot-v72013 a{
    --a:#718894;width:56px;min-height:52px;padding:7px 9px;display:flex;align-items:center;gap:11px;
    border:1px solid transparent;border-radius:14px;color:#dce7ec;text-decoration:none;overflow:hidden;white-space:nowrap;
    transition:width .22s ease,background .15s ease,border-color .15s ease,color .15s ease;
  }
  .tc-global-rail-v72013 nav a.start{--a:#e3aa20}
  .tc-global-rail-v72013 nav a.journeys{--a:#2f8dce}
  .tc-global-rail-v72013 nav a.movements{--a:#31a86e}
  .tc-global-rail-v72013 nav a.companies{--a:#875bb5}
  .tc-global-rail-v72013 nav a.vehicle{--a:#e17155}
  .tc-global-rail-v72013 nav a.reports{--a:#e89a22}
  .tc-global-rail-v72013 nav a.settings{--a:#78909c}
  .tc-global-rail-v72013 .ico{
    width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:11px;
    background:color-mix(in srgb,var(--a) 27%,#0a293b);border:1px solid color-mix(in srgb,var(--a) 40%,transparent);
    color:color-mix(in srgb,var(--a) 83%,#fff);
  }
  .tc-global-rail-v72013 .ico svg{
    width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;
  }
  .tc-global-rail-v72013 b{
    min-width:150px;opacity:0;transform:translateX(-5px);font-size:13px;font-weight:850;
    transition:opacity .14s ease .02s,transform .18s ease;
  }
  .tc-global-rail-v72013:hover nav a,.tc-global-rail-v72013:focus-within nav a,
  .tc-global-rail-v72013:hover .tc-global-rail-foot-v72013 a,.tc-global-rail-v72013:focus-within .tc-global-rail-foot-v72013 a{width:238px}
  .tc-global-rail-v72013:hover b,.tc-global-rail-v72013:focus-within b{opacity:1;transform:none}
  .tc-global-rail-v72013 nav a:hover,.tc-global-rail-foot-v72013 a:hover{
    background:rgba(255,255,255,.065);border-color:rgba(255,255,255,.07);color:#fff;
  }
  .tc-global-rail-v72013 nav a.active{
    background:linear-gradient(135deg,#f5bd32 0%,#dda016 100%);border-color:#f7cc62;color:#102634;
    box-shadow:0 10px 23px rgba(224,160,24,.21);
  }
  .tc-global-rail-v72013 nav a.active .ico{
    background:rgba(255,255,255,.24);border-color:rgba(255,255,255,.38);color:#102634;
  }
  .tc-global-rail-foot-v72013{margin-top:auto}
  .tc-global-rail-foot-v72013 a{--a:#58a0c5}

  /* Cabecera navy en el resto de la app. */
  body.tc-universal-rail-v72013 .topbar.app-topbar.universal-topbar-v68,
  body.tc-universal-rail-v72013 .topbar.app-topbar.universal-topbar-premium-v7116{
    background:linear-gradient(135deg,#0a2a3d 0%,#103b52 58%,#092638 100%)!important;
    box-shadow:0 10px 26px rgba(3,23,35,.20)!important;
  }
}

/* En móvil desaparece el rail lateral y todo conserva el dock inferior navy ya aprobado. */
@media (max-width:850px){
  body.tc-universal-rail-v72013{padding-left:0!important}
  .tc-global-rail-v72013{display:none!important}
}

/* =========================================================
   Taxi Control v7.20.14 — navegación definitiva de escritorio
   - Dashboard: sidebar navy fijo y desplegado
   - Resto de páginas: rail compacto que se abre al pasar el cursor
   - Logo oficial con presentación integrada (sin tarjeta blanca dura)
   - Cabecera en azul petróleo más claro para separar planos
   ========================================================= */
@media (min-width:851px){
  :root{
    --tc-rail-navy-v72014:#041d2a;
    --tc-rail-navy-2-v72014:#082c3d;
    --tc-header-blue-v72014:#15506b;
    --tc-header-blue-2-v72014:#1e6582;
    --tc-header-blue-3-v72014:#174b64;
    --tc-dashboard-side-v72014:244px;
  }

  /* Plano 1 · Dashboard: navegación fija, abierta y siempre legible. */
  body.tc-dashboard-premium-v7111 .tc-side-v7111{
    width:var(--tc-dashboard-side-v72014)!important;
    padding:15px 12px 16px!important;
    overflow:hidden!important;
    background:linear-gradient(180deg,var(--tc-rail-navy-v72014) 0%,var(--tc-rail-navy-2-v72014) 60%,#031722 100%)!important;
    box-shadow:10px 0 28px rgba(2,20,30,.16)!important;
  }
  body.tc-dashboard-premium-v7111 .tc-side-v7111:hover,
  body.tc-dashboard-premium-v7111 .tc-side-v7111:focus-within{
    width:var(--tc-dashboard-side-v72014)!important;
    box-shadow:10px 0 28px rgba(2,20,30,.16)!important;
  }
  body.tc-dashboard-premium-v7111 .tc-head-v7111,
  body.tc-dashboard-premium-v7111 .tc-main-v7111{
    margin-left:var(--tc-dashboard-side-v72014)!important;
  }

  /* Logo oficial del Dashboard: completo, sin recortes y con soporte suave. */
  body.tc-dashboard-premium-v7111 .tc-brand-official-v72013{
    width:214px!important;height:84px!important;min-height:84px!important;
    margin:0 auto 16px!important;padding:8px 10px!important;
    display:grid!important;place-items:center!important;
    border-radius:17px!important;
    background:linear-gradient(145deg,rgba(239,246,249,.96),rgba(220,234,240,.93))!important;
    border:1px solid rgba(255,255,255,.36)!important;
    box-shadow:0 9px 22px rgba(0,0,0,.16)!important;
    overflow:hidden!important;
  }
  body.tc-dashboard-premium-v7111 .tc-brand-official-v72013 .tc-brand-full-v72013{
    display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;
  }
  body.tc-dashboard-premium-v7111 .tc-brand-official-v72013 .tc-brand-compact-v72013{display:none!important}

  body.tc-dashboard-premium-v7111 .tc-side-v7111 nav a,
  body.tc-dashboard-premium-v7111 .tc-side-v7111:hover nav a,
  body.tc-dashboard-premium-v7111 .tc-side-v7111:focus-within nav a{
    width:220px!important;min-height:52px!important;padding:7px 9px!important;
  }
  body.tc-dashboard-premium-v7111 .tc-side-v7111 nav a>b,
  body.tc-dashboard-premium-v7111 .tc-side-v7111:hover nav a>b,
  body.tc-dashboard-premium-v7111 .tc-side-v7111:focus-within nav a>b{
    opacity:1!important;transform:none!important;
  }
  body.tc-dashboard-premium-v7111 .tc-side-bottom-v7111,
  body.tc-dashboard-premium-v7111 .tc-side-v7111:hover .tc-side-bottom-v7111,
  body.tc-dashboard-premium-v7111 .tc-side-v7111:focus-within .tc-side-bottom-v7111{
    width:220px!important;opacity:1!important;pointer-events:auto!important;transform:none!important;
  }

  /* Plano 2 · cabecera: azul más claro que el rail para separar navegación y trabajo. */
  body.tc-dashboard-premium-v7111 .tc-head-v7111{
    background:linear-gradient(135deg,var(--tc-header-blue-v72014) 0%,var(--tc-header-blue-2-v72014) 56%,var(--tc-header-blue-3-v72014) 100%)!important;
    border-bottom:1px solid rgba(255,255,255,.12)!important;
    box-shadow:0 9px 24px rgba(13,58,78,.20)!important;
  }
  body.tc-universal-rail-v72013 .topbar.app-topbar.universal-topbar-v68,
  body.tc-universal-rail-v72013 .topbar.app-topbar.universal-topbar-premium-v7116{
    background:linear-gradient(135deg,var(--tc-header-blue-v72014) 0%,var(--tc-header-blue-2-v72014) 56%,var(--tc-header-blue-3-v72014) 100%)!important;
    border-bottom-color:rgba(255,255,255,.12)!important;
    box-shadow:0 9px 24px rgba(13,58,78,.20)!important;
  }

  /* Resto de páginas: el rail sigue recogido y aparece al acercarse con el cursor. */
  .tc-global-rail-v72013{
    background:linear-gradient(180deg,var(--tc-rail-navy-v72014) 0%,var(--tc-rail-navy-2-v72014) 60%,#031722 100%)!important;
  }

  /* Emblema compacto sin el bloque blanco que dominaba visualmente. */
  .tc-global-brand-v72013{
    width:58px;height:64px;min-height:64px;margin:0 auto 15px;padding:2px;
    background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;
    overflow:visible!important;
  }
  .tc-global-brand-v72013 img.compact{
    display:block;width:56px;height:60px;object-fit:contain;filter:drop-shadow(0 5px 10px rgba(0,0,0,.22));
  }
  .tc-global-rail-v72013:hover .tc-global-brand-v72013,
  .tc-global-rail-v72013:focus-within .tc-global-brand-v72013{
    width:224px;height:78px;padding:8px 10px;border-radius:16px!important;
    background:linear-gradient(145deg,rgba(239,246,249,.96),rgba(220,234,240,.93))!important;
    border:1px solid rgba(255,255,255,.34)!important;
    box-shadow:0 8px 22px rgba(0,0,0,.15)!important;
    overflow:hidden!important;
  }
  .tc-global-rail-v72013:hover .tc-global-brand-v72013 img.full,
  .tc-global-rail-v72013:focus-within .tc-global-brand-v72013 img.full{
    display:block;width:100%;height:100%;object-fit:contain;
  }
}
