/*
 * GO1 TRANSFER SUITE — Portal Conductor: CSS compartido
 * Usado por: [go1_login], [go1_registro], [go1_servicio], [go1_driver_panel]
 * Fuente: extraído de go1_portal_styles() del plugin legacy v5.7.1
 *
 * @package Go1_Transfer_Suite
 */

/* ── Variables ───────────────────────────────────────────────────── */
:root {
    --go1-bg:     #010B28;
    --go1-bg2:    #071436;
    --go1-teal:   #00C4BE;
    --go1-teal2:  #009A95;
    --go1-white:  #fff;
    --go1-w60:    rgba(255,255,255,.6);
    --go1-w30:    rgba(255,255,255,.3);
    --go1-w10:    rgba(255,255,255,.1);
    --go1-w06:    rgba(255,255,255,.06);
    --go1-green:  #22d3a0;
    --go1-red:    #f1416c;
    --go1-amber:  #fbbf24;
    --go1-border: 1px solid rgba(255,255,255,.09);
    --go1-r:      14px;
    --go1-r-sm:   8px;
    --go1-r-lg:   20px;
    --go1-shadow: 0 8px 40px rgba(0,0,0,.55);
    --go1-font:   'Poppins', -apple-system, sans-serif;
}

/* ── Forzar fondo de página — anula Hello Elementor ──────────────── */
body:has(.go1-portal-wrap),
body:has(.go1-portal-bg) {
    background:       #010B28 !important;
    background-color: #010B28 !important;
}

.go1-page-body-fix {
    position:       fixed;
    inset:          0;
    z-index:        -2;
    background:     #010B28;
    pointer-events: none;
}

/* ── Wrap ────────────────────────────────────────────────────────── */
.go1-portal-wrap,
.go1-portal-wrap * { box-sizing: border-box !important; }

.go1-portal-wrap {
    font-family: var(--go1-font) !important;
    max-width:   560px;
    margin:      0 auto;
    padding:     20px 16px 48px;
    color:       var(--go1-white) !important;
}

