/* Archivo: seguimiento/assets/css/portal_style.css */

body { 
    background-color: #f4f7f6; 
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    min-height: 100vh; 
    margin: 0; 
}

.login-container { 
    width: 100%; 
    max-width: 420px; 
    padding: 20px; 
}

.portal-card { 
    background: white; 
    border-radius: 24px; 
    padding: 40px 25px 30px; 
    box-shadow: 0 15px 35px rgba(0,0,0,0.04); 
    text-align: center; 
}

.portal-logo { 
    width: 75px; 
    height: 75px; 
    background: #0d6efd; 
    color: white; 
    border-radius: 50%; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    font-size: 32px; 
    margin: 0 auto 20px; 
    box-shadow: 0 8px 20px rgba(13, 110, 253, 0.25); 
}

.form-control { 
    border-radius: 14px; 
    padding: 14px 16px; 
    background-color: #f8f9fa; 
    border: 1px solid #e9ecef; 
    font-size: 1.05rem; 
    font-weight: 600; 
    text-align: center; 
    letter-spacing: 1px; 
}

.form-control:focus { 
    background-color: #fff; 
    border-color: #0d6efd; 
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.15); 
}

.btn-portal { 
    border-radius: 14px; 
    padding: 15px; 
    font-weight: 800; 
    font-size: 1.1rem; 
    width: 100%; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    gap: 10px; 
    margin-top: 25px; 
    transition: transform 0.2s;
}

.btn-portal:active { transform: scale(0.96); }

/* Estilo para el botón puente hacia Escrituras */
.bridge-box {
    background-color: rgba(26, 35, 126, 0.05); /* Usa el azul de tu portal de escrituras */
    border: 1px dashed rgba(26, 35, 126, 0.2);
    border-radius: 16px;
    padding: 15px;
    margin-top: 20px;
    text-align: center;
}

.btn-bridge {
    color: #1a237e;
    font-weight: 700;
    text-decoration: none;
    font-size: 0.9rem;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
/* ========================================= */
/* LÍNEA DE TIEMPO Y FINANZAS (DASHBOARD)    */
/* ========================================= */

.timeline-container { position: relative; padding-left: 35px; margin-top: 25px; margin-bottom: 10px; }
.timeline-container::before { content: ''; position: absolute; left: 14px; top: 5px; bottom: 5px; width: 3px; background: #e2e8f0; border-radius: 5px; }
.timeline-step { position: relative; margin-bottom: 30px; }
.timeline-step:last-child { margin-bottom: 0; }

.step-icon { position: absolute; left: -35px; top: 0; width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: bold; background: #e2e8f0; color: #94a3b8; border: 4px solid white; box-shadow: 0 0 0 1px #e2e8f0; z-index: 2; transition: all 0.3s; }
.timeline-step.completed .step-icon { background: #10b981; color: white; box-shadow: 0 0 0 1px #10b981; }
.timeline-step.active .step-icon { background: #0d6efd; color: white; box-shadow: 0 0 0 1px #0d6efd; }

.step-content { text-align: left; padding-top: 2px; }
.step-title { font-weight: 800; font-size: 1rem; color: #94a3b8; margin-bottom: 2px; line-height: 1.2; }
.timeline-step.completed .step-title { color: #10b981; }
.timeline-step.active .step-title { color: #0d6efd; }
.step-desc { font-size: 0.8rem; color: #64748b; margin: 0; }

.saldo-box { background: #fff5f5; border: 1px solid #fed7d7; border-radius: 16px; padding: 20px; margin-top: 25px; text-align: center; }
.saldo-box.pagado { background: #f0fdf4; border-color: #bbf7d0; }
.saldo-amount { font-size: 2rem; font-weight: 900; color: #e11d48; margin: 5px 0; }
.saldo-box.pagado .saldo-amount { color: #16a34a; }