/* Botones compartidos: geometría y paleta comunes para todos los módulos. */
:root {
    --boton-principal-fondo:#164d36; --boton-principal-texto:#fff; --boton-principal-hover:#103e2c;
    --boton-secundario-fondo:#fff; --boton-secundario-texto:#164d36; --boton-secundario-borde:#8dac94; --boton-secundario-hover:#eaf3ec;
    --boton-neutro-texto:#42584a; --boton-neutro-borde:#a7b8ab; --boton-neutro-hover:#edf2ed;
    --boton-aviso-fondo:#fff7e7; --boton-aviso-texto:#704b0e; --boton-aviso-borde:#bca16a; --boton-aviso-hover:#f5e9cc;
    --boton-peligro-fondo:#a33a32; --boton-peligro-texto:#fff; --boton-peligro-hover:#842b25;
    --boton-peligro-suave:#fff; --boton-peligro-contorno:#a33a32; --boton-peligro-borde:#c98c85; --boton-peligro-suave-hover:#fff0ee;
    --boton-foco:#438b65;
}
html[data-agro-theme="dark"] {
    --boton-principal-fondo:#9ce7c1; --boton-principal-texto:#102f21; --boton-principal-hover:#b9f2d4;
    --boton-secundario-fondo:#1b2430; --boton-secundario-texto:#b9edcf; --boton-secundario-borde:#719d88; --boton-secundario-hover:#2a4035;
    --boton-neutro-texto:#e2ecef; --boton-neutro-borde:#7a8e9c; --boton-neutro-hover:#293746;
    --boton-aviso-fondo:#3e321c; --boton-aviso-texto:#ffe2a6; --boton-aviso-borde:#9d7c40; --boton-aviso-hover:#534326;
    --boton-peligro-fondo:#b43f4a; --boton-peligro-texto:#fff; --boton-peligro-hover:#9c3441;
    --boton-peligro-suave:#211c25; --boton-peligro-contorno:#ffb8c1; --boton-peligro-borde:#b87883; --boton-peligro-suave-hover:#40262f;
    --boton-foco:#9ce7c1;
}
html .agro-shell .agro-content :is(.btn,.agro-action-button,.sanidad-link,.provider-button) {
    display:inline-flex; align-items:center; justify-content:center; gap:.4rem;
    min-height:40px; padding:.55rem 1rem; border:1px solid var(--accion-borde,var(--boton-secundario-borde)); border-radius:999px;
    background:var(--accion-fondo,var(--boton-secundario-fondo)); color:var(--accion-texto,var(--boton-secundario-texto));
    font-family:inherit; font-size:.875rem; font-weight:650; line-height:1.35; text-align:center; text-decoration:none;
    cursor:pointer; vertical-align:middle;
    transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease;
}
html .agro-shell .agro-content :is(.btn,.agro-action-button,.sanidad-link,.provider-button):is(:hover,:focus-visible,:active,.active,[aria-pressed="true"]) {
    background:var(--accion-hover,var(--boton-secundario-hover)); color:var(--accion-texto,var(--boton-secundario-texto));
    border-color:var(--accion-borde,var(--boton-secundario-borde)); transform:none;
}
html .agro-shell .agro-content :is(.btn,.agro-action-button,.sanidad-link,.provider-button):focus-visible {
    outline:3px solid var(--boton-foco); outline-offset:3px; box-shadow:none;
}
html .agro-shell .agro-content :is(.btn-success,.btn-primary,.agro-action-button.is-primary,.sanidad-link.is-primary,.provider-button:not(.provider-button-light)) {
    --accion-fondo:var(--boton-principal-fondo); --accion-texto:var(--boton-principal-texto);
    --accion-borde:var(--boton-principal-fondo); --accion-hover:var(--boton-principal-hover);
}
html .agro-shell .agro-content :is(.btn-secondary,.btn-light,.btn-dark,.btn-outline-secondary,.provider-button-light) {
    --accion-fondo:var(--boton-secundario-fondo); --accion-texto:var(--boton-neutro-texto);
    --accion-borde:var(--boton-neutro-borde); --accion-hover:var(--boton-neutro-hover);
}
html .agro-shell .agro-content :is(.btn-warning,.btn-outline-warning,.agro-action-button.is-warning,.sanidad-link.is-warning) {
    --accion-fondo:var(--boton-aviso-fondo); --accion-texto:var(--boton-aviso-texto);
    --accion-borde:var(--boton-aviso-borde); --accion-hover:var(--boton-aviso-hover);
}
html .agro-shell .agro-content .btn-danger {
    --accion-fondo:var(--boton-peligro-fondo); --accion-texto:var(--boton-peligro-texto);
    --accion-borde:var(--boton-peligro-fondo); --accion-hover:var(--boton-peligro-hover);
}
html .agro-shell .agro-content :is(.btn-outline-danger,.agro-action-button.is-danger,.sanidad-link.is-danger) {
    --accion-fondo:var(--boton-peligro-suave); --accion-texto:var(--boton-peligro-contorno);
    --accion-borde:var(--boton-peligro-borde); --accion-hover:var(--boton-peligro-suave-hover);
}
html .agro-shell .agro-content :is(.btn-link,.btn-info,.btn-outline-info) { --accion-texto:var(--boton-secundario-texto); }
html .agro-shell .agro-content .btn-link { --accion-fondo:transparent; --accion-borde:transparent; text-decoration:underline; text-underline-offset:3px; }
html .agro-shell .agro-content :is(.btn-sm,.agro-action-button,.sanidad-link) { min-height:32px; padding:.32rem .72rem; font-size:.8rem; }
html .agro-shell .agro-content .btn-lg { min-height:48px; padding:.7rem 1.25rem; font-size:1rem; }
html .agro-shell .agro-content :is(.btn,.agro-action-button,.sanidad-link,.provider-button):is(:disabled,.disabled,[aria-disabled="true"]) { opacity:.6; cursor:default; pointer-events:none; transform:none; }
.agro-row-actions,.sanidad-row-actions { display:flex; align-items:center; flex-wrap:wrap; gap:6px; min-width:180px; }
.agro-shell .assistant-card button,.agro-shell .agro-slide-cta { border-radius:999px; }
@media(pointer:coarse){html .agro-shell .agro-content :is(.btn,.agro-action-button,.sanidad-link,.provider-button){min-height:44px}}
@media(prefers-reduced-motion:reduce){html .agro-shell .agro-content :is(.btn,.agro-action-button,.sanidad-link,.provider-button){transition:none}}
