/* assets/css/style.css - v2 */

/* Fuente y tamaño base */
html, body {
    height: 100%;
    font-size: 14px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

#app {
    min-height: 100vh;
}

/* Sidebar */

#sidebar {
    width: 70px;
    min-height: 100vh;
}

#sidebar .avatar-circle {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #17a2b8;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 18px;
}

#sidebar .sidebar-icons .nav-link {
    font-size: 20px;
    padding: 0.5rem 0;
}

#sidebar .sidebar-icons .nav-link.active {
    color: #ffc107 !important;
}

/* Utilidades */

.extra-small {
    font-size: 11px;
}

/* Boards */

.board {
    display: none;
    height: 100%;
}

.active-board {
    display: block;
}

/* Columnas del flujo */

.column-card {
    border-radius: 0.75rem;
}

.column-body {
    max-height: 320px;
    overflow-y: auto;
}

.offer-card {
    border-radius: 0.75rem;
    border: 1px solid #e0e0e0;
    padding: 0.5rem 0.6rem;
    margin-bottom: 0.5rem;
    background: #ffffff;
}

.offer-card.offer-clickable {
    cursor: pointer;
}

.offer-card:hover {
    box-shadow: 0 0.35rem 0.5rem rgba(0,0,0,0.06);
}

/* Fases con colores específicos */

.phase-header {
    background: transparent;
}

/* Fase 1: Entrada - gris claro #c5c5c5 */
.phase-1 .phase-header {
    background-color: #c5c5c5;
}
.phase-1 .phase-header .phase-badge {
    border-color: #ffffff;
}

/* Fase 2: Generación - azul claro #7fa9c3 */
.phase-2 .phase-header {
    background-color: #7fa9c3;
}
.phase-2 .phase-header .phase-badge {
    border-color: #ffffff;
}

/* Fase 3: Revisión Humana - gris azulado #6b7c8c */
.phase-3 .phase-header {
    background-color: #6b7c8c;
}
.phase-3 .phase-header span {
    color: #f8f9fa !important;
}

/* Fase 4: Decisión Publicación - gris oscuro #4a5660 */
.phase-4 .phase-header {
    background-color: #4a5660;
}
.phase-4 .phase-header span {
    color: #f8f9fa !important;
}

/* Insignia de fase (círculo) */

.phase-badge {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: 2px solid #343a40;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: bold;
    color: #343a40;
    background: rgba(255,255,255,0.9);
}

/* Punto rojo para acciones pendientes */

.status-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #dc3545;
}

.status-dot-muted {
    background: #ced4da;
}

/* Punto rojo animado (latido / pulso) */
.status-dot-animated {
    width: 10px;
    height: 10px;
    background-color: #dc3545;
    border-radius: 50%;
    display: inline-block;

    animation: pulseDot 1.1s infinite ease-in-out;
}

/* Animación: crecer y encoger suavemente */
@keyframes pulseDot {
    0% {
        transform: scale(1);
        opacity: 0.8;
    }
    50% {
        transform: scale(1.6);
        opacity: 1;
    }
    100% {
        transform: scale(1);
        opacity: 0.8;
    }
}

/* Sidepanel */

.sidepanel-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background: rgba(0,0,0,0.2);
    opacity: 0;
    transition: opacity 0.2s ease, width 0s ease 0.2s;
    z-index: 1030;
}

.sidepanel-overlay.open {
    width: 100%;
    opacity: 1;
    transition: opacity 0.2s ease;
}

.sidepanel {
    position: fixed;
    top: 0;
    right: -380px;
    width: 360px;
    max-width: 100%;
    height: 100%;
    background: #ffffff;
    box-shadow: -4px 0 15px rgba(0,0,0,0.1);
    z-index: 1040;
    display: flex;
    flex-direction: column;
    transition: right 0.25s ease;
}

.sidepanel.open {
    right: 0;
}

.sidepanel-header {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid #e5e5e5;
    background: #f8f9fa;
}

.sidepanel-body {
    padding: 0.75rem 1rem 1rem;
    overflow-y: auto;
    font-size: 13px;
}

.sidepanel-decision {
    background: #f1f3f5;
    border-radius: 0.75rem;
    padding: 0.5rem 0.75rem;
}

/* Tarjetas de resumen */

.summary-card {
    border-radius: 0.75rem;
}

/* Botón muy pequeño */

.btn-xs {
    padding: 0.18rem 0.55rem;
    font-size: 11px;
    line-height: 1.4;
    border-radius: 999px;
}
