body { font-family: 'Inter', sans-serif; background-color: #f1f5f9; }
        
        /* Scrollbar */
        ::-webkit-scrollbar { width: 6px; height: 6px; }
        ::-webkit-scrollbar-track { background: transparent; }
        ::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 3px; }
        ::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

        /* Animaciones */
        .fade-in { animation: fadeIn 0.3s ease-out forwards; }
        @keyframes fadeIn { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }

        .loader {
            border: 3px solid #f3f3f3; border-radius: 50%; border-top: 3px solid #0f766e;
            width: 20px; height: 20px; animation: spin 1s linear infinite;
        }
        @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

        /* Estilos Documento Profesional */
        .doc-paper { font-family: 'Merriweather', serif; color: #1e293b; line-height: 1.8; }

        /* Utilidades */
        .tag-pill { background-color: #e0f2fe; color: #0369a1; font-size: 0.75rem; padding: 2px 8px; border-radius: 9999px; display: inline-flex; align-items: center; gap: 4px; }
        .input-std { width: 100%; padding: 0.5rem 0.75rem; border: 1px solid #cbd5e1; border-radius: 0.5rem; font-size: 0.875rem; outline: none; transition: all 0.2s; background: white; }
        .input-std:focus { border-color: #0d9488; box-shadow: 0 0 0 2px #ccfbf1, 0 0 0 3px rgba(20, 184, 166, 0.1); }
        
        /* Navegación activa */
        .active-nav { background-color: #f0fdfa !important; color: #0f766e !important; font-weight: 600; }

        /* Notificaciones: SIEMPRE encima de todo, incluyendo modales */
        #notification-container { z-index: 9999 !important; }
        #notification-container > * { pointer-events: auto; }
        
        /* Print Styles */
        @media print {
            aside, #notification-container, .no-print, .btn-action, header { display: none !important; }
            body, main, #view-container { background: white; margin: 0; padding: 0; overflow: visible !important; height: auto !important; }
            .print-only { display: block !important; }
        }
        .print-only { display: none; }
        
        /* Validación */
        .input-error { border-color: #ef4444 !important; box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1); }
        .error-text { color: #ef4444; font-size: 0.75rem; margin-top: 0.25rem; display: none; }
        
        /* Checkboxes personalizados */
        .custom-checkbox { appearance: none; width: 1.125rem; height: 1.125rem; border: 2px solid #cbd5e1; border-radius: 0.25rem; background: white; cursor: pointer; position: relative; }
        .custom-checkbox:checked { background-color: #0d9488; border-color: #0d9488; }
        .custom-checkbox:checked::after { content: '✓'; position: absolute; color: white; font-size: 0.75rem; top: 50%; left: 50%; transform: translate(-50%, -50%); }

        /* label-xs util */
        .label-xs { display: block; margin-bottom: 0.25rem; }