:root { 
    --spvs-green-dark: #1B4332; 
    --spvs-green-main: #0ead67; 
    --spvs-earth: #C2410C; 
    --bg-light: #F8F9FA; 
}
body { background-color: var(--bg-light); font-family: 'Segoe UI', sans-serif; }
.bg-spvs-gradient { background: linear-gradient(135deg, var(--spvs-green-dark), var(--spvs-green-main)); }
.text-spvs-main { color: var(--spvs-green-main); }
.btn-spvs { background-color: var(--spvs-green-main); transition: 0.3s ; }
.btn-spvs:hover { background-color: #88E788; }
.focus-ring-spvs:focus { box-shadow: 0 0 0 3px rgba(14, 173, 103, 0.3); border-color: var(--spvs-green-main); outline: none;}
.shadow-premium { box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04); border: 1px solid rgba(0,0,0,0.05); }

::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

input[type=date] { caret-color: transparent !important; cursor: pointer; }
input[readonly], input:disabled, textarea[readonly], textarea:disabled { caret-color: transparent !important; cursor: default; }
table, th, td, button, select { caret-color: transparent !important; }

/* Regras rigorosas para PDF/Impressão */
@media print {
    @page { size: A4 portrait; margin: 1.5cm; }
    aside, nav, .btn-print-hide, .no-print { display: none !important; }
    body { background: white !important; color: black !important; overflow: visible !important; height: auto !important; width: 100% !important; }
    main { padding: 0 !important; overflow: visible !important; height: auto !important; background: transparent !important; }
    #view-dashboard { display: block !important; width: 100% !important; max-width: 100% !important; }
    .grid-cols-2.md\:grid-cols-6 { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 16px !important; margin-bottom: 24px !important; }
    .grid-cols-1.lg\:grid-cols-3 { display: grid !important; grid-template-columns: repeat(1, minmax(0, 1fr)) !important; gap: 24px !important; }
    .lg\:col-span-2 { grid-column: span 1 / span 1 !important; }
    .shadow-premium { box-shadow: none !important; border: 1px solid #d1d5db !important; background: #ffffff !important; }
    .max-h-\[300px\] { max-height: none !important; overflow: visible !important; }
    table { width: 100% !important; border-collapse: collapse !important; page-break-inside: auto; }
    tr { page-break-inside: avoid; page-break-after: auto; }
    th, td { border-bottom: 1px solid #e5e7eb !important; padding: 10px 6px !important; }
    .relative.w-full.h-\[350px\] { height: 320px !important; width: 320px !important; margin: 0 auto !important; display: block !important; page-break-inside: avoid; }
    canvas { width: 320px !important; height: 320px !important; display: block !important; margin: 0 auto !important; }
}