/**
 * Tokens visuales Guachero — herramienta de campo.
 * No redefine tamaños/grilla de burbujas (eso vive en burbujas-unificadas.css).
 * Firma: leche + pasto + tinta de corral (no plantilla purple/cream).
 */
:root {
    /* Superficies */
    --gu-ink: #1a2e1f;
    --gu-ink-soft: #3d5344;
    --gu-muted: #5c6f62;
    --gu-line: rgba(26, 46, 31, 0.1);
    --gu-line-strong: rgba(26, 46, 31, 0.18);
    --gu-milk: #fbfefb;
    --gu-surface: #ffffff;
    --gu-surface-2: #f3f7f4;
    --gu-surface-3: #e8efe9;

    /* Acento de campo */
    --gu-pasture: #2f6b3a;
    --gu-pasture-soft: #e8f3eb;
    --gu-pasture-line: rgba(47, 107, 58, 0.32);
    --gu-sky: #1d6b8a;
    --gu-sky-soft: #e8f4f8;
    --gu-sky-line: rgba(29, 107, 138, 0.28);
    --gu-amber: #b45309;
    --gu-amber-soft: #fff7ed;
    --gu-amber-line: rgba(180, 83, 9, 0.32);
    --gu-danger: #b42318;
    --gu-danger-soft: #fef3f2;
    --gu-danger-line: rgba(180, 35, 24, 0.3);
    --gu-slate-soft: #f1f5f3;
    --gu-slate-line: rgba(92, 111, 98, 0.28);

    /* Elevación */
    --gu-shadow-1: 0 2px 8px rgba(26, 46, 31, 0.06);
    --gu-shadow-2: 0 6px 18px rgba(26, 46, 31, 0.1);
    --gu-shadow-3: 0 12px 28px rgba(26, 46, 31, 0.14);

    /* Tipo / ritmo de paneles (no burbujas) */
    --gu-title-panel: 0.95rem;
    --gu-title-action: 0.82rem;
    --gu-label: 0.78rem;
    --gu-radius-panel: var(--guachero-burbuja-radius, 0.85rem);
    --gu-space-panel: 0.75rem 0.85rem 0.9rem;
    --gu-focus: #2f6b3a;

    /* Tipos de alerta (semántica de campo, no plantilla) */
    --gu-alerta-vacuna: #6b3fa0;
    --gu-alerta-vacuna-soft: #f5f0fb;
    --gu-alerta-vacuna-line: rgba(107, 63, 160, 0.4);
    --gu-alerta-descorne: #c2410c;
    --gu-alerta-descorne-soft: #fff7ed;
    --gu-alerta-descorne-line: rgba(194, 65, 12, 0.45);
    --gu-alerta-ia: #0f766e;
    --gu-alerta-ia-soft: #f0fdfa;
    --gu-alerta-ia-line: rgba(15, 118, 110, 0.4);

    /* Sexo (semántica estable en todo el sistema) */
    --gu-macho-soft: #e8f1fb;
    --gu-macho-line: rgba(29, 107, 138, 0.38);
    --gu-macho-ink: #1d6b8a;
    --gu-hembra-soft: #fceef5;
    --gu-hembra-line: rgba(180, 60, 120, 0.38);
    --gu-hembra-ink: #a8326e;
}

/* Portal operario */
.operario-portal .gu-portal-hello {
    align-items: flex-start;
    background: var(--gu-pasture-soft);
    border: 1px solid var(--gu-pasture-line);
    border-radius: var(--gu-radius-panel);
    color: var(--gu-ink);
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem 1rem;
    justify-content: space-between;
    margin-bottom: 1rem;
    padding: 0.85rem 1rem;
}

.operario-portal .gu-portal-hello strong {
    font-weight: 700;
}

.operario-portal .gu-portal-hello .badge {
    background: var(--gu-pasture) !important;
    font-weight: 600;
}

.operario-portal .gu-portal-priority .btn-lg {
    border: none;
    border-radius: var(--gu-radius-panel);
    box-shadow: var(--gu-shadow-1);
    font-weight: 650;
    letter-spacing: -0.01em;
    min-height: 3.4rem;
}

.operario-portal .gu-portal-priority .btn-primary {
    background: var(--gu-sky);
}

.operario-portal .gu-portal-priority .btn-primary:hover {
    background: #185a74;
}

.operario-portal .gu-portal-priority .btn-warning {
    background: var(--gu-amber);
    color: #fff;
}

.operario-portal .gu-portal-priority .btn-warning:hover {
    background: #92400e;
    color: #fff;
}

.operario-portal .gu-portal-priority .btn-danger {
    background: var(--gu-danger);
}

.operario-portal .gu-portal-priority .btn-danger:hover {
    background: #912018;
}

.operario-portal .ficha-accion-burbuja {
    color: var(--gu-ink);
}

/* Hint / vacío compartidos (alertas, etc.) */
.gu-page-hint {
    background: var(--gu-pasture-soft);
    border: 1px solid var(--gu-pasture-line);
    border-radius: var(--gu-radius-panel);
    color: var(--gu-ink-soft);
    font-size: 0.84rem;
    margin-bottom: 0.85rem;
    padding: 0.55rem 0.75rem;
}

.gu-page-empty {
    background: var(--gu-surface-2);
    border: 1px dashed var(--gu-line-strong);
    border-radius: var(--gu-radius-panel);
    color: var(--gu-muted);
    padding: 1.25rem 1rem;
    text-align: center;
}

.gu-page-empty strong {
    color: var(--gu-ink);
    display: block;
    font-size: 0.95rem;
    margin-bottom: 0.25rem;
}

/* Page chrome suave cuando hay contenedor principal */
.container-fluid > .page-header,
.container > .page-header {
    color: var(--gu-ink);
}

.ficha-panel-burbuja-titulo,
.ficha-accion-burbuja-titulo {
    color: var(--gu-ink);
    letter-spacing: -0.01em;
}

.ficha-panel-burbuja-meta,
.ficha-accion-burbuja-meta {
    color: var(--gu-muted);
}

/* Pilot: toolbar de tareas */
.gu-tareas-toolbar {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.gu-tareas-toolbar .btn-success {
    background-color: var(--gu-pasture);
    border-color: var(--gu-pasture);
}

.gu-tareas-toolbar .btn-success:hover {
    background-color: #275c32;
    border-color: #275c32;
}

.gu-tareas-hint {
    background: var(--gu-pasture-soft);
    border: 1px solid var(--gu-pasture-line);
    border-radius: var(--gu-radius-panel);
    color: var(--gu-ink-soft);
    font-size: 0.84rem;
    margin-bottom: 0.85rem;
    padding: 0.55rem 0.75rem;
}

.gu-tareas-empty {
    background: var(--gu-surface-2);
    border: 1px dashed var(--gu-line-strong);
    border-radius: var(--gu-radius-panel);
    color: var(--gu-muted);
    padding: 1.25rem 1rem;
    text-align: center;
}

.gu-tareas-empty strong {
    color: var(--gu-ink);
    display: block;
    font-size: 0.95rem;
    margin-bottom: 0.25rem;
}

@media (prefers-reduced-motion: reduce) {
    .ficha-accion-burbuja,
    .ficha-panel-burbuja,
    .tarea-burbuja {
        transition: none !important;
    }
}
