/* CSS RESET & VARS (TRI CONSULTORIA: Verde Corporativo e Cinza/Laranja) */
        :root {
            --primary: #32373c; /* Dark Charcoal from Site */
            --primary-hover: #1a1e23;
            --accent-green: #83f79b; /* Neon Green from Site */
            --dark-charcoal: #1e293b;
            --light-bg: #f8fafc;
            --accent-orange: #e05a00;
            --border-color: #cbd5e1;
        }

        * { box-sizing: border-box; margin: 0; padding: 0; }

        /* TIPOGRAFIA PRINCIPAL: Calibri para todo o app (body, inputs, botões) */
        body {
            font-family: 'Calibri', 'Segoe UI', system-ui, sans-serif;
            background-color: #f1f5f9; color: #1e293b;
            display: flex; flex-direction: column; height: 100vh; width: 100vw; overflow: hidden;
        }
        input, button, select, textarea {
            font-family: 'Calibri', 'Segoe UI', system-ui, sans-serif;
        }

        /* BARRA SUPERIOR */
        .word-top-bar {
            background-color: var(--primary); color: #ffffff; height: 26px;
            display: flex; justify-content: space-between; align-items: center;
            padding: 0 10px; font-size: 11px; font-weight: 500; user-select: none; z-index: 100;
        }
        .top-bar-left { display: flex; align-items: center; gap: 8px; }
        .top-bar-icon { cursor: pointer; padding: 2px 5px; border-radius: 4px; transition: background 0.2s; }
        .top-bar-icon:hover { background-color: rgba(255, 255, 255, 0.15); }
        .top-bar-center { position: absolute; left: 50%; transform: translateX(-50%); font-weight: 600; }

        /* FAIXA DE OPÇÕES (RIBBON) */
        .word-ribbon {
            background-color: #f8fafc; border-bottom: 1px solid var(--border-color);
            display: flex; flex-direction: column; user-select: none; z-index: 90;
        }
        .ribbon-tabs {
            display: flex; padding-left: 12px; background-color: var(--primary);
            height: 28px; align-items: flex-end;
        }
        .ribbon-tab {
            padding: 5px 12px; font-size: 12px; color: #ffffff;
            cursor: pointer; background: none; border: none; font-weight: 500;
        }
        .ribbon-tab.active {
            background-color: #f8fafc; color: var(--primary); font-weight: 700;
            border-top-left-radius: 4px; border-top-right-radius: 4px;
        }

        .ribbon-panel {
            background-color: #f8fafc; padding: 6px 10px; display: flex;
            flex-wrap: wrap; flex-direction: row; justify-content: flex-start;
            align-items: flex-start; gap: 8px; max-width: 100%; overflow-x: hidden;
            min-height: auto;
        }
        .ribbon-group {
            display: flex; align-items: center; gap: 5px;
            border-right: 1px solid var(--border-color); padding-right: 10px;
            padding-top: 2px; padding-bottom: 2px;
            flex: 1 1 auto; max-width: 100%;
        }
        .ribbon-row-container { display: flex; flex-direction: column; gap: 4px; max-width: 100%; flex: 1 1 auto; justify-content: center; }
        .ribbon-sub-row { display: flex; flex-direction: row; gap: 4px; flex-wrap: nowrap; align-items: center; justify-content: flex-start; max-width: 100%; overflow: visible; }

        /* BOTÕES RIBBON */
        .ribbon-btn {
            background-color: #ffffff; border: 1px solid var(--border-color); padding: 4px 8px;
            font-size: 11px; font-weight: 600; cursor: pointer;
            display: inline-flex; align-items: center; gap: 4px; border-radius: 4px; color: var(--dark-charcoal);
            height: 24px; white-space: nowrap; transition: all 0.15s ease;
            max-width: 100%; overflow: hidden; text-overflow: ellipsis;
        }
        .ribbon-btn:hover { background-color: #f1f5f9; border-color: #94a3b8; color: #000; }
        .ribbon-btn-icon { font-size: 12px; }
        
        .btn-composite { background-color: #fff7ed; border-color: #fed7aa; color: #c2410c; }
        .btn-composite:hover { background-color: #ffedd5; }
        .btn-evtl { background-color: #f0fdf4; border-color: #bbf7d0; color: #15803d; }
        .btn-evtl:hover { background-color: #dcfce7; }
        .btn-danger { background-color: #fde8e8; border-color: #fca5a5; color: #9b1c1c; }
        .btn-danger:hover { background-color: #fcd3d3; }
        .btn-export-word { background-color: #ecfdf5; border-color: #a7f3d0; color: #065f46; }
        .btn-export-word:hover { background-color: #d1fae5; }
        .btn-export-pdf { background-color: #fffbeb; border-color: #fde68a; color: #92400e; }
        .btn-export-pdf:hover { background-color: #fef3c7; }

        /* STATUS DE CONTEXTO */
        .context-indicator-bar {
            background-color: #fffbeb; padding: 4px 12px; font-size: 11px; color: #334155;
            border-bottom: 1px solid var(--border-color); display: flex; align-items: center; justify-content: space-between; user-select: none;
            min-height: auto;
        }
        .active-pill { background-color: var(--primary); color: white; padding: 2px 6px; border-radius: 4px; font-weight: bold; }

        /* NAVEGAÇÃO LATERAL (SIDEBAR) */
        .word-main-workspace { display: flex; flex: 1; overflow: hidden; width: 100%; }
        .word-navigation-sidebar { width: 250px; background-color: #ffffff; border-right: 1px solid #e2e8f0; display: flex; flex-direction: column; height: 100%; user-select: none; overflow: hidden; }
        .sidebar-title { padding: 6px 12px 2px 12px; font-size: 12px; font-weight: 700; color: var(--dark-charcoal); }
        .sidebar-search-box { padding: 3px 12px 6px 12px; }
        .sidebar-search-box input { width: 100%; padding: 4px 8px; font-size: 11px; border: 1px solid var(--border-color); border-radius: 4px; outline: none; }
        .sidebar-search-box input:focus { border-color: var(--primary); }
        .sidebar-tabs { display: flex; border-bottom: 1px solid #e2e8f0; padding: 0 12px; }
        .sidebar-tab { flex: 1; background: none; border: none; padding: 4px 0; font-size: 11px; color: #64748b; cursor: pointer; font-weight: 500; }
        .sidebar-tab.active { color: var(--primary); font-weight: 700; position: relative; }
        .sidebar-tab.active::after { content: ""; position: absolute; bottom: -1px; left: 0; width: 100%; height: 2px; background-color: var(--primary); }
        .sidebar-tree-container { flex: 1 1 auto; overflow-y: auto; padding: 4px 0; min-height: 0; }
        
        /* TREE STRUCTURE */
        .tree-root-node {
            display: flex; align-items: center; justify-content: space-between;
            padding: 8px 16px; font-size: 13px; font-weight: 700; background-color: #f1f5f9;
            border-bottom: 1px solid #e2e8f0; cursor: pointer;
        }
        .tree-root-node:hover { background-color: #e2e8f0; }
        .tree-item {
            display: flex; align-items: center; gap: 4px; padding: 6px 16px; font-size: 12px; color: var(--dark-charcoal);
            background: none; border: none; text-align: left; width: 100%; cursor: pointer; transition: background 0.15s;
        }
        .tree-item:hover { background-color: #f1f5f9; }
        .tree-item.level-2 { padding-left: 28px; }
        .tree-item.level-3 { padding-left: 40px; }
        .tree-item-editable-title {
            border-bottom: 1px transparent;
        }
        .tree-item-editable-title:focus {
            background-color: #ffffff;
            border-bottom: 1px dashed var(--primary);
            padding: 1px 4px;
            border-radius: 2px;
        }

        /* FOLHA DE TRABALHO (ABNT NBR 14724) */
        .document-scroll-workspace {
            flex: 1; overflow-y: auto; padding: 40px; display: flex;
            flex-direction: column; align-items: center; scroll-behavior: smooth;
        }

        .page-a4 {
            background-color: #ffffff; width: 210mm; min-height: 297mm;
            padding: 30mm 20mm 20mm 30mm; /* ABNT: Sup: 3cm, Esq: 3cm, Dir: 2cm, Inf: 2cm */
            margin-bottom: 30px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
            position: relative; outline: none; font-family: 'Calibri', 'Arial', sans-serif; color: #000000;
            box-sizing: border-box; overflow: hidden;
            font-size: 12pt;
        }

        /* CABEÇALHOS INTERNOS CENTRALIZADOS */
        .page-header-company {
            position: absolute;
            top: 12mm;
            left: 30mm;
            right: 20mm;
            font-size: 10pt;
            font-family: Arial, sans-serif;
            color: #475569;
            text-align: center;
            text-transform: uppercase;
            font-weight: bold;
            border-bottom: 1px solid #cbd5e1;
            padding-bottom: 4px;
            user-select: none;
        }

        /* RODAPÉ INFERIOR */
        .page-footer-text {
            position: absolute;
            bottom: 10mm;
            left: 30mm;
            right: 20mm;
            font-size: 10pt;
            font-family: Arial, sans-serif;
            color: #475569;
            text-align: center;
            border-top: 1px solid #cbd5e1;
            padding-top: 4px;
            user-select: none;
        }

        /* SEÇÕES DESTACADAS (DESTAQUE VERDE EVTL) */
        .secao-destacada {
            background-color: #e6f2ec !important; /* Verde Tri pastel suave */
            border-left: 6px solid var(--primary) !important; /* Borda Tri */
            padding: 10px 15px !important;
            border-radius: 4px !important;
            margin-top: 18pt !important;
            margin-bottom: 12pt !important;
            color: #005a2d !important;
        }
        .secao-destacada-solid {
            background-color: var(--primary) !important; /* Verde Tri sólido */
            color: #ffffff !important;
            padding: 12px 18px !important;
            border-radius: 4px !important;
            margin-top: 18pt !important;
            margin-bottom: 12pt !important;
            border-left: none !important;
        }

        /* CAPA ABNT */
        .page-a4.cover-page {
            display: flex !important;
            flex-direction: column !important;
            justify-content: space-between !important;
            align-items: center !important;
            text-align: center !important;
            padding: 3cm 2cm 2cm 3cm !important;
            box-sizing: border-box !important;
        }
        .cover-top {
            font-size: 12pt;
            font-weight: bold;
            text-transform: uppercase;
            font-family: 'Arial', 'Times New Roman', sans-serif;
            margin-bottom: 2cm;
            width: 100%;
            text-align: center;
        }
        .cover-center {
            flex-grow: 1;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            width: 100%;
        }
        .cover-title {
            font-size: 16pt;
            font-weight: bold;
            text-transform: uppercase;
            font-family: 'Arial', 'Times New Roman', sans-serif;
            color: var(--primary);
            margin-bottom: 24pt;
        }
        .cover-metadata {
            font-size: 11pt;
            font-weight: bold;
            font-family: 'Arial', 'Times New Roman', sans-serif;
            display: flex;
            flex-direction: column;
            gap: 6px;
            color: #000000;
        }
        .cover-bottom {
            font-size: 12pt;
            font-weight: bold;
            text-transform: uppercase;
            font-family: 'Arial', 'Times New Roman', sans-serif;
            margin-top: 2cm;
            width: 100%;
        }

        /* MARCA D'ÁGUA */
        .watermark-bg {
            position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
            width: 70%; height: auto; max-height: 70%; object-fit: contain;
            opacity: 0.08 !important; pointer-events: none; user-select: none; z-index: 0;
        }

        /* TEXTO DO DOCUMENTO (parágrafos: 11pt) */
        .document-scroll-workspace p {
            font-size: 11pt; line-height: 1.5; text-align: justify;
            text-indent: 1.25cm; margin: 0; padding: 0 0 6pt 0;
        }

        /* TÍTULOS h1 a h6: 12pt */
        .document-scroll-workspace h1, .document-scroll-workspace h2,
        .document-scroll-workspace h3, .document-scroll-workspace h4,
        .document-scroll-workspace h5, .document-scroll-workspace h6 {
            font-size: 12pt;
        }
        
        /* NUMERAÇÃO VIA ATRIBUTO DATA-NUMBER PARA CORRIGIR BUG DE ESCOPO DO CSS */
        .document-scroll-workspace h1 {
            font-size: 12pt; text-transform: uppercase; font-weight: bold;
            margin-top: 18pt; margin-bottom: 18pt; text-indent: 0;
        }
        .document-scroll-workspace h1::before { content: attr(data-number) " "; }
        
        .document-scroll-workspace h2 {
            font-size: 12pt; text-transform: uppercase; font-weight: normal;
            margin-top: 18pt; margin-bottom: 18pt; text-indent: 0;
        }
        .document-scroll-workspace h2::before { content: attr(data-number) " "; }
        
        .document-scroll-workspace h3 {
            font-size: 12pt; text-transform: none; font-weight: bold;
            margin-top: 18pt; margin-bottom: 18pt; text-indent: 0;
        }
        .document-scroll-workspace h3::before { content: attr(data-number) " "; }

        .document-scroll-workspace h1:focus, .document-scroll-workspace h2:focus, .document-scroll-workspace h3:focus {
            background-color: #f1f5f9; outline: 1px dashed var(--primary);
        }
        .document-scroll-workspace p:focus { outline: 1px dashed #cbd5e1; background-color: #f8fafc; }

        /* IMAGENS ABNT */
        .img-padrao-abnt {
            display: block; margin: 15pt auto 6pt auto;
            width: 100%; max-width: 15cm; height: auto;
            object-fit: contain; border: 1px solid var(--border-color); cursor: pointer;
        }
        .document-scroll-workspace figure { margin: 18pt auto; text-align: center; max-width: 100%; display: block; outline: none; }
        .document-scroll-workspace figure .fig-title { font-size: 10pt; font-weight: normal; margin-top: 6pt; margin-bottom: 2pt; text-align: center; color: #000000; }
        .document-scroll-workspace figure .fig-title::before { content: "Figura " attr(data-number) ": "; font-weight: bold; }
        .document-scroll-workspace figure .fig-source { font-size: 10pt; margin-top: 2pt; margin-bottom: 6pt; text-align: center; color: #000000; }
        .document-scroll-workspace figure .fig-source::before { content: "Fonte: "; font-weight: bold; }

        /* LEGENDAS DE FOTOS: 10pt */
        .document-scroll-workspace figure .fig-title,
        .document-scroll-workspace figure .fig-source { font-size: 10pt; }

        /* CONTROLES DE FORMATO DA FOTO (anexados à imagem) */
        .img-format-controls {
            display: flex; gap: 4px; justify-content: center; flex-wrap: wrap;
            margin-bottom: 6px; user-select: none;
        }
        .img-format-controls button {
            font-family: 'Calibri', sans-serif; font-size: 10px; font-weight: 600;
            padding: 2px 8px; border: 1px solid var(--border-color); border-radius: 4px;
            background: #f0fdf4; color: #166534; cursor: pointer;
        }
        .img-format-controls button:hover { background: #dcfce7; border-color: #86efac; }
        /* Formatos visuais da imagem */
        .img-padrao-abnt.img-fmt-padrao { width: 300px !important; height: auto !important; max-width: none !important; object-fit: contain !important; }
        .img-padrao-abnt.img-fmt-livre { resize: both !important; overflow: hidden !important; max-width: none !important; }
        .img-padrao-abnt.img-fmt-retangular { width: 400px !important; height: 250px !important; max-width: none !important; object-fit: cover !important; }
        .img-padrao-abnt.img-fmt-vertical { width: 250px !important; height: 400px !important; max-width: none !important; object-fit: cover !important; }

        /* BOTÃO DE STATUS DINÂMICO NAS TABELAS (Avaliar/Sim/Não) */
        .status-toggle {
            display: inline-block; padding: 2px 12px; border-radius: 4px;
            font-weight: bold; font-size: 10.5pt; cursor: pointer;
            border: 1px solid rgba(0,0,0,0.15); user-select: none; text-align: center;
            -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important;
        }

        /* BLOCOS DE ANEXO */
        .anexo-block { margin: 12pt 0; }
        .anexo-block .anexo-title {
            font-size: 12pt; font-weight: bold; text-transform: uppercase;
            text-align: center; margin-bottom: 12pt; color: #000000;
        }

        /* TABELAS ABNT - CORREÇÃO VISUAL PARA PADRÃO EXATO */
        .abnt-table-container { margin: 18pt auto; width: 100%; outline: none; position: relative; }
        .abnt-table-container .table-title { font-size: 10pt; font-weight: normal; margin-bottom: 6pt; text-align: left; }
        .abnt-table-container .table-title::before { content: "Tabela " attr(data-number) " – "; font-weight: bold; }
        .abnt-table-container .table-source { font-size: 10pt; margin-top: 6pt; text-align: left; }
        .abnt-table-container .table-source::before { content: "Fonte: "; font-weight: bold; }
        .abnt-table-container table { width: 100%; border-collapse: collapse; font-size: 10.5pt; border-top: 1.5pt solid #000; border-bottom: 1.5pt solid #000; background-color: transparent; border-left: none; border-right: none; }
        .abnt-table-container th { font-weight: bold; padding: 6px; text-align: left; border-top: 1.5pt solid #000; border-bottom: 1pt solid #000; border-left: none; border-right: none; background-color: transparent; }
        .abnt-table-container td { padding: 6px; text-align: left; border-top: none; border-bottom: 1px solid #cbd5e1; border-left: none; border-right: none; background-color: transparent; }

        /* BOTÃO DE ADICIONAR LINHA DINÂMICA */
        .btn-add-row {
            position: absolute;
            top: 0;
            right: 0;
            background-color: var(--primary);
            color: #ffffff;
            border: none;
            border-radius: 4px;
            width: 20px;
            height: 20px;
            font-size: 14px;
            font-weight: bold;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            line-height: 1;
            z-index: 10;
            transition: background-color 0.2s ease;
        }
        .btn-add-row:hover {
            background-color: var(--primary-hover);
        }

        /* TOGGLES INTERATIVOS DE INCIDÊNCIA */
        .incidencia-toggle {
            cursor: pointer;
            user-select: none;
            font-weight: bold;
            padding: 2px 4px;
            border-radius: 2px;
            transition: background-color 0.15s;
        }
        .incidencia-toggle:hover {
            background-color: rgba(0, 0, 0, 0.05);
        }

        .map-placeholder-box {
            border: 1px solid var(--border-color);
            background: #f8fafc;
            padding: 40px 24px;
            margin: 12pt 0;
            text-align: center;
            border-radius: 4px;
            color: #334155;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 8px;
        }

        /* SUMÁRIO GERAL (PONTILHADOS ALINHADOS) */
        .word-summary-container { border: none; padding: 0; margin: 0 0 24pt 0; background: transparent; user-select: none; }
        .word-summary-container h4 { font-size: 12pt; text-transform: uppercase; text-align: center; margin-bottom: 14pt; font-weight: bold; }
        .toc-block-title { font-size: 12pt; text-transform: uppercase; text-align: center; margin-bottom: 18pt; font-weight: bold; color: #000000; }
        .toc-sub-section { font-size: 11pt; font-weight: bold; margin-top: 14pt; margin-bottom: 6pt; border-bottom: 1px solid var(--border-color); padding-bottom: 4px; color: var(--primary); }
        
        .toc-line {
            display: flex; justify-content: space-between; align-items: flex-end;
            margin-bottom: 6px; font-size: 11pt; cursor: pointer; text-decoration: none; color: #000;
            gap: 4px;
        }
        .toc-line .toc-title {
            flex: 0 1 auto;
            word-break: break-word;
            padding-right: 4px;
        }
        .toc-line .toc-dots {
            flex: 1 1 auto;
            border-bottom: 1px dotted #94a3b8;
            margin-bottom: 3px;
            min-width: 10px;
        }
        .toc-line .toc-page {
            flex: 0 0 auto;
            font-style: normal;
            font-weight: normal;
            padding-left: 4px;
            text-align: right;
        }
        .toc-line.toc-h1 .toc-title { font-weight: bold; text-transform: uppercase; }
        .toc-line.toc-h1 .toc-page { font-weight: bold; }
        .toc-line.toc-h2 { padding-left: 15px; }
        .toc-line.toc-h3 { padding-left: 30px; }
        .toc-line.toc-fig, .toc-line.toc-tab { padding-left: 15px; }

        /* NÚMERO DE PÁGINA (ABNT: Canto Superior Direito) */
        .page-header-number {
            position: absolute; top: 20mm; right: 20mm;
            font-size: 10pt; font-family: Arial, sans-serif; color: #000000; user-select: none;
        }

        /* STATUS BAR BARRA INFERIOR */
        .word-status-bar { background-color: var(--primary); color: #ffffff; height: 26px; display: flex; justify-content: space-between; align-items: center; padding: 0 16px; font-size: 12px; user-select: none; z-index: 100; }
        
        /* MODAIS */
        .modal-bg { display: none; position: fixed; top:0; left:0; width:100%; height:100%; background: rgba(0,0,0,0.5); z-index: 1000; justify-content: center; align-items: center; }
        .modal-bg.show { display: flex; }
        .modal { background: #fff; width: 440px; padding: 24px; border-radius: 8px; box-shadow: 0 10px 25px rgba(0,0,0,0.2); border-top: 4px solid var(--primary); }
        .modal h3 { margin-bottom: 16px; font-size: 16px; font-weight: 700; color: var(--dark-charcoal); display: flex; align-items: center; gap: 8px; }
        .file-input-group { margin-bottom: 16px; }
        .file-input-group label { display: block; font-size: 12px; font-weight: 700; margin-bottom: 6px; color: #475569; }
        .file-input-group input, .file-input-group select { display: block; width: 100%; font-size: 13px; padding: 6px 10px; border: 1px solid var(--border-color); border-radius: 4px; outline: none; }
        .modal-buttons { display: flex; justify-content: flex-end; gap: 10px; margin-top: 24px; }
        .btn-modal { padding: 8px 16px; border: none; cursor: pointer; border-radius: 4px; font-weight: bold; font-size: 12px; }
        .btn-close { background: #f1f5f9; color: #475569; }
        .btn-save { background: #007A3E; color: #fff; }
        .btn-save:hover { background: #005a2d; }

        .doc-list-item {
            display: flex; justify-content: space-between; align-items: center; padding: 10px; border-bottom: 1px solid #e2e8f0; cursor: pointer; transition: background 0.2s;
        }
        .doc-list-item:hover { background-color: #f1f5f9; }

        @media print {
            @page { size: A4; margin: 0; }
            html, body {
                background: #ffffff !important;
                color: #000000 !important;
                display: block !important;
                height: auto !important;
                min-height: auto !important;
                overflow: visible !important;
                padding: 0 !important;
                margin: 0 !important;
                -webkit-print-color-adjust: exact !important;
                print-color-adjust: exact !important;
            }
            .word-top-bar, .word-ribbon, .word-navigation-sidebar, .word-status-bar, .context-indicator-bar { display: none !important; }
            .img-format-controls { display: none !important; }
            .status-toggle { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }
            .word-main-workspace, .document-scroll-workspace {
                display: block !important; width: auto !important; height: auto !important; overflow: visible !important; padding: 0 !important; margin: 0 auto !important; background: none !important;
            }
            .page-a4 {
                display: block !important; position: relative !important; width: 210mm !important; height: 297mm !important; box-sizing: border-box !important; overflow: hidden !important; box-shadow: none !important; margin: 0 auto !important; padding: 30mm 20mm 20mm 30mm !important; page-break-inside: avoid !important; border: none !important; border-bottom: none !important;
            }
            .page-a4:not(:last-child) { page-break-after: always !important; break-after: page !important; }
            
            .page-header-company { display: block !important; position: absolute !important; top: 12mm !important; left: 30mm !important; right: 20mm !important; text-align: center !important; font-size: 10pt !important; border-bottom: 1px solid #cbd5e1 !important; -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }
            .page-footer-text { display: block !important; position: absolute !important; bottom: 10mm !important; left: 30mm !important; right: 20mm !important; text-align: center !important; font-size: 10pt !important; border-top: 1px solid #cbd5e1 !important; -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }
            .secao-destacada { background-color: #e6f2ec !important; border-left: 6px solid #007A3E !important; padding: 10px 15px !important; color: #005a2d !important; -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }
            .secao-destacada-solid { background-color: #007A3E !important; color: #ffffff !important; padding: 12px 18px !important; -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }
            .page-a4.cover-page { display: block !important; text-align: center !important; height: 297mm !important; max-height: 297mm !important; overflow: hidden !important; }
            .page-break { page-break-before: always !important; break-before: page !important; }
            h1 { page-break-before: auto !important; break-before: auto !important; }
            h2, h3, figure, .abnt-table-container, .evtl-composite-block { page-break-before: auto !important; break-before: auto !important; }
            .word-summary-container { border: none !important; background: transparent !important; padding: 0 !important; margin: 0 !important; }
            .toc-block { page-break-before: always !important; break-before: page !important; }
            #toc-summary { page-break-before: avoid !important; break-before: avoid !important; }
            
            .toc-line {
                display: flex !important; justify-content: space-between !important; align-items: flex-end !important; width: 100% !important; margin-bottom: 6px !important; font-size: 11pt !important; gap: 4px !important; page-break-inside: avoid !important; break-inside: avoid !important;
            }
            .toc-line .toc-title { flex: 0 1 auto !important; word-break: break-word !important; padding-right: 4px !important; }
            .toc-line .toc-dots { display: block !important; flex: 1 1 auto !important; border-bottom: 1px dotted #94a3b8 !important; margin-bottom: 3px !important; min-width: 10px !important; }
            .toc-line .toc-page { flex: 0 0 auto !important; padding-left: 4px !important; text-align: right !important; }
            .print-hidden-page { display: none !important; }
            .btn-add-row { display: none !important; }
        }

/* ESTILOS DA FICHA DE PUBLICIDADE */
.ficha-pub-table { width: 100%; border-collapse: collapse; margin-bottom: 20px; font-family: Arial, sans-serif; font-size: 10pt; border: 1px solid #000; }
.ficha-pub-table th, .ficha-pub-table td { border: 1px solid #000; padding: 6px; vertical-align: middle; }
.ficha-pub-header { background-color: #005a2d !important; color: white !important; font-weight: bold; text-align: center; text-transform: uppercase; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.ficha-pub-subheader { background-color: #fff2cc !important; font-weight: bold; text-align: center; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.ficha-pub-row-title { font-weight: bold; background-color: #f8f9fa !important; width: 35%; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.ficha-pub-analysis { text-align: center; font-weight: bold; }
.ficha-pub-status-atende { color: #005a2d; font-size: 24pt; font-weight: bold; display: block; line-height: 1; }
.ficha-pub-status-nao { color: #dc3545; font-size: 24pt; font-weight: bold; display: block; line-height: 1; }
.ficha-pub-photo-cell { height: 150px; text-align: center; vertical-align: middle; background-color: #f1f1f1 !important; color: #666; border: 1px dashed #999; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.btn-ia-analisar { background: #000; color: #00ff88; border: none; padding: 4px 10px; border-radius: 4px; font-size: 10pt; cursor: pointer; font-weight: bold; margin-bottom: 5px; display: inline-flex; align-items: center; gap: 4px; }
.btn-ia-analisar:hover { background: #333; }