/*
 * GO1 TRANSFER SUITE — Driver Panel CSS (dcp-*)
 * Usado exclusivamente por [go1_driver_panel].
 * Fuente: extraído del snippet "Panel Conductor v1.1"
 *
 * @package Go1_Transfer_Suite
 */

/* ── Variables ───────────────────────────────────────────────────── */
:root {
    --dc-bg:    #010B28;
    --dc-s1:    #071436;
    --dc-s2:    #0d1f4a;
    --dc-s3:    #0a1840;
    --dc-teal:  #00C4BE;
    --dc-teal2: #009A95;
    --dc-tglow: rgba(0,196,190,.18);
    --dc-white: #ffffff;
    --dc-w70:   rgba(255,255,255,.7);
    --dc-w50:   rgba(255,255,255,.5);
    --dc-w30:   rgba(255,255,255,.3);
    --dc-w10:   rgba(255,255,255,.1);
    --dc-w06:   rgba(255,255,255,.06);
    --dc-green: #22d3a0;
    --dc-amber: #fbbf24;
    --dc-red:   #f1416c;
    --dc-border:1px solid rgba(255,255,255,.09);
    --dc-r:     16px;
    --dc-r-sm:  10px;
    --dc-r-xs:  6px;
    --dc-shadow:0 8px 40px rgba(0,0,0,.55);
    --dc-font:  'Poppins', -apple-system, sans-serif;
    --dc-fs:    16px;
    --dc-fs-sm: 14px;
    --dc-fs-xs: 12px;
}

.dcp-wrap, .dcp-wrap * { box-sizing: border-box; }
.dcp-wrap {
    font-family:    var(--dc-font);
    font-size:      var(--dc-fs);
    background:     var(--dc-bg);
    color:          var(--dc-white);
    padding-bottom: 100px;
    position:       relative;
}
.dcp-wrap::before {
    content: '';
    position: fixed; inset: 0; z-index: 0; pointer-events: none;
    background: radial-gradient(ellipse 70% 40% at 50% 0%, rgba(0,196,190,.07) 0%, transparent 60%);
}
.dcp-inner { position: relative; z-index: 1; max-width: 860px; margin: 0 auto; padding: 0 20px; }

/* ── TOPBAR ──────────────────────────────────────────────────────── */
/* ══ TOPBAR — PREMIUM REDESIGN ══════════════════════════════════
 * Liquid glass effect sobre el dark base del portal.
 * Sin corte visible: fade natural hacia el contenido debajo.
 * ═══════════════════════════════════════════════════════════════ */
.dcp-topbar {
    position:       relative;
    background:     rgba(1, 11, 40, 0.72);
    backdrop-filter:saturate(180%) blur(20px);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    border-bottom:  none;
    padding:        0;
    /* Fade a fondo del portal — elimina el "corte" */
    box-shadow:
        0 1px 0 rgba(0,196,190,.1),
        0 8px 32px rgba(0,0,0,.3),
        0 1px 0 rgba(255,255,255,.04) inset;
}
/* Línea teal accent + fade hacia abajo */
.dcp-topbar::after {
    content:    '';
    position:   absolute;
    bottom: -1px; left: 0; right: 0; height: 1px;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(0,196,190,.35) 30%,
        rgba(0,196,190,.35) 70%,
        transparent 100%
    );
    pointer-events: none;
}

.dcp-topbar-inner {
    max-width: 860px; margin: 0 auto; padding: 16px 24px;
    display: flex; align-items: center; gap: 14px;
}

/* ── Avatar ──────────────────────────────────────────────────── */
.dcp-av {
    width:         44px;
    height:        44px;
    border-radius: 14px;
    flex-shrink:   0;
    background:    linear-gradient(135deg, var(--dc-teal), var(--dc-teal2));
    display:       flex;
    align-items:   center;
    justify-content: center;
    font-size:     14px;
    font-weight:   800;
    color:         #010B28;
    letter-spacing:-.3px;
    box-shadow:    0 0 0 1px rgba(0,196,190,.3), 0 4px 16px rgba(0,196,190,.25);
    transition:    box-shadow .2s;
}
.dcp-av:hover { box-shadow: 0 0 0 2px rgba(0,196,190,.5), 0 6px 20px rgba(0,196,190,.35); }

/* ── Name / Sub ──────────────────────────────────────────────── */
.dcp-topbar-name {
    font-size:      17px;
    font-weight:    700;
    line-height:    1.2;
    letter-spacing: -.3px;
    color:          #ffffff;
}
.dcp-topbar-sub {
    font-size:      11px;
    color:          rgba(255,255,255,.38);
    margin-top:     3px;
    letter-spacing: .03em;
    text-transform: uppercase;
}

/* ── Right actions ───────────────────────────────────────────── */
.dcp-topbar-right {
    margin-left: auto;
    display:     flex;
    align-items: center;
    gap:         10px;
    flex-wrap:   wrap;
}

/* ── Logout button ───────────────────────────────────────────── */
.dcp-logout {
    font-size:      11px;
    font-weight:    600;
    letter-spacing: .06em;
    text-transform: uppercase;
    color:          rgba(255,255,255,.35);
    text-decoration:none;
    padding:        8px 16px;
    border:         1px solid rgba(255,255,255,.08);
    border-radius:  8px;
    background:     rgba(255,255,255,.03);
    transition:     color .2s, border-color .2s, background .2s;
}
.dcp-logout:hover {
    color:        rgba(255,255,255,.8);
    border-color: rgba(255,255,255,.15);
    background:   rgba(255,255,255,.07);
}

