/* Rentadora T&B Enterprise · Bloque 1 visual final · 2026-09-06
   Objetivo: contraste real, tarjetas móviles compactas, header/dock premium,
   iconografía coherente y responsive sin alterar lógica de negocio. */
:root{
  --b1-pink:#D85A9F;
  --b1-pink-strong:#B63878;
  --b1-pink-soft:#FCE7F3;
  --b1-ink:#17171B;
  --b1-muted:#667085;
  --b1-line:#E7E7EC;
  --b1-paper:#FFFFFF;
  --b1-bg:#F7F7F9;
  --b1-radius:20px;
  --b1-radius-sm:14px;
  --b1-shadow:0 12px 34px rgba(17,24,39,.07);
  --pc-gold:#D85A9F;
  --pc-gold-soft:#F6A9CF;
  --pc-gold-deep:#8F2F63;
}
html[data-theme="light"]{
  --tyb-bg:#F7F7F9;
  --tyb-bg-soft:#F2F2F5;
  --tyb-surface:#FFFFFF;
  --tyb-surface-2:#FAFAFB;
  --tyb-surface-3:#F0F0F3;
  --tyb-text:#34343C;
  --tyb-text-strong:#17171B;
  --tyb-muted:#667085;
  --tyb-subtle:#8B92A1;
  --tyb-border:#E7E7EC;
  --tyb-border-strong:#D6D6DE;
  --tyb-hover:#F5F5F7;
  --tyb-input:#FFFFFF;
  --tyb-table-head:#F8F8FA;
  --pa-muted:#667085;
  --pa-line:rgba(23,23,27,.09);
  --pa-line-strong:rgba(216,90,159,.22);
}
html[data-theme="dark"]{
  --tyb-bg:#0B0B0E;
  --tyb-bg-soft:#101014;
  --tyb-surface:#141419;
  --tyb-surface-2:#19191F;
  --tyb-surface-3:#222229;
  --tyb-text:#E8E8EC;
  --tyb-text-strong:#FFFFFF;
  --tyb-muted:#A7A7B2;
  --tyb-subtle:#858593;
  --tyb-border:rgba(255,255,255,.105);
  --tyb-border-strong:rgba(255,255,255,.17);
  --tyb-hover:rgba(255,255,255,.055);
  --tyb-input:#17171C;
  --tyb-table-head:#15151A;
  --pa-muted:#A7A7B2;
  --pa-line:rgba(255,255,255,.095);
  --pa-line-strong:rgba(216,90,159,.25);
}

