        body {
            font-family: 'Inter', sans-serif;
            background-color: #f8fafc;
            color: #0f172a;
        }

        .loader {
            border: 3px solid #f3f3f3;
            border-top: 3px solid #016ab5;
            border-radius: 50%;
            width: 24px;
            height: 24px;
            animation: spin 1s linear infinite;
            display: none;
        }

        @keyframes spin {
            0% {
                transform: rotate(0deg);
            }

            100% {
                transform: rotate(360deg);
            }
        }

        #toast-container {
            position: fixed;
            top: 20px;
            right: 20px;
            z-index: 99999;
            display: flex;
            flex-direction: column;
            gap: 10px;
        }

        .toast {
            background-color: #334155;
            color: white;
            padding: 16px 24px;
            border-radius: 12px;
            box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.2);
            font-size: 14px;
            opacity: 0;
            transform: translateX(100%);
            animation: slideInRight 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards;
            max-width: 350px;
            font-weight: 500;
            display: flex;
            align-items: center;
            gap: 12px;
            border-left: 4px solid #3b82f6;
            word-break: break-word;
            word-wrap: break-word;
        }

        @keyframes slideInRight {
            to {
                opacity: 1;
                transform: translateX(0);
            }
        }

        .custom-scrollbar::-webkit-scrollbar {
            width: 6px;
            height: 6px;
        }

        .custom-scrollbar::-webkit-scrollbar-track {
            background: transparent;
        }

        .custom-scrollbar::-webkit-scrollbar-thumb {
            background-color: #cbd5e1;
            border-radius: 10px;
        }

        .custom-scrollbar::-webkit-scrollbar-thumb:hover {
            background-color: #94a3b8;
        }

        .line-clamp-2 {
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }

        input[type="month"]::-webkit-calendar-picker-indicator {
            cursor: pointer;
            opacity: 0.6;
            transition: 0.2s;
        }

        input[type="month"]::-webkit-calendar-picker-indicator:hover {
            opacity: 1;
        }

        .docx-preview-content {
            line-height: 1.6;
            color: #0f172a;
            word-break: break-word;
        }

        .docx-preview-content h1,
        .docx-preview-content h2,
        .docx-preview-content h3 {
            font-weight: 800;
            margin: 1rem 0 .6rem;
        }

        .docx-preview-content p {
            margin: .6rem 0;
        }

        .docx-preview-content ul,
        .docx-preview-content ol {
            margin: .6rem 0 .6rem 1.2rem;
        }

        .docx-preview-content table {
            width: 100%;
            border-collapse: collapse;
            margin: .8rem 0;
        }

        .docx-preview-content td,
        .docx-preview-content th {
            border: 1px solid #cbd5e1;
            padding: .45rem;
        }

        .docx-scroll-area {
            min-height: 0;
            max-height: 100%;
            overflow-y: auto;
            overflow-x: auto;
            -webkit-overflow-scrolling: touch;
            overscroll-behavior: contain;
            touch-action: pan-y;
        }

        #modal-pdf-card,
        #pdf-preview-container {
            min-height: 0;
        }

        /* --- Mobile safe-area / navegador nao ocultar header/icones --- */
        html,
        body {
            height: 100%;
        }

        body {
            min-height: 100svh;
        }

        @supports(padding: env(safe-area-inset-top)) {
            #appHeader {
                padding-top: calc(env(safe-area-inset-top) + 4px);
                height: calc(4rem + env(safe-area-inset-top));
            }

            @media (min-width: 768px) {
                #appHeader {
                    padding-top: 0;
                    height: 5rem;
                }
            }

            main {
                padding-bottom: env(safe-area-inset-bottom);
            }
        }

        /* iOS/Android: evita -"100vh- bug em navegadores mobile */
        @supports (height: 100dvh) {
            body {
                min-height: 100dvh;
            }
        }
        /* Ajustes mobile: safe-area + 100svh */
        .safe-area {
            padding-top: env(safe-area-inset-top);
            padding-bottom: env(safe-area-inset-bottom);
        }

        @supports not (height: 100svh) {
            .safe-area {
                padding-top: 0;
                padding-bottom: 0;
            }
        }
