/* PreCowKnows — estilos complementarios (Tailwind hace el resto) */

/* Fondo con halos pastel */
.bg-aura {
    background:
        radial-gradient(900px 500px at -10% -10%, rgba(211, 245, 230, .75), transparent 60%),
        radial-gradient(700px 500px at 110% 0%, rgba(231, 225, 255, .7), transparent 60%),
        radial-gradient(800px 600px at 50% 120%, rgba(255, 227, 209, .45), transparent 60%);
}
.dark .bg-aura {
    background:
        radial-gradient(900px 500px at -10% -10%, rgba(77, 193, 155, .10), transparent 60%),
        radial-gradient(700px 500px at 110% 0%, rgba(139, 120, 255, .10), transparent 60%),
        radial-gradient(800px 600px at 50% 120%, rgba(255, 160, 110, .05), transparent 60%);
}

/* Scrollbars suaves */
* { scrollbar-width: thin; scrollbar-color: rgba(148, 163, 184, .35) transparent; }
*::-webkit-scrollbar { width: 8px; height: 8px; }
*::-webkit-scrollbar-thumb { background: rgba(148, 163, 184, .35); border-radius: 999px; }
*::-webkit-scrollbar-track { background: transparent; }

/* Transición al cambiar de tema */
html.theme-switching *, html.theme-switching *::before, html.theme-switching *::after {
    transition: background-color .35s ease, border-color .35s ease, color .35s ease, box-shadow .35s ease !important;
}

/* Barra lateral: ocultar scroll */
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { scrollbar-width: none; }

/* Selects nativos en modo oscuro */
.dark select option { background: #171b2e; color: #e2e8f0; }
.dark { color-scheme: dark; }

/* Animación de entrada */
@keyframes rise { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.animate-rise { animation: rise .45s cubic-bezier(.2, .7, .2, 1) both; }

/* Checkbox pastel para la matriz de permisos (se apoya en @tailwindcss/forms para la palomita) */
input.perm-check { width: 1.35rem; height: 1.35rem; border-radius: .5rem; border: 1.5px solid #cbd5e1; background-color: #fff; cursor: pointer; transition: all .15s ease; color: #2ba583; }
input.perm-check:checked { background-color: #2ba583; border-color: #2ba583; box-shadow: 0 4px 12px -4px rgba(43, 165, 131, .6); background-size: 80% 80%; }
input.perm-check:disabled { cursor: not-allowed; opacity: .7; }
input.perm-check:focus { box-shadow: 0 0 0 3px rgba(43, 165, 131, .25); outline: none; }
.dark input.perm-check { background-color: #0f1220; border-color: #3b4262; }
.dark input.perm-check:checked { background-color: #4dc19b; border-color: #4dc19b; box-shadow: 0 4px 14px -4px rgba(77, 193, 155, .5); }

@media print {
    aside, header, .no-print { display: none !important; }
    main { padding: 0 !important; margin: 0 !important; }
    .card { box-shadow: none !important; border: 1px solid #e2e8f0 !important; }
}