/* ── Fondo radial ────────────────────────────────────────────────── */
.go1-portal-bg {
    position:       fixed;
    inset:          0;
    z-index:        -1;
    background:     radial-gradient(ellipse 80% 55% at 50% -10%, rgba(0,196,190,.1) 0%, transparent 60%),
                    linear-gradient(180deg, #010B28 0%, #071436 100%);
    pointer-events: none;
}

/* ── Card ────────────────────────────────────────────────────────── */
.go1-card {
    background:      rgba(7,20,54,.8) !important;
    border:          var(--go1-border) !important;
    border-radius:   var(--go1-r) !important;
    padding:         28px !important;
    box-shadow:      var(--go1-shadow) !important;
    backdrop-filter: blur(14px);
}

/* ── Inputs — anula Hello Elementor y Elementor Pro ─────────────── */
.go1-portal-wrap input.go1-input,
.go1-portal-wrap input[type="email"].go1-input,
.go1-portal-wrap input[type="password"].go1-input,
.go1-portal-wrap input[type="text"].go1-input,
.go1-portal-wrap input[type="tel"].go1-input,
.go1-input {
    width:             100% !important;
    padding:           13px 16px !important;
    background:        rgba(255,255,255,.06) !important;
    background-color:  rgba(255,255,255,.06) !important;
    border:            1px solid rgba(255,255,255,.15) !important;
    border-radius:     var(--go1-r-sm) !important;
    color:             #ffffff !important;
    font-size:         14px !important;
    font-family:       var(--go1-font) !important;
    outline:           none !important;
    box-shadow:        none !important;
    -webkit-appearance: none !important;
    appearance:        none !important;
    transition:        border-color .2s, box-shadow .2s, background .2s;
    -webkit-text-fill-color: #ffffff !important;
}

.go1-portal-wrap input.go1-input:focus,
.go1-input:focus {
    border-color:     rgba(0,196,190,.7) !important;
    box-shadow:       0 0 0 3px rgba(0,196,190,.15) !important;
    background:       rgba(0,196,190,.07) !important;
    background-color: rgba(0,196,190,.07) !important;
    outline:          none !important;
}

.go1-input:-webkit-autofill,
.go1-input:-webkit-autofill:hover,
.go1-input:-webkit-autofill:focus {
    -webkit-box-shadow:       0 0 0 1000px #071436 inset !important;
    -webkit-text-fill-color:  #ffffff !important;
    border-color:             rgba(0,196,190,.4) !important;
    caret-color:              #ffffff !important;
}

.go1-input::placeholder { color: rgba(255,255,255,.3) !important; opacity: 1 !important; }

/* ── Labels ──────────────────────────────────────────────────────── */
.go1-label {
    display:        block !important;
    font-size:      11.5px !important;
    font-weight:    600 !important;
    color:          rgba(255,255,255,.6) !important;
    margin-bottom:  7px !important;
    letter-spacing: .5px !important;
    text-transform: uppercase !important;
    font-family:    var(--go1-font) !important;
}

/* ── Botón primary ───────────────────────────────────────────────── */
.go1-portal-wrap button.go1-btn-primary,
.go1-btn-primary {
    width:              100% !important;
    padding:            14px !important;
    background:         linear-gradient(135deg, #00C4BE, #009A95) !important;
    background-color:   #00C4BE !important;
    color:              #010B28 !important;
    border:             none !important;
    border-radius:      var(--go1-r-sm) !important;
    font-size:          14.5px !important;
    font-weight:        700 !important;
    font-family:        var(--go1-font) !important;
    cursor:             pointer !important;
    transition:         opacity .2s, transform .15s, box-shadow .2s !important;
    box-shadow:         0 4px 20px rgba(0,196,190,.35) !important;
    letter-spacing:     -.1px !important;
    -webkit-appearance: none !important;
    appearance:         none !important;
    text-align:         center !important;
    display:            block !important;
}
.go1-btn-primary:hover    { opacity: .9 !important; transform: translateY(-2px) !important; box-shadow: 0 8px 28px rgba(0,196,190,.5) !important; }
.go1-btn-primary:active   { transform: translateY(0) !important; }
.go1-btn-primary:disabled { opacity: .5 !important; cursor: not-allowed !important; transform: none !important; }

/* ── Botón secondary ─────────────────────────────────────────────── */
.go1-btn-secondary {
    width:         100% !important;
    padding:       13px !important;
    background:    rgba(255,255,255,.06) !important;
    color:         rgba(255,255,255,.6) !important;
    border:        1px solid rgba(255,255,255,.1) !important;
    border-radius: var(--go1-r-sm) !important;
    font-size:     13px !important;
    font-weight:   600 !important;
    font-family:   var(--go1-font) !important;
    cursor:        pointer !important;
}
.go1-btn-secondary:hover { background: rgba(255,255,255,.1) !important; color: #fff !important; }

/* ── Botón danger ────────────────────────────────────────────────── */
.go1-btn-danger {
    width:         100% !important;
    padding:       13px !important;
    background:    rgba(241,65,108,.1) !important;
    color:         #ff6b8a !important;
    border:        1px solid rgba(241,65,108,.25) !important;
    border-radius: var(--go1-r-sm) !important;
    font-size:     13px !important;
    font-weight:   600 !important;
    font-family:   var(--go1-font) !important;
    cursor:        pointer !important;
}
.go1-btn-danger:hover    { background: rgba(241,65,108,.18) !important; }
.go1-btn-danger:disabled { opacity: .4 !important; cursor: not-allowed !important; }

/* ── Alerts ──────────────────────────────────────────────────────── */
.go1-alert          { padding: 12px 16px !important; border-radius: var(--go1-r-sm) !important; font-size: 13px !important; font-weight: 600 !important; display: flex !important; align-items: center !important; gap: 10px !important; margin-bottom: 16px !important; }
.go1-alert-error    { background: rgba(241,65,108,.1) !important; border: 1px solid rgba(241,65,108,.3) !important; color: #ff6b8a !important; }
.go1-alert-success  { background: rgba(34,211,160,.1) !important; border: 1px solid rgba(34,211,160,.3) !important; color: #6dffd8 !important; }
.go1-alert-warn     { background: rgba(251,191,36,.08) !important; border: 1px solid rgba(251,191,36,.25) !important; color: #fde68a !important; }
.go1-alert-info     { background: rgba(0,196,190,.08) !important; border: 1px solid rgba(0,196,190,.25) !important; color: var(--go1-teal) !important; }

/* ── Misc ────────────────────────────────────────────────────────── */
.go1-divider { height: 1px !important; background: rgba(255,255,255,.07) !important; margin: 20px 0 !important; }
.go1-field   { margin-bottom: 18px; }
.go1-field:last-child { margin-bottom: 0; }

/* ── Badges ──────────────────────────────────────────────────────── */
.go1-badge        { display: inline-flex; align-items: center; gap: 5px; padding: 4px 11px; border-radius: 20px; font-size: 11px; font-weight: 700; letter-spacing: .2px; }
.go1-badge-teal   { background: rgba(0,196,190,.15);   border: 1px solid rgba(0,196,190,.3);   color: var(--go1-teal); }
.go1-badge-green  { background: rgba(34,211,160,.12);  border: 1px solid rgba(34,211,160,.3);  color: #6dffd8; }
.go1-badge-red    { background: rgba(241,65,108,.12);  border: 1px solid rgba(241,65,108,.3);  color: #ff6b8a; }
.go1-badge-amber  { background: rgba(251,191,36,.12);  border: 1px solid rgba(251,191,36,.3);  color: #fde68a; }
.go1-badge-purple { background: rgba(167,139,250,.12); border: 1px solid rgba(167,139,250,.3); color: #c4b5fd; }

/* ── Spinner ─────────────────────────────────────────────────────── */
.go1-spinner {
    width:        20px;
    height:       20px;
    border:       2px solid rgba(0,196,190,.3);
    border-top-color: var(--go1-teal);
    border-radius: 50%;
    animation:    go1-spin .7s linear infinite;
    display:      inline-block;
}
@keyframes go1-spin { to { transform: rotate(360deg); } }

/* ── Animaciones ─────────────────────────────────────────────────── */
.go1-fadein { animation: go1-fade .4s ease both; }
@keyframes go1-fade { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
.go1-s1 { animation-delay: .05s; }
.go1-s2 { animation-delay: .10s; }
.go1-s3 { animation-delay: .15s; }
.go1-s4 { animation-delay: .20s; }

/* ── Loading ─────────────────────────────────────────────────────── */
.go1-loading {
    text-align:      center;
    padding:         48px 20px;
    display:         flex;
    flex-direction:  column;
    align-items:     center;
    gap:             14px;
    color:           var(--go1-w60);
}

/* ── Select / Textarea en modales ────────────────────────────────── */
.go1-modal select {
    background:        rgba(255,255,255,.05) !important;
    background-color:  rgba(255,255,255,.05) !important;
    color:             #ffffff !important;
    border:            1px solid rgba(255,255,255,.1) !important;
    -webkit-appearance: none !important;
    appearance:        none !important;
}
.go1-modal select option { background: #071436 !important; color: #fff !important; }
.go1-modal textarea {
    background:       rgba(255,255,255,.05) !important;
    background-color: rgba(255,255,255,.05) !important;
    color:            #ffffff !important;
    border:           1px solid rgba(255,255,255,.1) !important;
}

/* ══════════════════════════════════════════════════════════════════
 * ESTADO EN REVISIÓN — diseño de nivel premium
 * ══════════════════════════════════════════════════════════════════ */
.dcp-estado-revision {
    position:       relative;
    overflow:       hidden;
    background:     rgba(7, 20, 54, 0.7);
    border:         1px solid rgba(251,191,36,.25);
    border-radius:  18px;
    padding:        28px 26px 24px;
    display:        flex;
    flex-direction: column;
    gap:            20px;
    color:          #ffffff !important;
    backdrop-filter:blur(16px);
    box-shadow:     0 8px 40px rgba(0,0,0,.4), inset 0 1px 0 rgba(251,191,36,.12);
    animation:      revisionAppear .5s cubic-bezier(.22,1,.36,1) both;
}
@keyframes revisionAppear {
    from { opacity:0; transform:translateY(12px) scale(.98); }
    to   { opacity:1; transform:none; }
}

/* Glow de fondo amber */
.dcp-estado-revision::before {
    content:        '';
    position:       absolute;
    top:            -60px; right: -60px;
    width:          220px; height: 220px;
    border-radius:  50%;
    background:     radial-gradient(circle, rgba(251,191,36,.12) 0%, transparent 65%);
    pointer-events: none;
}
/* Línea top accent */
.dcp-estado-revision::after {
    content:    '';
    position:   absolute;
    top:0; left:0; right:0; height:2px;
    background: linear-gradient(90deg, transparent 0%, rgba(251,191,36,.6) 40%, rgba(251,191,36,.6) 60%, transparent 100%);
    border-radius:18px 18px 0 0;
}

/* ── Header ─────────────────────────────────────── */
.dcp-revision-header {
    display:     flex;
    align-items: flex-start;
    gap:         14px;
}
.dcp-revision-icon {
    width:44px; height:44px; border-radius:12px; flex-shrink:0;
    background: rgba(251,191,36,.12);
    border:     1px solid rgba(251,191,36,.25);
    display:    flex; align-items:center; justify-content:center;
    font-size:  20px;
    box-shadow: 0 0 20px rgba(251,191,36,.15);
}
.dcp-revision-header-text { flex:1; }

.dcp-revision-badge {
    display:        inline-flex;
    align-items:    center;
    gap:            6px;
    background:     rgba(251,191,36,.15);
    border:         1px solid rgba(251,191,36,.35);
    border-radius:  50px;
    padding:        4px 12px;
    font-size:      11px;
    font-weight:    700;
    color:          #fde68a !important;
    letter-spacing: .5px;
    text-transform: uppercase;
    margin-bottom:  8px;
    /* Pulso animado */
    animation:      badgePulse 2.5s ease-in-out infinite;
}
@keyframes badgePulse {
    0%,100% { box-shadow: 0 0 0 0 rgba(251,191,36,.0); }
    50%      { box-shadow: 0 0 0 5px rgba(251,191,36,.12); }
}
.dcp-revision-badge-dot {
    width:6px; height:6px; border-radius:50%;
    background:  #fbbf24;
    animation:   dotBlink 1.4s ease-in-out infinite;
    flex-shrink: 0;
}
@keyframes dotBlink { 0%,100%{opacity:1;} 50%{opacity:.3;} }

.dcp-revision-title {
    font-size:   17px;
    font-weight: 800;
    color:       #ffffff !important;
    margin:      0 0 5px;
    letter-spacing:-.3px;
    line-height: 1.2;
}
.dcp-revision-sub {
    font-size:   13px;
    color:       rgba(255,255,255,.55) !important;
    line-height: 1.65;
    margin:      0;
}

/* ── Timeline ────────────────────────────────────── */
.dcp-revision-steps {
    display:        flex;
    flex-direction: column;
    gap:            0;
    position:       relative;
    padding-left:   0;
}
.dcp-revision-step {
    display:     flex;
    align-items: center;
    gap:         14px;
    font-size:   13px;
    color:       rgba(255,255,255,.7) !important;
    padding:     8px 0;
    position:    relative;
    z-index:     1;
}
/* Línea vertical conectora — detrás de los círculos */
.dcp-revision-step:not(:last-child)::before {
    content:    '';
    position:   absolute;
    /* Centro del dot (34px ancho) = 17px - 1px (mitad línea 2px) = 16px */
    left:       16px;
    /* Empieza justo debajo del centro del dot (8px padding + 17px mitad dot) */
    top:        calc(50% + 17px);
    width:      2px;
    /* Llega al centro del siguiente dot */
    height:     calc(100% - 2px);
    background: linear-gradient(180deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,.04) 100%);
    z-index:    0;
}
.dcp-revision-step-dot {
    width:       34px; height: 34px; border-radius: 50%;
    display:     flex; align-items: center; justify-content: center;
    font-size:   12px; font-weight: 800; flex-shrink: 0;
    position:    relative; z-index: 2;  /* siempre sobre la línea */
    transition:  transform .2s;
}
.dcp-revision-step:hover .dcp-revision-step-dot { transform: scale(1.08); }
.dcp-revision-step-dot.done {
    background: linear-gradient(135deg, rgba(34,211,160,.3), rgba(34,211,160,.1));
    border:     1px solid rgba(34,211,160,.5);
    color:      #22d3a0 !important;
    box-shadow: 0 0 16px rgba(34,211,160,.2);
}
.dcp-revision-step-dot.wait {
    background: linear-gradient(135deg, rgba(251,191,36,.25), rgba(251,191,36,.08));
    border:     1px solid rgba(251,191,36,.45);
    color:      #fbbf24 !important;
    box-shadow: 0 0 16px rgba(251,191,36,.2);
    animation:  waitGlow 2s ease-in-out infinite;
}
@keyframes waitGlow {
    0%,100% { box-shadow:0 0 16px rgba(251,191,36,.2); }
    50%      { box-shadow:0 0 24px rgba(251,191,36,.45); }
}
.dcp-revision-step-dot.next {
    background: rgba(255,255,255,.04);
    border:     1px solid rgba(255,255,255,.1);
    color:      rgba(255,255,255,.25) !important;
}
.dcp-revision-step-label {
    flex:1; padding-top:8px; line-height:1.4;
}
.dcp-revision-step.done-state .dcp-revision-step-label { color:#22d3a0 !important; font-weight:600; }
.dcp-revision-step.wait-state .dcp-revision-step-label { color:#fde68a !important; font-weight:600; }
.dcp-revision-step.next-state .dcp-revision-step-label { color:rgba(255,255,255,.35) !important; }

/* ══════════════════════════════════════════════════════════════════
 * OTRO CONDUCTOR — estado bloqueado elegante
 * ══════════════════════════════════════════════════════════════════ */
.go1-alert-otro-conductor {
    position:       relative;
    overflow:       hidden;
    background:     rgba(7,20,54,.7);
    border:         1px solid rgba(139,92,246,.3);
    border-radius:  14px;
    padding:        20px 22px;
    display:        flex;
    align-items:    flex-start;
    gap:            14px;
    backdrop-filter:blur(12px);
    box-shadow:     0 4px 24px rgba(0,0,0,.3), inset 0 1px 0 rgba(139,92,246,.12);
    animation:      revisionAppear .4s cubic-bezier(.22,1,.36,1) both;
}
.go1-alert-otro-conductor::before {
    content:    '';
    position:   absolute;
    top:0; left:0; right:0; height:2px;
    background: linear-gradient(90deg, transparent, rgba(139,92,246,.6), transparent);
    border-radius:14px 14px 0 0;
}
.go1-alert-otro-conductor::after {
    content:    '';
    position:   absolute;
    top:-40px; right:-40px;
    width:140px; height:140px; border-radius:50%;
    background: radial-gradient(circle, rgba(139,92,246,.1) 0%, transparent 65%);
    pointer-events:none;
}
.go1-otro-icon {
    width:40px; height:40px; border-radius:10px; flex-shrink:0;
    background: rgba(139,92,246,.12);
    border:     1px solid rgba(139,92,246,.25);
    display:    flex; align-items:center; justify-content:center;
    font-size:  18px;
}
.go1-otro-body { flex:1; }
.go1-otro-title {
    font-size:   14px;
    font-weight: 800;
    color:       #c4b5fd !important;
    margin:      0 0 5px;
    letter-spacing:-.2px;
}
.go1-otro-sub {
    font-size:  12.5px;
    color:      rgba(196,181,253,.6) !important;
    line-height:1.55;
    margin:     0;
}


/* ══ v2.3.52: 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;
}