/* ── ALERTAS ─────────────────────────────────────────────────────── */
.dcp-alertas { display: flex; flex-direction: column; gap: 8px; margin: 20px 0 0; }
.dcp-alerta {
    padding: 12px 18px; border-radius: var(--dc-r-sm);
    font-size: 14px; font-weight: 600;
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
}
.dcp-alerta.warn   { background: rgba(251,191,36,.08); border: 1px solid rgba(251,191,36,.25); color: #fde68a; }
.dcp-alerta.danger { background: rgba(241,65,108,.08); border: 1px solid rgba(241,65,108,.25); color: #ff6b8a; }
.dcp-alerta a { font-size: 12px; opacity: .7; text-decoration: underline; white-space: nowrap; color: inherit; }

/* ── NAV ─────────────────────────────────────────────────────────── */
.dcp-nav { display: flex; gap: 8px; flex-wrap: wrap; padding: 24px 0 0; }
.dcp-nav-item {
    padding: 9px 22px; border-radius: 50px;
    border: 1px solid rgba(255,255,255,.1);
    font-size: 14px; font-weight: 500; color: var(--dc-w50);
    text-decoration: none !important; cursor: pointer; transition: .2s;
    font-family: var(--dc-font);
}
.dcp-nav-item:hover  { border-color: rgba(0,196,190,.35); color: var(--dc-teal); background: rgba(0,196,190,.05); }
.dcp-nav-item.active { background: linear-gradient(135deg, var(--dc-teal), var(--dc-teal2)); border-color: transparent; color: var(--dc-bg) !important; font-weight: 700; box-shadow: 0 4px 16px rgba(0,196,190,.3); }

/* ── STATS ───────────────────────────────────────────────────────── */
.dcp-stats-card {
    background: linear-gradient(135deg, rgba(0,196,190,.09), rgba(0,154,149,.04));
    border: 1px solid rgba(0,196,190,.18);
    border-radius: var(--dc-r); padding: 24px 28px;
    margin: 24px 0 20px; position: relative; overflow: hidden;
}
.dcp-stats-card::after {
    content: ''; position: absolute; right: -50px; top: -50px;
    width: 180px; height: 180px; border-radius: 50%;
    background: radial-gradient(circle, rgba(0,196,190,.12), transparent 70%);
    pointer-events: none;
}
.dcp-stats-greeting { font-size: 18px; font-weight: 700; margin: 0 0 4px; }
.dcp-stats-sub      { font-size: 13px; color: var(--dc-w50); margin: 0 0 20px; }
.dcp-stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
@media (max-width: 600px) { .dcp-stats-grid { grid-template-columns: repeat(2, 1fr); } }
.dcp-stat-box {
    background: rgba(1,11,40,.55); border: 1px solid rgba(255,255,255,.08);
    border-radius: var(--dc-r-sm); padding: 16px;
    text-align: center; position: relative; overflow: hidden;
}
.dcp-stat-box::before {
    content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
    background: linear-gradient(90deg, transparent, var(--glow-c, rgba(0,196,190,.5)), transparent);
}
.dcp-stat-box.ef  { --glow-c: rgba(251,191,36,.5); }
.dcp-stat-box.tc  { --glow-c: rgba(167,139,250,.5); }
.dcp-stat-box.str { --glow-c: rgba(34,211,160,.5); }
.dcp-stat-num { font-size: 32px; font-weight: 800; color: var(--dc-teal); line-height: 1; margin-bottom: 6px; }
.dcp-stat-box.ef  .dcp-stat-num { color: #fde68a; }
.dcp-stat-box.tc  .dcp-stat-num { color: #c4b5fd; }
.dcp-stat-box.str .dcp-stat-num { color: #6dffd8; }
.dcp-stat-lbl { font-size: 11px; color: var(--dc-w50); font-weight: 600; text-transform: uppercase; letter-spacing: .5px; }

/* ── FILTROS ─────────────────────────────────────────────────────── */
.dcp-filtros {
    display: flex; gap: 8px; flex-wrap: wrap; align-items: center;
    margin: 0 0 20px; padding-bottom: 20px;
    border-bottom: 1px solid rgba(255,255,255,.06);
}
.dcp-f-btn {
    padding: 7px 16px; border-radius: 50px;
    border: 1px solid rgba(255,255,255,.1);
    font-size: 13px; font-weight: 500; color: var(--dc-w50);
    background: transparent; cursor: pointer; transition: .2s;
    font-family: var(--dc-font);
}
.dcp-f-btn:hover  { border-color: rgba(0,196,190,.3); color: var(--dc-teal); }
.dcp-f-btn.active { background: rgba(0,196,190,.12); border-color: rgba(0,196,190,.4); color: var(--dc-teal); font-weight: 600; }
.dcp-f-sep  { width: 1px; height: 22px; background: rgba(255,255,255,.1); flex-shrink: 0; }
.dcp-f-rango { display: flex; gap: 8px; align-items: center; }
.dcp-f-rango span { color: var(--dc-w30); font-size: 13px; }

.dcp-f-date,
.dcp-wrap input[type="date"].dcp-f-date {
    background: rgba(255,255,255,.06) !important;
    background-color: rgba(255,255,255,.06) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: var(--dc-r-xs) !important;
    color: var(--dc-white) !important;
    -webkit-text-fill-color: var(--dc-white) !important;
    padding: 7px 12px !important;
    font-size: 13px !important;
    font-family: var(--dc-font) !important;
    outline: none !important;
    transition: .2s;
    min-width: 130px;
    cursor: pointer;
    -webkit-appearance: none !important;
}
.dcp-f-date:focus { border-color: rgba(0,196,190,.5) !important; box-shadow: 0 0 0 3px rgba(0,196,190,.1) !important; }
.dcp-f-date::-webkit-calendar-picker-indicator { filter: invert(1); opacity: .5; cursor: pointer; }
.dcp-f-date::-webkit-datetime-edit { color: var(--dc-white); }
.dcp-f-date::-webkit-datetime-edit-fields-wrapper { color: var(--dc-white); }
.dcp-f-date::-webkit-datetime-edit-text { color: var(--dc-w50); }

/* ── SECTION LABEL ───────────────────────────────────────────────── */
.dcp-sec-label {
    font-size: 11px; font-weight: 700; text-transform: uppercase;
    letter-spacing: .8px; color: var(--dc-teal);
    margin: 0 0 14px;
    display: flex; align-items: center; gap: 10px;
}
.dcp-sec-label::after { content: ''; flex: 1; height: 1px; background: linear-gradient(90deg, rgba(0,196,190,.25), transparent); }

/* ── CARDS LISTA ─────────────────────────────────────────────────── */
.dcp-card {
    background: var(--dc-s1); border: var(--dc-border);
    border-radius: var(--dc-r); padding: 20px 24px;
    margin-bottom: 12px; cursor: pointer;
    transition: border-color .2s, transform .15s, box-shadow .2s;
    position: relative; overflow: hidden;
    animation: dcFade .4s ease both;
}
.dcp-card::before {
    content: ''; position: absolute;
    left: 0; top: 0; bottom: 0; width: 3px;
    background: linear-gradient(180deg, var(--dc-teal), var(--dc-teal2));
    border-radius: var(--dc-r) 0 0 var(--dc-r);
    opacity: 0; transition: .2s;
}
.dcp-card:hover { border-color: rgba(0,196,190,.3); transform: translateX(4px); box-shadow: 0 4px 24px rgba(0,196,190,.08); }
.dcp-card:hover::before { opacity: 1; }
@keyframes dcFade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }

.dcp-card-top   { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; margin-bottom: 12px; }
.dcp-card-ref   { font-size: 12px; color: var(--dc-w50); margin-bottom: 6px; }
.dcp-card-ruta  { font-size: 16px; font-weight: 700; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.dcp-ruta-arrow { color: var(--dc-teal); }
.dcp-card-right { text-align: right; flex-shrink: 0; }
.dcp-card-precio { font-size: 17px; font-weight: 800; color: var(--dc-teal); margin-top: 6px; white-space: nowrap; }

.dcp-card-pills { display: flex; gap: 8px; flex-wrap: wrap; }
.dcp-pill {
    display: flex; align-items: center; gap: 5px;
    background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.07);
    border-radius: 50px; padding: 4px 12px; font-size: 13px;
}
.dcp-pill-lbl { color: var(--dc-w50); }
.dcp-pill-val { color: var(--dc-white); font-weight: 600; margin-left: 2px; }

/* ── BADGES ──────────────────────────────────────────────────────── */
.dcp-badge { display: inline-flex; align-items: center; gap: 5px; padding: 5px 13px; border-radius: 50px; font-size: 12px; font-weight: 700; white-space: nowrap; }
.dcp-b-pendiente  { background: rgba(251,191,36,.12);  border: 1px solid rgba(251,191,36,.3);  color: #fde68a; }
.dcp-b-confirmada { background: rgba(0,196,190,.12);   border: 1px solid rgba(0,196,190,.3);   color: var(--dc-teal); }
.dcp-b-asignada   { background: rgba(0,196,190,.12);   border: 1px solid rgba(0,196,190,.3);   color: var(--dc-teal); }
.dcp-b-completada { background: rgba(34,211,160,.12);  border: 1px solid rgba(34,211,160,.3);  color: #6dffd8; }
.dcp-b-cancelada  { background: rgba(241,65,108,.12);  border: 1px solid rgba(241,65,108,.3);  color: #ff6b8a; }
.dcp-b-en_espera  { background: rgba(167,139,250,.12); border: 1px solid rgba(167,139,250,.3); color: #c4b5fd; }

/* ── DETALLE ─────────────────────────────────────────────────────── */
.dcp-back {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: 14px; color: var(--dc-teal);
    background: rgba(0,196,190,.08); border: 1px solid rgba(0,196,190,.2);
    border-radius: var(--dc-r-sm); padding: 12px 22px;
    cursor: pointer; transition: .2s; margin: 20px 0 24px;
    font-family: var(--dc-font); font-weight: 500;
    text-decoration: none !important;
}
.dcp-back:hover { background: rgba(0,196,190,.14); }

.dcp-detail-hero {
    background: linear-gradient(135deg, rgba(0,196,190,.1), rgba(0,154,149,.04));
    border: 1px solid rgba(0,196,190,.2);
    border-radius: var(--dc-r) var(--dc-r) 0 0;
    padding: 24px 28px; position: relative; overflow: hidden;
}
.dcp-detail-hero::before {
    content: ''; position: absolute; right: -60px; top: -60px;
    width: 200px; height: 200px; border-radius: 50%;
    background: radial-gradient(circle, rgba(0,196,190,.14), transparent 70%);
    pointer-events: none;
}
.dcp-detail-body {
    background: rgba(7,20,54,.85); border: 1px solid rgba(255,255,255,.07);
    border-top: none; border-radius: 0 0 var(--dc-r) var(--dc-r);
    padding: 24px 28px; backdrop-filter: blur(14px);
}
.dcp-detail-ref    { font-size: 12px; color: var(--dc-w50); text-transform: uppercase; letter-spacing: .06em; margin-bottom: 10px; display: flex; align-items: center; gap: 10px; }
.dcp-detail-cities { display: flex; align-items: center; gap: 16px; margin-bottom: 14px; flex-wrap: wrap; }
.dcp-detail-city   { font-size: 20px; font-weight: 800; }
.dcp-detail-arrow  { color: var(--dc-teal); font-size: 22px; }
.dcp-detail-tags   { display: flex; gap: 8px; flex-wrap: wrap; }
.dcp-detail-tag    { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); border-radius: 50px; padding: 4px 12px; font-size: 13px; color: var(--dc-w70); }
.dcp-detail-tag.teal { color: var(--dc-teal); border-color: rgba(0,196,190,.3); background: rgba(0,196,190,.08); }

.dcp-d-sec { margin-bottom: 22px; }
.dcp-d-sec-title { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .7px; color: var(--dc-w30); margin: 0 0 12px; padding-bottom: 8px; border-bottom: 1px solid rgba(255,255,255,.06); }
.dcp-kv { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 8px 0; border-bottom: 1px solid rgba(255,255,255,.04); font-size: 14px; }
.dcp-kv:last-child { border-bottom: none; }
.dcp-k { color: var(--dc-w50); flex-shrink: 0; font-size: 13px; }
.dcp-v { font-weight: 600; text-align: right; }
.dcp-v.teal { color: var(--dc-teal); }
.dcp-v.big  { font-size: 17px; font-weight: 800; }
.dcp-v.mono { font-family: monospace; letter-spacing: .05em; font-size: 15px; }

.dcp-cliente-box { background: rgba(0,196,190,.06); border: 1px solid rgba(0,196,190,.15); border-radius: var(--dc-r-sm); padding: 16px 20px; display: flex; align-items: center; gap: 16px; }
.dcp-cliente-av  { width: 44px; height: 44px; border-radius: 50%; flex-shrink: 0; background: linear-gradient(135deg, rgba(0,196,190,.3), rgba(0,196,190,.1)); border: 1px solid rgba(0,196,190,.3); display: flex; align-items: center; justify-content: center; font-size: 16px; font-weight: 700; }
.dcp-cliente-nombre { font-size: 15px; font-weight: 700; margin-bottom: 4px; }
.dcp-cliente-tel    { font-size: 14px; color: var(--dc-w50); font-family: monospace; }

/* ── BOTONES ACCIÓN ──────────────────────────────────────────────── */
.dcp-acciones { display: flex; flex-direction: column; gap: 10px; margin-top: 8px; }
.dcp-btn {
    width: 100%; padding: 14px 18px;
    border-radius: var(--dc-r-sm);
    font-size: 15px; font-weight: 700;
    font-family: var(--dc-font); cursor: pointer;
    border: none; transition: opacity .2s, transform .15s, box-shadow .2s;
    display: flex; align-items: center; justify-content: center; gap: 10px;
    letter-spacing: -.1px;
}
.dcp-btn:hover    { transform: translateY(-2px); }
.dcp-btn:active   { transform: translateY(0); }
.dcp-btn:disabled { opacity: .4; cursor: not-allowed; transform: none !important; }

.dcp-btn-aceptar   { background: linear-gradient(135deg,#00C4BE,#009A95); color: #010B28; box-shadow: 0 4px 20px rgba(0,196,190,.35); }
.dcp-btn-aceptar:hover { box-shadow: 0 6px 28px rgba(0,196,190,.5); }
.dcp-btn-llegada   { background: rgba(0,196,190,.12); color: var(--dc-teal); border: 1px solid rgba(0,196,190,.3) !important; }
.dcp-btn-llegada:hover { background: rgba(0,196,190,.2) !important; }
.dcp-btn-completar { background: linear-gradient(135deg,#22d3a0,#15a878); color: #010B28; box-shadow: 0 4px 16px rgba(34,211,160,.3); }
.dcp-btn-completar:hover { box-shadow: 0 6px 22px rgba(34,211,160,.45); }
.dcp-btn-incidencia { background: rgba(251,191,36,.1); color: #fde68a; border: 1px solid rgba(251,191,36,.3) !important; }
.dcp-btn-incidencia:hover { background: rgba(251,191,36,.18) !important; }
.dcp-btn-cancelar  { background: rgba(255,255,255,.05); color: var(--dc-w50); border: 1px solid rgba(255,255,255,.1) !important; }
.dcp-btn-cancelar:hover { background: rgba(255,255,255,.09) !important; color: var(--dc-w70) !important; border-color: rgba(255,255,255,.2) !important; }

/* ── INLINE ALERTS ───────────────────────────────────────────────── */
.dcp-ia { padding: 14px 18px; border-radius: var(--dc-r-sm); font-size: 14px; font-weight: 600; display: flex; align-items: center; gap: 10px; }
.dcp-ia-ok    { background: rgba(34,211,160,.1);  border: 1px solid rgba(34,211,160,.3);  color: #6dffd8; }
.dcp-ia-warn  { background: rgba(251,191,36,.08); border: 1px solid rgba(251,191,36,.25); color: #fde68a; }
.dcp-ia-info  { background: rgba(0,196,190,.08);  border: 1px solid rgba(0,196,190,.25);  color: var(--dc-teal); }
.dcp-ia-error { background: rgba(241,65,108,.1);  border: 1px solid rgba(241,65,108,.3);  color: #ff6b8a; }

.dcp-divider { height: 1px; background: rgba(255,255,255,.06); margin: 18px 0; }

/* ── MODALES ─────────────────────────────────────────────────────── */
.dcp-overlay { display: none; position: fixed; inset: 0; background: rgba(1,11,40,.88); backdrop-filter: blur(8px); z-index: 99999; align-items: center; justify-content: center; padding: 16px; }
.dcp-overlay.open { display: flex; }
.dcp-modal {
    background: rgba(7,20,54,.97); border: 1px solid rgba(0,196,190,.22);
    border-radius: 20px; padding: 30px;
    max-width: 460px; width: 100%;
    box-shadow: 0 24px 80px rgba(0,0,0,.7), 0 0 40px rgba(0,196,190,.08);
    animation: dcModalIn .25s ease; position: relative;
}
.dcp-modal::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, transparent, var(--dc-teal), transparent); border-radius: 20px 20px 0 0; }
@keyframes dcModalIn { from { opacity: 0; transform: scale(.95) translateY(10px); } to { opacity: 1; transform: none; } }
.dcp-modal-title { font-size: 17px; font-weight: 700; margin: 0 0 4px; }
.dcp-modal-sub   { font-size: 13px; color: var(--dc-w50); margin: 0 0 22px; }
.dcp-modal-label { font-size: 11px; font-weight: 600; color: var(--dc-w50); text-transform: uppercase; letter-spacing: .5px; display: block; margin: 16px 0 7px; }
.dcp-modal input, .dcp-modal select, .dcp-modal textarea {
    width: 100%; padding: 12px 15px;
    background: rgba(255,255,255,.06) !important;
    background-color: rgba(255,255,255,.06) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: var(--dc-r-sm); color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: 14px; font-family: var(--dc-font);
    outline: none; transition: .2s;
    -webkit-appearance: none;
}
.dcp-modal input:focus, .dcp-modal select:focus, .dcp-modal textarea:focus { border-color: rgba(0,196,190,.5) !important; box-shadow: 0 0 0 3px rgba(0,196,190,.1) !important; }
.dcp-modal select option { background: #071436; color: #fff; }
.dcp-modal-btns { display: flex; gap: 10px; margin-top: 24px; }
.dcp-modal-btns button { flex: 1; padding: 14px; border-radius: var(--dc-r-sm); font-size: 14px; font-weight: 700; font-family: var(--dc-font); cursor: pointer; border: none; transition: .2s; }

/* Stars */
.dcp-stars { display: flex; gap: 8px; margin: 10px 0; }
.dcp-star { font-size: 32px; cursor: pointer; filter: grayscale(1) opacity(.3); transition: filter .15s, transform .12s; }
.dcp-star:hover, .dcp-star.active { filter: none; transform: scale(1.12); }

/* Toggle reseña */
.dcp-resena-toggle { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; border-radius: var(--dc-r-sm); background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); margin-top: 16px; cursor: pointer; transition: .2s; gap: 12px; }
.dcp-resena-toggle:hover { border-color: rgba(0,196,190,.2); }
.dcp-resena-info-title { font-size: 14px; font-weight: 600; margin-bottom: 3px; }
.dcp-resena-info-sub   { font-size: 12px; color: var(--dc-w50); }
.dcp-resena-sw { width: 46px; height: 26px; border-radius: 50px; background: rgba(255,255,255,.1); position: relative; transition: .3s; flex-shrink: 0; }
.dcp-resena-sw::after { content: ''; position: absolute; width: 20px; height: 20px; border-radius: 50%; top: 3px; left: 3px; background: rgba(255,255,255,.4); transition: .3s; }
.dcp-resena-toggle.on .dcp-resena-sw { background: linear-gradient(135deg,#22d3a0,#15a878); box-shadow: 0 0 12px rgba(34,211,160,.3); }
.dcp-resena-toggle.on .dcp-resena-sw::after { transform: translateX(20px); background: #fff; }

/* ── MI CUENTA ───────────────────────────────────────────────────── */
.dcp-cuenta-block { background: var(--dc-s1); border: var(--dc-border); border-radius: var(--dc-r); padding: 24px 28px; margin-bottom: 14px; }
.dcp-cuenta-block-title { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .6px; color: var(--dc-teal); margin: 0 0 18px; padding-bottom: 12px; border-bottom: 1px solid rgba(0,196,190,.15); display: flex; align-items: center; gap: 8px; }
.dcp-cuenta-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 520px) { .dcp-cuenta-grid { grid-template-columns: 1fr; } }
.dcp-cf      { display: flex; flex-direction: column; gap: 7px; }
.dcp-cf.full { grid-column: 1 / -1; }
.dcp-cf-label { font-size: 11.5px; font-weight: 600; color: var(--dc-w50); text-transform: uppercase; letter-spacing: .5px; }
.dcp-cf-input {
    padding: 12px 15px;
    background: rgba(255,255,255,.05) !important;
    background-color: rgba(255,255,255,.05) !important;
    border: 1px solid rgba(255,255,255,.1) !important;
    border-radius: var(--dc-r-sm); color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: 14px; font-family: var(--dc-font);
    outline: none; transition: .2s;
    -webkit-appearance: none;
}
.dcp-cf-input::placeholder { color: rgba(255,255,255,.25) !important; }
.dcp-cf-input:focus { border-color: rgba(0,196,190,.55) !important; box-shadow: 0 0 0 3px rgba(0,196,190,.1) !important; }
.dcp-cf-input:-webkit-autofill { -webkit-box-shadow: 0 0 0 1000px #071436 inset !important; -webkit-text-fill-color: #fff !important; }
.dcp-cf-input[type=date]::-webkit-calendar-picker-indicator { filter: invert(1); opacity: .5; }
.dcp-cf-input:disabled { opacity: .45; cursor: not-allowed; }
.dcp-vto-warn { font-size: 12px; color: #ff6b8a; display: flex; align-items: center; gap: 5px; margin-top: 4px; }

.dcp-savebar { display: flex; align-items: center; justify-content: space-between; background: linear-gradient(135deg, rgba(0,196,190,.09), rgba(0,154,149,.04)); border: 1px solid rgba(0,196,190,.2); border-radius: var(--dc-r); padding: 18px 28px; margin-top: 8px; flex-wrap: wrap; gap: 12px; }
.dcp-savebar p { font-size: 13px; color: var(--dc-w50); margin: 0; }
.dcp-save-btn { padding: 12px 30px; background: linear-gradient(135deg,#00C4BE,#009A95); color: #010B28; border: none; border-radius: var(--dc-r-sm); font-size: 14px; font-weight: 700; font-family: var(--dc-font); cursor: pointer; box-shadow: 0 4px 16px rgba(0,196,190,.3); transition: .2s; }
.dcp-save-btn:hover { transform: translateY(-1px); box-shadow: 0 6px 22px rgba(0,196,190,.45); }

/* ── EMPTY / LOADING ─────────────────────────────────────────────── */
.dcp-empty      { text-align: center; padding: 52px 20px; color: var(--dc-w30); }
.dcp-empty-icon { font-size: 44px; margin-bottom: 14px; opacity: .45; }
.dcp-empty-text { font-size: 15px; }
.dcp-loading    { text-align: center; padding: 48px 20px; display: flex; flex-direction: column; align-items: center; gap: 16px; color: var(--dc-w50); font-size: 14px; }
.dcp-spinner    { width: 22px; height: 22px; border: 2.5px solid rgba(0,196,190,.25); border-top-color: var(--dc-teal); border-radius: 50%; animation: dcSpin .7s linear infinite; display: inline-block; }
@keyframes dcSpin { to { transform: rotate(360deg); } }

/* ── WHATSAPP FAB ────────────────────────────────────────────────── */
.dcp-wa { position: fixed; bottom: 28px; right: 28px; z-index: 9999; width: 56px; height: 56px; border-radius: 50%; background: linear-gradient(135deg,#25D366,#128C7E); display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 24px rgba(37,211,102,.4); text-decoration: none !important; transition: .2s; }
.dcp-wa:hover { transform: translateY(-3px) scale(1.06); box-shadow: 0 8px 32px rgba(37,211,102,.55); }
.dcp-wa svg { width: 30px; height: 30px; fill: #fff; }
.dcp-wa-tip { position: absolute; right: 64px; bottom: 50%; transform: translateY(50%); background: rgba(7,20,54,.96); border: 1px solid rgba(255,255,255,.1); color: #fff; font-size: 12px; font-weight: 600; padding: 7px 13px; border-radius: 8px; white-space: nowrap; opacity: 0; pointer-events: none; transition: .2s; font-family: var(--dc-font); }
.dcp-wa:hover .dcp-wa-tip { opacity: 1; }

/* ── RESPONSIVE ──────────────────────────────────────────────────── */
@media (max-width: 600px) {
    .dcp-detail-city  { font-size: 16px; }
    .dcp-detail-body  { padding: 18px 16px; }
    .dcp-detail-hero  { padding: 18px 16px; }
    .dcp-card         { padding: 16px; }
    .dcp-cuenta-block { padding: 18px 16px; }
    .dcp-stats-card   { padding: 18px 16px; }
}

/* ══════════════════════════════════════════════════════════════════
 * ELEMENTOR OVERRIDE — Forzar paleta de color del portal
 * Elementor y Hello theme resetean color a #333333 en todos los div.
 * Estrategia: color #fff en el contenedor raíz + color:inherit en hijos
 * + reafirmar colores secundarios con !important.
 * ══════════════════════════════════════════════════════════════════ */

/* ── Contenedores raíz ─────────────────────────────────────────── */
.dcp-topbar  { color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; }
.dcp-wrap    { color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; }
.dcp-overlay { color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; }

/* ── Herencia forzada en todos los hijos ───────────────────────── */
.dcp-topbar  * { color: inherit !important; -webkit-text-fill-color: inherit !important; }
.dcp-wrap    * { color: inherit !important; -webkit-text-fill-color: inherit !important; }
.dcp-overlay * { color: inherit !important; -webkit-text-fill-color: inherit !important; }

/* ── Re-afirmar colores semitransparentes específicos ──────────── */
.dcp-topbar-sub,
.dcp-logout,
.dcp-modal-sub,
.dcp-modal-label,
.dcp-k,
.dcp-d-sec-title,
.dcp-detail-ref,
.dcp-card-ref,
.dcp-pill-lbl,
.dcp-stat-lbl,
.dcp-stats-sub,
.dcp-empty,
.dcp-empty-text,
.dcp-loading,
.dcp-cf-label,
.dcp-savebar p,
.dcp-f-btn,
.dcp-f-rango span,
.dcp-vto-warn,
.dcp-nav-item,
.dcp-cliente-tel { color: rgba(255,255,255,.5) !important; -webkit-text-fill-color: rgba(255,255,255,.5) !important; }

/* ── Elementos en teal ─────────────────────────────────────────── */
.dcp-disp-status.on,
.dcp-detail-tag.teal,
.dcp-sec-label,
.dcp-cuenta-block-title,
.dcp-v.teal,
.dcp-card-precio,
.dcp-stat-num,
.dcp-nav-item:hover { color: #00C4BE !important; -webkit-text-fill-color: #00C4BE !important; }

/* ── Blanco puro explícito ─────────────────────────────────────── */
.dcp-modal-title,
.dcp-topbar-name,
.dcp-stats-greeting,
.dcp-card-ruta,
.dcp-detail-city,
.dcp-cliente-nombre,
.dcp-v,
.dcp-pill-val,
.dcp-ia { color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; }

/* ── Nav activo ────────────────────────────────────────────────── */
.dcp-nav-item.active,
.dcp-nav-item.active:hover { color: #010B28 !important; -webkit-text-fill-color: #010B28 !important; }

/* ── Inputs dentro de modales y cuenta ─────────────────────────── */
.dcp-modal input,
.dcp-modal select,
.dcp-modal textarea,
.dcp-cf-input { color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; }

/* ── Star rating ───────────────────────────────────────────────── */
.dcp-star { color: inherit !important; -webkit-text-fill-color: initial !important; }

/* ── Font override: asegurar Poppins frente a -apple-system ────── */
.dcp-topbar *,
.dcp-wrap *,
.dcp-overlay * { font-family: var(--dc-font) !important; }

/* ══ ESTADO EN REVISIÓN ══════════════════════════════════════════ */
.dcp-estado-revision {
    background: linear-gradient(135deg, rgba(251,191,36,.08), rgba(180,83,9,.04));
    border: 1px solid rgba(251,191,36,.3);
    border-radius: var(--dc-r);
    padding: 20px 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.dcp-revision-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(251,191,36,.15);
    border: 1px solid rgba(251,191,36,.4);
    border-radius: 50px;
    padding: 6px 16px;
    font-size: 12px;
    font-weight: 700;
    color: #fde68a !important;
    -webkit-text-fill-color: #fde68a !important;
    letter-spacing: .3px;
    width: fit-content;
}
.dcp-revision-title {
    font-size: 16px;
    font-weight: 700;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    margin: 0;
}
.dcp-revision-sub {
    font-size: 13px;
    color: rgba(255,255,255,.6) !important;
    -webkit-text-fill-color: rgba(255,255,255,.6) !important;
    line-height: 1.6;
    margin: 0;
}
.dcp-revision-steps {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 4px;
}
.dcp-revision-step {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    color: rgba(255,255,255,.7) !important;
    -webkit-text-fill-color: rgba(255,255,255,.7) !important;
}
.dcp-revision-step-dot {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
    flex-shrink: 0;
}
.dcp-revision-step-dot.done  { background: rgba(34,211,160,.2);  border: 1px solid rgba(34,211,160,.4);  color: #22d3a0 !important; }
.dcp-revision-step-dot.wait  { background: rgba(251,191,36,.15); border: 1px solid rgba(251,191,36,.35); color: #fbbf24 !important; }
.dcp-revision-step-dot.next  { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.35) !important; }


/* ═══════════════════════════════════════════════════════════════════════════
 * GO1 TRANSFER SUITE — Driver Portal v2.3.4
 * DASHBOARD REDESIGN — Sistema visual alineado con el Panel Cliente
 * ─────────────────────────────────────────────────────────────────────────
 * Clases g1-* heredadas del Customer Panel para consistencia visual.
 * Las clases dcp-* legacy se mantienen para el sc_servicio (swipe/steps).
 * ═══════════════════════════════════════════════════════════════════════════ */

/* ── Override de ancho: 860px → 1140px ────────────────────────────────────── */
.dcp-inner       { max-width: 1140px !important; }
.dcp-topbar-inner{ max-width: 1140px !important; }

/* ── Wrapper principal (reemplaza dcp-wrap/dcp-inner) ─────────────────────── */
.g1p {
    width: 100%;
    max-width: 1140px;
    margin: 0 auto;
    padding: 2rem 2.5rem 4rem;
    box-sizing: border-box;
    font-family: 'Poppins', -apple-system, sans-serif;
    color: #fff;
    position: relative;
    z-index: 1;
}
@media (max-width: 1024px) { .g1p { padding: 1.5rem 1.5rem 3rem; } }
@media (max-width: 600px)  { .g1p { padding: 1rem 1rem 3rem; } }

/* ── Header ────────────────────────────────────────────────────────────────── */
.g1-header {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 1.5rem 2rem;
    background: #071428;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 14px;
    margin-bottom: 1.5rem;
    position: relative;
    overflow: hidden;
    flex-wrap: wrap;
}
.g1-header::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, #00C4BE, transparent);
}
.g1-av {
    width: 52px; height: 52px;
    border-radius: 50%;
    background: linear-gradient(135deg, #009A95, #00C4BE);
    display: flex; align-items: center; justify-content: center;
    font-size: 18px; font-weight: 700;
    color: #010B28;
    flex-shrink: 0;
    box-shadow: 0 0 20px rgba(0,196,190,.2);
}
.g1-header-info  { flex: 1; min-width: 0; }
.g1-header-name  { font-size: 1.2rem; font-weight: 700; color: #fff; line-height: 1.2; }
.g1-header-sub   { font-size: .75rem; color: rgba(255,255,255,.45); margin-top: 2px; letter-spacing: .02em; }
.g1-header-actions { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }

/* Disponibilidad toggle en header */
.g1-disp-toggle { display: flex; align-items: center; gap: 10px; cursor: pointer; }
.g1-disp-toggle input[type="checkbox"] {
    width: 40px; height: 22px;
    appearance: none; -webkit-appearance: none;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 20px;
    position: relative; cursor: pointer;
    transition: background .2s, border-color .2s;
    flex-shrink: 0;
}
.g1-disp-toggle input[type="checkbox"]::after {
    content: '';
    position: absolute;
    top: 2px; left: 2px;
    width: 16px; height: 16px;
    border-radius: 50%;
    background: rgba(255,255,255,.5);
    transition: transform .2s, background .2s;
}
.g1-disp-toggle input[type="checkbox"]:checked {
    background: rgba(0,196,190,.25);
    border-color: rgba(0,196,190,.5);
}
.g1-disp-toggle input[type="checkbox"]:checked::after {
    transform: translateX(18px);
    background: #00C4BE;
}
.g1-disp-txt {
    font-size: .8rem; font-weight: 600;
    padding: 5px 14px; border-radius: 50px;
    border: 1px solid rgba(255,255,255,.15);
    transition: all .2s;
    white-space: nowrap;
}
.g1-disp-txt.on  { color: #00C4BE;  border-color: rgba(0,196,190,.35); background: rgba(0,196,190,.08); }
.g1-disp-txt.off { color: rgba(255,255,255,.4); background: transparent; }

/* ── Nav tabs ──────────────────────────────────────────────────────────────── */
.g1-nav { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 2rem; }
.g1-nav-item {
    padding: 8px 20px;
    border-radius: 50px;
    border: 1px solid rgba(255,255,255,.1);
    background: transparent;
    font-size: .82rem; font-weight: 500;
    color: rgba(255,255,255,.45);
    text-decoration: none !important;
    cursor: pointer;
    transition: all .18s ease;
    font-family: 'Poppins', -apple-system, sans-serif;
    white-space: nowrap;
}
.g1-nav-item:hover           { border-color: #00C4BE; color: #00C4BE !important; background: rgba(0,196,190,.06); }
.g1-nav-item.active          { background: #009A95; border-color: #009A95; color: #010B28 !important; font-weight: 700; box-shadow: 0 4px 16px rgba(0,154,149,.35); }
.g1-nav-logout               { color: rgba(196,74,74,.8) !important; border-color: rgba(196,74,74,.2) !important; }
.g1-nav-logout:hover         { background: rgba(196,74,74,.08) !important; border-color: rgba(196,74,74,.5) !important; color: #e05c5c !important; }

/* ── Section title ─────────────────────────────────────────────────────────── */
.g1-section-title {
    font-size: .7rem; font-weight: 700; letter-spacing: .1em;
    text-transform: uppercase; color: #00C4BE;
    margin-bottom: 1rem; margin-top: .5rem;
    display: flex; align-items: center; gap: 10px;
}
.g1-section-title::after {
    content: ''; flex: 1; height: 1px;
    background: linear-gradient(90deg, rgba(0,196,190,.3), transparent);
}

/* ── Stats strip ───────────────────────────────────────────────────────────── */
.g1-stats-strip {
    display: flex; gap: 10px; flex-wrap: wrap;
    margin-bottom: 1.5rem;
}
.g1-stat-pill {
    display: flex; flex-direction: column; align-items: center;
    background: #071428;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 12px;
    padding: 14px 24px;
    min-width: 90px;
    flex: 1;
    transition: border-color .2s;
}
.g1-stat-pill:hover { border-color: rgba(0,196,190,.3); }
.g1-stat-num  { font-size: 1.6rem; font-weight: 800; color: #fff; line-height: 1; }
.g1-stat-lbl  { font-size: .7rem; color: rgba(255,255,255,.45); margin-top: 4px; letter-spacing: .04em; text-transform: uppercase; }
.g1-stat-ef   .g1-stat-num { color: #22d3a0; }
.g1-stat-tc   .g1-stat-num { color: #00C4BE; }
.g1-stat-web  .g1-stat-num { color: #7c86ff; }

/* ── Alertas ───────────────────────────────────────────────────────────────── */
.g1-alertas { display: flex; flex-direction: column; gap: 8px; margin-bottom: 1.5rem; }
.g1-alerta {
    display: flex; align-items: center; justify-content: space-between;
    gap: 12px; padding: 12px 16px;
    border-radius: 10px; font-size: .84rem;
}
.g1-alerta-warn   { background: rgba(251,191,36,.08); border: 1px solid rgba(251,191,36,.25); color: #fde68a; }
.g1-alerta-danger { background: rgba(241,65,108,.08); border: 1px solid rgba(241,65,108,.3);  color: #fca5a5; }
.g1-alerta a { color: inherit; font-weight: 700; text-decoration: underline; opacity: .8; }

/* ── Filter row ────────────────────────────────────────────────────────────── */
.g1-filter-row {
    display: flex; gap: 6px; flex-wrap: wrap; align-items: center;
    margin-bottom: 1.5rem;
}
.g1-filter-btn {
    padding: 7px 16px; border-radius: 50px;
    background: transparent;
    border: 1px solid rgba(255,255,255,.1);
    color: rgba(255,255,255,.5);
    font-size: .79rem; font-weight: 500;
    cursor: pointer; transition: all .18s;
    font-family: 'Poppins', -apple-system, sans-serif;
    white-space: nowrap;
}
.g1-filter-btn:hover   { border-color: rgba(0,196,190,.4); color: #00C4BE; background: rgba(0,196,190,.06); }
.g1-filter-btn.active  { background: rgba(0,196,190,.12); border-color: rgba(0,196,190,.4); color: #00C4BE; font-weight: 700; }
.g1-filter-sep  { width: 1px; height: 24px; background: rgba(255,255,255,.1); flex-shrink: 0; }
.g1-filter-range { display: flex; align-items: center; gap: 6px; }
.g1-date-input {
    padding: 6px 10px; background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.15); border-radius: 8px;
    color: #fff; font-size: .78rem; font-family: 'Poppins', -apple-system, sans-serif;
    outline: none; -webkit-appearance: none;
    color-scheme: dark;
}
.g1-date-input:focus { border-color: rgba(0,196,190,.5); }

/* ── Cards (lista de reservas) ─────────────────────────────────────────────── */
.g1-card {
    background: #071428;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 14px;
    padding: 1.4rem 1.6rem;
    margin-bottom: 10px;
    transition: border-color .2s, box-shadow .2s;
    animation: g1DashFadeUp .4s ease both;
    position: relative; overflow: hidden;
}
.g1-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 3px; height: 100%;
    background: linear-gradient(180deg, #009A95, #00C4BE);
    border-radius: 14px 0 0 14px;
    opacity: 0; transition: opacity .2s;
}
.g1-card:hover { border-color: rgba(0,196,190,.3); box-shadow: 0 0 20px rgba(0,196,190,.1); }
.g1-card:hover::before { opacity: 1; }
@keyframes g1DashFadeUp {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: translateY(0); }
}

.g1-card-head   { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: .9rem; flex-wrap: wrap; }
.g1-card-ref    { font-size: .72rem; color: rgba(255,255,255,.4); margin-bottom: 5px; letter-spacing: .02em; }
.g1-card-route  { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.g1-city        { font-size: 1rem; font-weight: 700; color: #fff; }
.g1-route-arrow { color: #00C4BE; font-weight: 300; font-size: 1.1rem; }
.g1-price       { color: #00C4BE !important; font-weight: 700; }
.g1-card-pills  { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: .9rem; }
.g1-pill {
    display: inline-flex; align-items: center; gap: 5px;
    background: #0C1F3D;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 50px;
    padding: 4px 12px;
    font-size: .78rem;
}
.g1-pill-label { color: rgba(255,255,255,.4); }
.g1-pill-val   { color: #fff; font-weight: 600; }
.g1-card-actions { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }

/* ── Badges ────────────────────────────────────────────────────────────────── */
.g1-badge {
    display: inline-flex; align-items: center;
    padding: 4px 12px; border-radius: 50px;
    font-size: .72rem; font-weight: 600;
    letter-spacing: .02em; white-space: nowrap;
}
.g1-badge-pendiente  { background: rgba(251,191,36,.1);  color: #fde68a; border: 1px solid rgba(251,191,36,.2);  }
.g1-badge-asignada   { background: rgba(0,196,190,.1);   color: #00C4BE; border: 1px solid rgba(0,196,190,.2);   }
.g1-badge-confirmada { background: rgba(34,211,160,.1);  color: #6dffd8; border: 1px solid rgba(34,211,160,.2);  }
.g1-badge-completada { background: rgba(34,211,160,.12); color: #6dffd8; border: 1px solid rgba(34,211,160,.25); }
.g1-badge-cancelada  { background: rgba(241,65,108,.1);  color: #fca5a5; border: 1px solid rgba(241,65,108,.2);  }
.g1-badge-revision   { background: rgba(124,134,255,.1); color: #c7c8ff; border: 1px solid rgba(124,134,255,.2); }

/* ── Botones ───────────────────────────────────────────────────────────────── */
.g1-btn {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 8px 18px; border-radius: 9px;
    font-size: .82rem; font-weight: 600;
    cursor: pointer; transition: all .18s ease;
    text-decoration: none !important; border: none;
    font-family: 'Poppins', -apple-system, sans-serif;
    white-space: nowrap;
}
.g1-btn-solid.g1-btn-teal {
    background: linear-gradient(135deg, #009A95, #00C4BE);
    color: #010B28 !important;
    box-shadow: 0 4px 14px rgba(0,196,190,.3);
}
.g1-btn-solid.g1-btn-teal:hover { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(0,196,190,.45) !important; }
.g1-btn-ghost {
    background: transparent; color: rgba(255,255,255,.45) !important;
    border: 1px solid rgba(255,255,255,.1) !important;
    font-weight: 500;
}
.g1-btn-ghost:hover { color: #fff !important; border-color: rgba(255,255,255,.25) !important; background: rgba(255,255,255,.04) !important; }

/* ── Loading / Empty / Alert ────────────────────────────────────────────────── */
.g1-loading {
    display: flex; align-items: center; gap: 12px; justify-content: center;
    padding: 48px 20px;
    color: rgba(255,255,255,.4); font-size: .85rem;
}
.g1-empty {
    text-align: center; padding: 64px 20px;
    color: rgba(255,255,255,.3);
}
.g1-empty-icon { font-size: 2.5rem; margin-bottom: 12px; opacity: .5; }
.g1-empty-text { font-size: .9rem; color: rgba(255,255,255,.3); margin: 0; }
.g1-alert      { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-radius: 10px; font-size: .84rem; }
.g1-alert-error{ background: rgba(241,65,108,.08); border: 1px solid rgba(241,65,108,.25); color: #fca5a5; }
.g1-alert-ok   { background: rgba(34,211,160,.08); border: 1px solid rgba(34,211,160,.2);  color: #6dffd8; }

/* ── Mi Cuenta form (g1-*) ──────────────────────────────────────────────────── */
.g1-cuenta-block { margin-bottom: 1.5rem; }
.g1-cuenta-block-title {
    font-size: .78rem; font-weight: 700; text-transform: uppercase;
    letter-spacing: .08em; color: #00C4BE;
    margin-bottom: 1rem; padding-bottom: 8px;
    border-bottom: 1px solid rgba(0,196,190,.15);
}
.g1-cuenta-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}
@media (max-width: 520px) { .g1-cuenta-grid { grid-template-columns: 1fr; } }
.g1-cf       { display: flex; flex-direction: column; gap: 6px; }
.g1-cf.full  { grid-column: 1 / -1; }
.g1-cf-label { font-size: .76rem; color: rgba(255,255,255,.55); font-weight: 500; letter-spacing: .03em; text-transform: uppercase; }
.g1-cf-input,
input.g1-cf-input,
select.g1-cf-input,
textarea.g1-cf-input {
    width: 100% !important;
    padding: 10px 14px !important;
    background: rgba(255,255,255,.05) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 9px !important;
    color: #fff !important;
    font-size: .85rem !important;
    font-family: 'Poppins', -apple-system, sans-serif !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    transition: border-color .18s;
    -webkit-text-fill-color: #fff !important;
}
.g1-cf-input:focus { border-color: rgba(0,196,190,.5) !important; }
.g1-cf-input:disabled { opacity: .4; cursor: not-allowed; }
.g1-vto-warn { font-size: .73rem; color: #fde68a; margin-top: 4px; }

/* Savebar */
.g1-savebar {
    display: flex; align-items: center; justify-content: space-between;
    gap: 16px; padding: 1.2rem 1.6rem;
    background: #071428;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 12px; margin-top: 1.5rem;
    flex-wrap: wrap;
}
.g1-savebar p { margin: 0; font-size: .8rem; color: rgba(255,255,255,.4); }

/* ── Responsive ─────────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
    .g1-stats-strip { gap: 8px; }
    .g1-stat-pill   { padding: 10px 14px; min-width: 70px; }
    .g1-stat-num    { font-size: 1.3rem; }
    .g1-filter-sep, .g1-filter-range { display: none; }
    .g1-header      { padding: 1rem 1.2rem; gap: 12px; }
    .g1-header-name { font-size: 1rem; }
    .g1-card        { padding: 1rem 1.2rem; }
    .g1-city        { font-size: .9rem; }
}


/* ═══════════════════════════════════════════════════════════════════════
   ICONOS DE MARCA (SVG monocromo · v2.3.27) — nunca emoji multicolor
   ═══════════════════════════════════════════════════════════════════════ */
.g1-ico { display: inline-block; vertical-align: -2px; flex-shrink: 0; }
.g1-empty-icon { color: #00C4BE; opacity: 1; }
.g1-empty-icon .g1-ico { opacity: .85; }
.g1-pill-label { color: #00C4BE; display: inline-flex; align-items: center; }
.g1-pill-label .g1-ico { width: 14px; height: 14px; }
.dcp-detail-tag .g1-ico { color: #00C4BE; width: 13px; height: 13px; margin-right: 3px; }
.g1-badge .g1-ico { width: 12px; height: 12px; margin-right: 3px; }
.dcp-btn .g1-ico { width: 16px; height: 16px; margin-right: 6px; }
.dcp-revision-icon .g1-ico { color: #00C4BE; }
.g1-cuenta-block-title .g1-ico, .dcp-modal-title .g1-ico { color: #00C4BE; width: 16px; height: 16px; margin-right: 6px; }


/* ══ v2.3.51: modo oscuro para autofill de Chrome y desplegables nativos ══ */
input, select, textarea { color-scheme: dark; }
select option { background: #0a1628 !important; color: #ffffff !important; }
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active,
select:-webkit-autofill,
textarea:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #0a1628 inset !important;
  -webkit-text-fill-color: #ffffff !important;
  caret-color: #ffffff !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  transition: background-color 9999s ease-in-out 0s !important;
}