/* Elimina fugas de color del CSS legado luxury-system.css. */
body.tyb-visual-b1{background:var(--tyb-bg)!important;color:var(--tyb-text)!important}
.tyb-visual-b1 .tyb-admin-stage-v4{background:var(--tyb-bg)!important}
.tyb-visual-b1 .tyb-page-content-v4 .card,
.tyb-visual-b1 .tyb-page-content-v4 .lux-table-card,
.tyb-visual-b1 .tyb-page-content-v4 .tyb-panel-v3,
.tyb-visual-b1 .tyb-page-content-v4 .tyb-form-section-v4{
  background:var(--tyb-surface)!important;
  border-color:var(--tyb-border)!important;
  color:var(--tyb-text)!important;
  box-shadow:var(--b1-shadow)!important;
}
.tyb-visual-b1 .card-body,.tyb-visual-b1 .tyb-panel-body-v3{color:var(--tyb-text)!important}
.tyb-visual-b1 .card-title,.tyb-visual-b1 .card-title *{color:var(--tyb-text-strong)!important}
.tyb-visual-b1 .text-muted,.tyb-visual-b1 .small.text-muted{color:var(--tyb-muted)!important}
.tyb-visual-b1 .text-info{color:color-mix(in srgb,var(--b1-pink) 76%,#5B3151 24%)!important}
.tyb-visual-b1 .fw-bold,.tyb-visual-b1 strong{color:inherit}

/* Tablas: alto contraste, sin texto blanco heredado en tema claro. */
.tyb-visual-b1 table.table{color:var(--tyb-text)!important;--bs-table-color:var(--tyb-text)!important;--bs-table-bg:transparent!important}
.tyb-visual-b1 table.table tbody td{color:var(--tyb-text)!important}
.tyb-visual-b1 table.table tbody td > *:not(.badge):not(.btn):not(a):not(.dropdown-menu){color:inherit!important}
.tyb-visual-b1 table.table tbody td .fw-bold,
.tyb-visual-b1 table.table tbody td > strong,
.tyb-visual-b1 table.table tbody td .tyb-record-title-b1{color:var(--tyb-text-strong)!important}
.tyb-visual-b1 table.table tbody td .text-muted,
.tyb-visual-b1 table.table tbody td .small.text-muted{color:var(--tyb-muted)!important}
.tyb-visual-b1 table.table tbody td a:not(.btn){color:var(--b1-pink-strong)!important}
html[data-theme="dark"] .tyb-visual-b1 table.table tbody td a:not(.btn){color:#F29AC8!important}
.tyb-visual-b1 table.table thead th{color:var(--tyb-muted)!important;background:var(--tyb-table-head)!important;border-color:var(--tyb-border)!important}
.tyb-visual-b1 table.table tbody tr{border-color:var(--tyb-border)!important}

/* Controles y acciones */
.tyb-visual-b1 .btn-primary,
.tyb-visual-b1 .tyb-quick-action-v4,
.tyb-visual-b1 .tyb-server-pagination-v4 .page-item.active .page-link{
  border-color:transparent!important;
  background:linear-gradient(135deg,#E66CAE 0%,#C43F82 100%)!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(216,90,159,.19)!important;
}
.tyb-visual-b1 .btn-outline-primary{border-color:rgba(216,90,159,.34)!important;color:var(--b1-pink-strong)!important;background:transparent!important}
.tyb-visual-b1 .btn-outline-primary:hover{background:rgba(216,90,159,.08)!important;border-color:rgba(216,90,159,.5)!important;color:var(--b1-pink-strong)!important}
html[data-theme="dark"] .tyb-visual-b1 .btn-outline-primary{color:#F3A1CC!important}
.tyb-visual-b1 .form-control,.tyb-visual-b1 .form-select{
  color:var(--tyb-text-strong)!important;background:var(--tyb-input)!important;border-color:var(--tyb-border)!important;
}
.tyb-visual-b1 .form-control::placeholder{color:var(--tyb-subtle)!important;opacity:1!important}
.tyb-visual-b1 .form-control:focus,.tyb-visual-b1 .form-select:focus{border-color:rgba(216,90,159,.55)!important;box-shadow:0 0 0 4px rgba(216,90,159,.09)!important}
.tyb-visual-b1 .tyb-label-icon{color:var(--b1-pink)!important}

/* Encabezado móvil moderno: marca visible y acciones equilibradas. */
.tyb-visual-b1 .tyb-topbar-v4{border-bottom-color:var(--tyb-border)!important;background:color-mix(in srgb,var(--tyb-surface) 92%,transparent)!important;box-shadow:0 7px 24px rgba(17,24,39,.045)!important}
.tyb-visual-b1 .tyb-topbar-brand-mobile-v4 img{object-fit:contain!important;background:#fff!important;border:1px solid #ECE8EA!important}
.tyb-visual-b1 .tyb-topbar-brand-mobile-v4 strong{color:var(--tyb-text-strong)!important;font-weight:900!important;letter-spacing:-.025em}
.tyb-visual-b1 .tyb-topbar-brand-mobile-v4 small{color:var(--tyb-muted)!important;font-weight:800!important}
.tyb-visual-b1 .tyb-menu-trigger-v4,.tyb-visual-b1 .tyb-icon-btn-v4{
  background:var(--tyb-surface)!important;border-color:var(--tyb-border)!important;color:var(--tyb-text)!important;box-shadow:0 5px 14px rgba(17,24,39,.035)!important
}

/* Navegación móvil: limpia, con activo definido por marca. */
.tyb-visual-b1 .tyb-mobile-dock-v4{
  border-color:var(--tyb-border)!important;background:color-mix(in srgb,var(--tyb-surface) 96%,transparent)!important;
  box-shadow:0 -6px 30px rgba(17,24,39,.11)!important;backdrop-filter:blur(22px) saturate(1.18)!important
}
.tyb-visual-b1 .tyb-mobile-dock-v4 a,.tyb-visual-b1 .tyb-mobile-dock-menu-v4{color:var(--tyb-muted)!important;font-weight:800!important}
.tyb-visual-b1 .tyb-mobile-dock-v4 a.is-active{
  color:var(--b1-pink)!important;background:linear-gradient(180deg,rgba(216,90,159,.105),rgba(216,90,159,.055))!important;
  box-shadow:inset 0 0 0 1px rgba(216,90,159,.08)!important
}
.tyb-visual-b1 .tyb-mobile-dock-v4 a.is-active i{transform:translateY(-1px)}

/* Barra/listado de búsqueda de Rentas */
.tyb-rentals-shell-b1 .tyb-rentals-toolbar-b1{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.tyb-rentals-shell-b1 .tyb-rentals-title-b1{display:flex;align-items:center;gap:11px;min-width:0}
.tyb-rentals-shell-b1 .tyb-rentals-title-icon-b1{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border-radius:14px;background:rgba(216,90,159,.095);border:1px solid rgba(216,90,159,.18);color:var(--b1-pink)}
.tyb-rentals-shell-b1 .tyb-rentals-title-b1 h3{margin:0;color:var(--tyb-text-strong)!important;font-size:1.02rem!important;font-weight:900!important}
.tyb-rentals-shell-b1 .tyb-rentals-title-b1 p{margin:2px 0 0;color:var(--tyb-muted);font-size:.78rem;line-height:1.35}
.tyb-rentals-search-b1{position:relative;display:flex;align-items:center;gap:8px;margin-bottom:15px}
.tyb-rentals-search-b1>i{position:absolute;left:15px;z-index:2;color:var(--tyb-subtle)}
.tyb-rentals-search-b1 .form-control{padding-left:42px!important;min-height:48px!important}
.tyb-rentals-search-b1 .btn{min-height:48px!important;white-space:nowrap}

/* Rentas: desktop más claro */
.tyb-rentals-table-b1 .tyb-rental-client-name-b1{display:block;color:var(--tyb-text-strong)!important;font-size:.93rem;font-weight:900;line-height:1.25}
.tyb-rentals-table-b1 .tyb-rental-client-meta-b1{display:inline-flex;align-items:center;gap:5px;margin-top:4px;color:var(--b1-pink-strong)!important;font-size:.72rem;font-weight:750}
html[data-theme="dark"] .tyb-rentals-table-b1 .tyb-rental-client-meta-b1{color:#F1A0C9!important}
.tyb-rentals-table-b1 .tyb-rental-date-line-b1{display:flex;align-items:center;gap:7px;color:var(--tyb-text)!important;white-space:nowrap}
.tyb-rentals-table-b1 .tyb-rental-date-line-b1 + .tyb-rental-date-line-b1{margin-top:5px;color:var(--tyb-muted)!important}
.tyb-rentals-table-b1 .tyb-rental-date-line-b1 i{width:16px;text-align:center;color:var(--b1-pink)}
.tyb-rentals-table-b1 .tyb-rental-pay-meta-b1{display:grid;gap:3px;margin-top:7px;color:var(--tyb-muted)!important;font-size:.76rem}
.tyb-rentals-table-b1 .tyb-rental-total-b1{color:var(--tyb-text-strong)!important;font-size:1rem;font-weight:950;font-variant-numeric:tabular-nums}
.tyb-rental-mobile-head-b1{display:none}

/* Tarjetas móviles universales: más compactas y legibles. */
@media(max-width:767.98px){
  .tyb-visual-b1 .tyb-page-content-v4,.tyb-visual-b1 .tyb-page-head-v4{width:calc(100% - 18px)!important}
  .tyb-visual-b1 .card,.tyb-visual-b1 .lux-table-card,.tyb-visual-b1 .tyb-panel-v3{border-radius:20px!important}
  .tyb-visual-b1 .table-mobile-cards tbody{gap:12px!important}
  .tyb-visual-b1 .table-mobile-cards tbody tr{
    padding:12px 14px!important;border-radius:20px!important;background:var(--tyb-surface)!important;
    border:1px solid var(--tyb-border)!important;box-shadow:0 8px 24px rgba(17,24,39,.055)!important
  }
  .tyb-visual-b1 .table-mobile-cards tbody td{
    grid-template-columns:minmax(104px,35%) minmax(0,1fr)!important;gap:10px!important;padding:8px 2px!important;
    color:var(--tyb-text)!important;font-size:.86rem!important;line-height:1.42!important
  }
  .tyb-visual-b1 .table-mobile-cards tbody td::before{color:var(--tyb-muted)!important;font-size:.67rem!important;font-weight:900!important;letter-spacing:.045em!important}
  .tyb-visual-b1 .table-mobile-cards tbody td.tyb-card-title-cell-b1{padding-bottom:11px!important;margin-bottom:2px;border-bottom:1px solid var(--tyb-border)!important}
  .tyb-visual-b1 .table-mobile-cards tbody td.tyb-card-title-cell-b1::before{color:var(--b1-pink-strong)!important}
  .tyb-visual-b1 .table-mobile-cards tbody td.tyb-actions-c{padding-top:12px!important;margin-top:3px;border-top:1px solid var(--tyb-border)!important}

  /* Rentas móvil: deja de ser una ficha interminable y pasa a una tarjeta de app. */
  .tyb-rentals-shell-b1 .card-header{padding:14px!important}
  .tyb-rentals-shell-b1 .tyb-rentals-title-b1 p{display:none}
  .tyb-rentals-shell-b1 .tyb-rentals-toolbar-b1{width:100%}
  .tyb-rentals-shell-b1 .tyb-rentals-toolbar-actions-b1{display:flex;gap:8px;margin-left:auto}
  .tyb-rentals-shell-b1 .tyb-rentals-toolbar-actions-b1 .btn{width:auto!important;min-height:42px!important}
  .tyb-rentals-search-b1{display:grid;grid-template-columns:1fr auto;gap:8px}
  .tyb-rentals-search-b1>i{left:14px}
  .tyb-rentals-search-b1 .btn{width:auto!important;padding-inline:15px!important}

  .tyb-rentals-table-b1 tbody tr{
    display:grid!important;grid-template-columns:1fr 1fr!important;gap:0 12px!important;padding:15px!important;
    border-radius:22px!important;background:var(--tyb-surface)!important;box-shadow:0 9px 26px rgba(17,24,39,.06)!important
  }
  .tyb-rentals-table-b1 tbody td{width:auto!important;min-height:0!important;display:block!important;padding:10px 0!important;border:0!important}
  .tyb-rentals-table-b1 tbody td::before{display:block!important;margin-bottom:5px!important;color:var(--tyb-muted)!important;font-size:.64rem!important;line-height:1.2!important}
  .tyb-rentals-table-b1 .tyb-rental-id-cell-b1{display:none!important}
  .tyb-rentals-table-b1 .tyb-rental-client-cell-b1{grid-column:1/-1!important;padding:0 0 13px!important;margin-bottom:4px;border-bottom:1px solid var(--tyb-border)!important}
  .tyb-rentals-table-b1 .tyb-rental-client-cell-b1::before{display:none!important}
  .tyb-rental-mobile-head-b1{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
  .tyb-rental-ref-b1{display:inline-flex;align-items:center;gap:6px;color:var(--tyb-muted)!important;font-size:.69rem;font-weight:850;letter-spacing:.035em}
  .tyb-rental-ref-b1 i{color:var(--b1-pink)}
  .tyb-rentals-table-b1 .tyb-rental-client-name-b1{font-size:1.05rem!important;line-height:1.18}
  .tyb-rentals-table-b1 .tyb-rental-client-meta-b1{font-size:.74rem!important}
  .tyb-rentals-table-b1 .tyb-rental-phone-cell-b1,.tyb-rentals-table-b1 .tyb-rental-driver-cell-b1{grid-column:span 1!important}
  .tyb-rentals-table-b1 .tyb-rental-date-cell-b1{grid-column:1/-1!important;padding:11px 0!important;border-top:1px solid var(--tyb-border)!important;border-bottom:1px solid var(--tyb-border)!important}
  .tyb-rentals-table-b1 .tyb-rental-date-cell-b1::before{display:none!important}
  .tyb-rentals-table-b1 .tyb-rental-date-grid-b1{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .tyb-rentals-table-b1 .tyb-rental-date-line-b1{padding:9px 10px;border-radius:12px;background:var(--tyb-surface-2)!important;white-space:normal;align-items:flex-start}
  .tyb-rentals-table-b1 .tyb-rental-date-line-b1 + .tyb-rental-date-line-b1{margin-top:0!important}
  .tyb-rentals-table-b1 .tyb-rental-date-line-b1 span{display:grid;gap:2px}
  .tyb-rentals-table-b1 .tyb-rental-date-line-b1 small{color:var(--tyb-muted)!important;font-size:.63rem;font-weight:850;text-transform:uppercase;letter-spacing:.045em}
  .tyb-rentals-table-b1 .tyb-rental-date-line-b1 strong{color:var(--tyb-text-strong)!important;font-size:.78rem;font-weight:850}
  .tyb-rentals-table-b1 .tyb-rental-payment-cell-b1{grid-column:1/2!important}
  .tyb-rentals-table-b1 .tyb-rental-total-cell-b1{grid-column:2/3!important}
  .tyb-rentals-table-b1 .tyb-rental-total-cell-b1::before{display:block!important}
  .tyb-rentals-table-b1 .tyb-rental-total-b1{font-size:1.13rem!important}
  .tyb-rentals-table-b1 .tyb-rental-payment-cell-b1>.badge{display:none!important}
  .tyb-rentals-table-b1 .tyb-rental-pay-meta-b1{font-size:.74rem!important;gap:4px}
  .tyb-rentals-table-b1 .tyb-rental-actions-cell-b1{grid-column:1/-1!important;padding:12px 0 0!important;margin-top:3px;border-top:1px solid var(--tyb-border)!important}
  .tyb-rentals-table-b1 .tyb-rental-actions-cell-b1::before{display:none!important}
  .tyb-rentals-table-b1 .tyb-rental-actions-cell-b1 .btn{width:100%!important;min-height:44px!important;border-radius:14px!important}
}

@media(max-width:575.98px){
  .tyb-visual-b1 .tyb-topbar-v4{min-height:66px!important;height:66px!important;padding:7px 11px!important}
  .tyb-visual-b1 .tyb-topbar-left-v4{gap:8px!important;min-width:0;flex:1}
  .tyb-visual-b1 .tyb-topbar-actions-v4{gap:6px!important}
  .tyb-visual-b1 .tyb-menu-trigger-v4,.tyb-visual-b1 .tyb-icon-btn-v4,.tyb-visual-b1 .tyb-quick-action-v4{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;flex:0 0 42px!important;border-radius:13px!important}
  .tyb-visual-b1 .tyb-topbar-brand-mobile-v4{flex:1;min-width:0}
  .tyb-visual-b1 .tyb-topbar-brand-mobile-v4 img{width:38px!important;height:38px!important;border-radius:12px!important}
  .tyb-visual-b1 .tyb-topbar-brand-mobile-v4 strong{max-width:130px!important;font-size:.83rem!important}
  .tyb-visual-b1 .tyb-topbar-brand-mobile-v4 small{font-size:.61rem!important}
  .tyb-visual-b1 .tyb-quick-action-v4 span{display:none!important}
  .tyb-visual-b1 .tyb-page-head-v4{margin-top:10px!important;margin-bottom:9px!important;padding:14px!important;background:var(--tyb-surface)!important;box-shadow:0 6px 20px rgba(17,24,39,.045)!important}
  .tyb-visual-b1 .tyb-page-title-row-v4 h1{font-size:1.3rem!important}
  .tyb-visual-b1 .tyb-page-title-row-v4 p{display:none!important}
  .tyb-visual-b1 .tyb-page-icon-v4{width:40px!important;height:40px!important;flex-basis:40px!important;border-radius:13px!important}
  .tyb-visual-b1 .tyb-page-content-v4{padding-bottom:calc(94px + env(safe-area-inset-bottom))!important}
  .tyb-visual-b1 .tyb-mobile-dock-v4{left:12px!important;right:12px!important;bottom:calc(9px + env(safe-area-inset-bottom))!important;height:68px!important;border-radius:22px!important;padding:5px!important}
  .tyb-visual-b1 .tyb-mobile-dock-v4 a,.tyb-visual-b1 .tyb-mobile-dock-menu-v4{font-size:.64rem!important;gap:4px!important;border-radius:16px!important}
  .tyb-visual-b1 .tyb-mobile-dock-v4 i{font-size:1rem!important}
  .tyb-visual-b1 .card-header,.tyb-visual-b1 .card-body{padding-inline:14px!important}
  .tyb-rentals-shell-b1 .tyb-rentals-title-icon-b1{width:38px;height:38px;flex-basis:38px;border-radius:12px}
  .tyb-rentals-shell-b1 .tyb-rentals-title-b1 h3{font-size:.95rem!important}
}

@media(max-width:390px){
  /* No volver a una columna por campo: evita tarjetas kilométricas. */
  .tyb-visual-b1 .table-mobile-cards:not(.tyb-rentals-table-b1) tbody td{grid-template-columns:92px minmax(0,1fr)!important;gap:8px!important}
  .tyb-rentals-table-b1 tbody tr{grid-template-columns:1fr 1fr!important}
  .tyb-rentals-table-b1 .tyb-rental-date-grid-b1{grid-template-columns:1fr!important}
  .tyb-visual-b1 .tyb-topbar-brand-mobile-v4 strong{max-width:102px!important}
}

@media(prefers-contrast:more){
  .tyb-visual-b1{--tyb-muted:#4B5563;--tyb-border:#CFCFD6}
  html[data-theme="dark"] .tyb-visual-b1{--tyb-muted:#C7C7CF;--tyb-border:rgba(255,255,255,.24)}
}

/* Chofer y tracking: misma paleta de marca, contraste reforzado. */
body.tyb-driver-mobile-shell{--p3-muted:#B7B7C2!important;background:#0B0B0E!important}
body.tyb-driver-mobile-shell .p3-title,body.tyb-driver-mobile-shell .p3-client,body.tyb-driver-mobile-shell .p3-task-row strong{color:#FFFFFF!important}
body.tyb-driver-mobile-shell .p3-address,body.tyb-driver-mobile-shell .p3-task-row small,body.tyb-driver-mobile-shell .text-muted{color:#B7B7C2!important}
body.tyb-driver-mobile-shell .p3-card,body.tyb-driver-mobile-shell .p3-task-row,body.tyb-driver-mobile-shell .p3-check-row{border-color:rgba(255,255,255,.11)!important}
body.tyb-driver-mobile-shell .driver-mobile-nav,body.tyb-driver-mobile-shell .tyb-driver-mobile-nav{border-top-color:rgba(216,90,159,.20)!important;background:rgba(11,11,14,.95)!important}
body.tyb-driver-mobile-shell .driver-mobile-nav a.is-active,body.tyb-driver-mobile-shell .tyb-driver-mobile-nav a.is-active{color:#F29AC8!important}

.tyb-track-premium-a{--track-text:#202026!important;--track-muted:#666672!important;--track-line:#E9DFE5!important;--track-primary:#A73570!important;--track-primary-2:#D85A9F!important}
.tyb-track-premium-a .tyb-card:not(.tyb-card-primary){color:var(--track-text)!important}
.tyb-track-premium-a .tyb-status-copy,.tyb-track-premium-a .tyb-service-row,.tyb-track-premium-a .tyb-feedback-help-c{color:var(--track-muted)!important}
.tyb-track-premium-a .tyb-status-title,.tyb-track-premium-a .tyb-kpi strong,.tyb-track-premium-a .tyb-feedback-title{color:var(--track-text)!important}
.tyb-track-premium-a .tyb-card-primary .tyb-status-title{color:#FFFFFF!important}

/* Login/admin auth: evita textos heredados de bajo contraste. */
.tyb-admin-login-premium-a .tyb-login-card-v4 h2{color:#17171B!important}
.tyb-admin-login-premium-a .tyb-login-card-v4>p,.tyb-admin-login-premium-a .tyb-login-field-v4 label{color:#667085!important}
.tyb-admin-login-premium-a .tyb-login-field-v4 input{color:#17171B!important;font-size:1rem!important}
.tyb-admin-login-premium-a .tyb-login-field-v4 input::placeholder{color:#8B92A1!important}
