/* VTCDOCS — Estilos principais */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

        :root {
            --bg-body: #f5f5f7;
            --bg-card: #ffffff;
            --primary: #1d1d1f;
            --primary-hover: #3a3a3c;
            --accent: #2563eb;
            --accent-hover: #1d4ed8;
            --accent-indigo: #4f46e5;
            --accent-gradient: linear-gradient(135deg, var(--accent), var(--accent-indigo));
            --danger: #ff3b30;
            --danger-hover: #d70015;
            --danger-text: #b91c1c;
            --danger-bg: #fef2f2;
            --danger-bg-hover: #fee2e2;
            --danger-border: #fecaca;
            --success: #10b981;
            --success-hover: #059669;
            --success-text: #16a34a;
            --success-bg: #f0fdf4;
            --success-bg-hover: #dcfce7;
            --success-border: #bbf7d0;
            --warning: #d97706;
            --warning-hover: #b45309;
            --warning-text: #92400e;
            --warning-bg: #fffbeb;
            --warning-bg-hover: #fef3c7;
            --warning-border: #fde68a;
            --beta: #8b5cf6;
            --beta-strong: #6d28d9;
            --orange: #f97316;
            --orange-hover: #ea580c;
            --icon-tint-indigo: linear-gradient(135deg, #eef2ff, #dbe4ff);
            --icon-tint-blue: linear-gradient(135deg, #f0f9ff, #e0f2fe);
            --icon-tint-green: linear-gradient(135deg, var(--success-bg), var(--success-bg-hover));
            --icon-tint-red: linear-gradient(135deg, #ffe5e3, #ffd4d1);
            --icon-tint-amber: linear-gradient(135deg, #fff3d6, #ffe4b8);
            --icon-tint-purple: linear-gradient(135deg, #ede9fe, #ddd6fe);
            --border: #e5e5ea;
            --border-strong: #c7c7cc;
            --text-main: #1d1d1f;
            --text-muted: #6e6e73;
            --bg-subtle: #f8fafc;
            --bg-muted: #f0f1f5;
            --surface: #ffffff;
            --surface-hover: #f1f1f3;
            --accent-rgb: 37, 99, 235;
            --success-rgb: 16, 185, 129;
            --danger-rgb: 255, 59, 48;
            --primary-rgb: 29, 29, 31;
            --warning-rgb: 217, 119, 6;
            --beta-strong-rgb: 109, 40, 217;
            --shadow-sm: 0 1px 2px rgba(0,0,0,0.04), 0 1px 1px rgba(0,0,0,0.03);
            --shadow-md: 0 8px 24px rgba(0,0,0,0.06), 0 2px 6px rgba(0,0,0,0.04);
            --shadow-lg: 0 24px 60px rgba(0,0,0,0.12), 0 8px 20px rgba(0,0,0,0.06);
            --radius-xl: 24px;
            --radius-lg: 20px;
            --radius-md: 14px;
            --radius-sm: 10px;
        }

        *, *::before, *::after { box-sizing: border-box; }
        * { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
        body.pausar-animacoes-fundo .login-container::before,
        body.pausar-animacoes-fundo .login-container::after,
        body.pausar-animacoes-fundo .banner-festa-confete,
        body.pausar-animacoes-fundo .banner-festa,
        body.pausar-animacoes-fundo .experiencia-brilho,
        body.pausar-animacoes-fundo .experiencia-estrela,
        body.pausar-animacoes-fundo .experiencia-particula,
        body.pausar-animacoes-fundo .experiencia-icone,
        body.pausar-animacoes-fundo button.gerar,
        body.pausar-animacoes-fundo .celebracao-emoji { animation-play-state: paused !important; }
        button:not(:disabled):active, .menu-card:active, .btn-icon:active { transform: scale(0.96); }
        button { transition: transform 0.15s cubic-bezier(0.4,0,0.2,1), background 0.2s, box-shadow 0.2s, border-color 0.2s; }
        .card:hover { box-shadow: var(--shadow-md); }

        /* --- TEMA ESCURO (navy profundo — padrão da plataforma) --- */
        body.tema-escuro { color-scheme: dark; }
        body.tema-escuro {
            --bg-body: #08101e;
            --bg-card: #111827;
            --primary: #e8eeff;
            --primary-hover: #c5cee8;
            --border: rgba(255,255,255,0.08);
            --border-strong: rgba(255,255,255,0.16);
            --text-main: #e8eeff;
            --text-muted: #6b7a99;
            --bg-subtle: #0e1829;
            --bg-muted: #1a2338;
            --surface: #1a2338;
            --surface-hover: #243050;
            --icon-tint-indigo: rgba(37,99,235,0.18);
            --icon-tint-blue: rgba(59,130,246,0.15);
            --icon-tint-green: rgba(16,185,129,0.15);
            --icon-tint-red: rgba(255,59,48,0.15);
            --icon-tint-amber: rgba(245,158,11,0.15);
            --icon-tint-purple: rgba(139,92,246,0.15);
            --success-text: #4ade80; --success-bg: rgba(16,185,129,0.12); --success-bg-hover: rgba(16,185,129,0.20); --success-border: rgba(16,185,129,0.28);
            --danger-text: #ff6b63; --danger-bg: rgba(255,59,48,0.12); --danger-bg-hover: rgba(255,59,48,0.20); --danger-border: rgba(255,59,48,0.28);
            --warning-text: #fbbf24; --warning-bg: rgba(217,119,6,0.14); --warning-bg-hover: rgba(217,119,6,0.24); --warning-border: rgba(217,119,6,0.32);
            --shadow-sm: 0 1px 3px rgba(0,0,0,0.4);
            --shadow-md: 0 8px 24px rgba(0,0,0,0.5), 0 2px 6px rgba(0,0,0,0.3);
            --shadow-lg: 0 24px 60px rgba(0,0,0,0.6), 0 8px 20px rgba(0,0,0,0.4);
            background: #08101e;
        }
        body.tema-escuro .header-app, body.tema-escuro .barra-topo-fixa { background: rgba(8,16,30,0.82); border-color: rgba(255,255,255,0.09); backdrop-filter: blur(22px) saturate(140%); -webkit-backdrop-filter: blur(22px) saturate(140%); }
        body.tema-escuro .nav-abas { background: rgba(255,255,255,0.05); }
        body.tema-escuro .btn-aba.ativa { background: rgba(255,255,255,0.09); color: var(--accent); }
        body.tema-escuro .btn-tool, body.tema-escuro .btn-icon, body.tema-escuro .barra-topo-usuario:hover,
        body.tema-escuro .tema-toggle-grupo, body.tema-escuro .estatisticas-periodo { background: rgba(255,255,255,0.07); color: var(--text-main); }
        body.tema-escuro input[type="text"], body.tema-escuro input[type="password"], body.tema-escuro input[type="date"],
        body.tema-escuro input[type="number"], body.tema-escuro input[type="email"], body.tema-escuro input[type="tel"],
        body.tema-escuro input[type="search"], body.tema-escuro input[type="url"], body.tema-escuro input[type="time"],
        body.tema-escuro textarea,
        body.tema-escuro select, body.tema-escuro .campo-editavel, body.tema-escuro .observacao-texto {
            background: rgba(255,255,255,0.07);
            border-color: rgba(255,255,255,0.13) !important;
            color: rgba(255,255,255,0.92);
        }
        body.tema-escuro select option { background: #1a2338; color: rgba(255,255,255,0.92); }
        body.tema-escuro input::placeholder, body.tema-escuro textarea::placeholder { color: rgba(255,255,255,0.22); }
        body.tema-escuro input:focus, body.tema-escuro select:focus, body.tema-escuro .campo-editavel:focus { background: rgba(255,255,255,0.11) !important; border-color: rgba(37,99,235,0.6) !important; box-shadow: 0 0 0 4px rgba(37,99,235,0.15) !important; }
        /* Overrides para elementos com inline style="background:#fff" que ganham especificidade */
        body.tema-escuro .busca-historico { background: rgba(255,255,255,0.07) !important; color: rgba(255,255,255,0.92) !important; border-color: rgba(255,255,255,0.13) !important; }
        body.tema-escuro #filtroStatusHistoricoCot { background: rgba(255,255,255,0.07) !important; color: rgba(255,255,255,0.92) !important; border-color: rgba(255,255,255,0.13) !important; }
        body.tema-escuro #calcOrigem { background: rgba(255,255,255,0.04) !important; color: rgba(255,255,255,0.45) !important; }
        body.tema-escuro #calcKMResultado { background: rgba(255,255,255,0.07) !important; border-color: rgba(37,99,235,0.4) !important; }
        body.tema-escuro #kmContainer { background: rgba(37,99,235,0.08) !important; border-color: rgba(37,99,235,0.25) !important; }
        body.tema-escuro #cotTotal, body.tema-escuro #cotIcms { background: rgba(37,99,235,0.14) !important; }
        body.tema-escuro #cotTotalReversa { background: rgba(249,115,22,0.12) !important; }
        body.tema-escuro .modal-content { background: #111827; border-color: rgba(255,255,255,0.1); box-shadow: 0 20px 60px rgba(0,0,0,0.45), 0 0 0 1px rgba(255,255,255,0.06); }
        body.tema-escuro .modal-header, body.tema-escuro .modal-footer { border-color: rgba(255,255,255,0.09); }
        body.tema-escuro .menu-usuario-dropdown, body.tema-escuro .formato-menu,
        body.tema-escuro .linha-menu, body.tema-escuro .toast-notificacao { background: rgba(17,24,39,0.98); border-color: rgba(255,255,255,0.09); }
        body.tema-escuro .menu-usuario-dropdown button:hover, body.tema-escuro .formato-menu button:hover,
        body.tema-escuro .linha-menu button:hover, body.tema-escuro .btn-tool:hover, body.tema-escuro .btn-periodo.ativo,
        body.tema-escuro .btn-tema.ativo { background: rgba(255,255,255,0.09); }
        body.tema-escuro .estatistica-card, body.tema-escuro .ranking-item, body.tema-escuro .grafico-semanal,
        body.tema-escuro .menu-card, body.tema-escuro .tabela-historico, body.tema-escuro .painel-estatisticas,
        body.tema-escuro .tabela-container { background: #111827; border-color: rgba(255,255,255,0.07); }
        body.tema-escuro .card {
            background: rgba(255,255,255,0.045);
            backdrop-filter: blur(20px) saturate(130%);
            -webkit-backdrop-filter: blur(20px) saturate(130%);
            border-color: rgba(255,255,255,0.1);
            box-shadow: 0 8px 32px rgba(0,0,0,0.35), inset 0 1px 0 rgba(255,255,255,0.06);
        }
        body.tema-escuro .tabela-historico th { background: #0e1829; }
        body.tema-escuro .celula-wrap input, body.tema-escuro .celula-wrap textarea { background: #1a2338; color: var(--text-main); }
        body.tema-escuro .linha-cabecalho input, body.tema-escuro .linha-cabecalho textarea { background: #0e1829; }
        ::-webkit-scrollbar { width: 10px; height: 10px; }
        ::-webkit-scrollbar-track { background: transparent; }
        ::-webkit-scrollbar-thumb { background: rgba(0,0,0,0.18); border-radius: 10px; border: 2px solid transparent; background-clip: padding-box; }
        ::-webkit-scrollbar-thumb:hover { background: rgba(0,0,0,0.3); background-clip: padding-box; }

        body { font-family: 'Inter', system-ui, sans-serif; background: linear-gradient(135deg, #eef2ff 0%, #f5f5f7 50%, #e0e7ff 100%); color: var(--text-main); padding: 20px; margin: 0; line-height: 1.5; -webkit-font-smoothing: antialiased; min-height: 100vh; position: relative; }
        body::before { content: ''; position: fixed; width: 50vw; height: 50vw; max-width: 620px; max-height: 620px; border-radius: 50%; background: radial-gradient(circle, rgba(var(--accent-rgb),0.42), transparent 68%); top: -14%; left: -10%; z-index: -1; pointer-events: none; }
        body::after { content: ''; position: fixed; width: 46vw; height: 46vw; max-width: 580px; max-height: 580px; border-radius: 50%; background: radial-gradient(circle, rgba(129,140,248,0.38), transparent 68%); bottom: -12%; right: -10%; z-index: -1; pointer-events: none; }
        .blob-acento { content: ''; position: fixed; width: 32vw; height: 32vw; max-width: 420px; max-height: 420px; border-radius: 50%; background: radial-gradient(circle, rgba(56,189,248,0.32), transparent 68%); top: 30%; right: 8%; z-index: -1; pointer-events: none; }
        body.tema-escuro::before, body.tema-escuro::after, body.tema-escuro .blob-acento { display: none; }

        /* --- DARK: scrollbar navy --- */
        body.tema-escuro ::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.1); }
        body.tema-escuro ::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,0.2); }

        /* --- DARK: componentes com cores fixas (#fff, #eef1f6…) --- */
        body.tema-escuro .titulo-tabela { background: #1a2338 !important; border-left-color: var(--accent) !important; }
        body.tema-escuro .toolbar-tabela { background: #0e1829; border-color: rgba(255,255,255,0.07); }
        body.tema-escuro .preview-header { background: #111827; border-color: rgba(255,255,255,0.08); }
        body.tema-escuro .painel-preview { background: #111827; border-color: rgba(255,255,255,0.08); }
        body.tema-escuro .trilha-passos { background: rgba(255,255,255,0.04); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border-color: rgba(255,255,255,0.1); }
        body.tema-escuro .trilha-progresso-barra { background: rgba(255,255,255,0.08); }
        body.tema-escuro .wizard-nav-fixa { background: rgba(8,16,30,0.85); backdrop-filter: blur(22px) saturate(140%); -webkit-backdrop-filter: blur(22px) saturate(140%); border-color: rgba(255,255,255,0.1); }
        body.tema-escuro .wizard-btn-anterior { background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.1); color: rgba(255,255,255,0.75); }
        body.tema-escuro .wizard-passo-pill { background: rgba(255,255,255,0.05); border-color: rgba(255,255,255,0.1); color: rgba(255,255,255,0.5); }
        body.tema-escuro .btn-colar-simulador { background: rgba(37,99,235,0.1); border-color: rgba(37,99,235,0.28); }
        body.tema-escuro .btn-colar-simulador:hover { background: var(--accent); color: #fff; }

        /* Inputs gerais em dark */
        body.tema-escuro input:focus, body.tema-escuro select:focus { border-color: rgba(37,99,235,0.55) !important; box-shadow: 0 0 0 4px rgba(37,99,235,0.12) !important; }
        body.tema-escuro .input-group span { background: rgba(255,255,255,0.07); border-color: rgba(255,255,255,0.12); color: rgba(255,255,255,0.45); }
        body.tema-escuro .tag-input-container { background: #1a2338 !important; border-color: rgba(255,255,255,0.1) !important; }

        /* Botões de ação / toolbar */
        body.tema-escuro .btn-tipo-doc { background: #1a2338; border-color: rgba(255,255,255,0.08); color: var(--text-muted); }
        body.tema-escuro .btn-tipo-doc.ativo { background: var(--accent); border-color: var(--accent); color: #fff; }
        body.tema-escuro .btn-remover-linha, body.tema-escuro .btn-duplicar-linha, body.tema-escuro .btn-mover-linha { background: #1a2338; border-color: rgba(255,255,255,0.08); color: var(--text-muted); }
        body.tema-escuro .btn-remover-linha:hover { background: var(--danger); color: #fff; border-color: var(--danger); }
        body.tema-escuro .btn-duplicar-linha:hover { background: var(--accent); color: #fff; border-color: var(--accent); }
        body.tema-escuro .btn-mover-linha:hover { background: rgba(255,255,255,0.12); color: var(--text-main); }
        body.tema-escuro .btn-linha-menu-trigger { background: #1a2338; color: var(--text-muted); }
        body.tema-escuro .btn-linha-menu-trigger:hover { background: #243050; color: var(--text-main); }
        body.tema-escuro .btn-salvar-modelo:hover { background: var(--warning); color: #fff; }
        body.tema-escuro .btn-apagar-tabela:hover { background: var(--danger); color: #fff; }
        body.tema-escuro .btn-voltar-dash { border-color: rgba(255,255,255,0.1); color: var(--text-muted); }
        body.tema-escuro .btn-voltar-dash:hover { background: rgba(255,255,255,0.06); color: var(--text-main); }
        body.tema-escuro .btn-seletor-painel.ativo { background: #1a2338; color: var(--text-main); }
        body.tema-escuro .seletor-painel-direita { background: #0e1829; }

        /* Menus dropdown */
        body.tema-escuro .linha-menu button { color: var(--text-main); }
        body.tema-escuro .linha-menu button.item-perigo { color: var(--danger-text); }
        body.tema-escuro .linha-menu button.item-perigo:hover { background: rgba(255,59,48,0.1); }
        body.tema-escuro .tabela-menu { background: rgba(17,24,39,0.98); border-color: rgba(255,255,255,0.09); }
        body.tema-escuro .tabela-menu button { color: var(--text-main); }
        body.tema-escuro .tabela-menu button.item-perigo { color: var(--danger-text); }
        body.tema-escuro .tabela-menu button.item-perigo:hover { background: rgba(255,59,48,0.1); }
        body.tema-escuro .menu-usuario-dropdown button { color: var(--text-main); }
        body.tema-escuro .menu-usuario-dropdown button.item-perigo { color: var(--danger-text); }
        body.tema-escuro .menu-usuario-dropdown button.item-perigo:hover { background: rgba(255,59,48,0.1); }
        body.tema-escuro .acoes-menu-dropdown { background: #111827; border-color: rgba(255,255,255,0.08); box-shadow: 0 8px 24px rgba(0,0,0,0.5); }
        body.tema-escuro .acoes-menu-dropdown button { color: var(--text-main); }
        body.tema-escuro .acoes-menu-dropdown button:hover { background: #1a2338; }
        body.tema-escuro .acoes-menu-dropdown .separador-menu { background: rgba(255,255,255,0.06); }
        body.tema-escuro .acoes-menu-wrap .btn-acoes-trigger { border-color: rgba(255,255,255,0.1); color: var(--text-muted); }
        body.tema-escuro .acoes-menu-wrap .btn-acoes-trigger:hover { background: #1a2338; color: var(--text-main); }

        /* Formato dropdown / alinhamento */
        body.tema-escuro .formato-menu button { color: var(--text-main); }
        body.tema-escuro .formato-menu button:hover { background: rgba(255,255,255,0.07); }
        body.tema-escuro .formato-menu button i { color: var(--text-muted); }
        body.tema-escuro .formato-tab-bar { border-color: rgba(255,255,255,0.08); }
        body.tema-escuro .formato-tab { color: var(--text-muted); }
        body.tema-escuro .formato-tab:hover { background: rgba(255,255,255,0.07); color: var(--text-main); }
        body.tema-escuro .formato-tab.ativo { background: var(--accent); color: #fff; }
        body.tema-escuro .formato-tab i { color: inherit; }
        body.tema-escuro .formato-menu-divisor { background: rgba(255,255,255,0.06); }
        body.tema-escuro .alinhamento-label { color: var(--text-muted); }
        body.tema-escuro .btn-align { background: #1a2338; border-color: rgba(255,255,255,0.1); color: var(--text-muted); }
        body.tema-escuro .btn-align:hover { background: #243050; color: var(--text-main); }
        body.tema-escuro .btn-align.ativo { background: var(--accent); color: #fff; border-color: var(--accent); }
        body.tema-escuro .alinhamento-aplicar-em-massa button { background: #0e1829; border-color: rgba(37,99,235,0.25); color: var(--accent); }
        body.tema-escuro .alinhamento-aplicar-em-massa button:hover { background: rgba(37,99,235,0.15); border-color: var(--accent); }
        body.tema-escuro .celula-selecionada { outline-color: #60A5FA !important; background: rgba(96,165,250,0.18) !important; }
        body.tema-escuro .celula-selecionada .input-valor-celula { background: rgba(96,165,250,0.28) !important; color: var(--text-main) !important; }
        body.tema-escuro .celula-selecionada .input-valor-celula:focus { background: rgba(96,165,250,0.35) !important; outline: none; box-shadow: none; }
        body.tema-escuro .tabela-cell-toolbar { background: rgba(17,24,39,0.6); border-color: rgba(255,255,255,0.08); }
        body.tema-escuro .cell-tb-paineis { background: rgba(17,24,39,0.8); }
        body.tema-escuro .cell-tb-abas { background: rgba(10,16,30,0.6); border-color: rgba(255,255,255,0.08); }
        body.tema-escuro .cell-tb-aba { color: var(--text-muted); }
        body.tema-escuro .cell-tb-aba:hover { background: rgba(255,255,255,0.06); color: var(--text-main); }
        body.tema-escuro .cell-tb-aba.ativa { background: rgba(17,24,39,0.9); color: var(--accent); }
        body.tema-escuro .cell-tb-btn { background: #1a2338; border-color: rgba(255,255,255,0.1); color: var(--text-main); }
        body.tema-escuro .cell-tb-btn:hover { background: #243050; color: var(--accent); border-color: var(--accent); }
        body.tema-escuro .cell-tb-btn.ativo { background: var(--accent); color: #fff; border-color: var(--accent); }
        body.tema-escuro .cell-tb-align-btn { background: #1a2338; border-color: rgba(255,255,255,0.1); color: var(--text-muted); }
        body.tema-escuro .cell-tb-align-btn:hover { background: #243050; color: var(--accent); }
        body.tema-escuro .cell-tb-align-btn.ativo { background: var(--accent); color: #fff; border-color: var(--accent); }
        body.tema-escuro .cell-tb-sufixo { background: #1a2338; border-color: rgba(255,255,255,0.1); color: var(--text-main); }
        body.tema-escuro .input-sufixo { background: #1a2338; border-color: rgba(255,255,255,0.1); color: var(--text-main); }
        body.tema-escuro .formato-trigger { background: rgba(255,255,255,0.1); color: rgba(255,255,255,0.5); }
        body.tema-escuro .formato-trigger:hover { background: rgba(255,255,255,0.22); color: #fff; }
        body.tema-escuro .formato-trigger.ativo { background: var(--accent); color: #fff; }
        body.tema-escuro .linha-dados .formato-trigger { background: rgba(255,255,255,0.07); color: #6b7a99; }
        body.tema-escuro .linha-dados .formato-trigger:hover { background: rgba(255,255,255,0.14); color: var(--accent); }
        body.tema-escuro .linha-dados .formato-trigger.ativo { background: rgba(37,99,235,0.25); color: var(--accent); }

        /* Tabelas generalidades cotação */
        body.tema-escuro .tabela-generalidades-cot th { background: #0e1829; color: #e8eeff; }
        body.tema-escuro .tabela-generalidades-cot td { border-color: rgba(255,255,255,0.05); }
        body.tema-escuro .tabela-generalidades-cot input { background: #1a2338; color: var(--text-main); }
        body.tema-escuro .tabela-generalidades-cot input:focus { background: #0e1829 !important; border-color: var(--accent) !important; }
        body.tema-escuro .tabela-generalidades-cot tr:nth-child(even) td { background: rgba(255,255,255,0.025); }

        /* Observação */
        body.tema-escuro .observacao-container { background: #111827; border-color: rgba(255,255,255,0.07); }
        body.tema-escuro .observacao-container.destacada { background: rgba(217,119,6,0.1); border-color: rgba(217,119,6,0.3); }
        body.tema-escuro .observacao-toolbar button { background: #1a2338; border-color: rgba(255,255,255,0.08); color: var(--text-muted); }
        body.tema-escuro .observacao-toolbar button:hover { background: #243050; color: var(--text-main); }

        /* Kanban (Social Media usa tema próprio, mas dark global precisa de base) */
        body.tema-escuro .kanban-coluna { background: #111827; border-color: rgba(255,255,255,0.07); }
        body.tema-escuro .kanban-coluna-titulo { color: var(--text-main); }
        body.tema-escuro .kanban-coluna-contador { background: rgba(255,255,255,0.08); color: var(--text-muted); }
        body.tema-escuro .kanban-nova-coluna { border-color: rgba(255,255,255,0.14); color: var(--text-muted); }
        body.tema-escuro .kanban-card { background: #1a2338; border-color: rgba(255,255,255,0.07); }
        body.tema-escuro .kanban-card h4 { color: var(--text-main); }
        body.tema-escuro .kanban-card-data, body.tema-escuro .kanban-card-tipo-conteudo { color: var(--text-muted); }
        body.tema-escuro .kanban-tag-chip { background: rgba(255,255,255,0.08); color: var(--text-muted); }
        body.tema-escuro .kanban-card-check { border-color: rgba(255,255,255,0.2); }
        body.tema-escuro .kanban-vazio { color: var(--text-muted); border-color: rgba(255,255,255,0.1); }
        body.tema-escuro .kanban-pilar-tag { background: rgba(255,255,255,0.07); color: var(--text-muted); }
        body.tema-escuro .pasta-card, body.tema-escuro .material-card { background: #111827; border-color: rgba(255,255,255,0.07); }
        body.tema-escuro .pasta-card h4, body.tema-escuro .material-card h4 { color: var(--text-main); }
        body.tema-escuro .pasta-card span { color: var(--text-muted); }
        body.tema-escuro .material-preview { background: #0e1829; border-color: rgba(255,255,255,0.07); }
        body.tema-escuro .material-preview i { color: rgba(255,255,255,0.2); }
        body.tema-escuro .material-pasta-badge { background: rgba(255,255,255,0.07); color: var(--text-muted); }
        body.tema-escuro .material-acoes a, body.tema-escuro .material-acoes button { background: rgba(255,255,255,0.07); color: var(--text-muted); }
        body.tema-escuro .calendario-dia { background: rgba(17,24,39,0.7); border-color: rgba(255,255,255,0.07); }
        body.tema-escuro .calendario-dia-numero { color: var(--text-main); }
        body.tema-escuro .calendario-nav h3 { color: var(--text-main); }
        body.tema-escuro .calendario-dias-semana span { color: var(--text-muted); }

        /* Modal / confirmação */
        body.tema-escuro .confirmacao-botoes .btn-tool:not(.danger) { background: #1a2338; border-color: rgba(255,255,255,0.1); color: var(--text-main); }
        body.tema-escuro .confirmacao-botoes .btn-tool:not(.danger):hover { background: #243050; }
        body.tema-escuro .modelo-item { background: #0e1829; border-color: rgba(255,255,255,0.07); }
        body.tema-escuro .modelo-item:hover { background: #111827; border-color: var(--accent); }
        body.tema-escuro .opcao-exclusao-pasta { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.08); }
        body.tema-escuro .opcao-exclusao-pasta:hover { border-color: var(--accent); background: rgba(37,99,235,0.1); }
        body.tema-escuro .opcao-exclusao-pasta.perigo:hover { border-color: var(--danger-text); background: rgba(255,59,48,0.1); }
        body.tema-escuro .opcao-exclusao-pasta strong { color: var(--text-main); }
        body.tema-escuro .opcao-exclusao-pasta span { color: var(--text-muted); }

        /* Tour guiado */
        body.tema-escuro .tour-card { background: #111827; box-shadow: 0 20px 45px rgba(0,0,0,0.55); }
        body.tema-escuro .tour-card h4 { color: var(--text-main); }
        body.tema-escuro .tour-card p { color: var(--text-muted); }
        body.tema-escuro .tour-contador { background: rgba(37,99,235,0.2); color: #93b4ff; }
        body.tema-escuro .tour-fechar { color: var(--text-muted); }
        body.tema-escuro .tour-fechar:hover { color: var(--text-main); }

        /* Gráficos */
        body.tema-escuro .grafico-barra { background: #243050; }
        body.tema-escuro .grafico-semanal { background: #0e1829; }
        body.tema-escuro .grafico-semanal-bloco h4 { color: var(--text-main); }
        body.tema-escuro .ranking-bloco h4 { color: var(--text-main); }
        body.tema-escuro .barra-distribuicao-fundo { background: #1a2338; }

        /* Novidades (sino) */
        body.tema-escuro .novidade-titulo { color: var(--text-main); }
        body.tema-escuro .novidade-lista li { color: var(--text-main); }

        /* Menu card (dashboard) — versão navy */
        body.tema-escuro .menu-card { background: rgba(17,24,39,0.85); border-color: rgba(255,255,255,0.08); backdrop-filter: none; -webkit-backdrop-filter: none; }
        body.tema-escuro .menu-card:hover { border-color: rgba(37,99,235,0.35); box-shadow: 0 16px 40px rgba(0,0,0,0.45); }
        body.tema-escuro .menu-card h3 { color: var(--text-main); }
        body.tema-escuro .menu-card p { color: var(--text-muted); }
        body.tema-escuro .menu-card-principal { background: rgba(17,24,39,0.92); border-color: rgba(37,99,235,0.2); }
        body.tema-escuro .menu-card-construcao i { background: rgba(255,255,255,0.06) !important; color: var(--text-muted) !important; }
        body.tema-escuro .menu-cards-admin-grupo { border-color: rgba(255,255,255,0.07); }
        body.tema-escuro .menu-card-secundario { background: rgba(17,24,39,0.7); }

        /* Social view toggle */
        body.tema-escuro .social-view-toggle { background: #0e1829; }
        body.tema-escuro .social-view-toggle button { color: var(--text-muted); }
        body.tema-escuro .social-view-toggle button.ativo { background: #1a2338; color: var(--primary); }

        /* Tag input */
        body.tema-escuro .tag-chip-editavel { background: rgba(37,99,235,0.2); color: #93b4ff; }
        body.tema-escuro .tag-chip-editavel button { background: rgba(147,180,255,0.2); color: #93b4ff; }
        body.tema-escuro .tag-input-container input { color: var(--text-main); }
        body.tema-escuro .tag-input-container input::placeholder { color: var(--text-muted); }

        /* Memu-card-secundário (admin) */
        body.tema-escuro .menu-card-secundario { border-color: rgba(255,255,255,0.08); }

        /* Logo SVG (fill navy) → branco no dark */
        body.tema-escuro .logo-img,
        body.tema-escuro .dashboard-logo-img { filter: brightness(0) invert(1); opacity: 0.92; }

        /* Body dark: fundo com profundidade sutil */
        body.tema-escuro { background: radial-gradient(ellipse at 20% 0%, rgba(37,99,235,0.07) 0%, transparent 50%), radial-gradient(ellipse at 80% 100%, rgba(79,70,229,0.05) 0%, transparent 50%), #08101e; }

        /* Labels e tipografia de formulário no dark */
        body.tema-escuro label { color: rgba(255,255,255,0.45); }
        body.tema-escuro .card-title { color: rgba(255,255,255,0.92); }
        body.tema-escuro .card-title i { color: #60a5fa; }
        body.tema-escuro .card-subtitle { color: rgba(255,255,255,0.38); }
        body.tema-escuro .card-header { border-bottom-color: rgba(255,255,255,0.07); }
        body.tema-escuro select option { background: #0f1c33; color: rgba(255,255,255,0.9); }
        body.tema-escuro .celula-wrap input, body.tema-escuro .celula-wrap textarea { background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.1) !important; color: rgba(255,255,255,0.88); }
        body.tema-escuro .linha-cabecalho input, body.tema-escuro .linha-cabecalho textarea { background: rgba(255,255,255,0.03); border-color: rgba(255,255,255,0.08) !important; }
        body.tema-escuro .tabela-generalidades-cot input { background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.1) !important; color: rgba(255,255,255,0.88); }
        body.tema-escuro .tag-input-container { background: rgba(255,255,255,0.07) !important; border-color: rgba(255,255,255,0.13) !important; }

        /* Barra topo fixa dark */
        body.tema-escuro .barra-topo-fixa { backdrop-filter: blur(22px) saturate(140%); -webkit-backdrop-filter: blur(22px) saturate(140%); }
        body.tema-escuro .btn-sino-pendencias { color: var(--text-muted); }
        body.tema-escuro .btn-sino-pendencias:hover { background: #1a2338; color: var(--text-main); }
        body.tema-escuro .badge-sino-pendencias { box-shadow: 0 0 0 2px #08101e; }
        body.tema-escuro .barra-topo-nome { color: var(--text-main); }

        /* Área de tabela vazia */
        body.tema-escuro #tabelasArea:empty::before { border-color: rgba(255,255,255,0.08); color: var(--text-muted); }

        /* Resizer entre painéis */
        body.tema-escuro .resizer::after { background: rgba(255,255,255,0.1); }
        body.tema-escuro .resizer:hover::after, body.tema-escuro .resizer.ativo::after { background: var(--accent); }

        /* Switch de preview */
        body.tema-escuro .switch-slider { background: rgba(255,255,255,0.1); }
        body.tema-escuro .switch-label { color: var(--text-muted); }

        /* Bloco de solicitações */
        body.tema-escuro .solicitacao-item { background: rgba(217,119,6,0.1); border-color: rgba(217,119,6,0.25); }

        /* Preview body (cinza neutro no dark → navy) */
        body.tema-escuro .preview-body { background: #1a2338; }
        body.tema-escuro .preview-placeholder { color: rgba(107,122,153,0.7); }

        /* Card de previsão de serviço (já é escuro, apenas refinar) */
        body.tema-escuro .card-previsao-proximo-mes { background: rgba(255,255,255,0.03); border-color: rgba(255,255,255,0.07); }

        /* Botão flutuante ajuda */
        body.tema-escuro .btn-ajuda-flutuante { box-shadow: 0 8px 20px rgba(0,0,0,0.5); }

        /* Linha cabecalho tabela — navy mais profundo */
        body.tema-escuro .linha-cabecalho input, body.tema-escuro .linha-cabecalho textarea { background: #0a1628; color: #e8eeff; }
        body.tema-escuro .linha-cabecalho input::placeholder, body.tema-escuro .linha-cabecalho textarea::placeholder { color: rgba(107,122,153,0.6); }

        /* Toast dark */
        body.tema-escuro .toast-notificacao { background: rgba(17,24,39,0.96); border-color: rgba(255,255,255,0.08); color: var(--text-main); }
        body.tema-escuro .toast-notificacao .toast-fechar { color: var(--text-muted); }

        /* Linha ações contexto dark */
        body.tema-escuro .linha-acoes-esquerda { background: #0e1829; }

        /* Abas de tipo (Proposta/Cotação/etc) dark */
        body.tema-escuro .btn-aba { color: var(--text-muted); }
        body.tema-escuro .btn-aba:hover { color: var(--text-main); }

        /* Switch preview slider checked */
        body.tema-escuro .switch-preview input:checked + .switch-slider { background: var(--success); }
        
        .header-app { max-width: 1600px; margin: 0 auto 25px auto; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; background: rgba(255,255,255,0.92); padding: 15px 30px; border-radius: var(--radius-lg); box-shadow: var(--shadow-md); border: 1px solid rgba(255,255,255,0.6); position: sticky; top: 20px; z-index: 400; }
        .header-app-acoes { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
        .logo-img { max-height: 40px; }
        .dashboard-logo-topo { display: flex; justify-content: center; margin-bottom: 22px; }
        .dashboard-logo-img { max-height: 46px; }
        @media (max-width: 600px) { .dashboard-logo-img { max-height: 36px; } }
        .nav-abas { display: flex; gap: 8px; background: var(--bg-muted); padding: 6px; border-radius: 12px; }
        .btn-aba { background: transparent; border: none; padding: 10px 24px; border-radius: 9px; cursor: pointer; font-weight: 600; font-size: 14px; color: var(--text-muted); transition: all 0.25s cubic-bezier(0.4,0,0.2,1); display: flex; align-items: center; gap: 8px;}
        .btn-aba:hover { color: var(--primary); }
        .btn-aba.ativa { background: var(--bg-card); color: var(--accent); box-shadow: var(--shadow-sm); }

        .switch-preview { display: flex; align-items: center; gap: 9px; cursor: pointer; user-select: none; padding: 0 4px; }
        .switch-preview input { display: none; }
        .switch-slider { width: 38px; height: 22px; background: var(--border); border-radius: 20px; position: relative; transition: background 0.25s cubic-bezier(0.4,0,0.2,1); flex-shrink: 0; }
        .switch-slider::before { content: ''; position: absolute; top: 2px; left: 2px; width: 18px; height: 18px; border-radius: 50%; background: #fff; transition: transform 0.25s cubic-bezier(0.4,0,0.2,1); box-shadow: 0 1px 3px rgba(0,0,0,0.3); }
        .switch-preview input:checked + .switch-slider { background: var(--success); }
        .switch-preview input:checked + .switch-slider::before { transform: translateX(16px); }
        .switch-label { font-size: 13px; font-weight: 600; color: var(--text-muted); white-space: nowrap; }

        .container { max-width: 1100px; margin: auto; }
        .aba-conteudo { display: none; }
        .aba-conteudo.ativa { display: block; animation: fadeSlideUp 0.4s cubic-bezier(0.4,0,0.2,1); }
        .card { position: relative; background: rgba(255,255,255,0.62); backdrop-filter: blur(22px) saturate(160%); -webkit-backdrop-filter: blur(22px) saturate(160%); padding: 18px 20px; border-radius: var(--radius-lg); margin-bottom: 12px; box-shadow: var(--shadow-sm); border: 1px solid rgba(255,255,255,0.7); transition: box-shadow 0.3s cubic-bezier(0.4,0,0.2,1), transform 0.3s cubic-bezier(0.4,0,0.2,1); overflow: hidden; }
        .card-header { margin-bottom: 10px; border-bottom: 1px solid var(--border); padding-bottom: 10px; }
        .card-title { font-size: 17px; color: var(--primary); font-weight: 500; margin-top: 0; margin-bottom: 0; display: flex; align-items: center; gap: 12px; letter-spacing: -0.01em; }
        .card-title i { color: var(--accent); }
        .card-title .badge-numero { flex-shrink: 0; width: 28px; height: 28px; border-radius: 9px; background: var(--accent-gradient); color: #fff; font-size: 13px; font-weight: 500; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 10px -2px rgba(var(--accent-rgb),0.5); }
        .card-subtitle { font-size: 12px; color: var(--text-muted); margin: 2px 0 0 40px; line-height: 1.4; font-weight: 400; }

        .subsecao { margin-bottom: 14px; }
        .subsecao + .subsecao { padding-top: 14px; border-top: 1px dashed var(--border); }
        .subsecao-titulo { display: flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 700; color: var(--accent); text-transform: uppercase; letter-spacing: 0.7px; margin-bottom: 8px; }

        /* --- BOTÕES DE ÍCONE (TABELAS) --- */
        .btn-icon { min-width: 38px; height: 38px; padding: 0 10px; border-radius: 12px; border: none; background: var(--bg-muted); color: var(--text-muted); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; font-size: 14px; transition: background 0.2s, color 0.2s, transform 0.2s, padding 0.25s ease, box-shadow 0.2s; flex-shrink: 0; overflow: hidden; white-space: nowrap; }
        .btn-icon .rotulo { max-width: 0; opacity: 0; overflow: hidden; margin-left: 0; font-size: 12.5px; font-weight: 600; transition: max-width 0.25s ease, opacity 0.2s ease, margin-left 0.25s ease; }
        .btn-icon:hover:not(:disabled) { background: var(--accent); color: #fff; transform: translateY(-2px); padding: 0 15px; box-shadow: 0 8px 16px -4px rgba(var(--accent-rgb),0.45); }
        .btn-icon:hover:not(:disabled) .rotulo { max-width: 160px; opacity: 1; margin-left: 8px; }
        .btn-icon.danger:hover:not(:disabled) { background: var(--danger); color: #fff; box-shadow: 0 8px 16px -4px rgba(255,59,48,0.45); }
        .btn-icon.warning:hover:not(:disabled) { background: var(--warning); color: #fff; box-shadow: 0 8px 16px -4px rgba(var(--warning-rgb),0.45); }
        .btn-icon:disabled { opacity: 0.35; cursor: not-allowed; }

        .btn-apagar-tabela { display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: 8px; font-weight: 600; font-size: 13px; cursor: pointer; transition: all 0.2s; white-space: nowrap; border: 1px solid var(--danger-border); background: var(--danger-bg); color: var(--danger); }
        .btn-apagar-tabela:hover { background: var(--danger); color: #fff; border-color: var(--danger); }
        .btn-icon.btn-salvar-modelo { border: 1px solid var(--warning-border); background: var(--warning-bg); color: var(--warning); }
        .btn-icon.btn-salvar-modelo:hover:not(:disabled) { background: var(--warning); color: #fff; border-color: var(--warning); box-shadow: 0 8px 16px -4px rgba(245,158,11,0.45); }

        .tabela-topo { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
        .tabela-topo-grupo { display: flex; gap: 8px; flex-shrink: 0; }
        .tabela-topo .titulo-tabela { flex: 1; min-width: 0; margin-bottom: 0 !important; }
        .tabela-topo-acoes { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }
        .linha-acoes-contexto { display: flex; gap: 8px; margin: 12px 0; }
        .tabela-rodape { display: flex; justify-content: flex-end; margin-top: 20px; padding-top: 16px; border-top: 1px dashed var(--border); }
        .tabela-container.colapsada .tabela-corpo { display: none; }
        .tabela-container.colapsada .tabela-so-expandida { display: none; }
        .observacao-container { background: var(--bg-card); border: 1px solid var(--border); border-radius: 12px; padding: 16px 20px; margin-bottom: 25px; animation: fadeSlideUp 0.3s ease-out; transition: background 0.2s, border-color 0.2s; }
        .observacao-container.destacada { background: var(--warning-bg); border-color: var(--warning-border); }
        .observacao-topo { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
        .observacao-label { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.4px; }
        .observacao-container.destacada .observacao-label { color: #b45309; }
        .observacao-topo-grupo { display: flex; gap: 6px; }
        .observacao-toolbar { display: flex; align-items: center; gap: 14px; margin-bottom: 8px; flex-wrap: wrap; }
        .observacao-toolbar button { width: 28px; height: 28px; border-radius: 6px; border: 1px solid var(--border); background: #fff; color: var(--text-muted); cursor: pointer; font-size: 13px; display: flex; align-items: center; justify-content: center; transition: all 0.15s; }
        .observacao-container.destacada .observacao-toolbar button { border-color: var(--warning-border); color: var(--warning-text); }
        .observacao-toolbar button:hover { background: #f1f5f9; }
        .observacao-container.destacada .observacao-toolbar button:hover { background: var(--warning-bg-hover); border-color: var(--warning); }
        .observacao-destacar-check { display: flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 600; color: var(--text-muted); cursor: pointer; }
        .observacao-destacar-check input { width: 15px; height: 15px; cursor: pointer; }
        .observacao-dica { font-size: 11.5px; color: var(--text-muted); opacity: 0.8; }
        .observacao-texto { width: 100%; border: 1px solid var(--border); border-radius: 8px; padding: 12px; font-size: 14px; font-family: inherit; background: #fff; box-sizing: border-box; font-style: normal; outline: none; line-height: 1.6; min-height: 60px; }
        .observacao-texto:empty::before { content: attr(data-placeholder); color: var(--text-muted); }
        .observacao-container.destacada .observacao-texto { border-color: var(--warning-border); font-style: italic; }
        .observacao-texto:focus { outline: none; border-color: var(--accent); }
        .observacao-container.destacada .observacao-texto:focus { border-color: var(--warning); }
        #tabelasArea:empty::before { content: 'Nenhuma tabela adicionada ainda. Clique em "Inserir Nova Tabela" para começar.'; display: block; text-align: center; color: var(--text-muted); font-size: 14px; padding: 34px 10px; border: 1px dashed var(--border); border-radius: 10px; }

        /* --- WORKSPACE DIVIDIDO (FORMULÁRIO + PRÉ-VISUALIZAÇÃO) --- */
        .workspace { max-width: 1600px; margin: 0 auto; display: flex; align-items: stretch; height: calc(100vh - 115px); min-height: 500px; gap: 16px; }
        .trilha-passos { width: 176px; flex-shrink: 0; background: rgba(255,255,255,0.85); border: 1px solid rgba(255,255,255,0.6); border-radius: var(--radius-lg); padding: 16px 12px; display: flex; flex-direction: column; gap: 4px; align-self: flex-start; box-shadow: var(--shadow-sm); }
        .trilha-item { display: flex; align-items: center; gap: 10px; padding: 10px 10px; border-radius: 10px; cursor: pointer; transition: all 0.25s cubic-bezier(0.4,0,0.2,1); }
        .trilha-item:hover { background: rgba(var(--accent-rgb),0.08); }
        .trilha-item.em-vista { background: var(--accent); box-shadow: 0 4px 14px -3px rgba(var(--accent-rgb),0.45); }
        .trilha-item.em-vista .trilha-numero { background: #fff; color: var(--accent); border-color: #fff; }
        .trilha-item.em-vista .trilha-label { color: #fff; font-weight: 500; }
        .trilha-numero { width: 22px; height: 22px; border-radius: 50%; background: rgba(255,255,255,0.7); border: 1px solid var(--border); display: flex; align-items: center; justify-content: center; font-size: 10.5px; font-weight: 500; color: var(--text-muted); flex-shrink: 0; transition: all 0.3s cubic-bezier(0.34,1.56,0.64,1); }
        .trilha-item.completo .trilha-numero { background: var(--success-text); border-color: var(--success-text); color: #fff; animation: trilhaPop 0.4s cubic-bezier(0.34,1.56,0.64,1); }
        @keyframes trilhaPop { 0% { transform: scale(0.6); } 60% { transform: scale(1.15); } 100% { transform: scale(1); } }
        .trilha-label { font-size: 12.5px; color: var(--text-muted); font-weight: 400; }
        .trilha-progresso-wrap { margin-top: 10px; padding-top: 14px; border-top: 1px solid rgba(0,0,0,0.06); }
        .trilha-progresso-label { font-size: 10.5px; color: var(--text-muted); margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.4px; }
        .trilha-progresso-barra { height: 5px; background: rgba(0,0,0,0.06); border-radius: 3px; overflow: hidden; }
        .trilha-progresso-fill { height: 100%; width: 0%; background: linear-gradient(90deg, var(--accent), #6366f1); transition: width 0.5s cubic-bezier(0.4,0,0.2,1); border-radius: 3px; }
        @media (max-width: 1150px) { .trilha-passos { display: none; } }
        .painel-formulario { flex: 1 1 auto; min-width: 380px; overflow-y: auto; padding: 4px 18px 4px 4px; scroll-behavior: smooth; }
        .painel-formulario .container { max-width: 900px; margin: 0; transition: margin 0.25s ease; }
        .painel-formulario.centralizado .container { margin: 0 auto; }
        .resizer { width: 10px; flex-shrink: 0; cursor: col-resize; display: flex; align-items: center; justify-content: center; }
        .resizer::after { content: ''; width: 4px; height: 48px; border-radius: 3px; background: var(--border); transition: background 0.2s, height 0.2s; }
        .resizer:hover::after, .resizer.ativo::after { background: var(--accent); height: 70px; }
        .painel-preview { width: 46%; min-width: 340px; max-width: 72vw; flex-shrink: 0; display: flex; flex-direction: column; background: var(--bg-card); border-radius: var(--radius-lg); border: 1px solid var(--border); box-shadow: var(--shadow-sm); overflow: hidden; }
        .preview-header { display: flex; justify-content: space-between; align-items: center; padding: 14px 18px; border-bottom: 1px solid var(--border); background: #fff; flex-shrink: 0; position: relative; }
        .btn-fechar-preview-mobile { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); }
        .preview-header h3 { margin: 0; font-size: 14px; font-weight: 700; color: var(--primary); display: flex; align-items: center; gap: 8px; }
        .preview-header h3 i { color: var(--accent); }
        .preview-status { font-size: 11px; color: var(--text-muted); display: flex; align-items: center; gap: 6px; }
        .preview-status .ponto { width: 7px; height: 7px; border-radius: 50%; background: var(--success); transition: background 0.2s; }
        .preview-status.atualizando .ponto { background: #f59e0b; animation: pulsar 0.8s infinite; }
        @keyframes pulsar { 0%,100% { opacity: 1; } 50% { opacity: 0.3; } }
        .preview-body { flex: 1; position: relative; background: #6b7280; }
        #previewFrame, #previewFrameCotacao { width: 100%; height: 100%; border: none; display: none; background: #fff; }
        .preview-placeholder { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; color: rgba(255,255,255,0.85); text-align: center; padding: 30px; }
        .preview-placeholder i { font-size: 42px; opacity: 0.7; }
        .preview-placeholder p { max-width: 260px; font-size: 13px; line-height: 1.5; margin: 0; }

        @media (max-width: 1100px) {
            .workspace { flex-direction: column; height: auto; }
            .painel-formulario { overflow-y: visible; padding: 4px; min-width: 0; }
            .painel-formulario .container { max-width: 1100px; }
            .resizer { display: none; }
            .painel-preview { width: 100% !important; max-width: 100%; height: 520px; margin-top: 20px; min-width: 0; }
        }

        .btn-preview-flutuante { display: none; position: fixed; bottom: 82px; right: 18px; z-index: 8000; background: linear-gradient(135deg, #1e293b, #0f172a); color: #fff; border: none; width: 56px; height: 56px; border-radius: 50%; align-items: center; justify-content: center; font-size: 19px; box-shadow: 0 10px 24px -6px rgba(0,0,0,0.4); }
        .btn-fechar-preview-mobile { display: none; }
        .painel-preview.preview-mobile-aberta .btn-fechar-preview-mobile { display: flex; align-items: center; justify-content: center; background: var(--bg-muted); border: none; width: 34px; height: 34px; border-radius: 50%; font-size: 14px; color: var(--text-main); flex-shrink: 0; }

        /* ===================== MODO ASSISTENTE (WIZARD) — só no celular ===================== */
        @media (max-width: 900px) {
            /* A pré-visualização deixa de ficar embaixo do formulário e vira uma tela cheia sob demanda */
            .painel-preview { display: none !important; }
            .painel-preview.preview-mobile-aberta { display: flex !important; position: fixed !important; inset: 0; z-index: 9000; width: 100% !important; height: 100% !important; margin: 0 !important; border-radius: 0 !important; max-width: 100% !important; }
            .btn-preview-flutuante { display: flex; }

            .painel-formulario.modo-wizard .card { display: none; }
            .painel-formulario.modo-wizard .card.wizard-passo-ativo { display: block; animation: fadeSlideUp 0.35s ease-out; }
            .painel-formulario.modo-wizard .gerar { display: none; }
            .painel-formulario.modo-wizard .btn-limpar-formulario { display: none; }
            .painel-formulario.modo-wizard.wizard-ultimo-passo .gerar { display: flex; margin-bottom: 90px; }
            .painel-formulario.modo-wizard.wizard-ultimo-passo .btn-limpar-formulario { display: flex; }
            .painel-formulario.modo-wizard { padding-bottom: 30px; }
            .preview-header { padding-left: 54px; }
        }
        .wizard-barra-passos { display: none; gap: 6px; overflow-x: auto; padding: 2px 2px 6px 2px; margin-bottom: 14px; -webkit-overflow-scrolling: touch; }
        .painel-formulario.modo-wizard .wizard-barra-passos { display: flex; }

        .btn-colar-simulador { width: 100%; display: flex; align-items: center; justify-content: center; gap: 10px; background: linear-gradient(135deg, #eef2ff, #e0e7ff); border: 1.5px dashed var(--accent); color: var(--accent); font-weight: 700; font-size: 14px; padding: 14px; border-radius: var(--radius-md); cursor: pointer; margin-bottom: 18px; transition: all 0.2s; }
        .btn-colar-simulador:hover { background: var(--accent); color: #fff; }
        .wizard-passo-pill { flex-shrink: 0; display: flex; align-items: center; gap: 7px; padding: 9px 15px; border-radius: 20px; background: rgba(255,255,255,0.75); border: 1px solid var(--border); font-size: 12.5px; font-weight: 600; color: var(--text-muted); white-space: nowrap; cursor: pointer; transition: all 0.25s cubic-bezier(0.4,0,0.2,1); }
        .wizard-passo-pill.ativo { background: var(--accent); border-color: var(--accent); color: #fff; box-shadow: 0 4px 12px -3px rgba(var(--accent-rgb),0.4); }
        .wizard-passo-pill.concluido:not(.ativo) { color: var(--success-text); border-color: var(--success-border); background: var(--success-bg); }
        .wizard-passo-pill .wizard-num { width: 17px; height: 17px; border-radius: 50%; background: rgba(0,0,0,0.08); display: inline-flex; align-items: center; justify-content: center; font-size: 10px; flex-shrink: 0; }
        .wizard-passo-pill.ativo .wizard-num { background: rgba(255,255,255,0.3); }

        .wizard-nav-fixa { display: none; position: fixed; bottom: 0; left: 0; right: 0; z-index: 8500; background: rgba(255,255,255,0.97); border-top: 1px solid var(--border); padding: 12px 14px; gap: 10px; align-items: center; box-shadow: 0 -8px 20px -8px rgba(0,0,0,0.1); }
        .wizard-nav-fixa.ativa { display: flex; }
        .wizard-btn-anterior { flex: 0 0 auto; background: var(--bg-muted); border: none; color: var(--text-main); font-weight: 600; padding: 13px 16px; border-radius: 12px; font-size: 14px; display: flex; align-items: center; gap: 6px; }
        .wizard-btn-anterior:disabled { opacity: 0.35; }
        .wizard-btn-proximo { flex: 1; background: var(--accent); border: none; color: #fff; font-weight: 700; padding: 13px 16px; border-radius: 12px; font-size: 14.5px; display: flex; align-items: center; justify-content: center; gap: 8px; box-shadow: 0 6px 16px -4px rgba(var(--accent-rgb),0.45); }
        .wizard-nav-fixa.wizard-nav-ultimo-passo .wizard-btn-proximo { display: none; }
        .wizard-nav-fixa.wizard-nav-ultimo-passo .wizard-btn-anterior { flex: 1; justify-content: center; }

        @media (max-width: 700px) {
            body { padding: 10px; }
            .header-app { padding: 12px 16px; gap: 10px; top: 10px; }
            .header-app-acoes { gap: 10px; }
            .logo-img { max-height: 30px; }
            .btn-voltar-dash { padding: 8px 10px; margin-right: 0; }
            .badge-beta-inline { margin-left: 6px; padding: 3px 8px; font-size: 9px; }
            .btn-feedback-beta { padding: 8px 12px; font-size: 12px; }
            .switch-preview .switch-label { display: none; }
            .nav-abas { gap: 4px; padding: 4px; }
            .btn-aba { padding: 9px 14px; font-size: 13px; }
            .card { padding: 14px 16px; }
            .grid-valores-cotacao { grid-template-columns: repeat(2, 1fr); }
            .barra-topo-fixa { padding: 0 12px; }
            .barra-topo-nome { max-width: 90px; }
            .modal-content { max-width: calc(100vw - 32px) !important; margin: 16px; }
            .dashboard-container { margin: 30px auto; }
            .btn-sino-pendencias { width: 42px; height: 42px; }
            .barra-topo-avatar { width: 38px; height: 38px; }
            .btn-tema { width: 44px; height: 34px; }
        }

        @media (max-width: 420px) {
            .btn-feedback-beta { font-size: 0; padding: 8px 10px; gap: 0; }
            .btn-feedback-beta i { font-size: 14px; }
        }

        .grid-custom { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; }
        .grid-valores-cotacao { grid-template-columns: repeat(auto-fit, minmax(128px, 1fr)); }





        /* ===================== SOCIAL MEDIA — QUADRO + CALENDÁRIO ===================== */
        .container-social { max-width: 1500px; margin: 0 auto; padding: 24px 20px; }
        .social-view-toggle { display: flex; gap: 4px; background: var(--bg-muted); padding: 4px; border-radius: 10px; }
        .social-view-toggle button { background: transparent; border: none; padding: 9px 16px; border-radius: 7px; font-size: 13px; font-weight: 600; color: var(--text-muted); cursor: pointer; display: flex; align-items: center; gap: 7px; transition: all 0.2s cubic-bezier(0.4,0,0.2,1); }
        .social-view-toggle button.ativo { background: var(--bg-card); color: #db2777; box-shadow: var(--shadow-sm); }

        .visao-social { display: none; }
        .visao-social.ativa { display: block; animation: fadeSlideUp 0.3s ease-out; }

        .kanban-colunas { display: flex; gap: 16px; overflow-x: auto; padding-bottom: 20px; align-items: flex-start; -webkit-overflow-scrolling: touch; }
        .kanban-coluna { flex: 0 0 280px; background: #eef1f6; border: 1px solid #e2e8f0; border-radius: var(--radius-lg); padding: 14px; min-height: 200px; transition: background 0.2s, border-color 0.2s, opacity 0.2s; }
        .kanban-coluna.arrastando-sobre { background: rgba(219,39,119,0.07); border-color: #db2777; }
        .kanban-coluna.coluna-arrastando { opacity: 0.4; }
        .kanban-coluna-titulo { display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; margin-bottom: 14px; padding: 0 4px; color: var(--primary); cursor: grab; }
        .kanban-coluna-titulo .titulo-texto { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
        .kanban-coluna-editar { background: transparent; border: none; color: inherit; opacity: 0.45; cursor: pointer; font-size: 12px; padding: 2px 4px; flex-shrink: 0; }
        .kanban-coluna-editar:hover { opacity: 1; }
        .kanban-coluna-contador { background: rgba(0,0,0,0.06); color: var(--text-muted); font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 10px; flex-shrink: 0; }
        .kanban-cards { display: flex; flex-direction: column; gap: 10px; min-height: 40px; }
        .kanban-nova-coluna { flex: 0 0 220px; min-height: 60px; display: flex; align-items: center; justify-content: center; gap: 8px; border: 2px dashed #cbd5e1; border-radius: var(--radius-lg); color: var(--text-muted); font-size: 13px; font-weight: 600; cursor: pointer; background: transparent; transition: all 0.2s; }
        .kanban-nova-coluna:hover { border-color: #db2777; color: #db2777; background: rgba(219,39,119,0.04); }

        .kanban-card { background: #fff; border: 1px solid #e2e8f0; border-left: 4px solid #db2777; border-radius: 10px; padding: 13px 15px; cursor: grab; box-shadow: 0 3px 10px -2px rgba(15,23,42,0.14), 0 1px 3px rgba(15,23,42,0.08); transition: all 0.2s cubic-bezier(0.4,0,0.2,1); }
        .kanban-card:hover { box-shadow: 0 10px 22px -4px rgba(15,23,42,0.22), 0 2px 6px rgba(15,23,42,0.1); transform: translateY(-2px); border-color: #cbd5e1; }
        .kanban-card.arrastando { opacity: 0.4; }
        .kanban-card-topo { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; gap: 6px; }
        .kanban-pilar-tag { font-size: 10px; font-weight: 700; padding: 3px 8px; border-radius: 10px; background: #f1f5f9; color: #475569; white-space: nowrap; }
        .kanban-canal-icone { font-size: 12px; color: var(--text-muted); flex-shrink: 0; }
        .kanban-card h4 { margin: 0 0 8px 0; font-size: 13.5px; font-weight: 600; color: var(--primary); line-height: 1.4; }
        .kanban-card-rodape { display: flex; justify-content: space-between; align-items: center; margin-top: 8px; }
        .kanban-card-data { font-size: 11px; color: var(--text-muted); display: flex; align-items: center; gap: 5px; }
        .kanban-card-avatar { width: 22px; height: 22px; border-radius: 50%; background: linear-gradient(135deg, #db2777, #9d174d); color: #fff; font-size: 9.5px; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
        .kanban-vazio { text-align: center; font-size: 12px; color: var(--text-muted); padding: 20px 8px; border: 1.5px dashed var(--border); border-radius: 10px; }

        .social-concluido-toggle { display: flex; align-items: center; gap: 9px; background: var(--success-bg); border: 1px solid var(--success-border); border-radius: 10px; padding: 11px 14px; margin-bottom: 18px; cursor: pointer; font-size: 13px; font-weight: 600; color: var(--success-text); }

        /* Card contínuo (sem passo a passo) — só separadores visuais entre seções, tipo Trello */
        .secao-editor-titulo { display: flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.4px; color: var(--text-muted); margin: 22px 0 12px 0; padding-top: 16px; border-top: 1px solid var(--border); }
        .secao-editor-titulo:first-of-type { border-top: none; padding-top: 0; margin-top: 4px; }

        /* Seletor de tipo (primeiro clique em "Planejar Conteúdo") */
        .tipo-picker-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
        .tipo-picker-grid button { display: flex; flex-direction: column; align-items: center; gap: 8px; background: rgba(255,255,255,0.06); border: 1.5px solid var(--borda-vidro); border-radius: 14px; padding: 20px 12px; cursor: pointer; font-size: 13.5px; font-weight: 600; color: var(--texto-claro); transition: all 0.2s cubic-bezier(0.4,0,0.2,1); }
        .tipo-picker-grid button:hover { border-color: #d62976; background: rgba(214,41,118,0.1); transform: translateY(-2px); }
        .tipo-picker-emoji { font-size: 26px; }

        /* Modo de visualização de um card já existente */
        .ver-status-badge { background: rgba(255,255,255,0.1); color: var(--texto-claro-fraco); font-size: 11.5px; font-weight: 700; padding: 5px 12px; border-radius: 14px; }
        .ver-titulo-linha { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 10px; }
        .ver-concluido-icone { display: none; color: var(--success-text); font-size: 20px; margin-top: 4px; }
        .ver-concluido-icone.ativo { display: inline-block; }
        .ver-titulo-linha h2 { margin: 0; font-size: 21px; font-weight: 700; color: var(--texto-claro); line-height: 1.3; }
        .ver-tags-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 18px; }
        .ver-grid-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 14px; }
        .ver-meta-item label { display: block; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.4px; color: var(--texto-claro-fraco); margin-bottom: 5px; }
        .ver-meta-item span { font-size: 14px; color: var(--texto-claro); font-weight: 500; }
        .ver-secao { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--borda-vidro); }
        .ver-secao-titulo { display: flex; align-items: center; gap: 9px; font-size: 13px; font-weight: 700; color: var(--texto-claro); margin-bottom: 10px; }
        .ver-descricao-caixa { background: rgba(255,255,255,0.05); border-radius: 10px; padding: 14px 16px; font-size: 13.5px; color: var(--texto-claro-fraco); line-height: 1.7; }
        .ver-link-caixa { display: block; background: rgba(255,255,255,0.05); border-radius: 10px; padding: 12px 16px; font-size: 13px; color: #7dd3fc; text-decoration: none; word-break: break-all; }
        .ver-link-caixa:hover { background: rgba(255,255,255,0.09); }
        .ver-slide-item { background: rgba(255,255,255,0.05); border-radius: 10px; padding: 12px 14px; margin-bottom: 8px; font-size: 13px; color: var(--texto-claro-fraco); }
        .ver-slide-item .ver-slide-acao { font-size: 9.5px; font-weight: 700; padding: 2px 8px; border-radius: 8px; margin-right: 8px; color: #fff; }

        /* Anexos (dentro do editor e da visualização) */
        .anexo-social-item, .ver-anexo-item { display: flex; align-items: center; gap: 12px; background: rgba(255,255,255,0.05); border: 1px solid var(--borda-vidro); border-radius: 10px; padding: 9px 12px; margin-bottom: 8px; }
        .anexo-social-thumb { width: 40px; height: 40px; border-radius: 6px; object-fit: cover; flex-shrink: 0; background: rgba(255,255,255,0.08); display: flex; align-items: center; justify-content: center; color: var(--texto-claro-fraco); font-size: 15px; }
        .anexo-social-info { flex: 1; min-width: 0; }
        .anexo-social-nome { font-size: 12.5px; font-weight: 600; color: var(--texto-claro); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        .anexo-social-tamanho { font-size: 10.5px; color: var(--texto-claro-fraco); }
        .anexo-social-acoes { display: flex; gap: 6px; flex-shrink: 0; }
        .anexo-social-acoes a, .anexo-social-acoes button { background: rgba(255,255,255,0.08); border: none; width: 26px; height: 26px; border-radius: 7px; cursor: pointer; color: var(--texto-claro-fraco); display: flex; align-items: center; justify-content: center; font-size: 11px; text-decoration: none; }
        .anexo-social-acoes .excluir:hover { background: rgba(253,29,29,0.2); color: #fca5a5; }

        /* Visualizador de imagem em tela cheia, com setas — abre por cima de tudo, inclusive dos modais */
        .lightbox-overlay { display: none; position: fixed; inset: 0; z-index: 30000; background: rgba(5,3,8,0.94); }
        .lightbox-overlay.aberto { display: grid; grid-template-columns: 76px 1fr 76px; align-items: center; }
        .lightbox-conteudo { grid-column: 2; justify-self: center; display: flex; flex-direction: column; align-items: center; gap: 14px; max-width: 82vw; max-height: 88vh; }
        .lightbox-conteudo img { max-width: 82vw; max-height: 72vh; object-fit: contain; border-radius: 8px; box-shadow: 0 20px 60px rgba(0,0,0,0.6); }
        .lightbox-legenda { color: rgba(255,255,255,0.85); font-size: 13.5px; font-weight: 600; text-align: center; }
        .lightbox-contador { color: rgba(255,255,255,0.5); font-size: 12px; }
        .lightbox-fechar { position: absolute; top: 22px; right: 26px; z-index: 20; background: rgba(255,255,255,0.1); border: none; color: #fff; width: 40px; height: 40px; border-radius: 50%; cursor: pointer; font-size: 16px; display: flex; align-items: center; justify-content: center; touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
        .lightbox-fechar:hover { background: rgba(255,255,255,0.2); }
        .lightbox-seta { grid-row: 1; justify-self: center; background: rgba(255,255,255,0.14); border: none; color: #fff; width: 52px; height: 52px; border-radius: 50%; cursor: pointer; font-size: 20px; display: flex; align-items: center; justify-content: center; transition: background 0.2s; touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
        .lightbox-seta:hover { background: var(--ig-botao, rgba(255,255,255,0.25)); }
        .lightbox-seta-esq { grid-column: 1; }
        .lightbox-seta-dir { grid-column: 3; }
        @media (max-width: 700px) {
            .lightbox-overlay.aberto { grid-template-columns: 52px 1fr 52px; }
            .lightbox-seta { width: 40px; height: 40px; font-size: 15px; }
            .lightbox-fechar { top: 12px; right: 12px; width: 34px; height: 34px; }
        }
        .anexo-social-thumb.clicavel { cursor: pointer; transition: transform 0.15s; }
        .anexo-social-thumb.clicavel:hover { transform: scale(1.05); }
        .material-preview.clicavel { cursor: pointer; transition: transform 0.15s; }
        .material-preview.clicavel:hover { transform: scale(1.03); }



        .tag-input-container { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; border: 1.5px solid var(--border); border-radius: 10px; padding: 8px 10px; cursor: text; background: #fff; }
        .tag-input-container:focus-within { border-color: #db2777; box-shadow: 0 0 0 3px rgba(219,39,119,0.1); }
        .tag-chip-editavel { display: flex; align-items: center; gap: 6px; background: #fdf2f8; color: #be185d; font-size: 12px; font-weight: 600; padding: 5px 6px 5px 10px; border-radius: 16px; white-space: nowrap; }
        .tag-chip-editavel button { background: rgba(190,24,93,0.15); border: none; color: #be185d; width: 15px; height: 15px; border-radius: 50%; cursor: pointer; font-size: 9px; display: flex; align-items: center; justify-content: center; }
        .tag-input-container input { border: none; outline: none; flex: 1; min-width: 120px; font-size: 13.5px; padding: 4px 2px; font-family: inherit; }
        .social-concluido-toggle input { width: 17px; height: 17px; cursor: pointer; accent-color: var(--success-text); }

        .kanban-card-tipo-tag { font-size: 13px; flex-shrink: 0; }
        .kanban-card-tags { display: flex; flex-wrap: wrap; gap: 4px; margin: 6px 0; }
        .kanban-card-tipo-conteudo { font-size: 10.5px; color: var(--text-muted); margin: 2px 0 4px 0; font-weight: 600; }
        .kanban-tag-chip { font-size: 9.5px; font-weight: 700; padding: 2px 7px; border-radius: 8px; background: #f1f5f9; color: #475569; white-space: nowrap; }
        .kanban-card.concluido { opacity: 0.62; }
        .kanban-card.concluido h4 { text-decoration: line-through; }
        .kanban-card-check { width: 18px; height: 18px; border-radius: 50%; border: 2px solid var(--border); flex-shrink: 0; cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 10px; color: transparent; transition: all 0.2s; }
        .kanban-card-check.marcado { background: var(--success-text); border-color: var(--success-text); color: #fff; }

        .materiais-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 16px; }
        .material-card { background: rgba(255,255,255,0.75); border: 1px solid rgba(255,255,255,0.6); border-radius: var(--radius-lg); padding: 14px; text-align: center; box-shadow: var(--shadow-sm); position: relative; }
        .material-preview { width: 100%; height: 100px; border-radius: 10px; background: var(--bg-subtle); display: flex; align-items: center; justify-content: center; margin-bottom: 10px; overflow: hidden; border: 1px solid var(--border); }
        .material-preview img { max-width: 100%; max-height: 100%; object-fit: contain; }
        .material-preview i { font-size: 30px; color: #cbd5e1; }
        .material-card h4 { margin: 0 0 4px 0; font-size: 12.5px; font-weight: 600; color: var(--primary); word-break: break-word; }
        .material-pasta-badge { display: inline-flex; align-items: center; gap: 4px; font-size: 9.5px; color: var(--text-muted); background: #f1f5f9; padding: 2px 7px; border-radius: 8px; margin-bottom: 4px; }
        .material-tipo-tag { font-size: 9.5px; font-weight: 700; color: #db2777; background: #fdf2f8; padding: 2px 8px; border-radius: 8px; display: inline-block; margin-bottom: 8px; }
        .material-acoes { display: flex; gap: 6px; justify-content: center; margin-top: 8px; }
        .material-acoes a, .material-acoes button { background: var(--bg-muted); border: none; width: 28px; height: 28px; border-radius: 8px; cursor: pointer; color: var(--text-muted); display: flex; align-items: center; justify-content: center; font-size: 12px; text-decoration: none; }
        .material-acoes .excluir:hover { background: var(--danger-bg-hover); color: var(--danger); }

        .materiais-cabecalho { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; flex-wrap: wrap; }
        .pastas-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 14px; margin-bottom: 22px; }
        .pasta-card { position: relative; background: rgba(255,255,255,0.75); border: 1px solid rgba(255,255,255,0.6); border-radius: var(--radius-lg); padding: 18px 14px; text-align: center; cursor: pointer; box-shadow: var(--shadow-sm); transition: all 0.2s cubic-bezier(0.4,0,0.2,1); }
        .pasta-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); border-color: #db2777; }
        .pasta-card.arrastando-sobre, #btnVoltarPasta.arrastando-sobre { background: #fdf2f8; border-color: #db2777; box-shadow: 0 0 0 3px rgba(219,39,119,0.15); }
        .material-card[draggable="true"] { cursor: grab; }
        .pasta-card i { font-size: 32px; color: #db2777; margin-bottom: 8px; display: block; }
        .pasta-card h4 { margin: 0 0 3px 0; font-size: 12.5px; font-weight: 600; color: var(--primary); word-break: break-word; }
        .pasta-card span { font-size: 10.5px; color: var(--text-muted); }
        .pasta-excluir { position: absolute; top: 8px; right: 8px; background: rgba(0,0,0,0.06); border: none; width: 20px; height: 20px; border-radius: 50%; cursor: pointer; color: var(--text-muted); font-size: 9px; display: flex; align-items: center; justify-content: center; }
        .pasta-excluir:hover { background: var(--danger-bg-hover); color: var(--danger); }
        .materiais-subtitulo { grid-column: 1/-1; margin: 0 0 4px 0; font-size: 12px; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.4px; }

        .opcao-exclusao-pasta { display: flex; align-items: center; gap: 14px; width: 100%; text-align: left; background: var(--bg-subtle); border: 1.5px solid var(--border); border-radius: 12px; padding: 14px 16px; margin-bottom: 10px; cursor: pointer; transition: all 0.2s; }
        .opcao-exclusao-pasta:hover { border-color: #2563eb; background: #eff6ff; }
        .opcao-exclusao-pasta.perigo:hover { border-color: var(--danger); background: var(--danger-bg); }
        .opcao-exclusao-pasta i { font-size: 20px; flex-shrink: 0; width: 24px; text-align: center; }
        .opcao-exclusao-pasta strong { display: block; font-size: 13.5px; color: var(--text-main); margin-bottom: 2px; }
        .opcao-exclusao-pasta span { display: block; font-size: 11.5px; color: var(--text-muted); line-height: 1.4; }

        .calendario-nav { display: flex; align-items: center; justify-content: center; gap: 24px; margin-bottom: 20px; }
        .calendario-nav h3 { margin: 0; font-size: 18px; color: var(--primary); font-weight: 700; min-width: 200px; text-align: center; text-transform: capitalize; }
        .calendario-dias-semana { display: grid; grid-template-columns: repeat(7, 1fr); gap: 8px; margin-bottom: 8px; }
        .calendario-dias-semana span { text-align: center; font-size: 11.5px; font-weight: 700; color: var(--text-muted); text-transform: uppercase; }
        .calendario-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 8px; }
        .calendario-dia { background: rgba(255,255,255,0.6); border: 1px solid rgba(255,255,255,0.6); border-radius: 12px; min-height: 100px; padding: 8px; cursor: pointer; transition: all 0.2s; }
        .calendario-dia:hover { border-color: #db2777; }
        .calendario-dia.fora-do-mes { opacity: 0.35; }
        .calendario-dia.dia-hoje { border-color: #db2777; box-shadow: 0 0 0 2px rgba(219,39,119,0.15); }
        .calendario-dia-numero { font-size: 12px; font-weight: 700; color: var(--text-main); margin-bottom: 6px; }
        .calendario-pill { font-size: 10px; font-weight: 600; padding: 3px 7px; border-radius: 6px; margin-bottom: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; cursor: pointer; color: #fff; }

        @media (max-width: 700px) {
            .kanban-coluna { flex: 0 0 240px; }
            .calendario-dia { min-height: 64px; padding: 5px; }
            .calendario-dia-numero { font-size: 10.5px; }
            .calendario-pill { font-size: 8.5px; padding: 2px 5px; }
            .calendario-nav h3 { font-size: 14px; min-width: 130px; }
            .container-social { padding: 14px 10px; }
        }

        /* ===================== IDENTIDADE ROSA (Social Media) — vale em claro e escuro ===================== */
        #tela-social {
            --ig-gradiente: linear-gradient(135deg, #4f5bd5 0%, #962fbf 30%, #d62976 55%, #fa7e1e 80%, #feda75 100%);
            --ig-botao: linear-gradient(135deg, #833ab4 0%, #fd1d1d 55%, #fcb045 100%);
        }
        /* ===================== TEMA ESCURO + VIDRO (só Social Media) ===================== */
        .social-tema-escuro {
            --vidro-escuro: rgba(30, 20, 45, 0.55);
            --vidro-escuro-forte: rgba(24, 16, 36, 0.82);
            --borda-vidro: rgba(255,255,255,0.12);
            --texto-claro: #f4f2f7;
            --texto-claro-fraco: rgba(244,242,247,0.6);
        }

        #tela-social.social-tema-escuro {
            min-height: 100vh;
            background: radial-gradient(circle at 15% 0%, #3a1c54 0%, transparent 45%), radial-gradient(circle at 90% 10%, #4a1a3d 0%, transparent 40%), linear-gradient(160deg, #1a1025 0%, #150c22 60%, #0f0a18 100%);
        }
        .social-tema-escuro .header-app { background: rgba(20,13,30,0.92); border: 1px solid var(--borda-vidro); box-shadow: 0 8px 32px rgba(0,0,0,0.35); }
        .social-tema-escuro .header-app h2, .social-tema-escuro .header-app h2 i { color: var(--texto-claro) !important; -webkit-text-fill-color: initial; }
        .social-tema-escuro .btn-voltar-dash { background: rgba(255,255,255,0.06); border-color: var(--borda-vidro); color: var(--texto-claro-fraco); }
        .social-tema-escuro .btn-voltar-dash:hover { background: rgba(255,255,255,0.12); color: var(--texto-claro); }

        .social-tema-escuro .social-view-toggle { background: rgba(255,255,255,0.06); }
        .social-tema-escuro .social-view-toggle button { color: var(--texto-claro-fraco); }
        .social-tema-escuro .social-view-toggle button.ativo { background: var(--ig-gradiente); color: #fff; }

        #tela-social .btn-ig-gradiente { background: var(--ig-botao); color: #fff; border: none; box-shadow: 0 6px 18px -4px rgba(214,41,118,0.5); }
        #tela-social .btn-ig-gradiente:hover { filter: brightness(1.1); transform: translateY(-1px); }
        .social-tema-escuro .btn-tool:not(.btn-ig-gradiente):not(.danger) { background: rgba(255,255,255,0.07); border-color: var(--borda-vidro); color: var(--texto-claro); }
        .social-tema-escuro .btn-tool:not(.btn-ig-gradiente):not(.danger):hover { background: rgba(255,255,255,0.13); }

        .social-tema-escuro .input-group span { background: rgba(255,255,255,0.06); border-color: var(--borda-vidro); color: var(--texto-claro-fraco); }

        /* Cards de vidro escuro pro quadro, pastas e materiais */
        .social-tema-escuro .kanban-coluna { background: rgba(35,24,50,0.65); border: 1px solid var(--borda-vidro); }
        .social-tema-escuro .kanban-coluna-titulo { color: var(--texto-claro); }
        .social-tema-escuro .kanban-coluna-contador { background: rgba(255,255,255,0.1); color: var(--texto-claro-fraco); }
        .social-tema-escuro .kanban-nova-coluna { border-color: rgba(255,255,255,0.18); color: var(--texto-claro-fraco); }
        .social-tema-escuro .kanban-nova-coluna:hover { border-color: #d62976; color: #fda4c7; background: rgba(214,41,118,0.1); }
        .social-tema-escuro .kanban-coluna-contador { background: rgba(255,255,255,0.1); color: var(--texto-claro-fraco); }
        .social-tema-escuro .kanban-card { background: rgba(28,18,42,0.92); border-color: var(--borda-vidro); border-left-width: 4px; box-shadow: 0 4px 14px -2px rgba(0,0,0,0.4); }
        .social-tema-escuro .kanban-card:hover { border-color: rgba(255,255,255,0.25); box-shadow: 0 10px 26px -4px rgba(0,0,0,0.5); }
        .social-tema-escuro .kanban-card h4 { color: var(--texto-claro); }
        .social-tema-escuro .kanban-card-data { color: var(--texto-claro-fraco); }
        .social-tema-escuro .kanban-card-tipo-conteudo { color: var(--texto-claro-fraco); }
        .social-tema-escuro .kanban-tag-chip { background: rgba(255,255,255,0.1); color: var(--texto-claro-fraco); }
        .social-tema-escuro .kanban-card-check { border-color: rgba(255,255,255,0.25); }
        .social-tema-escuro .kanban-vazio { color: var(--texto-claro-fraco); border-color: var(--borda-vidro); }

        .social-tema-escuro .pasta-card, .social-tema-escuro .material-card { background: rgba(35,24,50,0.75); border-color: var(--borda-vidro); }
        .social-tema-escuro .pasta-card:hover { border-image: var(--ig-gradiente) 1; box-shadow: 0 8px 22px -4px rgba(214,41,118,0.35); }
        .social-tema-escuro .pasta-card i { background: var(--ig-gradiente); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
        .social-tema-escuro .pasta-card h4, .social-tema-escuro .material-card h4 { color: var(--texto-claro); }
        .social-tema-escuro .pasta-card span, .social-tema-escuro .materiais-subtitulo { color: var(--texto-claro-fraco); }
        .social-tema-escuro .material-preview { background: rgba(255,255,255,0.05); border-color: var(--borda-vidro); }
        .social-tema-escuro .material-preview i { color: rgba(255,255,255,0.3); }
        .social-tema-escuro .material-tipo-tag { background: rgba(214,41,118,0.18); color: #fda4c7; }
        .social-tema-escuro .material-acoes a, .social-tema-escuro .material-acoes button { background: rgba(255,255,255,0.08); color: var(--texto-claro-fraco); }
        .social-tema-escuro .material-pasta-badge { background: rgba(255,255,255,0.08); color: var(--texto-claro-fraco); }

        /* Calendário */
        .social-tema-escuro .calendario-dia { background: var(--vidro-escuro); border-color: var(--borda-vidro); }
        .social-tema-escuro .calendario-dia.dia-hoje { border-image: var(--ig-gradiente) 1; box-shadow: 0 0 0 2px rgba(214,41,118,0.25); }
        .social-tema-escuro .calendario-dia-numero { color: var(--texto-claro); }
        .social-tema-escuro .calendario-nav h3 { color: var(--texto-claro); }
        .social-tema-escuro .calendario-nav .btn-icon { background: rgba(255,255,255,0.07); color: var(--texto-claro); }
        .social-tema-escuro .calendario-dias-semana span { color: var(--texto-claro-fraco); }

        /* Modais: o ponto principal do pedido — contraste de verdade nos campos */
        .social-tema-escuro .modal-content { background: rgba(24,16,36,0.94); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid var(--borda-vidro); box-shadow: 0 30px 70px -12px rgba(0,0,0,0.7); }
        .social-tema-escuro .modal-header { border-bottom-color: var(--borda-vidro); }
        .social-tema-escuro .modal-header h3 { color: var(--texto-claro); }
        .social-tema-escuro h3, .social-tema-escuro h4, .social-tema-escuro strong, .social-tema-escuro b { color: var(--texto-claro); }
        .social-tema-escuro .kanban-card h4, .social-tema-escuro .pasta-card h4, .social-tema-escuro .material-card h4 { color: var(--texto-claro); } /* reforço, sem depender de ordem no arquivo */
        .social-tema-escuro .modal-header button { color: var(--texto-claro-fraco); }
        .social-tema-escuro .modal-header button:hover { color: var(--texto-claro); }
        .social-tema-escuro label { color: var(--texto-claro-fraco); }
        .social-tema-escuro p { color: var(--texto-claro-fraco); }

        .social-tema-escuro input[type="text"], .social-tema-escuro input[type="url"], .social-tema-escuro input[type="date"],
        .social-tema-escuro input[type="time"], .social-tema-escuro input[type="file"], .social-tema-escuro select,
        .social-tema-escuro textarea, .social-tema-escuro .campo-editavel, .social-tema-escuro .tag-input-container {
            background: rgba(255,255,255,0.07) !important;
            border: 1.5px solid rgba(255,255,255,0.16) !important;
            color: var(--texto-claro) !important;
        }
        .social-tema-escuro input::placeholder, .social-tema-escuro textarea::placeholder { color: rgba(244,242,247,0.32); }
        .social-tema-escuro input:focus, .social-tema-escuro select:focus, .social-tema-escuro textarea:focus,
        .social-tema-escuro .campo-editavel:focus, .social-tema-escuro .tag-input-container:focus-within {
            border-color: #d62976 !important; background: rgba(255,255,255,0.11) !important; box-shadow: 0 0 0 4px rgba(214,41,118,0.18) !important;
        }
        .social-tema-escuro select option { background: #241732; color: var(--texto-claro); }
        .social-tema-escuro select.slide-social-acao { border-color: var(--cor-acao-slide) !important; background: rgba(255,255,255,0.05) !important; }
        .social-tema-escuro .tag-chip-editavel { background: rgba(214,41,118,0.22); color: #fda4c7; }
        .social-tema-escuro .tag-chip-editavel button { background: rgba(253,164,199,0.2); color: #fda4c7; }

        .social-tema-escuro .social-concluido-toggle { background: rgba(34,197,94,0.12); border-color: rgba(34,197,94,0.3); color: #86efac; }
        .social-tema-escuro .item-passos-pontos span { background: rgba(255,255,255,0.15); }
        .social-tema-escuro .item-passos-pontos span.ativo { background: var(--ig-gradiente); width: 22px; border-radius: 4px; }
        .social-tema-escuro .item-passos-pontos span.concluido { background: rgba(214,41,118,0.4); }

        .social-tema-escuro .opcao-exclusao-pasta { background: rgba(255,255,255,0.06); border-color: var(--borda-vidro); }
        .social-tema-escuro .opcao-exclusao-pasta:hover { border-color: #4f5bd5; background: rgba(79,91,213,0.12); }
        .social-tema-escuro .opcao-exclusao-pasta.perigo:hover { border-color: #fd1d1d; background: rgba(253,29,29,0.1); }
        .social-tema-escuro .opcao-exclusao-pasta strong { color: var(--texto-claro); }
        .social-tema-escuro .opcao-exclusao-pasta span { color: var(--texto-claro-fraco); }

        .social-tema-escuro .btn-preview-flutuante { background: var(--ig-botao); }

        .social-tema-escuro .observacao-toolbar button { background: rgba(255,255,255,0.08); border-color: var(--borda-vidro); color: var(--texto-claro); }
        .social-tema-escuro .observacao-toolbar button:hover { background: rgba(255,255,255,0.15); }

        .slide-social-item { background: rgba(255,255,255,0.05); border: 1px solid var(--borda-vidro); border-radius: 10px; padding: 12px; margin-bottom: 10px; }
        .slide-social-cabecalho { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
        .slide-social-cabecalho strong { font-size: 12px; color: var(--texto-claro-fraco); text-transform: uppercase; letter-spacing: 0.4px; }
        .slide-social-remover { background: rgba(253,29,29,0.15) !important; color: #fca5a5 !important; }
        .slide-social-texto { min-height: 60px !important; font-size: 13.5px !important; }
        .slide-social-acao { width: auto !important; padding: 5px 8px !important; font-size: 11px !important; font-weight: 700; border-width: 2px !important; }

        .form-group { display: flex; flex-direction: column; gap: 4px; }
        label { font-weight: 600; font-size: 11px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.4px; }
        input[type="text"], input[type="password"], input[type="date"], input[type="number"], input[type="email"], input[type="tel"], input[type="time"], select { width: 100%; padding: 8px 11px; border: 1.5px solid transparent; border-radius: var(--radius-sm); box-sizing: border-box; font-size: 13.5px; color: var(--text-main); font-family: inherit; transition: all 0.2s cubic-bezier(0.4,0,0.2,1); background: var(--bg-muted); }
        input:focus, select:focus, .campo-editavel:focus { outline: none; border-color: var(--accent); background: #fff; box-shadow: 0 0 0 4px rgba(var(--accent-rgb),0.14); }
        .campo-editavel { width: 100%; box-sizing: border-box; padding: 14px 16px; border: 1.5px solid transparent; border-radius: var(--radius-sm); background: var(--bg-muted); font-family: inherit; font-size: 14.5px; line-height: 1.6; min-height: 130px; outline: none; transition: all 0.2s cubic-bezier(0.4,0,0.2,1); }
        .campo-editavel:empty::before { content: attr(data-placeholder); color: var(--text-muted); }
        
        .input-group { display: flex; align-items: stretch; }
        .input-group span { background: var(--surface-hover); padding: 12px 16px; border: 1px solid var(--border); border-right: none; border-radius: var(--radius-sm) 0 0 var(--radius-sm); color: var(--text-muted); font-weight: 600; display: flex; align-items: center;}
        .input-group input { border-radius: 0 var(--radius-sm) var(--radius-sm) 0; }

        .tabela-container { background: var(--bg-subtle); padding: 25px; border: 1px solid var(--border); border-radius: 12px; margin-bottom: 25px; overflow-x: auto; animation: fadeSlideUp 0.3s ease-out;}
        .titulo-tabela { background: #fff !important; border: 1px solid var(--border) !important; border-left: 4px solid var(--accent) !important; font-size: 16px !important; font-weight: 700 !important; color: var(--primary) !important; padding: 14px 18px !important; margin-bottom: 25px !important; border-radius: 8px !important; box-shadow: 0 2px 5px rgba(0,0,0,0.02); }
        .area-tabela-dados { width: 100%; padding-bottom: 10px; }
        
        /* ── LAYOUT DE LINHA (estilo planilha) ──────────────────────────── */
        .linha-flex { display: flex; gap: 0; margin-bottom: 0; align-items: stretch; width: 100%; animation: fadeIn 0.3s ease-in; }
        /* Régua de colunas e números de linha */
        .linha-letras-col { display: flex; gap: 0; margin-bottom: 0; align-items: center; width: 100%; position: sticky; left: 0; }
        .letra-col { flex: 1 1 0; min-width: 85px; text-align: center; font-size: 10px; font-weight: 800; color: var(--text-muted); background: var(--bg-muted); border: 1px solid var(--border); border-radius: 0; border-right: none; padding: 3px 0; font-family: monospace; letter-spacing: 0.5px; user-select: none; }
        .letra-col:last-child { border-right: 1px solid var(--border); }
        .row-num-spacer { flex-shrink: 0; background: var(--bg-muted); border-bottom: 1px solid var(--border); position: sticky; left: 0; z-index: 4; }
        .row-num-label { display: flex; align-items: center; justify-content: center; min-width: 16px; font-size: 10px; font-weight: 800; color: var(--text-muted); font-family: monospace; flex-shrink: 0; user-select: none; }
        .celula-wrap { position: relative; flex: 1 1 0; min-width: 85px; display: flex; flex-direction: column; gap: 0; }
        /* Sistema unificado de mesclagem H + V + 2D */
        .celula-coberta, .celula-mesclada, .celula-mesclada-v { visibility: hidden; pointer-events: none; }
        .celula-wrap.celula-host-mesclada,
        .celula-wrap.celula-host-mesclada-v { position: relative; z-index: 5; overflow: visible; }
        .celula-wrap.celula-host-mesclada > .input-valor-celula,
        .celula-wrap.celula-host-mesclada-v > .input-valor-celula {
            position: absolute; top: 0; left: 0; z-index: 5;
            width: var(--largura-mesclada, 100%);
            height: var(--altura-total-v, 36px);
            min-height: 36px;
            border-radius: 0 !important;
            border-right: 1px solid var(--border) !important;
            border-bottom: 1px solid var(--border) !important;
            overflow: hidden;
        }
        .celula-wrap.celula-host-mesclada > .input-valor-celula:focus,
        .celula-wrap.celula-host-mesclada-v > .input-valor-celula:focus { overflow: auto; }
        .celula-wrap.wrap-menu-aberto { z-index: 1000 !important; }
        .celula-wrap.celula-vazia .input-valor-celula { visibility: hidden; }
        .linhas-area { margin-top: 0; border-bottom: 1px solid var(--border); }
        .area-cabecalho { border-bottom: 1px solid var(--border); }
        .celula-wrap.celula-host-mesclada .formato-dropdown { right: auto; left: calc(var(--largura-mesclada, 100%) - 28px); }
        .celula-wrap.celula-host-mesclada .excluir-col-icon { right: auto; left: calc(var(--largura-mesclada, 100%) - 32px); }
        .linha-flex input, .linha-flex textarea { width: 100%; padding: 8px 10px; border-radius: 0; border: 1px solid var(--border); font-size: 14px; font-family: inherit; box-sizing: border-box; }
        .linha-flex textarea { resize: none; overflow: hidden; line-height: 1.4; display: block; height: 36px; }

        /* ── CÉLULAS CONTENTEDITABLE — ESTILO PLANILHA ──────────────────── */
        .input-valor-celula[contenteditable] {
            width: 100%; padding: 8px 10px;
            border-radius: 0;
            border: 1px solid var(--border);
            border-right: none; border-bottom: none;
            font-size: 14px; font-family: inherit; box-sizing: border-box;
            line-height: 1.4; height: 36px; overflow: hidden;
            outline: none; cursor: text;
            word-break: break-word; white-space: pre-wrap;
            background: #fff; color: var(--text-main);
            transition: box-shadow 0.1s;
        }
        .celula-wrap:last-child .input-valor-celula[contenteditable] { border-right: 1px solid var(--border); }
        .input-valor-celula[contenteditable]:focus {
            height: auto; min-height: 36px; overflow: hidden;
            box-shadow: inset 0 0 0 2px var(--accent);
            border-color: var(--accent);
            border-right: 1px solid var(--accent) !important;
            border-bottom: 1px solid var(--accent) !important;
            z-index: 10; position: relative;
        }
        .input-valor-celula[contenteditable]:empty::before { content: attr(data-placeholder); color: var(--text-muted); pointer-events: none; display: block; }
        body.tema-escuro .input-valor-celula[contenteditable] { background: #0f172a; border-color: rgba(255,255,255,0.1); color: var(--text-main); }
        body.tema-escuro .celula-wrap:last-child .input-valor-celula[contenteditable] { border-right-color: rgba(255,255,255,0.1); }
        body.tema-escuro .linhas-area, body.tema-escuro .area-cabecalho { border-color: rgba(255,255,255,0.1); }

        /* ── CABEÇALHO AZUL ─────────────────────────────────────────────── */
        .linha-cabecalho input, .linha-cabecalho textarea { background-color: var(--primary); color: white; border: none; font-weight: 600; }
        .linha-cabecalho input::placeholder, .linha-cabecalho textarea::placeholder { color: rgba(255,255,255,0.5); font-weight: 400; }
        .linha-cabecalho .input-valor-celula[contenteditable] {
            background: var(--primary) !important;
            color: #fff !important;
            font-weight: 600;
            border-color: rgba(255,255,255,0.18) !important;
        }
        .linha-cabecalho .celula-wrap:last-child .input-valor-celula[contenteditable] { border-right: 1px solid rgba(255,255,255,0.18) !important; }
        .linha-cabecalho .input-valor-celula[contenteditable]:empty::before { color: rgba(255,255,255,0.45); }
        .linha-cabecalho .input-valor-celula[contenteditable]:focus { background: rgba(var(--accent-rgb),0.85) !important; box-shadow: inset 0 0 0 2px rgba(255,255,255,0.35); border-color: rgba(255,255,255,0.4) !important; }
        body.tema-escuro .linha-cabecalho .input-valor-celula[contenteditable] { background: #1e3a6b !important; border-color: rgba(255,255,255,0.12) !important; }

        /* Modo rolagem horizontal (opcional, por tabela) */
        .tabela-container.modo-scroll { overflow-x: auto; }
        .tabela-container.modo-scroll .area-tabela-dados { width: max-content; min-width: 100%; }
        .tabela-container.modo-scroll .celula-wrap { flex: 1 1 auto; min-width: 160px; }
        /* Linha de ações (+ Linha / + Coluna) — spacing ajustado para o layout planilha */
        .linha-acoes-contexto { margin-top: 10px; }
        .excluir-col-icon { position: absolute; top: -10px; right: 10px; background: var(--danger); color: white; width: 22px; height: 22px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 10px; cursor: pointer; opacity: 0; transform: translateY(5px); transition: all 0.2s; box-shadow: 0 2px 4px rgba(0,0,0,0.2);}
        .celula-wrap:hover .excluir-col-icon { opacity: 1; transform: translateY(0); }
        .excluir-col-icon:hover { background: var(--danger-text); transform: scale(1.1) !important; }

        .btn-remover-linha { position: sticky; left: 0; z-index: 3; background: var(--bg-card); color: var(--text-muted); border: 1px solid var(--border); border-radius: 8px; padding: 10px; cursor: pointer; font-size: 14px; transition: all 0.2s; flex-shrink: 0; box-shadow: 2px 0 6px rgba(0,0,0,0.04); }
        .btn-remover-linha:hover { color: #fff; background: var(--danger); border-color: var(--danger); }
        .linha-acoes-esquerda { position: sticky; left: 0; z-index: 3; display: flex; gap: 4px; flex-shrink: 0; align-items: center; background: var(--bg-subtle); padding-right: 4px; box-shadow: 2px 0 4px rgba(0,0,0,0.04); }
        .linha-acoes-esquerda .btn-remover-linha { position: static; box-shadow: none; }
        .btn-duplicar-linha { background: var(--bg-card); color: var(--text-muted); border: 1px solid var(--border); border-radius: 8px; padding: 10px; cursor: pointer; font-size: 14px; transition: all 0.2s; flex-shrink: 0; }
        .btn-duplicar-linha:hover { color: #fff; background: var(--accent); border-color: var(--accent); }
        .btn-duplicar-linha.invisivel { visibility: hidden; pointer-events: none; display: inline-block; }
        .btn-mover-linha { background: var(--bg-card); color: var(--text-muted); border: 1px solid var(--border); border-radius: 8px; padding: 10px 8px; cursor: pointer; font-size: 13px; transition: all 0.2s; flex-shrink: 0; }
        .btn-mover-linha:hover { color: #fff; background: var(--primary); border-color: var(--primary); }
        .linha-menu-dropdown { position: relative; }
        .btn-linha-menu-trigger { min-width: 38px; height: 38px; border-radius: 10px; border: none; background: var(--bg-muted); color: var(--text-muted); cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 14px; transition: all 0.2s; }
        .btn-linha-menu-trigger:hover { background: var(--primary); color: #fff; }
        .linha-menu { position: absolute; top: calc(100% + 6px); left: 0; background: #fff; border: 1px solid var(--border); border-radius: 10px; box-shadow: 0 10px 25px rgba(0,0,0,0.15); padding: 6px; display: none; flex-direction: column; gap: 2px; z-index: 50; min-width: 190px; }
        .linha-menu.aberto { display: flex; }
        .linha-menu button { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; background: transparent; border: none; padding: 9px 10px; border-radius: 7px; cursor: pointer; font-size: 13px; font-weight: 500; color: var(--text-main); transition: background 0.15s; }
        .linha-menu button:hover { background: var(--surface-hover); }
        .linha-menu button i { width: 16px; color: var(--text-muted); }
        .linha-menu button.item-perigo { color: var(--danger); }
        .linha-menu button.item-perigo:hover { background: #fff1f0; }
        .linha-menu button.item-perigo i { color: var(--danger); }
        .linha-flex.linha-com-menu-aberto { position: relative; z-index: 20; }

        /* ── Tabela ⋯ dropdown menu ── */
        .tabela-menu-dropdown { position: relative; }
        .btn-tabela-menu-trigger { min-width: 34px !important; height: 34px !important; border-radius: 9px; }
        .tabela-menu { position: absolute; top: calc(100% + 6px); right: 0; background: #fff; border: 1px solid var(--border); border-radius: 10px; box-shadow: 0 10px 25px rgba(0,0,0,0.15); padding: 6px; display: none; flex-direction: column; gap: 2px; z-index: 60; min-width: 160px; }
        .tabela-menu.aberto { display: flex; }
        .tabela-menu button { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; background: transparent; border: none; padding: 9px 10px; border-radius: 7px; cursor: pointer; font-size: 13px; font-weight: 500; color: var(--text-main); transition: background 0.15s; }
        .tabela-menu button:hover { background: var(--surface-hover); }
        .tabela-menu button i { width: 16px; color: var(--text-muted); }
        .tabela-menu button.item-perigo { color: var(--danger); }
        .tabela-menu button.item-perigo:hover { background: #fff1f0; }
        .tabela-menu button.item-perigo i { color: var(--danger); }

        /* ── 2-second hover label reveal ── */
        .btn-icon.btn-delay-label:hover:not(:disabled) { padding: 0 10px; }
        .btn-icon.btn-delay-label .rotulo { transition: max-width 0.15s ease 0s, opacity 0.1s ease 0s, margin-left 0.15s ease 0s; }
        .btn-icon.btn-delay-label:hover:not(:disabled) .rotulo { max-width: 160px; opacity: 1; margin-left: 8px; transition: max-width 0.2s ease 2s, opacity 0.2s ease 2s, margin-left 0.2s ease 2s; }

        /* ── Drag-and-drop reorder ── */
        .tabela-container.arrastando { opacity: 0.35; }
        .tabela-container.drag-over { outline: 2px dashed var(--primary); outline-offset: 3px; }
        .modo-ordenar .tabela-container { cursor: grab; }
        .modo-ordenar .tabela-container:active { cursor: grabbing; }

        /* ── Importar Mensagem do Cliente ── */
        /* Botão externo "Importar mensagem" */
        .btn-importar-msg { display:inline-flex; align-items:center; gap:7px; padding:7px 14px; border-radius:9px; border:1px solid var(--accent); background:rgba(99,102,241,0.08); color:var(--accent); font-size:13px; font-weight:600; cursor:pointer; transition:all 0.15s; white-space:nowrap; flex-shrink:0; }
        .btn-importar-msg:hover { background:var(--accent); color:#fff; box-shadow:0 4px 12px rgba(99,102,241,0.3); }
        .btn-importar-msg-fixo { width:100%; justify-content:center; border-radius:14px; padding:12px 20px; font-size:14px; margin-bottom:10px; }
        .btn-importar-msg-trilha { width:100%; justify-content:center; border-radius:10px; padding:10px 16px; font-size:13px; }

        /* Modal Importar */
        .modal-importar { max-width:560px !important; padding:0 !important; overflow:hidden; }
        .modal-importar .modal-header { padding:20px 20px 16px; border-bottom:1px solid var(--border); }
        .importar-icone-titulo { width:34px; height:34px; border-radius:10px; background:linear-gradient(135deg,#818cf8,#6366f1); display:flex; align-items:center; justify-content:center; color:#fff; font-size:15px; flex-shrink:0; }
        .btn-fechar-importar { width:32px; height:32px; border-radius:8px; border:1px solid var(--border); background:var(--bg-subtle); color:var(--text-muted); display:flex; align-items:center; justify-content:center; cursor:pointer; font-size:15px; transition:all 0.15s; flex-shrink:0; }
        .btn-fechar-importar:hover { background:rgba(239,68,68,0.08); border-color:rgba(239,68,68,0.3); color:#ef4444; }

        /* Aviso beta */
        .importar-aviso-beta { display:flex; align-items:flex-start; gap:12px; margin:0; padding:12px 20px; background:rgba(245,158,11,0.07); border-bottom:1px solid rgba(245,158,11,0.2); font-size:13px; color:#92400e; line-height:1.5; }
        .importar-aviso-beta i { color:#f59e0b; font-size:15px; margin-top:1px; flex-shrink:0; }
        .importar-aviso-beta strong { color:#78350f; }
        body.tema-escuro .importar-aviso-beta { background:rgba(245,158,11,0.1); border-color:rgba(245,158,11,0.2); color:#fcd34d; }
        body.tema-escuro .importar-aviso-beta strong { color:#fde68a; }

        /* Footer do modal importar */
        .importar-footer { display:flex; justify-content:space-between; align-items:center; padding:14px 20px; border-top:1px solid var(--border); margin-top:16px; }
        .btn-importar-cancelar { display:inline-flex; align-items:center; gap:7px; padding:9px 18px; border-radius:10px; border:1px solid var(--border); background:var(--bg-subtle); color:var(--text-muted); font-size:13.5px; font-weight:600; cursor:pointer; transition:all 0.15s; }
        .btn-importar-cancelar:hover { background:var(--border); color:var(--text); }
        .btn-importar-extrair { display:inline-flex; align-items:center; gap:8px; padding:9px 20px; border-radius:10px; border:none; background:linear-gradient(135deg,#818cf8,#6366f1); color:#fff; font-size:13.5px; font-weight:700; cursor:pointer; transition:all 0.15s; box-shadow:0 2px 8px rgba(99,102,241,0.35); }
        .btn-importar-extrair:hover:not(:disabled) { background:linear-gradient(135deg,#6366f1,#4f46e5); box-shadow:0 4px 14px rgba(99,102,241,0.45); transform:translateY(-1px); }
        .btn-importar-extrair:disabled { opacity:0.65; cursor:not-allowed; transform:none; }
        .btn-importar-confirmar { display:inline-flex; align-items:center; gap:8px; padding:9px 20px; border-radius:10px; border:none; background:linear-gradient(135deg,#34d399,#10b981); color:#fff; font-size:13.5px; font-weight:700; cursor:pointer; transition:all 0.15s; box-shadow:0 2px 8px rgba(16,185,129,0.35); }
        .btn-importar-confirmar:hover { background:linear-gradient(135deg,#10b981,#059669); box-shadow:0 4px 14px rgba(16,185,129,0.45); transform:translateY(-1px); }
        .btn-config-api { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:9px; border:1px solid var(--border); background:var(--bg-subtle); color:var(--text-muted); cursor:pointer; transition:all 0.15s; flex-shrink:0; }
        .btn-config-api:hover { background:var(--accent); color:#fff; border-color:var(--accent); }
        .importar-resultado { display:flex; flex-direction:column; gap:5px; max-height:340px; overflow-y:auto; padding-right:2px; }
        .importar-item { display:flex; align-items:center; gap:10px; padding:8px 12px; border-radius:8px; font-size:13.5px; }
        .importar-item.encontrado { background:rgba(16,185,129,0.07); border:1px solid rgba(16,185,129,0.2); }
        .importar-item.encontrado i { color:#10b981; font-size:14px; flex-shrink:0; }
        .importar-item.ausente { background:var(--bg-subtle); border:1px solid var(--border); }
        .importar-item.ausente i { color:var(--text-muted); font-size:14px; flex-shrink:0; }
        .importar-label { font-weight:600; color:var(--text-muted); min-width:110px; flex-shrink:0; font-size:13px; }
        .importar-valor { color:var(--text); font-weight:500; }
        .importar-ausentes-titulo { font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:0.05em; color:var(--text-muted); padding:10px 0 4px; margin:0; }
        .importar-abas { display:flex; gap:2px; padding:16px 20px 0; border-bottom:1px solid var(--border); margin-bottom:0; }
        .importar-aba { display:inline-flex; align-items:center; gap:7px; padding:8px 14px; border-radius:9px 9px 0 0; border:1px solid transparent; border-bottom:none; background:none; color:var(--text-muted); font-size:13px; font-weight:600; cursor:pointer; transition:all 0.15s; margin-bottom:-1px; }
        .importar-aba:hover { color:var(--text); background:var(--bg-subtle); }
        .importar-aba.ativo { background:var(--bg); color:var(--accent); border-color:var(--border); border-bottom-color:var(--bg); }
        .importar-dropzone { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:160px; border:2px dashed var(--border); border-radius:12px; padding:20px; cursor:pointer; transition:all 0.15s; text-align:center; background:var(--bg-subtle); }
        .importar-dropzone:hover, .importar-dropzone.drag-ativo { border-color:var(--accent); background:rgba(99,102,241,0.06); }
        .btn-colar-imagem { display:inline-flex; align-items:center; gap:7px; padding:8px 18px; border-radius:9px; border:1px solid var(--accent); background:rgba(99,102,241,0.1); color:var(--accent); font-size:13px; font-weight:600; cursor:pointer; transition:all 0.15s; }
        .btn-colar-imagem:hover { background:var(--accent); color:#fff; box-shadow:0 4px 12px rgba(99,102,241,0.3); }
        .importar-dropzone.drag-ativo { box-shadow:0 0 0 3px rgba(99,102,241,0.15); }
        body.tema-escuro .btn-importar-msg { background:rgba(99,102,241,0.12); }
        body.tema-escuro .importar-item.encontrado { background:rgba(16,185,129,0.1); border-color:rgba(16,185,129,0.25); }
        body.tema-escuro .importar-aba.ativo { border-bottom-color:#111827; }
        body.tema-escuro .importar-dropzone { background:rgba(255,255,255,0.03); }

        /* ── Pendências de Cotação ── */
        .modal-pendencias { max-width: 580px !important; }
        .pendencias-vazio { text-align: center; padding: 48px 24px; color: var(--text-muted); }
        .pendencias-vazio i { font-size: 44px; color: var(--success-text); display: block; margin-bottom: 14px; }
        .pendencias-vazio p { font-size: 14px; margin: 0; }
        .pendencias-header-info { padding: 8px 20px 4px; font-size: 12.5px; color: var(--text-muted); border-bottom: 1px solid var(--border); margin-bottom: 4px; }
        .pendencia-card { border: 1px solid var(--border); border-radius: 12px; padding: 14px 16px; margin: 10px 16px; transition: opacity 0.3s, transform 0.3s; }
        .pendencia-card.nivel-leve { border-left: 3px solid #f59e0b; }
        .pendencia-card.nivel-moderada { border-left: 3px solid #f97316; }
        .pendencia-card.nivel-urgente { border-left: 3px solid #ef4444; background: rgba(239,68,68,0.02); }
        .pendencia-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }
        .pendencia-info { display: flex; flex-direction: column; gap: 3px; flex: 1; min-width: 0; }
        .badge-nivel-pendencia { display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 700; letter-spacing: 0.3px; width: fit-content; }
        .badge-nivel-pendencia.nivel-leve { background: rgba(245,158,11,0.12); color: #92400e; border: 1px solid rgba(245,158,11,0.3); }
        .badge-nivel-pendencia.nivel-moderada { background: rgba(249,115,22,0.12); color: #9a3412; border: 1px solid rgba(249,115,22,0.3); }
        .badge-nivel-pendencia.nivel-urgente { background: rgba(239,68,68,0.12); color: #991b1b; border: 1px solid rgba(239,68,68,0.3); }
        .pendencia-cliente { font-size: 15px; font-weight: 700; color: var(--text-main); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        .pendencia-meta { font-size: 12px; color: var(--text-muted); }
        .pendencia-acoes { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }
        .btn-msgs-pendencia { display: inline-flex; align-items: center; gap: 5px; padding: 5px 11px; border-radius: 8px; border: 1px solid var(--border); background: var(--bg-subtle); color: var(--text-muted); cursor: pointer; font-size: 12px; font-weight: 600; transition: all 0.15s; white-space: nowrap; }
        .btn-msgs-pendencia:hover { background: var(--accent); color: #fff; border-color: var(--accent); }
        .btn-msgs-pendencia.ativo { background: var(--accent); color: #fff; border-color: var(--accent); }
        .btn-dispensar-pendencia { background: none; border: none; cursor: pointer; color: var(--text-muted); font-size: 13px; padding: 5px 7px; border-radius: 7px; transition: all 0.15s; flex-shrink: 0; display: flex; align-items: center; }
        .btn-dispensar-pendencia:hover { background: var(--surface-hover); color: var(--text-main); }
        .pendencia-mensagens { margin-top: 12px; }
        .pendencia-msgs-titulo { font-size: 11px; font-weight: 700; color: var(--text-muted); margin-bottom: 8px; text-transform: uppercase; letter-spacing: 0.5px; }
        .pendencia-mensagem-card { background: var(--bg-subtle); border: 1px solid var(--border); border-radius: 8px; padding: 10px 12px; margin-bottom: 6px; display: flex; flex-direction: column; gap: 8px; }
        .pendencia-msg-numero { font-size: 10px; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.4px; }
        .pendencia-msg-texto { font-size: 13px; color: var(--text-main); line-height: 1.55; margin: 0; }
        .btn-copiar-msg { align-self: flex-end; display: inline-flex; align-items: center; gap: 5px; padding: 5px 12px; background: var(--accent); color: #fff; border: none; border-radius: 6px; cursor: pointer; font-size: 11.5px; font-weight: 600; transition: all 0.15s; }
        .btn-copiar-msg:hover { background: var(--accent-hover); }
        .btn-copiar-msg.copiado { background: var(--success-text); }
        .btn-aprovar-pendencia { display: inline-flex; align-items: center; gap: 4px; padding: 5px 10px; border-radius: 7px; border: 1px solid var(--success-text); background: var(--success-bg); color: var(--success-text); cursor: pointer; font-size: 11.5px; font-weight: 700; transition: all 0.15s; white-space: nowrap; }
        .btn-aprovar-pendencia:hover { background: var(--success-text); color: #fff; }
        .btn-reprovar-pendencia { display: inline-flex; align-items: center; gap: 4px; padding: 5px 10px; border-radius: 7px; border: 1px solid var(--danger); background: var(--danger-bg); color: var(--danger); cursor: pointer; font-size: 11.5px; font-weight: 700; transition: all 0.15s; white-space: nowrap; }
        .btn-reprovar-pendencia:hover { background: var(--danger); color: #fff; }
        .badge-motivo-reprovacao { display: inline-flex; align-items: center; gap: 4px; font-size: 10px; font-weight: 600; color: var(--danger); background: var(--danger-bg); border-radius: 5px; padding: 2px 7px; margin-top: 2px; }
        .badge-expirada { color: #92400e; background: rgba(245,158,11,0.12); border: 1px solid rgba(245,158,11,0.3); }
        .linha-expirada {
    opacity: 1;
    filter: none;
}

        body.tema-escuro .badge-expirada { color: #fde68a; background: rgba(245,158,11,0.15); }
        body.tema-escuro .pendencia-card { background: #0d1527; }
        body.tema-escuro .badge-nivel-pendencia.nivel-leve { color: #fde68a; background: rgba(245,158,11,0.15); }
        body.tema-escuro .badge-nivel-pendencia.nivel-moderada { color: #fed7aa; background: rgba(249,115,22,0.15); }
        body.tema-escuro .badge-nivel-pendencia.nivel-urgente { color: #fecaca; background: rgba(239,68,68,0.15); }

        .celula-wrap.tem-formato input, .celula-wrap.tem-formato textarea { padding-right: 30px; }
        .formato-dropdown { position: absolute; top: 50%; right: 6px; transform: translateY(-50%); z-index: 6; }
        .formato-trigger { width: 22px; height: 22px; border-radius: 5px; border: none; background: rgba(255,255,255,0.12); color: rgba(255,255,255,0.55); display: flex; align-items: center; justify-content: center; cursor: pointer; font-size: 11px; transition: all 0.15s; }
        .formato-trigger:hover { background: rgba(255,255,255,0.28); color: #fff; }
        .formato-trigger.ativo { background: #fff; color: var(--accent); }
        .formato-trigger.ativo:hover { background: #fff; color: var(--accent-hover); }
        /* Nas células de dados (fundo claro), o ícone precisa de cores escuras em vez de brancas */
        .linha-dados .formato-trigger { background: #f1f5f9; color: #94a3b8; }
        .linha-dados .formato-trigger:hover { background: #e2e8f0; color: var(--accent); }
        .linha-dados .formato-trigger.ativo { background: #eff6ff; color: var(--accent); }
        .linha-dados .formato-trigger.ativo:hover { background: #dbeafe; color: var(--accent-hover); }
        .formato-menu { position: absolute; top: calc(100% + 6px); right: 0; background: #fff; border: 1px solid var(--border); border-radius: 10px; box-shadow: 0 10px 25px rgba(0,0,0,0.15); padding: 0; display: none; flex-direction: column; gap: 0; z-index: 50; min-width: 230px; max-height: min(480px, 75vh); overflow: hidden; }
        .formato-menu.aberto { display: flex; }
        .formato-tab-bar { display: flex; border-bottom: 1px solid var(--border); padding: 6px 6px 0; gap: 2px; flex-shrink: 0; }
        .formato-tab { flex: 1; padding: 7px 4px; border: none; background: transparent; border-radius: 7px 7px 0 0; cursor: pointer; font-size: 11px; font-weight: 700; color: var(--text-muted); display: flex; align-items: center; justify-content: center; gap: 5px; transition: all 0.15s; text-transform: uppercase; letter-spacing: 0.3px; }
        .formato-tab:hover { background: var(--surface-hover); color: var(--text-main); }
        .formato-tab.ativo { background: var(--accent); color: #fff; }
        .formato-tab i { font-size: 10px; }
        .formato-tab-painel { display: flex; flex-direction: column; gap: 2px; padding: 6px; overflow-y: auto; }
        .formato-tab-painel .formato-menu-divisor { margin: 4px 2px; }
        .formato-menu button { display: flex; align-items: center; gap: 8px; text-align: left; padding: 8px 10px; border: none; background: transparent; border-radius: 6px; cursor: pointer; font-size: 13px; color: var(--text-main); font-weight: 500; width: 100%; }
        .formato-menu button:hover { background: var(--surface-hover); color: var(--accent); }
        .formato-menu button i { width: 14px; color: var(--text-muted); flex-shrink: 0; }
        .formato-tab-bar .formato-tab i { width: auto; color: inherit; }
        .formato-menu-divisor { height: 1px; background: var(--border); margin: 6px 4px; }
        .alinhamento-grupo { padding: 4px 4px 6px 4px; }
        .alinhamento-label { display: block; font-size: 10.5px; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.4px; margin-bottom: 6px; }
        .alinhamento-botoes { display: flex; gap: 6px; }
        .btn-align { flex: 1; height: 30px; border-radius: 6px; border: 1px solid var(--border); background: #fff; color: var(--text-muted); cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 12px; transition: all 0.15s; }
        .btn-align:hover { background: #f1f5f9; color: var(--primary); }
        .btn-align.ativo { background: var(--accent); color: #fff; border-color: var(--accent); }
        .alinhamento-aplicar-em-massa { display: flex; flex-direction: column; gap: 4px; padding: 2px 4px 4px 4px; }
        .alinhamento-aplicar-em-massa button { display: flex; align-items: center; gap: 8px; text-align: left; padding: 7px 8px; border: 1px dashed var(--border); background: var(--bg-subtle); border-radius: 6px; cursor: pointer; font-size: 12px; font-weight: 600; color: var(--accent); }
        .alinhamento-aplicar-em-massa button:hover { background: #eff6ff; border-color: var(--accent); }
        /* Seleção múltipla (Ctrl+click para mesclar): preenchimento azul no textarea + outline no wrapper */
        .celula-selecionada { outline: 2px solid #1D4ED8 !important; outline-offset: -1px; background: rgba(37,99,235,0.16) !important; position: relative; z-index: 2; }
        .celula-selecionada .input-valor-celula { background: rgba(37,99,235,0.22) !important; }
        .celula-selecionada .input-valor-celula:focus { background: rgba(37,99,235,0.28) !important; outline: none; box-shadow: none; }
        /* Célula ativa (cursor de edição): apenas outline sutil, SEM preenchimento - visualmente distinto da seleção */
        .celula-ativa { outline: 2px solid var(--accent); outline-offset: -2px; }
        .barra-selecao-celulas { position: fixed; bottom: 28px; left: 50%; transform: translateX(-50%); background: var(--accent); color: #fff; border-radius: 40px; padding: 10px 16px; display: flex; align-items: center; gap: 12px; font-size: 13px; font-weight: 600; box-shadow: 0 6px 24px rgba(37,99,235,0.45); z-index: 9999; white-space: nowrap; }
        .barra-selecao-celulas button { background: rgba(255,255,255,0.2); border: none; color: #fff; border-radius: 20px; padding: 6px 14px; cursor: pointer; font-size: 12px; font-weight: 700; display: flex; align-items: center; gap: 6px; transition: background 0.15s; }
        .barra-selecao-celulas button:hover { background: rgba(255,255,255,0.35); }
        .barra-dica { font-size: 11px; font-weight: 400; opacity: 0.75; }

        /* ── TOOLBAR POR TABELA ─────────────────────────────────── */
        .tabela-cell-toolbar { background: var(--bg-subtle); border: 1px solid var(--border); border-radius: 10px; margin: 0 0 8px; overflow: hidden; }
        .cell-tb-hint { padding: 10px 16px; font-size: 12px; color: var(--text-muted); display: flex; align-items: center; gap: 8px; }
        .cell-tb-hint i { color: var(--accent); opacity: 0.6; }
        .cell-tb-ativo { display: flex; flex-direction: column; }
        .cell-tb-abas { display: flex; border-bottom: 1px solid var(--border); background: var(--bg-muted); padding: 5px 5px 0; gap: 2px; }
        .cell-tb-aba { padding: 7px 16px; border: none; background: transparent; border-radius: 7px 7px 0 0; cursor: pointer; font-size: 11.5px; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.35px; display: flex; align-items: center; gap: 5px; transition: all 0.15s; border-bottom: 2px solid transparent; }
        .cell-tb-aba:hover { background: var(--surface-hover); color: var(--text-main); }
        .cell-tb-aba.ativa { background: var(--surface); color: var(--accent); border-bottom-color: var(--accent); }
        .cell-tb-aba i { font-size: 10px; }
        .cell-tb-paineis { background: var(--surface); }
        .cell-tb-painel { display: flex; align-items: center; gap: 6px; padding: 8px 10px; flex-wrap: wrap; }
        .cell-tb-btn { display: flex; align-items: center; gap: 6px; padding: 6px 12px; border: 1px solid var(--border); background: var(--bg-subtle); border-radius: 8px; cursor: pointer; font-size: 12.5px; color: var(--text-main); font-weight: 600; transition: all 0.15s; white-space: nowrap; }
        .cell-tb-btn:hover { background: var(--surface-hover); color: var(--accent); border-color: var(--accent); }
        .cell-tb-btn.ativo { background: var(--accent); color: #fff; border-color: var(--accent); }
        .cell-tb-btn i { font-size: 11px; }
        .cell-tb-sep-v { width: 1px; height: 26px; background: var(--border); flex-shrink: 0; }
        .cell-tb-grupo { display: flex; align-items: center; gap: 8px; }
        .cell-tb-label { font-size: 10.5px; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.4px; white-space: nowrap; }
        .cell-tb-align-btns { display: flex; gap: 3px; }
        .cell-tb-align-btn { width: 30px; height: 30px; border: 1px solid var(--border); background: var(--bg-subtle); border-radius: 6px; cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 12px; color: var(--text-muted); transition: all 0.15s; }
        .cell-tb-align-btn:hover { background: var(--surface-hover); color: var(--accent); border-color: var(--accent); }
        .cell-tb-align-btn.ativo { background: var(--accent); color: #fff; border-color: var(--accent); }
        .cell-tb-sufixo-wrap { position: relative; }
        /* Dropdown de sufixo */
        .cell-tb-sufixo-dropdown { position: absolute; top: calc(100% + 6px); left: 0; z-index: 2000; background: var(--bg-subtle); border: 1px solid var(--border); border-radius: 10px; box-shadow: 0 8px 24px rgba(0,0,0,0.14); padding: 8px; min-width: 200px; animation: ctxFade 0.1s ease; }
        .sufixo-opts { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 8px; }
        .sufixo-opts button { padding: 4px 10px; border: 1px solid var(--border); border-radius: 6px; background: var(--bg-muted); color: var(--text-main); font-size: 12px; font-weight: 600; cursor: pointer; transition: all 0.12s; }
        .sufixo-opts button:hover { background: var(--accent); color: #fff; border-color: var(--accent); }
        .sufixo-opts .sufixo-remover { color: var(--danger); border-color: var(--danger-border); background: var(--danger-bg); width: 100%; justify-content: center; display: flex; gap: 5px; align-items: center; }
        .sufixo-opts .sufixo-remover:hover { background: var(--danger); color: #fff; }
        .sufixo-custom-row input { width: 100%; border: 1px solid var(--border); border-radius: 6px; padding: 6px 9px; font-size: 12.5px; color: var(--text-main); background: var(--bg-subtle); box-sizing: border-box; }
        .sufixo-custom-row input:focus { outline: none; border-color: var(--accent); }
        body.tema-escuro .cell-tb-sufixo-dropdown { background: #1a2338; border-color: rgba(255,255,255,0.1); box-shadow: 0 8px 24px rgba(0,0,0,0.4); }
        body.tema-escuro .sufixo-opts button { background: #243050; border-color: rgba(255,255,255,0.1); color: var(--text-main); }
        body.tema-escuro .sufixo-custom-row input { background: #0f172a; border-color: rgba(255,255,255,0.1); color: var(--text-main); }
        /* Botões visíveis só em modo cabeçalho */
        .tabela-cell-toolbar:not(.modo-cabecalho) .cell-tb-so-header { display: none; }

        /* Estilos de texto: aplicados via HTML nativo (b/i/u) no contenteditable */

        /* ── Botões de texto (N/I/S) no toolbar ─────────────────────────────── */
        .cell-tb-text-btn { min-width: 32px; padding: 5px 8px; font-size: 13px; }
        .cell-tb-decimais-wrap { display: flex; align-items: center; gap: 4px; background: var(--bg-muted); border: 1px solid var(--border); border-radius: 8px; padding: 2px 4px; }
        .cell-tb-dec-btn { width: 24px; height: 24px; border: none; background: transparent; cursor: pointer; font-size: 14px; font-weight: 700; color: var(--text-muted); border-radius: 5px; display: flex; align-items: center; justify-content: center; transition: background 0.15s, color 0.15s; }
        .cell-tb-dec-btn:hover { background: var(--accent); color: #fff; }
        .cell-tb-dec-label { font-size: 12px; font-weight: 700; color: var(--text-main); min-width: 16px; text-align: center; }

        /* ── Letras de coluna e número de linha clicáveis ───────────────────── */
        .letra-col { cursor: pointer; transition: background 0.15s, color 0.15s; }
        .letra-col:hover { background: var(--accent) !important; color: #fff !important; }
        .row-num-label { cursor: pointer; transition: color 0.15s; }
        .row-num-label:hover { color: var(--accent) !important; }

        /* ── Menu de contexto (clique direito) ──────────────────────────────── */
        .ctx-menu { background: var(--bg-subtle); border: 1px solid var(--border); border-radius: 10px; box-shadow: 0 8px 30px rgba(0,0,0,0.18); padding: 4px; min-width: 210px; overflow: hidden; animation: ctxFade 0.1s ease; }
        @keyframes ctxFade { from { opacity:0; transform:scale(0.95); } to { opacity:1; transform:scale(1); } }
        .ctx-menu button { display: flex; align-items: center; gap: 10px; width: 100%; padding: 9px 12px; border: none; background: transparent; text-align: left; font-size: 13px; font-weight: 500; color: var(--text-main); border-radius: 7px; cursor: pointer; transition: background 0.12s, color 0.12s; }
        .ctx-menu button:hover { background: var(--bg-muted); color: var(--accent); }
        .ctx-menu button.ctx-perigo { color: var(--danger); }
        .ctx-menu button.ctx-perigo:hover { background: var(--danger-bg); color: var(--danger); }
        .ctx-menu hr { border: none; border-top: 1px solid var(--border); margin: 3px 6px; }
        .ctx-menu button i { width: 14px; text-align: center; flex-shrink: 0; }
        body.tema-escuro .ctx-menu { background: #1a2338; border-color: rgba(255,255,255,0.1); box-shadow: 0 8px 30px rgba(0,0,0,0.5); }
        body.tema-escuro .ctx-menu button:hover { background: rgba(255,255,255,0.07); }
        .input-sufixo { border: 1px solid var(--border); border-radius: 6px; padding: 8px 10px; font-size: 12.5px; margin: 2px; color: var(--text-main); width: calc(100% - 4px); box-sizing: border-box; }
        .input-sufixo:focus { outline: none; border-color: var(--accent); }
        .input-sufixo::placeholder { color: #94a3b8; }

        .toolbar-tabela { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 15px; margin-top: 25px; background: #fff; padding: 15px 20px; border-radius: 10px; border: 1px solid var(--border); box-shadow: 0 2px 10px rgba(0,0,0,0.02);}
        .grupo-add { display: flex; gap: 10px; flex-wrap: wrap; }
        .grupo-acoes { display: flex; gap: 10px; flex-wrap: wrap; }
        
        .btn-tool { background: var(--bg-muted); color: var(--text-main); border: none; padding: 9px 18px; border-radius: 10px; cursor: pointer; font-size: 13px; font-weight: 600; transition: all 0.2s cubic-bezier(0.4,0,0.2,1); display: flex; align-items: center; gap: 6px;}
        .btn-tool:hover { background: #e5e5ea; transform: translateY(-1px); }
        .btn-tool i { color: var(--text-muted); }
        .btn-tool.danger:hover { background: #fff1f0; color: var(--danger); border-color: #ffd4d1; }
        .btn-tool.danger:hover i { color: var(--danger); }
        .btn-tool.warning:hover { background: var(--warning-bg); color: var(--warning); border-color: var(--warning-border); }
        .btn-tool.warning:hover i { color: var(--warning); }

        button.gerar { position: fixed; top: auto; bottom: 18px; z-index: 250; margin-top: 0; padding: 20px; background: linear-gradient(135deg, var(--success), #059669); color: white; border: none; border-radius: var(--radius-md); font-size: 16px; cursor: pointer; font-weight: 800; text-transform: uppercase; letter-spacing: 1.2px; box-shadow: 0 18px 36px -6px rgba(var(--success-rgb),0.55), 0 0 0 3px rgba(var(--success-rgb),0.12); transition: box-shadow 0.3s cubic-bezier(0.4,0,0.2,1), transform 0.3s cubic-bezier(0.4,0,0.2,1); display: flex; justify-content: center; align-items: center; gap: 12px; animation: gerarPulsar 2.6s ease-in-out infinite; }
        body.tema-escuro button.gerar { background: linear-gradient(135deg, #2563eb, #1d4ed8); border: 1px solid rgba(96,165,250,0.3); box-shadow: 0 14px 32px -6px rgba(37,99,235,0.5), 0 0 0 2px rgba(37,99,235,0.15), inset 0 1px 0 rgba(255,255,255,0.1); animation: gerarPulsarBlue 2.6s ease-in-out infinite; }
        body.tema-escuro button.gerar:hover { transform: translateY(-2px) scale(1.01); box-shadow: 0 20px 42px -6px rgba(37,99,235,0.65), 0 0 0 3px rgba(37,99,235,0.2); }
        @keyframes gerarPulsarBlue { 0%, 100% { box-shadow: 0 14px 32px -6px rgba(37,99,235,0.5), 0 0 0 2px rgba(37,99,235,0.15); } 50% { box-shadow: 0 14px 32px -6px rgba(37,99,235,0.7), 0 0 0 7px rgba(37,99,235,0.06); } }
        /* Botão limpar formulário (mobile/form — escondido no desktop onde a trilha tem o botão) */
        .btn-limpar-formulario { display: flex; align-items: center; justify-content: center; gap: 7px; width: 100%; padding: 10px 14px; font-size: 13px; font-weight: 500; border-radius: 10px; border: 1px dashed var(--border); background: transparent; color: var(--text-muted); cursor: pointer; margin-top: 10px; transition: border-color 0.2s, color 0.2s, background 0.2s; }
        .btn-limpar-formulario:hover { border-color: var(--danger); color: var(--danger); background: rgba(239,68,68,0.05); border-style: solid; }

        /* Botões de ação na trilha lateral */
        .trilha-acoes { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--border); display: flex; flex-direction: column; gap: 6px; }
        .btn-trilha-gerar { width: 100%; padding: 10px 10px; border-radius: 10px; border: none; background: var(--accent); color: #fff; font-size: 12px; font-weight: 700; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 6px; transition: background 0.2s, transform 0.15s; text-align: center; line-height: 1.3; }
        .btn-trilha-gerar:hover { background: var(--accent-hover, #1d4ed8); transform: translateY(-1px); }
        .btn-trilha-limpar { width: 100%; padding: 7px 10px; border-radius: 9px; border: 1px dashed var(--border); background: transparent; color: var(--text-muted); font-size: 11.5px; font-weight: 500; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 6px; transition: border-color 0.2s, color 0.2s, background 0.2s; }
        .btn-trilha-limpar:hover { border-color: var(--danger); color: var(--danger); background: rgba(239,68,68,0.05); border-style: solid; }
        body.tema-escuro .btn-trilha-gerar { box-shadow: 0 4px 14px -4px rgba(37,99,235,0.5); }

        /* No desktop (trilha visível), esconder os botões do formulário */
        @media (min-width: 1151px) {
            button.gerar, .btn-limpar-formulario, .espaco-botao-fixo { display: none !important; }
        }

        /* Espaço reservado no fim do formulário pra nada ficar escondido atrás do botão fixo */
        .espaco-botao-fixo { height: 76px; }
        @media (max-width: 900px) { button.gerar { position: static; width: 100% !important; left: auto !important; margin-top: 18px; } .espaco-botao-fixo { display: none; } }
        button.gerar i { font-size: 22px; }
        button.gerar:hover { transform: translateY(-2px) scale(1.01); box-shadow: 0 22px 42px -6px rgba(var(--success-rgb),0.65), 0 0 0 3px rgba(var(--success-rgb),0.18); }
        @keyframes gerarPulsar { 0%, 100% { box-shadow: 0 18px 36px -6px rgba(var(--success-rgb),0.55), 0 0 0 3px rgba(var(--success-rgb),0.12); } 50% { box-shadow: 0 18px 36px -6px rgba(var(--success-rgb),0.7), 0 0 0 7px rgba(var(--success-rgb),0.05); } }
        @keyframes destacarCampoFaltando { 0%, 100% { box-shadow: 0 0 0 3px rgba(var(--danger-rgb),0.35); border-color: var(--danger); } 50% { box-shadow: 0 0 0 6px rgba(var(--danger-rgb),0.15); border-color: var(--danger); } }
        .campo-com-erro-destacado { animation: destacarCampoFaltando 0.6s ease-in-out 3; }
        .dica-campo { color: var(--text-muted); font-size: 12.5px; cursor: help; opacity: 0.75; transition: opacity 0.15s, color 0.15s; }
        .dica-campo:hover { opacity: 1; color: var(--accent); }
        button.gerar:hover { transform: translateY(-3px) scale(1.01); box-shadow: 0 20px 36px -6px rgba(var(--success-rgb),0.5); }

        .card-previsao-servico { background: linear-gradient(135deg, #1e293b, #334155); border-radius: var(--radius-lg); padding: 14px 18px; margin-bottom: 0; color: #fff; box-shadow: 0 8px 20px -8px rgba(30,41,59,0.4); }
        .previsao-servico-cabecalho h3 { margin: 0 0 3px 0; font-size: 13px; font-weight: 600; display: flex; align-items: center; gap: 7px; color: rgba(255,255,255,0.75); }
        .previsao-mes-destaque { color: #fff; font-weight: 800; }
        .previsao-servico-cabecalho p { margin: 0 0 12px 0; font-size: 10.5px; color: rgba(255,255,255,0.45); }
        .previsao-servico-valores { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
        @media (max-width: 900px) { .previsao-servico-valores { grid-template-columns: repeat(2, 1fr); } }
        .previsao-valor-item { background: rgba(255,255,255,0.08); border-radius: 9px; padding: 9px 11px; }
        .previsao-valor-label { display: flex; align-items: center; gap: 5px; font-size: 10px; font-weight: 600; color: rgba(255,255,255,0.7); margin-bottom: 4px; white-space: nowrap; }
        .previsao-valor-item.aprovado .previsao-valor-label { color: #86efac; }
        .previsao-valor-item.pendente .previsao-valor-label { color: #fcd34d; }
        .previsao-valor-item.futuro .previsao-valor-label { color: #93c5fd; }
        .previsao-valor-item.total-geral { background: rgba(255,255,255,0.08); }
        .previsao-valor-item.total-geral .previsao-valor-label { color: #e2e8f0; }
        .previsao-valor-item.total-geral .previsao-valor-numero { font-size: 1.05em; }
        .previsao-valor-numero { display: block; font-size: 15px; font-weight: 800; }
        @media (max-width: 700px) { .previsao-servico-valores { grid-template-columns: 1fr; } }

        .seletor-painel-direita { display: flex; gap: 4px; background: var(--bg-muted); padding: 4px; border-radius: 10px; margin-bottom: 16px; }
        .btn-seletor-painel { flex: 1; background: transparent; border: none; padding: 10px 14px; border-radius: 7px; font-size: 13px; font-weight: 600; color: var(--text-muted); cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 7px; transition: all 0.2s cubic-bezier(0.4,0,0.2,1); }
        .btn-seletor-painel.ativo { background: var(--bg-card); color: var(--primary); box-shadow: var(--shadow-sm); }

        .card-previsao-proximo-mes { display: flex; align-items: center; gap: 10px; background: var(--bg-subtle); border: 1px dashed var(--border); border-radius: 10px; padding: 10px 16px; margin-bottom: 24px; font-size: 12.5px; color: var(--text-muted); }
        .card-previsao-proximo-mes i { color: var(--accent); flex-shrink: 0; }
        .cor-aprovado { color: var(--success-text); }
        .cor-pendente { color: var(--warning); }

        .linha-historico-cot.linha-status-aprovado { background: var(--success-bg); }
        .linha-historico-cot.linha-status-aprovado:hover td { background: var(--success-bg-hover); }
        .linha-historico-cot.linha-status-pendente { background: var(--warning-bg); }
        .linha-historico-cot.linha-status-pendente:hover td { background: var(--warning-bg-hover); }
        .linha-historico-cot.linha-status-reprovado { background: var(--danger-bg); }
        .linha-historico-cot.linha-status-reprovado:hover td { background: var(--danger-bg-hover); }

        .status-aprovacao-cot { display: flex; align-items: center; gap: 5px; flex-wrap: wrap; }
        .btn-status-aprovar, .btn-status-reprovar, .btn-status-desfazer { border: none; border-radius: 6px; padding: 5px 9px; font-size: 10.5px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; transition: all 0.15s; }
        .btn-status-aprovar { background: var(--success-bg); color: var(--success-text); }
        .btn-status-aprovar:hover { background: var(--success-text); color: #fff; }
        .btn-status-reprovar { background: var(--danger-bg); color: var(--danger); }
        .btn-status-reprovar:hover { background: var(--danger); color: #fff; }
        .btn-status-desfazer { background: #f1f5f9; color: var(--text-muted); padding: 5px 7px; }
        .btn-status-desfazer:hover { background: #e2e8f0; color: var(--text-main); }

        /* ── Dropdown customizado de motivo de reprovação ── */
        .motivo-dropdown { position: relative; }
        .motivo-dropdown-trigger { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 14px; border-radius: 8px; border: 1px solid var(--border); background: var(--bg-card); color: var(--text-main); font-size: 13.5px; font-family: inherit; cursor: pointer; text-align: left; transition: border-color 0.15s; }
        .motivo-dropdown-trigger:hover, .motivo-dropdown-trigger.aberto { border-color: var(--accent); }
        .motivo-dropdown-trigger.aberto .fa-chevron-down { transform: rotate(180deg); }
        .motivo-dropdown-menu { position: fixed; background: var(--bg-card); border: 1px solid var(--border); border-radius: 10px; box-shadow: 0 8px 32px rgba(0,0,0,0.22); z-index: 9999; overflow: hidden; min-width: 360px; }
        .motivo-grupo-label { padding: 8px 14px 5px; font-size: 10.5px; font-weight: 700; letter-spacing: 0.5px; text-transform: uppercase; color: var(--success-text); background: rgba(22,163,74,0.07); border-top: 1px solid var(--border); }
        .motivo-grupo-label:first-child { border-top: none; }
        .motivo-grupo-label-outro { color: var(--text-muted); background: var(--bg-subtle); }
        .motivo-opcao { display: block; width: 100%; padding: 10px 14px; background: none; border: none; text-align: left; font-size: 13px; font-family: inherit; color: var(--text-main); cursor: pointer; transition: background 0.12s; }
        .motivo-opcao:hover { background: var(--surface-hover); }
        .motivo-opcao.selecionada { background: rgba(37,99,235,0.08); color: var(--accent); font-weight: 600; }
        .motivo-opcao-outro { color: var(--text-muted); font-style: italic; }
        .motivo-opcao-outro:hover { background: var(--surface-hover); color: var(--text-main); }
        body.tema-escuro .motivo-dropdown-menu { box-shadow: 0 8px 32px rgba(0,0,0,0.45); }
        .badge-status-cot { font-size: 10.5px; font-weight: 700; padding: 4px 9px; border-radius: 6px; display: inline-flex; align-items: center; gap: 4px; }
        .status-aprovado .badge-status-cot { background: var(--success-bg); color: var(--success-text); }
        .status-reprovado .badge-status-cot { background: var(--danger-bg); color: var(--danger); }
        .tabela-historico { width: 100%; border-collapse: separate; border-spacing: 0; margin-top: 20px; border-radius: var(--radius-md); overflow: hidden; border: 1px solid var(--border); background: #fff; }
        .tabela-generalidades-cot { width: 100%; border-collapse: collapse; margin-top: 6px; }
        .tabela-generalidades-cot th { background: var(--primary); color: #fff; font-size: 12px; text-transform: uppercase; letter-spacing: 0.4px; padding: 10px 12px; text-align: left; }
        .tabela-generalidades-cot td { padding: 6px; border-bottom: 1px solid var(--border); vertical-align: top; }
        .tabela-generalidades-cot input { width: 100%; box-sizing: border-box; border: 1.5px solid transparent; background: var(--bg-subtle); border-radius: 6px; padding: 8px 10px; font-size: 13px; font-family: inherit; color: var(--text-main); }
        .tabela-generalidades-cot input:focus { outline: none; border-color: var(--accent); background: #fff; }
        .tabela-generalidades-cot tr:nth-child(even) td { background: var(--bg-subtle); }
        .tabela-historico th, .tabela-historico td { padding: 12px 14px; text-align: left; border-bottom: 1px solid var(--border); font-size: 13px; }
        .tabela-historico td strong { font-size: 13px; white-space: nowrap; }
        .tabela-historico th { background-color: var(--bg-subtle); color: var(--text-muted); font-weight: 600; font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px;}
        .tabela-historico tr:last-child td { border-bottom: none; }
        .tabela-historico tr:hover td { background-color: var(--bg-subtle); }

        /* MODAL */
        .modal-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.65); z-index: 9999; justify-content: center; align-items: center; animation: fadeIn 0.15s ease-out; }
        .modal-content { background: #fff; padding: 0; border-radius: var(--radius-lg); width: 90%; max-width: 600px; box-shadow: 0 20px 60px rgba(0,0,0,0.18), 0 0 0 1px rgba(0,0,0,0.06); max-height: 88vh; display: flex; flex-direction: column; border: 1px solid rgba(0,0,0,0.08); animation: modalEntra 0.2s cubic-bezier(0.16,1,0.3,1); overflow: hidden; }

        /* --- MODAL DE CONFIRMAÇÃO --- */
        .modal-confirmacao { max-width: 380px; text-align: center; align-items: center; padding: 28px 24px 24px; }
        .confirmacao-icone { width: 52px; height: 52px; border-radius: 50%; background: var(--danger-bg); color: var(--danger); display: flex; align-items: center; justify-content: center; font-size: 22px; margin-bottom: 16px; }
        .confirmacao-mensagem { font-size: 15px; color: var(--primary); font-weight: 600; line-height: 1.5; margin: 0 0 22px 0; }
        .confirmacao-botoes { display: flex; gap: 10px; width: 100%; }
        .confirmacao-botoes button { flex: 1; justify-content: center; padding: 11px; }
        .confirmacao-botoes .btn-tool:not(.danger) { background: #fff; border: 1px solid var(--border); color: var(--text-main); }
        .confirmacao-botoes .btn-tool:not(.danger):hover { background: var(--surface-hover); border-color: var(--border-strong); }
        .confirmacao-botoes .btn-tool.danger { background: var(--danger); color: #fff; box-shadow: 0 4px 12px -3px rgba(255,59,48,0.45); }
        .confirmacao-botoes .btn-tool.danger:hover { background: var(--danger-hover); color: #fff; box-shadow: 0 6px 16px -3px rgba(255,59,48,0.5); }
        .confirmacao-botoes .btn-tool.danger i { color: #fff; }

        /* --- NOTIFICAÇÕES TOAST --- */
        .container-notificacoes { position: fixed; top: 20px; right: 20px; z-index: 100000; display: flex; flex-direction: column; gap: 10px; max-width: 360px; width: calc(100% - 40px); }
        .toast-notificacao { background: rgba(255,255,255,0.9); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border: 1px solid rgba(255,255,255,0.6); border-left: 4px solid var(--accent); border-radius: var(--radius-sm); padding: 14px 14px; box-shadow: var(--shadow-md); display: flex; align-items: flex-start; gap: 10px; animation: toastEntrada 0.35s cubic-bezier(0.4,0,0.2,1); font-size: 13.5px; color: var(--primary); line-height: 1.5; }
        .toast-novidades { cursor: pointer; border-left-color: var(--beta); transition: transform 0.15s, box-shadow 0.15s; }
        .toast-novidades:hover { transform: translateY(-2px); box-shadow: var(--shadow-lg); }
        .toast-notificacao.saindo { animation: toastSaida 0.25s ease-in forwards; }
        .toast-notificacao .toast-icone { font-size: 15px; margin-top: 2px; flex-shrink: 0; color: var(--accent); }
        .toast-notificacao.sucesso { border-left-color: var(--success); }
        .toast-notificacao.sucesso .toast-icone { color: var(--success); }
        .toast-notificacao.erro { border-left-color: var(--danger); }
        .toast-notificacao.erro .toast-icone { color: var(--danger); }
        .toast-notificacao.aviso { border-left-color: var(--warning); }
        .toast-notificacao.aviso .toast-icone { color: var(--warning); }
        .toast-notificacao .toast-texto { flex: 1; }
        .toast-notificacao .toast-fechar { background: none; border: none; cursor: pointer; color: #cbd5e1; font-size: 12px; padding: 2px; flex-shrink: 0; }
        .toast-acao { background: var(--accent); color: #fff; border: none; border-radius: 7px; padding: 6px 12px; font-size: 12.5px; font-weight: 600; cursor: pointer; flex-shrink: 0; white-space: nowrap; }
        .toast-acao:hover { background: var(--accent-hover); }
        .toast-notificacao .toast-fechar:hover { color: var(--text-muted); }
        @keyframes toastEntrada { from { opacity: 0; transform: translateX(40px); } to { opacity: 1; transform: translateX(0); } }
        @keyframes toastSaida { from { opacity: 1; transform: translateX(0); } to { opacity: 0; transform: translateX(40px); } }
        @media (max-width: 500px) { .container-notificacoes { top: auto; bottom: 20px; right: 20px; left: 20px; max-width: none; } }

        /* --- BOTÃO FLUTUANTE DE AJUDA --- */
        .btn-ajuda-flutuante { position: fixed; bottom: 24px; right: 24px; width: 52px; height: 52px; border-radius: 50%; background: var(--accent); color: #fff; border: none; font-size: 20px; box-shadow: 0 8px 20px rgba(var(--accent-rgb),0.35); cursor: pointer; z-index: 500; display: flex; align-items: center; justify-content: center; transition: all 0.2s; }
        .btn-ajuda-flutuante:hover { background: var(--accent-hover); transform: scale(1.06); }

        body.logado { padding-top: 72px; }
        .barra-topo-fixa { position: fixed; top: 0; left: 0; right: 0; height: 52px; z-index: 600; background: rgba(255,255,255,0.94); border-bottom: 1px solid var(--border); display: flex; align-items: center; justify-content: flex-end; padding: 0 20px; }
        .btn-sino-pendencias { position: relative; background: transparent; border: none; width: 36px; height: 36px; border-radius: 10px; cursor: pointer; color: var(--text-muted); font-size: 15px; display: flex; align-items: center; justify-content: center; transition: background 0.2s; margin-right: 6px; }
        .btn-sino-pendencias:hover { background: var(--bg-muted); color: var(--primary); }
        .badge-sino-pendencias { position: absolute; top: 3px; right: 3px; min-width: 16px; height: 16px; border-radius: 20px; background: var(--danger); box-shadow: 0 0 0 2px #fff; color: #fff; font-size: 9px; font-weight: 800; display: flex; align-items: center; justify-content: center; padding: 0 3px; }
        .badge-sino-pendencias.nivel-leve { background: #f59e0b; }
        .badge-sino-pendencias.nivel-moderada { background: #f97316; }
        .badge-sino-pendencias.nivel-urgente { background: #ef4444; }
        .novidade-bloco { padding: 4px 0 16px 0; }
        .novidade-data { font-size: 11px; color: var(--text-muted); font-weight: 600; text-transform: uppercase; letter-spacing: 0.4px; }
        .novidade-titulo { font-size: 15px; color: var(--primary); font-weight: 600; margin: 4px 0 10px 0; }
        .novidade-lista { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 6px; }
        .novidade-lista li { font-size: 13px; color: var(--text-main); line-height: 1.5; }
        .novidade-divisor { border-top: 1px dashed var(--border); margin: 4px 0 16px 0; }

        .celebracao-overlay { display: none; position: fixed; inset: 0; z-index: 10000; align-items: center; justify-content: center; background: rgba(10, 20, 40, 0.55); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); overflow: hidden; }
        .confete-container { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
        .confete-peca { position: absolute; top: -20px; border-radius: 2px; opacity: 0.95; animation-name: confeteCair; animation-timing-function: linear; animation-fill-mode: forwards; }
        @keyframes confeteCair {
            0% { transform: translateY(0) rotate(0deg); opacity: 1; }
            100% { transform: translateY(110vh) rotate(540deg); opacity: 0.9; }
        }
        .celebracao-card { position: relative; background: var(--bg-card); border-radius: var(--radius-xl); padding: 44px 40px; max-width: 420px; text-align: center; box-shadow: 0 30px 80px -10px rgba(0,0,0,0.5); animation: celebracaoPop 0.5s cubic-bezier(0.34,1.56,0.64,1); }
        @keyframes celebracaoPop { 0% { transform: scale(0.6); opacity: 0; } 100% { transform: scale(1); opacity: 1; } }
        .celebracao-emoji { font-size: 40px; margin-bottom: 8px; animation: celebracaoBalanco 1.4s ease-in-out infinite; }
        @keyframes celebracaoBalanco { 0%, 100% { transform: rotate(-6deg); } 50% { transform: rotate(6deg); } }
        .celebracao-card h2 { margin: 6px 0 10px 0; color: var(--primary); font-size: 24px; font-weight: 700; letter-spacing: -0.01em; }
        .celebracao-card p { color: var(--text-muted); font-size: 14.5px; line-height: 1.6; margin: 0 0 26px 0; }
        .celebracao-btn { background: var(--accent-gradient); color: #fff; border: none; padding: 14px 32px; border-radius: 12px; font-weight: 700; font-size: 15px; cursor: pointer; box-shadow: 0 10px 24px -6px rgba(var(--accent-rgb),0.5); transition: transform 0.2s cubic-bezier(0.4,0,0.2,1); }
        .celebracao-btn:hover { transform: translateY(-2px) scale(1.03); }

        /* ===================== EXPERIÊNCIA DE BOAS-VINDAS (primeiro login) ===================== */
        .experiencia-overlay { display: none; position: fixed; inset: 0; z-index: 20000; align-items: center; justify-content: center; overflow: hidden; }
        .experiencia-fundo { position: absolute; inset: 0; background: linear-gradient(160deg, #050b18 0%, #0a1830 55%, #071022 100%); }
        .experiencia-brilho { position: absolute; border-radius: 50%; filter: blur(60px); opacity: 0.5; animation: experienciaFlutuar 12s ease-in-out infinite; }
        .experiencia-brilho-1 { width: 480px; height: 480px; background: radial-gradient(circle, rgba(var(--accent-rgb),0.55), transparent 70%); top: -10%; left: -8%; }
        .experiencia-brilho-2 { width: 420px; height: 420px; background: radial-gradient(circle, rgba(244,121,32,0.35), transparent 70%); bottom: -12%; right: -6%; animation-delay: -6s; }
        @keyframes experienciaFlutuar { 0%, 100% { transform: translate(0,0) scale(1); } 50% { transform: translate(3%,4%) scale(1.08); } }
        .experiencia-estrelas { position: absolute; inset: 0; }
        .experiencia-estrela { position: absolute; width: 2px; height: 2px; background: #fff; border-radius: 50%; animation: experienciaPiscar 3.5s ease-in-out infinite; }
        @keyframes experienciaPiscar { 0%, 100% { opacity: 0.15; } 50% { opacity: 0.9; } }

        .experiencia-particulas { position: absolute; inset: 0; overflow: hidden; }
        .experiencia-particula { position: absolute; bottom: -20px; border-radius: 50%; background: radial-gradient(circle, rgba(255,255,255,0.8), rgba(255,255,255,0)); animation-name: experienciaSubirParticula; animation-timing-function: linear; animation-iteration-count: infinite; }
        @keyframes experienciaSubirParticula { 0% { transform: translateY(0) translateX(0); opacity: 0; } 10% { opacity: 0.7; } 90% { opacity: 0.5; } 100% { transform: translateY(-110vh) translateX(30px); opacity: 0; } }

        .experiencia-pular { position: absolute; top: 28px; right: 32px; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.18); color: rgba(255,255,255,0.65); font-size: 12.5px; font-weight: 500; padding: 9px 16px; border-radius: 20px; cursor: pointer; display: flex; align-items: center; gap: 8px; transition: all 0.25s; z-index: 2; }
        .experiencia-pular:hover { background: rgba(255,255,255,0.12); color: #fff; }

        .experiencia-conteudo { position: relative; z-index: 1; max-width: 620px; padding: 0 40px; text-align: center; }
        .experiencia-conteudo.experiencia-saindo .experiencia-icone,
        .experiencia-conteudo.experiencia-saindo .experiencia-titulo,
        .experiencia-conteudo.experiencia-saindo .experiencia-texto,
        .experiencia-conteudo.experiencia-saindo .experiencia-btn,
        .experiencia-conteudo.experiencia-saindo .experiencia-checkbox { animation: experienciaDescerSuave 0.4s cubic-bezier(0.4,0,0.2,1) forwards !important; }
        @keyframes experienciaDescerSuave { from { opacity: 1; transform: translateY(0); } to { opacity: 0; transform: translateY(-10px); } }

        .experiencia-icone { font-size: 52px; margin-bottom: 22px; opacity: 0; animation: experienciaSubirSuave 1.1s cubic-bezier(0.16,1,0.3,1) forwards, experienciaIconeFlutuar 3.4s ease-in-out 1.1s infinite; display: inline-block; }
        @keyframes experienciaIconeFlutuar { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
        .experiencia-titulo { color: #fff; font-size: 34px; font-weight: 600; letter-spacing: -0.01em; margin: 0 0 20px 0; line-height: 1.25; opacity: 0; animation: experienciaSubirSuave 1.3s cubic-bezier(0.16,1,0.3,1) forwards; animation-delay: 0.25s; }
        .experiencia-texto { color: rgba(255,255,255,0.72); font-size: 16.5px; line-height: 1.8; margin: 0 0 40px 0; font-weight: 300; opacity: 0; animation: experienciaSubirSuave 1.4s cubic-bezier(0.16,1,0.3,1) forwards; animation-delay: 0.55s; }
        @keyframes experienciaSubirSuave { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }

        .experiencia-btn { background: rgba(255,255,255,0.95); color: #0a1830; border: none; padding: 15px 38px; border-radius: 30px; font-weight: 600; font-size: 14.5px; cursor: pointer; opacity: 0; animation: experienciaSubirSuave 1.2s cubic-bezier(0.16,1,0.3,1) forwards; animation-delay: 0.9s; transition: transform 0.25s cubic-bezier(0.4,0,0.2,1), box-shadow 0.25s; letter-spacing: 0.2px; }
        .experiencia-btn:hover { transform: translateY(-2px) scale(1.03); box-shadow: 0 12px 30px -6px rgba(255,255,255,0.3); }

        .experiencia-checkbox { display: flex; align-items: center; justify-content: center; gap: 9px; margin-top: 22px; opacity: 0; animation: experienciaSubirSuave 1.2s cubic-bezier(0.16,1,0.3,1) forwards; animation-delay: 1.15s; cursor: pointer; color: rgba(255,255,255,0.55); font-size: 12.5px; font-weight: 400; user-select: none; }
        .experiencia-checkbox input { width: 15px; height: 15px; cursor: pointer; accent-color: #fff; }
        .experiencia-checkbox:hover { color: rgba(255,255,255,0.8); }
        .experiencia-progresso { position: absolute; bottom: 32px; left: 50%; transform: translateX(-50%); display: flex; gap: 8px; z-index: 1; }
        .experiencia-ponto { width: 6px; height: 6px; border-radius: 50%; background: rgba(255,255,255,0.25); transition: all 0.4s cubic-bezier(0.4,0,0.2,1); cursor: pointer; }
        .experiencia-ponto.ativo { background: #fff; width: 20px; border-radius: 3px; }
        .toggle-unidade { display: inline-flex; gap: 2px; background: var(--bg-muted); padding: 2px; border-radius: 6px; }
        .toggle-unidade button { border: none; background: transparent; font-size: 10px; font-weight: 700; padding: 3px 7px; border-radius: 4px; cursor: pointer; color: var(--text-muted); }
        .toggle-unidade button.ativo { background: var(--bg-card); color: var(--accent); box-shadow: var(--shadow-sm); }
        .campo-com-sufixo { position: relative; }
        .campo-com-sufixo input { padding-right: 38px !important; }
        .sufixo-campo { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); font-size: 12px; font-weight: 700; color: var(--text-muted); pointer-events: none; }
        .campo-com-prefixo { position: relative; }
        .campo-com-prefixo input { padding-left: 34px !important; }
        .prefixo-campo { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); font-size: 13px; font-weight: 700; color: var(--text-muted); pointer-events: none; }
        .barra-topo-usuario { position: relative; display: flex; align-items: center; gap: 10px; cursor: pointer; padding: 6px 10px 6px 6px; border-radius: 10px; transition: background 0.2s; }
        .barra-topo-usuario:hover { background: var(--bg-muted); }
        .barra-topo-avatar { width: 32px; height: 32px; border-radius: 50%; background: var(--accent-gradient); color: #fff; font-size: 12.5px; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
        .barra-topo-info { display: flex; flex-direction: column; line-height: 1.3; }
        .barra-topo-nome { font-size: 12.5px; font-weight: 700; color: var(--primary); max-width: 160px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
        .barra-topo-cargo { font-size: 10px; font-weight: 700; color: var(--accent); text-transform: uppercase; letter-spacing: 0.4px; }
        .barra-topo-seta { font-size: 10px; color: var(--text-muted); transition: transform 0.2s; }
        .barra-topo-usuario.aberto .barra-topo-seta { transform: rotate(180deg); }
        .menu-usuario-dropdown { position: absolute; top: calc(100% + 8px); right: 0; background: #fff; border: 1px solid var(--border); border-radius: 12px; box-shadow: 0 10px 25px rgba(0,0,0,0.15); padding: 8px; display: none; flex-direction: column; gap: 2px; z-index: 50; min-width: 220px; }
        .menu-usuario-dropdown.aberto { display: flex; }
        .menu-usuario-dropdown button { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; background: transparent; border: none; padding: 10px 12px; border-radius: 8px; cursor: pointer; font-size: 13px; font-weight: 500; color: var(--text-main); }
        .menu-usuario-dropdown button:hover { background: var(--surface-hover); }
        .menu-usuario-dropdown button i { width: 16px; color: var(--text-muted); }
        .menu-usuario-dropdown button.item-perigo { color: var(--danger); }
        .menu-usuario-dropdown button.item-perigo:hover { background: #fff1f0; }
        .menu-usuario-dropdown button.item-perigo i { color: var(--danger); }
        .menu-usuario-tema-linha { display: flex; align-items: center; justify-content: space-between; padding: 8px 12px; font-size: 13px; font-weight: 600; color: var(--text-main); }
        .tema-toggle-grupo { display: flex; gap: 4px; background: var(--bg-muted); padding: 3px; border-radius: 8px; }
        .btn-tema { width: 28px; height: 28px; border: none; background: transparent; border-radius: 6px; cursor: pointer; color: var(--text-muted); font-size: 12px; display: flex; align-items: center; justify-content: center; }
        .btn-tema.ativo { background: var(--bg-card); color: var(--accent); box-shadow: var(--shadow-sm); }
        .btn-sair-flutuante:hover { background: var(--danger-bg); color: var(--danger); border-color: var(--danger-border); }

        /* --- TUTORIAL GUIADO (spotlight) --- */
        .tour-overlay { position: fixed; inset: 0; z-index: 200000; }
        .tour-spotlight { position: fixed; border-radius: 10px; box-shadow: 0 0 0 9999px rgba(15,23,42,0.78); transition: top 0.35s ease, left 0.35s ease, width 0.35s ease, height 0.35s ease; pointer-events: none; z-index: 200001; }
        .tour-card { position: fixed; background: var(--bg-card); border-radius: var(--radius-md); padding: 20px; width: 320px; max-width: calc(100vw - 40px); box-shadow: 0 20px 45px rgba(0,0,0,0.35); z-index: 200002; transition: top 0.35s ease, left 0.35s ease; }
        .tour-card-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
        .tour-contador { font-size: 11px; font-weight: 700; color: var(--accent); text-transform: uppercase; letter-spacing: 0.5px; background: #eff6ff; padding: 4px 10px; border-radius: 20px; }
        .tour-fechar { background: none; border: none; color: #94a3b8; cursor: pointer; font-size: 14px; padding: 4px; }
        .tour-fechar:hover { color: var(--primary); }
        .tour-card h4 { margin: 0 0 8px 0; font-size: 16px; color: var(--primary); }
        .tour-card p { margin: 0 0 18px 0; font-size: 13.5px; color: var(--text-muted); line-height: 1.6; }
        .tour-card-botoes { display: flex; justify-content: space-between; gap: 10px; }
        .tour-card-botoes button { flex: 1; justify-content: center; }
        .modal-header { display: flex; justify-content: space-between; align-items: center; padding: 24px 24px 20px; border-bottom: 1px solid var(--border); flex-shrink: 0; }
        .modal-header h3 { margin: 0; font-size: 17px; font-weight: 600; color: var(--primary); }
        .modal-body { overflow-y: auto; flex: 1; display: flex; flex-direction: column; gap: 10px; padding: 20px 24px; }
        .modal-footer { display: flex; justify-content: flex-end; align-items: center; gap: 8px; padding: 16px 24px; border-top: 1px solid var(--border); flex-shrink: 0; }
        .modal-close-btn { width: 32px; height: 32px; border-radius: 8px; background: transparent; border: none; cursor: pointer; color: var(--text-muted); display: flex; align-items: center; justify-content: center; font-size: 16px; transition: background 0.15s, color 0.15s; flex-shrink: 0; opacity: 0.7; }
        .modal-close-btn:hover { background: var(--bg-subtle); color: var(--text-main); opacity: 1; }
        .modal-close-btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
        .modelo-item { display: flex; justify-content: space-between; align-items: center; padding: 15px; border: 1px solid var(--border); border-radius: 8px; background: var(--bg-subtle); transition: all 0.2s; }
        .modelo-item:hover { border-color: var(--accent); background: #fff; }

        @keyframes fadeSlideUp { from { opacity: 0; transform: translateY(15px); } to { opacity: 1; transform: translateY(0); } }
        @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
        @keyframes modalEntra { from { opacity: 0; transform: scale(0.96) translateY(-8px); } to { opacity: 1; transform: scale(1) translateY(0); } }

        /* --- TELA DE LOGIN --- */
        .login-container { position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background: #08101e; display: flex; justify-content: center; align-items: center; z-index: 9999; padding: 20px; box-sizing: border-box; overflow: hidden; }
        .login-canvas { position: absolute; inset: 0; pointer-events: none; z-index: 0; }
        .login-box { position: relative; z-index: 1; background: #111827; border: 1px solid rgba(255,255,255,0.08); border-radius: 14px; padding: 36px; width: 100%; max-width: 400px; box-shadow: 0 0 0 1px rgba(255,255,255,0.04), 0 32px 80px rgba(0,0,0,0.5), 0 0 80px rgba(37,99,235,0.07); animation: fadeSlideUp 0.45s cubic-bezier(0.4,0,0.2,1); }
        .login-brand { display: flex; flex-direction: column; align-items: center; gap: 16px; margin-bottom: 32px; }
        .login-shield { width: 52px; height: 52px; border-radius: 15px; background: linear-gradient(135deg, #2563eb, #4f46e5); display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 28px rgba(37,99,235,0.45), inset 0 0 0 1px rgba(255,255,255,0.1); flex-shrink: 0; }
        .login-wordmark { display: flex; flex-direction: column; align-items: center; gap: 5px; }
        .login-wordmark-name { font-size: 22px; font-weight: 800; letter-spacing: -0.04em; color: #e8eeff; }
        .login-wordmark-sub { font-size: 12px; color: #6b7a99; font-weight: 500; }
        .login-field { display: flex; flex-direction: column; gap: 7px; margin-bottom: 16px; }
        .login-field label { font-size: 12px; font-weight: 600; letter-spacing: 0.02em; color: #9babc8; text-transform: none; display: block; margin: 0; }
        .login-input-wrap { position: relative; }
        .login-input-icon { position: absolute; left: 13px; top: 50%; transform: translateY(-50%); color: #6b7a99; display: flex; pointer-events: none; }
        .login-box input[type="text"], .login-box input[type="password"] { width: 100%; padding: 11px 14px 11px 38px; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08) !important; border-radius: 9px; color: #e8eeff; font-size: 14.5px; font-family: inherit; outline: none; font-weight: 400; -webkit-appearance: none; transition: border-color 0.18s, background 0.18s, box-shadow 0.18s; }
        .login-box input[type="text"]::placeholder, .login-box input[type="password"]::placeholder { color: #3d4a62; }
        .login-box input[type="text"]:focus, .login-box input[type="password"]:focus { border-color: rgba(37,99,235,0.55) !important; background: rgba(37,99,235,0.07) !important; box-shadow: 0 0 0 3px rgba(37,99,235,0.12) !important; }
        .login-btn-eye { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); background: none; border: none; cursor: pointer; color: #6b7a99; padding: 4px; border-radius: 5px; display: flex; align-items: center; transition: color 0.15s; }
        .login-btn-eye:hover { color: #9babc8; }
        .btn-login { width: 100%; padding: 13px; background: linear-gradient(135deg, #2563eb, #4f46e5); color: white; border: none; border-radius: 9px; font-weight: 600; font-size: 14.5px; cursor: pointer; letter-spacing: 0.01em; display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 6px; box-shadow: 0 4px 20px rgba(37,99,235,0.35); transition: transform 0.15s cubic-bezier(0.4,0,0.2,1), box-shadow 0.15s; }
        .btn-login:hover { box-shadow: 0 6px 28px rgba(37,99,235,0.45); transform: translateY(-1px); }
        .btn-login:disabled { opacity: 0.55; cursor: not-allowed; transform: none; }
        .login-erro-msg { font-size: 13px; color: #ff6b63; background: rgba(255,69,58,0.08); border: 1px solid rgba(255,69,58,0.2); border-radius: 8px; padding: 10px 13px; margin-bottom: 4px; line-height: 1.5; display: none; }
        .btn-sou-colaborador { width: 100%; margin-top: 14px; background: transparent; border: 1px dashed rgba(255,255,255,0.1); color: #6b7a99; padding: 11px; border-radius: 8px; font-weight: 600; font-size: 13px; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px; transition: all 0.2s; }
        .btn-sou-colaborador:hover { border-color: rgba(37,99,235,0.4); color: #93b4ff; }
        .painel-solicitacao { margin-top: 16px; background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.07); border-radius: 10px; padding: 16px; animation: fadeSlideUp 0.3s ease-out; }
        .painel-solicitacao-texto { font-size: 12.5px; color: #6b7a99; margin: 0 0 12px 0; line-height: 1.5; }
        .painel-solicitacao-botoes { display: flex; gap: 10px; }
        .painel-solicitacao-botoes .btn-login { flex: 1.4; margin-top: 0; padding: 12px; font-size: 13px; }
        .painel-solicitacao-botoes .btn-tool { flex: 1; justify-content: center; }
        .solicitacao-msg { margin-top: 12px; font-size: 12.5px; padding: 10px 12px; border-radius: 8px; line-height: 1.5; }
        .solicitacao-msg.sucesso { background: var(--success-bg); color: var(--success-text); border: 1px solid var(--success-border); }
        .solicitacao-msg.erro { background: var(--danger-bg); color: var(--danger-text); border: 1px solid var(--danger-border); }
        .login-aviso-primeiro-acesso { display: flex; gap: 10px; align-items: flex-start; background: rgba(37,99,235,0.08); border: 1px solid rgba(37,99,235,0.2); border-radius: 10px; padding: 12px 14px; margin-top: 16px; font-size: 12px; color: #7b9ccf; line-height: 1.5; }
        .login-aviso-primeiro-acesso i { margin-top: 2px; color: #2563eb; flex-shrink: 0; }
        .login-aviso-primeiro-acesso strong { color: #93b4ff; }
        .login-logo-img { max-height: 38px; width: auto; max-width: 220px; filter: brightness(0) invert(1); opacity: 0.92; }
        .login-app-badge { display: inline-flex; align-items: center; background: rgba(37,99,235,0.15); border: 1px solid rgba(37,99,235,0.3); color: #93b4ff; font-size: 11px; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; padding: 4px 11px; border-radius: 100px; }
        .login-domain-tags { display: flex; align-items: center; gap: 8px; font-size: 11.5px; color: #4a5a78; font-weight: 500; margin-top: 2px; }
        .login-domain-tags span i { margin-right: 4px; }
        .login-domain-dot { color: #2d3a52; }
        .login-versao { text-align: center; margin-top: 24px; font-size: 11px; font-weight: 600; letter-spacing: 0.07em; text-transform: uppercase; color: rgba(107,122,153,0.4); }
        .input-icon-wrap { position: relative; }
        .input-icon-wrap i { position: absolute; left: 15px; top: 50%; transform: translateY(-50%); color: #94a3b8; font-size: 14px; pointer-events: none; }

        .dashboard-container { max-width: 1280px; margin: 60px auto; text-align: center; animation: fadeIn 0.4s ease-out; }
        .dashboard-grid { display: grid; grid-template-columns: 1fr 1.15fr; gap: 30px; align-items: start; text-align: left; margin-top: 40px; }
        .dashboard-col-esquerda, .dashboard-col-direita { min-width: 0; }
        @media (max-width: 900px) { .dashboard-grid { grid-template-columns: 1fr; } }

        .painel-estatisticas { text-align: left; background: rgba(255,255,255,0.62); backdrop-filter: blur(22px) saturate(160%); -webkit-backdrop-filter: blur(22px) saturate(160%); border-radius: var(--radius-lg); padding: 28px; box-shadow: var(--shadow-sm); border: 1px solid rgba(255,255,255,0.7); }
        .estatisticas-topo { display: flex; justify-content: space-between; align-items: center; margin-bottom: 22px; flex-wrap: wrap; gap: 10px; }
        .estatisticas-titulo { font-size: 17px; font-weight: 700; color: var(--primary); display: flex; align-items: center; gap: 10px; margin: 0; letter-spacing: -0.01em; }
        .estatisticas-titulo i { color: var(--accent); }
        .estatisticas-periodo { display: flex; gap: 6px; background: var(--bg-muted); padding: 4px; border-radius: 9px; }
        .btn-periodo { border: none; background: transparent; padding: 8px 16px; border-radius: 6px; font-size: 12.5px; font-weight: 600; color: var(--text-muted); cursor: pointer; transition: all 0.2s cubic-bezier(0.4,0,0.2,1); }
        .btn-periodo.ativo { background: var(--bg-card); color: var(--accent); box-shadow: var(--shadow-sm); }
        .estatisticas-tipo-doc { display: flex; gap: 8px; margin-bottom: 18px; }
        .btn-tipo-doc { flex: 1; border: 1.5px solid var(--border); background: #fff; padding: 9px 14px; border-radius: 9px; font-size: 12.5px; font-weight: 700; color: var(--text-muted); cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 7px; transition: all 0.2s cubic-bezier(0.4,0,0.2,1); }
        .btn-tipo-doc.ativo { background: var(--accent); border-color: var(--accent); color: #fff; box-shadow: 0 6px 14px -4px rgba(var(--accent-rgb),0.4); }
        .estatisticas-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 26px; }
        .estatistica-card { background: rgba(255,255,255,0.5); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(255,255,255,0.5); border-radius: 12px; padding: 16px 12px; text-align: center; transition: transform 0.2s cubic-bezier(0.4,0,0.2,1); }
        .estatistica-card:hover { transform: translateY(-2px); }
        .estatistica-numero { display: block; font-size: 28px; font-weight: 800; color: var(--primary); letter-spacing: -0.02em; line-height: 1.1; }
        .estatistica-label { font-size: 11px; color: var(--text-muted); font-weight: 600; }
        .estatistica-variacao { display: block; font-size: 10.5px; font-weight: 700; margin-top: 6px; min-height: 13px; }
        .estatistica-variacao.positiva { color: var(--success); }
        .estatistica-variacao.negativa { color: var(--danger); }
        .estatistica-variacao.neutra { color: var(--text-muted); }
        .grafico-semanal-bloco { margin-bottom: 26px; }
        .grafico-semanal-bloco h4 { font-size: 13px; color: var(--primary); display: flex; align-items: center; gap: 8px; margin: 0 0 14px 0; }
        .grafico-semanal-bloco h4 i { color: var(--accent); }
        .grafico-semanal { display: flex; align-items: flex-end; justify-content: space-between; gap: 8px; height: 115px; background: var(--bg-subtle); border-radius: 10px; padding: 12px 14px 8px 14px; }
        .grafico-barra-coluna { display: flex; flex-direction: column; align-items: center; gap: 4px; flex: 1; border-radius: 6px; padding: 2px; transition: background 0.15s; }
        .grafico-barra-coluna[onclick]:hover { background: rgba(37,99,235,0.08); }
        .grafico-barra-coluna[onclick]:hover .grafico-barra { filter: brightness(1.2); }
        .grafico-barra-valor { font-size: 10px; font-weight: 700; color: var(--text-muted); min-height: 12px; }
        .grafico-barra { width: 100%; max-width: 26px; background: #cbd5e1; border-radius: 4px 4px 0 0; transition: height 0.4s ease; min-height: 3px; }
        .grafico-barra-label { font-size: 10px; color: var(--text-muted); font-weight: 600; }
        .grafico-barra-aprovado { font-size: 9.5px; color: var(--success); font-weight: 700; text-align: center; white-space: nowrap; min-height: 13px; line-height: 1.2; }

        /* Tabela colapsada — botão expandir em destaque */
        .tabela-container.colapsada .btn-colapso-tabela { background: var(--accent); color: #fff; border-color: var(--accent); font-weight: 600; }
        .tabela-container.colapsada .btn-colapso-tabela .rotulo { color: #fff; }

        /* Badge ID COTAÇÃO ESL — exibido abaixo do ID VTCDocs quando preenchido */
        .esl-id-badge {
            display: inline-flex; align-items: center; gap: 4px;
            margin-top: 4px;
            padding: 2px 7px; border-radius: 5px;
            font-size: 10.5px; font-weight: 700; letter-spacing: .4px;
            background: rgba(16,185,129,0.1);
            color: var(--success-text, #059669);
            border: 1px solid rgba(16,185,129,0.25);
            white-space: nowrap;
        }

        /* Campo editável recolhível — min-height:0 !important sobrescreve os 130px do .campo-editavel base */
        .campo-editavel.campo-recolhivel { max-height: 80px; min-height: 0 !important; overflow: hidden; position: relative; cursor: text; transition: max-height 0.3s ease; }
        .campo-editavel.campo-recolhivel::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 32px; background: linear-gradient(transparent, var(--bg-card)); pointer-events: none; z-index: 1; }
        .campo-editavel.campo-recolhivel.expandido { max-height: 600px; min-height: 130px; overflow-y: auto; }
        .campo-editavel.campo-recolhivel.expandido::after { display: none; }

        .estatisticas-rankings { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-bottom: 22px; }
        .ranking-bloco h4 { font-size: 13px; color: var(--primary); display: flex; align-items: center; gap: 8px; margin: 0 0 12px 0; }
        .ranking-bloco h4 i { color: var(--warning); }
        .ranking-lista { display: flex; flex-direction: column; gap: 8px; min-height: 40px; }
        .ranking-item { display: flex; align-items: center; padding: 9px 12px; background: var(--bg-subtle); border-radius: 8px; font-size: 13px; gap: 8px; }
        .lista-ranking-detalhado { display: flex; flex-direction: column; gap: 8px; max-height: 280px; overflow-y: auto; }
        .barra-distribuicao-item { margin-bottom: 14px; }
        .barra-distribuicao-topo { display: flex; justify-content: space-between; font-size: 12.5px; font-weight: 600; color: var(--primary); margin-bottom: 5px; }
        .barra-distribuicao-fundo { background: var(--bg-muted); border-radius: 6px; height: 10px; overflow: hidden; }
        .barra-distribuicao-fill { height: 100%; border-radius: 6px; background: linear-gradient(90deg, var(--accent), #60a5fa); transition: width 0.5s cubic-bezier(0.4,0,0.2,1); }
        @media (max-width: 800px) { .grid-estatisticas-detalhe-duplo { grid-template-columns: 1fr !important; } }
        .ranking-item .ranking-pos { font-weight: 700; color: var(--text-muted); flex-shrink: 0; width: 20px; }
        .ranking-item .ranking-nome { font-weight: 600; color: var(--primary); flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
        .ranking-item .ranking-valor { font-weight: 700; color: var(--accent); flex-shrink: 0; }
        @media (max-width: 640px) { .estatisticas-rankings, .estatisticas-grid { grid-template-columns: 1fr; } }
        .dashboard-title { font-size: 32px; color: var(--primary); margin-bottom: 8px; font-weight: 500; letter-spacing: -0.02em; text-align: center; }
        .dashboard-subtitle { color: var(--text-muted); margin-bottom: 0; font-size: 15px; text-align: center; font-weight: 400; }
        .banner-festa { display: flex; align-items: center; justify-content: center; gap: 16px; background: linear-gradient(90deg, var(--beta-strong), var(--accent), #f47920); background-size: 200% 100%; animation: bannerFestaGradiente 6s ease infinite; color: #fff; padding: 20px 52px 20px 26px; border-radius: 18px; margin-bottom: 28px; box-shadow: 0 12px 30px -8px rgba(var(--beta-strong-rgb),0.45); position: relative; }
        @keyframes bannerFestaGradiente { 0%, 100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }
        .banner-festa-confete { font-size: 24px; flex-shrink: 0; animation: experienciaBalancoBanner 1.6s ease-in-out infinite; }
        @keyframes experienciaBalancoBanner { 0%, 100% { transform: rotate(-8deg); } 50% { transform: rotate(8deg); } }
        .banner-festa-textos { display: flex; flex-direction: column; gap: 3px; text-align: left; }
        .banner-festa-titulo { font-size: 17px; font-weight: 700; letter-spacing: -0.01em; }
        .banner-festa-subtitulo { font-size: 13px; opacity: 0.92; font-weight: 400; }
        .banner-festa-fechar { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); background: rgba(255,255,255,0.2); border: none; color: #fff; width: 24px; height: 24px; border-radius: 50%; cursor: pointer; font-size: 11px; display: flex; align-items: center; justify-content: center; transition: background 0.2s; flex-shrink: 0; }
        .banner-festa-fechar:hover { background: rgba(255,255,255,0.35); }
        @media (max-width: 640px) { .banner-festa { flex-wrap: wrap; text-align: center; padding: 18px 40px 18px 18px; } .banner-festa-textos { text-align: center; } }
        .menu-cards { display: flex; flex-direction: column; gap: 14px; }
        .menu-cards-admin-grupo { display: flex; flex-direction: column; gap: 8px; margin-top: 6px; padding-top: 14px; border-top: 1px dashed var(--border); }
        .menu-card { position: relative; display: flex; align-items: center; gap: 18px; text-align: left; background: rgba(255,255,255,0.62); backdrop-filter: blur(18px) saturate(160%); -webkit-backdrop-filter: blur(18px) saturate(160%); border: 1px solid rgba(255,255,255,0.7); border-radius: var(--radius-lg); padding: 22px 24px; width: auto; cursor: pointer; transition: all 0.3s cubic-bezier(0.4,0,0.2,1); box-shadow: var(--shadow-sm); }
        .badge-notificacao { position: absolute; top: 14px; right: 14px; background: var(--danger); color: #fff; font-size: 11px; font-weight: 700; min-width: 20px; height: 20px; border-radius: 10px; display: none; align-items: center; justify-content: center; padding: 0 6px; box-shadow: 0 2px 6px rgba(255,59,48,0.4); }
        .badge-beta { position: absolute; top: 14px; right: 14px; background: linear-gradient(135deg, var(--beta), var(--beta-strong)); color: #fff; font-size: 10px; font-weight: 700; letter-spacing: 0.5px; padding: 3px 9px; border-radius: 20px; box-shadow: 0 2px 6px rgba(var(--beta-strong-rgb),0.4); }
        .menu-card-construcao { position: relative; opacity: 0.88; }
        .menu-card-construcao i { background: linear-gradient(135deg, #f1f5f9, #e2e8f0) !important; color: #64748b !important; }
        .badge-construcao { position: absolute; top: 14px; right: 14px; background: linear-gradient(135deg, #f59e0b, var(--warning)); color: #fff; font-size: 9.5px; font-weight: 800; letter-spacing: 0.4px; padding: 4px 9px; border-radius: 20px; }
        .badge-beta-inline { background: linear-gradient(135deg, var(--beta), var(--beta-strong)); color: #fff; font-size: 10px; font-weight: 700; letter-spacing: 0.5px; padding: 4px 10px; border-radius: 20px; margin-left: 10px; box-shadow: 0 2px 6px rgba(var(--beta-strong-rgb),0.35); cursor: help; }
        .btn-feedback-beta { background: #fff; border: 1.5px solid var(--beta); color: var(--beta-strong); font-weight: 600; font-size: 13px; padding: 9px 16px; border-radius: 10px; cursor: pointer; display: flex; align-items: center; gap: 8px; transition: all 0.2s cubic-bezier(0.4,0,0.2,1); }
        .btn-feedback-beta:hover { background: #f5f3ff; transform: translateY(-1px); }

        .bloco-solicitacoes { margin-bottom: 22px; padding-bottom: 18px; border-bottom: 1px dashed var(--border); }
        .bloco-solicitacoes-titulo { font-size: 13px; font-weight: 700; color: var(--primary); margin-bottom: 12px; display: flex; align-items: center; gap: 8px; }
        .bloco-solicitacoes-titulo i { color: var(--warning); }
        .solicitacao-item { display: flex; justify-content: space-between; align-items: center; padding: 12px 14px; border: 1px solid var(--warning-border); background: var(--warning-bg); border-radius: 8px; margin-bottom: 8px; }
        .solicitacao-data { display: block; font-size: 11px; color: var(--text-muted); margin-top: 2px; }
        .menu-card:hover { transform: translateX(4px); box-shadow: var(--shadow-md); }
        .menu-card i { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; font-size: 22px; color: var(--accent); flex-shrink: 0; border-radius: 16px; background: var(--icon-tint-indigo); transition: transform 0.3s cubic-bezier(0.4,0,0.2,1); }
        .menu-card:hover i { transform: scale(1.08) rotate(-3deg); }
        .menu-card h3 { color: var(--primary); font-size: 15.5px; margin: 0 0 4px 0; font-weight: 500; letter-spacing: -0.005em; }
        .menu-card p { color: var(--text-muted); font-size: 12.5px; line-height: 1.5; margin: 0; font-weight: 400; }

        .menu-card-principal { padding: 28px 26px; border: 1.5px solid rgba(var(--accent-rgb),0.15); background: linear-gradient(135deg, rgba(255,255,255,0.68), rgba(239,246,255,0.6)); }
        .menu-card-principal i { width: 66px; height: 66px; font-size: 27px; border-radius: 18px; }
        .menu-card-principal h3 { font-size: 18px; font-weight: 700; }
        .menu-card-principal p { font-size: 13px; }
        .menu-card-principal:hover { border-color: var(--accent); box-shadow: 0 16px 32px -10px rgba(var(--accent-rgb),0.3); }

        .menu-cards-admin-grupo { display: flex; flex-direction: row; gap: 10px; margin-top: 6px; padding-top: 14px; border-top: 1px dashed var(--border); }
        .menu-card-secundario { flex-direction: column; justify-content: center; align-items: center; width: 64px; height: 64px; padding: 0; gap: 0; box-shadow: none; background: rgba(255,255,255,0.6); flex: 0 0 auto; }
        .menu-card-secundario i { width: 34px; height: 34px; font-size: 14px; border-radius: 10px; }
        .menu-card-secundario h3, .menu-card-secundario p { display: none; }
        .menu-card-secundario .badge-notificacao { top: 6px; right: 6px; width: 16px; height: 16px; min-width: 16px; font-size: 9px; }
        
        .btn-voltar-dash { background: transparent; border: 1px solid var(--border); padding: 8px 16px; border-radius: 8px; cursor: pointer; font-weight: 600; color: var(--text-muted); margin-right: 15px; transition: all 0.2s cubic-bezier(0.4,0,0.2,1); display: flex; align-items: center; gap: 6px;}
        .btn-voltar-dash:hover { background: var(--surface-hover); color: var(--primary); }

/* ============================================================
   MOBILE — otimizações para telas até 480px
   ============================================================ */
@media (max-width: 480px) {

    /* --- GERAL --- */
    body { font-size: 15px; }

    /* Notificações no bottom em mobile (não cobrem o formulário) */
    .container-notificacoes { top: auto !important; bottom: 16px !important; right: 12px !important; left: 12px !important; max-width: none !important; }

    /* Dica de boas-vindas */
    .dica-unica { max-width: calc(100vw - 24px); right: 12px; left: 12px; }

    /* --- HEADER --- */
    .header-app { padding: 10px 14px; top: 8px; gap: 8px; }
    .header-app-acoes { gap: 8px; }
    .logo-img { max-height: 28px; }
    .btn-voltar-dash { padding: 7px 12px; font-size: 13px; }

    /* --- DASHBOARD --- */
    .menu-card-principal { padding: 18px; }
    .menu-card-principal i { width: 50px; height: 50px; font-size: 22px; }
    .menu-card-principal h3 { font-size: 15px; }
    .previsao-servico-valores { grid-template-columns: 1fr 1fr !important; gap: 8px; }
    .previsao-valor-item { padding: 10px 12px; }
    .previsao-valor-numero { font-size: 15px; }
    .dashboard-col-direita { margin-top: 16px; }

    /* --- FORMULÁRIOS (Proposta e Cotação) --- */
    /* form-row de 2 colunas vira 1 coluna */
    .form-row[style*="grid-template-columns:1fr 1fr"],
    .form-row[style*="grid-template-columns: 1fr 1fr"] {
        grid-template-columns: 1fr !important;
    }
    /* qualquer grid de 2+ colunas nos formulários */
    .card .form-row { display: flex !important; flex-direction: column !important; gap: 12px !important; }
    .form-group { margin-bottom: 4px; }

    /* Trilha de passos mais compacta */
    .trilha-passos { gap: 4px; padding: 8px 10px; overflow-x: auto; flex-wrap: nowrap; }
    .trilha-passo { min-width: fit-content; font-size: 12px; padding: 6px 10px; }

    /* Botão gerar/finalizar */
    button.gerar { font-size: 14px; padding: 14px; }

    /* --- TABELAS --- */
    .tabela-container { padding: 12px 8px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .linha-flex { min-width: max-content; }
    .celula-wrap { min-width: 100px; }
    .linha-flex input, .linha-flex textarea { font-size: 13px; padding: 9px 10px; }

    /* Ações da linha mais compactas */
    .linha-acoes-esquerda { width: 28px; }
    .btn-linha-menu-trigger { width: 24px; height: 24px; font-size: 12px; }

    /* Botões de adicionar linha/coluna */
    .tabela-so-expandida { flex-wrap: wrap; gap: 6px; }
    .tabela-so-expandida .btn-tool { font-size: 12px; padding: 6px 10px; }
    .tabela-so-expandida .rotulo { display: none; } /* esconde texto, fica só ícone */

    /* --- COTAÇÃO — campos de valor (toggle R$/%/frete) --- */
    .toggle-unidade { flex-wrap: wrap; }
    .campo-valor-cotacao { flex-direction: column; }

    /* --- ESTATÍSTICAS --- */
    .estatisticas-grid { grid-template-columns: 1fr 1fr !important; }
    .estatistica-card { padding: 12px; }
    .estatistica-numero { font-size: 18px; }
    .barra-distribuicao-topo { flex-direction: column; gap: 2px; }

    /* --- MODAIS --- */
    .modal-content { margin: 12px; max-width: calc(100vw - 24px) !important; max-height: calc(100vh - 24px); overflow-y: auto; }
    .modal-header { padding: 16px 16px 14px; }
    .modal-body { padding: 14px 16px; }
    .modal-footer { padding: 12px 16px; }
    .modal-confirmacao { padding: 24px 16px 20px; }
    .home-ctas { grid-template-columns: 1fr; padding: 0 0; }
    .home-features-grid { grid-template-columns: 1fr 1fr; padding: 0; }
    .home-headline { font-size: 26px; }
    .home-subtitle { font-size: 13px; }
    .home-bottom { padding: 0; }
    .home-stats-row { grid-template-columns: 1fr; }
}

        /* =============================================
           HOME DARK — redesign da tela inicial
        ============================================= */
        /* ---- CSS custom props animáveis para os blobs de fundo ---- */
        @property --bx1 { syntax: '<percentage>'; inherits: false; initial-value: 22%; }
        @property --by1 { syntax: '<percentage>'; inherits: false; initial-value: 18%; }
        @property --bx2 { syntax: '<percentage>'; inherits: false; initial-value: 78%; }
        @property --by2 { syntax: '<percentage>'; inherits: false; initial-value: 82%; }
        @property --bx3 { syntax: '<percentage>'; inherits: false; initial-value: 12%; }
        @property --by3 { syntax: '<percentage>'; inherits: false; initial-value: 68%; }
        @property --bx4 { syntax: '<percentage>'; inherits: false; initial-value: 85%; }
        @property --by4 { syntax: '<percentage>'; inherits: false; initial-value: 26%; }

        @keyframes dashBlob1 { 0%{--bx1:22%;--by1:18%} 50%{--bx1:38%;--by1:36%} 100%{--bx1:22%;--by1:18%} }
        @keyframes dashBlob2 { 0%{--bx2:78%;--by2:82%} 50%{--bx2:55%;--by2:58%} 100%{--bx2:78%;--by2:82%} }
        @keyframes dashBlob3 { 0%{--bx3:12%;--by3:68%} 50%{--bx3:30%;--by3:48%} 100%{--bx3:12%;--by3:68%} }
        @keyframes dashBlob4 { 0%{--bx4:85%;--by4:26%} 50%{--bx4:65%;--by4:46%} 100%{--bx4:85%;--by4:26%} }

        .dashboard-container.home-dark {
            background-color: #08101e;
            background-image:
                radial-gradient(ellipse 55% 50% at var(--bx1) var(--by1), rgba(37,99,235,0.42), transparent 70%),
                radial-gradient(ellipse 48% 44% at var(--bx2) var(--by2), rgba(29,78,216,0.34), transparent 65%),
                radial-gradient(ellipse 42% 38% at var(--bx3) var(--by3), rgba(67,56,202,0.28), transparent 60%),
                radial-gradient(ellipse 46% 42% at var(--bx4) var(--by4), rgba(99,102,241,0.22), transparent 65%);
            animation:
                dashBlob1 14s ease-in-out infinite,
                dashBlob2 19s ease-in-out infinite,
                dashBlob3 23s ease-in-out infinite,
                dashBlob4 17s ease-in-out infinite;
            min-height: 100vh;
            max-width: 100%;
            margin: 0;
            padding: 0 0 80px;
            text-align: left;
            position: relative;
            overflow: hidden;
        }

        /* noise grain overlay */
        .home-dark::before { display: none; }
        .home-dark::after {
            content: '';
            position: absolute;
            inset: 0;
            z-index: 1;
            pointer-events: none;
            opacity: 0.038;
            background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='256' height='256'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.78' numOctaves='4' stitchTiles='stitch'/></filter><rect width='256' height='256' filter='url(%23n)'/></svg>");
            background-size: 180px;
            animation: noisePan 0.3s steps(1) infinite;
        }
        @keyframes noisePan {
            0%   { background-position:   0px    0px; }
            25%  { background-position: -55px  -35px; }
            50%  { background-position:  35px  -75px; }
            75%  { background-position: -70px   55px; }
        }

        /* HERO */
        .home-hero {
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            padding: 64px 24px 44px;
            position: relative;
            z-index: 1;
        }
        .home-logo {
            max-height: 40px;
            margin-bottom: 28px;
            filter: brightness(0) invert(1);
            opacity: 0.88;
        }
        .home-logo-fallback {
            color: #fff;
            font-size: 22px;
            font-weight: 700;
            margin: 0 0 28px;
        }
        .home-badge-pill {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 5px 14px;
            border-radius: 999px;
            border: 1px solid rgba(255,255,255,0.12);
            background: rgba(255,255,255,0.05);
            color: rgba(255,255,255,0.5);
            font-size: 12px;
            letter-spacing: 0.2px;
            margin-bottom: 28px;
        }
        .home-badge-dot {
            width: 6px;
            height: 6px;
            border-radius: 50%;
            background: #22c55e;
            box-shadow: 0 0 6px rgba(34,197,94,0.7);
            flex-shrink: 0;
        }
        .home-headline {
            font-size: 46px;
            font-weight: 800;
            letter-spacing: -0.04em;
            line-height: 1.12;
            margin: 0 auto 18px;
            max-width: 680px;
            background: linear-gradient(to bottom, #ffffff 40%, rgba(255,255,255,0.42));
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }
        .home-subtitle {
            font-size: 15px;
            color: rgba(255,255,255,0.42);
            max-width: 500px;
            margin: 0 auto;
            line-height: 1.75;
        }

        /* PRIMARY CTAs */
        .home-ctas {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 14px;
            max-width: 820px;
            margin: 0 auto 28px;
            padding: 0 24px;
            position: relative;
            z-index: 1;
        }
        .home-cta-card {
            position: relative;
            display: flex;
            align-items: center;
            gap: 16px;
            background: rgba(255,255,255,0.04);
            border: 1px solid rgba(255,255,255,0.09);
            border-radius: var(--radius-lg);
            padding: 22px 20px;
            cursor: pointer;
            transition: background 0.2s, border-color 0.2s, transform 0.2s, box-shadow 0.2s;
            text-align: left;
        }
        .home-cta-card:hover {
            background: rgba(37,99,235,0.1);
            border-color: rgba(37,99,235,0.4);
            transform: translateY(-2px);
            box-shadow: 0 20px 48px rgba(0,0,0,0.35);
        }
        .home-cta-card:active { transform: scale(0.98); }
        .home-cta-card .badge-beta {
            position: absolute;
            top: 12px;
            right: 14px;
            font-size: 9px;
        }
        .home-cta-icon {
            width: 52px;
            height: 52px;
            border-radius: 14px;
            background: rgba(37,99,235,0.18);
            color: #60a5fa;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 20px;
            flex-shrink: 0;
            transition: transform 0.2s;
        }
        .home-cta-card:hover .home-cta-icon { transform: scale(1.06) rotate(-3deg); }
        .home-cta-text h3 {
            font-size: 16px;
            font-weight: 600;
            color: rgba(255,255,255,0.92);
            margin: 0 0 4px;
            letter-spacing: -0.01em;
        }
        .home-cta-text p {
            font-size: 12.5px;
            color: rgba(255,255,255,0.38);
            margin: 0;
            line-height: 1.55;
        }
        .home-cta-arrow {
            margin-left: auto;
            color: rgba(255,255,255,0.2);
            font-size: 13px;
            flex-shrink: 0;
            transition: transform 0.2s, color 0.2s;
        }
        .home-cta-card:hover .home-cta-arrow {
            color: rgba(255,255,255,0.55);
            transform: translateX(4px);
        }

        /* SECONDARY FEATURES */
        .home-features-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 10px;
            max-width: 820px;
            margin: 0 auto 36px;
            padding: 0 24px;
            position: relative;
            z-index: 1;
        }
        .home-feature-card {
            position: relative;
            background: rgba(255,255,255,0.025);
            border: 1px solid rgba(255,255,255,0.07);
            border-radius: var(--radius-md);
            padding: 18px 18px 16px;
            cursor: pointer;
            transition: background 0.18s, border-color 0.18s, transform 0.18s;
            text-align: left;
            display: flex;
            flex-direction: column;
        }
        .home-feature-card:hover {
            background: rgba(255,255,255,0.055);
            border-color: rgba(255,255,255,0.13);
            transform: translateY(-1px);
        }
        .home-feature-card:active { transform: scale(0.97); }
        .home-feature-icon {
            width: 38px;
            height: 38px;
            border-radius: 11px;
            background: rgba(255,255,255,0.07);
            color: rgba(255,255,255,0.6);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 15px;
            margin-bottom: 12px;
            flex-shrink: 0;
        }
        .home-feature-card h4 {
            font-size: 13.5px;
            font-weight: 600;
            color: rgba(255,255,255,0.82);
            margin: 0 0 5px;
        }
        .home-feature-card p {
            font-size: 11.5px;
            color: rgba(255,255,255,0.32);
            margin: 0;
            line-height: 1.55;
        }
        .home-feature-wip { opacity: 0.55; pointer-events: none; }
        .home-feature-wip .badge-construcao {
            position: static;
            display: inline-block;
            font-size: 8px;
            margin-bottom: 10px;
            align-self: flex-start;
        }

        /* BOTTOM */
        .home-bottom {
            max-width: 820px;
            margin: 0 auto;
            padding: 0 24px;
            display: flex;
            flex-direction: column;
            gap: 16px;
            position: relative;
            z-index: 1;
        }
        .home-stats-row { display: block; }

        /* == painel de estatísticas no dark: transparente (especificidade elevada p/ vencer body.tema-escuro) == */
        body .home-dark .painel-estatisticas {
            background: transparent !important;
            border: none !important;
            border-radius: 0 !important;
            padding: 0 !important;
            box-shadow: none !important;
            backdrop-filter: none !important;
            -webkit-backdrop-filter: none !important;
        }

        /* == cabeçalho compacto == */
        .estat-dash-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 10px;
            margin-bottom: 16px;
        }
        .estat-dash-titulo {
            font-size: 13px; font-weight: 600;
            color: rgba(255,255,255,0.45);
            margin: 0;
            display: flex; align-items: center; gap: 6px;
        }
        .estat-dash-controles { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }

        /* == bento grid de métricas == */
        /* == card destaque rotativo == */
        .estat-destaque-wrapper { margin-bottom: 12px; }
        .estat-destaque-card {
            border-radius: 18px;
            padding: 20px 22px 16px;
            background: rgba(255,255,255,0.06);
            border: 1px solid rgba(255,255,255,0.11);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
        }
        .estat-destaque-topo {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 16px;
        }
        .estat-destaque-badge {
            font-size: 9px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.9px;
            padding: 4px 11px;
            border-radius: 20px;
        }
        .estat-tom-positivo { background: rgba(34,197,94,0.12); color: #4ade80; border: 1px solid rgba(34,197,94,0.25); }
        .estat-tom-ok       { background: rgba(96,165,250,0.12); color: #93c5fd; border: 1px solid rgba(96,165,250,0.25); }
        .estat-tom-atencao  { background: rgba(251,191,36,0.12); color: #fbbf24; border: 1px solid rgba(251,191,36,0.25); }
        .estat-tom-negativo { background: rgba(248,113,113,0.12); color: #f87171; border: 1px solid rgba(248,113,113,0.25); }
        .estat-destaque-controles { display: flex; gap: 6px; }
        .estat-destaque-btn {
            width: 28px; height: 28px;
            border-radius: 50%;
            border: 1px solid rgba(255,255,255,0.12);
            background: rgba(255,255,255,0.06);
            color: rgba(255,255,255,0.5);
            font-size: 18px;
            line-height: 1;
            cursor: pointer;
            display: flex; align-items: center; justify-content: center;
            transition: background 0.15s, color 0.15s;
        }
        .estat-destaque-btn:hover { background: rgba(255,255,255,0.13); color: #fff; }
        .estat-destaque-corpo {
            display: flex;
            align-items: flex-start;
            gap: 20px;
            transition: opacity 0.28s ease, transform 0.28s ease;
        }
        .estat-destaque-corpo.saindo {
            opacity: 0;
            transform: translateX(calc(var(--slide-dir, -1) * 14px));
        }
        .estat-destaque-icone {
            font-size: 34px;
            color: rgba(255,255,255,0.20);
            flex-shrink: 0;
            margin-top: 6px;
        }
        .estat-destaque-info { flex: 1; display: flex; flex-direction: column; }
        .estat-destaque-label {
            font-size: 10px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.7px;
            color: rgba(255,255,255,0.35);
            margin-bottom: 4px;
        }
        .estat-destaque-numero {
            font-size: 52px;
            font-weight: 800;
            color: #fff;
            letter-spacing: -0.05em;
            line-height: 1;
            margin-bottom: 8px;
        }
        .estat-destaque-texto {
            font-size: 13px;
            line-height: 1.6;
            color: rgba(255,255,255,0.58);
            margin: 0;
        }
        .estat-destaque-dots {
            display: flex;
            gap: 5px;
            margin-top: 18px;
            justify-content: center;
        }
        .estat-destaque-dot {
            width: 5px; height: 5px;
            border-radius: 50%;
            background: rgba(255,255,255,0.18);
            cursor: pointer;
            transition: width 0.3s ease, background 0.3s ease, border-radius 0.3s ease;
        }
        .estat-destaque-dot.ativo {
            width: 22px;
            border-radius: 3px;
            background: rgba(255,255,255,0.55);
        }

        /* == bento grid de métricas == */
        .estat-bento-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 10px;
            margin-bottom: 14px;
        }
        .estat-bento-card {
            border-radius: 14px;
            padding: 16px 18px;
            display: flex;
            flex-direction: column;
            gap: 4px;
            min-height: 96px;
            background: rgba(255,255,255,0.07);
            border: 1px solid rgba(255,255,255,0.11);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
        }
        .estat-card-accent {
            background: rgba(37,99,235,0.22);
            border-color: rgba(37,99,235,0.38);
            box-shadow: 0 0 28px rgba(37,99,235,0.12);
        }
        .estat-bento-label {
            font-size: 9.5px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.6px;
            color: rgba(255,255,255,0.35);
            display: flex;
            align-items: center;
            gap: 5px;
            margin-bottom: 6px;
        }
        .estat-bento-valor {
            font-size: 36px;
            font-weight: 700;
            color: #fff;
            letter-spacing: -0.04em;
            line-height: 1;
        }
        .estat-valor-nome { font-size: 22px; font-weight: 800; letter-spacing: -0.02em; line-height: 1.2; }
        .estat-bento-var { font-size: 12px; font-weight: 600; margin-top: 4px; }
        .estat-bento-sub { font-size: 11.5px; color: rgba(255,255,255,0.28); margin-top: 2px; }
        .estat-ver-mais {
            font-size: 11.5px; font-weight: 600;
            color: rgba(255,255,255,0.3);
            text-decoration: none;
            transition: color 0.15s;
        }
        .estat-ver-mais:hover { color: rgba(255,255,255,0.65); }

        /* == Funil de Solicitações == */
        .estat-funil-bloco {
            background: rgba(255,255,255,0.04);
            border: 1px solid rgba(255,255,255,0.08);
            border-radius: 14px;
            padding: 16px 18px;
            margin-bottom: 14px;
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
        }
        .estat-funil-bloco h4 {
            font-size: 12px; font-weight: 700; color: rgba(255,255,255,0.5);
            display: flex; align-items: center; gap: 8px; margin: 0 0 14px 0;
        }
        .estat-funil-bloco h4 i { color: var(--accent); }
        .estat-funil-grid { display: flex; gap: 8px; flex-wrap: wrap; }
        .estat-funil-etapa {
            flex: 1; min-width: 110px;
            background: rgba(255,255,255,0.05);
            border: 1px solid rgba(255,255,255,0.09);
            border-radius: 10px;
            padding: 12px 10px;
            text-align: center;
            position: relative;
        }
        .estat-funil-etapa-cor { height: 4px; border-radius: 3px; margin: 0 auto 10px; width: 60%; }
        .estat-funil-valor { font-size: 24px; font-weight: 800; color: #fff; line-height: 1; margin-bottom: 4px; }
        .estat-funil-label { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.4px; color: rgba(255,255,255,0.4); }
        .estat-funil-pct { font-size: 10.5px; color: rgba(255,255,255,0.3); margin-top: 3px; }
        .estat-funil-seta { display: flex; align-items: center; color: rgba(255,255,255,0.15); font-size: 14px; }
        .estat-funil-etapa-dispensada { border-color: rgba(248,113,113,0.25); background: rgba(248,113,113,0.06); }

        /* == Precisa de Atenção == */
        .estat-atencao-bloco {
            background: rgba(251,191,36,0.05);
            border: 1px solid rgba(251,191,36,0.18);
            border-radius: 14px;
            padding: 16px 18px;
            margin-bottom: 14px;
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
        }
        .estat-atencao-bloco h4 {
            font-size: 12px; font-weight: 700; color: #fbbf24;
            display: flex; align-items: center; gap: 8px; margin: 0 0 12px 0;
        }
        .estat-atencao-item {
            display: flex; align-items: center; justify-content: space-between; gap: 10px;
            padding: 10px 12px; border-radius: 9px; margin-bottom: 6px;
            background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.07);
            cursor: pointer; transition: background 0.15s;
        }
        .estat-atencao-item:hover { background: rgba(255,255,255,0.09); }
        .estat-atencao-item:last-child { margin-bottom: 0; }
        .estat-atencao-empresa { font-size: 13px; font-weight: 700; color: #fff; }
        .estat-atencao-sub { font-size: 11px; color: rgba(255,255,255,0.4); margin-top: 1px; }
        .estat-atencao-tempo { font-size: 11px; font-weight: 700; padding: 3px 9px; border-radius: 6px; flex-shrink: 0; white-space: nowrap; }
        .estat-atencao-tempo-alta { background: rgba(248,113,113,0.15); color: #f87171; }
        .estat-atencao-tempo-media { background: rgba(251,191,36,0.15); color: #fbbf24; }
        .estat-atencao-ok { text-align: center; padding: 14px; font-size: 13px; color: rgba(74,222,128,0.85); }

        /* == Lembretes (fora das estatísticas, visual de aviso, não de métrica) == */
        .home-lembretes-wrap { margin-bottom: 18px; }
        .home-lembretes-card {
            background: rgba(251,191,36,0.06);
            border: 1.5px dashed rgba(251,191,36,0.35);
            border-radius: 16px;
            padding: 16px 20px;
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
        }
        .home-lembretes-card h4 {
            font-size: 13px; font-weight: 800; color: #fbbf24;
            display: flex; align-items: center; gap: 8px; margin: 0 0 12px 0;
        }
        .lembretes-cabecalho { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin-bottom: 4px; }
        .lembretes-cabecalho h4 { margin-bottom: 0; }
        .btn-novo-lembrete {
            padding: 6px 13px; border-radius: 7px; border: 1px solid rgba(251,191,36,0.35);
            background: rgba(251,191,36,0.1); color: #fbbf24; font-size: 12px; font-weight: 700;
            cursor: pointer; display: flex; align-items: center; gap: 6px; transition: background 0.15s;
        }
        .btn-novo-lembrete:hover { background: rgba(251,191,36,0.2); }
        .lembretes-subsecao { margin-top: 14px; padding-top: 12px; border-top: 1px dashed rgba(251,191,36,0.2); }
        .lembretes-subsecao h5 { font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.05em; color: rgba(255,255,255,0.4); margin: 0 0 10px 0; display: flex; align-items: center; gap: 6px; }

        /* == Mensagens da equipe (lembretes entre colaboradores) == */
        .lembrete-equipe-item {
            background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); border-radius: 10px;
            padding: 12px 14px; margin-bottom: 8px;
        }
        .lembrete-equipe-item:last-child { margin-bottom: 0; }
        .lembrete-equipe-topo { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 6px; flex-wrap: wrap; }
        .lembrete-equipe-autor { font-size: 12.5px; font-weight: 700; color: #fff; display: flex; align-items: center; gap: 6px; }
        .lembrete-equipe-tag { font-size: 10px; font-weight: 700; color: #93c5fd; background: rgba(37,99,235,0.18); border-radius: 5px; padding: 1px 7px; margin-left: 4px; }
        .lembrete-equipe-data { font-size: 10.5px; color: rgba(255,255,255,0.35); }
        .lembrete-equipe-msg { font-size: 13px; color: rgba(255,255,255,0.75); line-height: 1.5; margin: 0 0 10px 0; white-space: pre-wrap; }
        .lembrete-equipe-ok {
            padding: 5px 13px; border-radius: 6px; border: 1px solid rgba(74,222,128,0.35);
            background: rgba(74,222,128,0.1); color: #4ade80; font-size: 11.5px; font-weight: 700;
            cursor: pointer; display: inline-flex; align-items: center; gap: 6px; transition: background 0.15s;
        }
        .lembrete-equipe-ok:hover { background: rgba(74,222,128,0.2); }

        /* == Abas Pendentes/Feitos == */
        .lembretes-tabs { display: flex; gap: 6px; margin-bottom: 10px; }
        .lembretes-tab {
            padding: 6px 12px; border-radius: 7px; border: 1px solid rgba(255,255,255,0.09);
            background: rgba(255,255,255,0.03); color: rgba(255,255,255,0.45);
            font-size: 11.5px; font-weight: 700; cursor: pointer; display: flex; align-items: center; gap: 6px;
            transition: all 0.15s;
        }
        .lembretes-tab.ativo { background: rgba(251,191,36,0.14); border-color: rgba(251,191,36,0.35); color: #fbbf24; }

        /* == Destaque de lembrete direto e pendente (mais chamativo) == */
        .lembrete-equipe-item-urgente { border-color: rgba(251,191,36,0.4); background: rgba(251,191,36,0.07); }
        .lembrete-equipe-tag-direto { background: rgba(251,191,36,0.18) !important; color: #fbbf24 !important; }

        /* == Status compartilhado (em andamento / feito) == */
        .lembrete-status { display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px; font-weight: 700; margin-bottom: 10px; }
        .lembrete-status-andamento { color: #93c5fd; }
        .lembrete-status-feito { color: #4ade80; }

        /* == Ações do lembrete (estou fazendo / marcar como feito) == */
        .lembrete-equipe-acoes { display: flex; gap: 8px; flex-wrap: wrap; }
        .lembrete-btn-andamento {
            padding: 5px 13px; border-radius: 6px; border: 1px solid rgba(147,197,253,0.35);
            background: rgba(147,197,253,0.1); color: #93c5fd; font-size: 11.5px; font-weight: 700;
            cursor: pointer; display: inline-flex; align-items: center; gap: 6px; transition: background 0.15s;
        }
        .lembrete-btn-andamento:hover { background: rgba(147,197,253,0.2); }

        /* == Ticker contínuo (fita rolando) == */
        .estat-ticker {
            overflow: hidden;
            white-space: nowrap;
            background: rgba(255,255,255,0.04);
            border: 1px solid rgba(255,255,255,0.08);
            border-radius: 8px;
            padding: 8px 0;
            margin-bottom: 12px;
            mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
            -webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
        }
        .estat-ticker-track {
            display: inline-block;
            white-space: nowrap;
            font-size: 12px;
            font-weight: 600;
            color: rgba(255,255,255,0.55);
            padding-left: 100%;
        }
        .estat-ticker-track .estat-ticker-item { margin-right: 36px; }
        .estat-ticker-track .estat-ticker-item i { color: var(--accent); margin-right: 6px; }
        .estat-ticker-hora { color: rgba(255,255,255,0.3); font-weight: 500; }
        .estat-ticker-item-positivo { color: #4ade80; }
        .estat-ticker-item-positivo i { color: #4ade80 !important; }
        .estat-ticker-item-atencao { color: #fbbf24; }
        .estat-ticker-item-atencao i { color: #fbbf24 !important; }
        @keyframes estat-ticker-scroll {
            from { transform: translateX(0); }
            to   { transform: translateX(-100%); }
        }
        .estat-ticker:hover .estat-ticker-track { animation-play-state: paused; }
        .estat-ticker-hero { max-width: 820px; margin: 0 auto 28px; }

        /* == Origem / drill-down no card destaque == */
        .estat-destaque-btn-info { color: rgba(147,197,253,0.85); }
        .estat-destaque-verorigem {
            display: inline-flex; align-items: center; gap: 5px;
            font-size: 10.5px; font-weight: 700; color: rgba(147,197,253,0.7);
            margin-top: 8px;
        }
        .estat-destaque-corpo:hover .estat-destaque-verorigem { color: #93c5fd; }

        /* == Funil vertical real (infográfico) == */
        .estat-funil-info { color: rgba(255,255,255,0.3); font-size: 11px; margin-left: 4px; }
        .estat-funil-real { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 6px 0; }
        .estat-funil-barra {
            position: relative;
            min-width: 34%;
            max-width: 100%;
            padding: 10px 18px;
            border-radius: 8px;
            cursor: pointer;
            transition: filter 0.15s, transform 0.15s;
            display: flex; align-items: center; justify-content: space-between; gap: 14px;
            color: #fff;
        }
        .estat-funil-barra:hover { filter: brightness(1.15); transform: scale(1.01); }
        .estat-funil-barra-label { font-size: 12px; font-weight: 700; display: flex; align-items: center; gap: 6px; }
        .estat-funil-barra-direita { display: flex; align-items: center; gap: 8px; }
        .estat-funil-barra-valor { font-size: 17px; font-weight: 800; }
        .estat-funil-barra-pct { font-size: 11px; opacity: 0.75; }
        .estat-funil-seta-baixo { color: rgba(255,255,255,0.15); font-size: 12px; }
        .estat-funil-dispensada-linha { margin-top: 4px; padding-top: 10px; border-top: 1px dashed rgba(255,255,255,0.1); width: 100%; display: flex; justify-content: center; }
        /* == Rankings em abas == */
        .estat-rankings-abas.estatisticas-rankings { display: block; }
        .estat-ranking-tabs { display: flex; gap: 6px; margin-bottom: 12px; }
        .estat-ranking-tab {
            flex: 1; padding: 8px 12px; border-radius: 8px; border: 1px solid rgba(255,255,255,0.09);
            background: rgba(255,255,255,0.03); color: rgba(255,255,255,0.45);
            font-size: 12px; font-weight: 700; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 6px;
            transition: all 0.15s;
        }
        .estat-ranking-tab.ativo { background: rgba(37,99,235,0.18); border-color: rgba(37,99,235,0.35); color: #93c5fd; }

        /* dark overrides — usa body .home-dark p/ especificidade (0,3,1) > (0,2,1) de body.tema-escuro */
        body .home-dark .grafico-semanal { background: transparent !important; }
        body .home-dark .grafico-barra { background: rgba(255,255,255,0.12) !important; }
        body .home-dark .grafico-barra-coluna[onclick]:hover { background: rgba(37,99,235,0.18) !important; }
        body .home-dark .grafico-barra-valor { color: rgba(255,255,255,0.35); }
        body .home-dark .grafico-barra-label { color: rgba(255,255,255,0.38); }
        body .home-dark .grafico-barra-aprovado { color: rgba(74,222,128,0.8); }
        body .home-dark .ranking-item { background: rgba(255,255,255,0.05) !important; border-radius: 8px; border-bottom-color: rgba(255,255,255,0.07) !important; }
        body .home-dark .ranking-item:hover { background: rgba(255,255,255,0.10) !important; }
        body .home-dark .ranking-item .ranking-nome { color: rgba(255,255,255,0.82); }
        body .home-dark .ranking-item .ranking-valor { color: #93c5fd; }
        .home-dark .btn-periodo { color: rgba(255,255,255,0.5); border-color: rgba(255,255,255,0.1); background: rgba(255,255,255,0.04); }
        .home-dark .btn-periodo.ativo { color: #fff; background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.2); }
        .home-dark .btn-tipo-doc { color: rgba(255,255,255,0.45); }
        .home-dark .btn-tipo-doc.ativo { color: var(--accent); }
        .home-dark .grafico-semanal-bloco h4,
        .home-dark .ranking-bloco h4 { color: rgba(255,255,255,0.50); font-size: 12px; }
        .home-dark .grafico-semanal-bloco,
        .home-dark .estatisticas-rankings {
            background: rgba(255,255,255,0.04);
            border-radius: 14px;
            padding: 16px;
            border: 1px solid rgba(255,255,255,0.08);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
        }

        /* admin no dark */
        .home-dark .menu-cards-admin-grupo { border-color: rgba(255,255,255,0.07); }
        .home-dark .menu-card-secundario { background: rgba(255,255,255,0.05); border-color: rgba(255,255,255,0.08); }
        .home-dark .menu-card-secundario:hover { background: rgba(255,255,255,0.09); border-color: rgba(255,255,255,0.14); }

        /* barra topo no dark */
        .home-dark ~ * .barra-topo-fixa,
        body:has(#tela-dashboard[style*="block"]) .barra-topo-fixa { background: rgba(8,16,30,0.9) !important; border-bottom-color: rgba(255,255,255,0.07) !important; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }

        @media (max-width: 640px) {

    /* --- SOCIAL MEDIA --- */
    .kanban-colunas { gap: 12px; padding: 0 4px; }
    .kanban-coluna { min-width: 260px; }
}

/* Telas entre 481px e 899px (tablets) — vai até 899px pra emendar sem faixa morta com o breakpoint de 900px usado no resto do app */
@media (min-width: 481px) and (max-width: 899px) {
    .card .form-row { display: flex !important; flex-direction: column !important; gap: 12px !important; }
    .tabela-container { overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .linha-flex { min-width: max-content; }
    .modal-content { max-width: calc(100vw - 40px) !important; }
}

/* ============================================================
   MENU DE AÇÕES (3 pontos) — histórico de cotações/propostas
   ============================================================ */
.acoes-menu-wrap { position: relative; display: inline-block; }
.acoes-menu-wrap .btn-acoes-trigger {
    background: transparent; border: 1px solid var(--border);
    border-radius: 7px; padding: 6px 10px; cursor: pointer;
    font-size: 15px; color: var(--text-muted); line-height: 1;
    transition: background 0.15s, color 0.15s;
}
.acoes-menu-wrap .btn-acoes-trigger:hover { background: var(--surface-hover); color: var(--primary); }
.acoes-menu-dropdown {
    display: none; position: absolute; right: 0; top: calc(100% + 4px);
    background: var(--surface); border: 1px solid var(--border); border-radius: 10px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12); min-width: 200px; z-index: 9999;
    overflow: hidden;
}
.acoes-menu-dropdown.aberto { display: block; }
.acoes-menu-dropdown button {
    display: flex; align-items: center; gap: 10px; width: 100%;
    padding: 10px 16px; background: transparent; border: none;
    font-size: 13px; font-weight: 500; color: var(--primary);
    cursor: pointer; text-align: left; transition: background 0.12s;
}
.acoes-menu-dropdown button:hover { background: var(--surface); }
.acoes-menu-dropdown button.acao-perigo { color: var(--danger); }
.acoes-menu-dropdown .separador-menu { height: 1px; background: var(--border); margin: 4px 0; }

/* ================================================================
   MODO APRESENTAÇÃO v2
   ================================================================ */

/* Overlay — bloqueia cliques, transparente */
.apres-ov {
    position: fixed; inset: 0; z-index: 9600;
    opacity: 0; pointer-events: none;
    transition: opacity 0.3s ease;
}
.apres-ov.ativo { opacity: 1; pointer-events: auto; }

/* Spotlight — buraco de luz via box-shadow */
.apres-sp {
    position: fixed; border-radius: 12px;
    box-shadow: 0 0 0 9999px rgba(0,0,0,0.80);
    pointer-events: none; z-index: 9601;
    transition:
        top    0.4s cubic-bezier(0.4,0,0.2,1),
        left   0.4s cubic-bezier(0.4,0,0.2,1),
        width  0.4s cubic-bezier(0.4,0,0.2,1),
        height 0.4s cubic-bezier(0.4,0,0.2,1);
}

/* Balão de narração */
.apres-bl {
    position: fixed; z-index: 9602;
    width: 295px; padding: 18px 20px;
    border-radius: 14px;
    background: #ffffff; color: #1d1d1f;
    box-shadow: 0 20px 52px rgba(0,0,0,0.30), 0 4px 12px rgba(0,0,0,0.14);
    pointer-events: auto;
    transition: opacity 0.22s ease;
}
body.tema-escuro .apres-bl {
    background: #1b2235; color: rgba(255,255,255,0.9);
    border: 1px solid rgba(255,255,255,0.1);
    box-shadow: 0 20px 52px rgba(0,0,0,0.55);
}
.apres-bl .apres-label {
    display: block; font-size: 9.5px; font-weight: 700;
    letter-spacing: 1.2px; text-transform: uppercase;
    color: var(--accent); margin-bottom: 5px;
}
.apres-bl .apres-titulo {
    font-size: 14px; font-weight: 700; margin: 0 0 7px 0; line-height: 1.3;
    padding-right: 22px;
}
.apres-bl .apres-texto {
    font-size: 12px; line-height: 1.65;
    color: var(--text-muted); margin: 0 0 14px 0;
}
.apres-bl .apres-nav {
    display: flex; align-items: center;
    justify-content: space-between; gap: 6px;
}

/* Botão fechar no balão */
.apres-bl .apres-x {
    position: absolute; top: 9px; right: 9px;
    width: 20px; height: 20px; border-radius: 50%;
    border: none; cursor: pointer; font-size: 9px;
    background: rgba(0,0,0,0.07); color: var(--text-muted);
    display: flex; align-items: center; justify-content: center;
    transition: background 0.15s, color 0.15s;
}
body.tema-escuro .apres-bl .apres-x { background: rgba(255,255,255,0.1); color: rgba(255,255,255,0.5); }
.apres-bl .apres-x:hover { background: var(--danger); color: #fff; }

/* Botões compartilhados */
.apres-pri {
    padding: 7px 14px; border-radius: 8px; border: none;
    background: var(--accent); color: #fff;
    font-size: 12px; font-weight: 600; cursor: pointer;
    display: flex; align-items: center; gap: 5px;
    transition: background 0.15s;
}
.apres-pri:hover { background: var(--accent-hover, #1d4ed8); }
.apres-sec {
    padding: 7px 12px; border-radius: 8px; border: none;
    background: rgba(0,0,0,0.08); color: var(--text-muted);
    font-size: 12px; font-weight: 600; cursor: pointer;
    display: flex; align-items: center; gap: 5px;
    transition: background 0.15s;
}
body.tema-escuro .apres-sec { background: rgba(255,255,255,0.1); color: rgba(255,255,255,0.6); }
.apres-sec:hover { background: rgba(0,0,0,0.15); }

/* Container de tela cheia — ocupa o overlay inteiro */
.apres-fc {
    position: absolute; inset: 0; z-index: 9603;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    text-align: center;
    background: linear-gradient(155deg, #0c1220 0%, #080e1c 100%);
    pointer-events: auto;
    padding: 0 32px;
}
.apres-full-corpo {
    display: flex; flex-direction: column;
    align-items: center; max-width: 560px; width: 100%;
}
.apres-logo {
    max-width: 150px; margin-bottom: 26px;
    filter: brightness(0) invert(1); opacity: 0.9;
}
.apres-badge {
    display: inline-flex; align-items: center; gap: 6px;
    background: rgba(37,99,235,0.18); border: 1px solid rgba(37,99,235,0.38);
    color: rgba(255,255,255,0.82); padding: 4px 14px; border-radius: 20px;
    font-size: 11px; font-weight: 600; margin-bottom: 18px;
}
.apres-ftitulo {
    font-size: 28px; font-weight: 800; color: #fff;
    margin: 0 0 12px 0; line-height: 1.2;
}
.apres-fsub {
    font-size: 14.5px; color: rgba(255,255,255,0.55);
    line-height: 1.65; margin: 0;
}
.apres-frodape {
    margin-top: 14px; font-size: 11px;
    color: rgba(255,255,255,0.25); letter-spacing: 0.3px;
}
.apres-ficone {
    width: 64px; height: 64px; border-radius: 18px;
    background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1);
    display: flex; align-items: center; justify-content: center;
    font-size: 26px; margin-bottom: 18px;
}
.apres-full-rodape-nav {
    display: flex; align-items: center; gap: 14px;
    margin-top: 40px;
}
.apres-full-rodape-nav .apres-pri,
.apres-full-rodape-nav .apres-sec { padding: 10px 22px; font-size: 13px; }
.apres-contador-full {
    font-size: 12px; color: rgba(255,255,255,0.35); font-weight: 600; white-space: nowrap;
}

/* Botão X nos slides de tela cheia */
.apres-full-x {
    position: absolute; top: 20px; right: 22px;
    width: 32px; height: 32px; border-radius: 50%;
    border: none; background: rgba(255,255,255,0.09);
    color: rgba(255,255,255,0.55); font-size: 13px; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    transition: background 0.15s, color 0.15s;
}
.apres-full-x:hover { background: var(--danger); color: #fff; }

/* Destaque de digitação */
.apres-digitando {
    outline: 2px solid var(--accent) !important;
    box-shadow: 0 0 0 4px rgba(37,99,235,0.16) !important;
}

/* Botão trigger — discreto na barra topo */
.btn-iniciar-apresentacao {
    background: transparent; border: none; cursor: pointer;
    padding: 6px 9px; border-radius: 8px;
    color: var(--text-muted); font-size: 14px; opacity: 0.38;
    transition: color 0.2s, background 0.2s, opacity 0.2s;
}
.btn-iniciar-apresentacao:hover {
    background: rgba(37,99,235,0.1); color: var(--accent); opacity: 1;
}

/* ================================================================
   ABA CONFORTO — VTC Contexto
   ================================================================ */

.conforto-container {
    max-width: 540px;
    margin: 0 auto;
    padding: 2rem 1rem 4rem;
}

.ctx-wrap {
    display: flex;
    flex-direction: column;
}

.ctx-header {
    text-align: center;
    margin-bottom: 1.5rem;
}

.ctx-dia {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    padding: 3px 10px;
    background: rgba(245,158,11,0.12);
    color: #b45309;
    border-radius: 20px;
    margin-bottom: 10px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

body.tema-escuro .ctx-dia {
    background: rgba(245,158,11,0.18);
    color: #fbbf24;
}

.ctx-titulo {
    font-size: 30px;
    font-weight: 700;
    margin: 0 0 8px;
    color: var(--text-main);
    letter-spacing: -0.5px;
}

.ctx-sub {
    font-size: 14px;
    color: var(--text-muted);
    margin: 0;
    line-height: 1.5;
}

.ctx-form {
    display: flex;
    gap: 8px;
    margin-bottom: 6px;
}

.ctx-form input {
    flex: 1;
    padding: 10px 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    font-size: 14px;
    background: var(--bg-card);
    color: var(--text-main);
    outline: none;
    transition: border-color 0.15s;
    font-family: inherit;
}

.ctx-form input:focus {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(37,99,235,0.1);
}

.ctx-form input:disabled {
    opacity: 0.6;
}

.ctx-form button {
    padding: 10px 20px;
    background: var(--accent);
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    font-family: inherit;
    transition: opacity 0.15s, background 0.15s;
}

.ctx-form button:hover:not(:disabled) {
    background: #1d4ed8;
}

.ctx-form button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.ctx-erro {
    font-size: 13px;
    color: var(--danger, #dc2626);
    min-height: 18px;
    margin: 0 0 8px;
    text-align: center;
}

.ctx-win {
    background: var(--success-bg, rgba(16,185,129,0.08));
    border: 1px solid var(--success-border, rgba(16,185,129,0.25));
    border-radius: 12px;
    padding: 1rem 1.25rem;
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
    animation: ctxSlide 0.3s ease;
}

.ctx-win p {
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    color: var(--success-text, #059669);
}

.ctx-count {
    font-size: 12px;
    color: var(--text-muted);
    text-align: center;
    margin: 4px 0 12px;
    min-height: 16px;
}

.ctx-lista {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-bottom: 1.5rem;
}

.ctx-item {
    display: flex;
    align-items: center;
    gap: 10px;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 8px 12px;
    animation: ctxSlide 0.2s ease;
}

@keyframes ctxSlide {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: none; }
}

.ctx-badge {
    font-size: 11px;
    font-weight: 600;
    min-width: 62px;
    text-align: center;
    padding: 3px 6px;
    border-radius: 6px;
    flex-shrink: 0;
}

.ctx-palavra {
    font-size: 14px;
    font-weight: 500;
    flex: 1;
    color: var(--text-main);
}

.ctx-bar-wrap {
    width: 72px;
    height: 4px;
    border-radius: 2px;
    background: var(--border);
    overflow: hidden;
    flex-shrink: 0;
}

.ctx-bar {
    height: 100%;
    border-radius: 2px;
    transition: width 0.4s ease;
}

.ctx-nota {
    font-size: 12px;
    color: var(--text-muted);
    text-align: center;
    line-height: 1.6;
    margin: 0;
    padding: 0 1rem;
}

/* ── Topbar: navegação + ranking ── */
.ctx-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 16px;
}

.ctx-nav-btn {
    background: transparent;
    border: 1.5px solid var(--border);
    color: var(--text-muted);
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-family: inherit;
    cursor: pointer;
    transition: border-color 0.15s, color 0.15s;
    white-space: nowrap;
}
.ctx-nav-btn:hover:not(:disabled) {
    border-color: var(--primary);
    color: var(--primary);
}
.ctx-nav-btn:disabled {
    opacity: 0.3;
    cursor: default;
}

.ctx-ranking-btn {
    background: rgba(245,158,11,0.08);
    border: 1.5px solid rgba(245,158,11,0.3);
    color: #f59e0b;
    padding: 6px 16px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    transition: background 0.15s;
    white-space: nowrap;
}
.ctx-ranking-btn:hover {
    background: rgba(245,158,11,0.16);
}

/* ── Botão de dica ── */
.ctx-btn-dica {
    display: block;
    width: 100%;
    margin: 8px 0 4px;
    padding: 9px;
    background: transparent;
    border: 1.5px dashed var(--border);
    color: var(--text-muted);
    border-radius: 10px;
    font-size: 13px;
    font-family: inherit;
    cursor: pointer;
    transition: border-color 0.15s, color 0.15s, background 0.15s;
}
.ctx-btn-dica:hover:not(:disabled) {
    border-color: #d97706;
    color: #d97706;
    background: rgba(217,119,6,0.06);
}
.ctx-btn-dica:disabled {
    opacity: 0.35;
    cursor: default;
}

/* ── Acerto com animação ── */
.ctx-item-acerto {
    animation: ctxPulse 0.4s ease;
}
@keyframes ctxPulse {
    0%   { transform: scale(1); }
    50%  { transform: scale(1.015); }
    100% { transform: scale(1); }
}

.ctx-desconhecida {
    font-size: 10px;
    opacity: 0.5;
}

/* ── Modal ranking ── */
.ctx-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.55);
    z-index: 9100;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
}
.ctx-modal {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 16px;
    width: 100%;
    max-width: 400px;
    max-height: 80vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 60px rgba(0,0,0,0.4);
}
.ctx-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid var(--border);
}
.ctx-modal-fechar {
    background: transparent;
    border: none;
    font-size: 16px;
    color: var(--text-muted);
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 6px;
    line-height: 1;
    transition: color 0.15s;
}
.ctx-modal-fechar:hover { color: var(--text-main); }

.ctx-ranking-lista {
    overflow-y: auto;
    padding: 12px 16px 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.ctx-rank-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    background: var(--bg-input, rgba(255,255,255,0.04));
    border-radius: 10px;
    border: 1px solid var(--border);
}
.ctx-rank-pos {
    font-size: 18px;
    min-width: 28px;
    text-align: center;
}
.ctx-rank-nome {
    flex: 1;
    font-weight: 600;
    font-size: 14px;
    color: var(--text-main);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.ctx-rank-pts {
    font-size: 13px;
    font-weight: 700;
    color: var(--primary);
    white-space: nowrap;
}
.ctx-rank-dica {
    font-size: 10px;
    font-weight: 400;
    opacity: 0.6;
}
.ctx-rank-vazio {
    text-align: center;
    opacity: 0.5;
    font-size: 13px;
    padding: 20px 0;
    margin: 0;
}

/* ============================================================
   CARTEIRA / FICHA CADASTRAL DE CLIENTES
   ============================================================ */
.clientes-container { max-width: 1240px; margin: 28px auto 50px; padding: 0 20px; }
.clientes-btn-novo, .clientes-btn-salvar { background: var(--accent) !important; color:#fff !important; border:none !important; }
.clientes-resumo-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:18px; }
.clientes-kpi-card { background:var(--bg-card); border:1px solid var(--border); border-radius:14px; padding:16px; display:flex; align-items:center; gap:13px; box-shadow:0 2px 10px rgba(15,23,42,.04); }
.clientes-kpi-card > div { min-width:0; display:flex; flex-direction:column; gap:3px; }
.clientes-kpi-card small { color:var(--text-muted); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.045em; }
.clientes-kpi-card strong { color:var(--primary); font-size:23px; line-height:1.05; }
.clientes-kpi-icone { width:42px; height:42px; flex:0 0 42px; border-radius:12px; display:grid; place-items:center; font-size:17px; }
.clientes-kpi-icone.azul { background:rgba(37,99,235,.12); color:#2563eb; }
.clientes-kpi-icone.verde { background:rgba(16,185,129,.12); color:#059669; }
.clientes-kpi-icone.amarelo { background:rgba(245,158,11,.14); color:#d97706; }
.clientes-kpi-icone.vermelho { background:rgba(239,68,68,.12); color:#dc2626; }

.clientes-alertas-box { border:1px solid rgba(245,158,11,.28); background:rgba(245,158,11,.055); border-radius:14px; padding:14px; margin-bottom:18px; }
.clientes-alertas-header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px; }
.clientes-alertas-header > div { display:flex; align-items:center; gap:10px; }
.clientes-alertas-header strong { display:block; color:var(--primary); font-size:14px; }
.clientes-alertas-header small { display:block; color:var(--text-muted); font-size:11px; margin-top:1px; }
.clientes-alertas-icone { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; background:rgba(245,158,11,.14); color:#d97706; }
.clientes-alertas-contador { color:#92400e; background:rgba(245,158,11,.13); border-radius:99px; padding:5px 9px; font-size:11px; font-weight:800; }
.clientes-alertas-lista { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.cliente-alerta-item { border:1px solid var(--border); background:var(--bg-card); border-radius:10px; padding:9px 10px; display:flex; align-items:center; gap:9px; text-align:left; cursor:pointer; color:var(--text-main); transition:.18s ease; }
.cliente-alerta-item:hover { transform:translateY(-1px); border-color:var(--accent); }
.cliente-alerta-item > .fa-chevron-right { margin-left:auto; opacity:.35; font-size:10px; }
.cliente-alerta-icone { width:30px; height:30px; flex:0 0 30px; display:grid; place-items:center; border-radius:9px; }
.cliente-alerta-icone.pendente { background:rgba(239,68,68,.10); color:#dc2626; }
.cliente-alerta-icone.vencendo, .cliente-alerta-icone.urgente { background:rgba(245,158,11,.12); color:#d97706; }
.cliente-alerta-icone.critico { background:rgba(239,68,68,.13); color:#b91c1c; }
.cliente-alerta-texto { min-width:0; flex:1; }
.cliente-alerta-texto strong, .cliente-alerta-texto small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cliente-alerta-texto strong { font-size:12px; color:var(--primary); }
.cliente-alerta-texto small { font-size:10.5px; color:var(--text-muted); margin-top:2px; }

.clientes-lista-card { padding:0 !important; overflow:hidden; }
.clientes-toolbar { display:flex; align-items:center; gap:10px; padding:13px 15px; border-bottom:1px solid var(--border); }
.clientes-busca-wrap { flex:1; position:relative; }
.clientes-busca-wrap i { position:absolute; left:12px; top:50%; transform:translateY(-50%); color:var(--text-muted); font-size:12px; }
.clientes-busca-wrap input, .clientes-toolbar select, .historico-doc-toolbar select { width:100%; border:1px solid var(--border); background:var(--bg-input,var(--bg-card)); color:var(--text-main); border-radius:9px; padding:9px 11px; font-size:12px; outline:none; }
.clientes-busca-wrap input { padding-left:32px; }
.clientes-toolbar select { width:220px; }
.clientes-tabela-wrap { overflow-x:auto; }
.clientes-tabela { min-width:930px; margin:0 !important; }
.clientes-tabela .cliente-row { cursor:pointer; transition:.15s ease; }
.clientes-tabela .cliente-row:hover td { background:rgba(37,99,235,.035); }
.cliente-nome-tabela { color:var(--primary); font-size:12.5px; }
.cliente-sub-tabela { display:block; color:var(--text-muted); font-size:10.5px; margin-top:2px; }
.cliente-progresso-linha { display:flex; align-items:center; gap:8px; min-width:130px; }
.cliente-progresso { flex:1; height:7px; border-radius:99px; overflow:hidden; background:var(--border); }
.cliente-progresso > span, .cliente-progresso-fill { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#2563eb,#60a5fa); transition:width .25s ease; }
.cliente-progresso-fill.completo { background:#10b981; }
.cliente-progresso-fill.medio { background:#f59e0b; }
.cliente-progresso-fill.baixo { background:#ef4444; }
.cliente-proximo-vencimento { display:block; max-width:180px; color:var(--text-main); font-size:11px; font-weight:600; }
.cliente-proximo-vencimento small { display:block; color:var(--text-muted); font-size:10px; margin-top:2px; }
.cliente-pendencias-num { min-width:24px; height:24px; padding:0 6px; display:inline-grid; place-items:center; border-radius:99px; background:var(--bg-muted); color:var(--text-muted); font-size:11px; font-weight:800; }
.cliente-pendencias-num.tem-pendencia { background:rgba(239,68,68,.1); color:#dc2626; }
.clientes-vazio { text-align:center !important; padding:34px !important; color:var(--text-muted) !important; }
.clientes-vazio-erro { color:var(--danger) !important; }

.clientes-modal-ficha { max-width:1040px !important; width:96% !important; height:92vh; overflow:hidden; display:flex; flex-direction:column; }
.clientes-modal-header { flex:0 0 auto; }
.clientes-modal-titulo { display:flex; align-items:center; gap:10px; }
.clientes-modal-titulo h3 { margin:0; color:var(--primary); font-size:17px; }
.clientes-modal-titulo small { color:var(--text-muted); font-size:10.5px; display:block; margin-top:2px; }
.clientes-modal-icone { width:37px; height:37px; display:grid; place-items:center; border-radius:10px; background:rgba(37,99,235,.11); color:var(--accent); }
.clientes-modal-acoes { display:flex; align-items:center; gap:8px; }
.clientes-modal-body { padding:0 !important; display:flex; flex-direction:column; min-height:0; flex:1; }
.clientes-nav-abas { flex:0 0 auto; border-radius:0 !important; border-bottom:1px solid var(--border); background:var(--bg-subtle); padding:9px 18px 0 !important; overflow-x:auto; white-space:nowrap; }
.clientes-nav-abas .btn-aba { display:inline-flex; align-items:center; gap:6px; }
.clientes-nav-abas .doc-badge { font-size:8.5px; padding:2px 6px; }
.clientes-modal-scroll { overflow-y:auto; padding:20px; min-height:0; flex:1; }

.ficha-resumo-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:18px; }
.ficha-resumo-card { min-height:112px; border:1px solid var(--border); background:var(--bg-card); border-radius:13px; padding:14px; display:flex; flex-direction:column; align-items:flex-start; gap:7px; }
.ficha-resumo-card.destaque { background:linear-gradient(145deg,rgba(37,99,235,.10),rgba(37,99,235,.025)); border-color:rgba(37,99,235,.2); }
.ficha-resumo-card > small:first-child { text-transform:uppercase; letter-spacing:.04em; color:var(--text-muted); font-size:9.5px; font-weight:800; }
.ficha-resumo-card > strong { color:var(--primary); font-size:24px; }
.ficha-resumo-card > span:last-child { color:var(--text-muted); font-size:10px; line-height:1.35; }
.ficha-resumo-secao { border:1px solid var(--border); background:var(--bg-card); border-radius:13px; padding:16px; margin-top:12px; }
.ficha-resumo-identidade { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.ficha-resumo-identidade div { padding:10px; border-radius:9px; background:var(--bg-subtle); min-width:0; }
.ficha-resumo-identidade span, .ficha-resumo-texto span { display:block; color:var(--text-muted); text-transform:uppercase; font-size:8.5px; font-weight:800; letter-spacing:.04em; margin-bottom:4px; }
.ficha-resumo-identidade strong { display:block; color:var(--primary); font-size:11.5px; overflow-wrap:anywhere; }
.ficha-resumo-relacionamento { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.ficha-resumo-texto { padding:11px; border-radius:9px; background:var(--bg-subtle); }
.ficha-resumo-texto p { margin:0; color:var(--text-main); font-size:11px; line-height:1.5; white-space:pre-wrap; }
.ficha-proximo-vencimento { display:flex; flex-direction:column; gap:3px; padding:10px 12px; border-radius:9px; background:var(--bg-subtle); }
.ficha-proximo-vencimento strong { color:var(--primary); font-size:12px; }
.ficha-proximo-vencimento small { color:var(--text-muted); font-size:10.5px; }

.clientes-info-aviso { display:flex; align-items:flex-start; gap:9px; border:1px solid rgba(37,99,235,.18); background:rgba(37,99,235,.055); border-radius:10px; padding:10px 12px; margin-bottom:17px; color:var(--text-main); font-size:11px; line-height:1.5; }
.clientes-info-aviso i { color:var(--accent); margin-top:2px; }
.clientes-info-aviso.doc { border-color:rgba(245,158,11,.22); background:rgba(245,158,11,.055); }
.clientes-info-aviso.doc i { color:#d97706; }
.clientes-grid-dados { gap:12px !important; margin-bottom:18px; }
.clientes-campo-largo { grid-column:1/-1; }
.clientes-grid-dados textarea { min-height:78px !important; }

.docs-progresso-card { background:var(--bg-subtle); border:1px solid var(--border); border-radius:12px; padding:14px; margin-bottom:15px; }
.docs-progresso-topo { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:9px; }
.docs-progresso-topo > div strong { display:block; color:var(--primary); font-size:12px; }
.docs-progresso-topo > div small { display:block; color:var(--text-muted); font-size:10px; margin-top:2px; }
.docs-progresso-topo > strong { color:var(--primary); font-size:16px; }
.docs-progresso-barra { height:8px; }
.grid-documentos { display:flex; flex-direction:column; gap:10px; }
.doc-req-item { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px; background:var(--bg-card); border:1px solid var(--border); border-left:4px solid var(--border); border-radius:11px; transition:.15s ease; }
.doc-req-item:hover { border-color:rgba(37,99,235,.32); border-left-color:var(--accent); }
.doc-req-item.ok { border-left-color:#10b981; }
.doc-req-item.vencendo, .doc-req-item.urgente { border-left-color:#f59e0b; }
.doc-req-item.critico, .doc-req-item.pendente { border-left-color:#ef4444; }
.doc-req-main { flex:1; min-width:0; }
.doc-req-topo { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:3px; }
.doc-req-topo > div { display:flex; align-items:center; gap:7px; min-width:0; }
.doc-req-nome { color:var(--primary); font-weight:800; font-size:12.5px; }
.doc-req-desc { display:block; color:var(--text-muted); font-size:10.5px; line-height:1.4; }
.doc-obrigatorio-tag { background:rgba(37,99,235,.08); color:var(--accent); border-radius:99px; padding:2px 6px; font-size:8px; font-weight:800; text-transform:uppercase; letter-spacing:.03em; white-space:nowrap; }
.doc-req-acoes { flex:0 0 auto; display:flex; align-items:center; gap:6px; }
.doc-meta-linha { display:flex; align-items:center; flex-wrap:wrap; gap:7px 12px; color:var(--text-muted); font-size:9.5px; margin-top:6px; }
.doc-observacao { margin-top:6px; padding:7px 9px; background:var(--bg-subtle); border-radius:7px; color:var(--text-main); font-size:9.5px; line-height:1.4; }
.doc-historico-link { border:none; background:none; padding:0; margin-top:6px; color:var(--accent); font-size:9.5px; font-weight:700; cursor:pointer; }
.doc-badge { display:inline-flex; align-items:center; gap:4px; padding:4px 8px; border-radius:99px; font-size:9px; font-weight:800; white-space:nowrap; text-transform:uppercase; letter-spacing:.03em; }
.doc-badge.pendente { background:rgba(239,68,68,.09); color:#dc2626; border:1px solid rgba(239,68,68,.16); }
.doc-badge.ok { background:rgba(16,185,129,.10); color:#059669; border:1px solid rgba(16,185,129,.17); }
.doc-badge.vencendo { background:rgba(245,158,11,.10); color:#b45309; border:1px solid rgba(245,158,11,.18); }
.doc-badge.urgente { background:rgba(249,115,22,.10); color:#c2410c; border:1px solid rgba(249,115,22,.18); }
.doc-badge.critico { background:rgba(239,68,68,.12); color:#b91c1c; border:1px solid rgba(239,68,68,.2); }
.btn-upload-doc { border:1px dashed var(--border-strong,var(--border)); background:var(--bg-subtle); color:var(--text-main); padding:7px 10px; border-radius:8px; font-size:10px; font-weight:700; cursor:pointer; transition:.15s ease; white-space:nowrap; }
.btn-upload-doc:hover { border-style:solid; border-color:var(--accent); color:var(--accent); background:rgba(37,99,235,.05); }

.historico-doc-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:13px; }
.historico-doc-toolbar > div strong { display:block; color:var(--primary); font-size:13px; }
.historico-doc-toolbar > div small { display:block; color:var(--text-muted); font-size:10px; margin-top:2px; }
.historico-doc-toolbar select { width:240px; }
.historico-doc-lista { display:flex; flex-direction:column; gap:8px; }
.historico-doc-item { display:flex; align-items:center; gap:11px; border:1px solid var(--border); background:var(--bg-card); border-radius:10px; padding:11px; }
.historico-doc-icone { width:34px; height:34px; flex:0 0 34px; display:grid; place-items:center; border-radius:9px; background:rgba(37,99,235,.08); color:var(--accent); }
.historico-doc-conteudo { flex:1; min-width:0; }
.historico-doc-topo { display:flex; align-items:center; gap:7px; margin-bottom:2px; }
.historico-doc-topo strong { color:var(--primary); font-size:11.5px; }
.historico-doc-conteudo > span { display:block; color:var(--text-main); font-size:10.5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.historico-doc-conteudo > small { display:block; color:var(--text-muted); font-size:9px; margin-top:2px; }
.historico-doc-meta { display:flex; align-items:center; gap:8px; margin-top:6px; color:var(--text-muted); font-size:9px; }
.doc-atual-tag, .doc-versao-antiga-tag { border-radius:99px; padding:2px 6px; font-size:7.5px; font-weight:800; text-transform:uppercase; letter-spacing:.03em; }
.doc-atual-tag { background:rgba(16,185,129,.10); color:#059669; }
.doc-versao-antiga-tag { background:var(--bg-subtle); color:var(--text-muted); }
.historico-doc-vazio { min-height:220px; display:flex; flex-direction:column; align-items:center; justify-content:center; color:var(--text-muted); gap:5px; border:1px dashed var(--border); border-radius:12px; }
.historico-doc-vazio i { font-size:25px; opacity:.4; }
.historico-doc-vazio strong { color:var(--text-main); font-size:12px; }
.historico-doc-vazio span { font-size:10px; }

.clientes-modal-upload { max-width:650px !important; width:94% !important; }
.clientes-upload-body { padding:18px; }
.clientes-upload-arquivo { border:1px dashed var(--border-strong,var(--border)); background:var(--bg-subtle); border-radius:10px; padding:12px; margin-bottom:14px; }
.clientes-upload-arquivo input[type=file] { width:100%; border:none; background:transparent; padding:7px 0; }
.clientes-upload-arquivo small { color:var(--text-muted); font-size:9.5px; }
.campo-opcional { color:var(--text-muted); font-size:8.5px; font-weight:500; text-transform:none; }

body.tema-escuro .clientes-kpi-card,
body.tema-escuro .cliente-alerta-item,
body.tema-escuro .doc-req-item,
body.tema-escuro .ficha-resumo-card,
body.tema-escuro .ficha-resumo-secao,
body.tema-escuro .historico-doc-item { background:#111827; }

@media (max-width: 980px) {
    .clientes-resumo-grid, .ficha-resumo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .clientes-alertas-lista { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .ficha-resumo-identidade, .ficha-resumo-relacionamento { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 680px) {
    .clientes-container { padding:0 12px; margin-top:18px; }
    .clientes-resumo-grid, .ficha-resumo-grid, .clientes-alertas-lista, .ficha-resumo-identidade, .ficha-resumo-relacionamento { grid-template-columns:1fr; }
    .clientes-toolbar, .historico-doc-toolbar, .clientes-alertas-header { align-items:stretch; flex-direction:column; }
    .clientes-toolbar select, .historico-doc-toolbar select { width:100%; }
    .clientes-modal-ficha { width:100% !important; height:100vh; max-height:none !important; border-radius:0 !important; }
    .clientes-modal-header { gap:8px; }
    .clientes-btn-salvar { padding:7px 9px !important; font-size:10px !important; }
    .clientes-modal-scroll { padding:14px; }
    .doc-req-item { align-items:stretch; flex-direction:column; }
    .doc-req-topo { align-items:flex-start; }
    .doc-req-acoes { justify-content:flex-end; }
}


/* ===== CLIENTES v8 — layout refinado e atenção por cliente ===== */
body.modal-clientes-aberto { overflow:hidden; }
#modalFichaCadastral, #modalUploadDocumentoCliente { padding:16px; box-sizing:border-box; }

/* Central de atenção: uma entrada por cliente, sem repetir documentos */
.clientes-alertas-box { padding:13px 14px; }
.clientes-alertas-lista { display:flex; flex-direction:column; gap:8px; }
.cliente-alerta-resumo {
    display:flex; align-items:center; gap:10px; min-height:52px;
    border:1px solid var(--border); background:var(--bg-card); border-radius:11px;
    padding:9px 10px 9px 11px;
}
.cliente-alerta-resumo .cliente-alerta-texto { flex:1; min-width:0; }
.btn-alerta-documentos, .btn-cliente-documentos, .btn-resumo-documentos, .btn-editar-ficha {
    display:inline-flex; align-items:center; justify-content:center; gap:6px;
    border-radius:8px; padding:7px 10px; font-size:10px; font-weight:800;
    cursor:pointer; transition:.15s ease; white-space:nowrap;
}
.btn-alerta-documentos {
    border:1px solid rgba(245,158,11,.22); background:rgba(245,158,11,.075); color:#b45309;
}
.btn-alerta-documentos:hover { background:rgba(245,158,11,.13); border-color:rgba(245,158,11,.36); }

/* Carteira: linha inteira abre visão geral; só a ação documental fica explícita */
.clientes-acoes-tabela { display:flex; align-items:center; justify-content:flex-end; gap:6px; white-space:nowrap; }
.btn-cliente-documentos {
    border:1px solid rgba(37,99,235,.20); background:rgba(37,99,235,.07); color:var(--accent);
}
.btn-cliente-documentos:hover { background:rgba(37,99,235,.13); border-color:rgba(37,99,235,.36); transform:translateY(-1px); }
.clientes-tabela .cliente-row td:first-child { position:relative; }
.clientes-tabela .cliente-row td:first-child::before {
    content:''; position:absolute; left:0; top:10px; bottom:10px; width:2px; border-radius:99px;
    background:transparent; transition:.15s ease;
}
.clientes-tabela .cliente-row:hover td:first-child::before { background:var(--accent); }

/* Visão geral da ficha */
.ficha-resumo-cabecalho {
    display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:14px;
}
.ficha-resumo-eyebrow {
    display:block; color:var(--accent); text-transform:uppercase; letter-spacing:.07em;
    font-size:8.5px; font-weight:900; margin-bottom:3px;
}
.ficha-resumo-cabecalho h4 { margin:0; color:var(--primary); font-size:18px; line-height:1.15; }
.ficha-resumo-cabecalho p { margin:5px 0 0; color:var(--text-muted); font-size:10.5px; }
.btn-editar-ficha {
    border:1px solid rgba(37,99,235,.22); background:rgba(37,99,235,.08); color:var(--accent);
}
.btn-editar-ficha:hover { background:rgba(37,99,235,.14); border-color:rgba(37,99,235,.38); }

.ficha-resumo-progresso-card {
    border:1px solid rgba(37,99,235,.20);
    background:linear-gradient(145deg,rgba(37,99,235,.085),rgba(37,99,235,.025));
    border-radius:14px; padding:16px; margin-bottom:12px;
}
.ficha-resumo-progresso-topo { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; }
.ficha-resumo-progresso-topo > div > span {
    display:block; color:var(--text-muted); text-transform:uppercase; letter-spacing:.05em;
    font-size:8.5px; font-weight:800; margin-bottom:3px;
}
.ficha-resumo-progresso-topo > div > strong { color:var(--primary); font-size:26px; line-height:1; }
.ficha-resumo-progresso-topo > span { color:var(--text-muted); font-size:10px; font-weight:700; }
.ficha-resumo-barra { height:9px; border-radius:99px; overflow:hidden; background:var(--border); margin:12px 0 10px; }
.ficha-resumo-barra > span {
    display:block; height:100%; border-radius:inherit; transition:width .25s ease;
    background:linear-gradient(90deg,#2563eb,#60a5fa);
}
.ficha-resumo-barra > span.baixo { background:#ef4444; }
.ficha-resumo-barra > span.medio { background:#f59e0b; }
.ficha-resumo-barra > span.completo { background:#10b981; }
.ficha-resumo-progresso-rodape { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.ficha-resumo-pendencias { min-width:0; display:flex; align-items:center; flex-wrap:wrap; gap:5px; }
.ficha-resumo-pendencias-label { color:var(--text-muted); font-size:9px; font-weight:800; margin-right:2px; }
.ficha-resumo-chip {
    display:inline-flex; align-items:center; max-width:180px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
    border:1px solid rgba(239,68,68,.13); background:rgba(239,68,68,.07); color:#b91c1c;
    border-radius:99px; padding:3px 7px; font-size:8.5px; font-weight:700;
}
.ficha-resumo-chip.mais { color:var(--text-muted); border-color:var(--border); background:var(--bg-subtle); }
.ficha-resumo-ok { color:#059669; font-size:9.5px; font-weight:700; }
.btn-resumo-documentos {
    flex:0 0 auto; border:1px solid rgba(37,99,235,.20); background:var(--bg-card); color:var(--accent);
}
.btn-resumo-documentos:hover { background:rgba(37,99,235,.08); }

.ficha-resumo-grid-compacto { grid-template-columns:repeat(3,minmax(0,1fr)); margin-bottom:12px; }
.ficha-resumo-grid-compacto .ficha-resumo-card { min-height:98px; }
.ficha-resumo-identidade { grid-template-columns:repeat(3,minmax(0,1fr)); }

body.tema-escuro .cliente-alerta-resumo,
body.tema-escuro .ficha-resumo-progresso-card { background:#111827; }
body.tema-escuro .btn-cliente-documentos,
body.tema-escuro .btn-editar-ficha,
body.tema-escuro .btn-resumo-documentos { background:rgba(59,130,246,.10); border-color:rgba(96,165,250,.18); }
body.tema-escuro .btn-alerta-documentos { background:rgba(245,158,11,.09); color:#f59e0b; }
body.tema-escuro .ficha-resumo-chip { color:#f87171; }

@media (max-width: 980px) {
    .ficha-resumo-grid-compacto { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .ficha-resumo-identidade { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
    .cliente-alerta-resumo { align-items:flex-start; flex-wrap:wrap; }
    .btn-alerta-documentos { width:100%; }
    .ficha-resumo-cabecalho, .ficha-resumo-progresso-rodape { align-items:stretch; flex-direction:column; }
    .btn-editar-ficha, .btn-resumo-documentos { width:100%; }
    .ficha-resumo-grid-compacto { grid-template-columns:1fr; }
    .ficha-resumo-identidade { grid-template-columns:1fr; }
}
@media (max-width: 900px) {
    .btn-cliente-documentos { width:34px; height:34px; padding:0; font-size:0; }
    .btn-cliente-documentos i { font-size:11px; }
}


/* ===== CLIENTES v9 — refinamentos de layout solicitados ===== */
.clientes-aba-edicao { display:none !important; }

.btn-editar-ficha {
    border:1px solid #2563eb;
    background:#2563eb;
    color:#ffffff;
    box-shadow:0 8px 18px rgba(37,99,235,.22);
}
.btn-editar-ficha:hover {
    background:#1d4ed8;
    border-color:#1d4ed8;
    color:#ffffff;
    transform:translateY(-1px);
}

.ficha-resumo-secao { margin-bottom:12px; }
.ficha-resumo-secao:last-child { margin-bottom:0; }
.ficha-resumo-identidade {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}
.ficha-resumo-identidade > div,
.ficha-resumo-texto {
    background:var(--bg-card);
    border:1px solid var(--border);
    border-radius:11px;
    padding:12px 13px;
}
.ficha-resumo-identidade > div span,
.ficha-resumo-texto > span {
    display:block;
    color:var(--text-muted);
    text-transform:uppercase;
    letter-spacing:.04em;
    font-size:8.5px;
    font-weight:800;
    margin-bottom:6px;
}
.ficha-resumo-identidade > div strong {
    color:var(--primary);
    font-size:12px;
    line-height:1.4;
}

.ficha-resumo-relacionamento { display:flex; flex-direction:column; gap:10px; }
.ficha-resumo-previa p {
    min-height:84px;
    line-height:1.55;
}
.ficha-resumo-rel-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}
.ficha-resumo-texto p {
    margin:0;
    color:var(--text-main);
    font-size:10.5px;
    line-height:1.55;
    white-space:pre-wrap;
}

.ficha-resumo-grid-compacto .ficha-resumo-card {
    min-height:88px;
    padding:12px;
}
.ficha-resumo-grid-compacto .ficha-resumo-card small {
    margin-bottom:6px;
}
.ficha-resumo-grid-compacto .ficha-resumo-card strong {
    font-size:22px;
    line-height:1;
}

.doc-req-item {
    gap:10px;
    padding:10px 12px;
    border-radius:10px;
}
.doc-req-topo { margin-bottom:2px; }
.doc-req-nome { font-size:12px; }
.doc-req-desc {
    font-size:9.8px;
    line-height:1.35;
    margin-top:2px;
}
.doc-meta-linha {
    gap:6px 10px;
    font-size:9px;
    margin-top:5px;
}
.doc-observacao {
    margin-top:5px;
    padding:6px 8px;
    font-size:9px;
}
.doc-historico-link { margin-top:5px; font-size:9px; }
.doc-req-acoes { gap:5px; }
.doc-req-acoes .btn-tool,
.doc-req-acoes .btn-upload-doc {
    min-height:32px;
    padding-top:6px;
    padding-bottom:6px;
}
.btn-upload-doc { font-size:9.5px; padding-left:9px; padding-right:9px; }

#fichaResumoProximoSecao .ficha-proximo-vencimento {
    background:var(--bg-card);
    border:1px solid rgba(245,158,11,.20);
    border-radius:11px;
    padding:12px 13px;
}
#fichaResumoProximoSecao .ficha-proximo-vencimento strong {
    display:block;
    color:var(--primary);
    font-size:12px;
    margin-bottom:4px;
}
#fichaResumoProximoSecao .ficha-proximo-vencimento small {
    color:var(--text-muted);
    font-size:10px;
}

body.tema-escuro .ficha-resumo-identidade > div,
body.tema-escuro .ficha-resumo-texto,
body.tema-escuro #fichaResumoProximoSecao .ficha-proximo-vencimento {
    background:#111827;
}

@media (max-width: 980px) {
    .ficha-resumo-identidade { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
    .ficha-resumo-rel-grid,
    .ficha-resumo-identidade { grid-template-columns:1fr; }
    .ficha-resumo-previa p { min-height:0; }
    .doc-req-item { flex-direction:column; align-items:stretch; }
    .doc-req-acoes { justify-content:flex-end; flex-wrap:wrap; }
    .btn-editar-ficha { width:100%; }
}

/* ===== CLIENTES v10 — geração de slide executivo ===== */
.btn-gerar-slide-cliente {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    border:1px solid rgba(96,165,250,.32);
    background:rgba(37,99,235,.12);
    color:var(--accent);
    border-radius:9px;
    padding:8px 12px;
    font-size:10.5px;
    font-weight:800;
    cursor:pointer;
    transition:.15s ease;
    white-space:nowrap;
}
.btn-gerar-slide-cliente:hover {
    background:rgba(37,99,235,.20);
    border-color:rgba(96,165,250,.48);
    transform:translateY(-1px);
}

.modal-slide-cliente-overlay {
    z-index:12000 !important;
    padding:18px;
}
.modal-slide-cliente-content {
    width:min(1180px,96vw) !important;
    max-width:1180px !important;
    max-height:94vh !important;
    overflow:hidden;
    display:flex;
    flex-direction:column;
}
.modal-slide-cliente-header h3 {
    margin:0;
    display:flex;
    align-items:center;
    gap:8px;
    color:var(--primary);
    font-size:17px;
}
.modal-slide-cliente-header h3 i { color:var(--accent); }
.modal-slide-cliente-header small {
    display:block;
    margin-top:3px;
    color:var(--text-muted);
    font-size:10px;
}
.modal-slide-cliente-body {
    padding:16px;
    overflow:auto;
    background:var(--bg-subtle);
    min-height:300px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.modal-slide-cliente-body img {
    display:block;
    width:100%;
    height:auto;
    max-height:68vh;
    object-fit:contain;
    border-radius:12px;
    box-shadow:0 18px 45px rgba(2,8,23,.22);
    border:1px solid rgba(148,163,184,.18);
}
.slide-cliente-loading {
    min-height:300px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:10px;
    color:var(--text-muted);
    font-size:11px;
}
.slide-cliente-loading i { font-size:28px; color:var(--accent); }
.modal-slide-cliente-footer {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:12px 16px;
    border-top:1px solid var(--border);
    background:var(--bg-card);
}
.modal-slide-cliente-footer > span {
    color:var(--text-muted);
    font-size:9.5px;
}
.btn-download-slide-cliente {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    border:1px solid #2563eb;
    background:#2563eb;
    color:#fff;
    border-radius:9px;
    padding:9px 13px;
    font-size:10.5px;
    font-weight:800;
    cursor:pointer;
    transition:.15s ease;
    white-space:nowrap;
}
.btn-download-slide-cliente:hover:not(:disabled) {
    background:#1d4ed8;
    border-color:#1d4ed8;
    transform:translateY(-1px);
}
.btn-download-slide-cliente:disabled {
    opacity:.45;
    cursor:not-allowed;
}
body.tema-escuro .modal-slide-cliente-body { background:#091221; }
body.tema-escuro .btn-gerar-slide-cliente {
    background:rgba(59,130,246,.13);
    border-color:rgba(96,165,250,.24);
    color:#93c5fd;
}
@media (max-width:760px) {
    .clientes-modal-acoes { gap:5px; }
    .btn-gerar-slide-cliente { width:36px; height:36px; padding:0; font-size:0; }
    .btn-gerar-slide-cliente i { font-size:12px; }
    .modal-slide-cliente-overlay { padding:0; }
    .modal-slide-cliente-content {
        width:100% !important;
        max-width:none !important;
        height:100vh;
        max-height:none !important;
        border-radius:0 !important;
    }
    .modal-slide-cliente-footer { align-items:stretch; flex-direction:column; }
    .btn-download-slide-cliente { width:100%; }
}
.btn-gerar-slide-cliente:disabled {
    opacity:.42;
    cursor:not-allowed;
    transform:none;
}


/* ===== CLIENTES v11 — slide refinado + aditivos opcionais ===== */
.doc-obrigatorio-tag.opcional {
    background:rgba(100,116,139,.12);
    color:#64748b;
}
.doc-badge.opcional {
    background:rgba(100,116,139,.12);
    color:#64748b;
    border:1px solid rgba(100,116,139,.18);
}
.doc-req-item.opcional { border-left-color:#94a3b8; }
body.tema-escuro .doc-obrigatorio-tag.opcional,
body.tema-escuro .doc-badge.opcional {
    color:#cbd5e1;
    background:rgba(100,116,139,.18);
    border-color:rgba(148,163,184,.22);
}


/* ===== CLIENTES v12 — correções de interface ===== */
.btn-editar-ficha,
body.tema-escuro .btn-editar-ficha {
    background:var(--accent) !important;
    color:#ffffff !important;
    border:none !important;
    box-shadow:0 6px 16px rgba(37,99,235,.26) !important;
}
.btn-editar-ficha:hover,
body.tema-escuro .btn-editar-ficha:hover {
    background:#1d4ed8 !important;
    color:#ffffff !important;
    border:none !important;
    box-shadow:0 8px 20px rgba(37,99,235,.32) !important;
    transform:translateY(-1px);
}
.btn-editar-ficha i { color:#ffffff !important; }

/* Mantém o botão do slide visível e coerente no cabeçalho da ficha */
.btn-gerar-slide-cliente {
    flex:0 0 auto;
}


/* ===== v12.2 — cards em desenvolvimento por cargo ===== */
.home-feature-wip {
    opacity: .52 !important;
    pointer-events: none !important;
    cursor: not-allowed !important;
    filter: saturate(.72);
}
.home-feature-wip .badge-construcao {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
    filter: none;
}
#card-solicitacoes.home-feature-wip {
    opacity: .52 !important;
}
body.tema-escuro .home-feature-wip {
    opacity: .48 !important;
}

/* ===== CLIENTES v12.3 — múltiplos arquivos por categoria documental ===== */
.doc-qtd-arquivos {
    display:inline-flex; align-items:center; padding:2px 7px; border-radius:99px;
    background:rgba(37,99,235,.08); color:var(--accent); font-size:8.5px; font-weight:800;
}
.doc-arquivos-ativos {
    display:flex; flex-direction:column; gap:6px; margin-top:9px;
}
.doc-arquivo-ativo {
    display:flex; align-items:center; justify-content:space-between; gap:10px;
    padding:8px 9px; border:1px solid var(--border); border-radius:9px; background:var(--bg-subtle);
}
.doc-arquivo-ativo-info { display:flex; align-items:center; gap:8px; min-width:0; flex:1; }
.doc-arquivo-icone {
    width:30px; height:30px; flex:0 0 30px; border-radius:8px; display:grid; place-items:center;
    background:rgba(37,99,235,.08); color:var(--accent);
}
.doc-arquivo-ativo-info > div { min-width:0; }
.doc-arquivo-ativo-info strong {
    display:block; color:var(--primary); font-size:10.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.doc-arquivo-ativo-info small { display:block; color:var(--text-muted); font-size:8.8px; margin-top:2px; }
.doc-arquivo-observacao { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:650px; }
.doc-arquivo-acoes { display:flex; align-items:center; gap:5px; flex:0 0 auto; }
.doc-req-acoes-multiplos { align-self:flex-start; padding-top:1px; }
.clientes-upload-meta-aviso {
    display:flex; align-items:flex-start; gap:7px; margin:-2px 0 12px; padding:8px 10px;
    border-radius:8px; background:rgba(37,99,235,.06); color:var(--text-muted); font-size:9.5px; line-height:1.4;
}
.clientes-upload-meta-aviso i { color:var(--accent); margin-top:1px; }
body.tema-escuro .doc-arquivo-ativo { background:#0f172a; }
@media (max-width:760px) {
    .doc-arquivo-ativo { align-items:flex-start; flex-direction:column; }
    .doc-arquivo-acoes { width:100%; justify-content:flex-end; }
    .doc-req-acoes-multiplos { width:100%; }
    .doc-req-acoes-multiplos .btn-upload-doc { width:100%; }
}


/* ===== VTCDOCS v12.4 — ordem do dashboard + proteção de cadastro ===== */
@media (min-width: 760px) {
    .home-features-grid.home-features-dev-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
.home-features-dev-grid .home-feature-card {
    min-width: 0;
}
.home-features-dev-grid #card-solicitacoes .badge-notificacao {
    z-index: 3;
}

.modal-ficha-nao-salva {
    backdrop-filter: blur(7px);
    background: rgba(2, 8, 23, .72);
}
.ficha-nao-salva-content {
    width: min(520px, calc(100vw - 32px)) !important;
    max-width: 520px !important;
    padding: 26px !important;
    border: 1px solid rgba(245, 158, 11, .30) !important;
    border-radius: 18px !important;
    background: var(--bg-card) !important;
    box-shadow: 0 28px 90px rgba(0, 0, 0, .42) !important;
}
.ficha-nao-salva-icone {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    margin-bottom: 16px;
    background: rgba(245, 158, 11, .13);
    color: #f59e0b;
    font-size: 20px;
}
.ficha-nao-salva-eyebrow {
    display: block;
    margin-bottom: 5px;
    color: #f59e0b;
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.ficha-nao-salva-texto h3 {
    margin: 0;
    color: var(--primary);
    font-size: 21px;
    line-height: 1.2;
}
.ficha-nao-salva-texto p {
    margin: 9px 0 0;
    color: var(--text-muted);
    font-size: 12px;
    line-height: 1.6;
}
.ficha-nao-salva-texto p strong { color: var(--primary); }
.ficha-nao-salva-acoes {
    display: flex;
    justify-content: flex-end;
    gap: 9px;
    margin-top: 22px;
}
.btn-ficha-continuar,
.btn-ficha-salvar-sair {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 40px;
    padding: 9px 14px;
    border-radius: 9px;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
    transition: .15s ease;
}
.btn-ficha-continuar {
    border: 1px solid var(--border);
    background: var(--bg-subtle);
    color: var(--text-main);
}
.btn-ficha-continuar:hover { border-color: var(--border-strong, var(--border)); }
.btn-ficha-salvar-sair {
    border: 1px solid #2563eb;
    background: #2563eb;
    color: #fff;
    box-shadow: 0 8px 20px rgba(37, 99, 235, .22);
}
.btn-ficha-salvar-sair:hover {
    background: #1d4ed8;
    border-color: #1d4ed8;
    transform: translateY(-1px);
}
@media (max-width: 620px) {
    .ficha-nao-salva-acoes { flex-direction: column-reverse; }
    .btn-ficha-continuar, .btn-ficha-salvar-sair { width: 100%; }
}


/* ===== CLIENTES v12.11 — documentos com expansão de anexos ===== */
.doc-req-resumo.clicavel { cursor:pointer; }
.doc-req-topo-direita { display:flex; align-items:center; gap:8px; flex:0 0 auto; }
.doc-expand-toggle {
    width:28px; height:28px; border-radius:8px; border:1px solid var(--border);
    background:var(--bg-subtle); color:var(--text-muted); display:grid; place-items:center;
    pointer-events:none;
}
.doc-req-item.expandido .doc-expand-toggle { color:var(--accent); border-color:rgba(37,99,235,.25); }
.doc-req-collapse { display:none; margin-top:10px; }
.doc-req-collapse.aberto { display:block; }
.doc-arquivos-vazio {
    margin-top:2px; padding:8px 10px; border:1px dashed var(--border); border-radius:9px;
    color:var(--text-muted); font-size:9.2px; background:var(--bg-subtle);
}
body.tema-escuro .doc-expand-toggle { background:#0f172a; }
@media (max-width:760px) {
    .doc-req-topo-direita { width:100%; justify-content:space-between; }
}


/* ===== VTCDOCS v12.14 — histórico: ações sempre legíveis em cotações encerradas ===== */
.linha-historico-cot.linha-status-reprovado,
.linha-historico-cot.linha-expirada {
    opacity: 1 !important;
    filter: none !important;
}

/* Expirada continua claramente identificada, sem apagar a linha inteira. */
.linha-historico-cot.linha-expirada {
    box-shadow: inset 3px 0 0 rgba(245,158,11,.72);
}

/* O menu de ações deve permanecer sólido/legível independentemente do status da linha. */
.linha-historico-cot .acoes-menu-wrap,
.linha-historico-cot .btn-acoes-trigger,
.linha-historico-cot .acoes-menu-dropdown,
.linha-historico-cot .acoes-menu-dropdown button {
    opacity: 1 !important;
    filter: none !important;
}

.linha-historico-cot .acoes-menu-dropdown {
    background: var(--surface) !important;
    border-color: var(--border-strong) !important;
    box-shadow: 0 12px 32px rgba(0,0,0,.26) !important;
    z-index: 10050 !important;
}

body.tema-escuro .linha-historico-cot .acoes-menu-dropdown {
    background: #1a2338 !important;
    border-color: rgba(255,255,255,.16) !important;
}

body.tema-escuro .linha-historico-cot.linha-expirada {
    background: rgba(245,158,11,.08);
}


/* ===== VTCDOCS v12.16 — versões editadas no histórico ===== */
.linha-cotacao-editada > td:not(:last-child) { opacity:.52; }
.linha-cotacao-editada { background:rgba(100,116,139,.035); }
.linha-cotacao-editada td:first-child { border-left:3px solid #94a3b8; }
.status-aprovacao-cot.status-editada { display:flex; flex-direction:column; align-items:flex-start; gap:4px; }
.status-aprovacao-cot.status-editada .badge-status-cot {
    background:rgba(100,116,139,.12); color:#64748b; border:1px solid rgba(100,116,139,.18);
}
.badge-versao-editada {
    display:inline-flex; align-items:center; gap:4px; margin-top:4px; padding:2px 6px; border-radius:99px;
    background:rgba(100,116,139,.10); color:#64748b; font-size:8px; font-weight:800; text-transform:uppercase;
}
.cotacao-editada-meta { color:var(--text-muted); font-size:9px; }
body.tema-escuro .linha-cotacao-editada { background:rgba(148,163,184,.035); }
body.tema-escuro .status-aprovacao-cot.status-editada .badge-status-cot,
body.tema-escuro .badge-versao-editada { color:#cbd5e1; }


/* ===== VTCDOCS v12.17 — versões editadas agrupadas na cotação atual ===== */
.btn-versoes-cotacao {
    display:flex; align-items:center; margin-top:6px; padding:0; border:0; background:transparent;
    color:var(--accent); font-size:9px; font-weight:800; cursor:pointer; white-space:nowrap;
}
.btn-versoes-cotacao span { display:inline-flex; align-items:center; gap:5px; }
.btn-versoes-cotacao i { font-size:8px; transition:transform .15s ease; }
.btn-versoes-cotacao:hover { text-decoration:underline; }
.linha-historico-cot.cotacao-com-versoes-abertas > td { border-bottom-color:rgba(37,99,235,.10); }

/* Filhos ficam fora do fluxo visual até a expansão */
.linha-cotacao-editada { display:none; background:rgba(100,116,139,.04); }
.linha-cotacao-editada.versao-visivel { display:table-row; }
.linha-cotacao-editada > td { background:rgba(100,116,139,.035); }
.linha-cotacao-editada > td:not(:last-child) { opacity:.60; }
.linha-cotacao-editada td:first-child {
    position:relative; padding-left:28px !important; border-left:3px solid rgba(148,163,184,.7);
}
.cotacao-versao-identificacao { display:flex; align-items:center; gap:8px; min-width:150px; }
.cotacao-versao-identificacao strong { color:var(--text-main); font-size:10.5px; }
.cotacao-versao-conector {
    width:22px; height:22px; flex:0 0 22px; border-radius:7px; display:grid; place-items:center;
    color:#64748b; background:rgba(100,116,139,.10);
}
.cotacao-versao-conector i { transform:rotate(90deg); font-size:9px; }
.btn-versao-pdf {
    display:inline-flex; align-items:center; gap:5px; border:1px solid var(--border); background:var(--surface);
    color:var(--accent); border-radius:7px; padding:6px 8px; font-size:9px; font-weight:800; cursor:pointer;
}
.btn-versao-pdf:hover { border-color:var(--accent); background:rgba(37,99,235,.06); }
.cotacao-versao-sem-pdf { color:var(--text-muted); font-size:9px; }
body.tema-escuro .linha-cotacao-editada > td { background:rgba(148,163,184,.035); }
body.tema-escuro .btn-versao-pdf { background:#111a2b; }


/* v12.17 refinamento — histórico interno em painel único */
.linha-versoes-cotacao { display:none; }
.linha-versoes-cotacao.versoes-visiveis { display:table-row; }
.linha-versoes-cotacao > td {
    padding:0 14px 12px 28px !important; border-top:0 !important; background:transparent !important;
}
.cotacao-versoes-box {
    border:1px solid rgba(100,116,139,.18); border-top:0; border-radius:0 0 12px 12px;
    background:var(--bg-subtle); padding:12px 14px 14px; box-shadow:inset 3px 0 0 rgba(100,116,139,.45);
}
.cotacao-versoes-cabecalho {
    display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:9px;
    color:var(--text-muted); font-size:9px;
}
.cotacao-versoes-cabecalho > div { display:flex; align-items:center; gap:7px; }
.cotacao-versoes-cabecalho strong { color:var(--text-main); font-size:10.5px; }
.cotacao-versoes-cabecalho > div i { color:var(--accent); }
.cotacao-versoes-lista { display:flex; flex-direction:column; gap:7px; }
.cotacao-versao-card {
    display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 11px;
    border:1px solid var(--border); border-radius:9px; background:var(--surface);
}
.cotacao-versao-card-principal { display:flex; align-items:center; gap:10px; min-width:0; flex:1; opacity:.68; }
.cotacao-versao-icone {
    width:30px; height:30px; flex:0 0 30px; border-radius:8px; display:grid; place-items:center;
    color:#64748b; background:rgba(100,116,139,.10);
}
.cotacao-versao-card-texto { min-width:0; }
.cotacao-versao-card-titulo { display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
.cotacao-versao-card-titulo strong { color:var(--primary); font-size:10.5px; }
.cotacao-versao-card-meta { display:flex; align-items:center; flex-wrap:wrap; gap:5px 12px; margin-top:4px; color:var(--text-muted); font-size:8.8px; }
.cotacao-versao-card-meta span { display:inline-flex; align-items:center; gap:4px; }
.cotacao-versao-card-texto > small { display:block; color:var(--text-muted); font-size:8.5px; margin-top:4px; }
.cotacao-versao-card-acoes { flex:0 0 auto; opacity:1; }
body.tema-escuro .cotacao-versoes-box { background:#0d1627; }
body.tema-escuro .cotacao-versao-card { background:#111a2b; }
@media (max-width:760px) {
    .cotacao-versoes-cabecalho { align-items:flex-start; flex-direction:column; }
    .cotacao-versao-card { align-items:flex-start; flex-direction:column; }
    .cotacao-versao-card-acoes { width:100%; }
    .btn-versao-pdf { width:100%; justify-content:center; }
}


/* ===== V12.18 — Rodapé institucional da plataforma ===== */
.vtc-platform-footer {
    margin: 42px 24px 30px;
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(5,28,58,0.94), rgba(4,20,40,0.96));
    box-shadow: 0 24px 60px rgba(0,0,0,0.22);
    overflow: hidden;
}
.vtc-platform-footer-inner {
    display: grid;
    grid-template-columns: 1.35fr .9fr 1fr 1fr;
    gap: 24px;
    padding: 28px 28px 24px;
}
.vtc-footer-brand {
    display:flex;
    flex-direction:column;
    gap:14px;
}
.vtc-footer-logo { height: 44px; width: auto; object-fit: contain; object-position: left center; filter: brightness(0) invert(1); }
.vtc-footer-logo-fallback { color:#fff; font-weight:800; font-size:28px; display:flex; align-items:center; gap:10px; }
.vtc-footer-description {
    margin:0; color: rgba(226,232,240,0.82); font-size: 13.5px; line-height: 1.7; max-width: 420px;
}
.vtc-footer-meta { display:flex; flex-wrap:wrap; gap:10px 14px; }
.vtc-footer-meta span {
    display:inline-flex; align-items:center; gap:8px;
    padding:8px 12px; border-radius: 999px;
    background: rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.08);
    color:#dbeafe; font-size:12.3px; font-weight:600;
}
.vtc-footer-col h4 {
    margin:0 0 12px; color:#fff; font-size:14px; font-weight:800; letter-spacing:.02em;
}
.vtc-footer-col a, .vtc-footer-col p {
    display:flex; align-items:flex-start; gap:9px; margin:0 0 10px;
    color: rgba(226,232,240,0.86); font-size:13px; line-height:1.65; text-decoration:none;
}
.vtc-footer-col a:hover { color:#93c5fd; }
.vtc-footer-col i { margin-top: 2px; color:#60a5fa; width:14px; text-align:center; flex:0 0 14px; }
.vtc-footer-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.vtc-footer-list li { display:flex; flex-direction:column; gap:3px; }
.vtc-footer-list strong { color:#f8fafc; font-size:12.8px; }
.vtc-footer-list span { color: rgba(226,232,240,0.82); font-size:12.6px; line-height:1.6; }
.vtc-platform-footer-bottom {
    display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap;
    padding: 14px 28px 16px; border-top:1px solid rgba(255,255,255,0.08);
    background: rgba(255,255,255,0.03); color: rgba(148,163,184,0.95);
    font-size: 11.8px;
}
body.tema-claro .vtc-platform-footer {
    background: linear-gradient(135deg, rgba(11,48,92,0.97), rgba(12,35,67,0.98));
    border-color: rgba(37,99,235,0.16);
}
@media (max-width: 1180px) {
    .vtc-platform-footer-inner { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
    .vtc-platform-footer { margin: 26px 14px 18px; border-radius:18px; }
    .vtc-platform-footer-inner { grid-template-columns: 1fr; gap:20px; padding:22px 18px 18px; }
    .vtc-platform-footer-bottom { padding:12px 18px 14px; }
    .vtc-footer-logo { height: 38px; }
}


/* ===== V12.20 — assinatura e Sobre a VTCDOCS ===== */
.vtc-footer-credit {
    appearance:none; border:0; padding:0; margin:0; background:none;
    color:rgba(148,163,184,.95); font:inherit; cursor:pointer; text-align:left;
    transition:color .15s ease;
}
.vtc-footer-credit strong { color:#cbd5e1; font-weight:700; }
.vtc-footer-credit:hover, .vtc-footer-credit:hover strong { color:#93c5fd; }
.vtc-sobre-modal { max-width:560px; overflow:hidden; }
.vtc-sobre-kicker { display:block; color:var(--accent); font-size:9px; font-weight:900; letter-spacing:.14em; margin-bottom:4px; }
.vtc-sobre-corpo { padding:28px; }
.vtc-sobre-logo { display:block; width:190px; max-height:54px; object-fit:contain; object-position:left center; margin-bottom:22px; }
body.tema-escuro .vtc-sobre-logo { filter:brightness(0) invert(1); }
.vtc-sobre-corpo > p { margin:0 0 22px; color:var(--text-muted); font-size:13px; line-height:1.75; }
.vtc-sobre-creditos {
    padding:18px 20px; border-radius:14px; border:1px solid rgba(37,99,235,.18);
    background:rgba(37,99,235,.06); display:flex; flex-direction:column; gap:5px;
}
.vtc-sobre-creditos span { color:var(--text-muted); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }
.vtc-sobre-creditos strong { color:var(--primary); font-size:22px; line-height:1.2; }
.vtc-sobre-creditos small { color:var(--text-muted); font-size:11px; }
.vtc-sobre-nota { display:flex; align-items:flex-start; gap:9px; margin-top:16px; color:var(--text-muted); font-size:10.5px; line-height:1.55; }
.vtc-sobre-nota i { color:var(--accent); margin-top:2px; }
@media (max-width:760px) {
    .vtc-sobre-corpo { padding:22px 18px; }
    .vtc-footer-credit { line-height:1.5; }
}


/* ===== V12.21 — créditos colaborativos no Sobre a VTCDOCS ===== */
.vtc-sobre-modal { max-width:760px; }
.vtc-sobre-intro { margin-bottom:20px !important; }
.vtc-sobre-creditos-principal {
    position:relative; overflow:hidden;
}
.vtc-sobre-creditos-principal::after {
    content:''; position:absolute; right:-34px; top:-42px; width:130px; height:130px;
    border-radius:50%; background:radial-gradient(circle, rgba(37,99,235,.16), rgba(37,99,235,0) 70%);
    pointer-events:none;
}
.vtc-sobre-equipe {
    margin-top:18px; padding:20px; border:1px solid var(--border); border-radius:16px; background:var(--bg-subtle);
}
.vtc-sobre-equipe-cabecalho { margin-bottom:16px; }
.vtc-sobre-equipe-kicker {
    display:block; color:#10b981; font-size:9px; font-weight:900; letter-spacing:.13em; margin-bottom:6px;
}
.vtc-sobre-equipe-cabecalho h3 { margin:0 0 7px; color:var(--primary); font-size:17px; line-height:1.3; }
.vtc-sobre-equipe-cabecalho p { margin:0; color:var(--text-muted); font-size:11.5px; line-height:1.65; }
.vtc-sobre-equipe-grid { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.vtc-sobre-pessoa {
    display:flex; align-items:center; gap:10px; min-width:0; padding:10px 11px; border-radius:11px;
    border:1px solid var(--border); background:var(--bg-card);
}
.vtc-sobre-avatar {
    width:34px; height:34px; flex:0 0 34px; border-radius:10px; display:grid; place-items:center;
    background:rgba(37,99,235,.09); color:var(--accent); font-size:10px; font-weight:900; letter-spacing:.02em;
}
.vtc-sobre-pessoa > div { min-width:0; }
.vtc-sobre-pessoa strong { display:block; color:var(--primary); font-size:11.8px; line-height:1.35; }
.vtc-sobre-pessoa strong em {
    display:inline-flex; margin-left:5px; padding:2px 6px; border-radius:99px;
    background:rgba(245,158,11,.10); color:#d97706; font-size:7.5px; font-style:normal; text-transform:uppercase; letter-spacing:.05em;
}
.vtc-sobre-pessoa small { display:block; margin-top:2px; color:var(--text-muted); font-size:9.4px; line-height:1.35; }
.vtc-sobre-pessoa.destaque-lider { border-color:rgba(245,158,11,.20); }
.vtc-sobre-pessoa.destaque-lider .vtc-sobre-avatar { background:rgba(245,158,11,.10); color:#d97706; }
.vtc-sobre-agradecimento {
    display:flex; align-items:flex-start; gap:10px; margin-top:14px; padding:12px 13px; border-radius:11px;
    background:rgba(16,185,129,.06); border:1px solid rgba(16,185,129,.13); color:var(--text-muted);
    font-size:10.5px; line-height:1.55;
}
.vtc-sobre-agradecimento i { color:#10b981; margin-top:2px; }
body.tema-escuro .vtc-sobre-equipe { background:rgba(15,23,42,.72); }
body.tema-escuro .vtc-sobre-pessoa { background:rgba(15,23,42,.95); }
@media (max-width:760px) {
    .vtc-sobre-equipe { padding:16px; }
    .vtc-sobre-equipe-grid { grid-template-columns:1fr; }
}


/* ===== V12.22 — cards de reconhecimento da equipe ===== */
.vtc-sobre-modal { max-width: 980px; max-height: 90vh; }
.vtc-sobre-corpo { max-height: calc(90vh - 72px); overflow-y: auto; }
.vtc-sobre-equipe-grid-premium { gap:12px; }
.vtc-sobre-pessoa-card {
    position:relative; overflow:hidden; min-height:178px; padding:16px 16px 15px;
    border:1px solid var(--border); border-radius:15px; background:var(--bg-card);
    display:flex; flex-direction:column; transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.vtc-sobre-pessoa-card::after {
    content:''; position:absolute; width:110px; height:110px; right:-38px; top:-42px; border-radius:50%;
    background:radial-gradient(circle, rgba(37,99,235,.10), rgba(37,99,235,0) 72%); pointer-events:none;
}
.vtc-sobre-pessoa-card:hover { transform:translateY(-2px); border-color:rgba(37,99,235,.25); box-shadow:0 12px 28px rgba(15,23,42,.08); }
.vtc-sobre-pessoa-topo { display:flex; align-items:center; gap:11px; margin-bottom:12px; min-width:0; }
.vtc-sobre-avatar.premium {
    width:42px; height:42px; flex:0 0 42px; border-radius:12px; font-size:15px;
    background:linear-gradient(145deg, rgba(37,99,235,.13), rgba(37,99,235,.05));
    border:1px solid rgba(37,99,235,.12);
}
.vtc-sobre-pessoa-topo > div { min-width:0; }
.vtc-sobre-pessoa-topo strong { display:block; color:var(--primary); font-size:13.4px; line-height:1.3; }
.vtc-sobre-pessoa-topo small { display:block; margin-top:3px; color:var(--text-muted); font-size:9.8px; font-weight:700; }
.vtc-sobre-pessoa-topo strong em {
    display:inline-flex; margin-left:5px; padding:2px 6px; border-radius:999px;
    background:rgba(245,158,11,.11); color:#d97706; font-size:7.2px; font-style:normal; letter-spacing:.05em; text-transform:uppercase;
}
.vtc-sobre-pessoa-card > p { margin:0 0 13px !important; color:var(--text-muted); font-size:10.7px; line-height:1.62; }
.vtc-sobre-impacto {
    display:flex; align-items:flex-start; gap:7px; margin-top:auto; padding-top:11px; border-top:1px solid var(--border);
    color:var(--text-main); font-size:9.7px; line-height:1.45; font-weight:700;
}
.vtc-sobre-impacto i { color:#10b981; margin-top:1px; }
.vtc-sobre-pessoa-card.destaque-lider { border-color:rgba(245,158,11,.24); background:linear-gradient(145deg, rgba(245,158,11,.045), var(--bg-card) 58%); }
.vtc-sobre-pessoa-card.destaque-lider .vtc-sobre-avatar.premium { background:rgba(245,158,11,.10); color:#d97706; border-color:rgba(245,158,11,.14); }
.vtc-sobre-agradecimento-premium {
    align-items:center; gap:13px; padding:15px 16px; background:linear-gradient(135deg, rgba(16,185,129,.08), rgba(37,99,235,.045));
}
.vtc-sobre-agradecimento-icone {
    width:40px; height:40px; flex:0 0 40px; border-radius:12px; display:grid; place-items:center;
    background:rgba(16,185,129,.11); color:#10b981;
}
.vtc-sobre-agradecimento-premium > div:last-child { display:flex; flex-direction:column; gap:3px; }
.vtc-sobre-agradecimento-premium strong { color:var(--primary); font-size:12.2px; }
.vtc-sobre-agradecimento-premium span { font-size:10.6px; line-height:1.6; }
body.tema-escuro .vtc-sobre-pessoa-card { background:rgba(15,23,42,.96); }
body.tema-escuro .vtc-sobre-pessoa-card.destaque-lider { background:linear-gradient(145deg, rgba(245,158,11,.07), rgba(15,23,42,.96) 58%); }
@media (max-width:760px) {
    .vtc-sobre-modal { max-width:calc(100vw - 22px); }
    .vtc-sobre-pessoa-card { min-height:0; }
}

/* ===== V12.24 — copiar endereço das unidades pelo rodapé ===== */
.vtc-footer-unidade-copiavel {
    position:relative;
    margin:0 -9px;
    padding:8px 9px;
    border:1px solid transparent;
    border-radius:10px;
    cursor:pointer;
    outline:none;
    transition:background .16s ease, border-color .16s ease, transform .16s ease;
}
.vtc-footer-unidade-copiavel:hover,
.vtc-footer-unidade-copiavel:focus-visible {
    background:rgba(96,165,250,.075);
    border-color:rgba(96,165,250,.18);
    transform:translateY(-1px);
}
.vtc-footer-unidade-copiavel.copiado {
    background:rgba(16,185,129,.09);
    border-color:rgba(16,185,129,.25);
}
.vtc-footer-unidade-topo {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}
.vtc-footer-copy-icon {
    width:24px;
    height:24px;
    flex:0 0 24px;
    display:grid;
    place-items:center;
    border-radius:7px;
    color:rgba(147,197,253,.72);
    background:rgba(96,165,250,.07);
    opacity:.62;
    transition:opacity .16s ease, color .16s ease, background .16s ease;
}
.vtc-footer-copy-icon i { margin:0; width:auto; color:inherit; }
.vtc-footer-unidade-copiavel:hover .vtc-footer-copy-icon,
.vtc-footer-unidade-copiavel:focus-visible .vtc-footer-copy-icon {
    opacity:1;
    color:#bfdbfe;
    background:rgba(96,165,250,.13);
}
.vtc-footer-unidade-copiavel.copiado .vtc-footer-copy-icon {
    opacity:1;
    color:#6ee7b7;
    background:rgba(16,185,129,.13);
}
.vtc-footer-foco-operacao { padding:8px 0 0; }


/* ===== V12.27 — aviso geral de desenvolvimento no dashboard ===== */
.home-dev-notice {
    width: min(760px, calc(100% - 24px));
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 2px auto 0;
    padding: 13px 16px;
    border: 1px solid rgba(96,165,250,.16);
    border-radius: 13px;
    background: rgba(15,35,62,.62);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
    text-align: left;
    backdrop-filter: blur(8px);
}
.home-dev-notice-icon {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    background: rgba(96,165,250,.10);
    color: #7dd3fc;
    font-size: 12px;
}
.home-dev-notice > div { min-width: 0; }
.home-dev-notice strong {
    display: block;
    margin-bottom: 3px;
    color: rgba(248,250,252,.90);
    font-size: 12.5px;
    font-weight: 750;
}
.home-dev-notice span:not(.home-dev-notice-icon) {
    display: block;
    color: rgba(203,213,225,.64);
    font-size: 11.5px;
    line-height: 1.55;
}
@media (max-width: 620px) {
    .home-dev-notice { padding: 12px 13px; gap: 10px; }
    .home-dev-notice-icon { width: 28px; height: 28px; flex-basis: 28px; }
}


/* ===== V12.28 — Lembretes compactos / expansíveis ===== */
.home-lembretes-card {
    transition: padding .2s ease, border-color .2s ease, background .2s ease;
}
.home-lembretes-card.recolhido {
    padding: 12px 18px;
    background: rgba(251,191,36,0.045);
}
.home-lembretes-card.expandido {
    padding: 16px 20px;
}
.lembretes-toggle-dashboard {
    appearance:none;
    border:0;
    background:transparent;
    color:#fbbf24;
    padding:0;
    display:flex;
    align-items:center;
    gap:10px;
    cursor:pointer;
    font:inherit;
    font-size:13px;
    font-weight:800;
    min-width:0;
}
.lembretes-toggle-dashboard > span {
    display:flex;
    align-items:center;
    gap:8px;
}
.lembretes-toggle-seta {
    font-size:10px;
    color:rgba(251,191,36,.65);
    transition:transform .18s ease, color .18s ease;
}
.lembretes-toggle-dashboard:hover .lembretes-toggle-seta { color:#fbbf24; }
.lembretes-resumo-compacto {
    display:flex;
    align-items:center;
    gap:8px;
    min-height:22px;
    margin-top:5px;
    font-size:12.3px;
    line-height:1.4;
}
.lembretes-resumo-compacto.vazio { color:rgba(148,163,184,.82); }
.lembretes-resumo-compacto.vazio i { color:#34d399; }
.lembretes-resumo-compacto.tem-pendencias { color:rgba(251,191,36,.9); }
.lembretes-resumo-compacto.tem-pendencias i { color:#fbbf24; }
.lembretes-conteudo-expansivel {
    display:none;
    padding-top:10px;
    animation: lembretesAbrir .16s ease-out;
}
.home-lembretes-card.expandido .lembretes-conteudo-expansivel { display:block; }
.home-lembretes-card.expandido .lembretes-resumo-compacto.tem-pendencias {
    margin:4px 0 2px;
    padding:7px 10px;
    border-radius:8px;
    background:rgba(251,191,36,.055);
}
@keyframes lembretesAbrir {
    from { opacity:0; transform:translateY(-4px); }
    to { opacity:1; transform:translateY(0); }
}
@media (max-width:760px) {
    .home-lembretes-card.recolhido { padding:11px 13px; }
    .lembretes-cabecalho { align-items:flex-start; }
    .lembretes-resumo-compacto { font-size:11.8px; }
}


/* ===== V12.29 — dicas persistentes + ranking resiliente no VTC Contexto ===== */
.ctx-dicas-painel {
    display:flex;
    flex-direction:column;
    gap:7px;
    margin:8px 0 10px;
    min-height:38px;
}
.ctx-dicas-vazio {
    display:flex;
    align-items:center;
    gap:8px;
    padding:9px 11px;
    border:1px solid var(--border);
    border-radius:9px;
    background:var(--bg-subtle);
    color:var(--text-muted);
    font-size:11.5px;
    line-height:1.45;
}
.ctx-dicas-vazio i { color:#d97706; }
.ctx-dica-persistente {
    display:flex;
    align-items:flex-start;
    gap:10px;
    padding:9px 11px;
    border:1px solid rgba(217,119,6,.20);
    border-radius:9px;
    background:rgba(217,119,6,.07);
}
.ctx-dica-numero {
    flex:0 0 auto;
    padding:3px 7px;
    border-radius:999px;
    background:rgba(217,119,6,.13);
    color:#d97706;
    font-size:9px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.ctx-dica-texto {
    color:var(--text-main);
    font-size:12.5px;
    line-height:1.45;
    font-weight:600;
}
body.tema-escuro .ctx-dica-persistente {
    background:rgba(245,158,11,.075);
    border-color:rgba(245,158,11,.20);
}
body.tema-escuro .ctx-dica-numero { color:#fbbf24; background:rgba(245,158,11,.12); }

/* ===== V12.30 — Aba Conforto: seletor de jogos + VTC Cruzadas ===== */
.conforto-container {
    transition:max-width .2s ease;
}
.conforto-container.cruzadas-ativo {
    max-width: 1240px;
}
.conforto-game-switch {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin:0 0 22px;
    padding:6px;
    border:1px solid var(--border);
    background:var(--bg-card);
    border-radius:15px;
}
.conforto-game-tab {
    display:flex;
    align-items:center;
    gap:11px;
    min-width:0;
    padding:11px 14px;
    border:1px solid transparent;
    border-radius:11px;
    background:transparent;
    color:var(--text-muted);
    cursor:pointer;
    text-align:left;
    font-family:inherit;
    transition:.16s ease;
}
.conforto-game-tab > i {
    width:34px;
    height:34px;
    border-radius:10px;
    display:grid;
    place-items:center;
    background:var(--bg-subtle);
    color:var(--text-muted);
    flex:0 0 34px;
}
.conforto-game-tab span { display:flex; flex-direction:column; min-width:0; gap:2px; }
.conforto-game-tab strong { color:inherit; font-size:12.5px; }
.conforto-game-tab small { font-size:11px; opacity:.75; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.conforto-game-tab:hover { background:var(--bg-subtle); color:var(--text-main); }
.conforto-game-tab.ativo {
    background:rgba(37,99,235,.08);
    border-color:rgba(37,99,235,.18);
    color:var(--accent);
}
.conforto-game-tab.ativo > i { background:rgba(37,99,235,.12); color:var(--accent); }
body.tema-escuro .conforto-game-tab.ativo { background:rgba(59,130,246,.12); border-color:rgba(96,165,250,.18); }

.crz-wrap { width:100%; }
.crz-header {
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:24px;
    margin-bottom:18px;
    padding:2px 2px 0;
}
.crz-kicker {
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-size:10.5px;
    font-weight:900;
    letter-spacing:.12em;
    color:#f59e0b;
    margin-bottom:7px;
}
.crz-header h1 { margin:0 0 5px; color:var(--text-main); font-size:26px; letter-spacing:-.02em; }
.crz-header p { margin:0; color:var(--text-muted); font-size:12.5px; line-height:1.55; max-width:720px; }
.crz-header-badge {
    flex:0 0 auto;
    display:flex;
    flex-direction:column;
    gap:2px;
    padding:10px 13px;
    border-radius:11px;
    border:1px solid rgba(245,158,11,.18);
    background:rgba(245,158,11,.07);
    text-align:right;
}
.crz-header-badge span { color:#f59e0b; font-size:12px; font-weight:800; }
.crz-header-badge small { color:var(--text-muted); font-size:10.5px; }

.crz-toolbar {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:14px;
}
.crz-niveis {
    display:inline-grid;
    grid-template-columns:repeat(3,minmax(110px,1fr));
    gap:5px;
    padding:4px;
    border:1px solid var(--border);
    border-radius:12px;
    background:var(--bg-card);
}
.crz-nivel {
    border:1px solid transparent;
    border-radius:9px;
    background:transparent;
    color:var(--text-muted);
    padding:7px 13px;
    cursor:pointer;
    display:flex;
    flex-direction:column;
    gap:1px;
    font-family:inherit;
    transition:.15s ease;
}
.crz-nivel span { font-size:11.5px; font-weight:800; }
.crz-nivel small { font-size:10.5px; opacity:.82; }
.crz-nivel:hover { color:var(--text-main); background:var(--bg-subtle); }
.crz-nivel.ativo { color:var(--accent); background:rgba(37,99,235,.08); border-color:rgba(37,99,235,.15); }
.crz-acoes-topo { display:flex; align-items:center; gap:7px; }

.crz-jogos-bloco {
    padding:13px;
    border:1px solid var(--border);
    border-radius:14px;
    background:var(--bg-card);
    margin-bottom:14px;
}
.crz-jogos-cabecalho { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:9px; }
.crz-jogos-cabecalho strong { color:var(--text-main); font-size:11px; }
.crz-jogos-cabecalho span { color:var(--text-muted); font-size:11px; }
.crz-jogos { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; }
.crz-jogo-btn {
    min-width:0;
    display:grid;
    grid-template-columns:28px minmax(0,1fr) 14px;
    align-items:center;
    gap:7px;
    padding:8px;
    border:1px solid var(--border);
    border-radius:9px;
    background:var(--bg-subtle);
    color:var(--text-muted);
    cursor:pointer;
    text-align:left;
    font-family:inherit;
    transition:.15s ease;
}
.crz-jogo-btn:hover { border-color:rgba(37,99,235,.28); transform:translateY(-1px); }
.crz-jogo-btn.ativo { border-color:rgba(37,99,235,.38); background:rgba(37,99,235,.08); }
.crz-jogo-index {
    width:28px; height:28px; border-radius:8px; display:grid; place-items:center;
    background:var(--bg-card); color:var(--text-muted); font-size:10.5px; font-weight:900;
}
.crz-jogo-btn.ativo .crz-jogo-index { background:var(--accent); color:#fff; }
.crz-jogo-info { min-width:0; display:flex; flex-direction:column; gap:2px; }
.crz-jogo-info strong { color:var(--text-main); font-size:11px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.crz-jogo-info small { font-size:10px; color:var(--text-muted); }
.crz-jogo-btn > i { font-size:9px; justify-self:end; }
.crz-jogo-btn.concluido > i { color:#10b981; }
.crz-jogo-btn.concluido .crz-jogo-info small { color:#10b981; }

.crz-game-card {
    border:1px solid var(--border);
    border-radius:16px;
    background:var(--bg-card);
    overflow:hidden;
}
.crz-game-head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:15px 17px;
    border-bottom:1px solid var(--border);
}
.crz-game-num { display:block; color:var(--accent); font-size:10.5px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; margin-bottom:2px; }
.crz-game-head h2 { margin:0; color:var(--text-main); font-size:17px; }
.crz-progresso { width:180px; display:flex; flex-direction:column; gap:5px; align-items:flex-end; }
.crz-progresso > span { color:var(--text-muted); font-size:11px; font-weight:700; }
.crz-progresso-bar { width:100%; height:5px; border-radius:99px; overflow:hidden; background:var(--bg-subtle); }
.crz-progresso-bar > span { display:block; height:100%; width:0; border-radius:inherit; background:linear-gradient(90deg,#2563eb,#60a5fa); transition:width .18s ease; }

.crz-mensagem {
    margin:13px 15px 0;
    padding:10px 12px;
    border-radius:10px;
    display:flex;
    align-items:flex-start;
    gap:9px;
    font-size:11.5px;
}
.crz-mensagem > i { margin-top:2px; }
.crz-mensagem > div { display:flex; flex-direction:column; gap:2px; }
.crz-mensagem strong { font-size:12px; }
.crz-mensagem span { color:var(--text-muted); line-height:1.45; }
.crz-mensagem.sucesso { background:rgba(16,185,129,.08); border:1px solid rgba(16,185,129,.2); color:#10b981; }
.crz-mensagem.aviso { background:rgba(245,158,11,.07); border:1px solid rgba(245,158,11,.19); color:#f59e0b; }

.crz-layout {
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);
    gap:0;
}
.crz-tabuleiro-area { padding:18px; min-width:0; border-right:1px solid var(--border); }
.crz-grid-scroll {
    overflow:auto;
    padding:8px;
    min-height:430px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    background:
      radial-gradient(circle at 15% 15%, rgba(37,99,235,.07), transparent 34%),
      var(--bg-subtle);
    border:1px solid var(--border);
}
.crz-grid {
    display:grid;
    gap:2px;
    width:max-content;
    height:max-content;
    user-select:none;
}
.crz-cell-vazia { display:block; }
.crz-cell {
    position:relative;
    width:var(--crz-cell-size,32px);
    height:var(--crz-cell-size,32px);
    background:var(--bg-card);
    border:1px solid var(--border-strong,var(--border));
    border-radius:4px;
    transition:.12s ease;
}
.crz-cell input {
    width:100%; height:100%; padding:2px 0 0; margin:0; border:none; outline:none;
    background:transparent; color:var(--text-main); font-family:inherit; text-transform:uppercase;
    font-size:calc(var(--crz-cell-size,32px) * .5); font-weight:800; text-align:center;
    caret-color:transparent;
}
.crz-numero {
    position:absolute;
    top:1px;
    left:3px;
    z-index:2;
    font-size:max(8px,calc(var(--crz-cell-size,32px) * .24));
    line-height:1;
    font-weight:800;
    color:var(--text-muted);
    pointer-events:none;
}
.crz-cell.ativa-palavra { background:rgba(37,99,235,.08); border-color:rgba(37,99,235,.3); }
.crz-cell.ativa-celula { box-shadow:0 0 0 2px var(--accent); z-index:4; }
.crz-cell.erro { background:rgba(239,68,68,.11); border-color:rgba(239,68,68,.45); }
.crz-cell.erro input { color:#ef4444; }
.crz-cell.correta { background:rgba(16,185,129,.07); border-color:rgba(16,185,129,.23); }
.crz-legenda { display:flex; flex-wrap:wrap; gap:8px 16px; margin:10px 2px 0; color:var(--text-muted); font-size:10.5px; }
.crz-legenda span { display:inline-flex; align-items:center; gap:5px; }
.crz-legenda i { color:var(--accent); }
.crz-game-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; margin-top:12px; }
.crz-btn-conferir { width:auto; margin:0; padding:8px 13px; font-size:10px; }

.crz-dicas { padding:16px; display:grid; grid-template-columns:1fr; gap:14px; align-content:start; max-height:610px; overflow:auto; }
.crz-dicas-col { min-width:0; }
.crz-dicas-col h3 {
    display:flex; align-items:center; gap:6px; margin:0 0 7px; padding-bottom:6px;
    border-bottom:1px solid var(--border); color:var(--text-main); font-size:12.5px;
}
.crz-dicas-col h3 i { color:var(--accent); font-size:10.5px; }
.crz-dica-item {
    width:100%; display:grid; grid-template-columns:22px minmax(0,1fr); gap:7px; align-items:start;
    padding:7px 5px; border:none; border-radius:8px; background:transparent; color:var(--text-muted);
    text-align:left; cursor:pointer; font-family:inherit; transition:.12s ease;
}
.crz-dica-item:hover { background:var(--bg-subtle); }
.crz-dica-item.ativa { background:rgba(37,99,235,.08); color:var(--text-main); }
.crz-dica-item > span {
    width:22px; height:22px; border-radius:7px; display:grid; place-items:center;
    background:var(--bg-subtle); color:var(--accent); font-size:10px; font-weight:900;
}
.crz-dica-item.ativa > span { background:var(--accent); color:#fff; }
.crz-dica-item p { margin:1px 0 0; font-size:11.5px; line-height:1.5; color:inherit; }
.crz-sem-dicas { color:var(--text-muted); font-size:11px; }

body.tema-escuro .crz-grid-scroll { background:radial-gradient(circle at 15% 15%,rgba(37,99,235,.08),transparent 34%),#08111f; }
body.tema-escuro .crz-cell { background:#111c2f; border-color:#26364f; }
body.tema-escuro .crz-cell.ativa-palavra { background:#142a4a; border-color:#315889; }
body.tema-escuro .crz-cell.correta { background:#0d2a27; border-color:#1a594c; }
body.tema-escuro .crz-cell.erro { background:#321a25; border-color:#753044; }

@media (max-width:1080px) {
    .crz-jogos { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .crz-layout { grid-template-columns:1fr; }
    .crz-tabuleiro-area { border-right:none; border-bottom:1px solid var(--border); }
    .crz-dicas { grid-template-columns:1fr 1fr; max-height:none; }
}
@media (max-width:720px) {
    .conforto-game-switch { grid-template-columns:1fr; }
    .crz-header { flex-direction:column; }
    .crz-header-badge { align-self:flex-start; text-align:left; }
    .crz-toolbar { align-items:stretch; flex-direction:column; }
    .crz-niveis { grid-template-columns:repeat(3,1fr); width:100%; }
    .crz-acoes-topo { justify-content:flex-end; }
    .crz-jogos { grid-template-columns:1fr; }
    .crz-game-head { align-items:flex-start; flex-direction:column; }
    .crz-progresso { width:100%; align-items:flex-start; }
    .crz-grid-scroll { justify-content:flex-start; min-height:350px; }
    .crz-dicas { grid-template-columns:1fr; }
    .crz-game-actions { align-items:stretch; flex-direction:column-reverse; }
    .crz-game-actions button { width:100%; justify-content:center; }
}

/* ===== V12.31 — VTC Cruzadas em etapas + estrelas ===== */
#tela-conforto.crz-jogando .conforto-game-switch,
#tela-conforto.crz-jogando .header-app .btn-voltar-dash { display:none !important; }
#tela-conforto.crz-jogando .header-app { justify-content:space-between; }

.crz-etapa { animation:crzEtapaIn .2s ease; }
@keyframes crzEtapaIn { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:none; } }
.crz-etapa-cabecalho { margin:0 0 16px; }
.crz-etapa-cabecalho h2 { margin:4px 0 5px; color:var(--text-main); font-size:21px; }
.crz-etapa-cabecalho p { margin:0; color:var(--text-muted); font-size:12.5px; line-height:1.55; }
.crz-etapa-passos { color:var(--accent); font-size:10px; font-weight:900; letter-spacing:.11em; }
.crz-etapa-cabecalho-com-acao { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:14px; }
.crz-voltar-etapa { border:1px solid var(--border); background:var(--bg-card); color:var(--text-muted); border-radius:10px; padding:9px 12px; cursor:pointer; font-weight:700; font-size:11.5px; }
.crz-voltar-etapa:hover { color:var(--accent); border-color:rgba(37,99,235,.28); }
.crz-estrelas-nivel { padding:9px 12px; border-radius:10px; background:rgba(245,158,11,.08); border:1px solid rgba(245,158,11,.18); color:#f59e0b; font-weight:900; font-size:12px; }

.crz-nivel-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.crz-nivel-card { position:relative; display:grid; grid-template-columns:46px minmax(0,1fr); grid-template-rows:auto auto; gap:10px 12px; min-height:155px; padding:18px; border:1px solid var(--border); border-radius:16px; background:var(--bg-card); color:var(--text-main); text-align:left; cursor:pointer; font-family:inherit; transition:.18s ease; overflow:hidden; }
.crz-nivel-card:hover { transform:translateY(-2px); border-color:rgba(37,99,235,.3); box-shadow:0 14px 32px rgba(15,23,42,.08); }
.crz-nivel-card-icone { width:46px; height:46px; border-radius:13px; display:grid; place-items:center; font-size:17px; background:rgba(37,99,235,.08); color:var(--accent); }
.crz-nivel-card.medio .crz-nivel-card-icone { background:rgba(245,158,11,.09); color:#f59e0b; }
.crz-nivel-card.dificil .crz-nivel-card-icone { background:rgba(239,68,68,.08); color:#ef4444; }
.crz-nivel-card-corpo { min-width:0; display:flex; flex-direction:column; gap:5px; padding-right:18px; }
.crz-nivel-card-corpo strong { font-size:16px; }
.crz-nivel-card-corpo small { color:var(--text-muted); font-size:11.5px; line-height:1.5; }
.crz-nivel-card-progresso { grid-column:1/-1; display:grid; grid-template-columns:auto auto 1fr; align-items:center; gap:6px; padding-top:10px; border-top:1px solid var(--border); }
.crz-nivel-card-progresso b { color:#f59e0b; font-size:13px; }
.crz-nivel-card-progresso small { color:var(--text-muted); font-size:10.5px; }
.crz-nivel-card-progresso span { justify-self:end; color:#f59e0b; letter-spacing:1px; font-size:10.5px; white-space:nowrap; }
.crz-nivel-card-seta { position:absolute; right:16px; top:20px; color:var(--text-muted); font-size:10px; }

.crz-fases-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px; }
.crz-fase-card { position:relative; min-height:128px; padding:13px; border:1px solid var(--border); border-radius:13px; background:var(--bg-card); color:var(--text-main); text-align:left; cursor:pointer; font-family:inherit; transition:.16s ease; display:flex; flex-direction:column; }
.crz-fase-card:hover { transform:translateY(-2px); border-color:rgba(37,99,235,.3); }
.crz-fase-card.concluida { border-color:rgba(245,158,11,.28); background:linear-gradient(145deg,rgba(245,158,11,.055),var(--bg-card)); }
.crz-fase-num { color:var(--text-muted); font-size:10px; font-weight:900; letter-spacing:.09em; }
.crz-fase-estrela { position:absolute; top:11px; right:11px; color:#cbd5e1; font-size:15px; }
.crz-fase-card.concluida .crz-fase-estrela { color:#f59e0b; filter:drop-shadow(0 2px 5px rgba(245,158,11,.2)); }
.crz-fase-card strong { margin:18px 20px 4px 0; font-size:12px; line-height:1.4; }
.crz-fase-card small { color:var(--text-muted); font-size:10.5px; }
.crz-fase-card.concluida small { color:#d97706; }
.crz-fase-entrar { margin-top:auto; padding-top:12px; color:var(--accent); font-size:10.5px; font-weight:800; display:flex; align-items:center; justify-content:space-between; }

.crz-etapa-jogo { padding-top:2px; }
.crz-game-head-jogando { align-items:center; }
.crz-game-head-direita { display:flex; align-items:center; gap:14px; }
.crz-btn-desistir { border:1px solid rgba(239,68,68,.22); background:rgba(239,68,68,.06); color:#ef4444; border-radius:9px; padding:8px 11px; cursor:pointer; font-size:11px; font-weight:800; font-family:inherit; }
.crz-btn-desistir:hover { background:rgba(239,68,68,.11); }
.crz-palavra-feedback { margin:0 18px 10px; align-items:center; gap:8px; padding:9px 11px; border-radius:9px; font-size:12px; font-weight:700; }
.crz-palavra-feedback.sucesso { background:rgba(16,185,129,.08); border:1px solid rgba(16,185,129,.18); color:#10b981; }
.crz-cell.correta-palavra { border-color:rgba(16,185,129,.38) !important; background:rgba(16,185,129,.09) !important; }
.crz-cell.correta-palavra input { color:#059669; font-weight:900; }
.crz-dica-item { position:relative; padding-right:28px !important; }
.crz-dica-check { display:none; position:absolute; right:9px; top:50%; transform:translateY(-50%); color:#10b981; font-size:9px; }
.crz-dica-item.correta { border-color:rgba(16,185,129,.22); background:rgba(16,185,129,.06); }
.crz-dica-item.correta .crz-dica-check { display:block; }
.crz-dica-item.correta p { color:#059669; }
.crz-fase-concluida { align-items:center; gap:12px; }
.crz-conclusao-estrela { width:44px; height:44px; flex:0 0 44px; border-radius:50%; display:grid; place-items:center; background:rgba(245,158,11,.13); color:#f59e0b; font-size:20px; }
.crz-conclusao-texto { display:flex; flex-direction:column; gap:3px; min-width:0; flex:1; }
.crz-conclusao-btn { margin-left:auto; border:1px solid rgba(16,185,129,.22); background:rgba(16,185,129,.09); color:#059669; border-radius:9px; padding:8px 11px; font-weight:800; font-size:11px; cursor:pointer; }

body.tema-escuro .crz-nivel-card,
body.tema-escuro .crz-fase-card { background:rgba(15,23,42,.72); }
body.tema-escuro .crz-cell.correta-palavra input { color:#6ee7b7; }
body.tema-escuro .crz-dica-item.correta p { color:#6ee7b7; }

@media (max-width:1050px) {
  .crz-fases-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .crz-nivel-cards { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  .crz-etapa-cabecalho-com-acao { grid-template-columns:1fr auto; }
  .crz-etapa-cabecalho-com-acao > div:nth-child(2) { grid-column:1/-1; grid-row:2; }
  .crz-fases-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .crz-game-head-direita { width:100%; justify-content:space-between; }
}


/* ===== V12.32 — legibilidade + Modo Foco da Aba Conforto ===== */
.conforto-header-acoes { margin-left:auto; display:flex; align-items:center; gap:8px; }
.conforto-foco-btn {
    display:inline-flex; align-items:center; gap:8px;
    min-height:36px; padding:7px 9px 7px 11px;
    border:1px solid var(--border); border-radius:10px;
    background:var(--bg-card); color:var(--text-muted);
    font-family:inherit; font-size:11.5px; font-weight:750; cursor:pointer;
    transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease;
}
.conforto-foco-btn:hover { color:var(--accent); border-color:rgba(37,99,235,.28); background:rgba(37,99,235,.055); transform:translateY(-1px); }
.conforto-foco-btn > i { color:var(--accent); }
.conforto-foco-btn kbd {
    display:inline-flex; align-items:center; min-height:20px; padding:2px 6px;
    border:1px solid var(--border); border-bottom-width:2px; border-radius:6px;
    background:var(--bg-subtle); color:var(--text-muted);
    font:700 9.5px/1 inherit; letter-spacing:.02em;
}
body.tema-escuro .conforto-foco-btn { background:rgba(15,23,42,.72); }

/* Textos auxiliares do jogo não devem cair abaixo de ~10.5–11px em desktop. */
.crz-header-badge small,
.crz-nivel-card-progresso small,
.crz-fase-card small,
.crz-fase-entrar,
.crz-progresso > span,
.crz-legenda,
.crz-sem-dicas { font-size:10.5px; }
.crz-dica-item p { font-size:11.5px; line-height:1.5; }
.crz-fase-card strong { font-size:12px; }
.crz-dicas-col h3 { font-size:12.5px; }

@media (max-width:720px) {
    .conforto-foco-btn span { display:none; }
    .conforto-foco-btn kbd { display:none; }
    .conforto-foco-btn { width:36px; padding:0; justify-content:center; }
}


/* ===== V12.33 — checkpoint Premium (brincadeira) ===== */
.crz-btn-salvar {
    border:1px solid rgba(37,99,235,.24); background:rgba(37,99,235,.07); color:var(--accent);
    border-radius:9px; padding:8px 11px; cursor:pointer; font-size:11px; font-weight:800; font-family:inherit;
    display:inline-flex; align-items:center; gap:6px; transition:background .15s ease,transform .15s ease,border-color .15s ease;
}
.crz-btn-salvar:hover { background:rgba(37,99,235,.12); border-color:rgba(37,99,235,.38); transform:translateY(-1px); }
.crz-premium-overlay {
    position:fixed; inset:0; z-index:99999; place-items:center; padding:24px;
    background:rgba(2,6,23,.58); backdrop-filter:blur(5px); opacity:0; transition:opacity .14s ease;
}
.crz-premium-overlay.aberto { opacity:1; }
.crz-premium-modal {
    position:relative; width:min(440px,100%); border-radius:22px; padding:30px;
    background:var(--bg-card); color:var(--text); border:1px solid var(--border);
    box-shadow:0 30px 80px rgba(2,6,23,.28); transform:translateY(8px) scale(.985); transition:transform .16s ease;
}
.crz-premium-overlay.aberto .crz-premium-modal { transform:translateY(0) scale(1); }
.crz-premium-fechar {
    position:absolute; top:14px; right:14px; width:34px; height:34px; border:1px solid var(--border); border-radius:10px;
    background:var(--bg-subtle); color:var(--text-muted); cursor:pointer; display:grid; place-items:center;
}
.crz-premium-conteudo { display:flex; flex-direction:column; align-items:center; text-align:center; }
.crz-premium-icone {
    width:62px; height:62px; border-radius:18px; display:grid; place-items:center; margin-bottom:15px;
    background:linear-gradient(145deg,rgba(245,158,11,.16),rgba(234,179,8,.08)); color:#d97706; font-size:26px;
    border:1px solid rgba(245,158,11,.22);
}
.crz-premium-icone.pegadinha { background:rgba(37,99,235,.08); border-color:rgba(37,99,235,.18); color:var(--accent); }
.crz-premium-badge {
    display:inline-flex; align-items:center; padding:5px 9px; border-radius:999px; margin-bottom:9px;
    background:rgba(245,158,11,.1); color:#b45309; font-size:10px; font-weight:900; letter-spacing:.08em;
}
.crz-premium-badge.pegadinha { background:rgba(37,99,235,.08); color:var(--accent); }
.crz-premium-conteudo h3 { margin:0 0 8px; font-size:21px; line-height:1.2; color:var(--text); }
.crz-premium-conteudo p { margin:0; max-width:360px; color:var(--text-muted); font-size:13px; line-height:1.6; }
.crz-premium-beneficio {
    width:100%; margin:19px 0 15px; padding:13px 14px; border:1px solid var(--border); border-radius:12px;
    background:var(--bg-subtle); display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:9px; text-align:left;
}
.crz-premium-beneficio > i { color:var(--accent); }
.crz-premium-beneficio span { font-size:12px; font-weight:750; color:var(--text); }
.crz-premium-beneficio strong { font-size:9px; letter-spacing:.06em; color:#b45309; background:rgba(245,158,11,.12); border-radius:999px; padding:4px 6px; }
.crz-premium-cta {
    width:100%; min-height:42px; border:0; border-radius:11px; padding:10px 14px; cursor:pointer;
    background:var(--accent); color:#fff; font-family:inherit; font-size:12px; font-weight:850;
    display:flex; align-items:center; justify-content:center; gap:8px; box-shadow:0 8px 24px rgba(37,99,235,.18);
}
.crz-premium-cta.pegadinha { margin-top:20px; }
.crz-premium-conteudo small { margin-top:10px; color:var(--text-muted); font-size:10px; }
body.crz-premium-aberto { overflow:hidden; }
body.tema-escuro .crz-premium-modal { box-shadow:0 30px 90px rgba(0,0,0,.5); }
@media (max-width:720px) {
    .crz-game-head-direita { flex-wrap:wrap; }
    .crz-btn-salvar,.crz-btn-desistir { font-size:10.5px; }
    .crz-premium-modal { padding:26px 20px 22px; }
}


/* ===== VTCDOCS v12.34 — anexos de clientes + preço Premium da zoeira ===== */
.crz-premium-preco {
    display:flex; align-items:baseline; justify-content:center; gap:5px; margin:2px 0 15px; color:var(--text);
}
.crz-premium-preco > span { color:var(--text-muted); font-size:11px; font-weight:700; }
.crz-premium-preco > strong { color:var(--text); font-size:27px; line-height:1; letter-spacing:-.03em; }
.crz-premium-preco > small { margin:0; color:var(--text-muted); font-size:11px; }

/* O botão de anexo fica dentro do cabeçalho da categoria: sempre visível, mesmo com o card recolhido. */
.doc-req-item { align-items:stretch; }
.doc-req-main { width:100%; }
.doc-req-topo-direita { flex-wrap:nowrap; }
.btn-upload-doc-inline {
    display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:30px;
    border-style:solid; border-color:rgba(37,99,235,.24); background:rgba(37,99,235,.075); color:var(--accent);
    font-size:9.5px; padding:6px 9px;
}
.btn-upload-doc-inline:hover { background:rgba(37,99,235,.13); border-color:rgba(37,99,235,.40); }

/* Modal de anexos: conteúdo pode rolar, mas os botões de ação nunca somem. */
.clientes-modal-upload {
    display:flex !important; flex-direction:column; max-height:min(88vh,720px) !important; overflow:hidden !important;
}
#modalUploadDocumentoCliente[style*="display: none"] .clientes-modal-upload { display:flex !important; }
.clientes-upload-body { flex:1; min-height:0; overflow-y:auto; }
#modalUploadDocumentoCliente .modal-header,
#modalUploadDocumentoCliente .modal-footer { flex:0 0 auto; }
#modalUploadDocumentoCliente .modal-footer { background:var(--bg-card); position:relative; z-index:2; }
.clientes-upload-selecao-resumo {
    display:flex; align-items:center; gap:7px; min-height:34px; margin:5px 0 6px; padding:7px 9px;
    border:1px solid var(--border); border-radius:8px; background:var(--bg-card); color:var(--text-muted); font-size:10px; font-weight:700;
}
.clientes-upload-selecao-resumo span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.clientes-upload-selecao-resumo.tem-arquivos { border-color:rgba(16,185,129,.28); background:rgba(16,185,129,.06); color:#059669; }
.clientes-btn-confirmar-upload { min-width:142px; font-weight:800; }
.clientes-btn-confirmar-upload:disabled { opacity:.46; cursor:not-allowed; }
body.tema-escuro #modalUploadDocumentoCliente .modal-footer,
body.tema-escuro .clientes-upload-selecao-resumo { background:#111827; }
body.tema-escuro .clientes-upload-selecao-resumo.tem-arquivos { background:rgba(16,185,129,.08); color:#6ee7b7; }

@media (max-width:760px) {
    .doc-req-topo { flex-direction:column; align-items:stretch; }
    .doc-req-topo-direita { width:100%; justify-content:flex-end; flex-wrap:wrap; }
    .btn-upload-doc-inline { min-width:94px; }
    #modalUploadDocumentoCliente { padding:8px !important; }
    .clientes-modal-upload { width:100% !important; max-height:calc(100vh - 16px) !important; }
}


/* ===== V12.36 — ranking do VTC Cruzadas ===== */
.crz-header-side { display:flex; flex-direction:column; align-items:stretch; gap:7px; flex:0 0 auto; }
.crz-ranking-btn {
    display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:34px; padding:7px 12px;
    border:1px solid rgba(245,158,11,.24); border-radius:10px; background:rgba(245,158,11,.07); color:#d97706;
    font-family:inherit; font-size:11.5px; font-weight:850; cursor:pointer; transition:.15s ease;
}
.crz-ranking-btn:hover { background:rgba(245,158,11,.13); border-color:rgba(245,158,11,.38); transform:translateY(-1px); }
.crz-nivel-pontos { display:inline-flex; align-self:flex-start; margin-top:3px; padding:4px 7px; border-radius:999px; background:rgba(245,158,11,.09); color:#d97706; font-style:normal; font-size:10.5px; font-weight:850; }
.crz-ranking-modal { max-width:520px; }
.crz-ranking-sub { margin:3px 0 0; color:var(--text-muted); font-size:11px; }
.crz-ranking-regra { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; padding:12px 18px 10px; border-bottom:1px solid var(--border); }
.crz-ranking-regra span { display:flex; align-items:center; justify-content:center; gap:5px; min-width:0; padding:8px 7px; border:1px solid var(--border); border-radius:9px; background:var(--bg-subtle); color:var(--text-muted); font-size:10.5px; white-space:nowrap; }
.crz-ranking-regra i { color:var(--accent); }
.crz-ranking-regra span:nth-child(2) i { color:#f59e0b; }
.crz-ranking-regra span:nth-child(3) i { color:#ef4444; }
.crz-ranking-regra strong { color:var(--text-main); }
.crz-rank-row.voce { border:1px solid rgba(37,99,235,.22); background:rgba(37,99,235,.06); }
.crz-rank-row .ctx-rank-nome small { margin-left:5px; padding:2px 5px; border-radius:999px; background:rgba(37,99,235,.10); color:var(--accent); font-size:9px; font-weight:850; }
.crz-rank-row .ctx-rank-pts strong { color:#d97706; font-size:13px; }
body.tema-escuro .crz-ranking-btn { color:#fbbf24; }
body.tema-escuro .crz-nivel-pontos { color:#fbbf24; }
@media (max-width:720px) {
    .crz-header-side { align-items:flex-start; }
    .crz-header-badge { align-self:auto; }
    .crz-ranking-regra { grid-template-columns:1fr; }
}

/* ===== V12.37 — novos níveis + ranking completo ===== */
.crz-rank-row.sem-pontos {
    opacity:.64;
}
.crz-rank-row.sem-pontos .ctx-rank-pts strong {
    color:var(--text-muted);
}
.crz-ranking-modal .ctx-ranking-lista,
#crzRankingLista {
    max-height:min(58vh,520px);
    overflow-y:auto;
}


/* ===== V12.38 — VTC WORLD integrado à Aba Conforto ===== */
.conforto-world-tab { position:relative; padding-right:38px; }
.conforto-world-tab > i {
    color:#8b5cf6;
    background:rgba(139,92,246,.09);
}
.conforto-world-tab:hover {
    background:rgba(139,92,246,.07);
    color:#7c3aed;
    border-color:rgba(139,92,246,.16);
}
body.tema-escuro .conforto-world-tab:hover { color:#c4b5fd; background:rgba(139,92,246,.10); }
.conforto-world-launch {
    position:absolute;
    right:13px;
    top:50%;
    transform:translateY(-50%);
    display:grid !important;
    place-items:center;
    width:23px;
    height:23px;
    border-radius:7px;
    color:rgba(139,92,246,.72);
    background:rgba(139,92,246,.07);
    transition:.16s ease;
}
.conforto-world-launch i { font-size:9px; }
.conforto-world-tab:hover .conforto-world-launch { color:#7c3aed; background:rgba(139,92,246,.13); }
body.tema-escuro .conforto-world-tab:hover .conforto-world-launch { color:#ddd6fe; }
@media (max-width:980px) {
    .conforto-game-switch { grid-template-columns:1fr; }
}


/* ===== V12.39 — Central de atenção filtrável e recolhível ===== */
.clientes-alertas-header { margin-bottom:10px; }
.clientes-alertas-titulo-wrap { display:flex; align-items:center; gap:10px; min-width:0; }
.clientes-alertas-acoes { display:flex; align-items:center; justify-content:flex-end; gap:8px; margin-left:auto; }
.clientes-alertas-filtro {
    min-width:210px; max-width:290px; height:34px; padding:0 30px 0 10px;
    border:1px solid rgba(245,158,11,.23); border-radius:9px;
    background:var(--bg-card); color:var(--text-main); font-size:11px; font-weight:700; outline:none;
}
.clientes-alertas-filtro:focus { border-color:rgba(245,158,11,.58); box-shadow:0 0 0 3px rgba(245,158,11,.09); }
.clientes-alertas-toggle {
    width:34px; height:34px; flex:0 0 34px; display:grid; place-items:center;
    border:1px solid rgba(245,158,11,.24); border-radius:9px;
    background:rgba(245,158,11,.08); color:#b45309; cursor:pointer; transition:.16s ease;
}
.clientes-alertas-toggle:hover { background:rgba(245,158,11,.15); border-color:rgba(245,158,11,.42); }
.clientes-alertas-resumo-recolhido { color:var(--text-muted); font-size:11px; line-height:1.4; padding:2px 2px 0 44px; }
.clientes-alertas-box.recolhida { padding-top:12px; padding-bottom:12px; }
.clientes-alertas-box.recolhida .clientes-alertas-header { margin-bottom:0; }
.clientes-alertas-lista { max-height:360px; overflow:auto; padding-right:3px; }
.clientes-alertas-vazio {
    display:flex; align-items:center; justify-content:center; gap:8px; min-height:70px;
    border:1px dashed var(--border); border-radius:10px; color:var(--text-muted); font-size:11px;
}
.clientes-alertas-vazio i { color:#10b981; }
body.tema-escuro .clientes-alertas-filtro { background:#111827; border-color:rgba(245,158,11,.22); }
body.tema-escuro .clientes-alertas-toggle { color:#f59e0b; background:rgba(245,158,11,.08); }
@media(max-width:900px){
    .clientes-alertas-header{align-items:flex-start!important;flex-direction:column!important}
    .clientes-alertas-acoes{width:100%;margin-left:0;justify-content:flex-start;flex-wrap:wrap}
    .clientes-alertas-filtro{flex:1;min-width:190px;max-width:none}
    .clientes-alertas-resumo-recolhido{padding-left:0}
}


/* ===== V12.40 — VTC WORLD em fase demo ===== */
.conforto-world-demo-badge{
    display:inline-flex;align-items:center;margin-left:6px;padding:2px 5px;border-radius:5px;
    font-style:normal;font-size:8px;line-height:1;font-weight:800;letter-spacing:.05em;
    color:#7c3aed;background:rgba(139,92,246,.10);border:1px solid rgba(139,92,246,.20);vertical-align:1px;
}
body.tema-escuro .conforto-world-demo-badge{color:#ddd6fe;background:rgba(139,92,246,.14);border-color:rgba(167,139,250,.24)}


/* ===== V12.43 — Carteira de clientes mais compacta + Central de atenção corrigida ===== */
/* KPIs superiores: menos altura sem sacrificar leitura */
.clientes-resumo-grid {
    gap:10px;
    margin-bottom:14px;
}
.clientes-kpi-card {
    min-height:58px;
    padding:10px 12px;
    gap:10px;
    border-radius:11px;
    box-shadow:0 1px 6px rgba(15,23,42,.035);
}
.clientes-kpi-card > div { gap:1px; }
.clientes-kpi-card small {
    font-size:9.5px;
    letter-spacing:.035em;
}
.clientes-kpi-card strong {
    font-size:20px;
    line-height:1;
}
.clientes-kpi-icone {
    width:34px;
    height:34px;
    flex:0 0 34px;
    border-radius:9px;
    font-size:14px;
}

/* Central: cabeçalho e controles menores */
.clientes-alertas-box {
    padding:10px 12px;
    margin-bottom:14px;
    border-radius:12px;
}
.clientes-alertas-header {
    gap:9px;
    margin-bottom:8px;
}
.clientes-alertas-titulo-wrap { gap:8px; }
.clientes-alertas-header strong { font-size:13px; line-height:1.15; }
.clientes-alertas-header small { font-size:9.5px; margin-top:2px; }
.clientes-alertas-icone {
    width:30px;
    height:30px;
    flex:0 0 30px;
    border-radius:8px;
    font-size:12px;
}
.clientes-alertas-acoes { gap:7px; }
.clientes-alertas-filtro {
    min-width:200px;
    max-width:255px;
    height:32px;
    padding:0 28px 0 9px;
    border-radius:8px;
    font-size:10px;
}
.clientes-alertas-contador {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:max-content;
    height:32px;
    box-sizing:border-box;
    padding:0 10px;
    border-radius:99px;
    font-size:10px;
    line-height:1;
    white-space:nowrap;
    word-break:normal;
    flex:0 0 auto;
}
.clientes-alertas-toggle {
    width:32px;
    height:32px;
    flex:0 0 32px;
    border-radius:8px;
    font-size:10px;
}
.clientes-alertas-resumo-recolhido {
    padding:1px 2px 0 38px;
    font-size:9.5px;
    line-height:1.3;
}
.clientes-alertas-box.recolhida {
    padding-top:9px;
    padding-bottom:9px;
}
.clientes-alertas-box.recolhida .clientes-alertas-header { margin-bottom:0; }
.clientes-alertas-lista[hidden] { display:none !important; }
.clientes-alertas-lista {
    max-height:300px;
    gap:5px;
    padding-right:2px;
}

/* Linhas da Central: mais densas e com divisões visualmente mais leves */
.cliente-alerta-resumo {
    min-height:39px;
    gap:7px;
    padding:5px 7px 5px 8px;
    border-radius:8px;
    border-color:rgba(148,163,184,.20);
}
body.tema-escuro .cliente-alerta-resumo {
    border-color:rgba(148,163,184,.14);
}
.cliente-alerta-icone {
    width:24px;
    height:24px;
    flex:0 0 24px;
    border-radius:7px;
    font-size:10px;
}
.cliente-alerta-texto strong {
    font-size:11px;
    line-height:1.15;
}
.cliente-alerta-texto small {
    font-size:9px;
    line-height:1.2;
    margin-top:1px;
}
.btn-alerta-documentos {
    min-height:26px;
    padding:4px 8px;
    gap:5px;
    border-radius:7px;
    font-size:9px;
    line-height:1;
}
.btn-alerta-documentos i { font-size:9px; }

@media(max-width:900px){
    .clientes-alertas-contador{height:30px}
    .clientes-alertas-resumo-recolhido{padding-left:0}
}


/* ===== V12.44 — Central de atenção em linha única ===== */
.cliente-alerta-resumo {
    min-height:34px;
    padding:3px 6px 3px 7px;
    gap:7px;
    border-radius:7px;
}
.cliente-alerta-icone {
    width:23px;
    height:23px;
    flex:0 0 23px;
    border-radius:6px;
    font-size:10px;
}
.cliente-alerta-texto {
    display:flex;
    align-items:center;
    gap:5px;
    min-width:0;
    flex:1 1 auto;
    overflow:hidden;
    white-space:nowrap;
    line-height:1;
}
.cliente-alerta-texto strong {
    flex:0 0 auto;
    max-width:46%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:12.5px;
    line-height:1;
    font-weight:800;
    letter-spacing:-.01em;
}
.cliente-alerta-separador {
    flex:0 0 auto;
    color:rgba(148,163,184,.72);
    font-size:12px;
    line-height:1;
    font-weight:600;
}
.cliente-alerta-resumo-texto {
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#64748b;
    font-size:11.5px;
    line-height:1;
    font-weight:600;
}
body.tema-escuro .cliente-alerta-resumo-texto { color:#94a3b8; }
.btn-alerta-documentos {
    min-height:27px;
    padding:4px 9px;
    font-size:9.5px;
    flex:0 0 auto;
}


/* ===== CLIENTES v12.45 — exportação em lote de slides ===== */
.clientes-btn-exportar-slides {
    flex:0 0 auto;
    height:36px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:0 13px;
    border:1px solid rgba(59,130,246,.38);
    border-radius:9px;
    background:rgba(37,99,235,.12);
    color:#60a5fa;
    font-size:10.5px;
    font-weight:800;
    cursor:pointer;
    white-space:nowrap;
    transition:.15s ease;
}
.clientes-btn-exportar-slides:hover { background:rgba(37,99,235,.20); border-color:rgba(96,165,250,.55); transform:translateY(-1px); }
.clientes-exportacao-overlay { z-index:12500 !important; padding:18px; }
.clientes-exportacao-modal {
    width:min(1080px,96vw) !important;
    max-width:1080px !important;
    max-height:92vh !important;
    overflow:hidden;
    display:flex;
    flex-direction:column;
}
.clientes-exportacao-header h3 { margin:0; display:flex; align-items:center; gap:8px; color:var(--primary); font-size:17px; }
.clientes-exportacao-header h3 i { color:var(--accent); }
.clientes-exportacao-header small { display:block; margin-top:3px; color:var(--text-muted); font-size:10px; }
.clientes-exportacao-body { display:grid; grid-template-columns:340px minmax(0,1fr); gap:16px; padding:16px; min-height:0; overflow:hidden; }
.clientes-exportacao-config,.clientes-exportacao-selecao { min-height:0; }
.clientes-exportacao-bloco { border:1px solid var(--border); border-radius:12px; background:var(--bg-subtle); padding:12px; margin-bottom:12px; }
.clientes-exportacao-label { display:block; margin-bottom:8px; color:var(--text-muted); font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.clientes-exportacao-formato {
    display:grid; grid-template-columns:16px 38px 1fr; align-items:center; gap:9px;
    padding:10px; border:1px solid var(--border); border-radius:10px; background:var(--bg-card); cursor:pointer; margin-top:7px; transition:.15s ease;
}
.clientes-exportacao-formato:hover,.clientes-exportacao-formato.ativo { border-color:rgba(59,130,246,.52); background:rgba(37,99,235,.08); }
.clientes-exportacao-formato input { accent-color:#2563eb; }
.clientes-exportacao-formato-icone { width:34px; height:34px; display:grid; place-items:center; border-radius:9px; background:rgba(37,99,235,.12); color:#60a5fa; font-size:14px; }
.clientes-exportacao-formato strong { display:block; color:var(--text-main); font-size:11px; }
.clientes-exportacao-formato small { display:block; margin-top:2px; color:var(--text-muted); font-size:9px; line-height:1.35; }
.clientes-exportacao-switch-row { position:relative; display:flex; align-items:center; justify-content:space-between; gap:12px; cursor:pointer; }
.clientes-exportacao-switch-row > span:first-child { flex:1; }
.clientes-exportacao-switch-row strong { display:block; color:var(--text-main); font-size:11px; }
.clientes-exportacao-switch-row small { display:block; margin-top:2px; color:var(--text-muted); font-size:9px; line-height:1.4; }
.clientes-exportacao-switch-row input { position:absolute; opacity:0; pointer-events:none; }
.clientes-exportacao-switch { width:38px; height:21px; flex:0 0 38px; border-radius:999px; background:#334155; position:relative; transition:.15s ease; }
.clientes-exportacao-switch::after { content:""; position:absolute; width:15px; height:15px; left:3px; top:3px; border-radius:50%; background:#fff; transition:.15s ease; }
.clientes-exportacao-switch-row input:checked + .clientes-exportacao-switch { background:#2563eb; }
.clientes-exportacao-switch-row input:checked + .clientes-exportacao-switch::after { transform:translateX(17px); }
.clientes-exportacao-selecao { border:1px solid var(--border); border-radius:12px; overflow:hidden; background:var(--bg-card); display:flex; flex-direction:column; }
.clientes-exportacao-selecao-topo { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px; border-bottom:1px solid var(--border); }
.clientes-exportacao-selecao-topo .clientes-exportacao-label { margin-bottom:2px; }
.clientes-exportacao-selecao-topo strong { color:var(--text-main); font-size:11px; }
.clientes-exportacao-acoes-selecao { display:flex; gap:6px; }
.clientes-exportacao-acoes-selecao button { display:inline-flex; align-items:center; gap:5px; border:1px solid var(--border); background:var(--bg-subtle); color:var(--text-muted); border-radius:8px; padding:7px 9px; font-size:9.5px; font-weight:800; cursor:pointer; }
.clientes-exportacao-acoes-selecao button:hover { color:var(--accent); border-color:rgba(59,130,246,.4); }
.clientes-exportacao-busca { position:relative; padding:10px 12px; border-bottom:1px solid var(--border); }
.clientes-exportacao-busca i { position:absolute; left:24px; top:50%; transform:translateY(-50%); color:var(--text-muted); font-size:10px; }
.clientes-exportacao-busca input { width:100%; border:1px solid var(--border); border-radius:8px; background:var(--bg-subtle); color:var(--text-main); padding:8px 10px 8px 30px; font-size:10.5px; outline:none; }
.clientes-exportacao-lista { overflow:auto; min-height:260px; max-height:430px; padding:6px; }
.clientes-exportacao-item { display:flex; align-items:center; gap:10px; padding:9px 10px; border-radius:9px; cursor:pointer; border:1px solid transparent; }
.clientes-exportacao-item:hover { background:var(--bg-subtle); border-color:var(--border); }
.clientes-exportacao-item input { accent-color:#2563eb; }
.clientes-exportacao-item-info { min-width:0; flex:1; }
.clientes-exportacao-item-info strong { display:block; color:var(--text-main); font-size:10.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.clientes-exportacao-item-info small { display:block; color:var(--text-muted); font-size:8.8px; margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.clientes-exportacao-status { flex:0 0 auto; font-size:8.5px; font-weight:900; border-radius:999px; padding:4px 7px; }
.clientes-exportacao-status.ok { color:#34d399; background:rgba(16,185,129,.10); }
.clientes-exportacao-status.atencao { color:#fbbf24; background:rgba(245,158,11,.10); }
.clientes-exportacao-status.critico { color:#f87171; background:rgba(239,68,68,.10); }
.clientes-exportacao-progresso { padding:0 16px 12px; }
.clientes-exportacao-progresso-barra { height:6px; background:var(--bg-subtle); border-radius:999px; overflow:hidden; border:1px solid var(--border); }
.clientes-exportacao-progresso-barra span { display:block; width:0%; height:100%; background:#2563eb; transition:width .18s ease; }
.clientes-exportacao-progresso > span { display:block; margin-top:6px; color:var(--text-muted); font-size:9.5px; }
.clientes-exportacao-footer { display:flex; justify-content:flex-end; gap:8px; padding:12px 16px; border-top:1px solid var(--border); }
.clientes-exportacao-baixar { display:inline-flex; align-items:center; gap:7px; border:1px solid #2563eb; background:#2563eb; color:#fff; border-radius:9px; padding:9px 13px; font-size:10.5px; font-weight:800; cursor:pointer; }
.clientes-exportacao-baixar:hover:not(:disabled) { background:#1d4ed8; border-color:#1d4ed8; }
.clientes-exportacao-baixar:disabled { opacity:.5; cursor:not-allowed; }
@media (max-width:850px){
    .clientes-exportacao-body { grid-template-columns:1fr; overflow:auto; }
    .clientes-exportacao-lista { max-height:300px; }
    .clientes-btn-exportar-slides { width:36px; padding:0; }
    .clientes-btn-exportar-slides span { display:none; }
}
@media (max-width:760px){
    .clientes-exportacao-overlay { padding:0; }
    .clientes-exportacao-modal { width:100% !important; max-width:none !important; height:100vh; max-height:none !important; border-radius:0 !important; }
    .clientes-toolbar .clientes-btn-exportar-slides { width:100%; }
    .clientes-toolbar .clientes-btn-exportar-slides span { display:inline; }
}
\n\n/* ===== V12.49 — Performance / fluidez visual ===== */
:root {
    --motion-fast: 140ms;
    --motion-normal: 180ms;
    --motion-ease: cubic-bezier(.2,.7,.2,1);
}

/* Transições curtas e focadas: evita animar propriedades de layout sem necessidade. */
button, .btn-icon, .btn-tool, .btn-aba, .trilha-item, .menu-card,
.clientes-btn-exportar-slides, .clientes-exportacao-formato,
.clientes-exportacao-item, .clientes-exportacao-switch,
.clientes-exportacao-switch::after {
    transition-duration: var(--motion-fast) !important;
    transition-timing-function: var(--motion-ease) !important;
}

/* Entradas rápidas: sensação de resposta imediata, sem “arrastar” a interface. */
.aba-conteudo.ativa { animation: vtcFastFade var(--motion-normal) var(--motion-ease) both !important; }
.dashboard-container { animation: vtcFastFade var(--motion-normal) var(--motion-ease) both !important; }
@keyframes vtcFastFade { from { opacity:.72; } to { opacity:1; } }

/* Blur em dezenas de cards custa muito em telas grandes. Mantemos profundidade via cor/borda. */
.card,
.menu-card,
.painel-estatisticas,
.estatistica-card {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}
.card { background: rgba(255,255,255,.94); }
.menu-card, .painel-estatisticas { background: rgba(255,255,255,.96); }
body.tema-escuro .card {
    background: #111a2a !important;
    box-shadow: 0 8px 22px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.035) !important;
}
body.tema-escuro .menu-card,
body.tema-escuro .painel-estatisticas,
body.tema-escuro .estatistica-card { background:#111827 !important; }

/* Cabeçalhos podem manter vidro, mas com blur bem mais leve. */
body.tema-escuro .header-app,
body.tema-escuro .barra-topo-fixa,
body.tema-escuro .wizard-nav-fixa,
body.tema-escuro .trilha-passos {
    -webkit-backdrop-filter: blur(9px) saturate(115%) !important;
    backdrop-filter: blur(9px) saturate(115%) !important;
}

/* Hover discreto: melhora feedback sem cansar a vista. */
.card:hover { transform:none !important; box-shadow:0 7px 20px rgba(15,23,42,.08) !important; }
body.tema-escuro .card:hover { box-shadow:0 9px 24px rgba(0,0,0,.28) !important; }
.menu-card:hover, .btn-icon:hover:not(:disabled) { transform:translateY(-1px) !important; }
button:not(:disabled):active, .menu-card:active, .btn-icon:active { transform:scale(.985) !important; }

/* Animações decorativas contínuas que repintavam a tela inteira. */
.banner-festa { animation:none !important; background-position:50% 50% !important; }
.banner-festa-confete { animation:none !important; }

/* Scroll responsivo e estável. */
html { scroll-behavior:auto; }
body { text-rendering:optimizeLegibility; }

/* Evita repintura fora do componente em áreas grandes. */
.card, .menu-card, .clientes-exportacao-modal, .modal-content { contain:paint; }

/* Respeita usuários/sistemas que pedem menos movimento. */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
        transition-duration:.01ms !important;
        scroll-behavior:auto !important;
    }
}

/* ===== V12.50 — Exportador de carteira personalizável ===== */
.clientes-exportacao-modal {
    width:min(1380px,97vw) !important;
    max-width:1380px !important;
}
.clientes-exportacao-body-v2 {
    grid-template-columns:340px minmax(420px,1fr) minmax(360px,.92fr);
    align-items:stretch;
}
.clientes-exportacao-personalizacao { margin-bottom:0; }
.clientes-exportacao-titulo-linha { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; }
.clientes-exportacao-titulo-linha .clientes-exportacao-label { margin:0; }
.clientes-exportacao-switch-compacto { flex:0 0 auto; gap:7px; }
.clientes-exportacao-switch-compacto > span:first-child { flex:0 0 auto; }
.clientes-exportacao-switch-compacto .clientes-exportacao-switch { width:34px; height:19px; flex-basis:34px; }
.clientes-exportacao-switch-compacto .clientes-exportacao-switch::after { width:13px; height:13px; }
.clientes-exportacao-switch-compacto input:checked + .clientes-exportacao-switch::after { transform:translateX(15px); }
.clientes-exportacao-campo { display:block; margin-top:9px; }
.clientes-exportacao-campo > span { display:block; margin-bottom:5px; color:var(--text-muted); font-size:9px; font-weight:800; }
.clientes-exportacao-campo input,
.clientes-exportacao-campo textarea {
    width:100%; border:1px solid var(--border); border-radius:8px; background:var(--bg-card); color:var(--text-main);
    padding:8px 9px; font:inherit; font-size:10.5px; outline:none; resize:vertical; transition:border-color var(--motion-fast) var(--motion-ease), background var(--motion-fast) var(--motion-ease);
}
.clientes-exportacao-campo textarea { min-height:64px; max-height:110px; line-height:1.4; }
.clientes-exportacao-campo input:focus,
.clientes-exportacao-campo textarea:focus { border-color:rgba(96,165,250,.65); background:rgba(37,99,235,.04); }
.clientes-exportacao-arquivo-preview { display:flex; align-items:center; gap:6px; margin-top:10px; color:#64748b; font-size:8.8px; line-height:1.3; word-break:break-word; }
.clientes-exportacao-arquivo-preview i { color:#60a5fa; }
.clientes-exportacao-preview-col { min-width:0; border:1px solid var(--border); border-radius:12px; background:var(--bg-card); padding:12px; display:flex; flex-direction:column; }
.clientes-exportacao-preview-topo { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:10px; }
.clientes-exportacao-preview-topo .clientes-exportacao-label { margin:0 0 2px; }
.clientes-exportacao-preview-topo small { color:var(--text-muted); font-size:8.8px; }
.clientes-exportacao-live { display:inline-flex; align-items:center; gap:5px; color:#86efac; font-size:8px; font-weight:900; letter-spacing:.05em; }
.clientes-exportacao-live i { width:6px; height:6px; border-radius:50%; background:#22c55e; box-shadow:0 0 0 3px rgba(34,197,94,.10); }
.clientes-exportacao-preview-frame { position:relative; aspect-ratio:16/9; border:1px solid rgba(96,165,250,.22); border-radius:10px; overflow:hidden; background:#06111f; box-shadow:0 8px 22px rgba(0,0,0,.16); }
#previewCapaExportacaoClientes { display:block; width:100%; height:100%; transition:opacity var(--motion-fast) var(--motion-ease); }
.clientes-exportacao-preview-off { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:5px; color:var(--text-muted); background:rgba(5,13,24,.72); }
.clientes-exportacao-preview-off i { font-size:19px; color:#64748b; }
.clientes-exportacao-preview-off strong { color:var(--text-main); font-size:11px; }
.clientes-exportacao-preview-off small { font-size:8.8px; }
.clientes-exportacao-filtros-rapidos { display:flex; flex-wrap:wrap; gap:6px; padding:9px 12px; border-bottom:1px solid var(--border); background:rgba(15,23,42,.22); }
.clientes-exportacao-filtros-rapidos button,
.clientes-exportacao-limpar {
    border:1px solid var(--border); background:var(--bg-subtle); color:var(--text-muted); border-radius:999px; padding:6px 9px; font-size:8.8px; font-weight:850; cursor:pointer;
    transition:border-color var(--motion-fast) var(--motion-ease), background var(--motion-fast) var(--motion-ease), color var(--motion-fast) var(--motion-ease);
}
.clientes-exportacao-filtros-rapidos button:hover,
.clientes-exportacao-filtros-rapidos button.ativo { color:#bfdbfe; border-color:rgba(59,130,246,.5); background:rgba(37,99,235,.13); }
.clientes-exportacao-limpar { display:inline-flex; align-items:center; gap:5px; border-radius:8px; }
.clientes-exportacao-limpar:hover { color:#fca5a5; border-color:rgba(239,68,68,.35); background:rgba(239,68,68,.06); }
.clientes-exportacao-lista { min-height:220px; max-height:380px; }
@media (max-width:1180px){
    .clientes-exportacao-body-v2 { grid-template-columns:330px minmax(0,1fr); overflow:auto; }
    .clientes-exportacao-selecao { grid-column:1/-1; min-height:320px; }
    .clientes-exportacao-lista { max-height:300px; }
}
@media (max-width:850px){
    .clientes-exportacao-body-v2 { grid-template-columns:1fr; }
    .clientes-exportacao-selecao { grid-column:auto; }
    .clientes-exportacao-preview-col { min-height:auto; }
}

/* ===== V12.51 — Capa condicional no exportador ===== */
.clientes-exportacao-body-v2.sem-capa {
    grid-template-columns:340px minmax(0,1fr);
}
.clientes-exportacao-body-v2.sem-capa .clientes-exportacao-selecao {
    min-width:0;
}
.clientes-exportacao-capa-conteudo[hidden],
.clientes-exportacao-preview-col[hidden] { display:none !important; }
.clientes-exportacao-personalizacao:has(.clientes-exportacao-capa-conteudo[hidden]) {
    padding-bottom:10px;
}
@media (max-width:1180px){
    .clientes-exportacao-body-v2.sem-capa { grid-template-columns:330px minmax(0,1fr); }
    .clientes-exportacao-body-v2.sem-capa .clientes-exportacao-selecao { grid-column:auto; }
}
@media (max-width:850px){
    .clientes-exportacao-body-v2.sem-capa { grid-template-columns:1fr; }
}

/* ===== V12.52 — Exportador 2.0 / estrutura da apresentação ===== */
.clientes-exportacao-modal {
    width:min(1450px,97vw) !important;
    max-width:1450px !important;
    max-height:94vh !important;
}
.clientes-exportacao-body-v3 {
    flex:1;
    min-height:0;
    display:grid;
    grid-template-columns:360px minmax(430px,1fr) 390px;
    gap:14px;
    padding:14px;
    overflow:hidden;
    align-items:stretch;
}
.clientes-exportacao-body-v3 .clientes-exportacao-config {
    min-height:0;
    overflow:auto;
    padding-right:3px;
}
.clientes-exportacao-body-v3 .clientes-exportacao-preview-col,
.clientes-exportacao-body-v3 .clientes-exportacao-selecao {
    min-height:0;
    height:100%;
}
.clientes-exportacao-body-v3 .clientes-exportacao-lista {
    flex:1;
    min-height:150px;
    max-height:none;
}
.clientes-exportacao-body-v3 .clientes-exportacao-bloco:last-child { margin-bottom:0; }

.clientes-exportacao-bloco-cabecalho {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
    margin-bottom:9px;
}
.clientes-exportacao-bloco-cabecalho .clientes-exportacao-label { margin-bottom:3px; }
.clientes-exportacao-bloco-cabecalho small,
.clientes-exportacao-titulo-linha small {
    display:block;
    color:var(--text-muted);
    font-size:8.6px;
    line-height:1.35;
}
.clientes-exportacao-qtd-slides {
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    min-height:23px;
    padding:4px 8px;
    border-radius:999px;
    background:rgba(37,99,235,.11);
    border:1px solid rgba(96,165,250,.2);
    color:#93c5fd;
    font-size:8.5px;
    font-weight:900;
    white-space:nowrap;
}

.clientes-exportacao-secao-card {
    position:relative;
    display:grid;
    grid-template-columns:34px minmax(0,1fr) 36px;
    align-items:center;
    gap:9px;
    padding:9px 10px;
    margin-top:7px;
    border:1px solid var(--border);
    border-radius:10px;
    background:var(--bg-card);
    cursor:pointer;
    transition:border-color var(--motion-fast) var(--motion-ease), background var(--motion-fast) var(--motion-ease);
}
.clientes-exportacao-secao-card:hover,
.clientes-exportacao-secao-card:has(input:checked) {
    border-color:rgba(59,130,246,.45);
    background:rgba(37,99,235,.065);
}
.clientes-exportacao-secao-card > input {
    position:absolute;
    opacity:0;
    pointer-events:none;
}
.clientes-exportacao-secao-card > input:checked + .clientes-exportacao-switch { background:#2563eb; }
.clientes-exportacao-secao-card > input:checked + .clientes-exportacao-switch::after { transform:translateX(15px); }
.clientes-exportacao-secao-card .clientes-exportacao-switch {
    width:34px;
    height:19px;
    flex-basis:34px;
    justify-self:end;
}
.clientes-exportacao-secao-card .clientes-exportacao-switch::after { width:13px; height:13px; }
.clientes-exportacao-secao-icone {
    width:32px;
    height:32px;
    display:grid;
    place-items:center;
    border-radius:9px;
    background:rgba(37,99,235,.11);
    color:#60a5fa;
    font-size:12px;
}
.clientes-exportacao-secao-texto { min-width:0; }
.clientes-exportacao-secao-texto strong {
    display:block;
    color:var(--text-main);
    font-size:10.3px;
    line-height:1.25;
}
.clientes-exportacao-secao-texto small {
    display:block;
    margin-top:2px;
    color:var(--text-muted);
    font-size:8.5px;
    line-height:1.3;
}

#blocoPersonalizacaoCapaClientes[hidden],
#conteudoPersonalizacaoCapaClientes[hidden] { display:none !important; }
.clientes-exportacao-personalizacao .clientes-exportacao-titulo-linha { margin-bottom:2px; }
.clientes-exportacao-arquivo-box {
    border:1px solid var(--border);
    border-radius:10px;
    background:rgba(15,23,42,.18);
    padding:10px 11px;
}
.clientes-exportacao-arquivo-box .clientes-exportacao-label { margin-bottom:5px; }
.clientes-exportacao-arquivo-box .clientes-exportacao-arquivo-preview { margin-top:0; }

.clientes-exportacao-preview-apresentacao {
    overflow:hidden;
}
.clientes-exportacao-preview-apresentacao .clientes-exportacao-preview-frame {
    flex:0 0 auto;
}
.clientes-exportacao-preview-sequencia-topo {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin:12px 1px 7px;
    color:var(--text-muted);
    font-size:8.8px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.07em;
}
.clientes-exportacao-preview-sequencia-topo small {
    color:#64748b;
    font-size:8.2px;
    font-weight:700;
    text-transform:none;
    letter-spacing:0;
}
.clientes-exportacao-preview-navegacao {
    flex:1;
    min-height:0;
    overflow:auto;
    display:flex;
    flex-direction:column;
    gap:6px;
    padding-right:2px;
}
.clientes-exportacao-preview-item {
    width:100%;
    display:grid;
    grid-template-columns:25px 30px minmax(0,1fr);
    align-items:center;
    gap:8px;
    padding:7px 8px;
    border:1px solid var(--border);
    border-radius:9px;
    background:var(--bg-subtle);
    color:var(--text-muted);
    text-align:left;
    cursor:pointer;
}
.clientes-exportacao-preview-item:hover,
.clientes-exportacao-preview-item.ativo {
    border-color:rgba(59,130,246,.45);
    background:rgba(37,99,235,.09);
}
.clientes-exportacao-preview-item-num {
    display:grid;
    place-items:center;
    width:23px;
    height:23px;
    border-radius:7px;
    background:#0f1b2d;
    color:#64748b;
    font-size:8.5px;
    font-weight:900;
}
.clientes-exportacao-preview-item.ativo .clientes-exportacao-preview-item-num {
    background:#2563eb;
    color:#fff;
}
.clientes-exportacao-preview-item-icone {
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    border-radius:8px;
    background:rgba(37,99,235,.10);
    color:#60a5fa;
    font-size:10.5px;
}
.clientes-exportacao-preview-item-texto { min-width:0; }
.clientes-exportacao-preview-item-texto strong {
    display:block;
    color:var(--text-main);
    font-size:9.7px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.clientes-exportacao-preview-item-texto small {
    display:block;
    margin-top:1px;
    color:var(--text-muted);
    font-size:8.2px;
}
.clientes-exportacao-preview-vazio-mini {
    padding:14px 10px;
    border:1px dashed var(--border);
    border-radius:9px;
    color:var(--text-muted);
    text-align:center;
    font-size:8.8px;
}

.clientes-exportacao-footer {
    justify-content:space-between;
    align-items:center;
}
.clientes-exportacao-footer-resumo {
    min-width:0;
    color:var(--text-muted);
    font-size:9px;
    font-weight:700;
}
.clientes-exportacao-footer-acoes {
    display:flex;
    align-items:center;
    gap:8px;
    flex:0 0 auto;
}

@media (max-width:1220px) {
    .clientes-exportacao-body-v3 {
        grid-template-columns:350px minmax(0,1fr);
        overflow:auto;
    }
    .clientes-exportacao-body-v3 .clientes-exportacao-selecao {
        grid-column:1/-1;
        min-height:330px;
    }
    .clientes-exportacao-body-v3 .clientes-exportacao-lista { max-height:290px; }
}
@media (max-width:850px) {
    .clientes-exportacao-body-v3 { grid-template-columns:1fr; overflow:auto; }
    .clientes-exportacao-body-v3 .clientes-exportacao-selecao { grid-column:auto; min-height:360px; }
    .clientes-exportacao-body-v3 .clientes-exportacao-config { overflow:visible; }
    .clientes-exportacao-footer { align-items:flex-end; }
    .clientes-exportacao-footer-resumo { max-width:45%; }
}

/* ===== V12.54 — ações rápidas de documentos + exportador retrátil ===== */

/* Carteira: menu de ações do botão Documentos */
.btn-cliente-documentos .clientes-docs-chevron {
    margin-left:2px;
    font-size:8px;
    opacity:.65;
    transition:transform var(--motion-fast) var(--motion-ease), opacity var(--motion-fast) var(--motion-ease);
}
.btn-cliente-documentos.menu-aberto {
    background:rgba(37,99,235,.15);
    border-color:rgba(59,130,246,.48);
}
.btn-cliente-documentos.menu-aberto .clientes-docs-chevron { transform:rotate(180deg); opacity:1; }
.clientes-docs-popover {
    position:fixed;
    z-index:15050;
    width:248px;
    display:none;
    padding:6px;
    border:1px solid rgba(148,163,184,.22);
    border-radius:12px;
    background:rgba(10,19,33,.985);
    box-shadow:0 18px 46px rgba(0,0,0,.34), 0 3px 10px rgba(0,0,0,.18);
}
.clientes-docs-popover.aberto { display:block; }
.clientes-docs-popover > button {
    width:100%;
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    align-items:center;
    gap:9px;
    padding:9px;
    border:0;
    border-radius:9px;
    background:transparent;
    color:var(--text-main);
    text-align:left;
    cursor:pointer;
}
.clientes-docs-popover > button:hover { background:rgba(37,99,235,.11); }
.clientes-docs-popover > button > span {
    width:32px;
    height:32px;
    display:grid;
    place-items:center;
    border-radius:8px;
    background:rgba(37,99,235,.12);
    color:#60a5fa;
    font-size:11px;
}
.clientes-docs-popover strong { display:block; font-size:10px; color:#f8fafc; }
.clientes-docs-popover small { display:block; margin-top:2px; color:#94a3b8; font-size:8px; line-height:1.25; }

/* Modal de seleção / download de documentos */
.docs-download-overlay { z-index:14600 !important; padding:18px; }
.docs-download-modal {
    width:min(820px,95vw) !important;
    max-width:820px !important;
    max-height:90vh !important;
    display:flex;
    flex-direction:column;
    overflow:hidden;
}
.docs-download-header h3 {
    margin:0;
    display:flex;
    align-items:center;
    gap:8px;
    color:var(--primary);
    font-size:16px;
}
.docs-download-header h3 i { color:var(--accent); }
.docs-download-header small { display:block; margin-top:3px; color:var(--text-muted); font-size:9px; line-height:1.35; }
.docs-download-toolbar {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:12px 14px;
    border-bottom:1px solid var(--border);
    background:var(--bg-subtle);
}
.docs-download-eyebrow {
    display:block;
    margin-bottom:2px;
    color:var(--text-muted);
    font-size:8px;
    font-weight:900;
    letter-spacing:.08em;
}
.docs-download-toolbar strong { color:var(--text-main); font-size:10.5px; }
.docs-download-toolbar-acoes { display:flex; align-items:center; gap:7px; }
.docs-download-lista {
    min-height:180px;
    overflow:auto;
    padding:12px 14px 14px;
    background:var(--bg-card);
}
.docs-download-grupo {
    border:1px solid var(--border);
    border-radius:11px;
    background:var(--bg-subtle);
    overflow:hidden;
    margin-bottom:10px;
}
.docs-download-grupo:last-child { margin-bottom:0; }
.docs-download-grupo-topo {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:9px 10px;
    border-bottom:1px solid var(--border);
    background:rgba(15,23,42,.22);
}
.docs-download-grupo-topo > div { min-width:0; display:flex; align-items:center; gap:7px; }
.docs-download-grupo-topo i { color:#60a5fa; font-size:10px; }
.docs-download-grupo-topo strong { color:var(--text-main); font-size:9.7px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.docs-download-grupo-topo small { color:var(--text-muted); font-size:8px; white-space:nowrap; }
.docs-download-arquivos { padding:5px; }
.docs-download-item {
    position:relative;
    display:grid;
    grid-template-columns:20px 32px minmax(0,1fr) auto;
    align-items:center;
    gap:8px;
    min-height:48px;
    padding:6px 8px;
    border-radius:8px;
    cursor:pointer;
    transition:background var(--motion-fast) var(--motion-ease);
}
.docs-download-item:hover { background:rgba(37,99,235,.07); }
.docs-download-item input { position:absolute; opacity:0; pointer-events:none; }
.docs-download-check {
    width:17px;
    height:17px;
    display:grid;
    place-items:center;
    border:1px solid rgba(148,163,184,.36);
    border-radius:5px;
    color:transparent;
    font-size:8px;
    background:var(--bg-card);
}
.docs-download-item input:checked + .docs-download-check {
    border-color:#2563eb;
    background:#2563eb;
    color:#fff;
}
.docs-download-arquivo-icone {
    width:30px;
    height:30px;
    display:grid;
    place-items:center;
    border-radius:8px;
    background:rgba(37,99,235,.09);
    color:#60a5fa;
    font-size:10px;
}
.docs-download-item-texto { min-width:0; }
.docs-download-item-texto strong { display:block; color:var(--text-main); font-size:9.4px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.docs-download-item-texto small { display:block; margin-top:2px; color:var(--text-muted); font-size:7.8px; }
.docs-download-item .doc-badge { font-size:7.5px; padding:4px 6px; }
.docs-download-vazio {
    min-height:230px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    color:var(--text-muted);
    text-align:center;
}
.docs-download-vazio i { font-size:23px; color:#64748b; }
.docs-download-vazio strong { color:var(--text-main); font-size:11px; }
.docs-download-vazio span { max-width:360px; font-size:8.8px; line-height:1.4; }
.docs-download-progresso { padding:9px 14px; border-top:1px solid var(--border); background:var(--bg-subtle); }
.docs-download-progresso > div { height:5px; overflow:hidden; border-radius:999px; background:rgba(148,163,184,.16); }
.docs-download-progresso > div > span { display:block; width:0; height:100%; border-radius:inherit; background:#2563eb; transition:width .16s ease; }
.docs-download-progresso small { display:block; margin-top:5px; color:var(--text-muted); font-size:8px; }
.docs-download-footer { justify-content:space-between; gap:12px; align-items:center; }
.docs-download-footer > span { color:var(--text-muted); font-size:8.5px; }
.docs-download-footer > span i { color:#60a5fa; margin-right:4px; }
.docs-download-footer > div { display:flex; align-items:center; gap:7px; }

/* Exportador: blocos retráteis com prioridade visual para o preview */
.clientes-exportacao-body-v3 {
    --config-col:360px;
    --clientes-col:390px;
    grid-template-columns:var(--config-col) minmax(430px,1fr) var(--clientes-col);
    transition:grid-template-columns .18s ease;
}
.clientes-exportacao-body-v3.config-reduzida-1 { --config-col:330px; }
.clientes-exportacao-body-v3.config-reduzida-2 { --config-col:285px; }
.clientes-exportacao-body-v3.config-reduzida-3 { --config-col:225px; }
.clientes-exportacao-body-v3.clientes-recolhidos { --clientes-col:176px; }

.clientes-exportacao-retratil-cabecalho {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:9px;
}
.clientes-exportacao-retratil-cabecalho .clientes-exportacao-label { margin-bottom:2px; }
.clientes-exportacao-retratil-cabecalho small {
    display:block;
    color:var(--text-muted);
    font-size:8.3px;
    line-height:1.3;
}
.clientes-exportacao-retratil-acoes { display:flex; align-items:center; gap:6px; flex:0 0 auto; }
.clientes-exportacao-retratil-toggle {
    flex:0 0 auto;
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    padding:0;
    border:1px solid var(--border);
    border-radius:8px;
    background:var(--bg-card);
    color:var(--text-muted);
    cursor:pointer;
    transition:border-color var(--motion-fast) var(--motion-ease), background var(--motion-fast) var(--motion-ease), color var(--motion-fast) var(--motion-ease);
}
.clientes-exportacao-retratil-toggle:hover,
.clientes-exportacao-retratil.recolhida .clientes-exportacao-retratil-toggle {
    border-color:rgba(59,130,246,.4);
    background:rgba(37,99,235,.09);
    color:#93c5fd;
}
.clientes-exportacao-retratil-toggle i { font-size:10px; }
.clientes-exportacao-retratil-conteudo { display:block; }
.clientes-exportacao-retratil.recolhida > .clientes-exportacao-retratil-conteudo { display:none !important; }
.clientes-exportacao-bloco.clientes-exportacao-retratil.recolhida {
    padding:9px 10px;
    margin-bottom:8px;
    background:rgba(15,23,42,.16);
}
.clientes-exportacao-bloco.clientes-exportacao-retratil.recolhida .clientes-exportacao-retratil-cabecalho { align-items:center; }
.clientes-exportacao-bloco.clientes-exportacao-retratil.recolhida .clientes-exportacao-retratil-cabecalho small { display:none; }
.clientes-exportacao-bloco-cabecalho.clientes-exportacao-retratil-cabecalho { margin-bottom:9px; }
.clientes-exportacao-retratil.recolhida .clientes-exportacao-bloco-cabecalho { margin-bottom:0; }

.clientes-exportacao-selecao-conteudo {
    flex:1;
    min-height:0;
    display:flex;
    flex-direction:column;
}
.clientes-exportacao-clientes-retratil.recolhida {
    height:auto !important;
    min-height:0 !important;
    align-self:start;
    overflow:visible;
}
.clientes-exportacao-clientes-retratil.recolhida .clientes-exportacao-selecao-topo {
    min-height:62px;
    padding:10px;
    border-bottom:0;
}
.clientes-exportacao-clientes-retratil.recolhida .clientes-exportacao-limpar { display:none; }
.clientes-exportacao-clientes-retratil.recolhida .clientes-exportacao-selecao-topo > div:first-child {
    min-width:0;
}
.clientes-exportacao-clientes-retratil.recolhida .clientes-exportacao-selecao-topo .clientes-exportacao-label {
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.clientes-exportacao-clientes-retratil.recolhida #exportarClientesContadorSelecionados {
    display:block;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

/* O preview recebe mais área útil conforme painéis laterais são recolhidos. */
.clientes-exportacao-body-v3.config-reduzida-2 .clientes-exportacao-preview-frame,
.clientes-exportacao-body-v3.config-reduzida-3 .clientes-exportacao-preview-frame,
.clientes-exportacao-body-v3.clientes-recolhidos .clientes-exportacao-preview-frame {
    box-shadow:0 10px 28px rgba(0,0,0,.2);
}

@media (max-width:1220px) {
    .clientes-exportacao-body-v3,
    .clientes-exportacao-body-v3.config-reduzida-1,
    .clientes-exportacao-body-v3.config-reduzida-2,
    .clientes-exportacao-body-v3.config-reduzida-3,
    .clientes-exportacao-body-v3.clientes-recolhidos {
        grid-template-columns:350px minmax(0,1fr);
    }
    .clientes-exportacao-clientes-retratil.recolhida { grid-column:1/-1; }
}
@media (max-width:850px) {
    .clientes-exportacao-body-v3,
    .clientes-exportacao-body-v3.config-reduzida-1,
    .clientes-exportacao-body-v3.config-reduzida-2,
    .clientes-exportacao-body-v3.config-reduzida-3,
    .clientes-exportacao-body-v3.clientes-recolhidos { grid-template-columns:1fr; }
    .docs-download-toolbar,
    .docs-download-footer { align-items:stretch; flex-direction:column; }
    .docs-download-toolbar-acoes,
    .docs-download-footer > div { justify-content:flex-end; }
    .docs-download-item { grid-template-columns:20px 30px minmax(0,1fr); }
    .docs-download-item .doc-badge { grid-column:3; justify-self:start; }
}

/* ===== V12.55 — Mais espaço útil para a sequência do preview ===== */
/* Mantém o slide grande, mas reserva uma faixa de navegação confortável
   mesmo em notebooks com pouca altura vertical. */
.clientes-exportacao-preview-apresentacao .clientes-exportacao-preview-frame {
    width:100%;
    max-width:min(100%, calc((100vh - 350px) * 16 / 9));
    align-self:center;
}
.clientes-exportacao-preview-sequencia-topo {
    flex:0 0 auto;
    margin-top:10px;
    margin-bottom:7px;
}
.clientes-exportacao-preview-navegacao {
    flex:0 0 clamp(112px, 15vh, 152px);
    min-height:112px;
    max-height:152px;
    overflow-y:auto;
    overflow-x:hidden;
    padding:1px 5px 7px 1px;
    scroll-behavior:smooth;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
}
.clientes-exportacao-preview-navegacao::-webkit-scrollbar { width:6px; }
.clientes-exportacao-preview-navegacao::-webkit-scrollbar-track { background:transparent; }
.clientes-exportacao-preview-navegacao::-webkit-scrollbar-thumb {
    background:rgba(100,116,139,.34);
    border-radius:999px;
}
.clientes-exportacao-preview-navegacao::-webkit-scrollbar-thumb:hover {
    background:rgba(96,165,250,.42);
}
@media (min-height:900px) {
    .clientes-exportacao-preview-apresentacao .clientes-exportacao-preview-frame {
        max-width:100%;
    }
    .clientes-exportacao-preview-navegacao {
        flex-basis:150px;
        min-height:130px;
    }
}
@media (max-height:720px) and (min-width:851px) {
    .clientes-exportacao-preview-apresentacao .clientes-exportacao-preview-frame {
        max-width:min(100%, calc((100vh - 315px) * 16 / 9));
    }
    .clientes-exportacao-preview-navegacao {
        flex-basis:104px;
        min-height:96px;
        max-height:118px;
    }
}

/* ===== V12.56 — Preview dividido de verdade entre slide e sequência ===== */
/* A versão anterior aumentava a lista, mas o canvas ainda consumia a altura disponível.
   Agora o preview usa grid: cabeçalho + slide flexível + título + sequência reservada. */
.clientes-exportacao-modal {
    height:min(94vh, 920px) !important;
}

.clientes-exportacao-preview-apresentacao {
    display:grid !important;
    grid-template-rows:auto minmax(0, 1fr) auto clamp(150px, 20vh, 205px);
    min-height:0;
    overflow:hidden;
}

.clientes-exportacao-preview-apresentacao .clientes-exportacao-preview-topo {
    grid-row:1;
    margin-bottom:10px;
}

.clientes-exportacao-preview-apresentacao .clientes-exportacao-preview-frame {
    grid-row:2;
    align-self:center;
    justify-self:center;
    width:auto !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    aspect-ratio:16/9;
    min-height:0;
}

.clientes-exportacao-preview-apresentacao #previewCapaExportacaoClientes {
    width:100%;
    height:100%;
    object-fit:contain;
}

.clientes-exportacao-preview-sequencia-topo {
    grid-row:3;
    margin:10px 1px 7px !important;
}

.clientes-exportacao-preview-navegacao {
    grid-row:4;
    min-height:0 !important;
    height:100% !important;
    max-height:none !important;
    flex:none !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    padding:1px 5px 7px 1px;
}

/* Em telas mais baixas ainda preserva pelo menos ~3 itens visíveis. */
@media (max-height:760px) and (min-width:851px) {
    .clientes-exportacao-modal {
        height:96vh !important;
        max-height:96vh !important;
    }
    .clientes-exportacao-preview-apresentacao {
        grid-template-rows:auto minmax(0, 1fr) auto 138px;
    }
}

/* Em telas altas, aproveita para mostrar mais etapas sem sacrificar o slide. */
@media (min-height:950px) {
    .clientes-exportacao-preview-apresentacao {
        grid-template-rows:auto minmax(0, 1fr) auto 220px;
    }
}

/* ============================================================
   V12.57 — GERADOR DE APRESENTAÇÕES · ETAPA 01
   ============================================================ */
.ga-page{
    min-height:calc(100vh - 72px);
    background:#0c1423;
    color:#e5edf8;
    padding-bottom:34px;
}
.ga-header{
    min-height:74px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:12px clamp(18px,3vw,42px);
    border-bottom:1px solid rgba(148,163,184,.13);
    background:rgba(12,20,35,.94);
    position:sticky;
    top:72px;
    z-index:30;
}
.ga-header-left,.ga-title-wrap,.ga-title-line{display:flex;align-items:center}
.ga-header-left{gap:18px;min-width:0}
.ga-title-wrap{gap:12px;min-width:0}
.ga-title-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:rgba(37,99,235,.14);border:1px solid rgba(96,165,250,.25);color:#60a5fa;font-size:16px;flex:0 0 auto}
.ga-title-line{gap:10px;flex-wrap:wrap}
.ga-title-line h2{margin:0;font-size:18px;color:#f8fafc;letter-spacing:-.25px}
.ga-title-wrap small{display:block;color:#72829e;margin-top:3px;font-size:11.5px}
.ga-admin-badge{font-size:9.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:#93c5fd;background:rgba(37,99,235,.11);border:1px solid rgba(96,165,250,.2);padding:4px 7px;border-radius:999px}
.ga-new-btn,.ga-primary-action{border:0;background:#2563eb;color:white;border-radius:9px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.ga-new-btn{padding:10px 14px;font-size:12px}
.ga-new-btn:hover,.ga-primary-action:hover{background:#1d4ed8}
.ga-main{width:min(1440px,calc(100% - 36px));margin:0 auto;padding-top:30px}
.ga-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr);gap:48px;align-items:center;min-height:380px;padding:48px 52px;border:1px solid rgba(96,165,250,.14);border-radius:20px;background:radial-gradient(circle at 12% 30%,rgba(37,99,235,.16),transparent 34%),linear-gradient(135deg,#111d31 0%,#0a1727 68%,#081421 100%)}
.ga-hero:after{content:"";position:absolute;inset:-40% -10%;pointer-events:none;background:repeating-linear-gradient(116deg,transparent 0 68px,rgba(96,165,250,.05) 69px 70px,transparent 71px 138px);transform:translateX(32%)}
.ga-hero-copy,.ga-hero-preview{position:relative;z-index:1}
.ga-eyebrow{font-size:10px;font-weight:900;letter-spacing:1.2px;color:#8ab8ff;display:flex;align-items:center;gap:8px;margin-bottom:18px}.ga-eyebrow span{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.08)}
.ga-hero h1{margin:0;max-width:760px;color:#f8fafc;font-size:clamp(38px,4vw,66px);line-height:.98;letter-spacing:-2.7px}.ga-hero h1 em{font-style:normal;color:#60a5fa}
.ga-hero-copy>p{max-width:700px;color:#9aa9bf;font-size:15px;line-height:1.7;margin:22px 0 25px}
.ga-principles{display:flex;flex-wrap:wrap;gap:10px}.ga-principles span{font-size:11px;color:#bac7d9;border:1px solid rgba(148,163,184,.14);background:rgba(15,23,42,.48);padding:8px 10px;border-radius:8px}.ga-principles i{color:#60a5fa;margin-right:6px}
.ga-hero-preview{display:flex;flex-direction:column;align-items:center;justify-content:center}
.ga-mini-slide{width:min(100%,530px);aspect-ratio:16/9;border-radius:12px;border:1px solid rgba(96,165,250,.18);background:linear-gradient(135deg,#15396f 0%,#0b2138 45%,#071827 100%);box-shadow:0 24px 70px rgba(0,0,0,.3);padding:28px;transform:rotate(-2deg);position:relative;overflow:hidden}
.ga-mini-slide:after{content:"";position:absolute;right:-45px;bottom:-70px;width:220px;height:220px;border:1px solid rgba(96,165,250,.18);border-radius:50%;box-shadow:0 0 0 34px rgba(96,165,250,.035),0 0 0 68px rgba(96,165,250,.02)}
.ga-mini-kicker{display:block;font-size:8px;color:#8dbbff;font-weight:900;letter-spacing:1px;margin-bottom:12px}.ga-mini-slide>strong{font-size:27px;color:white;letter-spacing:-.8px}
.ga-mini-grid{position:absolute;left:28px;right:28px;bottom:28px;display:grid;grid-template-columns:1fr 1fr 1.35fr;gap:10px}.ga-mini-grid>div{min-height:76px;border-radius:9px;background:rgba(5,18,32,.62);border:1px solid rgba(148,163,184,.13);padding:12px;display:flex;flex-direction:column;justify-content:flex-end}.ga-mini-grid small{font-size:7px;color:#8194ad;font-weight:800;letter-spacing:.7px}.ga-mini-grid b{font-size:24px;color:#f8fafc;margin-top:4px}.ga-mini-grid .ga-mini-image{align-items:center;justify-content:center;font-size:25px;color:#4e7db7;background:linear-gradient(145deg,rgba(37,99,235,.1),rgba(4,18,31,.66))}
.ga-preview-note{margin-top:18px;color:#71849e;font-size:10px}.ga-preview-note i{color:#60a5fa;margin-right:6px}
.ga-start-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin:34px 2px 16px}.ga-start-heading>div>span,.ga-roadmap-title>span{font-size:9.5px;color:#5f8dcc;font-weight:900;letter-spacing:1.1px}.ga-start-heading h3{margin:5px 0 0;color:#eef4fb;font-size:19px}.ga-start-heading>small{color:#64748b;font-size:11px}
.ga-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ga-mode-card{text-align:left;appearance:none;border:1px solid rgba(148,163,184,.13);background:#101b2d;color:inherit;padding:22px;border-radius:15px;cursor:pointer;transition:border-color .16s ease,transform .16s ease,background .16s ease}.ga-mode-card:hover{border-color:rgba(96,165,250,.42);background:#12213a;transform:translateY(-1px)}.ga-mode-smart{background:linear-gradient(145deg,rgba(37,99,235,.13),#101b2d 52%)}
.ga-mode-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.ga-mode-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:10px;color:#60a5fa;background:rgba(37,99,235,.13);font-size:16px}.ga-mode-badge{font-size:8.5px;font-weight:900;letter-spacing:.8px;color:#86efac;padding:5px 7px;border-radius:999px;border:1px solid rgba(34,197,94,.18);background:rgba(34,197,94,.07)}.ga-mode-badge.neutro{color:#93c5fd;border-color:rgba(96,165,250,.18);background:rgba(37,99,235,.07)}
.ga-mode-card>strong{display:block;color:#f8fafc;font-size:18px;margin-bottom:7px}.ga-mode-card>p{color:#8291a8;font-size:12px;line-height:1.6;margin:0 0 17px;max-width:650px}.ga-mode-flow{display:flex;align-items:center;gap:7px;color:#70839c;font-size:9.5px}.ga-mode-flow b{display:inline-grid;place-items:center;width:21px;height:21px;border-radius:6px;background:#182941;color:#88b8fb}.ga-mode-flow i{font-size:8px;color:#3e536f}.ga-mode-action{display:flex;justify-content:flex-end;align-items:center;gap:7px;margin-top:19px;color:#7fb1f5;font-size:11px;font-weight:800}
.ga-roadmap{margin-top:16px;border:1px solid rgba(148,163,184,.12);border-radius:14px;background:#0f1a2a;padding:17px 19px}.ga-roadmap-title{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:12px}.ga-roadmap-title small{color:#62738b;font-size:10px}.ga-roadmap-items{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.ga-roadmap-items>div{padding:11px 12px;border-radius:9px;background:#0d1726;border:1px solid rgba(148,163,184,.08);display:grid;grid-template-columns:auto 1fr;column-gap:9px;align-items:center}.ga-roadmap-items span{grid-row:1/3;font-size:9px;font-weight:900;color:#536780}.ga-roadmap-items strong{font-size:10.5px;color:#adb9c9}.ga-roadmap-items small{font-size:8.7px;color:#596a80;margin-top:2px}.ga-roadmap-items .ativo{border-color:rgba(96,165,250,.2);background:rgba(37,99,235,.07)}.ga-roadmap-items .ativo span,.ga-roadmap-items .ativo strong{color:#79adf3}
.ga-workspace{grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:16px;min-height:calc(100vh - 160px)}
.ga-workspace-panel,.ga-canvas-area{border:1px solid rgba(148,163,184,.12);background:#101a2b;border-radius:15px}
.ga-workspace-panel{padding:22px;height:max-content;position:sticky;top:164px}.ga-panel-heading>span{font-size:8.5px;font-weight:900;letter-spacing:1px;color:#60a5fa}.ga-panel-heading h3{font-size:20px;margin:5px 0;color:#f8fafc}.ga-panel-heading p{font-size:11px;color:#72839b;line-height:1.5;margin:0 0 20px}
.ga-field{display:block;margin-bottom:15px}.ga-field>span,.ga-source-box>span,.ga-block-palette>span{display:block;color:#8595aa;font-size:9.5px;text-transform:uppercase;letter-spacing:.55px;font-weight:800;margin-bottom:6px}.ga-field input,.ga-field textarea{width:100%;box-sizing:border-box;border:1px solid rgba(148,163,184,.15);background:#0b1524;color:#e5edf8;border-radius:9px;padding:10px 11px;outline:none;font-family:inherit;font-size:11.5px;resize:vertical}.ga-field input:focus,.ga-field textarea:focus{border-color:rgba(96,165,250,.55);box-shadow:0 0 0 3px rgba(37,99,235,.08)}
.ga-source-box{margin-top:5px}.ga-source-chips{display:flex;flex-wrap:wrap;gap:6px}.ga-source-chips button{border:1px solid rgba(148,163,184,.12);background:#0d1726;color:#6f8097;border-radius:7px;padding:7px 8px;font-size:9.5px}.ga-source-chips button.ativo{color:#9ac5ff;border-color:rgba(96,165,250,.25);background:rgba(37,99,235,.08)}.ga-source-chips button small{font-size:7.5px;margin-left:3px;color:#4f6178}
.ga-free-intro{display:flex;gap:10px;padding:12px;background:rgba(37,99,235,.06);border:1px solid rgba(96,165,250,.13);border-radius:9px;margin-bottom:15px}.ga-free-intro>span{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:rgba(37,99,235,.12);color:#60a5fa;flex:0 0 auto}.ga-free-intro strong{font-size:11px;color:#dce8f7}.ga-free-intro p{margin:3px 0 0;font-size:9.5px;line-height:1.45;color:#6f8097}
.ga-block-palette>div{display:grid;grid-template-columns:1fr 1fr;gap:6px}.ga-block-palette button{border:1px dashed rgba(148,163,184,.16);background:#0d1726;color:#65758b;padding:9px;border-radius:8px;text-align:left;font-size:9.5px}.ga-block-palette i{width:17px;color:#4d6380}.ga-primary-action{width:100%;padding:11px 12px;font-size:11px;margin-top:19px}.ga-alpha-help{display:block;color:#52637a;font-size:8.7px;line-height:1.45;margin-top:9px}.ga-alpha-help i{margin-right:4px}
.ga-canvas-area{padding:16px;min-width:0}.ga-canvas-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px}.ga-canvas-toolbar>div:first-child>span{display:block;font-size:8px;color:#596b83;font-weight:900;letter-spacing:.8px}.ga-canvas-toolbar strong{font-size:12px;color:#dbe7f6}.ga-toolbar-tags{display:flex;gap:6px;flex-wrap:wrap}.ga-toolbar-tags span{font-size:8.5px;color:#6e8097;border:1px solid rgba(148,163,184,.1);background:#0c1523;border-radius:6px;padding:5px 7px}.ga-toolbar-tags i{color:#60a5fa;margin-right:4px}
.ga-canvas-stage{min-height:560px;display:grid;place-items:center;border:1px solid rgba(148,163,184,.07);border-radius:11px;background:#0a1320;padding:24px}.ga-canvas-slide{width:min(100%,980px);aspect-ratio:16/9;position:relative;overflow:hidden;border-radius:9px;background:radial-gradient(circle at 12% 20%,rgba(37,99,235,.24),transparent 32%),linear-gradient(135deg,#123465 0%,#0a1e34 43%,#071521 100%);box-shadow:0 25px 75px rgba(0,0,0,.32);padding:clamp(26px,4vw,56px);box-sizing:border-box}.ga-canvas-slide:after{content:"";position:absolute;inset:-20%;background:repeating-linear-gradient(116deg,transparent 0 84px,rgba(96,165,250,.055) 85px 86px,transparent 87px 170px);pointer-events:none}.ga-canvas-slide img{position:relative;z-index:1;width:128px;height:auto;object-fit:contain}.ga-canvas-kicker{position:relative;z-index:1;display:block;margin-top:15%;font-size:8px;font-weight:900;letter-spacing:1px;color:#76adf5}.ga-canvas-slide h2{position:relative;z-index:1;margin:12px 0 8px;max-width:66%;font-size:clamp(30px,5vw,66px);line-height:.95;letter-spacing:-2px;color:white}.ga-canvas-slide p{position:relative;z-index:1;max-width:52%;font-size:clamp(9px,1.1vw,14px);line-height:1.55;color:#94a8c0}.ga-canvas-slide>small{position:absolute;z-index:1;left:clamp(26px,4vw,56px);bottom:clamp(22px,3vw,38px);font-size:7px;color:#5d7189}.ga-canvas-guide{position:absolute;z-index:1;right:8%;top:27%;width:23%;aspect-ratio:1;border:1px solid rgba(96,165,250,.13);border-radius:50%;display:grid;place-items:center}.ga-canvas-guide:before,.ga-canvas-guide:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(96,165,250,.08)}.ga-canvas-guide:before{inset:15%}.ga-canvas-guide:after{inset:31%}.ga-canvas-guide span{position:absolute;width:5px;height:5px;border-radius:50%;background:#1e58a0}.ga-slide-strip{display:flex;gap:8px;margin-top:12px;overflow:auto}.ga-slide-strip>div,.ga-slide-strip>button{min-width:170px;border:1px solid rgba(148,163,184,.1);background:#0b1523;border-radius:8px;color:#71839a;padding:8px 10px}.ga-slide-strip>div{display:flex;align-items:center;gap:9px}.ga-slide-strip>div.ativo{border-color:rgba(96,165,250,.32);background:rgba(37,99,235,.08)}.ga-slide-strip>div>span{width:24px;height:24px;display:grid;place-items:center;border-radius:6px;background:#2563eb;color:#fff;font-size:8.5px;font-weight:900}.ga-slide-strip strong{display:block;font-size:9.5px;color:#b8c7da}.ga-slide-strip small{display:block;font-size:7.8px;margin-top:2px}.ga-slide-strip>button{border-style:dashed;font-size:9.5px;cursor:not-allowed}
@media(max-width:1050px){.ga-hero{grid-template-columns:1fr;padding:36px}.ga-hero-preview{display:none}.ga-roadmap-items{grid-template-columns:1fr 1fr}.ga-workspace{grid-template-columns:1fr}.ga-workspace-panel{position:static}.ga-canvas-stage{min-height:420px}}
@media(max-width:720px){.ga-main{width:min(100% - 20px,1440px);padding-top:16px}.ga-header{top:0;padding:10px 12px}.ga-title-wrap small,.ga-admin-badge{display:none}.ga-header-left{gap:8px}.ga-hero{padding:25px 20px;min-height:auto}.ga-hero h1{font-size:36px;letter-spacing:-1.6px}.ga-mode-grid,.ga-roadmap-items{grid-template-columns:1fr}.ga-start-heading{align-items:flex-start;flex-direction:column;gap:5px}.ga-canvas-stage{padding:8px;min-height:300px}.ga-canvas-slide{padding:22px}.ga-canvas-slide img{width:90px}.ga-canvas-slide h2{font-size:32px;max-width:75%}.ga-canvas-slide p{max-width:70%}}

/* ===== V12.58 — Gerador de Apresentações · Etapa 02 / blocos inteligentes ===== */
.ga-roadmap-items .concluido{border-color:rgba(34,197,94,.14);background:rgba(34,197,94,.045)}
.ga-roadmap-items .concluido span,.ga-roadmap-items .concluido strong{color:#70c990}
.ga-roadmap-items .concluido span:after{content:"✓";display:block;font-size:8px;margin-top:2px}

.ga-workspace-panel{max-height:calc(100vh - 188px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#263c59 transparent}
.ga-workspace-panel::-webkit-scrollbar{width:5px}.ga-workspace-panel::-webkit-scrollbar-thumb{background:#263c59;border-radius:8px}
.ga-builder-title-row{display:flex!important;grid-template-columns:none!important;align-items:center;justify-content:space-between;gap:10px;margin:16px 0 7px}
.ga-builder-title-row>span{color:#8595aa;font-size:9.5px;text-transform:uppercase;letter-spacing:.55px;font-weight:800}
.ga-builder-title-row>small{color:#52657e;font-size:8.5px;text-transform:none;letter-spacing:0;font-weight:700}
.ga-block-palette>div:not(.ga-builder-title-row){display:grid;grid-template-columns:1fr 1fr;gap:6px}
.ga-block-palette button{cursor:pointer!important;color:#9aabc0!important;border-style:solid!important;border-color:rgba(148,163,184,.12)!important;transition:border-color .14s ease,background .14s ease,color .14s ease,transform .14s ease}
.ga-block-palette button:hover{background:rgba(37,99,235,.09)!important;border-color:rgba(96,165,250,.26)!important;color:#d7e7fb!important;transform:translateY(-1px)}
.ga-block-palette button i{color:#6da8f5!important}
.ga-block-palette>div:not(.ga-builder-title-row) button:last-child:nth-child(odd){grid-column:1/-1}

.ga-block-list-wrap{margin-top:5px}
.ga-block-list{display:flex;flex-direction:column;gap:7px;max-height:360px;overflow:auto;padding-right:2px;scrollbar-width:thin;scrollbar-color:#263c59 transparent}
.ga-block-list::-webkit-scrollbar{width:4px}.ga-block-list::-webkit-scrollbar-thumb{background:#263c59;border-radius:8px}
.ga-block-empty{min-height:76px;border:1px dashed rgba(148,163,184,.12);background:#0c1624;border-radius:9px;display:flex;align-items:center;justify-content:center;gap:8px;color:#556981;font-size:9.5px}
.ga-block-empty i{color:#48719f}
.ga-block-editor{border:1px solid rgba(148,163,184,.105);background:#0c1625;border-radius:10px;padding:9px;transition:border-color .14s ease,background .14s ease}
.ga-block-editor:focus-within{border-color:rgba(96,165,250,.3);background:#0e1a2a}
.ga-block-editor-head{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:7px}
.ga-block-kind{display:flex;align-items:center;gap:6px;min-width:0}.ga-block-kind>i{width:24px;height:24px;display:grid;place-items:center;border-radius:6px;background:rgba(37,99,235,.09);color:#6da8f5;font-size:9px}.ga-block-kind strong{font-size:9.7px;color:#afbed0}.ga-block-kind small{font-size:7px;color:#465a72}
.ga-block-actions{display:flex;gap:3px}.ga-block-actions button{width:23px;height:23px;border-radius:5px;border:1px solid rgba(148,163,184,.09);background:#101d2e;color:#657991;cursor:pointer;font-size:8px;padding:0}.ga-block-actions button:hover:not(:disabled){color:#b7d4fa;border-color:rgba(96,165,250,.22)}.ga-block-actions button:disabled{opacity:.28;cursor:default}.ga-block-actions button.danger:hover{color:#fca5a5;border-color:rgba(248,113,113,.2);background:rgba(127,29,29,.12)}
.ga-block-editor-fields{display:flex;flex-direction:column;gap:5px}.ga-block-editor-fields input,.ga-block-editor-fields textarea{width:100%;box-sizing:border-box;background:#091321;border:1px solid rgba(148,163,184,.1);border-radius:7px;color:#dce7f5;padding:7px 8px;font-family:inherit;font-size:9.5px;outline:none;resize:vertical;min-height:31px}.ga-block-editor-fields input:focus,.ga-block-editor-fields textarea:focus{border-color:rgba(96,165,250,.38)}
.ga-inline-fields{display:grid;grid-template-columns:.72fr 1.28fr;gap:5px}.ga-inline-fields input:first-child{font-size:13px;font-weight:850;color:#f8fbff}
.ga-image-field{display:flex;flex-direction:column;gap:5px}.ga-image-pick{display:flex;align-items:center;gap:7px;border:1px dashed rgba(96,165,250,.2);background:rgba(37,99,235,.055);border-radius:7px;padding:8px;color:#82aee8;font-size:9px;cursor:pointer;overflow:hidden}.ga-image-pick span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ga-image-pick input{display:none}.ga-image-type{display:inline-flex;align-items:center;gap:5px;width:max-content;color:#71839a;font-size:7.8px;padding:3px 5px;border-radius:5px;background:#101e30}.ga-image-type.png{color:#88c8ae;background:rgba(34,197,94,.07)}
.ga-primary-action{margin-top:12px}

.ga-toolbar-tags b{font-weight:800;color:#91bff8}.ga-toolbar-tags span#gaeDensidadeTag,.ga-toolbar-tags #gaDensidadeTag{color:#f2c879;border-color:rgba(245,158,11,.15);background:rgba(245,158,11,.055)}
.ga-canvas-stage{min-height:590px;padding:20px}
.ga-canvas-slide{--ga-title-size:56px;padding:0!important;display:block;background:#081828;isolation:isolate}
.ga-canvas-slide:after{z-index:-1;opacity:.8}
.ga-slide-brand{position:absolute;left:5.4%;top:6.2%;z-index:8;display:flex;align-items:center;gap:12px}.ga-slide-brand img{width:112px!important;height:auto!important;object-fit:contain!important}.ga-slide-brand span{font-size:7px;color:rgba(181,204,231,.55);font-weight:900;letter-spacing:1px;border-left:1px solid rgba(148,163,184,.18);padding-left:11px}
.ga-canvas-content{position:absolute;z-index:4;left:5.4%;right:5.4%;top:17%;bottom:12%;min-width:0;min-height:0}
.ga-render-layout{height:100%;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;gap:18px;align-content:center;min-width:0}
.ga-render-copy{min-width:0;max-width:78%}.ga-render-title{margin:0!important;max-width:none!important;font-size:var(--ga-title-size)!important;line-height:.93!important;letter-spacing:-2.2px!important;color:#f8fbff!important;text-wrap:balance}.ga-render-section-title{margin:12px 0 3px;color:#dce9f8;font-size:17px;line-height:1.05}.ga-render-text{max-width:700px!important;margin:10px 0 0!important;font-size:13px!important;line-height:1.52!important;color:#9eb0c6!important;text-wrap:pretty}
.ga-render-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;align-self:end}.ga-render-number{min-height:108px;border:1px solid rgba(148,163,184,.13);background:rgba(5,18,32,.5);border-radius:11px;padding:16px;display:flex;flex-direction:column;justify-content:flex-end;min-width:0}.ga-render-number small{font-size:8px;color:#8297b0;font-weight:900;letter-spacing:.65px;text-transform:uppercase}.ga-render-number strong{margin-top:5px;font-size:36px;line-height:.95;color:white;letter-spacing:-1.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ga-render-metrics.one{max-width:330px}.ga-render-metrics.one .ga-render-number strong{font-size:54px}
.ga-render-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:9px;align-self:end}.ga-render-card{position:relative;min-height:92px;padding:14px 15px;border:1px solid rgba(148,163,184,.12);background:rgba(7,20,34,.55);border-radius:10px;overflow:hidden}.ga-render-card>span{position:absolute;left:0;top:0;bottom:0;width:3px;background:#397fe0}.ga-render-card strong{display:block;color:#e8f0fb;font-size:11px}.ga-render-card p{max-width:none!important;margin:6px 0 0!important;color:#8295ad!important;font-size:9.5px!important;line-height:1.45!important}
.ga-render-images{min-width:0;min-height:0;display:grid;grid-template-columns:1fr;gap:8px}.ga-render-images.multi{grid-template-columns:repeat(2,1fr)}.ga-render-image{margin:0;min-width:0;min-height:0;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:12px}.ga-render-image.filled{border:1px solid rgba(148,163,184,.12);background:#0b1725}.ga-render-image img{width:100%!important;height:100%!important;position:relative!important;z-index:1!important}.ga-render-image.filled img{object-fit:cover!important}.ga-render-image.transparent img{object-fit:contain!important;filter:drop-shadow(0 20px 25px rgba(0,0,0,.25))}.ga-render-image figcaption{position:absolute;z-index:2;left:10px;right:10px;bottom:9px;padding:6px 8px;border-radius:6px;background:rgba(5,15,25,.7);backdrop-filter:blur(6px);font-size:7.5px;color:#d8e6f7}
.ga-empty-canvas-state{height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;max-width:500px}.ga-empty-canvas-state>span{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:rgba(37,99,235,.1);border:1px solid rgba(96,165,250,.15);color:#64a1ef;margin-bottom:13px}.ga-empty-canvas-state strong{font-size:22px;color:#dce8f7}.ga-empty-canvas-state small{margin-top:7px;font-size:10.5px;line-height:1.5;color:#71869f;max-width:420px}
#gaeCanvasFooter,#gaCanvasFooter{position:absolute!important;left:5.4%!important;bottom:4.8%!important;color:#51677f!important;font-size:7px!important;z-index:8!important}

/* fundos escolhidos pelo conteúdo */
.ga-layout-empty{background:radial-gradient(circle at 11% 22%,rgba(37,99,235,.18),transparent 30%),linear-gradient(135deg,#102b54,#071827 64%,#06131f)!important}
.ga-layout-editorial{background:radial-gradient(circle at 80% 70%,rgba(30,88,160,.18),transparent 30%),linear-gradient(138deg,#113462 0%,#0a2038 42%,#071722 100%)!important}.ga-layout-editorial .ga-canvas-guide{opacity:.9}
.ga-layout-metrics{background:radial-gradient(circle at 16% 18%,rgba(37,99,235,.18),transparent 28%),linear-gradient(145deg,#0b223d 0%,#081827 55%,#07131f 100%)!important}.ga-layout-metrics:after{background:linear-gradient(90deg,transparent 0 55%,rgba(96,165,250,.035) 55% 55.2%,transparent 55.2%),repeating-linear-gradient(0deg,transparent 0 82px,rgba(96,165,250,.035) 83px 84px)!important}.ga-layout-metrics .ga-render-copy{max-width:86%}.ga-layout-metrics .ga-render-layout{grid-template-rows:auto 1fr}.ga-layout-metrics .ga-canvas-guide{opacity:.25}
.ga-layout-dashboard{background:radial-gradient(circle at 76% 15%,rgba(37,99,235,.2),transparent 27%),linear-gradient(150deg,#112e52,#0a1c30 52%,#07141f)!important}.ga-layout-dashboard .ga-canvas-guide{right:-3%;top:40%;opacity:.55}
.ga-layout-cards{background:linear-gradient(118deg,#102d52 0 33%,#0a1c31 33.2% 100%)!important}.ga-layout-cards .ga-canvas-guide{opacity:.3}
.ga-layout-split{background:linear-gradient(105deg,#113862 0 49%,#081a2a 49.2% 100%)!important}.ga-layout-split .ga-render-layout{grid-template-columns:minmax(0,.9fr) minmax(270px,1.1fr);grid-template-rows:auto 1fr;column-gap:26px}.ga-layout-split .ga-render-copy{grid-column:1;grid-row:1;max-width:100%;align-self:end}.ga-layout-split .ga-render-metrics,.ga-layout-split .ga-render-cards{grid-column:1;grid-row:2;align-self:start}.ga-layout-split .ga-render-images{grid-column:2;grid-row:1/3;height:100%;max-height:100%}.ga-layout-split .ga-render-title{font-size:min(var(--ga-title-size),46px)!important}.ga-layout-split .ga-render-text{font-size:11px!important}.ga-layout-split .ga-canvas-guide{display:none}
.ga-layout-split.ga-transparent-art{background:radial-gradient(circle at 78% 55%,rgba(36,98,174,.22),transparent 29%),linear-gradient(105deg,#123862 0 52%,#091c2e 52.2% 100%)!important}.ga-layout-split.ga-transparent-art .ga-render-image{overflow:visible}
.ga-layout-image{background:radial-gradient(circle at 50% 50%,rgba(37,99,235,.12),transparent 40%),linear-gradient(145deg,#0b233e,#071722)!important}.ga-layout-image .ga-render-layout{display:block}.ga-layout-image .ga-render-images{height:100%}.ga-layout-image .ga-render-image{height:100%}.ga-layout-image .ga-canvas-guide{display:none}
.ga-dense .ga-canvas-content{top:15.5%;bottom:10.5%}.ga-dense .ga-render-layout{gap:10px}.ga-dense .ga-render-title{font-size:min(var(--ga-title-size),40px)!important}.ga-dense .ga-render-text{font-size:10.5px!important;line-height:1.4!important}.ga-dense .ga-render-number{min-height:82px;padding:11px}.ga-dense .ga-render-number strong{font-size:28px}.ga-dense .ga-render-card{min-height:70px;padding:10px 12px}.ga-dense .ga-render-card p{font-size:8.5px!important}

.ga-slide-strip>button small{display:inline!important;margin-left:5px;color:#4c6179}
@media(max-width:1200px){.ga-workspace{grid-template-columns:minmax(260px,330px) minmax(0,1fr)}.ga-canvas-stage{min-height:500px}.ga-render-title{font-size:min(var(--ga-title-size),44px)!important}.ga-render-number strong{font-size:30px}.ga-layout-split .ga-render-layout{grid-template-columns:minmax(0,.95fr) minmax(220px,1.05fr)}}
@media(max-width:1050px){.ga-workspace-panel{max-height:none;overflow:visible}.ga-block-list{max-height:320px}.ga-canvas-stage{min-height:450px}.ga-layout-split .ga-render-layout{grid-template-columns:minmax(0,.9fr) minmax(200px,1.1fr)}}
@media(max-width:720px){.ga-block-palette>div:not(.ga-builder-title-row){grid-template-columns:1fr 1fr}.ga-canvas-stage{min-height:330px}.ga-slide-brand img{width:72px!important}.ga-slide-brand span{display:none}.ga-canvas-content{top:18%;bottom:12%}.ga-render-title{font-size:26px!important;letter-spacing:-1px!important}.ga-render-text{font-size:8.5px!important}.ga-render-number{min-height:62px;padding:8px}.ga-render-number strong{font-size:21px}.ga-render-number small{font-size:6px}.ga-render-card{min-height:56px;padding:8px}.ga-layout-split .ga-render-layout{grid-template-columns:1fr 1fr;column-gap:10px}.ga-layout-split .ga-render-title{font-size:22px!important}.ga-layout-split .ga-render-text{font-size:7.5px!important}}


/* ===== V12.59 — Motor de layout: Big Number + Card ===== */
.ga-layout-dashboard .ga-render-layout{
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto minmax(0,1fr);
    gap:16px;
    align-content:stretch;
}
.ga-layout-dashboard .ga-render-copy{
    max-width:82%;
    align-self:end;
}
.ga-render-dashboard-body{
    min-width:0;
    min-height:0;
    display:grid;
    grid-template-columns:minmax(210px,.78fr) minmax(0,1.22fr);
    gap:12px;
    align-items:stretch;
    align-self:stretch;
}
.ga-render-dashboard-body .ga-render-metrics,
.ga-render-dashboard-body .ga-render-cards{
    min-width:0;
    min-height:0;
    align-self:stretch;
}
.ga-render-dashboard-body .ga-render-metrics{
    grid-template-columns:1fr;
    gap:9px;
}
.ga-render-dashboard-body.ga-numeros-2 .ga-render-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
}
.ga-render-dashboard-body .ga-render-number{
    height:100%;
    min-height:0;
    justify-content:center;
    padding:15px 16px;
}
.ga-render-dashboard-body .ga-render-number strong{
    font-size:clamp(30px,4.1vw,48px);
    overflow:visible;
    text-overflow:clip;
}
.ga-render-dashboard-body.ga-numeros-2 .ga-render-number strong{
    font-size:clamp(25px,3vw,38px);
}
.ga-render-dashboard-body .ga-render-cards{
    grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
    align-content:stretch;
}
.ga-render-dashboard-body .ga-render-card{
    min-height:0;
    height:100%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:14px 16px;
}
.ga-render-dashboard-body .ga-render-card p{
    font-size:10px!important;
    line-height:1.48!important;
}
.ga-layout-dashboard.ga-dense .ga-render-dashboard-body{
    gap:8px;
    grid-template-columns:minmax(190px,.72fr) minmax(0,1.28fr);
}
.ga-layout-dashboard.ga-dense .ga-render-dashboard-body .ga-render-number,
.ga-layout-dashboard.ga-dense .ga-render-dashboard-body .ga-render-card{
    padding:10px 12px;
}
@media(max-width:900px){
    .ga-render-dashboard-body{grid-template-columns:minmax(150px,.82fr) minmax(0,1.18fr);gap:8px}
    .ga-render-dashboard-body .ga-render-number strong{font-size:28px}
    .ga-render-dashboard-body.ga-numeros-2 .ga-render-number strong{font-size:23px}
}
@media(max-width:620px){
    .ga-layout-dashboard .ga-render-copy{max-width:100%}
    .ga-render-dashboard-body{grid-template-columns:1fr;grid-template-rows:auto auto;gap:6px}
    .ga-render-dashboard-body .ga-render-metrics{grid-template-columns:repeat(auto-fit,minmax(90px,1fr))}
    .ga-render-dashboard-body .ga-render-number{min-height:54px}
    .ga-render-dashboard-body .ga-render-cards{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}
}

/* ===== V12.60 — Gerador de Apresentações · Etapa 03 / múltiplos slides ===== */
.ga-workspace{
    grid-template-columns:minmax(168px,190px) minmax(280px,340px) minmax(0,1fr)!important;
    align-items:start;
}
.ga-slides-rail{
    position:sticky;
    top:164px;
    height:calc(100vh - 188px);
    min-height:560px;
    display:grid;
    grid-template-rows:auto minmax(0,1fr) auto auto;
    gap:10px;
    padding:12px;
    border:1px solid rgba(148,163,184,.12);
    background:#101a2b;
    border-radius:15px;
    overflow:hidden;
}
.ga-slides-rail-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 1px 1px}
.ga-slides-rail-head>div{min-width:0}
.ga-slides-rail-head span{display:block;color:#5f7189;font-size:7.5px;font-weight:900;letter-spacing:.85px}
.ga-slides-rail-head strong{display:block;margin-top:3px;color:#d9e6f5;font-size:11px}
.ga-rail-add{width:30px;height:30px;border:1px solid rgba(96,165,250,.2);background:rgba(37,99,235,.09);border-radius:8px;color:#73acf5;cursor:pointer}
.ga-rail-add:hover{background:rgba(37,99,235,.16);color:#c3ddff}
.ga-slides-list{min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:9px;padding:1px 3px 4px 1px;scrollbar-width:thin;scrollbar-color:#263c59 transparent}
.ga-slides-list::-webkit-scrollbar{width:4px}.ga-slides-list::-webkit-scrollbar-thumb{background:#263c59;border-radius:8px}
.ga-slide-thumb{position:relative;border:1px solid rgba(148,163,184,.1);background:#0b1523;border-radius:10px;padding:7px;cursor:pointer;transition:border-color .14s ease,background .14s ease,opacity .14s ease,transform .14s ease;user-select:none}
.ga-slide-thumb:hover{border-color:rgba(96,165,250,.22);background:#0d1928}
.ga-slide-thumb.ativo{border-color:rgba(96,165,250,.46);background:rgba(37,99,235,.075);box-shadow:inset 0 0 0 1px rgba(96,165,250,.06)}
.ga-slide-thumb.arrastando{opacity:.42;transform:scale(.98)}
.ga-slide-thumb.drop-alvo{border-color:#60a5fa;box-shadow:0 -3px 0 #60a5fa}
.ga-slide-thumb-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}
.ga-slide-thumb-top>span{font-size:7.5px;font-weight:900;color:#7b90aa;letter-spacing:.5px}
.ga-slide-thumb-top>small{font-size:8px;color:#3f536b}
.ga-slide-thumb.ativo .ga-slide-thumb-top>span{color:#8ec0ff}
.ga-thumb-canvas{position:relative;aspect-ratio:16/9;border-radius:6px;overflow:hidden;padding:9px 8px;box-sizing:border-box;background:linear-gradient(135deg,#12325d,#0a1c31 54%,#071521);border:1px solid rgba(148,163,184,.08)}
.ga-thumb-canvas:after{content:"";position:absolute;inset:-25%;background:repeating-linear-gradient(116deg,transparent 0 26px,rgba(96,165,250,.045) 27px 28px,transparent 29px 54px);pointer-events:none}
.ga-thumb-brand{position:relative;z-index:1;display:block;font-size:4.5px;letter-spacing:.7px;font-weight:900;color:#77a6e6;margin-bottom:7px}
.ga-thumb-canvas>b{position:relative;z-index:1;display:block;max-width:78%;color:#f4f8fd;font-size:8.2px;line-height:.95;letter-spacing:-.15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ga-thumb-canvas>b.muted{color:#6f839d;font-weight:700}
.ga-thumb-canvas>i{position:relative;z-index:1;display:block;max-width:70%;margin-top:4px;color:#74879f;font-size:4.5px;line-height:1.25;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ga-thumb-metrics{position:absolute;z-index:2;left:8px;right:8px;bottom:7px;display:flex;gap:3px}
.ga-thumb-metrics>span{flex:1;min-width:0;border:1px solid rgba(148,163,184,.08);background:rgba(5,18,32,.5);border-radius:3px;padding:3px}
.ga-thumb-metrics small{display:block;color:#60768f;font-size:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ga-thumb-metrics strong{display:block;margin-top:1px;color:white;font-size:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ga-thumb-cards{position:absolute;z-index:2;left:8px;right:8px;bottom:7px;display:grid;grid-template-columns:1fr 1fr;gap:3px}
.ga-thumb-cards span{height:17px;border:1px solid rgba(148,163,184,.08);background:rgba(7,20,34,.55);border-radius:3px;border-left:2px solid #397fe0}
.ga-thumb-image{position:absolute;z-index:1;right:5px;top:16px;bottom:6px;width:44%;border-radius:4px;overflow:hidden;background:#0b1725}
.ga-thumb-image img{width:100%!important;height:100%!important;object-fit:cover!important}
.ga-thumb-layout-split{background:linear-gradient(105deg,#113862 0 49%,#081a2a 49.2% 100%)}
.ga-thumb-layout-metrics{background:linear-gradient(145deg,#0b223d,#081827 55%,#07131f)}
.ga-thumb-layout-dashboard{background:linear-gradient(150deg,#112e52,#0a1c30 52%,#07141f)}
.ga-thumb-layout-cards{background:linear-gradient(118deg,#102d52 0 33%,#0a1c31 33.2% 100%)}
.ga-slide-thumb-meta{margin-top:6px;min-width:0}
.ga-slide-thumb-meta strong{display:block;color:#aebdd0;font-size:8.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ga-slide-thumb.ativo .ga-slide-thumb-meta strong{color:#dceaff}
.ga-slide-thumb-meta small{display:block;margin-top:2px;color:#51657c;font-size:6.8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ga-slide-thumb-actions{display:flex;gap:4px;margin-top:6px;padding-top:6px;border-top:1px solid rgba(148,163,184,.07)}
.ga-slide-thumb-actions button{flex:1;height:25px;border:1px solid rgba(148,163,184,.09);background:#101d2e;border-radius:5px;color:#60758e;cursor:pointer;font-size:8px}
.ga-slide-thumb-actions button:hover:not(:disabled){color:#b9d6fb;border-color:rgba(96,165,250,.23)}
.ga-slide-thumb-actions button.danger:hover:not(:disabled){color:#fca5a5;border-color:rgba(248,113,113,.2);background:rgba(127,29,29,.12)}
.ga-slide-thumb-actions button:disabled{opacity:.28;cursor:default}
.ga-slides-rail-actions{display:grid;gap:5px}
.ga-slides-rail-actions button{width:100%;border:1px solid rgba(148,163,184,.11);background:#0c1726;border-radius:8px;color:#8ca0b8;padding:8px 7px;font-size:8.5px;font-weight:750;cursor:pointer;text-align:left}
.ga-slides-rail-actions button i{width:17px;color:#6ea9f6}
.ga-slides-rail-actions button:hover{border-color:rgba(96,165,250,.24);color:#d3e5fb;background:#0e1b2b}
.ga-slides-rail-actions button.smart{border-color:rgba(96,165,250,.19);background:rgba(37,99,235,.075);color:#9bc7ff}
.ga-rail-help{display:block;color:#42566e;font-size:6.9px;line-height:1.35}.ga-rail-help i{margin-right:4px}

.ga-slide-bottom-bar{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:8px;margin-top:10px}
.ga-slide-bottom-bar>button{height:34px;border:1px solid rgba(148,163,184,.1);background:#0b1523;border-radius:8px;color:#71849b;cursor:pointer}
.ga-slide-bottom-bar>button:hover:not(:disabled){border-color:rgba(96,165,250,.25);color:#bcd8fa;background:#0e1a2a}
.ga-slide-bottom-bar>button:disabled{opacity:.25;cursor:default}
.ga-slide-bottom-bar>div{min-width:0;border:1px solid rgba(148,163,184,.08);background:#0b1523;border-radius:8px;padding:7px 10px;text-align:center}
.ga-slide-bottom-bar span{display:block;color:#b8c7da;font-size:9px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ga-slide-bottom-bar small{display:block;margin-top:2px;color:#52657d;font-size:7.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

@media(max-width:1320px){
    .ga-workspace{grid-template-columns:158px minmax(250px,305px) minmax(0,1fr)!important;gap:12px}
    .ga-slides-rail{padding:10px}
    .ga-workspace-panel{padding:17px}
    .ga-canvas-stage{min-height:500px}
}
@media(max-width:1080px){
    .ga-workspace{grid-template-columns:1fr!important}
    .ga-slides-rail{position:static;height:auto;min-height:0;grid-template-rows:auto auto auto auto}
    .ga-slides-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));max-height:310px;overflow:auto}
    .ga-slides-rail-actions{grid-template-columns:1fr 1fr}
    .ga-workspace-panel{position:static;max-height:none;overflow:visible}
}
@media(max-width:720px){
    .ga-slides-list{grid-template-columns:1fr 1fr}
    .ga-slides-rail-actions{grid-template-columns:1fr}
    .ga-slide-bottom-bar{grid-template-columns:30px minmax(0,1fr) 30px}
}

/* ===== V12.61 — Gerador · reordenação segura + undo + mídia/dados/contexto ===== */
.ga-drag-handle{
    width:24px;height:22px;display:grid;place-items:center;padding:0;
    border:1px solid rgba(148,163,184,.08);background:#0d1928;border-radius:5px;
    color:#506780;cursor:grab;font-size:8px;
}
.ga-drag-handle:hover{color:#9ac7ff;border-color:rgba(96,165,250,.24);background:#102039}
.ga-drag-handle:active{cursor:grabbing}
.ga-slide-thumb.drop-antes{border-color:rgba(96,165,250,.48);box-shadow:0 -4px 0 #60a5fa}
.ga-slide-thumb.drop-depois{border-color:rgba(96,165,250,.48);box-shadow:0 4px 0 #60a5fa}
.ga-slide-thumb-actions{grid-template-columns:repeat(4,1fr)}
.ga-slide-thumb-actions button{min-width:0}
.ga-slides-rail-actions button.undo{border-color:rgba(52,211,153,.17);background:rgba(16,185,129,.065);color:#8fd9bc}
.ga-slides-rail-actions button.undo i{color:#68c7a4}
.ga-slides-rail-actions button.undo:hover{border-color:rgba(52,211,153,.3);background:rgba(16,185,129,.1);color:#c4f1df}

.ga-layout-media-dashboard{
    background:radial-gradient(circle at 82% 38%,rgba(37,99,235,.18),transparent 28%),linear-gradient(148deg,#112f54,#091d31 54%,#071520)!important;
}
.ga-layout-media-dashboard .ga-render-layout{
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto minmax(0,1fr);
    gap:14px;
    align-content:stretch;
}
.ga-layout-media-dashboard .ga-render-copy{max-width:82%;align-self:end}
.ga-layout-media-dashboard .ga-canvas-guide{display:none}
.ga-render-media-dashboard-body{
    min-width:0;min-height:0;display:grid;
    grid-template-columns:minmax(0,1.16fr) minmax(220px,.84fr);
    gap:14px;align-items:stretch;
}
.ga-render-media-dashboard-body>.ga-render-dashboard-body{
    grid-template-columns:minmax(165px,.78fr) minmax(0,1.22fr);
    gap:9px;height:100%;
}
.ga-render-media-dashboard-body>.ga-render-images{height:100%;min-height:0}
.ga-render-media-dashboard-body>.ga-render-images .ga-render-image{height:100%;min-height:0}
.ga-render-media-dashboard-body .ga-render-number,
.ga-render-media-dashboard-body .ga-render-card{min-height:0;height:100%}
.ga-layout-media-dashboard.ga-transparent-art .ga-render-image{overflow:visible}
.ga-layout-media-dashboard.ga-transparent-art .ga-render-images{padding:4px 0}
.ga-layout-media-dashboard.ga-dense .ga-render-media-dashboard-body{grid-template-columns:minmax(0,1.22fr) minmax(190px,.78fr);gap:9px}
.ga-layout-media-dashboard.ga-dense .ga-render-dashboard-body{grid-template-columns:minmax(145px,.72fr) minmax(0,1.28fr);gap:7px}
.ga-layout-media-dashboard.ga-dense .ga-render-number,
.ga-layout-media-dashboard.ga-dense .ga-render-card{padding:9px 10px}
.ga-layout-media-dashboard.ga-dense .ga-render-number strong{font-size:26px}
.ga-thumb-layout-media-dashboard{background:linear-gradient(145deg,#12335b 0 62%,#0a1a2c 62.2% 100%)}
.ga-thumb-layout-media-dashboard .ga-thumb-image{width:34%}
.ga-thumb-layout-media-dashboard .ga-thumb-metrics,
.ga-thumb-layout-media-dashboard .ga-thumb-cards{right:38%}
@media(max-width:900px){
    .ga-render-media-dashboard-body{grid-template-columns:minmax(0,1.12fr) minmax(170px,.88fr);gap:8px}
    .ga-render-media-dashboard-body>.ga-render-dashboard-body{grid-template-columns:minmax(120px,.75fr) minmax(0,1.25fr);gap:6px}
}
@media(max-width:620px){
    .ga-render-media-dashboard-body{grid-template-columns:1.1fr .9fr;gap:6px}
    .ga-render-media-dashboard-body>.ga-render-dashboard-body{grid-template-columns:1fr;grid-template-rows:auto auto}
}


/* ===== V12.62 — Gerador · edição direta no preview ===== */
#gaCanvasContent{cursor:default}
.ga-preview-editable{
    position:relative;
    outline:1px solid transparent;
    outline-offset:5px;
    border-radius:4px;
    cursor:text;
    transition:outline-color .14s ease,background-color .14s ease,box-shadow .14s ease;
}
.ga-preview-editable:hover{
    outline-color:rgba(96,165,250,.35);
    background-color:rgba(37,99,235,.045);
}
.ga-preview-editable.ga-inline-editing{
    outline:2px solid rgba(96,165,250,.72);
    background:rgba(7,18,31,.34);
    box-shadow:0 0 0 5px rgba(37,99,235,.07);
    cursor:text;
    user-select:text;
}
.ga-preview-editable.ga-inline-editing:focus{outline:2px solid rgba(96,165,250,.84)!important}
.ga-preview-block{
    transition:border-color .14s ease,box-shadow .14s ease,filter .14s ease;
}
.ga-preview-block:hover{
    border-color:rgba(96,165,250,.36)!important;
    box-shadow:inset 0 0 0 1px rgba(96,165,250,.08);
}
[data-ga-preview-block].ga-preview-block-selected{
    outline:2px solid rgba(96,165,250,.48);
    outline-offset:3px;
}
.ga-render-number[data-ga-preview-block].ga-preview-block-selected,
.ga-render-card[data-ga-preview-block].ga-preview-block-selected,
.ga-render-image[data-ga-preview-block].ga-preview-block-selected{
    box-shadow:0 0 0 4px rgba(37,99,235,.08),inset 0 0 0 1px rgba(96,165,250,.12);
}
.ga-render-image[data-ga-preview-block]{cursor:pointer}
.ga-preview-image-action{
    position:absolute;z-index:5;left:50%;top:50%;transform:translate(-50%,-50%) translateY(4px);
    display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:7px;
    background:rgba(5,15,26,.82);border:1px solid rgba(148,190,239,.2);color:#d6e8fb;
    font-size:8px;font-weight:800;letter-spacing:.15px;opacity:0;pointer-events:none;
    transition:opacity .14s ease,transform .14s ease;
}
.ga-render-image[data-ga-preview-block]:hover .ga-preview-image-action{opacity:1;transform:translate(-50%,-50%) translateY(0)}
.ga-render-image figcaption.ga-preview-editable{cursor:text;pointer-events:auto}
.ga-render-number .ga-preview-editable,.ga-render-card .ga-preview-editable{z-index:3}
@media(max-width:720px){
    .ga-preview-editable{outline-offset:2px}
    .ga-preview-image-action{font-size:6.5px;padding:5px 7px}
}

/* ===== V12.63 — Gerador · layouts sugeridos ===== */
.ga-roadmap-items{grid-template-columns:repeat(5,1fr)}
.ga-layout-suggestions-wrap{
    margin:0 0 12px;padding:10px 11px 11px;border:1px solid rgba(148,163,184,.09);
    background:#0c1624;border-radius:10px;
}
.ga-layout-suggestions-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.ga-layout-suggestions-head>div>span{display:block;color:#6280a4;font-size:7.5px;font-weight:900;letter-spacing:.8px}
.ga-layout-suggestions-head>div>strong{display:block;margin-top:2px;color:#afc0d5;font-size:9.5px}
.ga-layout-suggestions-head>small{color:#53677f;font-size:7.7px}.ga-layout-suggestions-head>small i{color:#6ca8f5;margin-right:4px}
.ga-layout-suggestions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.ga-layout-option{
    min-width:0;min-height:54px;display:grid;grid-template-columns:58px minmax(0,1fr) 19px;align-items:center;gap:8px;
    padding:7px;border:1px solid rgba(148,163,184,.09);background:#0a1421;border-radius:8px;color:inherit;text-align:left;cursor:pointer;
    transition:border-color .14s ease,background .14s ease,transform .14s ease;
}
.ga-layout-option:hover{border-color:rgba(96,165,250,.25);background:#0d1a2a;transform:translateY(-1px)}
.ga-layout-option.ativo{border-color:rgba(96,165,250,.42);background:rgba(37,99,235,.075);box-shadow:inset 0 0 0 1px rgba(96,165,250,.045)}
.ga-layout-option>span{min-width:0}.ga-layout-option>span strong{display:block;color:#c4d2e3;font-size:8.7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ga-layout-option>span small{display:block;margin-top:2px;color:#53677f;font-size:6.9px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ga-layout-option.ativo>span strong{color:#e2efff}.ga-layout-option>b{width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:#2563eb;color:white;font-size:7px}
.ga-layout-mini{position:relative;width:58px;aspect-ratio:16/9;display:block;border-radius:4px;overflow:hidden;border:1px solid rgba(148,163,184,.08);background:linear-gradient(145deg,#12325a,#081827)}
.ga-layout-mini i{position:absolute;display:block;border-radius:1.5px;background:rgba(151,190,239,.38)}
.ga-layout-mini i:nth-child(1){left:6px;top:6px;width:25px;height:3px;background:rgba(226,239,255,.7)}
.ga-layout-mini i:nth-child(2){left:6px;top:12px;width:18px;height:2px}
.ga-layout-mini i:nth-child(3){left:6px;right:30px;bottom:6px;height:9px;background:rgba(37,99,235,.45)}
.ga-layout-mini i:nth-child(4){right:6px;bottom:6px;width:22px;height:15px;background:rgba(78,112,154,.35)}
.ga-layout-mini-media-left i:nth-child(4){left:5px;right:auto;top:5px;bottom:5px;width:24px;height:auto}.ga-layout-mini-media-left i:nth-child(1){left:34px;width:18px}.ga-layout-mini-media-left i:nth-child(2){left:34px;width:14px}.ga-layout-mini-media-left i:nth-child(3){left:34px;right:5px}
.ga-layout-mini-media-focus i:nth-child(4){right:4px;top:4px;bottom:4px;width:31px;height:auto}.ga-layout-mini-media-focus i:nth-child(1){width:14px}.ga-layout-mini-media-focus i:nth-child(2){width:12px}.ga-layout-mini-media-focus i:nth-child(3){right:37px}
.ga-layout-mini-data-first i:nth-child(3){left:5px;right:24px;height:14px}.ga-layout-mini-data-first i:nth-child(4){width:16px;height:14px}
.ga-layout-mini-stack i:nth-child(3){left:5px;right:5px;bottom:15px;height:7px}.ga-layout-mini-stack i:nth-child(4){left:5px;right:5px;bottom:5px;width:auto;height:7px}
.ga-layout-mini-context-first i:nth-child(3){left:34px;right:5px;height:16px}.ga-layout-mini-context-first i:nth-child(4){left:5px;right:29px;width:auto;height:16px}
.ga-layout-mini-metric-hero i:nth-child(3){left:5px;right:5px;bottom:5px;height:16px}.ga-layout-mini-metric-hero i:nth-child(4){display:none}
.ga-layout-mini-metric-side i:nth-child(1),.ga-layout-mini-metric-side i:nth-child(2){width:20px}.ga-layout-mini-metric-side i:nth-child(3){left:34px;right:5px;top:5px;bottom:5px;height:auto}.ga-layout-mini-metric-side i:nth-child(4){display:none}
.ga-layout-mini-card-feature i:nth-child(3){left:5px;right:31px;height:17px}.ga-layout-mini-card-feature i:nth-child(4){right:5px;width:22px;height:17px}
.ga-layout-mini-card-stack i:nth-child(3){left:5px;right:5px;bottom:13px;height:5px}.ga-layout-mini-card-stack i:nth-child(4){left:5px;right:5px;bottom:5px;width:auto;height:5px}
.ga-layout-mini-editorial-center i:nth-child(1){left:16px;width:26px}.ga-layout-mini-editorial-center i:nth-child(2){left:19px;width:20px}.ga-layout-mini-editorial-center i:nth-child(3){left:18px;right:18px}.ga-layout-mini-editorial-center i:nth-child(4){display:none}
.ga-layout-mini-editorial-right i:nth-child(1){left:auto;right:6px}.ga-layout-mini-editorial-right i:nth-child(2){left:auto;right:6px}.ga-layout-mini-editorial-right i:nth-child(3){left:auto;right:6px;width:22px}.ga-layout-mini-editorial-right i:nth-child(4){display:none}
.ga-layout-mini-image-framed i:nth-child(1),.ga-layout-mini-image-framed i:nth-child(2),.ga-layout-mini-image-framed i:nth-child(3){display:none}.ga-layout-mini-image-framed i:nth-child(4){inset:5px;width:auto;height:auto}
.ga-layout-mini-image-full i:nth-child(1),.ga-layout-mini-image-full i:nth-child(2),.ga-layout-mini-image-full i:nth-child(3){display:none}.ga-layout-mini-image-full i:nth-child(4){inset:0;width:auto;height:auto;border-radius:0;background:rgba(76,113,158,.52)}

/* variações: imagem + conteúdo */
.ga-layout-split.ga-layout-variant-media-left .ga-render-layout{grid-template-columns:minmax(270px,1.1fr) minmax(0,.9fr)}
.ga-layout-split.ga-layout-variant-media-left .ga-render-images{grid-column:1;grid-row:1/3}
.ga-layout-split.ga-layout-variant-media-left .ga-render-copy{grid-column:2;grid-row:1}
.ga-layout-split.ga-layout-variant-media-left .ga-render-metrics,
.ga-layout-split.ga-layout-variant-media-left .ga-render-cards{grid-column:2;grid-row:2}
.ga-layout-split.ga-layout-variant-media-focus .ga-render-layout{grid-template-columns:minmax(0,.72fr) minmax(330px,1.28fr);column-gap:18px}
.ga-layout-split.ga-layout-variant-media-focus .ga-render-title{font-size:min(var(--ga-title-size),40px)!important}

/* variações: dados + contexto + mídia */
.ga-layout-media-dashboard.ga-layout-variant-media-left .ga-render-media-dashboard-body{grid-template-columns:minmax(220px,.84fr) minmax(0,1.16fr)}
.ga-layout-media-dashboard.ga-layout-variant-media-left .ga-render-images{grid-column:1;grid-row:1}
.ga-layout-media-dashboard.ga-layout-variant-media-left .ga-render-dashboard-body{grid-column:2;grid-row:1}
.ga-layout-media-dashboard.ga-layout-variant-data-first .ga-render-media-dashboard-body{grid-template-columns:minmax(0,1.42fr) minmax(180px,.58fr);gap:10px}
.ga-layout-media-dashboard.ga-layout-variant-data-first .ga-render-number strong{font-size:clamp(30px,4vw,46px)}

/* variações: big numbers + cards */
.ga-layout-dashboard.ga-layout-variant-stack .ga-render-dashboard-body{grid-template-columns:1fr;grid-template-rows:minmax(0,.82fr) minmax(0,1.18fr);gap:8px}
.ga-layout-dashboard.ga-layout-variant-stack .ga-render-metrics{grid-template-columns:repeat(auto-fit,minmax(125px,1fr))}
.ga-layout-dashboard.ga-layout-variant-stack .ga-render-cards{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))}
.ga-layout-dashboard.ga-layout-variant-context-first .ga-render-dashboard-body{grid-template-columns:minmax(0,1.32fr) minmax(180px,.68fr)}
.ga-layout-dashboard.ga-layout-variant-context-first .ga-render-cards{grid-column:1;grid-row:1}.ga-layout-dashboard.ga-layout-variant-context-first .ga-render-metrics{grid-column:2;grid-row:1;grid-template-columns:1fr}

/* variações: indicadores */
.ga-layout-metrics.ga-layout-variant-metric-hero .ga-render-metrics{grid-template-columns:repeat(2,minmax(0,1fr));align-self:stretch}
.ga-layout-metrics.ga-layout-variant-metric-hero .ga-render-number:first-child{grid-column:1/-1;min-height:118px;background:linear-gradient(135deg,rgba(37,99,235,.24),rgba(5,18,32,.58));border-color:rgba(96,165,250,.24)}
.ga-layout-metrics.ga-layout-variant-metric-hero .ga-render-number:first-child strong{font-size:clamp(42px,6vw,68px)}
.ga-layout-metrics.ga-layout-variant-metric-side .ga-render-layout{grid-template-columns:minmax(0,.85fr) minmax(260px,1.15fr);grid-template-rows:1fr;gap:22px;align-items:stretch}
.ga-layout-metrics.ga-layout-variant-metric-side .ga-render-copy{grid-column:1;grid-row:1;align-self:center;max-width:100%}
.ga-layout-metrics.ga-layout-variant-metric-side .ga-render-metrics{grid-column:2;grid-row:1;grid-template-columns:1fr;align-self:stretch}
.ga-layout-metrics.ga-layout-variant-metric-side .ga-render-number{min-height:0;height:100%;justify-content:center}

/* variações: cards */
.ga-layout-cards.ga-layout-variant-card-feature .ga-render-cards{grid-template-columns:minmax(0,1.25fr) minmax(180px,.75fr);grid-auto-rows:1fr;align-self:stretch}
.ga-layout-cards.ga-layout-variant-card-feature .ga-render-card:first-child{grid-row:span 2;background:linear-gradient(145deg,rgba(37,99,235,.14),rgba(7,20,34,.58));border-color:rgba(96,165,250,.2);display:flex;flex-direction:column;justify-content:center}
.ga-layout-cards.ga-layout-variant-card-stack .ga-render-cards{grid-template-columns:1fr;align-content:center;align-self:stretch}
.ga-layout-cards.ga-layout-variant-card-stack .ga-render-card{min-height:0}

/* variações: editorial */
.ga-layout-editorial.ga-layout-variant-editorial-center .ga-render-layout{place-items:center;text-align:center}.ga-layout-editorial.ga-layout-variant-editorial-center .ga-render-copy{max-width:72%;margin:auto}.ga-layout-editorial.ga-layout-variant-editorial-center .ga-render-text{margin-left:auto!important;margin-right:auto!important}.ga-layout-editorial.ga-layout-variant-editorial-center .ga-canvas-guide{right:38%;top:37%;opacity:.22}
.ga-layout-editorial.ga-layout-variant-editorial-right .ga-render-copy{max-width:72%;margin-left:auto;text-align:right}.ga-layout-editorial.ga-layout-variant-editorial-right .ga-render-text{margin-left:auto!important}.ga-layout-editorial.ga-layout-variant-editorial-right .ga-canvas-guide{right:auto;left:7%;top:31%}

/* variações: imagem única */
.ga-layout-image.ga-layout-variant-image-framed .ga-canvas-content{left:10%;right:10%;top:18%;bottom:13%}.ga-layout-image.ga-layout-variant-image-framed .ga-render-image{border-radius:16px!important;border:1px solid rgba(148,163,184,.18);box-shadow:0 24px 60px rgba(0,0,0,.26)}
.ga-layout-image.ga-layout-variant-image-full .ga-canvas-content{inset:0}.ga-layout-image.ga-layout-variant-image-full .ga-render-image{border-radius:0!important;border:0!important}.ga-layout-image.ga-layout-variant-image-full .ga-render-image img{object-fit:cover!important}.ga-layout-image.ga-layout-variant-image-full:after{background:linear-gradient(90deg,rgba(4,14,24,.24),transparent 55%)!important;z-index:2}.ga-layout-image.ga-layout-variant-image-full .ga-slide-brand{z-index:8}

@media(max-width:1150px){.ga-layout-suggestions{grid-template-columns:1fr}.ga-layout-option{grid-template-columns:52px minmax(0,1fr) 19px}.ga-layout-mini{width:52px}.ga-roadmap-items{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.ga-layout-suggestions-head>small{display:none}.ga-roadmap-items{grid-template-columns:1fr}.ga-layout-split.ga-layout-variant-media-left .ga-render-layout,.ga-layout-split.ga-layout-variant-media-focus .ga-render-layout,.ga-layout-metrics.ga-layout-variant-metric-side .ga-render-layout{grid-template-columns:1fr 1fr}.ga-layout-dashboard.ga-layout-variant-context-first .ga-render-dashboard-body{grid-template-columns:1fr 1fr}}


/* ===== V12.64 — Gerador · menu de contexto dos blocos ===== */
.ga-context-menu{
    position:fixed;z-index:99999;width:220px;padding:7px;border-radius:12px;
    border:1px solid rgba(148,163,184,.16);background:rgba(7,17,29,.97);
    box-shadow:0 24px 70px rgba(0,0,0,.48),0 0 0 1px rgba(255,255,255,.02) inset;
    backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
    color:#dce9f8;user-select:none;
}
.ga-context-menu-head{display:flex;align-items:center;gap:9px;padding:7px 8px 9px;margin-bottom:3px;border-bottom:1px solid rgba(148,163,184,.09)}
.ga-context-menu-head>span{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:rgba(37,99,235,.13);color:#76adf5;font-size:10px}
.ga-context-menu-head strong{display:block;color:#eaf3ff;font-size:10.5px;line-height:1.1}.ga-context-menu-head small{display:block;margin-top:3px;color:#60758e;font-size:7.5px;font-weight:800;letter-spacing:.3px}
.ga-context-menu>button{width:100%;height:34px;display:flex;align-items:center;gap:9px;padding:0 9px;border:0;border-radius:8px;background:transparent;color:#b9c9dc;font-size:9.5px;font-weight:750;text-align:left;cursor:pointer;transition:background .12s ease,color .12s ease}
.ga-context-menu>button i{width:15px;text-align:center;color:#7591b1;font-size:9px}.ga-context-menu>button span{flex:1}.ga-context-menu>button:hover:not(:disabled){background:rgba(37,99,235,.11);color:#eef6ff}.ga-context-menu>button:hover:not(:disabled) i{color:#78aff8}
.ga-context-menu>button:disabled{opacity:.32;cursor:not-allowed}.ga-context-menu>button.danger{color:#f2a6aa}.ga-context-menu>button.danger i{color:#ef7e86}.ga-context-menu>button.danger:hover{background:rgba(239,68,68,.1);color:#ffc2c6}
.ga-context-menu-sep{height:1px;background:rgba(148,163,184,.08);margin:4px 6px}
.ga-context-menu kbd{border:1px solid rgba(148,163,184,.12);background:#0c1725;border-radius:5px;padding:2px 4px;color:#5f738a;font-family:inherit;font-size:6.5px;font-weight:800}
.ga-undo-block{position:absolute;z-index:30;left:50%;bottom:5.1%;transform:translateX(-50%);height:31px;display:flex;align-items:center;gap:12px;padding:0 7px 0 10px;border:1px solid rgba(111,163,230,.22);border-radius:8px;background:rgba(5,16,28,.9);box-shadow:0 12px 32px rgba(0,0,0,.28);color:#9fb2c9;font-size:7.5px;font-weight:800;cursor:pointer;animation:gaUndoIn .16s ease both}
.ga-undo-block span{display:flex;align-items:center;gap:6px}.ga-undo-block span i{color:#74aaf0}.ga-undo-block strong{padding:5px 7px;border-radius:5px;background:rgba(37,99,235,.13);color:#a8ccff;font-size:7px;letter-spacing:.2px}.ga-undo-block:hover strong{background:rgba(37,99,235,.22);color:#d7eaff}
@keyframes gaUndoIn{from{opacity:0;transform:translate(-50%,5px)}to{opacity:1;transform:translate(-50%,0)}}
[data-ga-preview-block]{-webkit-touch-callout:none}
@media(max-width:720px){.ga-context-menu{width:205px}.ga-context-menu>button{height:32px}.ga-undo-block{bottom:4.2%;transform:translateX(-50%) scale(.9);transform-origin:center bottom}}

/* ===== V12.65 — Gerador · fundos adaptativos ===== */
.ga-roadmap-items{grid-template-columns:repeat(6,1fr)}
.ga-background-suggestions-wrap{
    margin:-3px 0 12px;padding:9px 11px 10px;border:1px solid rgba(148,163,184,.08);
    background:rgba(10,20,33,.72);border-radius:10px;
}
.ga-background-suggestions-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.ga-background-suggestions-head>div>span{display:block;color:#6280a4;font-size:7.5px;font-weight:900;letter-spacing:.8px}
.ga-background-suggestions-head>div>strong{display:block;margin-top:2px;color:#afc0d5;font-size:9.5px}
.ga-background-suggestions-head>small{color:#53677f;font-size:7.7px}.ga-background-suggestions-head>small i{color:#6ca8f5;margin-right:4px}
.ga-background-suggestions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.ga-bg-option{
    min-width:0;min-height:48px;display:grid;grid-template-columns:48px minmax(0,1fr) 18px;align-items:center;gap:8px;
    padding:6px 7px;border:1px solid rgba(148,163,184,.085);background:#091421;border-radius:8px;color:inherit;text-align:left;cursor:pointer;
    transition:border-color .14s ease,background .14s ease,transform .14s ease;
}
.ga-bg-option:hover{border-color:rgba(96,165,250,.24);background:#0c1928;transform:translateY(-1px)}
.ga-bg-option.ativo{border-color:rgba(96,165,250,.4);background:rgba(37,99,235,.07);box-shadow:inset 0 0 0 1px rgba(96,165,250,.04)}
.ga-bg-option>span{min-width:0}.ga-bg-option>span strong{display:block;color:#c6d5e6;font-size:8.4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ga-bg-option>span small{display:block;margin-top:2px;color:#53677f;font-size:6.7px;line-height:1.22;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ga-bg-option.ativo>span strong{color:#e5f0ff}.ga-bg-option>b{width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:#2563eb;color:white;font-size:7px}
.ga-bg-mini{position:relative;width:48px;aspect-ratio:16/9;display:block;overflow:hidden;border-radius:4px;border:1px solid rgba(148,163,184,.1);background:linear-gradient(145deg,#12325a,#081827)}
.ga-bg-mini i{position:absolute;display:block;pointer-events:none}
.ga-bg-mini i:nth-child(1){left:5px;top:5px;width:18px;height:2px;border-radius:2px;background:rgba(235,245,255,.67)}
.ga-bg-mini i:nth-child(2){left:5px;bottom:5px;width:22px;height:8px;border-radius:3px;background:rgba(37,99,235,.35)}
.ga-bg-mini i:nth-child(3){right:5px;top:5px;width:12px;height:12px;border-radius:50%;border:1px solid rgba(126,181,248,.25)}
.ga-bg-mini-auto{background:radial-gradient(circle at 78% 25%,rgba(37,99,235,.38),transparent 38%),linear-gradient(145deg,#12325a,#081827)}
.ga-bg-mini-aurora{background:radial-gradient(circle at 76% 30%,rgba(81,151,255,.55),transparent 35%),radial-gradient(circle at 18% 78%,rgba(18,78,146,.35),transparent 40%),linear-gradient(145deg,#12345f,#071625)}
.ga-bg-mini-grid{background:linear-gradient(rgba(100,164,245,.11) 1px,transparent 1px) 0 0/8px 8px,linear-gradient(90deg,rgba(100,164,245,.11) 1px,transparent 1px) 0 0/8px 8px,linear-gradient(145deg,#0d2948,#071523)}
.ga-bg-mini-clean{background:linear-gradient(135deg,#164170 0%,#0b263f 48%,#071827 100%)}
.ga-bg-mini-flow{background:linear-gradient(126deg,transparent 0 52%,rgba(73,139,224,.19) 52% 60%,transparent 60% 69%,rgba(73,139,224,.09) 69% 74%,transparent 74%),linear-gradient(145deg,#10335b,#071725)}

/* Pontos de luz se deslocam conforme a diagramação */
.ga-canvas-slide{--ga-bg-x:80%;--ga-bg-y:28%;--ga-bg-x2:14%;--ga-bg-y2:78%;--ga-flow-angle:126deg}
.ga-layout-editorial{--ga-bg-x:82%;--ga-bg-y:68%;--ga-bg-x2:16%;--ga-bg-y2:18%;--ga-flow-angle:118deg}
.ga-layout-metrics{--ga-bg-x:17%;--ga-bg-y:18%;--ga-bg-x2:83%;--ga-bg-y2:78%;--ga-flow-angle:132deg}
.ga-layout-dashboard{--ga-bg-x:78%;--ga-bg-y:16%;--ga-bg-x2:12%;--ga-bg-y2:82%;--ga-flow-angle:122deg}
.ga-layout-cards{--ga-bg-x:14%;--ga-bg-y:78%;--ga-bg-x2:86%;--ga-bg-y2:18%;--ga-flow-angle:116deg}
.ga-layout-split{--ga-bg-x:79%;--ga-bg-y:50%;--ga-bg-x2:14%;--ga-bg-y2:20%;--ga-flow-angle:108deg}
.ga-layout-media-dashboard{--ga-bg-x:84%;--ga-bg-y:53%;--ga-bg-x2:15%;--ga-bg-y2:17%;--ga-flow-angle:112deg}
.ga-layout-image{--ga-bg-x:50%;--ga-bg-y:50%;--ga-bg-x2:12%;--ga-bg-y2:82%;--ga-flow-angle:125deg}

.ga-canvas-slide.ga-bg-aurora{
    background:
        radial-gradient(circle at var(--ga-bg-x) var(--ga-bg-y),rgba(58,133,232,.30),transparent 31%),
        radial-gradient(circle at var(--ga-bg-x2) var(--ga-bg-y2),rgba(26,81,151,.19),transparent 34%),
        linear-gradient(138deg,#123763 0%,#0a2138 47%,#061522 100%)!important;
}
.ga-canvas-slide.ga-bg-grid{
    background:
        linear-gradient(rgba(105,165,238,.045) 1px,transparent 1px) 0 0/42px 42px,
        linear-gradient(90deg,rgba(105,165,238,.045) 1px,transparent 1px) 0 0/42px 42px,
        radial-gradient(circle at var(--ga-bg-x) var(--ga-bg-y),rgba(37,99,235,.16),transparent 31%),
        linear-gradient(145deg,#0b2948 0%,#081c30 52%,#06131f 100%)!important;
}
.ga-canvas-slide.ga-bg-clean{
    background:linear-gradient(132deg,#164475 0%,#0b2945 46%,#071a2b 100%)!important;
}
.ga-canvas-slide.ga-bg-flow{
    background:
        linear-gradient(var(--ga-flow-angle),transparent 0 52%,rgba(64,132,219,.105) 52.2% 59%,transparent 59.2% 67%,rgba(64,132,219,.052) 67.2% 72%,transparent 72.2%),
        radial-gradient(circle at var(--ga-bg-x) var(--ga-bg-y),rgba(37,99,235,.18),transparent 31%),
        linear-gradient(145deg,#10345d 0%,#0a2138 48%,#061522 100%)!important;
}
.ga-canvas-slide.ga-bg-clean:after{opacity:.22}
.ga-canvas-slide.ga-bg-grid:after{opacity:.24}
.ga-canvas-slide.ga-bg-aurora:after{opacity:.45}
.ga-canvas-slide.ga-bg-flow:after{opacity:.18}
.ga-canvas-slide.ga-layout-image.ga-layout-variant-image-full:after{background:linear-gradient(90deg,rgba(4,14,24,.24),transparent 55%)!important;opacity:1!important;z-index:2}

/* Miniaturas também refletem o fundo escolhido */
.ga-thumb-canvas.ga-thumb-bg-aurora{background:radial-gradient(circle at 79% 30%,rgba(67,142,238,.34),transparent 35%),linear-gradient(145deg,#12365e,#071725)!important}
.ga-thumb-canvas.ga-thumb-bg-grid{background:linear-gradient(rgba(105,165,238,.05) 1px,transparent 1px) 0 0/9px 9px,linear-gradient(90deg,rgba(105,165,238,.05) 1px,transparent 1px) 0 0/9px 9px,linear-gradient(145deg,#0c2947,#071522)!important}
.ga-thumb-canvas.ga-thumb-bg-clean{background:linear-gradient(135deg,#15416f,#0a2843 52%,#071827)!important}
.ga-thumb-canvas.ga-thumb-bg-flow{background:linear-gradient(125deg,transparent 0 55%,rgba(65,132,218,.11) 55% 63%,transparent 63% 71%,rgba(65,132,218,.05) 71% 75%,transparent 75%),linear-gradient(145deg,#10345b,#071725)!important}

@media(max-width:1250px){.ga-background-suggestions{grid-template-columns:repeat(2,minmax(0,1fr))}.ga-roadmap-items{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.ga-background-suggestions{grid-template-columns:1fr 1fr}.ga-background-suggestions-head>small{display:none}.ga-bg-option{grid-template-columns:42px minmax(0,1fr) 18px}.ga-bg-mini{width:42px}.ga-roadmap-items{grid-template-columns:1fr}}

/* ===== V12.66 — Gerador · Auto Layout V2 + temas claros + tipografia responsiva ===== */
.ga-background-suggestions{grid-template-columns:repeat(3,minmax(0,1fr))}
.ga-bg-mini-light{
    background:radial-gradient(circle at 78% 24%,rgba(37,99,235,.16),transparent 38%),linear-gradient(145deg,#ffffff,#edf5fc);
    border-color:rgba(30,64,175,.14)
}
.ga-bg-mini-light-grid{
    background:linear-gradient(rgba(37,99,235,.09) 1px,transparent 1px) 0 0/8px 8px,
               linear-gradient(90deg,rgba(37,99,235,.09) 1px,transparent 1px) 0 0/8px 8px,
               linear-gradient(145deg,#fafdff,#eaf3fb);
    border-color:rgba(30,64,175,.14)
}
.ga-bg-mini-light i:nth-child(1),.ga-bg-mini-light-grid i:nth-child(1){background:#173a64}
.ga-bg-mini-light i:nth-child(2),.ga-bg-mini-light-grid i:nth-child(2){background:rgba(37,99,235,.28)}
.ga-bg-mini-light i:nth-child(3),.ga-bg-mini-light-grid i:nth-child(3){border-color:rgba(37,99,235,.24)}

.ga-canvas-slide.ga-bg-light{
    background:
        radial-gradient(circle at var(--ga-bg-x) var(--ga-bg-y),rgba(37,99,235,.12),transparent 30%),
        radial-gradient(circle at var(--ga-bg-x2) var(--ga-bg-y2),rgba(14,116,144,.07),transparent 34%),
        linear-gradient(145deg,#ffffff 0%,#f6faff 52%,#edf5fc 100%)!important;
}
.ga-canvas-slide.ga-bg-light-grid{
    background:
        linear-gradient(rgba(37,99,235,.055) 1px,transparent 1px) 0 0/54px 54px,
        linear-gradient(90deg,rgba(37,99,235,.055) 1px,transparent 1px) 0 0/54px 54px,
        radial-gradient(circle at var(--ga-bg-x) var(--ga-bg-y),rgba(37,99,235,.10),transparent 30%),
        linear-gradient(145deg,#ffffff 0%,#f4f9fe 56%,#eaf3fb 100%)!important;
}
.ga-canvas-slide.ga-bg-light:after,
.ga-canvas-slide.ga-bg-light-grid:after{
    background:repeating-linear-gradient(116deg,transparent 0 84px,rgba(37,99,235,.035) 85px 86px,transparent 87px 170px)!important;
    opacity:.44!important;
}
.ga-canvas-slide.ga-theme-light{box-shadow:0 25px 70px rgba(15,42,70,.18)}
.ga-theme-light .ga-slide-brand span{color:rgba(31,64,99,.48);border-left-color:rgba(31,64,99,.15)}
.ga-theme-light .ga-render-title{color:#102a46!important}
.ga-theme-light .ga-render-section-title{color:#183a5f!important}
.ga-theme-light .ga-render-text{color:#60758d!important}
.ga-theme-light .ga-render-number{
    background:rgba(255,255,255,.70)!important;border-color:rgba(37,99,235,.15)!important;
    box-shadow:0 8px 24px rgba(33,72,113,.06)
}
.ga-theme-light .ga-render-number small{color:#6b8097!important}
.ga-theme-light .ga-render-number strong{color:#102a46!important}
.ga-theme-light .ga-render-card{
    background:rgba(255,255,255,.72)!important;border-color:rgba(31,84,139,.13)!important;
    box-shadow:0 8px 24px rgba(33,72,113,.055)
}
.ga-theme-light .ga-render-card strong{color:#173a60!important}
.ga-theme-light .ga-render-card p{color:#6b7f95!important}
.ga-theme-light .ga-render-card>span{background:#2563eb!important}
.ga-theme-light .ga-canvas-guide{border-color:rgba(37,99,235,.12)!important}
.ga-theme-light .ga-canvas-guide:before,.ga-theme-light .ga-canvas-guide:after{border-color:rgba(37,99,235,.07)!important}
.ga-theme-light .ga-canvas-guide span{background:#6aa2ea!important}
.ga-theme-light #gaCanvasFooter{color:#7890a8!important}
.ga-theme-light .ga-render-image.filled{background:#edf4fb;border-color:rgba(31,84,139,.12)}
.ga-theme-light .ga-preview-editable:hover{background-color:rgba(37,99,235,.045)}
.ga-theme-light .ga-preview-editable.ga-inline-editing{background:rgba(255,255,255,.76);box-shadow:0 0 0 5px rgba(37,99,235,.07)}

/* O conteúdo sempre respeita a zona da marca. */
.ga-canvas-content{top:18.5%;bottom:10.8%}
.ga-dense .ga-canvas-content,.ga-fit-tight .ga-canvas-content{top:17.5%;bottom:9.8%}
.ga-fit-critical .ga-canvas-content{top:16.8%;bottom:9.2%}
.ga-render-layout{
    grid-template-rows:auto minmax(0,1fr);
    gap:var(--ga-layout-gap,14px);
    min-height:0;
    align-content:stretch;
}
.ga-render-copy{min-height:0;align-self:start;max-width:82%}
.ga-canvas-slide .ga-render-title{
    font-size:var(--ga-title-size,48px)!important;
    line-height:.94!important;
    letter-spacing:clamp(-2.2px,-.04em,-1px)!important;
    overflow-wrap:anywhere;
}
.ga-canvas-slide .ga-render-section-title{font-size:var(--ga-section-size,15px)!important;line-height:1.08!important}
.ga-canvas-slide .ga-render-text{font-size:var(--ga-body-size,11px)!important;line-height:1.46!important}
.ga-canvas-slide .ga-render-number small{font-size:var(--ga-number-label-size,7.5px)!important}
.ga-canvas-slide .ga-render-number strong{font-size:var(--ga-number-size,36px)!important;line-height:.94!important;letter-spacing:-.035em!important}
.ga-canvas-slide .ga-render-card strong{font-size:var(--ga-card-title-size,10.5px)!important;line-height:1.12!important}
.ga-canvas-slide .ga-render-card p{font-size:var(--ga-card-body-size,9px)!important;line-height:1.4!important}

/* Grids passam a reagir à quantidade real de blocos. */
.ga-render-metrics,.ga-render-cards{min-width:0;min-height:0;align-content:stretch}
.ga-render-metrics{grid-auto-rows:minmax(0,1fr);gap:var(--ga-layout-gap,10px)}
.ga-render-cards{grid-auto-rows:minmax(0,1fr);gap:var(--ga-layout-gap,9px)}
.ga-render-metrics.ga-count-1{grid-template-columns:minmax(0,1fr)}
.ga-render-metrics.ga-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ga-render-metrics.ga-count-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ga-render-metrics.ga-count-4{grid-template-columns:repeat(2,minmax(0,1fr))}
.ga-render-metrics.ga-count-5,.ga-render-metrics.ga-count-6{grid-template-columns:repeat(3,minmax(0,1fr))}
.ga-render-cards.ga-count-1{grid-template-columns:minmax(0,1fr)}
.ga-render-cards.ga-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ga-render-cards.ga-count-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ga-render-cards.ga-count-4{grid-template-columns:repeat(2,minmax(0,1fr))}
.ga-render-cards.ga-count-5,.ga-render-cards.ga-count-6{grid-template-columns:repeat(3,minmax(0,1fr))}
.ga-render-number,.ga-render-card{box-sizing:border-box;min-height:0!important;height:auto!important;overflow:hidden}

/* Dashboard: números e contexto deixam de disputar 100% da altura. */
.ga-layout-dashboard .ga-render-layout{grid-template-rows:auto minmax(0,1fr);gap:var(--ga-layout-gap,10px)}
.ga-layout-dashboard .ga-render-copy{max-width:78%;align-self:start}
.ga-layout-dashboard .ga-render-dashboard-body{
    height:100%;min-height:0;
    grid-template-columns:minmax(185px,.82fr) minmax(0,1.18fr);
    gap:var(--ga-layout-gap,10px)
}
.ga-layout-dashboard .ga-render-dashboard-body .ga-render-metrics{
    grid-template-columns:1fr!important;
    grid-auto-rows:minmax(0,1fr);
    height:100%
}
.ga-layout-dashboard .ga-render-dashboard-body .ga-render-cards{
    height:100%;grid-auto-rows:minmax(0,1fr)
}
.ga-layout-dashboard .ga-render-dashboard-body .ga-render-number,
.ga-layout-dashboard .ga-render-dashboard-body .ga-render-card{height:auto!important;min-height:0!important;justify-content:center}

.ga-layout-dashboard.ga-layout-variant-stack .ga-render-dashboard-body{
    grid-template-columns:1fr;
    grid-template-rows:minmax(0,.86fr) minmax(0,1.14fr)
}
.ga-layout-dashboard.ga-layout-variant-stack .ga-render-metrics{grid-template-columns:repeat(var(--ga-metric-cols,3),minmax(0,1fr))!important;grid-auto-rows:minmax(0,1fr)}
.ga-layout-dashboard.ga-layout-variant-stack.ga-num-count-1 .ga-render-metrics{--ga-metric-cols:1}
.ga-layout-dashboard.ga-layout-variant-stack.ga-num-count-2 .ga-render-metrics{--ga-metric-cols:2}
.ga-layout-dashboard.ga-layout-variant-stack.ga-num-count-3 .ga-render-metrics{--ga-metric-cols:3}
.ga-layout-dashboard.ga-layout-variant-stack.ga-num-count-4 .ga-render-metrics{--ga-metric-cols:4}
.ga-layout-dashboard.ga-layout-variant-stack .ga-render-cards{grid-template-columns:repeat(var(--ga-card-cols,2),minmax(0,1fr))!important}
.ga-layout-dashboard.ga-layout-variant-stack.ga-card-count-1 .ga-render-cards{--ga-card-cols:1}
.ga-layout-dashboard.ga-layout-variant-stack.ga-card-count-2 .ga-render-cards{--ga-card-cols:2}
.ga-layout-dashboard.ga-layout-variant-stack.ga-card-count-3 .ga-render-cards{--ga-card-cols:3}
.ga-layout-dashboard.ga-layout-variant-stack.ga-card-count-4 .ga-render-cards{--ga-card-cols:4}

.ga-layout-dashboard.ga-layout-variant-context-first .ga-render-dashboard-body{grid-template-columns:minmax(0,1.18fr) minmax(170px,.82fr)}
.ga-layout-dashboard.ga-layout-variant-context-first .ga-render-cards{grid-column:1;grid-row:1;grid-template-columns:repeat(2,minmax(0,1fr))!important}
.ga-layout-dashboard.ga-layout-variant-context-first .ga-render-metrics{grid-column:2;grid-row:1;grid-template-columns:1fr!important;grid-auto-rows:minmax(0,1fr)}

/* Métricas: hero e lateral passam a reservar espaço para título e números. */
.ga-layout-metrics .ga-render-layout{grid-template-rows:auto minmax(0,1fr);gap:var(--ga-layout-gap,12px)}
.ga-layout-metrics .ga-render-copy{max-width:82%}
.ga-layout-metrics .ga-render-metrics{height:100%;align-self:stretch}
.ga-layout-metrics .ga-render-number{justify-content:center}
.ga-layout-metrics.ga-layout-variant-metric-hero .ga-render-metrics{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(0,1fr)}
.ga-layout-metrics.ga-layout-variant-metric-hero .ga-render-number:first-child{grid-column:1/-1;min-height:0}
.ga-layout-metrics.ga-layout-variant-metric-side .ga-render-layout{
    grid-template-columns:minmax(0,.82fr) minmax(250px,1.18fr);
    grid-template-rows:minmax(0,1fr);
    gap:var(--ga-layout-gap,16px)
}
.ga-layout-metrics.ga-layout-variant-metric-side .ga-render-copy{align-self:center;max-width:100%;min-width:0}
.ga-layout-metrics.ga-layout-variant-metric-side .ga-render-metrics{grid-template-columns:1fr!important;grid-auto-rows:minmax(0,1fr);height:100%}

/* Cards: variações seguras para 1–6 blocos. */
.ga-layout-cards .ga-render-layout{grid-template-rows:auto minmax(0,1fr);gap:var(--ga-layout-gap,12px)}
.ga-layout-cards .ga-render-cards{height:100%;align-self:stretch}
.ga-layout-cards.ga-layout-variant-card-feature .ga-render-cards{grid-template-columns:minmax(0,1.22fr) minmax(180px,.78fr);grid-auto-rows:minmax(0,1fr)}
.ga-layout-cards.ga-layout-variant-card-feature.ga-card-count-2 .ga-render-card:first-child{grid-row:auto}
.ga-layout-cards.ga-layout-variant-card-stack .ga-render-cards{grid-template-columns:1fr!important;grid-auto-rows:minmax(0,1fr)}

/* Imagem + dados + contexto: três zonas reais, sem sobreposição. */
.ga-layout-media-dashboard .ga-render-layout{grid-template-rows:auto minmax(0,1fr);gap:var(--ga-layout-gap,10px)}
.ga-layout-media-dashboard .ga-render-copy{max-width:76%;align-self:start}
.ga-layout-media-dashboard .ga-render-media-dashboard-body{
    height:100%;min-height:0;
    grid-template-columns:minmax(0,1.15fr) minmax(210px,.85fr);
    gap:var(--ga-layout-gap,10px)
}
.ga-layout-media-dashboard .ga-render-media-dashboard-body>.ga-render-dashboard-body{
    height:100%;min-height:0;
    grid-template-columns:minmax(145px,.78fr) minmax(0,1.22fr);
    gap:var(--ga-layout-gap,8px)
}
.ga-layout-media-dashboard .ga-render-dashboard-body .ga-render-metrics{grid-template-columns:1fr!important;grid-auto-rows:minmax(0,1fr);height:100%}
.ga-layout-media-dashboard .ga-render-dashboard-body .ga-render-cards{height:100%;grid-auto-rows:minmax(0,1fr)}
.ga-layout-media-dashboard .ga-render-number,.ga-layout-media-dashboard .ga-render-card{height:auto!important;min-height:0!important;justify-content:center}
.ga-layout-media-dashboard .ga-render-images,.ga-layout-media-dashboard .ga-render-image{height:100%;min-height:0}
.ga-layout-media-dashboard.ga-layout-variant-media-left .ga-render-media-dashboard-body{grid-template-columns:minmax(210px,.84fr) minmax(0,1.16fr)}
.ga-layout-media-dashboard.ga-layout-variant-data-first .ga-render-media-dashboard-body{grid-template-columns:minmax(0,1.42fr) minmax(175px,.58fr)}

/* Split: a mídia respeita a área textual e a tipografia escolhida pelo motor. */
.ga-layout-split .ga-render-layout{gap:var(--ga-layout-gap,12px);column-gap:clamp(12px,2.5vw,24px)}
.ga-layout-split .ga-render-copy{align-self:start}
.ga-layout-split .ga-render-metrics,.ga-layout-split .ga-render-cards{align-self:stretch;min-height:0}
.ga-layout-split .ga-render-images{min-height:0}

.ga-fit-tight .ga-render-number,.ga-fit-tight .ga-render-card{padding:9px 11px!important}
.ga-fit-tight .ga-render-layout{gap:6px!important}
.ga-fit-critical .ga-render-number,.ga-fit-critical .ga-render-card{padding:7px 9px!important;border-radius:8px}
.ga-fit-critical .ga-render-layout{gap:5px!important}
.ga-fit-critical .ga-render-copy{max-width:88%}

/* Miniaturas também refletem fundos claros. */
.ga-thumb-bg-light,.ga-thumb-bg-light-grid{border-color:rgba(31,84,139,.12)!important}
.ga-thumb-bg-light{background:linear-gradient(145deg,#fff,#edf5fc)!important}
.ga-thumb-bg-light-grid{
    background:linear-gradient(rgba(37,99,235,.055) 1px,transparent 1px) 0 0/12px 12px,
               linear-gradient(90deg,rgba(37,99,235,.055) 1px,transparent 1px) 0 0/12px 12px,
               linear-gradient(145deg,#fff,#edf5fc)!important
}
.ga-thumb-bg-light .ga-thumb-brand,.ga-thumb-bg-light-grid .ga-thumb-brand{color:#4e7fb8}
.ga-thumb-bg-light>b,.ga-thumb-bg-light-grid>b{color:#173a60!important}
.ga-thumb-bg-light>i,.ga-thumb-bg-light-grid>i{color:#6b8097!important}
.ga-thumb-bg-light .ga-thumb-metrics>span,.ga-thumb-bg-light-grid .ga-thumb-metrics>span,
.ga-thumb-bg-light .ga-thumb-cards span,.ga-thumb-bg-light-grid .ga-thumb-cards span{background:rgba(255,255,255,.78);border-color:rgba(31,84,139,.11)}
.ga-thumb-bg-light .ga-thumb-metrics strong,.ga-thumb-bg-light-grid .ga-thumb-metrics strong{color:#173a60}

@media(max-width:1250px){.ga-background-suggestions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){
    .ga-background-suggestions{grid-template-columns:1fr 1fr}
    .ga-canvas-content{top:19%;bottom:10%}
    .ga-layout-dashboard.ga-layout-variant-context-first .ga-render-dashboard-body{grid-template-columns:1.08fr .92fr}
    .ga-layout-media-dashboard .ga-render-media-dashboard-body{grid-template-columns:1.08fr .92fr}
}


/* ===== V12.67 — Gerador de Apresentações · Fontes conectadas ===== */
.ga-source-box-connected{margin:15px 0;padding:11px;border:1px solid rgba(96,165,250,.14);border-radius:11px;background:linear-gradient(145deg,rgba(12,23,39,.94),rgba(8,17,30,.88))}
.ga-source-box-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.ga-source-box-head>div>span{display:block;color:#8595aa;font-size:9.5px;text-transform:uppercase;letter-spacing:.55px;font-weight:800}.ga-source-box-head>div>small{display:block;color:#53657c;font-size:8.5px;margin-top:2px}.ga-source-refresh{border:1px solid rgba(96,165,250,.22);background:rgba(37,99,235,.08);color:#8ebfff;border-radius:7px;padding:6px 8px;font-size:8.5px;font-weight:800;display:inline-flex;align-items:center;gap:5px}.ga-source-refresh b{display:inline-grid;place-items:center;min-width:16px;height:16px;border-radius:5px;background:rgba(37,99,235,.18);font-size:8px}.ga-source-refresh:disabled{opacity:.38;cursor:not-allowed}.ga-source-box-connected .ga-source-chips button:not(:disabled){cursor:pointer}.ga-source-box-connected .ga-source-chips button:not(:disabled):hover{border-color:rgba(96,165,250,.35);color:#a9ccff;background:rgba(37,99,235,.1)}
.ga-source-connection-summary{margin-top:8px;padding:7px 8px;border-radius:7px;background:rgba(15,23,42,.48);border:1px solid rgba(148,163,184,.08);display:flex;align-items:center;gap:6px;color:#64758c;font-size:8.5px}.ga-source-connection-summary i{color:#3b82f6}.ga-source-connection-summary strong{color:#a7cbff}
.ga-block-linked{font-style:normal;display:inline-flex;align-items:center;gap:3px;margin-left:3px;padding:2px 5px;border-radius:5px;background:rgba(37,99,235,.11);border:1px solid rgba(96,165,250,.18);color:#79aff8;font-size:7px;font-weight:800;text-transform:uppercase;letter-spacing:.25px}.ga-block-linked i{font-size:6px}
body.ga-source-modal-open{overflow:hidden}.ga-source-modal{position:fixed;inset:0;z-index:13000;background:rgba(2,8,18,.78);backdrop-filter:blur(7px);display:flex;align-items:center;justify-content:center;padding:24px}.ga-source-dialog{width:min(980px,96vw);height:min(680px,88vh);background:#0c1625;border:1px solid rgba(96,165,250,.19);border-radius:16px;box-shadow:0 28px 80px rgba(0,0,0,.45);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.ga-source-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid rgba(148,163,184,.1);background:linear-gradient(100deg,rgba(37,99,235,.08),transparent 55%)}.ga-source-dialog-head span{display:block;color:#4f8ff7;font-size:8px;font-weight:900;letter-spacing:.8px}.ga-source-dialog-head h3{margin:3px 0 4px;color:#f4f7fb;font-size:17px}.ga-source-dialog-head p{margin:0;color:#71839b;font-size:10px}.ga-source-dialog-head>button{width:32px;height:32px;border-radius:8px;border:1px solid rgba(148,163,184,.1);background:#111d2e;color:#8798ad;cursor:pointer}.ga-source-dialog-head>button:hover{color:#fff;border-color:rgba(96,165,250,.3)}
.ga-source-dialog-body{min-height:0;display:grid;grid-template-columns:42% 58%}.ga-source-record-column{min-width:0;padding:14px;border-right:1px solid rgba(148,163,184,.09);display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px}.ga-source-search{height:38px;border:1px solid rgba(148,163,184,.12);border-radius:9px;background:#0a1422;display:flex;align-items:center;gap:8px;padding:0 10px;color:#52647b}.ga-source-search input{flex:1;border:0;outline:0;background:transparent;color:#e5edf8;font:inherit;font-size:10px}.ga-source-record-list{min-height:0;overflow:auto;padding-right:4px;display:flex;flex-direction:column;gap:6px}.ga-source-record-list::-webkit-scrollbar{width:5px}.ga-source-record-list::-webkit-scrollbar-thumb{background:#26364d;border-radius:9px}.ga-source-loading{min-height:120px;display:flex;align-items:center;justify-content:center;gap:7px;color:#667990;font-size:10px;text-align:center}.ga-source-loading.erro{color:#f87171}.ga-source-record{width:100%;border:1px solid rgba(148,163,184,.09);background:#0b1523;border-radius:10px;padding:9px;text-align:left;color:inherit;display:grid;grid-template-columns:34px minmax(0,1fr) 14px;gap:9px;align-items:center;cursor:pointer}.ga-source-record:hover,.ga-source-record.ativo{border-color:rgba(96,165,250,.32);background:rgba(37,99,235,.07)}.ga-source-record.ativo{box-shadow:inset 2px 0 #3b82f6}.ga-source-record-icon{width:34px;height:34px;border-radius:8px;background:rgba(37,99,235,.12);display:grid;place-items:center;color:#60a5fa}.ga-source-record-icon.cotacao{color:#7dd3fc;background:rgba(14,165,233,.1)}.ga-source-record>span:nth-child(2){min-width:0}.ga-source-record strong,.ga-source-record small,.ga-source-record em{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ga-source-record strong{color:#e8eef7;font-size:9.5px}.ga-source-record small{color:#70829a;font-size:8.3px;margin-top:2px}.ga-source-record em{width:max-content;max-width:100%;font-style:normal;color:#52657d;font-size:7.5px;margin-top:3px;text-transform:uppercase}.ga-source-record em.status-aprovado{color:#4ade80}.ga-source-record em.status-reprovado{color:#f87171}.ga-source-record>i{color:#40526a;font-size:8px}
.ga-source-fields-column{min-width:0;padding:18px;overflow:auto}.ga-source-fields-empty{height:100%;min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#5f7289}.ga-source-fields-empty>span{width:44px;height:44px;border-radius:12px;background:#101c2d;display:grid;place-items:center;color:#4b82cb;margin-bottom:9px}.ga-source-fields-empty strong{color:#9aabc0;font-size:12px}.ga-source-fields-empty small{font-size:9px;margin-top:3px}.ga-source-selected-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:13px;border-bottom:1px solid rgba(148,163,184,.09)}.ga-source-selected-head span:first-child{display:block;color:#4f8ff7;font-size:7.5px;font-weight:900;letter-spacing:.6px}.ga-source-selected-head strong{display:block;color:#f1f5f9;font-size:15px;margin-top:2px}.ga-source-selected-head small{display:block;color:#71839a;font-size:8.5px;margin-top:3px}.ga-live-data{padding:5px 7px!important;border:1px solid rgba(74,222,128,.2);background:rgba(34,197,94,.07);border-radius:6px;color:#65d991!important;font-size:7px!important;display:inline-flex!important;align-items:center;gap:4px}.ga-source-fields-title{display:flex;align-items:end;justify-content:space-between;margin:14px 0 8px}.ga-source-fields-title span{color:#9bacbf;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.ga-source-fields-title small{color:#50637a;font-size:8px}.ga-source-field-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.ga-source-field-card{position:relative;min-width:0;border:1px solid rgba(148,163,184,.09);background:#0a1422;border-radius:10px;padding:9px;display:grid;grid-template-columns:31px minmax(0,1fr) 18px;gap:8px;align-items:center;cursor:pointer}.ga-source-field-card input{position:absolute;opacity:0;pointer-events:none}.ga-source-field-card:hover{border-color:rgba(96,165,250,.25)}.ga-source-field-card.ativo{border-color:rgba(59,130,246,.45);background:rgba(37,99,235,.075)}.ga-source-field-icon{width:31px;height:31px;border-radius:8px;background:#101e31;display:grid;place-items:center;color:#5f94db}.ga-source-field-card>span:nth-of-type(2){min-width:0}.ga-source-field-card strong,.ga-source-field-card small,.ga-source-field-card em{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ga-source-field-card strong{color:#dbe6f3;font-size:8.8px}.ga-source-field-card small{color:#6c7f96;font-size:7.8px;margin-top:2px}.ga-source-field-card em{font-style:normal;color:#45607f;font-size:6.8px;text-transform:uppercase;margin-top:3px}.ga-source-field-card>b{width:17px;height:17px;border-radius:5px;background:#172438;color:#41546c;display:grid;place-items:center;font-size:7px}.ga-source-field-card.ativo>b{background:#2563eb;color:white}
.ga-source-dialog-foot{padding:12px 18px;border-top:1px solid rgba(148,163,184,.09);display:flex;align-items:center;justify-content:space-between;gap:12px;background:#0a1421}.ga-source-dialog-foot>div{display:flex;align-items:center;gap:6px;color:#60738b;font-size:8.5px}.ga-source-dialog-foot>div i{color:#4f8ff7}.ga-source-dialog-actions{display:flex;gap:7px}.ga-source-dialog-actions button{border:1px solid rgba(148,163,184,.12);background:#111d2d;color:#a9b6c8;border-radius:8px;padding:8px 11px;font-size:9px;font-weight:800;cursor:pointer}.ga-source-dialog-actions button.primary{border-color:#2563eb;background:#2563eb;color:#fff}.ga-source-dialog-actions button:disabled{opacity:.4;cursor:not-allowed}
@media(max-width:900px){.ga-source-dialog-body{grid-template-columns:1fr}.ga-source-record-column{border-right:0;border-bottom:1px solid rgba(148,163,184,.09);max-height:250px}.ga-source-dialog{height:min(820px,94vh)}.ga-source-field-list{grid-template-columns:1fr}.ga-source-dialog-foot>div{display:none}}

/* ===== V12.69 — Gerador · editor estrutural + fit real de Big Numbers ===== */
.ga-workspace-v3{
    grid-template-columns:180px minmax(0,1fr) 230px!important;
    gap:12px!important;
    align-items:start;
    min-height:calc(100vh - 160px);
}
.ga-editor-main{min-width:0;display:grid;gap:10px}
.ga-editor-projectbar{
    display:flex;align-items:end;justify-content:space-between;gap:18px;
    padding:0 2px 2px;
}
.ga-project-name-field{min-width:0;flex:1;display:block}
.ga-project-name-field>span{display:block;margin-bottom:5px;color:#60738c;font-size:7.5px;font-weight:900;letter-spacing:.8px}
.ga-project-name-field input{
    width:100%;border:0;border-bottom:1px solid rgba(148,163,184,.12);background:transparent;
    color:#eef5ff;font-size:15px;font-weight:800;padding:2px 0 7px;outline:none;
}
.ga-project-name-field input:focus{border-bottom-color:rgba(96,165,250,.5)}
.ga-projectbar-meta{text-align:right;white-space:nowrap;padding-bottom:7px}
.ga-projectbar-meta>span{display:block;color:#5d9ef2;font-size:7px;font-weight:900;letter-spacing:.7px}
.ga-projectbar-meta>small{display:block;margin-top:3px;color:#677c95;font-size:8px;max-width:190px;overflow:hidden;text-overflow:ellipsis}

.ga-editor-tabs{display:flex;gap:6px;align-items:center}
.ga-editor-tabs button{
    min-width:150px;height:38px;border:1px solid rgba(148,163,184,.09);border-radius:9px 9px 0 0;
    background:#111d2d;color:#6f839a;font-size:9px;font-weight:900;letter-spacing:.35px;cursor:pointer;
}
.ga-editor-tabs button i{margin-right:7px;color:#5f7da1}
.ga-editor-tabs button:hover{color:#b9cee7;border-color:rgba(96,165,250,.2)}
.ga-editor-tabs button.ativo{background:#18283c;color:#eef6ff;border-color:rgba(96,165,250,.3);box-shadow:inset 0 -2px #3b82f6}
.ga-editor-tabs button.ativo i{color:#74b0ff}

.ga-editor-drawer{
    min-height:190px;max-height:250px;overflow:hidden;
    border:1px solid rgba(148,163,184,.1);background:#101a2a;border-radius:0 12px 12px 12px;
}
.ga-editor-pane{display:none;height:100%;min-height:190px;max-height:250px;padding:12px;box-sizing:border-box}
.ga-editor-pane.ativo{display:grid}
.ga-editor-pane-blocks{grid-template-columns:minmax(210px,.82fr) minmax(220px,.9fr) minmax(260px,1.28fr);gap:11px;align-items:stretch}
.ga-editor-mode-column,.ga-block-palette-v3,.ga-block-list-wrap-v3{
    min-width:0;min-height:0;padding:10px;border:1px solid rgba(148,163,184,.08);border-radius:9px;background:#0c1624;
}
.ga-editor-mode-column{overflow:auto;scrollbar-width:thin;scrollbar-color:#273b54 transparent}
.ga-editor-mode-intro p{margin:0 0 8px;color:#6d8199;font-size:8.5px;line-height:1.4}
.ga-field-compact textarea{min-height:62px!important;max-height:82px!important;resize:vertical!important}
.ga-editor-mode-column .ga-primary-action{margin-top:7px;padding:8px 10px;font-size:8.5px}
.ga-editor-mode-column .ga-mode-fields{margin-top:0}
.ga-editor-mode-column .ga-free-intro{margin:0}
.ga-block-palette-v3{display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}
.ga-block-palette-v3>div:not(.ga-builder-title-row){display:grid;grid-template-columns:1fr 1fr;gap:6px;align-content:start;overflow:auto;padding-right:2px}
.ga-block-palette-v3 button{min-height:34px!important;padding:7px 8px!important}
.ga-block-list-wrap-v3{display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;position:relative}
.ga-block-list-wrap-v3 .ga-block-list{min-height:0;max-height:none!important;overflow:auto;padding-right:3px}
.ga-block-list-wrap-v3 .ga-block-empty{position:absolute;inset:39px 10px 10px;display:flex;align-items:center;justify-content:center}
.ga-editor-pane-sources{grid-template-columns:1fr}
.ga-source-box-v3{margin:0!important;height:100%;box-sizing:border-box;display:grid;grid-template-rows:auto auto auto;align-content:start}
.ga-source-chips-v3{grid-template-columns:repeat(4,minmax(0,1fr))!important}

.ga-canvas-area-v3{padding:12px!important;border-radius:12px!important}
.ga-canvas-area-v3 .ga-canvas-toolbar{margin-bottom:8px}
.ga-canvas-stage-v3{
    min-height:clamp(440px,calc(100vh - 455px),760px)!important;
    padding:16px!important;
}
.ga-canvas-stage-v3 .ga-canvas-slide{width:min(100%,1180px)}

.ga-style-rail{
    position:sticky;top:164px;height:calc(100vh - 188px);min-height:560px;
    overflow:auto;padding:11px;border:1px solid rgba(148,163,184,.11);background:#101a2b;border-radius:15px;
    scrollbar-width:thin;scrollbar-color:#263c59 transparent;
}
.ga-style-rail::-webkit-scrollbar{width:4px}.ga-style-rail::-webkit-scrollbar-thumb{background:#263c59;border-radius:8px}
.ga-style-rail .ga-style-section{margin:0 0 11px!important;padding:0!important;border:0!important;background:transparent!important;border-radius:0!important}
.ga-style-rail .ga-layout-suggestions-head,.ga-style-rail .ga-background-suggestions-head{margin-bottom:7px;padding:0 1px}
.ga-style-rail .ga-layout-suggestions-head>div>span,.ga-style-rail .ga-background-suggestions-head>div>span{font-size:8px;color:#7d91aa}
.ga-style-rail .ga-layout-suggestions-head>div>strong,.ga-style-rail .ga-background-suggestions-head>div>strong{font-size:8px;color:#556a82;font-weight:700}
.ga-style-rail .ga-layout-suggestions,.ga-style-rail .ga-background-suggestions{grid-template-columns:1fr!important;gap:7px}
.ga-style-rail .ga-layout-option,.ga-style-rail .ga-bg-option{
    min-height:88px;display:grid;grid-template-columns:1fr 18px;grid-template-rows:auto auto;gap:5px 7px;padding:7px;
}
.ga-style-rail .ga-layout-option>.ga-layout-mini,.ga-style-rail .ga-bg-option>.ga-bg-mini{
    grid-column:1/-1;width:100%;aspect-ratio:16/7;border-radius:6px;
}
.ga-style-rail .ga-layout-option>span:not(.ga-layout-mini),.ga-style-rail .ga-bg-option>span:not(.ga-bg-mini){grid-column:1;grid-row:2;min-width:0}
.ga-style-rail .ga-layout-option>b,.ga-style-rail .ga-bg-option>b{grid-column:2;grid-row:2;align-self:center}
.ga-style-rail .ga-layout-option>span strong,.ga-style-rail .ga-bg-option>span strong{font-size:8.2px}
.ga-style-rail .ga-layout-option>span small,.ga-style-rail .ga-bg-option>span small{display:none}
.ga-style-rail .ga-layout-mini i:nth-child(1){top:8px;left:8px;width:40%;height:4px}
.ga-style-rail .ga-layout-mini i:nth-child(2){top:16px;left:8px;width:28%;height:3px}
.ga-style-rail .ga-bg-mini i:nth-child(1){left:7px;top:7px;width:28px;height:3px}
.ga-style-rail .ga-bg-mini i:nth-child(2){left:7px;bottom:7px;width:38px;height:11px}
.ga-style-rail .ga-bg-mini i:nth-child(3){right:8px;top:8px;width:18px;height:18px}

/* Big Number nunca pode terminar em reticências: primeiro compacta o card, depois a fonte. */
.ga-canvas-slide .ga-render-number strong{
    width:100%;max-width:100%;display:block;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;
    font-variant-numeric:tabular-nums;
}
.ga-canvas-slide .ga-render-number.ga-number-long{padding-left:10px!important;padding-right:10px!important}
.ga-canvas-slide .ga-render-number.ga-number-xlong{padding-left:7px!important;padding-right:7px!important}
.ga-canvas-slide .ga-render-number.ga-number-force-compact{padding:6px!important}
.ga-canvas-slide .ga-render-number.ga-number-force-compact small{margin-bottom:1px}
.ga-canvas-slide .ga-render-metrics{align-items:stretch}
.ga-canvas-slide .ga-render-number{justify-content:center!important}

@media(max-width:1500px){
    .ga-workspace-v3{grid-template-columns:165px minmax(0,1fr) 205px!important}
    .ga-editor-pane-blocks{grid-template-columns:minmax(190px,.78fr) minmax(195px,.82fr) minmax(235px,1.4fr)}
    .ga-editor-tabs button{min-width:132px}
    .ga-style-rail{padding:9px}
}
@media(max-width:1260px){
    .ga-workspace-v3{grid-template-columns:150px minmax(0,1fr) 190px!important;gap:9px!important}
    .ga-editor-pane-blocks{grid-template-columns:1fr 1fr}
    .ga-editor-mode-column{display:none}
    .ga-editor-drawer,.ga-editor-pane{max-height:225px}
    .ga-canvas-stage-v3{min-height:430px!important}
}
@media(max-width:1080px){
    .ga-workspace-v3{grid-template-columns:1fr!important}
    .ga-style-rail{position:static;height:auto;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
    .ga-style-rail .ga-style-section{margin:0!important}
    .ga-style-rail .ga-layout-suggestions,.ga-style-rail .ga-background-suggestions{grid-template-columns:repeat(3,minmax(0,1fr))!important}
    .ga-editor-main{order:2}.ga-slides-rail{order:1}.ga-style-rail{order:3}
    .ga-editor-pane-blocks{grid-template-columns:1fr 1fr}.ga-editor-mode-column{display:block}
}
@media(max-width:720px){
    .ga-editor-projectbar{align-items:stretch;flex-direction:column;gap:4px}.ga-projectbar-meta{text-align:left;padding-bottom:2px}
    .ga-editor-tabs button{min-width:0;flex:1}
    .ga-editor-drawer,.ga-editor-pane{max-height:none}.ga-editor-pane-blocks{grid-template-columns:1fr}.ga-editor-pane{overflow:auto}
    .ga-style-rail{grid-template-columns:1fr}.ga-style-rail .ga-layout-suggestions,.ga-style-rail .ga-background-suggestions{grid-template-columns:1fr 1fr!important}
    .ga-canvas-stage-v3{min-height:340px!important;padding:8px!important}
}

/* ===== V12.70 — Rail visual separado + enquadramento de imagem no preview ===== */
.ga-style-rail{
    display:flex!important;
    flex-direction:column;
    gap:12px!important;
    background:#0b1421!important;
    padding:10px!important;
}
.ga-style-rail .ga-style-section.ga-style-card{
    position:relative;
    margin:0!important;
    padding:10px!important;
    border-radius:13px!important;
    border:1px solid rgba(148,163,184,.12)!important;
    overflow:hidden;
    box-shadow:0 8px 24px rgba(2,8,18,.12);
}
.ga-style-rail .ga-style-section.ga-style-card:before{
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:3px;
    pointer-events:none;
}
.ga-style-rail .ga-style-card-layout{
    background:linear-gradient(155deg,rgba(24,47,76,.78),rgba(11,23,38,.96) 40%,rgba(9,18,30,.98))!important;
    border-color:rgba(83,148,230,.22)!important;
}
.ga-style-rail .ga-style-card-layout:before{background:linear-gradient(#60a5fa,#2563eb)}
.ga-style-rail .ga-style-card-background{
    background:linear-gradient(155deg,rgba(32,38,69,.72),rgba(14,22,39,.96) 42%,rgba(9,18,30,.98))!important;
    border-color:rgba(139,124,246,.20)!important;
}
.ga-style-rail .ga-style-card-background:before{background:linear-gradient(#a78bfa,#6366f1)}
.ga-style-card-label{
    display:flex;align-items:center;justify-content:space-between;gap:8px;
    margin:-2px 0 9px;padding:0 1px 8px;border-bottom:1px solid rgba(148,163,184,.09);
}
.ga-style-card-label>span{display:inline-flex;align-items:center;gap:6px;font-size:7px;font-weight:950;letter-spacing:.75px;color:#8ea2bb}
.ga-style-card-layout .ga-style-card-label>span i{color:#60a5fa}
.ga-style-card-background .ga-style-card-label>span i{color:#a78bfa}
.ga-style-card-label>small{font-size:6.7px;color:#4e6178;font-weight:700}
.ga-style-card-layout .ga-layout-suggestions-head>div>span{color:#88b9f8!important}
.ga-style-card-background .ga-background-suggestions-head>div>span{color:#b4a8fb!important}
.ga-style-card-layout .ga-layout-option.ativo{border-color:rgba(96,165,250,.58)!important;box-shadow:inset 0 0 0 1px rgba(96,165,250,.12),0 0 0 1px rgba(37,99,235,.05)}
.ga-style-card-background .ga-bg-option.ativo{border-color:rgba(167,139,250,.5)!important;box-shadow:inset 0 0 0 1px rgba(167,139,250,.1),0 0 0 1px rgba(99,102,241,.05)}

.ga-image-position-row{
    display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:5px;
}
.ga-image-position-row>span{margin-right:auto;display:inline-flex;align-items:center;gap:5px;color:#60768f;font-size:7.2px;font-weight:800;text-transform:uppercase;letter-spacing:.35px}
.ga-image-position-row>span i{color:#5f9eea}
.ga-image-position-row button{
    border:1px solid rgba(96,165,250,.16);background:#101e31;color:#8db7eb;
    border-radius:6px;padding:5px 7px;font-size:7px;font-weight:800;cursor:pointer;
}
.ga-image-position-row button:hover{border-color:rgba(96,165,250,.34);background:rgba(37,99,235,.08);color:#c8e0ff}

.ga-render-image[data-ga-preview-block]{position:relative;touch-action:none}
.ga-preview-image-tools{
    position:absolute;z-index:7;left:50%;top:50%;transform:translate(-50%,-50%) translateY(4px);
    display:flex;align-items:center;gap:5px;padding:5px;border-radius:9px;
    background:rgba(4,13,24,.88);border:1px solid rgba(148,190,239,.18);box-shadow:0 12px 32px rgba(0,0,0,.24);
    opacity:0;pointer-events:none;transition:opacity .14s ease,transform .14s ease;
}
.ga-preview-image-tools button{
    pointer-events:auto;border:1px solid rgba(148,190,239,.12);background:#101d2e;color:#c9dbef;
    border-radius:6px;padding:6px 8px;display:inline-flex;align-items:center;gap:5px;font-size:7.5px;font-weight:850;cursor:pointer;white-space:nowrap;
}
.ga-preview-image-tools button:first-child{background:rgba(37,99,235,.17);border-color:rgba(96,165,250,.26);color:#9ec8ff}
.ga-preview-image-tools button:hover{border-color:rgba(96,165,250,.38);color:#fff}
.ga-render-image[data-ga-preview-block]:hover .ga-preview-image-tools,
.ga-render-image[data-ga-preview-block].ga-preview-block-selected .ga-preview-image-tools{opacity:1;transform:translate(-50%,-50%) translateY(0)}
.ga-render-image.ga-image-moving .ga-preview-image-tools{opacity:0!important;pointer-events:none!important}
.ga-render-image.ga-image-moving{cursor:grab!important;outline:2px solid rgba(96,165,250,.7)!important;outline-offset:3px;user-select:none}
.ga-render-image.ga-image-dragging{cursor:grabbing!important}
.ga-render-image.ga-image-moving:after{
    content:"";position:absolute;z-index:5;inset:0;border-radius:inherit;pointer-events:none;
    background:linear-gradient(rgba(96,165,250,.05),rgba(96,165,250,.02));
    box-shadow:inset 0 0 0 1px rgba(96,165,250,.18);
}
.ga-image-move-hint{
    position:absolute;z-index:9;left:50%;top:12px;transform:translateX(-50%);
    display:flex;align-items:center;gap:6px;padding:6px 7px;border-radius:8px;
    background:rgba(5,15,27,.9);border:1px solid rgba(96,165,250,.27);color:#bbd8fb;
    font-size:7.2px;font-weight:800;white-space:nowrap;box-shadow:0 9px 24px rgba(0,0,0,.22);
}
.ga-image-move-hint>i{color:#60a5fa}.ga-image-move-hint>b{font-size:6.5px;color:#597692;font-variant-numeric:tabular-nums}
.ga-image-move-hint button{border:1px solid rgba(148,190,239,.12);background:#101d2e;color:#8eaac8;border-radius:5px;padding:4px 6px;font-size:6.7px;font-weight:800;cursor:pointer}
.ga-image-move-hint button.done{background:#2563eb;border-color:#2563eb;color:#fff}
.ga-image-move-hint button:hover{color:#fff}
.ga-render-image.ga-image-moving figcaption{pointer-events:none!important}

/* a ação antiga fica desativada; V12.70 usa a toolbar Mover/Trocar */
.ga-preview-image-action{display:none!important}

@media(max-width:1080px){
    .ga-style-rail{display:grid!important;grid-template-columns:1fr 1fr!important;align-items:start}
}
@media(max-width:720px){
    .ga-style-rail{grid-template-columns:1fr!important}
    .ga-image-move-hint{top:7px;max-width:92%;font-size:6px;gap:4px}
    .ga-image-move-hint b{display:none}
}


/* ===== V12.71 — enquadramento de imagem: ações confiáveis + escala ===== */
.ga-render-image img{transform-origin:center center!important;will-change:transform,object-position}
.ga-image-scale-row{
    display:grid;grid-template-columns:auto minmax(90px,1fr) 34px;align-items:center;gap:7px;margin-top:6px;
    padding:6px 7px;border:1px solid rgba(96,165,250,.10);border-radius:7px;background:rgba(8,23,39,.42);
}
.ga-image-scale-row>span{display:inline-flex;align-items:center;gap:5px;color:#60768f;font-size:7.1px;font-weight:850;text-transform:uppercase;letter-spacing:.32px}
.ga-image-scale-row>span i{color:#5f9eea}
.ga-image-scale-row>b{font-size:7px;color:#8fb7e5;text-align:right;font-variant-numeric:tabular-nums}
.ga-image-scale-row input[type=range],.ga-image-scale-control input[type=range]{
    width:100%;height:14px;margin:0;appearance:none;-webkit-appearance:none;background:transparent;cursor:pointer;
}
.ga-image-scale-row input[type=range]::-webkit-slider-runnable-track,.ga-image-scale-control input[type=range]::-webkit-slider-runnable-track{height:3px;border-radius:999px;background:linear-gradient(90deg,#2563eb,#60a5fa)}
.ga-image-scale-row input[type=range]::-webkit-slider-thumb,.ga-image-scale-control input[type=range]::-webkit-slider-thumb{
    -webkit-appearance:none;width:11px;height:11px;border-radius:50%;background:#fff;border:2px solid #3b82f6;margin-top:-4px;box-shadow:0 2px 8px rgba(0,0,0,.28)
}
.ga-image-scale-row input[type=range]::-moz-range-track,.ga-image-scale-control input[type=range]::-moz-range-track{height:3px;border:0;border-radius:999px;background:#3b82f6}
.ga-image-scale-row input[type=range]::-moz-range-thumb,.ga-image-scale-control input[type=range]::-moz-range-thumb{width:9px;height:9px;border-radius:50%;background:#fff;border:2px solid #3b82f6;box-shadow:0 2px 8px rgba(0,0,0,.28)}
.ga-image-move-hint{gap:7px;max-width:calc(100% - 18px)}
.ga-image-move-main{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.ga-image-move-main>i{color:#60a5fa}
.ga-image-scale-control{
    display:grid;grid-template-columns:10px 92px 30px;align-items:center;gap:5px;min-width:142px;
    padding:2px 5px;border-radius:6px;background:rgba(14,31,50,.78);border:1px solid rgba(96,165,250,.12);
}
.ga-image-scale-control>i{font-size:6.5px;color:#6faaf0}
.ga-image-scale-control>b{font-size:6.5px;color:#9ec8f8;text-align:right;font-variant-numeric:tabular-nums}
.ga-image-move-hint button{position:relative;z-index:2}
.ga-image-moving .ga-image-move-hint,.ga-image-moving .ga-image-move-hint *{pointer-events:auto}
@media(max-width:900px){
    .ga-image-move-hint{flex-wrap:wrap;justify-content:center;white-space:normal;width:min(330px,92%)}
    .ga-image-scale-control{grid-template-columns:10px minmax(76px,1fr) 30px;min-width:132px}
}


/* ===== V12.72 — arraste direto de blocos no preview ===== */
[data-ga-preview-block]{position:relative}
body.ga-block-reordering,body.ga-block-reordering *{cursor:grabbing!important;user-select:none!important}
[data-ga-preview-block].ga-block-drag-source{
    opacity:.42!important;filter:saturate(.65) brightness(.9);outline:2px dashed rgba(96,165,250,.55)!important;
    outline-offset:4px!important;
}
[data-ga-preview-block].ga-block-drop-top:after,
[data-ga-preview-block].ga-block-drop-bottom:after,
[data-ga-preview-block].ga-block-drop-left:after,
[data-ga-preview-block].ga-block-drop-right:after{
    content:"";position:absolute;z-index:30;pointer-events:none;background:#60a5fa;
    box-shadow:0 0 0 2px rgba(37,99,235,.15),0 0 12px rgba(96,165,250,.65);border-radius:999px;
}
[data-ga-preview-block].ga-block-drop-top:after{left:0;right:0;top:-5px;height:3px}
[data-ga-preview-block].ga-block-drop-bottom:after{left:0;right:0;bottom:-5px;height:3px}
[data-ga-preview-block].ga-block-drop-left:after{top:0;bottom:0;left:-5px;width:3px}
[data-ga-preview-block].ga-block-drop-right:after{top:0;bottom:0;right:-5px;width:3px}
.ga-preview-block:not(.ga-image-moving),.ga-render-title[data-ga-preview-block],.ga-render-text[data-ga-preview-block],.ga-render-section-title[data-ga-preview-block]{cursor:grab}
.ga-preview-editable{cursor:text}
.ga-inline-editing{cursor:text!important}
.ga-render-image.ga-image-moving{cursor:grab!important}
.ga-render-image.ga-image-dragging{cursor:grabbing!important}

/* ===== V12.73 — Gerador: projetos salvos + autosave local ===== */
.ga-project-save-wrap{margin-left:auto;display:flex;align-items:center;gap:10px;padding-left:12px}
.ga-save-status{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:10.5px;font-weight:750;color:#64748b;padding:7px 9px;border-radius:9px;background:#f8fafc;border:1px solid #e2e8f0}
.ga-save-status[data-estado="salvo"]{color:#15803d;background:#f0fdf4;border-color:#bbf7d0}
.ga-save-status[data-estado="salvando"]{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}
.ga-save-status[data-estado="alterado"]{color:#a16207;background:#fffbeb;border-color:#fde68a}
.ga-save-status[data-estado="erro"]{color:#b91c1c;background:#fef2f2;border-color:#fecaca}
.ga-save-btn{border:0;border-radius:9px;background:#0f2f63;color:white;display:inline-flex;align-items:center;gap:7px;padding:8px 12px;font-size:11px;font-weight:800;cursor:pointer;box-shadow:0 6px 14px rgba(15,47,99,.16);transition:transform .16s ease,box-shadow .16s ease}
.ga-save-btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(15,47,99,.21)}
.ga-recent-projects{margin-top:24px;border:1px solid #dbe4ef;border-radius:18px;background:linear-gradient(180deg,#fff,#f8fafc);padding:18px;box-shadow:0 10px 28px rgba(15,23,42,.055)}
.ga-recent-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:13px}
.ga-recent-head>div>span{font-size:10px;letter-spacing:.12em;font-weight:900;color:#2563eb}
.ga-recent-head h3{margin:3px 0 0;color:#13213a;font-size:17px}
.ga-recent-head>small{font-size:10.5px;color:#64748b;display:flex;align-items:center;gap:6px}
.ga-recent-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ga-recent-card{position:relative;min-width:0;border:1px solid #e2e8f0;border-radius:13px;background:#fff;overflow:hidden;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}
.ga-recent-card:hover{border-color:#bfdbfe;transform:translateY(-1px);box-shadow:0 8px 18px rgba(15,23,42,.07)}
.ga-recent-open{width:100%;min-height:96px;padding:13px 36px 13px 12px;border:0;background:transparent;text-align:left;cursor:pointer;display:flex;align-items:flex-start;gap:10px}
.ga-recent-icon{width:31px;height:31px;flex:0 0 31px;border-radius:9px;background:#eff6ff;color:#2563eb;display:grid;place-items:center;font-size:12px}
.ga-recent-copy{min-width:0;display:flex;flex-direction:column;gap:3px}
.ga-recent-copy strong{font-size:12.5px;color:#172033;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ga-recent-copy small{font-size:10px;color:#64748b}
.ga-recent-copy em{font-size:9.5px;color:#94a3b8;font-style:normal;margin-top:4px}
.ga-recent-delete{position:absolute;right:7px;top:7px;width:27px;height:27px;border:0;border-radius:8px;background:transparent;color:#94a3b8;cursor:pointer;opacity:.25;transition:.15s}
.ga-recent-card:hover .ga-recent-delete{opacity:1}
.ga-recent-delete:hover{background:#fef2f2;color:#dc2626}
.ga-recent-empty{grid-column:1/-1;min-height:76px;border:1px dashed #cbd5e1;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:12px;color:#64748b;background:#fff}
.ga-recent-empty>span{width:34px;height:34px;border-radius:10px;background:#f1f5f9;display:grid;place-items:center;color:#64748b}
.ga-recent-empty div{display:flex;flex-direction:column;gap:2px}
.ga-recent-empty strong{font-size:12px;color:#334155}
.ga-recent-empty small{font-size:10px;color:#94a3b8}
@media(max-width:1180px){.ga-recent-list{grid-template-columns:repeat(2,minmax(0,1fr))}.ga-project-save-wrap{padding-left:0}.ga-save-status span{display:none}}
@media(max-width:760px){.ga-recent-list{grid-template-columns:1fr}.ga-recent-head{align-items:flex-start;flex-direction:column}.ga-project-save-wrap{width:100%;justify-content:flex-end}}

/* ===== V12.74 — Exportação completa do Gerador de Apresentações ===== */
.ga-export-btn{
    height:34px;border:1px solid rgba(96,165,250,.28);background:linear-gradient(135deg,#1f66d1,#174a9d);color:#f8fbff;
    border-radius:8px;padding:0 12px;font-size:9px;font-weight:900;letter-spacing:.2px;display:inline-flex;align-items:center;gap:7px;cursor:pointer;
    box-shadow:0 8px 22px rgba(30,88,160,.18);transition:transform .15s ease,border-color .15s ease,filter .15s ease
}
.ga-export-btn:hover{filter:brightness(1.08);border-color:rgba(125,185,255,.48);transform:translateY(-1px)}
.ga-export-modal{position:fixed;inset:0;z-index:100120;background:rgba(2,8,15,.74);backdrop-filter:blur(10px);display:grid;place-items:center;padding:22px}
.ga-export-dialog{width:min(760px,calc(100vw - 34px));max-height:calc(100vh - 40px);overflow:auto;border:1px solid rgba(148,163,184,.17);border-radius:18px;background:linear-gradient(180deg,#111d2e,#0b1522);box-shadow:0 34px 100px rgba(0,0,0,.48)}
.ga-export-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:20px 22px 16px;border-bottom:1px solid rgba(148,163,184,.09)}
.ga-export-head>div>span{display:block;color:#5f8bc2;font-size:8px;font-weight:950;letter-spacing:1px;margin-bottom:6px}.ga-export-head h3{margin:0;color:#f2f7fd;font-size:23px;letter-spacing:-.7px}.ga-export-head p{margin:6px 0 0;color:#71869e;font-size:10px;line-height:1.45}
.ga-export-head>button{width:32px;height:32px;border-radius:8px;border:1px solid rgba(148,163,184,.12);background:#0d1826;color:#71849c;cursor:pointer}.ga-export-head>button:hover{color:#fff;border-color:rgba(96,165,250,.3)}
.ga-export-body{padding:18px 22px 20px}.ga-export-summary{display:flex;align-items:center;gap:12px;border:1px solid rgba(96,165,250,.12);background:rgba(37,99,235,.055);border-radius:12px;padding:12px 14px;margin-bottom:14px}.ga-export-summary-icon{width:36px;height:36px;border-radius:9px;background:#1e58a0;color:#fff;display:grid;place-items:center;flex:0 0 auto}.ga-export-summary>div{min-width:0;flex:1}.ga-export-summary strong{display:block;color:#e9f2fc;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ga-export-summary small{display:block;color:#6f849c;font-size:8.5px;margin-top:3px}.ga-export-ready{font-size:7.5px;font-weight:950;letter-spacing:.55px;color:#71d4a3;background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.15);border-radius:999px;padding:6px 8px}.ga-export-ready i{margin-right:4px}
.ga-export-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.ga-export-option{position:relative;min-height:108px;border:1px solid rgba(148,163,184,.11);background:#0d1826;border-radius:12px;padding:13px;display:flex;flex-direction:column;gap:9px;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}.ga-export-option:hover{border-color:rgba(96,165,250,.25);transform:translateY(-1px)}.ga-export-option.ativo{border-color:rgba(96,165,250,.42);background:linear-gradient(145deg,rgba(37,99,235,.14),rgba(13,24,38,.92));box-shadow:inset 0 0 0 1px rgba(96,165,250,.07)}.ga-export-option input{position:absolute;opacity:0;pointer-events:none}.ga-export-option-icon{width:30px;height:30px;border-radius:8px;background:#15263a;color:#72a9ee;display:grid;place-items:center}.ga-export-option strong{display:block;color:#dce8f6;font-size:10px}.ga-export-option small{display:block;color:#667d96;font-size:8.2px;line-height:1.38;margin-top:3px}.ga-export-check{position:absolute;right:11px;top:11px;color:#4f86c8;opacity:.18;font-size:12px}.ga-export-option.ativo .ga-export-check{opacity:1;color:#6bacff}
.ga-export-info{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.ga-export-info>span{border:1px solid rgba(148,163,184,.09);background:#0a1420;border-radius:9px;padding:9px 10px;min-width:0}.ga-export-info i{color:#4f86c8;margin-right:6px;font-size:8px}.ga-export-info b{color:#9fb3c9;font-size:8.5px}.ga-export-info small{display:block;color:#51667e;font-size:7.5px;margin:3px 0 0 16px}
.ga-export-progress-wrap{margin-top:14px;border:1px solid rgba(96,165,250,.12);background:rgba(8,20,34,.72);border-radius:10px;padding:11px 12px}.ga-export-progress-copy{display:flex;justify-content:space-between;gap:10px;color:#7f94ac;font-size:8.5px;margin-bottom:7px}.ga-export-progress-copy b{color:#9dc8ff}.ga-export-progress{height:5px;border-radius:999px;background:#152235;overflow:hidden}.ga-export-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#2563eb,#60a5fa);border-radius:inherit;transition:width .18s ease}
.ga-export-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 22px 18px;border-top:1px solid rgba(148,163,184,.08)}.ga-export-foot>small{color:#60758e;font-size:8px;line-height:1.4}.ga-export-foot>small i{color:#4f86c8;margin-right:5px}.ga-export-foot>div{display:flex;gap:8px;flex:0 0 auto}.ga-export-cancel,.ga-export-action{height:34px;border-radius:8px;padding:0 13px;font-size:8.8px;font-weight:900;cursor:pointer}.ga-export-cancel{border:1px solid rgba(148,163,184,.12);background:#0b1623;color:#778ca4}.ga-export-action{border:1px solid rgba(96,165,250,.28);background:#2563eb;color:#fff;min-width:122px}.ga-export-action:disabled,.ga-export-cancel:disabled{opacity:.48;cursor:wait}.ga-export-action i{margin-right:6px}
body.ga-export-running{cursor:progress}.ga-export-capture .ga-preview-image-tools,.ga-export-capture .ga-image-move-hint,.ga-export-capture .ga-block-context-trigger{display:none!important}.ga-export-capture [data-ga-preview-block]{outline:none!important;box-shadow:none}.ga-export-capture [contenteditable="true"]{caret-color:transparent!important}
@media(max-width:760px){.ga-export-options,.ga-export-info{grid-template-columns:1fr}.ga-export-option{min-height:auto;flex-direction:row;align-items:center}.ga-export-foot{align-items:stretch;flex-direction:column}.ga-export-foot>div{justify-content:flex-end}.ga-project-save-wrap{flex-wrap:wrap}}

/* ===== V12.76 — Comando inteligente por poucas palavras ===== */
.ga-smart-command-field > span{display:flex!important;align-items:center;gap:6px;flex-wrap:wrap}
.ga-smart-command-field > span i{color:#60a5fa}
.ga-smart-command-field > span em{font-style:normal;color:#64748b;font-size:8px;font-weight:700;letter-spacing:.02em;margin-left:auto}
.ga-smart-command-field textarea{min-height:54px!important;max-height:68px!important;font-size:11px!important;line-height:1.4!important;padding:10px 11px!important;border-color:rgba(96,165,250,.2)!important;background:rgba(7,14,25,.82)!important}
.ga-smart-command-field textarea:focus{border-color:rgba(96,165,250,.55)!important;box-shadow:0 0 0 3px rgba(37,99,235,.08)!important}
.ga-smart-command-examples{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}
.ga-smart-command-examples button{border:1px solid rgba(148,163,184,.14);background:rgba(15,23,42,.55);color:#8191a8;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:750;cursor:pointer;transition:.14s ease}
.ga-smart-command-examples button:hover{color:#dbeafe;border-color:rgba(96,165,250,.34);background:rgba(37,99,235,.1)}
.ga-editor-mode-column .ga-primary-action.ga-smart-generate{margin-top:7px;background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 7px 18px rgba(37,99,235,.14)}
.ga-smart-command-help{display:block;color:#53647b;font-size:8px;line-height:1.45;margin-top:7px}
.ga-smart-command-help i{color:#3b82f6;margin-right:4px}

/* ===== VTCDOCS — Acompanhamento documental personalizável ===== */
.docs-workflow-toolbar { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:start; margin-bottom:12px; }
.docs-workflow-toolbar .clientes-info-aviso { margin-bottom:0; }
.btn-gerenciar-status-docs { min-height:42px; padding:9px 12px; white-space:nowrap; }
.docs-migracao-aviso { border-color:rgba(217,119,6,.28); background:rgba(245,158,11,.08); color:var(--text-main); }
.docs-migracao-aviso i { color:#d97706; }
.doc-req-item.andamento { border-left-color:#3b82f6; }
.doc-req-item.dispensado { border-left-color:#94a3b8; }
.doc-req-item.encerrado { border-left-color:#dc2626; }
.doc-badge.andamento { background:rgba(37,99,235,.10); color:#2563eb; border:1px solid rgba(37,99,235,.17); }
.doc-badge.dispensado { background:rgba(100,116,139,.11); color:#64748b; border:1px solid rgba(100,116,139,.18); }
.doc-badge.encerrado { background:rgba(220,38,38,.08); color:#dc2626; border:1px solid rgba(220,38,38,.16); }
.doc-workflow-resumo { display:flex; align-items:center; flex-wrap:wrap; gap:6px 8px; margin-top:9px; padding:8px 9px; border-radius:9px; background:var(--bg-subtle); border:1px solid var(--border); }
.doc-workflow-resumo.atrasado { border-color:rgba(239,68,68,.3); background:rgba(239,68,68,.045); }
.doc-workflow-resumo > small { color:var(--text-muted); font-size:9.5px; line-height:1.35; }
.doc-workflow-resumo > p { width:100%; margin:0; color:var(--text-main); font-size:10px; line-height:1.45; white-space:pre-wrap; }
.doc-workflow-badge { --workflow-color:#64748b; display:inline-flex; align-items:center; gap:5px; padding:4px 8px; border-radius:999px; font-size:9px; font-weight:850; letter-spacing:.02em; color:var(--workflow-color); border:1px solid color-mix(in srgb,var(--workflow-color) 24%, transparent); background:color-mix(in srgb,var(--workflow-color) 9%, transparent); }
.doc-workflow-virtual { display:inline-flex; align-items:center; padding:2px 6px; border-radius:999px; background:rgba(100,116,139,.08); color:var(--text-muted); font-size:8px; font-weight:800; text-transform:uppercase; letter-spacing:.035em; }
.doc-historico-link.workflow { margin-left:10px; color:#7c3aed; }

.clientes-modal-workflow { max-width:720px !important; width:min(96%,720px) !important; max-height:min(92vh,820px) !important; }
.workflow-form-section { border:1px solid var(--border); border-radius:12px; background:var(--bg-card); padding:13px; margin-bottom:12px; }
.workflow-form-section:last-child { margin-bottom:0; }
.workflow-form-section-title { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding-bottom:10px; margin-bottom:10px; border-bottom:1px solid var(--border); }
.workflow-form-section-title > span { display:flex; align-items:center; gap:7px; color:var(--primary); font-size:11.5px; font-weight:850; }
.workflow-form-section-title > span i { color:var(--accent); }
.workflow-form-section-title > small { color:var(--text-muted); font-size:9px; text-align:right; line-height:1.35; }
.workflow-status-ajuda { display:block; margin-top:4px; color:var(--text-muted); font-size:9px; }
.workflow-meta-arquivos { margin-top:8px; }
.workflow-modal-status { margin-right:auto; display:flex; align-items:center; gap:6px; max-width:50%; color:var(--text-muted); font-size:9.5px; line-height:1.3; }
#modalUploadDocumentoCliente .modal-footer { gap:8px; flex-wrap:wrap; }
#modalUploadDocumentoCliente .clientes-grid-dados { margin-bottom:0; }
#modalUploadDocumentoCliente .clientes-upload-arquivo { margin-bottom:0; }
#modalUploadDocumentoCliente select { width:100%; }

.historico-acompanhamento-bloco { margin-bottom:20px; }
.historico-subtitulo { display:flex; align-items:flex-start; gap:8px; margin:0 0 9px; }
.historico-subtitulo > i { width:28px; height:28px; display:grid; place-items:center; border-radius:8px; background:rgba(37,99,235,.08); color:var(--accent); }
.historico-subtitulo strong { display:block; color:var(--primary); font-size:11.5px; }
.historico-subtitulo small { display:block; margin-top:2px; color:var(--text-muted); font-size:9px; }
.historico-workflow-item { align-items:flex-start; }
.historico-workflow-item.atual { border-color:rgba(37,99,235,.24); background:rgba(37,99,235,.025); }
.historico-doc-icone.workflow { background:rgba(124,58,237,.08); color:#7c3aed; }
.historico-workflow-item .doc-workflow-badge { margin:4px 0; }
.historico-workflow-obs { margin:4px 0; color:var(--text-main); font-size:10px; line-height:1.4; white-space:pre-wrap; }
.historico-workflow-vazio { min-height:110px; }

.status-docs-modal { width:min(96%,920px) !important; max-width:920px !important; max-height:88vh; overflow:hidden; display:flex; flex-direction:column; }
.status-docs-body { flex:1; min-height:0; display:grid; grid-template-columns:310px minmax(0,1fr); overflow:hidden; }
.status-docs-lista-wrap { border-right:1px solid var(--border); min-height:0; display:flex; flex-direction:column; background:var(--bg-subtle); }
.status-docs-lista-topo { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:12px; border-bottom:1px solid var(--border); }
.status-docs-lista-topo strong { color:var(--primary); font-size:11.5px; }
.status-docs-lista { min-height:0; overflow-y:auto; padding:8px; display:flex; flex-direction:column; gap:5px; }
.status-docs-item { width:100%; display:grid; grid-template-columns:34px minmax(0,1fr) auto; gap:8px; align-items:center; text-align:left; border:1px solid transparent; background:transparent; padding:8px; border-radius:9px; cursor:pointer; transition:.15s ease; color:inherit; }
.status-docs-item:hover { background:var(--bg-card); border-color:var(--border); }
.status-docs-item.selecionado { background:rgba(37,99,235,.075); border-color:rgba(37,99,235,.22); }
.status-docs-item.inativo { opacity:.5; }
.status-docs-cor { --status-color:#64748b; width:32px; height:32px; display:grid; place-items:center; border-radius:9px; color:var(--status-color); background:color-mix(in srgb,var(--status-color) 10%, transparent); border:1px solid color-mix(in srgb,var(--status-color) 20%, transparent); }
.status-docs-item-texto { min-width:0; }
.status-docs-item-texto strong { display:block; color:var(--primary); font-size:10.5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.status-docs-item-texto small { display:block; color:var(--text-muted); font-size:8.5px; margin-top:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.status-docs-estado { color:var(--text-muted); font-size:8px; font-weight:800; text-transform:uppercase; }
.status-docs-form { min-width:0; min-height:0; overflow-y:auto; padding:16px; background:var(--bg-card); }
.status-docs-form-vazio { min-height:100%; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; color:var(--text-muted); gap:6px; padding:30px; }
.status-docs-form-vazio i { font-size:24px; color:var(--accent); margin-bottom:4px; }
.status-docs-form-vazio strong { color:var(--primary); font-size:12px; }
.status-docs-form-vazio span { max-width:360px; font-size:10px; line-height:1.45; }
.status-docs-form-vazio.erro i { color:#d97706; }
.status-docs-form-header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-bottom:12px; margin-bottom:14px; border-bottom:1px solid var(--border); }
.status-docs-eyebrow { display:block; color:var(--text-muted); font-size:8px; font-weight:850; text-transform:uppercase; letter-spacing:.055em; }
.status-docs-form-header h4 { margin:3px 0 0; color:var(--primary); font-size:16px; }
.status-docs-preview { --status-color:#2563eb; display:inline-flex; align-items:center; gap:6px; padding:6px 9px; border-radius:999px; color:var(--status-color); background:color-mix(in srgb,var(--status-color) 9%, transparent); border:1px solid color-mix(in srgb,var(--status-color) 22%, transparent); font-size:9.5px; font-weight:850; }
.status-docs-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px !important; margin-bottom:12px; }
.status-docs-regras { display:grid; gap:7px; }
.status-docs-regras > label { display:flex; align-items:flex-start; gap:8px; padding:9px; border:1px solid var(--border); border-radius:9px; background:var(--bg-subtle); cursor:pointer; }
.status-docs-regras input { margin-top:2px; }
.status-docs-regras span { min-width:0; }
.status-docs-regras strong { display:block; color:var(--primary); font-size:10px; }
.status-docs-regras small { display:block; color:var(--text-muted); font-size:8.7px; margin-top:2px; line-height:1.35; }
.status-docs-form-actions { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:14px; padding-top:12px; border-top:1px solid var(--border); }
.status-docs-legenda { margin-right:auto; color:var(--text-muted); font-size:9px; display:flex; align-items:center; gap:5px; }

body.tema-escuro .doc-workflow-resumo,
body.tema-escuro .workflow-form-section,
body.tema-escuro .status-docs-form { background:#0f172a; }
body.tema-escuro .status-docs-lista-wrap { background:#0b1220; }

@media (max-width:760px) {
    .docs-workflow-toolbar { grid-template-columns:1fr; }
    .btn-gerenciar-status-docs { width:100%; }
    .workflow-form-section-title { flex-direction:column; }
    .workflow-form-section-title > small { text-align:left; }
    .workflow-modal-status { max-width:100%; width:100%; }
    .status-docs-body { grid-template-columns:1fr; overflow-y:auto; }
    .status-docs-lista-wrap { border-right:none; border-bottom:1px solid var(--border); max-height:280px; }
    .status-docs-form { overflow:visible; }
    .status-docs-grid { grid-template-columns:1fr; }
}


/* ===== VTCDOCS v12.81 — documentação compacta ===== */
.docs-compact-hint {
    display:flex; align-items:center; gap:7px; min-height:30px; margin-bottom:10px; padding:6px 9px;
    border:1px solid var(--border); border-radius:8px; background:var(--bg-subtle); color:var(--text-muted);
    font-size:9.5px; line-height:1.35;
}
.docs-compact-hint i { color:var(--accent); font-size:10px; }
.docs-compact-hint strong { color:#dc2626; font-size:12px; }

.grid-documentos { gap:6px !important; }
.doc-req-item.doc-compact-row {
    --doc-status-color:#64748b;
    display:block; padding:0; border:1px solid var(--border); border-left:4px solid var(--doc-status-color) !important;
    border-radius:9px; background:var(--bg-card); overflow:visible; transition:border-color .14s ease, box-shadow .14s ease;
}
.doc-req-item.doc-compact-row:hover { border-color:color-mix(in srgb,var(--doc-status-color) 34%, var(--border)); border-left-color:var(--doc-status-color) !important; }
.doc-req-item.doc-compact-row.expandido { box-shadow:0 5px 18px rgba(15,23,42,.045); }
.doc-compact-head {
    min-height:48px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:7px 9px 7px 10px;
    cursor:pointer; user-select:none;
}
.doc-compact-main { min-width:0; display:flex; align-items:center; gap:8px; flex:1; }
.doc-compact-status {
    width:25px; height:25px; flex:0 0 25px; display:grid; place-items:center; border-radius:50%;
    background:var(--doc-status-color); color:#fff; font-size:9px;
    box-shadow:0 0 0 3px color-mix(in srgb,var(--doc-status-color) 11%, transparent);
}
.doc-compact-nome { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--primary); font-size:11px; font-weight:800; }
.doc-compact-obrigatorio { color:#dc2626; font-size:14px; line-height:1; font-weight:900; margin-left:-3px; }
.doc-compact-attention { width:18px; height:18px; display:grid; place-items:center; border-radius:50%; background:rgba(239,68,68,.09); color:#dc2626; font-size:8px; }
.doc-compact-actions { display:flex; align-items:center; gap:5px; flex:0 0 auto; }
.doc-compact-anexos {
    min-width:38px; height:28px; display:inline-flex; align-items:center; justify-content:center; gap:5px; padding:0 7px;
    border-radius:7px; color:var(--text-muted); background:var(--bg-subtle); border:1px solid var(--border); font-size:9.5px; font-weight:800;
}
.doc-compact-anexos i { font-size:9px; }
.doc-compact-props-wrap { position:relative; }
.doc-compact-props, .doc-compact-expand {
    width:28px; height:28px; display:grid; place-items:center; border:1px solid transparent; border-radius:7px;
    background:transparent; color:var(--text-muted); cursor:pointer; transition:.13s ease;
}
.doc-compact-props:hover, .doc-compact-expand:hover { color:var(--primary); border-color:var(--border); background:var(--bg-subtle); }
.doc-compact-row.expandido .doc-compact-expand { color:var(--accent); background:rgba(37,99,235,.07); border-color:rgba(37,99,235,.15); }
.doc-compact-menu {
    display:none; position:absolute; top:33px; right:0; z-index:40; width:184px; padding:5px;
    border:1px solid var(--border); border-radius:9px; background:var(--bg-card); box-shadow:0 14px 34px rgba(15,23,42,.16);
}
.doc-compact-menu.aberto { display:block; }
.doc-compact-menu button {
    width:100%; display:flex; align-items:center; gap:8px; border:0; border-radius:7px; background:transparent;
    color:var(--text-main); padding:8px 9px; font:inherit; font-size:9.5px; font-weight:700; text-align:left; cursor:pointer;
}
.doc-compact-menu button:hover { background:var(--bg-subtle); color:var(--primary); }
.doc-compact-menu button i { width:14px; color:var(--text-muted); text-align:center; }
.doc-compact-row .doc-req-collapse { margin:0; padding:0 10px 10px 43px; border-top:1px solid transparent; }
.doc-compact-row .doc-req-collapse.aberto { display:block; border-top-color:var(--border); padding-top:9px; }
.doc-compact-details { margin-bottom:8px; padding:9px 10px; border:1px solid var(--border); border-radius:9px; background:var(--bg-subtle); }
.doc-compact-details.atrasado { border-color:rgba(239,68,68,.24); background:rgba(239,68,68,.035); }
.doc-compact-details-topo { display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.doc-compact-alerta { display:inline-flex; align-items:center; gap:5px; color:#dc2626; font-size:8.5px; font-weight:800; }
.doc-compact-desc { margin:7px 0 0; color:var(--text-muted); font-size:9.2px; line-height:1.45; }
.doc-compact-meta { display:flex; flex-wrap:wrap; gap:5px 12px; margin-top:7px; }
.doc-compact-meta span { color:var(--text-muted); font-size:9px; }
.doc-compact-observacao { margin:7px 0 0; padding-top:7px; border-top:1px solid var(--border); color:var(--text-main); font-size:9.5px; line-height:1.45; white-space:pre-wrap; }
.doc-compact-detail-actions { display:flex; gap:6px; margin-top:8px; }
.doc-compact-detail-actions .btn-tool { min-height:28px; font-size:9px; }
.doc-compact-history-actions { display:flex; align-items:center; flex-wrap:wrap; gap:6px; margin-top:7px; }
.doc-compact-history-actions .doc-historico-link.workflow { margin-left:0; }

.workflow-status-label-row { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:5px; }
.workflow-status-label-row label { margin:0 !important; }
.workflow-manage-status {
    display:inline-flex; align-items:center; gap:5px; border:0; background:transparent; color:var(--accent); padding:2px 0;
    font-family:inherit; font-size:8.8px; font-weight:800; cursor:pointer;
}
.workflow-manage-status:hover { text-decoration:underline; }

body.tema-escuro .doc-compact-menu { background:#111827; box-shadow:0 14px 34px rgba(0,0,0,.38); }
body.tema-escuro .doc-compact-row.expandido { box-shadow:0 5px 18px rgba(0,0,0,.12); }

@media (max-width:760px) {
    .doc-compact-head { min-height:50px; gap:7px; padding-left:8px; }
    .doc-compact-main { gap:7px; }
    .doc-compact-nome { font-size:10.5px; }
    .doc-compact-status { width:24px; height:24px; flex-basis:24px; }
    .doc-compact-anexos { min-width:34px; padding:0 6px; }
    .doc-compact-row .doc-req-collapse { padding-left:8px; padding-right:8px; }
    .doc-compact-detail-actions { flex-wrap:wrap; }
}

.docs-progresso-card-min { padding:10px 12px; }
.docs-progresso-topo-min { justify-content:flex-end; margin-bottom:6px; }
.docs-progresso-topo-min > strong { color:var(--primary); font-size:18px; line-height:1; }
.docs-progresso-barra-min { height:5px; }
.doc-compact-obrigatorio { color:#ff5a5f; font-weight:800; }
.doc-compact-obrigatorio.com-anexo { color:#22c55e; }

/* V12.83 — menu de propriedades portaled para o body; não fica preso ao stacking context das linhas. */
.doc-compact-menu-flutuante {
    position:fixed;
    z-index:11500;
    width:190px;
    padding:5px;
    border:1px solid var(--border);
    border-radius:9px;
    background:var(--bg-card);
    box-shadow:0 14px 34px rgba(15,23,42,.18);
}
.doc-compact-menu-flutuante button {
    width:100%;
    display:flex;
    align-items:center;
    gap:8px;
    border:0;
    border-radius:7px;
    background:transparent;
    color:var(--text-main);
    padding:9px 10px;
    font:inherit;
    font-size:10px;
    font-weight:700;
    text-align:left;
    cursor:pointer;
}
.doc-compact-menu-flutuante button:hover { background:var(--bg-subtle); color:var(--primary); }
.doc-compact-menu-flutuante button i { width:14px; color:var(--text-muted); text-align:center; }
body.tema-escuro .doc-compact-menu-flutuante { background:#111827; box-shadow:0 14px 34px rgba(0,0,0,.44); }


/* ===== V12.85 — carteira compacta em lista ===== */
.clientes-tabela { min-width:760px; table-layout:fixed; }
.clientes-tabela th:nth-child(1) { width:34%; }
.clientes-tabela th:nth-child(2) { width:15%; }
.clientes-tabela th:nth-child(3) { width:18%; }
.clientes-tabela th:nth-child(4) { width:25%; }
.clientes-tabela th:nth-child(5),
.clientes-tabela th:nth-child(6) { width:4%; text-align:center; }
.clientes-tabela .cliente-row-compacta td { padding-top:9px; padding-bottom:9px; vertical-align:middle; }
.clientes-tabela .cliente-row-compacta td:first-child::before { top:7px; bottom:7px; width:3px; background:#94a3b8; }
.clientes-tabela .cliente-row-compacta.saude-ok td:first-child::before { background:#10b981; }
.clientes-tabela .cliente-row-compacta.saude-vencendo td:first-child::before,
.clientes-tabela .cliente-row-compacta.saude-andamento td:first-child::before { background:#f59e0b; }
.clientes-tabela .cliente-row-compacta.saude-pendente td:first-child::before { background:#f97316; }
.clientes-tabela .cliente-row-compacta.saude-critico td:first-child::before { background:#ef4444; }
.clientes-tabela .cliente-row-compacta:hover td:first-child::before { filter:brightness(1.05); }
.cliente-cnpj-tabela { opacity:.72; }

.cliente-docs-compacto { display:flex; align-items:center; gap:8px; min-width:0; }
.cliente-docs-progresso-wrap { flex:0 1 120px; min-width:96px; max-width:120px; display:flex; align-items:center; gap:7px; }
.cliente-docs-progresso-wrap > strong { width:34px; text-align:right; color:var(--primary); font-size:10.5px; font-variant-numeric:tabular-nums; }
.cliente-progresso-minimal { flex:1; height:4px; overflow:hidden; border-radius:99px; background:rgba(148,163,184,.18); }
.cliente-progresso-minimal > span { display:block; height:100%; border-radius:inherit; transition:width .25s ease; }
.cliente-progresso-minimal > span.nivel-baixo { background:#ef4444; }
.cliente-progresso-minimal > span.nivel-medio { background:#f59e0b; }
.cliente-progresso-minimal > span.nivel-alto { background:#3b82f6; }
.cliente-progresso-minimal > span.nivel-completo { background:#10b981; }
.btn-cliente-documentos.btn-cliente-documentos-icon { width:28px; height:28px; min-width:28px; padding:0; border-radius:8px; font-size:10px; }

.cliente-saude-compacta { display:flex; align-items:center; gap:6px; min-width:0; }
.cliente-saude-compacta .doc-badge { max-width:120px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cliente-saude-pendencias { display:inline-flex; align-items:center; gap:4px; min-width:25px; height:23px; justify-content:center; padding:0 6px; border-radius:99px; background:rgba(239,68,68,.09); color:#dc2626; font-size:9.5px; font-weight:900; }
.cliente-saude-pendencias.ok { min-width:23px; padding:0; background:rgba(16,185,129,.09); color:#059669; }

.cliente-focal-compacto { display:flex; align-items:center; gap:7px; min-width:0; }
.cliente-focal-avatar { width:27px; height:27px; min-width:27px; display:grid; place-items:center; border-radius:50%; background:var(--bg-muted); border:1px solid var(--border); color:var(--primary); font-size:8.5px; font-weight:900; letter-spacing:.02em; }
.cliente-focal-compacto > strong { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--text-main); font-size:10.5px; }

.cliente-col-acoes, .cliente-col-expandir { text-align:center !important; }
.btn-cliente-propriedades, .btn-cliente-expandir { width:28px; height:28px; padding:0; display:inline-grid; place-items:center; border:1px solid transparent; border-radius:8px; background:transparent; color:var(--text-muted); cursor:pointer; transition:.15s ease; }
.btn-cliente-propriedades:hover, .btn-cliente-expandir:hover, .btn-cliente-propriedades.menu-aberto { background:var(--bg-muted); border-color:var(--border); color:var(--primary); }
.btn-cliente-expandir i { font-size:8px; }
.btn-cliente-propriedades i { font-size:12px; }

.cliente-row-detalhes > td { padding:0 !important; background:var(--bg-subtle) !important; border-top:0 !important; }
.cliente-detalhes-expandidos { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); align-items:center; gap:18px; padding:12px 15px 13px 20px; border-left:3px solid var(--border); }
.cliente-detalhe-bloco { min-width:0; }
.cliente-detalhe-bloco small { display:block; margin-bottom:3px; color:var(--text-muted); font-size:8.5px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.cliente-detalhe-bloco strong { display:block; color:var(--primary); font-size:10.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cliente-detalhe-bloco span { display:block; margin-top:3px; color:var(--text-muted); font-size:9.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cliente-detalhe-acoes { display:flex; align-items:center; gap:6px; }
.cliente-detalhe-acoes .btn-tool { white-space:nowrap; }

.clientes-acoes-popover { position:fixed; z-index:15060; width:190px; display:none; padding:6px; border:1px solid rgba(148,163,184,.22); border-radius:11px; background:rgba(10,19,33,.985); box-shadow:0 16px 42px rgba(0,0,0,.32), 0 3px 9px rgba(0,0,0,.16); }
.clientes-acoes-popover.aberto { display:block; }
.clientes-acoes-popover > button { width:100%; display:grid; grid-template-columns:28px 1fr; align-items:center; gap:7px; border:0; border-radius:8px; padding:8px; background:transparent; color:#e2e8f0; text-align:left; cursor:pointer; font-size:10px; font-weight:750; }
.clientes-acoes-popover > button:hover { background:rgba(37,99,235,.13); }
.clientes-acoes-popover > button i { color:#60a5fa; }

@media (max-width:900px) {
    .clientes-tabela { min-width:690px; }
    .clientes-tabela th:nth-child(1) { width:30%; }
    .clientes-tabela th:nth-child(2) { width:20%; }
    .clientes-tabela th:nth-child(3) { width:19%; }
    .clientes-tabela th:nth-child(4) { width:23%; }
    .cliente-docs-progresso-wrap { min-width:88px; max-width:105px; }
    .cliente-detalhes-expandidos { grid-template-columns:1fr 1fr; }
    .cliente-detalhe-acoes { grid-column:1/-1; }
}

/* ===== V12.87 — Gerador de Apresentações V2 · Tópicos ===== */
.ga-topics-editor{display:grid;gap:9px}.ga-topics-config-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ga-topics-config-row label{display:grid;gap:4px}.ga-topics-config-row label>span{font-size:7px;font-weight:900;letter-spacing:.55px;color:#71869f;text-transform:uppercase}.ga-topics-config-row select{width:100%;height:31px;border:1px solid #20354d;border-radius:7px;background:#091827;color:#b9c8da;padding:0 8px;font-size:8px}.ga-topics-items{display:grid;gap:7px}.ga-topic-editor-item{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:7px;align-items:start;padding:7px;border:1px solid #1a2d43;border-radius:8px;background:#081522}.ga-topic-editor-index{height:24px;display:grid;place-items:center;border-radius:6px;background:#10253b;color:#5f8fca;font-size:6.5px;font-weight:900}.ga-topic-editor-item>div{display:grid;gap:5px}.ga-topic-editor-item input,.ga-topic-editor-item textarea{width:100%;min-width:0}.ga-topic-editor-actions{display:flex;gap:3px}.ga-topic-editor-actions button{width:22px;height:22px;border:1px solid #20354d;border-radius:5px;background:#0b1a2a;color:#71869f}.ga-topic-editor-actions button.danger{color:#ef7a7a}.ga-topic-editor-actions button:disabled{opacity:.25}.ga-topic-add{height:30px;border:1px dashed #294766;border-radius:7px;background:rgba(37,99,235,.055);color:#75a8e8;font-size:8px;font-weight:800}
.ga-render-topicos{display:grid;grid-template-columns:1fr;gap:8px;min-width:0;align-content:start}.ga-render-topicos.ga-topicos-2-colunas{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px}.ga-render-topico{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:start;padding:8px 0;border-bottom:1px solid rgba(148,163,184,.09);min-width:0}.ga-render-topico-marker{width:24px;height:24px;display:grid;place-items:center;border-radius:7px;background:rgba(37,99,235,.14);color:#74b7ff;font-size:7px;font-weight:900}.ga-render-topico-marker i{width:6px;height:6px;border-radius:50%;background:#60a5fa}.ga-render-topico strong{display:block;color:#e8f1fb;font-size:11px;line-height:1.25}.ga-render-topico p{margin:4px 0 0!important;color:#8297b0!important;font-size:8.8px!important;line-height:1.42!important}.ga-topicos-numerado .ga-render-topico-marker{border-radius:50%;background:#1f5aa2;color:white}.ga-topicos-detalhado .ga-render-topico{padding:9px 0}.ga-theme-light .ga-render-topico{border-bottom-color:rgba(30,64,175,.11)}.ga-theme-light .ga-render-topico strong{color:#183a5f}.ga-theme-light .ga-render-topico p{color:#60758d!important}.ga-theme-light .ga-render-topico-marker{background:rgba(37,99,235,.1);color:#2563eb}.ga-layout-topics .ga-render-layout{grid-template-rows:auto 1fr;gap:12px}.ga-layout-topics .ga-render-topicos{align-self:stretch;overflow:hidden}
@media(max-width:720px){.ga-render-topicos.ga-topicos-2-colunas{grid-template-columns:1fr}.ga-render-topico{grid-template-columns:22px 1fr;gap:6px;padding:5px 0}.ga-render-topico-marker{width:19px;height:19px}.ga-render-topico strong{font-size:8px}.ga-render-topico p{font-size:6.8px!important}}

/* ===== V12.87 — Gerador de Apresentações V2 · Imagens avançadas ===== */
.ga-image-advanced-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.ga-image-advanced-grid label,.ga-image-visual-controls label{display:grid;gap:4px}.ga-image-advanced-grid label>span,.ga-image-visual-controls label>span{font-size:7px;font-weight:900;letter-spacing:.5px;color:#71869f;text-transform:uppercase}.ga-image-advanced-grid select{height:31px;border:1px solid #20354d;border-radius:7px;background:#091827;color:#b9c8da;padding:0 7px;font-size:7.7px;min-width:0}.ga-image-visual-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:2px}.ga-image-visual-controls label>span{display:flex;align-items:center;justify-content:space-between}.ga-image-visual-controls label>span b{color:#9fb6d0;font-size:7px}.ga-image-visual-controls input[type=range]{width:100%;accent-color:#3b82f6}
.ga-render-background-media{position:absolute;inset:0;z-index:1;overflow:hidden;border-radius:inherit;pointer-events:none}.ga-render-background-image{position:absolute;inset:-1%;width:102%;height:102%;transform-origin:center;display:block}.ga-render-background-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,12,22,.94) 0%,rgba(3,12,22,.66) 42%,rgba(3,12,22,.28) 100%);pointer-events:none}.ga-has-background-image .ga-canvas-content{z-index:5}.ga-has-background-image .ga-slide-brand{z-index:8}.ga-has-background-image:after{z-index:2!important}.ga-theme-light.ga-has-background-image .ga-render-background-overlay{background:linear-gradient(90deg,rgba(247,251,255,.92) 0%,rgba(247,251,255,.62) 46%,rgba(247,251,255,.16) 100%)}
.ga-render-image{border-radius:var(--ga-image-radius,12px)!important}.ga-render-image.filled img,.ga-render-image.transparent img{object-fit:var(--ga-image-fit,cover)!important}.ga-render-image-overlay{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(3,12,22,.15),rgba(3,12,22,.72));pointer-events:none}.ga-render-image figcaption{z-index:3}.ga-preview-image-tools,.ga-image-move-hint{z-index:5!important}
.ga-image-application-lateral-esquerda.ga-layout-split .ga-render-layout{grid-template-columns:minmax(270px,.72fr) minmax(0,1.28fr)!important}.ga-image-application-lateral-esquerda.ga-layout-split .ga-render-images{grid-column:1!important;grid-row:1/3!important}.ga-image-application-lateral-esquerda.ga-layout-split .ga-render-copy,.ga-image-application-lateral-esquerda.ga-layout-split .ga-render-metrics,.ga-image-application-lateral-esquerda.ga-layout-split .ga-render-cards,.ga-image-application-lateral-esquerda.ga-layout-split .ga-render-topicos{grid-column:2!important}
.ga-image-application-lateral-direita.ga-layout-split .ga-render-layout{grid-template-columns:minmax(0,1.28fr) minmax(270px,.72fr)!important}.ga-image-application-lateral-direita.ga-layout-split .ga-render-images{grid-column:2!important;grid-row:1/3!important}.ga-image-application-lateral-direita.ga-layout-split .ga-render-copy,.ga-image-application-lateral-direita.ga-layout-split .ga-render-metrics,.ga-image-application-lateral-direita.ga-layout-split .ga-render-cards,.ga-image-application-lateral-direita.ga-layout-split .ga-render-topicos{grid-column:1!important}
.ga-image-application-faixa-topo.ga-layout-split .ga-render-layout{grid-template-columns:1fr!important;grid-template-rows:minmax(130px,.8fr) auto minmax(0,1.2fr)!important;gap:10px!important}.ga-image-application-faixa-topo.ga-layout-split .ga-render-images{grid-column:1!important;grid-row:1!important;height:100%!important}.ga-image-application-faixa-topo.ga-layout-split .ga-render-copy{grid-column:1!important;grid-row:2!important}.ga-image-application-faixa-topo.ga-layout-split .ga-render-metrics,.ga-image-application-faixa-topo.ga-layout-split .ga-render-cards,.ga-image-application-faixa-topo.ga-layout-split .ga-render-topicos{grid-column:1!important;grid-row:3!important}
.ga-image-application-faixa-base.ga-layout-split .ga-render-layout{grid-template-columns:1fr!important;grid-template-rows:auto minmax(0,1fr) minmax(120px,.72fr)!important;gap:10px!important}.ga-image-application-faixa-base.ga-layout-split .ga-render-copy{grid-column:1!important;grid-row:1!important}.ga-image-application-faixa-base.ga-layout-split .ga-render-metrics,.ga-image-application-faixa-base.ga-layout-split .ga-render-cards,.ga-image-application-faixa-base.ga-layout-split .ga-render-topicos{grid-column:1!important;grid-row:2!important}.ga-image-application-faixa-base.ga-layout-split .ga-render-images{grid-column:1!important;grid-row:3!important;height:100%!important}
.ga-image-application-flutuante .ga-render-layout{position:relative}.ga-image-application-flutuante .ga-render-copy{max-width:58%!important;position:relative;z-index:3}.ga-image-application-flutuante .ga-render-images{position:absolute;right:0;top:4%;bottom:0;width:42%;z-index:2;overflow:visible}.ga-image-application-flutuante .ga-render-image{height:100%;overflow:visible;background:transparent!important;border:0!important}.ga-image-application-flutuante .ga-render-image img{object-fit:contain!important;filter:drop-shadow(0 24px 34px rgba(0,0,0,.35))}
@media(max-width:720px){.ga-image-advanced-grid,.ga-image-visual-controls{grid-template-columns:1fr}.ga-image-application-flutuante .ga-render-copy{max-width:64%!important}.ga-image-application-flutuante .ga-render-images{width:38%}}

/* ===== V12.87 — Gerador de Apresentações V2 · Composições independentes ===== */
.ga-composition-editorial .ga-render-copy{max-width:74%}.ga-composition-editorial .ga-render-layout{align-content:center}
.ga-composition-media-left-40.ga-layout-split .ga-render-layout,.ga-composition-media-left-40.ga-layout-media-dashboard .ga-render-layout{grid-template-columns:minmax(260px,40%) minmax(0,60%)!important;grid-template-rows:auto 1fr!important;column-gap:22px!important}.ga-composition-media-left-40.ga-layout-split .ga-render-images{grid-column:1!important;grid-row:1/3!important}.ga-composition-media-left-40.ga-layout-split .ga-render-copy,.ga-composition-media-left-40.ga-layout-split .ga-render-metrics,.ga-composition-media-left-40.ga-layout-split .ga-render-cards,.ga-composition-media-left-40.ga-layout-split .ga-render-topicos{grid-column:2!important}
.ga-composition-media-right-40.ga-layout-split .ga-render-layout,.ga-composition-media-right-40.ga-layout-media-dashboard .ga-render-layout{grid-template-columns:minmax(0,60%) minmax(260px,40%)!important;grid-template-rows:auto 1fr!important;column-gap:22px!important}.ga-composition-media-right-40.ga-layout-split .ga-render-images{grid-column:2!important;grid-row:1/3!important}.ga-composition-media-right-40.ga-layout-split .ga-render-copy,.ga-composition-media-right-40.ga-layout-split .ga-render-metrics,.ga-composition-media-right-40.ga-layout-split .ga-render-cards,.ga-composition-media-right-40.ga-layout-split .ga-render-topicos{grid-column:1!important}
.ga-composition-media-dominant.ga-layout-split .ga-render-layout{grid-template-columns:minmax(0,40%) minmax(330px,60%)!important;grid-template-rows:auto 1fr!important;column-gap:18px!important}.ga-composition-media-dominant.ga-layout-split .ga-render-images{grid-column:2!important;grid-row:1/3!important}.ga-composition-media-dominant.ga-layout-split .ga-render-copy,.ga-composition-media-dominant.ga-layout-split .ga-render-metrics,.ga-composition-media-dominant.ga-layout-split .ga-render-cards,.ga-composition-media-dominant.ga-layout-split .ga-render-topicos{grid-column:1!important}.ga-composition-media-dominant .ga-render-title{font-size:min(var(--ga-title-size),39px)!important}
.ga-composition-two-columns .ga-render-layout{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;grid-template-rows:1fr!important;gap:24px!important;align-items:center!important}.ga-composition-two-columns .ga-render-copy{grid-column:1!important;grid-row:1!important;max-width:100%!important}.ga-composition-two-columns .ga-render-topicos,.ga-composition-two-columns .ga-render-cards,.ga-composition-two-columns .ga-render-metrics,.ga-composition-two-columns .ga-render-images{grid-column:2!important;grid-row:1!important;align-self:center!important;max-height:100%}
.ga-composition-visual-grid .ga-render-layout{display:flex!important;flex-direction:column!important;justify-content:center!important;gap:12px!important}.ga-composition-visual-grid .ga-render-copy{max-width:86%!important;flex:0 0 auto}.ga-composition-visual-grid .ga-render-metrics,.ga-composition-visual-grid .ga-render-cards,.ga-composition-visual-grid .ga-render-topicos{flex:1 1 auto;min-height:0;align-content:center}.ga-composition-visual-grid .ga-render-cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important}.ga-composition-visual-grid .ga-render-topicos{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.ga-composition-stacked .ga-render-layout{display:flex!important;flex-direction:column!important;justify-content:center!important;gap:9px!important}.ga-composition-stacked .ga-render-copy{max-width:92%!important;flex:0 0 auto}.ga-composition-stacked .ga-render-metrics,.ga-composition-stacked .ga-render-cards,.ga-composition-stacked .ga-render-topicos,.ga-composition-stacked .ga-render-images{width:100%;flex:0 1 auto}.ga-composition-stacked .ga-render-cards,.ga-composition-stacked .ga-render-topicos{grid-template-columns:1fr!important}
.ga-composition-hero-media.ga-layout-split .ga-canvas-content,.ga-composition-hero-media.ga-layout-image .ga-canvas-content{inset:0!important}.ga-composition-hero-media.ga-layout-split .ga-render-layout{display:block!important;position:relative;height:100%}.ga-composition-hero-media.ga-layout-split .ga-render-images{position:absolute!important;inset:0!important;height:100%!important;z-index:1}.ga-composition-hero-media.ga-layout-split .ga-render-image{height:100%;border-radius:0!important;border:0!important}.ga-composition-hero-media.ga-layout-split .ga-render-copy{position:absolute!important;left:5.4%;bottom:12%;z-index:4;max-width:54%!important;padding:18px 20px;border-radius:12px;background:linear-gradient(90deg,rgba(4,14,24,.84),rgba(4,14,24,.38),transparent)}.ga-composition-hero-media.ga-layout-split .ga-render-metrics,.ga-composition-hero-media.ga-layout-split .ga-render-cards,.ga-composition-hero-media.ga-layout-split .ga-render-topicos{position:absolute!important;z-index:4;right:5.4%;bottom:12%;max-width:36%}.ga-composition-hero-media.ga-layout-image .ga-render-image{border-radius:0!important}
.ga-layout-mini-media-left-40 i:nth-child(4){left:4px;top:4px;bottom:4px;width:22px;height:auto}.ga-layout-mini-media-left-40 i:nth-child(1){left:31px;width:21px}.ga-layout-mini-media-left-40 i:nth-child(2){left:31px}.ga-layout-mini-media-left-40 i:nth-child(3){left:31px;right:5px}
.ga-layout-mini-media-right-40 i:nth-child(4){right:4px;top:4px;bottom:4px;width:22px;height:auto}.ga-layout-mini-media-right-40 i:nth-child(1),.ga-layout-mini-media-right-40 i:nth-child(2){width:23px}.ga-layout-mini-media-right-40 i:nth-child(3){right:30px}
.ga-layout-mini-media-dominant i:nth-child(4){right:3px;top:3px;bottom:3px;width:33px;height:auto}.ga-layout-mini-media-dominant i:nth-child(1),.ga-layout-mini-media-dominant i:nth-child(2){width:15px}.ga-layout-mini-media-dominant i:nth-child(3){right:39px}
.ga-layout-mini-two-columns i:nth-child(3){left:5px;right:31px;height:16px}.ga-layout-mini-two-columns i:nth-child(4){right:5px;width:22px;height:16px}.ga-layout-mini-visual-grid i:nth-child(3){left:5px;width:22px;height:9px}.ga-layout-mini-visual-grid i:nth-child(4){right:5px;width:22px;height:9px}.ga-layout-mini-stacked i:nth-child(3){left:5px;right:5px;bottom:14px;height:5px}.ga-layout-mini-stacked i:nth-child(4){left:5px;right:5px;bottom:5px;width:auto;height:5px}.ga-layout-mini-hero-media i:nth-child(1),.ga-layout-mini-hero-media i:nth-child(2),.ga-layout-mini-hero-media i:nth-child(3){z-index:2}.ga-layout-mini-hero-media i:nth-child(4){inset:0;width:auto;height:auto;border-radius:0;background:rgba(71,115,167,.58)}
@media(max-width:720px){.ga-composition-two-columns .ga-render-layout{grid-template-columns:1fr 1fr!important;gap:10px!important}.ga-composition-media-left-40.ga-layout-split .ga-render-layout,.ga-composition-media-right-40.ga-layout-split .ga-render-layout,.ga-composition-media-dominant.ga-layout-split .ga-render-layout{grid-template-columns:1fr 1fr!important}.ga-composition-hero-media.ga-layout-split .ga-render-copy{left:4%;bottom:9%;max-width:62%!important;padding:8px}}

/* Aparência V2 afeta também superfícies, não apenas o fundo */
.ga-bg-clean .ga-render-card,.ga-bg-clean .ga-render-number{background:rgba(6,25,43,.66);border-color:rgba(96,165,250,.11);box-shadow:none}.ga-bg-clean .ga-render-topico-marker{background:rgba(91,164,255,.15)}
.ga-bg-grid .ga-render-card,.ga-bg-grid .ga-render-number{border-radius:6px;border-color:rgba(96,165,250,.16);background:rgba(5,18,32,.62)}.ga-bg-grid .ga-render-topico{border-bottom-color:rgba(96,165,250,.13)}
.ga-bg-aurora .ga-render-card,.ga-bg-aurora .ga-render-number{background:rgba(7,24,43,.48);backdrop-filter:blur(8px);border-color:rgba(125,183,255,.18);box-shadow:0 14px 30px rgba(0,0,0,.12)}
.ga-bg-flow .ga-render-card{border-radius:16px 5px 16px 5px}.ga-bg-flow .ga-render-number{border-radius:5px 16px 5px 16px}
.ga-composition-hero-media.ga-has-background-image .ga-canvas-content{left:5.4%;right:5.4%;top:17%;bottom:12%;z-index:5}.ga-composition-hero-media.ga-has-background-image .ga-render-copy{max-width:58%;padding:18px 20px;border-radius:12px;background:linear-gradient(90deg,rgba(4,14,24,.70),rgba(4,14,24,.28),transparent)}.ga-theme-light.ga-composition-hero-media.ga-has-background-image .ga-render-copy{background:linear-gradient(90deg,rgba(250,253,255,.82),rgba(250,253,255,.38),transparent)}
.ga-thumb-topics{display:grid;gap:2px;margin-top:4px;width:42%}.ga-thumb-topics span{height:2px;border-radius:2px;background:rgba(116,183,255,.45)}

/* Ajustes de composição para slides que combinam imagem + dashboard */
.ga-layout-media-dashboard.ga-composition-media-left-40 .ga-render-layout,.ga-layout-media-dashboard.ga-composition-media-right-40 .ga-render-layout,.ga-layout-media-dashboard.ga-composition-media-dominant .ga-render-layout{grid-template-columns:1fr!important;grid-template-rows:auto minmax(0,1fr)!important;gap:10px!important}.ga-layout-media-dashboard.ga-composition-media-left-40 .ga-render-media-dashboard-body{grid-template-columns:minmax(230px,40%) minmax(0,60%)!important}.ga-layout-media-dashboard.ga-composition-media-left-40 .ga-render-images{grid-column:1!important;grid-row:1!important}.ga-layout-media-dashboard.ga-composition-media-left-40 .ga-render-dashboard-body{grid-column:2!important;grid-row:1!important}.ga-layout-media-dashboard.ga-composition-media-right-40 .ga-render-media-dashboard-body{grid-template-columns:minmax(0,60%) minmax(230px,40%)!important}.ga-layout-media-dashboard.ga-composition-media-right-40 .ga-render-dashboard-body{grid-column:1!important;grid-row:1!important}.ga-layout-media-dashboard.ga-composition-media-right-40 .ga-render-images{grid-column:2!important;grid-row:1!important}.ga-layout-media-dashboard.ga-composition-media-dominant .ga-render-media-dashboard-body{grid-template-columns:minmax(0,40%) minmax(320px,60%)!important}.ga-layout-media-dashboard.ga-composition-media-dominant .ga-render-dashboard-body{grid-column:1!important;grid-row:1!important}.ga-layout-media-dashboard.ga-composition-media-dominant .ga-render-images{grid-column:2!important;grid-row:1!important}

/* ============================================================
   V12.88 — APP SHELL / SIDEBAR PERMANENTE
   ============================================================ */
:root {
    --sidebar-width-open: 232px;
    --sidebar-width-collapsed: 72px;
    --sidebar-current-width: var(--sidebar-width-open);
    --sidebar-ease: cubic-bezier(.2,.8,.2,1);
}
body.vtc-shell-active {
    padding-left: calc(var(--sidebar-current-width) + 20px);
    transition: padding-left .2s var(--sidebar-ease);
}
body.vtc-shell-active.vtc-sidebar-collapsed {
    --sidebar-current-width: var(--sidebar-width-collapsed);
}
body.vtc-shell-active .barra-topo-fixa {
    left: var(--sidebar-current-width);
    transition: left .2s var(--sidebar-ease);
}
body:not(.logado) .vtc-sidebar,
body:not(.logado) .vtc-sidebar-overlay,
body:not(.logado) .vtc-sidebar-popover,
body:not(.logado) .vtc-nav-mobile-trigger,
body:not(.vtc-shell-active) .vtc-sidebar,
body:not(.vtc-shell-active) .vtc-sidebar-overlay,
body:not(.vtc-shell-active) .vtc-sidebar-popover,
body:not(.vtc-shell-active) .vtc-nav-mobile-trigger { display: none !important; }

.vtc-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    width: var(--sidebar-current-width);
    height: 100vh;
    z-index: 1400;
    display: flex;
    flex-direction: column;
    background: rgba(8,16,30,.97);
    border-right: 1px solid rgba(255,255,255,.075);
    box-shadow: 12px 0 36px rgba(0,0,0,.16);
    backdrop-filter: blur(22px) saturate(130%);
    -webkit-backdrop-filter: blur(22px) saturate(130%);
    overflow: hidden;
    transition: width .2s var(--sidebar-ease), transform .2s var(--sidebar-ease);
    color: #e8eeff;
}
body:not(.tema-escuro) .vtc-sidebar {
    background: rgba(250,251,255,.97);
    color: #172033;
    border-right-color: rgba(15,23,42,.09);
    box-shadow: 10px 0 32px rgba(15,23,42,.08);
}
.vtc-sidebar-brand {
    min-height: 72px;
    display: flex;
    align-items: center;
    padding: 12px;
    border-bottom: 1px solid rgba(255,255,255,.065);
    position: relative;
}
body:not(.tema-escuro) .vtc-sidebar-brand { border-bottom-color: rgba(15,23,42,.07); }
.vtc-sidebar-brand-btn {
    width: 100%;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 11px;
    border: 0;
    background: transparent;
    color: inherit;
    padding: 7px 8px;
    border-radius: 12px;
    cursor: pointer;
    text-align: left;
}
.vtc-sidebar-brand-btn:hover { background: rgba(255,255,255,.055); }
body:not(.tema-escuro) .vtc-sidebar-brand-btn:hover { background: rgba(37,99,235,.055); }
.vtc-sidebar-brand-symbol { width: 32px; height: 32px; flex: 0 0 32px; object-fit: contain; }
body.tema-escuro .vtc-sidebar-brand-symbol { filter: brightness(0) invert(1); opacity: .94; }
.vtc-sidebar-brand-copy { min-width: 0; display: flex; flex-direction: column; line-height: 1.1; white-space: nowrap; }
.vtc-sidebar-brand-copy strong { font-size: 13px; letter-spacing: .11em; font-weight: 800; }
.vtc-sidebar-brand-copy small { margin-top: 4px; color: #6b7a99; font-size: 9.5px; font-weight: 600; letter-spacing: .03em; }
.vtc-sidebar-mobile-close { display:none; }

.vtc-sidebar-nav {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 14px 10px 10px;
    scrollbar-width: none;
}
.vtc-sidebar-nav::-webkit-scrollbar { display:none; }
.vtc-sidebar-section { margin: 2px 0; }
.vtc-sidebar-item,
.vtc-sidebar-subitem {
    position: relative;
    width: 100%;
    border: 0;
    font-family: inherit;
    color: #8190ae;
    background: transparent;
    cursor: pointer;
    outline: none;
}
.vtc-sidebar-item {
    min-height: 43px;
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 7px 9px;
    border-radius: 11px;
    font-size: 12px;
    font-weight: 700;
    text-align: left;
}
.vtc-sidebar-item:hover,
.vtc-sidebar-item:focus-visible { color:#e8eeff; background:rgba(255,255,255,.055); }
body:not(.tema-escuro) .vtc-sidebar-item,
body:not(.tema-escuro) .vtc-sidebar-subitem { color:#64748b; }
body:not(.tema-escuro) .vtc-sidebar-item:hover,
body:not(.tema-escuro) .vtc-sidebar-item:focus-visible { color:#172033; background:rgba(37,99,235,.06); }
.vtc-sidebar-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    color: #7181a1;
    font-size: 13px;
    transition: color .15s, background .15s;
}
.vtc-sidebar-label { flex:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.vtc-sidebar-chevron { margin-left:auto; font-size:9px; opacity:.55; transition: transform .18s; }
.vtc-sidebar-section.is-open > .vtc-sidebar-group-trigger .vtc-sidebar-chevron { transform: rotate(180deg); }
.vtc-sidebar-item.is-active,
.vtc-sidebar-section.has-active > .vtc-sidebar-group-trigger {
    color:#f4f7ff;
    background:rgba(37,99,235,.13);
}
.vtc-sidebar-item.is-active::before,
.vtc-sidebar-section.has-active > .vtc-sidebar-group-trigger::before {
    content:'';
    position:absolute;
    left:-10px;
    top:10px;
    bottom:10px;
    width:3px;
    border-radius:0 4px 4px 0;
    background:#3b82f6;
    box-shadow:0 0 14px rgba(59,130,246,.45);
}
.vtc-sidebar-item.is-active .vtc-sidebar-icon,
.vtc-sidebar-section.has-active > .vtc-sidebar-group-trigger .vtc-sidebar-icon {
    color:#93c5fd;
    background:rgba(37,99,235,.17);
}
body:not(.tema-escuro) .vtc-sidebar-item.is-active,
body:not(.tema-escuro) .vtc-sidebar-section.has-active > .vtc-sidebar-group-trigger { color:#1d4ed8; background:rgba(37,99,235,.08); }

.vtc-sidebar-submenu {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows .18s var(--sidebar-ease), margin .18s;
    margin: 0;
}
.vtc-sidebar-submenu > * { overflow:hidden; }
.vtc-sidebar-section.is-open .vtc-sidebar-submenu {
    grid-template-rows: 1fr;
    margin: 2px 0 6px;
}
/* wrapper implícito não existe; usa max-height como fallback para botões irmãos */
.vtc-sidebar-submenu { max-height:0; overflow:hidden; }
.vtc-sidebar-section.is-open .vtc-sidebar-submenu { max-height:260px; }
.vtc-sidebar-subitem {
    min-height: 36px;
    display:flex;
    align-items:center;
    gap:9px;
    padding: 7px 9px 7px 51px;
    border-radius:9px;
    font-size:11.5px;
    font-weight:650;
    text-align:left;
}
.vtc-sidebar-subitem i { width:14px; text-align:center; font-size:10.5px; opacity:.8; }
.vtc-sidebar-subitem:hover,
.vtc-sidebar-subitem:focus-visible { color:#dce7ff; background:rgba(255,255,255,.045); }
.vtc-sidebar-subitem.is-active { color:#93c5fd; background:rgba(37,99,235,.11); }
body:not(.tema-escuro) .vtc-sidebar-subitem:hover,
body:not(.tema-escuro) .vtc-sidebar-subitem:focus-visible { color:#1e293b; background:rgba(37,99,235,.05); }
body:not(.tema-escuro) .vtc-sidebar-subitem.is-active { color:#2563eb; background:rgba(37,99,235,.08); }
.vtc-sidebar-badge {
    margin-left:auto;
    min-width:18px;
    height:18px;
    padding:0 5px;
    border-radius:99px;
    display:inline-grid;
    place-items:center;
    background:#ef4444;
    color:white;
    font-size:9px;
    font-weight:800;
}
.vtc-sidebar-badge[hidden] { display:none !important; }

.vtc-sidebar-footer {
    flex:0 0 auto;
    padding: 8px 10px 12px;
    border-top:1px solid rgba(255,255,255,.065);
    background:linear-gradient(180deg,transparent,rgba(0,0,0,.08));
}
body:not(.tema-escuro) .vtc-sidebar-footer { border-top-color:rgba(15,23,42,.07); background:transparent; }
.vtc-sidebar-profile {
    margin:7px 0 6px;
    display:flex;
    align-items:center;
    gap:10px;
    padding:9px;
    border-radius:11px;
    min-width:0;
    background:rgba(255,255,255,.035);
    border:1px solid rgba(255,255,255,.045);
}
body:not(.tema-escuro) .vtc-sidebar-profile { background:rgba(15,23,42,.025); border-color:rgba(15,23,42,.055); }
.vtc-sidebar-profile-avatar {
    width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border-radius:50%;
    background:linear-gradient(135deg,#1d4ed8,#4f46e5);color:#fff;font-size:9px;font-weight:800;
}
.vtc-sidebar-profile-copy { min-width:0;display:flex;flex-direction:column;line-height:1.2; }
.vtc-sidebar-profile-copy strong { color:#dce5f7;font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:145px; }
body:not(.tema-escuro) .vtc-sidebar-profile-copy strong { color:#1e293b; }
.vtc-sidebar-profile-copy small { color:#61708e;font-size:9px;margin-top:3px; }
.vtc-sidebar-collapse {
    width:100%;height:36px;border:0;border-radius:10px;background:transparent;color:#687795;cursor:pointer;
    display:flex;align-items:center;justify-content:center;gap:8px;font-size:10.5px;font-weight:700;
}
.vtc-sidebar-collapse:hover { background:rgba(255,255,255,.045);color:#cbd5e1; }
body:not(.tema-escuro) .vtc-sidebar-collapse:hover { background:rgba(37,99,235,.055);color:#334155; }

.vtc-sidebar.is-collapsed .vtc-sidebar-brand { padding-left:10px;padding-right:10px; }
.vtc-sidebar.is-collapsed .vtc-sidebar-brand-btn { justify-content:center;padding-left:0;padding-right:0; }
.vtc-sidebar.is-collapsed .vtc-sidebar-brand-copy,
.vtc-sidebar.is-collapsed .vtc-sidebar-label,
.vtc-sidebar.is-collapsed .vtc-sidebar-chevron,
.vtc-sidebar.is-collapsed .vtc-sidebar-profile-copy,
.vtc-sidebar.is-collapsed .vtc-sidebar-collapse span,
.vtc-sidebar.is-collapsed .vtc-sidebar-submenu { display:none !important; }
.vtc-sidebar.is-collapsed .vtc-sidebar-item { justify-content:center;padding-left:9px;padding-right:9px; }
.vtc-sidebar.is-collapsed .vtc-sidebar-item.is-active::before,
.vtc-sidebar.is-collapsed .vtc-sidebar-section.has-active > .vtc-sidebar-group-trigger::before { left:-10px; }
.vtc-sidebar.is-collapsed .vtc-sidebar-profile { justify-content:center;padding:8px 0;background:transparent;border-color:transparent; }
.vtc-sidebar.is-collapsed .vtc-sidebar-collapse { width:44px;margin:0 auto; }
.vtc-sidebar.is-collapsed .vtc-sidebar-collapse i { transform:rotate(180deg); }

.vtc-sidebar-popover {
    position: fixed;
    z-index: 16000;
    display:none;
    width:210px;
    padding:7px;
    border-radius:13px;
    background:rgba(13,23,40,.985);
    border:1px solid rgba(255,255,255,.09);
    box-shadow:0 18px 48px rgba(0,0,0,.42),0 0 0 1px rgba(0,0,0,.1);
    backdrop-filter:blur(18px) saturate(130%);
    -webkit-backdrop-filter:blur(18px) saturate(130%);
}
body:not(.tema-escuro) .vtc-sidebar-popover { background:rgba(255,255,255,.985);border-color:rgba(15,23,42,.10);box-shadow:0 18px 48px rgba(15,23,42,.16); }
.vtc-sidebar-popover.is-open { display:block; }
.vtc-sidebar-popover-title { padding:7px 9px 5px;color:#64748b;font-size:9px;text-transform:uppercase;letter-spacing:.12em;font-weight:800; }
.vtc-sidebar-popover button {
    width:100%;min-height:38px;border:0;border-radius:9px;background:transparent;color:#aebbd2;cursor:pointer;
    display:flex;align-items:center;gap:10px;padding:8px 10px;text-align:left;font-family:inherit;font-size:11.5px;font-weight:650;
}
.vtc-sidebar-popover button i { width:16px;text-align:center;color:#7182a4; }
.vtc-sidebar-popover button:hover,.vtc-sidebar-popover button:focus-visible { background:rgba(255,255,255,.06);color:#fff;outline:none; }
.vtc-sidebar-popover button.is-active { background:rgba(37,99,235,.14);color:#93c5fd; }
body:not(.tema-escuro) .vtc-sidebar-popover button { color:#475569; }
body:not(.tema-escuro) .vtc-sidebar-popover button:hover { background:rgba(37,99,235,.055);color:#1e293b; }
.vtc-sidebar-popover .vtc-sidebar-badge { margin-left:auto; }

.vtc-sidebar-overlay { display:none; position:fixed; inset:0; z-index:1350; background:rgba(2,6,23,.58); backdrop-filter:blur(2px); -webkit-backdrop-filter:blur(2px); }
.vtc-nav-mobile-trigger { display:none; width:36px;height:36px;border:1px solid var(--border);border-radius:9px;background:rgba(255,255,255,.05);color:var(--text-muted);cursor:pointer;place-items:center; }
.vtc-topbar-spacer { display:none; }

@media (max-width: 900px) {
    body.vtc-shell-active,
    body.vtc-shell-active.vtc-sidebar-collapsed { padding-left:20px; --sidebar-current-width:0px; }
    body.vtc-shell-active .barra-topo-fixa { left:0; }
    .vtc-nav-mobile-trigger { display:grid; }
    .vtc-topbar-spacer { display:block;flex:1; }
    .vtc-sidebar {
        width:min(288px,88vw) !important;
        transform:translateX(-105%);
        box-shadow:20px 0 52px rgba(0,0,0,.38);
    }
    body.nav-mobile-open .vtc-sidebar { transform:translateX(0); }
    body.nav-mobile-open .vtc-sidebar-overlay { display:block; }
    .vtc-sidebar.is-collapsed .vtc-sidebar-brand-copy,
    .vtc-sidebar.is-collapsed .vtc-sidebar-label,
    .vtc-sidebar.is-collapsed .vtc-sidebar-chevron,
    .vtc-sidebar.is-collapsed .vtc-sidebar-profile-copy { display:flex !important; }
    .vtc-sidebar.is-collapsed .vtc-sidebar-brand-btn { justify-content:flex-start;padding:7px 8px; }
    .vtc-sidebar.is-collapsed .vtc-sidebar-item { justify-content:flex-start;padding:7px 9px; }
    .vtc-sidebar.is-collapsed .vtc-sidebar-profile { justify-content:flex-start;padding:9px;background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.045); }
    .vtc-sidebar.is-collapsed .vtc-sidebar-submenu { display:grid !important; }
    .vtc-sidebar-collapse { display:none; }
    .vtc-sidebar-mobile-close {
        display:grid;place-items:center;position:absolute;right:10px;top:18px;width:32px;height:32px;border:0;border-radius:9px;
        color:#7f8daa;background:rgba(255,255,255,.055);cursor:pointer;z-index:2;
    }
    .vtc-sidebar-brand-btn { padding-right:42px; }
    .vtc-sidebar-popover { display:none !important; }
}
/* V12.89 — ARMAZENAGEM */
.arma-page{min-height:100vh;padding:28px 30px 60px;background:var(--bg-main,#f6f8fb)}.arma-page-shell{max-width:1380px;margin:auto}.arma-page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:20px}.arma-page-head h1{margin:4px 0 6px;font-size:28px;color:var(--primary,#0f172a)}.arma-page-head p{margin:0;color:#64748b;font-size:13px}.arma-eyebrow{font-size:9px;font-weight:800;letter-spacing:.14em;color:#2563eb}.arma-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}.arma-stat,.arma-panel,.arma-review-card{background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0);border-radius:12px}.arma-stat{padding:14px 16px}.arma-stat span{display:block;color:#64748b;font-size:10px}.arma-stat strong{font-size:20px;color:var(--primary,#0f172a)}.arma-panel{overflow:hidden}.arma-toolbar{display:flex;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border,#e2e8f0)}.arma-search{display:flex;gap:8px;align-items:center;border:1px solid var(--border,#e2e8f0);border-radius:8px;padding:0 10px;min-width:300px}.arma-search input{border:0!important;background:transparent!important;box-shadow:none!important;padding:8px 0!important;width:100%}.arma-toolbar select{border:1px solid var(--border,#e2e8f0);border-radius:8px;padding:8px;background:var(--surface,#fff)}.arma-table-wrap{overflow:auto}.arma-history-table,.arma-table{width:100%;border-collapse:collapse}.arma-history-table{min-width:760px}.arma-history-table th,.arma-table th{font-size:9px;color:#94a3b8;text-align:left;padding:9px 12px;background:var(--bg-subtle,#f8fafc);border-bottom:1px solid var(--border,#e2e8f0)}.arma-history-table td,.arma-table td{font-size:10.5px;padding:10px 12px;border-bottom:1px solid var(--border,#eef2f7);vertical-align:top}.arma-history-table td:first-child strong,.arma-history-table td:first-child small,.arma-table td strong,.arma-table td small{display:block}.arma-history-table td small,.arma-table td small{color:#94a3b8;margin-top:2px}.arma-history-status{display:inline-flex;padding:4px 8px;border-radius:99px;background:#eef2ff;color:#4f46e5;font-size:9px;font-weight:700}.arma-history-status.conferido{background:#ecfdf5;color:#059669}.arma-history-status.pdf_gerado{background:#eff6ff;color:#2563eb}.arma-empty-list,.arma-empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;padding:40px;color:#94a3b8}.arma-modal{position:fixed;inset:0;z-index:14000;background:rgba(2,6,23,.6);display:flex;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(3px)}.arma-modal-card{width:min(1120px,96vw);max-height:92vh;display:flex;flex-direction:column;overflow:hidden;background:var(--surface,#fff);border-radius:16px;box-shadow:0 30px 80px rgba(2,6,23,.3)}.arma-modal-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border,#e2e8f0)}.arma-modal-head h2{margin:2px 0 0;font-size:18px}.arma-modal-body{padding:18px 20px;overflow:auto}.arma-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.arma-file-group{grid-column:1/-1}.arma-file-group input[type=file]{width:100%;padding:12px;border:1px dashed #94a3b8;border-radius:10px}.arma-import-note{display:flex;gap:10px;padding:12px;margin-top:14px;border:1px solid #bfdbfe;background:#eff6ff;color:#1e40af;border-radius:10px}.arma-import-note strong,.arma-import-note span{display:block}.arma-import-note span{font-size:9.5px;margin-top:2px}.arma-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.arma-actions.sticky{position:sticky;bottom:-18px;padding-top:12px;background:var(--surface,#fff);border-top:1px solid var(--border,#e2e8f0)}.arma-review-hero{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#071f36,#0b365c);border-radius:12px;padding:17px 20px;color:#fff;margin-bottom:12px}.arma-review-hero small,.arma-review-hero strong,.arma-review-hero span{display:block}.arma-review-hero strong{font-size:26px;margin:3px 0}.arma-status{display:inline-flex!important;align-items:center;gap:6px;padding:6px 9px;border-radius:99px;background:rgba(255,255,255,.1);font-size:9px!important}.arma-status.ok{color:#86efac}.arma-status.warn{color:#fde68a}.arma-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.arma-review-card{padding:13px;margin-bottom:12px}.arma-review-card h4{margin:0 0 9px;font-size:11px}.arma-kpi-row{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:6px 0;border-bottom:1px solid var(--border,#eef2f7);font-size:10px}.arma-kpi-row small{grid-column:2;color:#94a3b8}.arma-close-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--border,#eef2f7);font-size:10px}.arma-close-row.total{font-size:12px;border:0}.arma-close-row.total strong{color:#60a5fa;font-size:14px}.arma-table{min-width:820px}.arma-table tr.divergente{background:#fffbeb}.arma-mini-status{display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;border-radius:50%}.arma-mini-status.ok{background:#ecfdf5;color:#059669}.arma-mini-status.warn{background:#fffbeb;color:#d97706}.arma-review-card textarea{width:100%;margin-top:6px;border:1px solid var(--border,#e2e8f0);border-radius:8px;padding:9px;background:var(--bg-subtle,#f8fafc);color:var(--text-main,#334155)}.arma-check{display:flex;gap:6px;align-items:center;margin-top:8px;font-size:10px;color:#92400e}.arma-muted{color:#94a3b8;font-size:10px}.arma-file-group small{display:block;margin-top:5px;color:#64748b;font-size:9px}@media(max-width:900px){.arma-page{padding:18px 12px 50px}.arma-page-head{flex-direction:column}.arma-stats,.arma-review-grid,.arma-form-grid{grid-template-columns:1fr}.arma-file-group{grid-column:auto}.arma-toolbar{flex-direction:column}.arma-search{min-width:0}.arma-modal{padding:6px}.arma-review-hero{align-items:flex-start;flex-direction:column;gap:10px}}


/* V12.90 — Armazenagem: fundo navy + ações compactas */
.arma-page{background:radial-gradient(ellipse at 18% 0%,rgba(37,99,235,.08) 0%,transparent 48%),radial-gradient(ellipse at 85% 100%,rgba(59,130,246,.04) 0%,transparent 50%),#08101e!important;color:#e7eef8}
.arma-page-head h1{color:#f5f8fc!important}.arma-page-head p{color:#8797af!important}.arma-eyebrow{color:#6ea8ff!important}
.arma-stat,.arma-panel{background:#172238!important;border-color:#293750!important}.arma-stat span{color:#8190a8!important}.arma-stat strong{color:#f5f8fc!important}
.arma-toolbar{border-color:#293750!important}.arma-search,.arma-toolbar select{border-color:#34445f!important;background:#1b2941!important;color:#e9eff8!important}.arma-search input{color:#e9eff8!important}.arma-search i{color:#91a0b7}.arma-toolbar select option{background:#172238;color:#fff}
.arma-history-table th{background:#0e1829!important;border-color:#293750!important;color:#8c9bb1!important}.arma-history-table td{border-color:#293750!important;color:#dbe5f3!important}.arma-history-table td:first-child strong{color:#f5f8fc}.arma-history-table td small{color:#7f90aa!important}.arma-history-table tbody tr:hover{background:#1b2941}
.arma-empty-list{color:#73849e}.arma-panel .btn-tool{background:#22314a;border-color:#34445f;color:#a9b8cc}
.arma-history-actions{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.arma-history-action{width:29px;height:29px;min-width:29px;padding:0!important;display:inline-flex;align-items:center;justify-content:center;border:1px solid #34445f!important;border-radius:7px!important;background:#22314a!important;color:#9fb0c7!important;cursor:pointer}.arma-history-action:hover{background:#2a3b58!important;color:#fff!important}.arma-history-action.pdf:hover{color:#8bb8ff!important}.arma-history-action.zip:hover{color:#9ee6bc!important}.arma-history-action.delete:hover{background:rgba(239,68,68,.13)!important;border-color:rgba(248,113,113,.35)!important;color:#ff8585!important}
.arma-product-count{display:inline-flex;margin-top:4px;padding:3px 6px;border-radius:99px;background:#263955;color:#9cc4ff;font-size:8px;font-weight:800}.arma-product-table td:first-child{max-width:460px}.arma-product-table td:first-child strong{white-space:normal!important}.arma-product-table .arma-product-total{font-weight:900;color:var(--text-main,#0f172a);text-align:right}
@media(max-width:900px){.arma-history-actions{justify-content:flex-start}}

.arma-inline-pdf{width:27px;height:27px;border:1px solid var(--border,#dfe5ec);border-radius:7px;background:var(--surface,#fff);color:#64748b;cursor:pointer}.arma-inline-pdf:hover{color:#2563eb;border-color:#93b7e8}
.arma-history-table th:last-child,.arma-history-table td:last-child{width:138px;white-space:nowrap;text-align:right}.arma-history-table td:last-child .arma-history-actions{justify-content:flex-end}

/* V12.91 - Conferência inteligente de estoque */
.arma-conference-card{border-color:#d8e2ef!important;background:#fff!important}.arma-conference-title{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:12px}.arma-conference-title h4{margin:4px 0 0!important;font-size:14px!important;color:#13233a}.arma-conference-summary{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.arma-conference-summary span{display:flex;align-items:center;gap:4px;padding:6px 9px;border-radius:8px;background:#f1f5f9;color:#64748b;font-size:9px}.arma-conference-summary strong{color:#14243a;font-size:11px}.arma-conference-summary .pending{background:#fff7ed;color:#c2410c}.arma-conference-summary .pending strong{color:#c2410c}.arma-conference-summary .ok{background:#ecfdf5;color:#047857}.arma-conference-clear{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:8px;background:#ecfdf5;color:#047857;font-size:9px;font-weight:800}.arma-blocked-note{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;margin-bottom:12px;border:1px solid #fed7aa;border-radius:9px;background:#fff7ed;color:#9a3412}.arma-blocked-note i{margin-top:2px}.arma-blocked-note strong,.arma-blocked-note span{display:block}.arma-blocked-note span{font-size:9.5px;margin-top:2px;color:#c2410c}.arma-anomaly-list{display:grid;gap:9px}.arma-anomaly-card{border:1px solid #fed7aa;border-radius:10px;background:#fffbf5;padding:12px}.arma-anomaly-card.corrected{border-color:#bbf7d0;background:#f0fdf4}.arma-anomaly-card.confirmed{border-color:#cbd5e1;background:#f8fafc}.arma-anomaly-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.arma-anomaly-head strong,.arma-anomaly-head small{display:block}.arma-anomaly-head strong{color:#17243a;font-size:11px}.arma-anomaly-head small{color:#64748b;font-size:9px;margin-top:2px}.arma-anomaly-status{padding:4px 7px;border-radius:99px;font-size:8px;font-weight:800;background:#ffedd5;color:#c2410c}.arma-anomaly-status.corrected{background:#dcfce7;color:#15803d}.arma-anomaly-status.confirmed{background:#e2e8f0;color:#475569}.arma-anomaly-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px}.arma-anomaly-values>div{padding:8px 10px;border-radius:8px;background:#fff;border:1px solid #e7edf5}.arma-anomaly-values small,.arma-anomaly-values strong{display:block}.arma-anomaly-values small{font-size:8px;color:#7c8ba1}.arma-anomaly-values strong{font-size:15px;color:#15263d;margin-top:2px}.arma-sequence{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:9px}.arma-sequence span{min-width:30px;text-align:center;padding:4px 6px;border-radius:6px;background:#eef2f7;color:#526177;font-size:9px;font-weight:700}.arma-sequence span.suspect{background:#ffedd5;color:#c2410c;box-shadow:inset 0 0 0 1px #fdba74}.arma-sequence i{font-size:7px;color:#a7b3c3}.arma-impact{display:block;margin-top:8px;font-size:9px;font-weight:700}.arma-impact.down{color:#047857}.arma-impact.up{color:#b91c1c}.arma-impact.neutral{color:#64748b}.arma-anomaly-card p{margin:7px 0 0;color:#6b7a90;font-size:9px}.arma-anomaly-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.arma-anomaly-actions button{font-size:9px!important;padding:7px 9px!important}.arma-anomaly-actions .subtle{margin-left:auto}.arma-product-count.warning{background:#7c2d12!important;color:#fed7aa!important;margin-left:5px}.arma-actions button:disabled{opacity:.45!important;cursor:not-allowed!important;filter:grayscale(.2)}
@media(max-width:760px){.arma-conference-title{flex-direction:column}.arma-conference-summary{justify-content:flex-start}.arma-anomaly-values{grid-template-columns:1fr}.arma-anomaly-actions .subtle{margin-left:0}}

/* Armazenagem V12.97 — Seguro auditável, proteção de valoração e contraste de totais */
.arma-pricing-shortcut{display:flex;flex-direction:column;align-items:flex-start}.arma-pricing-shortcut .btn-tool{justify-content:center;min-height:38px}.arma-pricing-shortcut small{display:block;margin-top:5px;color:#64748b;font-size:9px;line-height:1.4}.arma-pricing-head{margin-bottom:16px}.arma-pricing-head h3{margin:4px 0 5px;font-size:18px;color:var(--primary,#0f172a)}.arma-pricing-head p{margin:0;color:#64748b;font-size:10.5px;line-height:1.5}.arma-pricing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.arma-pricing-grid .form-group input{width:100%}.arma-pricing-note{margin-top:16px}.arma-optional{font-size:8px;color:#94a3b8;font-weight:500}@media(max-width:900px){.arma-pricing-grid{grid-template-columns:1fr}}

/* V12.97 — valoração auditável do Seguro */
.arma-seguro-config{margin-top:16px;padding:14px;border:1px solid var(--border,#e2e8f0);border-radius:12px;background:var(--bg-subtle,#f8fafc)}.arma-seguro-config .form-group{margin:0}.arma-seguro-config select{width:100%;min-height:38px;border:1px solid var(--border,#e2e8f0);border-radius:8px;background:var(--surface,#fff);color:var(--text-main,#334155);padding:8px}.arma-seguro-config small{display:block;margin-top:5px;color:#64748b;font-size:9px}.arma-seguro-config-title{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin:14px 0 8px}.arma-seguro-config-title strong{font-size:10.5px}.arma-seguro-config-title span{font-size:9px;color:#64748b;max-width:520px}.arma-seguro-row{display:grid;grid-template-columns:minmax(210px,1.35fr) repeat(3,minmax(145px,1fr));gap:8px;align-items:end;padding:9px 0;border-top:1px solid var(--border,#e2e8f0)}.arma-seguro-row>div strong,.arma-seguro-row>div small{display:block}.arma-seguro-row>div small{font-size:8.5px;color:#64748b;margin-top:2px}.arma-seguro-row label{font-size:8px;color:#64748b}.arma-seguro-row input{width:100%;margin-top:3px;min-height:34px;border:1px solid var(--border,#e2e8f0);border-radius:7px;padding:7px;background:var(--surface,#fff);color:var(--text-main,#334155)}.arma-insurance-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:8px}.arma-insurance-head h4{margin:2px 0 3px}.arma-insurance-status{display:inline-flex;padding:4px 7px;border-radius:99px;font-size:8px;font-weight:800;white-space:nowrap}.arma-insurance-status.ok{background:#ecfdf5;color:#047857}.arma-insurance-status.warn{background:#fff7ed;color:#c2410c}.arma-insurance-audit .arma-blocked-note{margin-top:10px}@media(max-width:900px){.arma-seguro-row{grid-template-columns:1fr}.arma-seguro-config-title{flex-direction:column}}

/* ===== V13.04 — Carteira: processo documental / requisitos recuperáveis ===== */
.ficha-processo-documentacao-card{margin-top:14px;border:1px solid var(--border);background:var(--bg-card);border-radius:13px;padding:14px;display:flex;flex-direction:column;gap:11px}
.ficha-processo-documentacao-titulo{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.ficha-processo-documentacao-titulo>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.ficha-processo-documentacao-titulo small{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:9.5px;font-weight:800}
.ficha-processo-documentacao-titulo strong{font-size:14px;color:var(--processo-status-color,var(--text));display:flex;align-items:center;gap:6px}
.ficha-processo-documentacao-titulo>span{font-size:10px;color:var(--text-muted);text-align:right}
.ficha-processo-documentacao-controles{display:grid;grid-template-columns:minmax(170px,.8fr) minmax(260px,1.7fr) auto auto;gap:8px;align-items:center}
.ficha-processo-documentacao-controles select,.ficha-processo-documentacao-controles input{height:38px;border:1px solid var(--border);background:var(--bg-input,var(--bg-card));color:var(--text);border-radius:9px;padding:0 10px;font-size:12px;min-width:0}
.cliente-saude-status-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}
.cliente-processo-status{max-width:145px;display:inline-flex;align-items:center;gap:5px;font-size:9px;font-weight:750;color:var(--processo-status-color,#64748b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cliente-processo-status i{font-size:9px;flex:0 0 auto}
.cliente-detalhe-processo strong{color:var(--processo-status-color,var(--text));display:flex;align-items:center;gap:6px}
.doc-req-item.doc-compact-row.nao-aplicavel{border-left-color:#64748b;opacity:.82;background:rgba(100,116,139,.045)}
.doc-nao-aplicavel-tag{display:inline-flex;align-items:center;border:1px solid rgba(100,116,139,.28);background:rgba(100,116,139,.09);color:#64748b;border-radius:999px;padding:2px 6px;font-size:8px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}
.doc-arquivo-ativo.contrato-vencido-atencao{border-color:rgba(220,38,38,.55);background:rgba(220,38,38,.055);box-shadow:inset 3px 0 0 #dc2626}
.contrato-vencido-observacao{margin-top:5px!important;display:flex!important;align-items:flex-start;gap:5px;color:#b91c1c!important;font-weight:750!important;line-height:1.35!important}
.contrato-vencido-observacao i{margin-top:1px;flex:0 0 auto}
body.tema-escuro .doc-arquivo-ativo.contrato-vencido-atencao{background:rgba(239,68,68,.09);border-color:rgba(248,113,113,.5)}
body.tema-escuro .contrato-vencido-observacao{color:#fca5a5!important}
@media(max-width:900px){.ficha-processo-documentacao-controles{grid-template-columns:1fr}.ficha-processo-documentacao-controles .btn-tool{justify-content:center}.ficha-processo-documentacao-titulo{flex-direction:column;gap:5px}.ficha-processo-documentacao-titulo>span{text-align:left}}


/* V13.05 — Processo documental direto no progresso da carteira */
.cliente-progresso-editavel{cursor:pointer;border:0;background:transparent;color:inherit;font:inherit;text-align:left;border-radius:8px;padding:4px 6px;margin:-4px -6px;transition:background .16s ease,box-shadow .16s ease}
.cliente-progresso-editavel:hover,.cliente-progresso-editavel.processo-aberto{background:rgba(37,99,235,.07);box-shadow:inset 0 0 0 1px rgba(37,99,235,.15)}
.cliente-progresso-editar-icone{font-size:8px;color:#64748b;opacity:.72;transform:none;transition:opacity .16s ease,transform .16s ease}
.cliente-progresso-editavel:hover .cliente-progresso-editar-icone,.cliente-progresso-editavel.processo-aberto .cliente-progresso-editar-icone{opacity:1;transform:none;color:#2563eb}
.processo-carteira-popover{position:fixed;z-index:14000;display:none;border:1px solid var(--border,#dbe3ec);background:var(--bg-card,#fff);color:var(--text,#172033);border-radius:14px;padding:14px;box-shadow:0 18px 50px rgba(15,23,42,.18);gap:10px}
.processo-carteira-popover.aberto{display:flex;flex-direction:column}
.processo-carteira-popover-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:9px;border-bottom:1px solid var(--border,#e2e8f0)}
.processo-carteira-popover-head>div{min-width:0;display:flex;flex-direction:column;gap:2px}
.processo-carteira-popover-head small{font-size:8.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted,#64748b);font-weight:800}
.processo-carteira-popover-head strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.processo-carteira-fechar{border:0;background:transparent;color:#94a3b8;width:28px;height:28px;border-radius:7px;cursor:pointer;display:grid;place-items:center;flex:0 0 auto}
.processo-carteira-fechar:hover{background:rgba(148,163,184,.12);color:var(--text,#172033)}
.processo-carteira-regular{display:flex;align-items:flex-start;gap:7px;padding:8px 9px;border-radius:9px;background:#ecfdf5;color:#047857;font-size:9px;font-weight:700;line-height:1.35}
.processo-carteira-regular i{margin-top:1px}
.processo-carteira-atual{display:flex;flex-direction:column;gap:3px;padding:8px 9px;border-radius:9px;background:rgba(100,116,139,.06)}
.processo-carteira-atual small{font-size:8px;color:var(--text-muted,#64748b);text-transform:uppercase;font-weight:800;letter-spacing:.04em}
.processo-carteira-atual strong{font-size:10.5px;color:var(--processo-status-color,#64748b);display:flex;align-items:center;gap:6px}
.processo-carteira-campo{display:flex;flex-direction:column;gap:5px}
.processo-carteira-campo>span{font-size:9px;color:var(--text-muted,#64748b);font-weight:750}
.processo-carteira-campo input,.processo-carteira-campo textarea{width:100%;border:1px solid var(--border,#dbe3ec);background:var(--bg-input,var(--bg-card,#fff));color:var(--text,#172033);border-radius:9px;padding:9px 10px;font:inherit;font-size:11px;outline:none}
.processo-carteira-campo input:focus,.processo-carteira-campo textarea:focus{border-color:#60a5fa;box-shadow:0 0 0 3px rgba(59,130,246,.10)}
.processo-carteira-campo textarea{resize:vertical;min-height:66px;line-height:1.4}
.processo-carteira-acoes{display:flex;gap:7px;flex-wrap:wrap;padding-top:2px}
.processo-carteira-acoes .btn-tool{justify-content:center}
body.tema-escuro .processo-carteira-popover{box-shadow:0 20px 58px rgba(0,0,0,.42)}
body.tema-escuro .processo-carteira-regular{background:rgba(16,185,129,.12);color:#6ee7b7}
@media(max-width:620px){.processo-carteira-popover{left:10px!important;right:10px!important;width:auto!important}.processo-carteira-acoes{flex-direction:column}.processo-carteira-acoes .btn-tool{width:100%}}

/* V13.08 - processo documental acessível abaixo da Saúde */
.cliente-progresso-estatico{cursor:default}
.cliente-progresso-estatico .cliente-progresso-minimal,
.cliente-progresso-estatico strong{pointer-events:none}
.cliente-processo-acao{
    appearance:none;border:0;background:transparent;padding:0;margin:0;
    max-width:190px;display:inline-flex;align-items:center;gap:5px;
    font:inherit;font-size:9.5px;font-weight:750;line-height:1.25;
    color:var(--text-muted,#7f8da8);cursor:pointer;text-align:left;
}
.cliente-processo-acao:hover{color:var(--primary,#3b82f6);text-decoration:underline;text-underline-offset:2px}
.cliente-processo-acao.tem-processo{color:var(--processo-status-color,#64748b)}
.cliente-processo-acao i{font-size:9px;flex:0 0 auto}
.cliente-processo-acao span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cliente-processo-acao.processo-aberto{color:var(--primary,#3b82f6)}


/* V13.09 — atalhos diretos da carteira + download dentro da documentação */
.btn-cliente-ficha-direta i{font-size:11px}
.docs-ficha-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px;padding:10px 12px;border:1px solid var(--border);border-radius:11px;background:var(--bg-subtle)}
.docs-ficha-toolbar>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.docs-ficha-toolbar strong{font-size:11px;color:var(--text-main)}
.docs-ficha-toolbar small{font-size:9px;color:var(--text-muted)}
.docs-ficha-download{flex:0 0 auto}
@media(max-width:620px){.docs-ficha-toolbar{align-items:stretch;flex-direction:column}.docs-ficha-download{width:100%;justify-content:center}}


/* V13.10 — Armazenagem compacta e orientada à execução */
.arma-btn-new{min-height:46px!important;padding:0 18px!important;font-size:12px!important;border-radius:10px!important;box-shadow:0 8px 22px rgba(37,99,235,.18)}
.arma-form-grid-compact{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr)!important;align-items:end}
.arma-form-grid-compact .form-group>label{display:block;margin-bottom:6px;font-size:10px;font-weight:700;color:var(--text-main,#334155)}
.arma-form-grid-compact select,.arma-form-grid-compact input[type=month]{width:100%!important;min-height:42px!important;padding:9px 11px!important;border:1px solid var(--border,#dce4ee)!important;border-radius:9px!important;background:var(--surface,#fff)!important;color:var(--text-main,#334155)!important;box-shadow:none!important}
.arma-pricing-shortcut{grid-column:1/-1;flex-direction:row!important;align-items:center!important;gap:10px!important;padding-top:2px}.arma-pricing-shortcut>label{margin:0!important}.arma-pricing-shortcut small{margin:0!important}.arma-pricing-shortcut .btn-tool{min-height:34px!important}
.arma-file-group{grid-column:1/-1!important}.arma-upload-dropzone{min-height:145px!important;width:100%;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1.5px dashed #7f91aa!important;border-radius:12px!important;background:rgba(248,250,252,.75)!important;color:#526177!important;cursor:pointer;transition:.18s ease;padding:20px!important;text-align:center}.arma-upload-dropzone:hover,.arma-upload-dropzone.dragover{border-color:#3b82f6!important;background:#eff6ff!important;color:#1d4ed8!important}.arma-upload-dropzone.has-file{border-style:solid!important;border-color:#86c8a4!important;background:#f0fdf4!important;color:#16794a!important}.arma-upload-dropzone input[type=file]{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.arma-upload-dropzone>i{font-size:26px;margin-bottom:3px}.arma-upload-dropzone>strong{font-size:12px}.arma-upload-dropzone>span{font-size:9.5px;color:#7a899e}.arma-upload-dropzone>small{font-size:9px!important;margin-top:5px!important;max-width:80%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.arma-conference-compact{background:#fff;border:1px solid #d8e2ef;border-radius:11px;padding:10px 11px;margin-bottom:10px}.arma-conference-compact.clear{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px}.arma-conference-compact.clear>div{display:flex;align-items:center;gap:8px}.arma-conference-compact.clear .arma-eyebrow{margin:0}.arma-conference-compact.clear strong{font-size:10px;color:#26384e}.arma-conference-title{margin-bottom:8px!important;align-items:center!important}.arma-conference-title h4{display:inline;margin:0 0 0 7px!important;font-size:11px!important}.arma-conference-block-hint{display:block;margin-top:2px;color:#b45309;font-size:8.5px}.arma-conference-summary{gap:4px!important}.arma-conference-summary span{padding:3px 6px!important;border-radius:6px!important;font-size:8px!important}.arma-conference-summary strong{font-size:9px!important}.arma-conference-clear{padding:4px 7px!important;font-size:8px!important}
.arma-anomaly-list{gap:6px!important}.arma-anomaly-card{padding:9px 10px!important;border-radius:9px!important;overflow:hidden}.arma-anomaly-head{align-items:center!important}.arma-anomaly-ident{min-width:0}.arma-anomaly-head strong{font-size:10.5px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:720px}.arma-anomaly-head small{font-size:8.5px!important}.arma-anomaly-right{display:flex;align-items:center;gap:7px;flex:0 0 auto}.arma-anomaly-status{font-size:7.5px!important;padding:3px 6px!important}.arma-sequence-wrap{margin-top:7px;min-width:0}.arma-sequence{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(48px,1fr));gap:4px!important;width:100%;max-width:100%;overflow:visible!important}.arma-sequence-point{min-width:0!important;min-height:39px;display:flex!important;position:relative;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:4px 5px!important;border:1px solid transparent;border-radius:7px!important;background:#eef2f7;color:#526177;text-align:center;font-family:inherit}.arma-sequence-point small{font-size:7px;color:#8190a5}.arma-sequence-point strong{font-size:9px}.arma-sequence-point.suspect{background:#fff7ed;color:#c2410c;border-color:#fb923c;box-shadow:none}.arma-sequence-point.suspect small{color:#c2410c}.arma-sequence-point.editable{cursor:pointer;padding-right:15px!important}.arma-sequence-point.editable:hover{background:#ffedd5}.arma-sequence-point.editable>i{position:absolute;right:5px;top:5px;font-size:6px;opacity:.65}.arma-sequence-extra{display:none!important}.arma-sequence.expanded .arma-sequence-extra{display:flex!important}.arma-sequence-gap{display:flex;align-items:center;justify-content:center;min-height:39px;border-radius:7px;background:transparent;color:#94a3b8;font-size:12px}.arma-sequence.expanded .arma-sequence-gap{display:none}.arma-sequence-toggle{display:inline-flex;align-items:center;gap:5px;margin-top:5px;padding:3px 0;border:0;background:transparent;color:#64748b;font-size:8px;font-weight:700;cursor:pointer}.arma-sequence-toggle:hover{color:#2563eb}.arma-sequence-toggle i{font-size:8px}.arma-anomaly-controls{display:flex;align-items:center;gap:8px;min-width:0;margin-top:6px}.arma-anomaly-actions{display:flex;margin:0!important;gap:4px!important;flex-wrap:nowrap!important;flex:0 0 auto}.arma-icon-action{width:27px;height:27px;border-radius:7px;border:1px solid #d9e2ec;background:#fff;color:#64748b;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0!important;font-size:10px!important}.arma-icon-action.approve:hover{border-color:#86c8a4;background:#ecfdf5;color:#047857}.arma-icon-action.reject:hover{border-color:#f2a3a3;background:#fff1f2;color:#be123c}.arma-impact{display:inline-flex!important;margin:0!important;font-size:8.5px!important;white-space:nowrap}.arma-impact.changed{color:#475569}.arma-impact.changed strong{color:#9a3412}.arma-impact.neutral{color:#8491a3!important}.arma-anomaly-reason{min-width:0;font-size:8px;color:#8491a3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.arma-insurance-disclosure{border:1px solid #d8e2ef;border-radius:9px;background:#fff;margin:0 0 10px;overflow:hidden}.arma-insurance-disclosure>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;color:#526177}.arma-insurance-disclosure>summary::-webkit-details-marker{display:none}.arma-insurance-disclosure>summary span{font-size:9.5px;font-weight:800}.arma-insurance-disclosure>summary i{margin-right:5px;color:#6b8db8}.arma-insurance-disclosure>summary small{font-size:8px;color:#95a2b4}.arma-insurance-disclosure.blocked>summary{background:#fff7ed;color:#9a3412}.arma-insurance-content{border-top:1px solid #e5ebf2;padding:8px}.arma-insurance-action{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 3px 1px}.arma-insurance-action span{font-size:8.5px;color:#7a8798}
@media(max-width:760px){.arma-form-grid-compact{grid-template-columns:1fr!important}.arma-pricing-shortcut{grid-column:auto;flex-direction:column!important;align-items:flex-start!important}.arma-anomaly-head{align-items:flex-start!important}.arma-anomaly-right{align-items:flex-end;flex-direction:column}.arma-anomaly-head strong{max-width:58vw}.arma-conference-compact.clear{align-items:flex-start;flex-direction:column}.arma-conference-compact.clear>div{align-items:flex-start;flex-direction:column;gap:3px}}

/* V13.11 — sequência contida no card e edição direta */
@media(max-width:760px){.arma-sequence{grid-template-columns:repeat(auto-fit,minmax(44px,1fr))}.arma-anomaly-controls{align-items:flex-start;flex-wrap:wrap}.arma-anomaly-reason{flex-basis:100%;white-space:normal}.arma-anomaly-head strong{max-width:66vw}}

/* V13.12 — edição manual de qualquer ponto da sequência */
.arma-sequence-point.editable{cursor:pointer}.arma-sequence-point.editable>i{opacity:0!important;transition:.15s ease}.arma-sequence-point.editable:hover>i{opacity:.65!important}.arma-sequence-point.manual-edited{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}.arma-sequence-point.manual-edited small{color:#4f78ad}.arma-sequence-point.manual-edited em{position:absolute;left:4px;bottom:2px;font-style:normal;font-size:5.5px;font-weight:800;text-transform:uppercase;letter-spacing:.02em;color:#2563eb}.arma-sequence-point.editing{padding:4px!important}.arma-sequence-point.editing>small{margin-bottom:2px}.arma-sequence-input{width:100%;min-width:0;height:22px!important;padding:1px 3px!important;border:1px solid #3b82f6!important;border-radius:5px!important;background:#fff!important;color:#17243a!important;font-size:9px!important;font-weight:800;text-align:center;outline:none!important;box-shadow:0 0 0 2px rgba(59,130,246,.10)!important}.arma-other-sequences{margin-top:8px;border-top:1px solid #e4eaf1;padding-top:7px}.arma-other-sequences>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 2px;color:#64748b;cursor:pointer}.arma-other-sequences>summary::-webkit-details-marker{display:none}.arma-other-sequences>summary span{display:flex;align-items:center;gap:6px;font-size:8.5px;font-weight:800}.arma-other-sequences>summary small{font-size:7.5px;color:#94a3b8}.arma-other-sequences-list{display:grid;gap:6px;margin-top:5px}.arma-anomaly-card.neutral{border-color:#dce4ee!important;background:#f8fafc!important}.arma-anomaly-card.neutral .arma-sequence-point{background:#fff}.arma-anomaly-card.neutral .arma-sequence-point.manual-edited{background:#eff6ff}


/* V13.13 — ações e edição dos arquivos da Carteira */
.doc-arquivo-menu-trigger {
    width:38px; height:38px; border-radius:10px; border:1px solid var(--border-color);
    background:var(--bg-subtle); color:var(--text-muted); cursor:pointer; display:inline-flex;
    align-items:center; justify-content:center; transition:.18s ease; flex:0 0 auto;
}
.doc-arquivo-menu-trigger:hover { color:var(--primary); border-color:rgba(59,130,246,.38); background:rgba(59,130,246,.09); }
.doc-arquivo-menu-flutuante { min-width:170px; z-index:16000; }
.doc-arquivo-menu-flutuante button.danger { color:#dc2626; }
.doc-arquivo-menu-flutuante button.danger i { color:#dc2626; }
.clientes-modal-editar-documento { width:min(620px, calc(100vw - 32px)); max-height:calc(100vh - 48px); overflow:hidden; }
.clientes-editar-documento-body { padding:20px 22px; overflow:auto; display:flex; flex-direction:column; gap:14px; }
.clientes-editar-documento-aviso { display:flex; gap:9px; align-items:flex-start; padding:10px 12px; border-radius:10px; background:var(--bg-subtle); color:var(--text-muted); font-size:12px; line-height:1.45; }
.clientes-editar-documento-aviso i { color:var(--primary); margin-top:2px; }
body.tema-escuro .doc-arquivo-menu-trigger { background:#172033; border-color:#26344d; }

/* ============================================================
   V13.14 — COMERCIAL > OPORTUNIDADES
   Inbox comercial alimentado pela landing VTCLOG.
   ============================================================ */
.op-screen{min-height:100vh;background:var(--bg-body);color:var(--text-main)}
.op-header-app{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 24px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg-card) 94%,transparent);backdrop-filter:blur(18px)}
.op-header-title,.op-header-actions{display:flex;align-items:center;gap:14px}.op-header-title h2{margin:0;color:var(--primary);font-size:18px}.op-header-title h2 i{color:#0ea5e9}.op-header-title small{color:var(--text-muted)}
.op-live{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid rgba(16,185,129,.22);border-radius:999px;background:rgba(16,185,129,.08);color:var(--success-text);font:700 9px ui-monospace,SFMono-Regular,monospace;letter-spacing:.08em}.op-live i{width:6px;height:6px;border-radius:50%;background:#10b981;box-shadow:0 0 0 4px rgba(16,185,129,.12)}
.op-shell{max-width:1540px;margin:0 auto;padding:20px 24px 36px}.op-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.op-summary article{display:grid;gap:4px;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--bg-card);box-shadow:var(--shadow-sm)}.op-summary span{color:var(--text-muted);font-size:10px}.op-summary strong{font-size:25px;color:var(--text-main)}.op-summary small{font-size:9px;color:var(--text-muted)}
.op-workspace{display:grid;grid-template-columns:minmax(330px,420px) minmax(0,1fr);min-height:690px;border:1px solid var(--border);border-radius:16px;overflow:hidden;background:var(--bg-card);box-shadow:var(--shadow-sm)}.op-inbox{display:flex;flex-direction:column;min-width:0;border-right:1px solid var(--border);background:var(--bg-subtle)}.op-inbox-head{display:flex;align-items:center;justify-content:space-between;padding:17px 16px 12px}.op-inbox-head>div{display:grid;gap:3px}.op-inbox-head span{font:700 8px ui-monospace,SFMono-Regular,monospace;letter-spacing:.1em;color:#0284c7}.op-inbox-head strong{font-size:13px;color:var(--text-main)}.op-icon-btn{width:34px;height:34px;border:1px solid var(--border);border-radius:9px;background:var(--bg-card);color:var(--text-muted);cursor:pointer}.op-filters{display:grid;grid-template-columns:1fr 145px;gap:7px;padding:0 12px 12px}.op-search{display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--border);border-radius:9px;background:var(--bg-card);color:var(--text-muted)}.op-search input,.op-filters select{width:100%;border:0;outline:0;background:transparent;color:var(--text-main);font:inherit;font-size:11px}.op-filters select{padding:10px;border:1px solid var(--border);border-radius:9px;background:var(--bg-card)}.op-list{flex:1;overflow:auto;padding:0 8px 10px}.op-list-empty{display:grid;place-items:center;gap:10px;padding:48px 16px;color:var(--text-muted);text-align:center;font-size:11px}
.op-item{width:100%;display:grid;gap:7px;padding:13px 12px;margin:0 0 6px;border:1px solid transparent;border-radius:11px;background:transparent;color:inherit;text-align:left;cursor:pointer;transition:.18s}.op-item:hover{background:var(--surface-hover)}.op-item.is-active{border-color:rgba(14,165,233,.34);background:rgba(14,165,233,.09)}.op-item-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.op-code{font:700 8px ui-monospace,SFMono-Regular,monospace;color:#0284c7;letter-spacing:.05em}.op-age{font-size:9px;color:var(--text-muted)}.op-item h4{margin:0;font-size:13px;color:var(--text-main)}.op-item-contact{font-size:9px;color:var(--text-muted)}.op-item-tags,.op-service-tags{display:flex;flex-wrap:wrap;gap:4px}.op-item-tags span,.op-service-tags span{padding:4px 6px;border-radius:999px;background:var(--bg-muted);color:var(--text-muted);font-size:8px}
.op-status,.op-status-pill{display:inline-flex;align-items:center;gap:5px;width:max-content;padding:4px 7px;border-radius:999px;font:700 8px ui-monospace,SFMono-Regular,monospace;text-transform:uppercase;letter-spacing:.04em}.op-status.nova,.op-status-pill.nova{background:rgba(14,165,233,.11);color:#0284c7}.op-status.em_analise,.op-status.em_cotacao,.op-status-pill.em_analise,.op-status-pill.em_cotacao{background:rgba(245,158,11,.12);color:#b45309}.op-status.aguardando_cliente,.op-status-pill.aguardando_cliente{background:rgba(168,85,247,.11);color:#7e22ce}.op-status.proposta_enviada,.op-status-pill.proposta_enviada{background:rgba(99,102,241,.12);color:#4f46e5}.op-status.ganha,.op-status-pill.ganha{background:rgba(16,185,129,.12);color:#047857}.op-status.perdida,.op-status-pill.perdida{background:rgba(239,68,68,.1);color:#b91c1c}
.op-detail{min-width:0;padding:0;background:var(--bg-card)}.op-detail-empty{max-width:510px;margin:0 auto;min-height:680px;display:grid;place-items:center;align-content:center;text-align:center;padding:40px;color:var(--text-muted)}.op-empty-icon{display:grid;place-items:center;width:58px;height:58px;border:1px solid rgba(14,165,233,.22);border-radius:50%;background:rgba(14,165,233,.07);color:#0284c7;font-size:20px}.op-detail-empty span{margin-top:18px;font:700 8px ui-monospace,SFMono-Regular,monospace;letter-spacing:.1em;color:#0284c7}.op-detail-empty h3{margin:4px 0 0;color:var(--text-main);font-size:27px}.op-detail-empty p{margin:6px 0 0;line-height:1.6;font-size:12px}
.op-detail-wrap{padding:20px}.op-detail-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 18px 20px;border-bottom:1px solid var(--border)}.op-detail-title{display:grid;gap:5px}.op-detail-title>span{color:#0284c7;font:700 9px ui-monospace,SFMono-Regular,monospace;letter-spacing:.08em}.op-detail-title h3{margin:0;font-size:25px;color:var(--text-main)}.op-detail-title p{margin:0;color:var(--text-muted);font-size:11px}.op-owner{display:grid;justify-items:end;gap:6px}.op-owner small{color:var(--text-muted)}.op-owner button{border:1px solid rgba(14,165,233,.28);border-radius:8px;background:rgba(14,165,233,.08);color:#0284c7;padding:8px 10px;cursor:pointer;font-weight:700;font-size:10px}
.op-detail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 18px;border-bottom:1px solid var(--border);background:var(--bg-subtle)}.op-status-select{display:flex;align-items:center;gap:8px}.op-status-select label{font-size:9px;color:var(--text-muted)}.op-status-select select{border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text-main);padding:8px 10px;font-size:10px}.op-detail-actions{display:flex;gap:7px}.op-detail-actions button,.op-detail-actions a{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text-main);text-decoration:none;cursor:pointer;font-size:10px;font-weight:700}.op-detail-actions .op-primary{border-color:#0ea5e9;background:#0ea5e9;color:#fff}
.op-detail-content{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:12px;padding:15px 18px 22px}.op-panel{padding:15px;border:1px solid var(--border);border-radius:12px;background:var(--bg-subtle)}.op-panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.op-panel-title span{font:700 8px ui-monospace,SFMono-Regular,monospace;color:#0284c7;letter-spacing:.08em}.op-panel h4{margin:0;color:var(--text-main);font-size:13px}.op-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.op-data{display:grid;gap:3px;padding:10px;border:1px solid color-mix(in srgb,var(--border) 70%,transparent);border-radius:9px;background:var(--bg-card)}.op-data small{font-size:8px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.op-data strong{font-size:11px;color:var(--text-main);line-height:1.4;overflow-wrap:anywhere}.op-service-section{display:grid;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.op-service-section:first-child{margin-top:0}.op-service-section h5{margin:0;color:var(--text-main);font-size:10px;text-transform:capitalize}.op-notes{white-space:pre-wrap;color:var(--text-muted);font-size:11px;line-height:1.55}.op-timeline{display:grid;gap:7px}.op-timeline span{display:flex;align-items:center;gap:7px;color:var(--text-muted);font-size:9px}.op-timeline span::before{content:"";width:7px;height:7px;border-radius:50%;border:1px solid var(--border-strong)}.op-timeline span.is-done{color:var(--text-main)}.op-timeline span.is-done::before{background:#0ea5e9;border-color:#0ea5e9}.op-loss-reason{margin-top:8px;padding:8px 10px;border-radius:8px;background:var(--danger-bg);color:var(--danger-text);font-size:9px}
body.tema-escuro .op-status.nova,body.tema-escuro .op-status-pill.nova{color:#7dd3fc}body.tema-escuro .op-status.em_analise,body.tema-escuro .op-status.em_cotacao,body.tema-escuro .op-status-pill.em_analise,body.tema-escuro .op-status-pill.em_cotacao{color:#fbbf24}body.tema-escuro .op-status.aguardando_cliente,body.tema-escuro .op-status-pill.aguardando_cliente{color:#d8b4fe}body.tema-escuro .op-status.proposta_enviada,body.tema-escuro .op-status-pill.proposta_enviada{color:#a5b4fc}body.tema-escuro .op-status.ganha,body.tema-escuro .op-status-pill.ganha{color:#6ee7b7}body.tema-escuro .op-status.perdida,body.tema-escuro .op-status-pill.perdida{color:#fca5a5}body.tema-escuro .op-code,body.tema-escuro .op-detail-title>span,body.tema-escuro .op-panel-title span,body.tema-escuro .op-inbox-head span{color:#7dd3fc}body.tema-escuro .op-owner button{color:#7dd3fc}
@media(max-width:1050px){.op-summary{grid-template-columns:repeat(2,1fr)}.op-workspace{grid-template-columns:340px minmax(0,1fr)}.op-detail-content{grid-template-columns:1fr}.op-data-grid{grid-template-columns:1fr}}
@media(max-width:760px){.op-header-app{align-items:flex-start}.op-live{display:none}.op-shell{padding:12px}.op-summary{grid-template-columns:repeat(2,1fr)}.op-workspace{display:block;min-height:0}.op-inbox{border-right:0}.op-list{max-height:440px}.op-detail{border-top:1px solid var(--border)}.op-detail-empty{min-height:360px}.op-detail-hero,.op-detail-toolbar{align-items:flex-start;flex-direction:column}.op-owner{justify-items:start}.op-detail-actions{flex-wrap:wrap}.op-filters{grid-template-columns:1fr}.op-detail-content{padding-inline:12px}}


/* V13.16 — Contratos vencidos na Carteira de Clientes */
.cliente-status-contrato-vencido{
    appearance:none;
    cursor:pointer;
    font-family:inherit;
    font-size:9px;
    font-weight:800;
    line-height:normal;
    padding:4px 8px;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.cliente-status-contrato-vencido:hover{
    transform:translateY(-1px);
    border-color:rgba(239,68,68,.55) !important;
    box-shadow:0 8px 22px rgba(239,68,68,.14);
}
.contratos-vencidos-overlay{padding:20px}
.contratos-vencidos-modal{
    width:min(760px,calc(100vw - 32px));
    max-height:min(88vh,820px);
    overflow:hidden;
    display:flex;
    flex-direction:column;
}
.contratos-vencidos-header{flex:0 0 auto}
.contratos-vencidos-titulo-wrap{display:flex;align-items:center;gap:13px;min-width:0}
.contratos-vencidos-alerta{
    width:42px;height:42px;border-radius:14px;display:grid;place-items:center;flex:0 0 auto;
    color:#ef4444;background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.18);font-size:18px;
}
.contratos-vencidos-header h3{margin:0;font-size:18px;line-height:1.2;color:var(--text-primary)}
.contratos-vencidos-header small{display:block;margin-top:4px;color:var(--text-muted);font-size:12px;line-height:1.4}
.contratos-vencidos-body{padding:20px 22px;overflow:auto;background:var(--bg-primary)}
.contratos-vencidos-resumo{
    display:flex;align-items:center;gap:10px;margin-bottom:14px;padding:12px 14px;border-radius:14px;
    border:1px solid rgba(239,68,68,.16);background:rgba(239,68,68,.07);color:var(--text-secondary);
}
.contratos-vencidos-resumo strong{font-size:22px;color:#ef4444;line-height:1}
.contratos-vencidos-resumo span{font-size:12px;font-weight:700}
.contratos-vencidos-lista{display:grid;gap:12px}
.contrato-vencido-item{
    padding:16px;border:1px solid var(--border-color);border-radius:16px;background:var(--bg-card);
    box-shadow:0 6px 20px rgba(15,23,42,.04);
}
.contrato-vencido-item-topo{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:11px;align-items:center}
.contrato-vencido-icone{
    width:38px;height:38px;display:grid;place-items:center;border-radius:12px;color:#ef4444;
    background:rgba(239,68,68,.09);border:1px solid rgba(239,68,68,.13);
}
.contrato-vencido-identificacao{min-width:0}
.contrato-vencido-identificacao strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary);font-size:14px}
.contrato-vencido-identificacao small{display:block;margin-top:4px;color:var(--text-muted);font-size:11px}
.contrato-vencido-dias{
    padding:7px 9px;border-radius:999px;background:rgba(239,68,68,.10);color:#dc2626;border:1px solid rgba(239,68,68,.16);
    font-size:10px;font-weight:800;white-space:nowrap;
}
.contrato-vencido-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:8px;margin-top:14px;padding-top:13px;border-top:1px solid var(--border-color)}
.contrato-vencido-meta div{min-width:0}
.contrato-vencido-meta span{display:block;color:var(--text-muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.contrato-vencido-meta strong{display:block;margin-top:5px;color:var(--text-secondary);font-size:11px;line-height:1.4;overflow-wrap:anywhere}
.contratos-vencidos-footer{flex:0 0 auto;gap:14px}
.contratos-vencidos-footer>span{color:var(--text-muted);font-size:11px;line-height:1.45}
.contratos-vencidos-footer>div{display:flex;gap:8px;align-items:center}
.contratos-vencidos-documentos-btn{border:0;min-height:38px}
.doc-destaque-temporario{animation:docDestaqueContrato 1.8s ease}
@keyframes docDestaqueContrato{
    0%,100%{box-shadow:none}
    18%,72%{box-shadow:0 0 0 3px rgba(239,68,68,.14),0 12px 28px rgba(239,68,68,.10)}
}
body.tema-escuro .contratos-vencidos-body{background:#091221}
body.tema-escuro .contrato-vencido-dias{color:#fca5a5}
@media(max-width:700px){
    .contratos-vencidos-overlay{padding:8px}
    .contratos-vencidos-modal{width:100%;max-height:calc(100vh - 16px)}
    .contratos-vencidos-body{padding:16px}
    .contrato-vencido-item-topo{grid-template-columns:36px minmax(0,1fr)}
    .contrato-vencido-dias{grid-column:2;justify-self:start}
    .contrato-vencido-meta{grid-template-columns:1fr}
    .contratos-vencidos-footer{align-items:stretch;flex-direction:column}
    .contratos-vencidos-footer>div{width:100%}
    .contratos-vencidos-footer button{flex:1}
}

/* ============================================================
   V13.17 — SIDEBAR EXPANDIDA + MENU DO USUÁRIO
   ============================================================ */
:root{
    --sidebar-width-open:244px;
    --sidebar-width-collapsed:72px;
    --sidebar-current-width:var(--sidebar-width-open);
}
body.vtc-shell-active{
    padding-left:calc(var(--sidebar-current-width) + 20px);
}
body.vtc-shell-active.vtc-sidebar-collapsed{
    --sidebar-current-width:var(--sidebar-width-collapsed);
}
.vtc-state-only{
    position:fixed!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important;
    clip:rect(0 0 0 0)!important;
    clip-path:inset(50%)!important;
    white-space:nowrap!important;
    pointer-events:none!important;
}
.vtc-sidebar{
    width:var(--sidebar-current-width);
}
.vtc-sidebar-nav{
    padding:14px 10px 12px;
}
.vtc-sidebar-section{
    margin:7px 0 9px;
}
.vtc-sidebar-group-label{
    min-height:36px;
    display:flex;
    align-items:center;
    gap:11px;
    padding:3px 9px 4px;
    color:#657695;
    font-size:10px;
    font-weight:800;
    letter-spacing:.085em;
    text-transform:uppercase;
    user-select:none;
}
body:not(.tema-escuro) .vtc-sidebar-group-label{color:#8491a8;}
.vtc-sidebar-group-label .vtc-sidebar-icon{
    width:28px;
    height:28px;
    flex-basis:28px;
    font-size:11px;
    border-radius:8px;
    color:#617494;
}
.vtc-sidebar-section .vtc-sidebar-submenu,
.vtc-sidebar-section.is-open .vtc-sidebar-submenu{
    display:grid!important;
    grid-template-rows:none!important;
    max-height:none!important;
    overflow:visible!important;
    opacity:1!important;
    visibility:visible!important;
    margin-top:1px;
}
.vtc-sidebar-subitem{
    min-height:37px;
    padding:8px 10px 8px 46px;
}
.vtc-sidebar-item.vtc-sidebar-direct{
    min-height:42px;
}
a.vtc-sidebar-item{
    text-decoration:none;
    box-sizing:border-box;
}
.vtc-sidebar-external-icon{
    margin-left:auto;
    font-size:9px;
    opacity:.48;
}
.vtc-sidebar-action{
    color:#8190ae;
}
.vtc-sidebar-footer{
    gap:5px;
    padding:9px 10px 12px;
}
/* V13.17.5 — navegação plana: todos os módulos têm o mesmo peso visual */
.vtc-sidebar-nav{
    display:flex;
    flex-direction:column;
    gap:4px;
}
.vtc-sidebar-item.vtc-sidebar-direct{
    min-height:44px;
    padding:5px 9px;
    font-size:12px;
}
.vtc-sidebar-item.is-active{
    background:rgba(37,99,235,.18);
    color:#f6f8ff;
}
.vtc-sidebar-item.is-active .vtc-sidebar-icon{
    background:rgba(37,99,235,.25);
    color:#a9c8ff;
}
.vtc-sidebar.is-collapsed .vtc-sidebar-label,
.vtc-sidebar.is-collapsed .vtc-sidebar-brand-copy,
.vtc-sidebar.is-collapsed .vtc-sidebar-profile-copy,
.vtc-sidebar.is-collapsed .vtc-sidebar-profile-menu-icon,
.vtc-sidebar.is-collapsed .vtc-sidebar-external-icon,
.vtc-sidebar.is-collapsed .vtc-sidebar-collapse span{
    display:none!important;
}
.vtc-sidebar.is-collapsed .vtc-sidebar-item{
    justify-content:center;
    padding-left:9px;
    padding-right:9px;
}
.vtc-sidebar.is-collapsed .vtc-sidebar-icon{
    margin:0;
}
.vtc-sidebar.is-collapsed .vtc-sidebar-badge{
    position:absolute;
    top:3px;
    right:3px;
    margin:0;
    min-width:17px;
    height:17px;
    padding:0 4px;
    font-size:8px;
}
.vtc-sidebar-collapse{
    min-height:38px;
    width:100%;
    display:flex;
    align-items:center;
    gap:11px;
    padding:7px 13px;
    border:0;
    border-radius:10px;
    background:transparent;
    color:#7181a1;
    font:700 10.5px inherit;
    cursor:pointer;
    text-align:left;
}
.vtc-sidebar-collapse i{
    width:20px;
    text-align:center;
    transition:transform .18s ease;
}
.vtc-sidebar.is-collapsed .vtc-sidebar-collapse{
    width:44px;
    margin:0 auto;
    justify-content:center;
    padding:7px 0;
}
.vtc-sidebar.is-collapsed .vtc-sidebar-collapse i{
    transform:rotate(180deg);
}

.vtc-sidebar-profile{
    appearance:none;
    width:100%;
    cursor:pointer;
    color:inherit;
    text-align:left;
    transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease;
}
.vtc-sidebar-profile:hover,
.vtc-sidebar-profile.aberto{
    border-color:rgba(96,165,250,.22);
    background:rgba(37,99,235,.075);
    box-shadow:0 8px 24px rgba(0,0,0,.16);
}
body:not(.tema-escuro) .vtc-sidebar-profile:hover,
body:not(.tema-escuro) .vtc-sidebar-profile.aberto{
    border-color:rgba(37,99,235,.14);
    background:rgba(37,99,235,.055);
    box-shadow:0 8px 22px rgba(15,23,42,.09);
}
.vtc-sidebar-profile-menu-icon{
    margin-left:auto;
    color:#62718d;
    font-size:12px;
}
.vtc-sidebar-user-menu{
    position:fixed!important;
    top:auto;
    right:auto!important;
    bottom:auto;
    left:auto;
    z-index:30050;
    min-width:252px;
    max-width:min(300px,calc(100vw - 24px));
    padding:8px;
    border-radius:15px;
    box-shadow:0 24px 70px rgba(0,0,0,.34),0 4px 16px rgba(0,0,0,.18);
}
.vtc-sidebar-user-menu-head{
    display:flex;
    align-items:center;
    gap:10px;
    padding:9px 9px 11px;
    margin-bottom:3px;
    border-bottom:1px solid var(--border);
}
.vtc-sidebar-user-menu-head>span:last-child{
    min-width:0;
    display:flex;
    flex-direction:column;
    line-height:1.2;
}
.vtc-sidebar-user-menu-head strong{
    max-width:190px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:var(--text-main);
    font-size:12px;
}
.vtc-sidebar-user-menu-head small{
    margin-top:3px;
    color:var(--text-muted);
    font-size:10px;
}
.vtc-nav-mobile-trigger{
    position:fixed;
    top:14px;
    left:14px;
    z-index:1340;
    box-shadow:0 10px 30px rgba(0,0,0,.18);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
}

@media (min-width:901px){
    .vtc-sidebar-mobile-close{display:none!important;}
}
@media (max-width:900px){
    body.vtc-shell-active,
    body.vtc-shell-active.vtc-sidebar-collapsed{padding-left:20px;--sidebar-current-width:0px;}
    .vtc-sidebar.is-collapsed .vtc-sidebar-label,
    .vtc-sidebar.is-collapsed .vtc-sidebar-brand-copy,
    .vtc-sidebar.is-collapsed .vtc-sidebar-profile-copy,
    .vtc-sidebar.is-collapsed .vtc-sidebar-profile-menu-icon,
    .vtc-sidebar.is-collapsed .vtc-sidebar-external-icon{display:flex!important;}
    .vtc-sidebar{width:min(288px,88vw)!important;}
    .vtc-sidebar-group-label{padding-left:9px;}
    .vtc-sidebar-section .vtc-sidebar-submenu{display:grid!important;max-height:none!important;}
    .vtc-sidebar-user-menu{z-index:30050;}
}

/* V13.17.1 — densidade para manter toda a navegação visível em notebooks */
.vtc-sidebar-nav{padding:10px 8px 8px;}
.vtc-sidebar-section{margin:3px 0 5px;}
.vtc-sidebar-group-label{min-height:30px;padding:1px 9px 2px;}
.vtc-sidebar-group-label .vtc-sidebar-icon{width:25px;height:25px;flex-basis:25px;}
.vtc-sidebar-subitem{min-height:33px;padding:6px 9px 6px 42px;}
.vtc-sidebar-item.vtc-sidebar-direct{min-height:38px;padding-top:5px;padding-bottom:5px;}
.vtc-sidebar-footer{padding:7px 8px 9px;}
.vtc-sidebar-profile{padding:8px;}

/* V13.17.2 — a barra superior foi removida; não reservar altura para ela */
body.logado{padding-top:20px;}
@media(max-width:768px){body.logado{padding-top:10px;}}

/* ============================================================
   VTCDOCS V13.17 — LEADS / QUALIFICAÇÃO EM BLOCOS
   ============================================================ */
.lead-screen{min-height:100vh;background:var(--bg)}
.lead-header-app{display:flex;align-items:center;justify-content:space-between;gap:18px}
.lead-header-title{display:flex;align-items:center;gap:14px}.lead-header-title h2{margin:0;color:var(--primary);font-size:18px}.lead-header-title h2 i{color:var(--accent)}.lead-header-title small{color:var(--text-muted)}
.lead-btn-new{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 15px}
.lead-shell{max-width:1440px;margin:0 auto;padding:22px 26px 40px}
.lead-list-view,.lead-form-card{border:1px solid var(--border);border-radius:14px;background:var(--bg-card);box-shadow:var(--shadow-sm)}
.lead-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid var(--border)}
.lead-search{display:flex;align-items:center;gap:9px;min-width:280px;max-width:520px;flex:1;padding:0 12px;border:1px solid var(--border);border-radius:9px;background:var(--bg-subtle);color:var(--text-muted)}
.lead-search input{width:100%;height:38px;border:0;outline:0;background:transparent;color:var(--text-main);font:inherit;font-size:12px}.lead-count{font-size:11px;color:var(--text-muted);font-weight:700}
.lead-table-wrap{overflow:auto}.lead-table{width:100%;border-collapse:collapse;min-width:1050px}.lead-table th{padding:11px 14px;background:var(--bg-subtle);border-bottom:1px solid var(--border);text-align:left;color:var(--text-muted);font-size:9px;text-transform:uppercase;letter-spacing:.06em}.lead-table td{padding:12px 14px;border-bottom:1px solid var(--border);font-size:11px;color:var(--text-main);vertical-align:middle}.lead-table tbody tr{cursor:pointer;transition:.15s}.lead-table tbody tr:hover{background:var(--surface-hover)}.lead-table tbody tr:last-child td{border-bottom:0}.lead-status{display:inline-flex;padding:4px 7px;border-radius:999px;background:var(--bg-muted);color:var(--text-muted);font-size:9px;font-weight:700}.lead-provisional{display:block;margin-top:2px;color:var(--text-muted);font-size:8px}.lead-empty{text-align:center!important;padding:44px!important;color:var(--text-muted)!important}
.lead-form-view{max-width:1120px;margin:0 auto}.lead-form-topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:12px}.lead-back-list{border:0;background:transparent;color:var(--text-muted);font:inherit;font-size:11px;font-weight:700;cursor:pointer}.lead-back-list:hover{color:var(--text-main)}
.lead-top-metrics{display:flex;align-items:stretch;gap:7px}.lead-top-metrics>span{display:grid;gap:2px;min-width:86px;padding:8px 11px;border:1px solid var(--border);border-radius:9px;background:var(--bg-card)}.lead-top-metrics small{font-size:8px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.lead-top-metrics strong{font-size:11px;color:var(--text-main)}.lead-top-metrics .lead-top-result{min-width:190px}
.lead-form-heading{padding:20px 22px 16px}.lead-form-heading>div{display:grid;gap:4px}.lead-number{font:700 9px ui-monospace,SFMono-Regular,monospace;color:var(--accent);letter-spacing:.07em}.lead-form-heading small{font-size:9px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.lead-form-heading h3{margin:0;color:var(--text-main);font-size:22px}.lead-progress{height:3px;background:var(--bg-muted);overflow:hidden}.lead-progress span{display:block;height:100%;width:11%;background:var(--accent);transition:width .2s ease}
.lead-block-content{padding:24px 22px 28px;min-height:360px}.lead-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 18px}.lead-field{display:grid;gap:7px;align-content:start}.lead-field-wide{grid-column:1/-1}.lead-field>label{font-size:10px;font-weight:700;color:var(--text-main)}.lead-required{color:var(--danger);margin-left:2px}.lead-field input:not([type=radio]):not([type=checkbox]),.lead-field select,.lead-field textarea{width:100%;box-sizing:border-box;border:1px solid var(--border);border-radius:9px;background:var(--bg-subtle);color:var(--text-main);font:inherit;font-size:12px;outline:none;transition:.15s}.lead-field input:not([type=radio]):not([type=checkbox]),.lead-field select{height:40px;padding:0 11px}.lead-field textarea{padding:11px;resize:vertical;line-height:1.5}.lead-field input:focus,.lead-field select:focus,.lead-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 12%,transparent)}.lead-field-error input,.lead-field-error select,.lead-field-error textarea,.lead-field-error .lead-choice-row,.lead-field-error .lead-check-grid{border-color:var(--danger)!important}.lead-readonly{display:flex;align-items:center;min-height:40px;padding:0 11px;border:1px dashed var(--border-strong);border-radius:9px;background:var(--bg-subtle);color:var(--text-muted);font-size:11px}
.lead-choice-row{display:flex;gap:8px;min-height:40px}.lead-choice,.lead-check,.lead-decision{position:relative}.lead-choice input,.lead-check input,.lead-decision input{position:absolute;opacity:0;pointer-events:none}.lead-choice span{display:flex;align-items:center;justify-content:center;min-width:78px;height:38px;border:1px solid var(--border);border-radius:9px;background:var(--bg-subtle);color:var(--text-muted);font-size:11px;font-weight:700;cursor:pointer}.lead-choice input:checked+span{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 11%,var(--bg-card));color:var(--accent)}
.lead-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.lead-check span{display:flex;align-items:center;min-height:38px;padding:0 10px;border:1px solid var(--border);border-radius:9px;background:var(--bg-subtle);color:var(--text-muted);font-size:10px;cursor:pointer}.lead-check input:checked+span{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--bg-card));color:var(--text-main);font-weight:700}
.lead-decision-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.lead-decision span{display:flex;align-items:center;min-height:48px;padding:0 13px;border:1px solid var(--border);border-radius:10px;background:var(--bg-subtle);color:var(--text-main);font-size:11px;font-weight:700;cursor:pointer}.lead-decision input:checked+span{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--bg-card));color:var(--accent)}
.lead-result-card{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;min-height:250px;padding:28px;border:1px solid var(--border);border-radius:12px;background:var(--bg-subtle)}.lead-result-main{max-width:620px}.lead-result-main small{font-size:9px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.lead-result-main strong{display:block;margin-top:8px;font-size:31px;color:var(--text-main)}.lead-result-main p{margin:8px 0 0;color:var(--text-muted);font-size:11px;line-height:1.6}.lead-result-numbers{display:flex;gap:10px}.lead-result-numbers>div{display:grid;gap:5px;min-width:100px;padding:16px;border:1px solid var(--border);border-radius:10px;background:var(--bg-card)}.lead-result-numbers small{font-size:9px;color:var(--text-muted)}.lead-result-numbers strong{font-size:25px;color:var(--text-main)}.lead-result-numbers strong span{font-size:10px;color:var(--text-muted);font-weight:600}
.lead-form-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 22px;border-top:1px solid var(--border);background:var(--bg-subtle);border-radius:0 0 14px 14px}.lead-form-actions>div{display:flex;gap:8px}.lead-form-actions .btn-primary,.lead-form-actions .btn-tool{min-height:37px;display:inline-flex;align-items:center;gap:7px}.lead-form-actions button:disabled{opacity:.4;cursor:not-allowed}
@media(max-width:800px){.lead-shell{padding:14px 12px 28px}.lead-header-app{align-items:flex-start}.lead-form-topbar{align-items:flex-start;flex-direction:column}.lead-top-metrics{width:100%;overflow:auto}.lead-top-metrics>span{min-width:82px}.lead-form-grid{grid-template-columns:1fr}.lead-field-wide{grid-column:auto}.lead-check-grid{grid-template-columns:1fr 1fr}.lead-result-card{grid-template-columns:1fr}.lead-form-actions{align-items:stretch;flex-direction:column}.lead-form-actions>div{display:grid;grid-template-columns:1fr 1fr}.lead-form-actions>button{width:100%;justify-content:center}.lead-form-actions>div button{justify-content:center}.lead-decision-grid{grid-template-columns:1fr}}

/* Leads — resultado automático V2 */
.lead-result-card{position:relative;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
.lead-result-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--accent)}
.lead-result-card.is-provisional{border-color:color-mix(in srgb,var(--accent) 52%,var(--border));box-shadow:0 14px 34px -26px color-mix(in srgb,var(--accent) 72%,transparent);background:color-mix(in srgb,var(--accent) 4%,var(--bg-subtle))}
.lead-result-badge{display:inline-flex;align-items:center;width:max-content;padding:6px 9px;border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--accent) 10%,var(--bg-card));color:var(--accent);font-size:9px;font-weight:800;letter-spacing:.08em}
.lead-result-main .lead-result-range{margin-top:10px;color:var(--text-main);font-size:12px}.lead-result-main .lead-result-range b{font-weight:800}
.lead-result-note{margin-top:9px!important;padding-top:9px;border-top:1px solid var(--border);font-size:10px!important}
.lead-result-rule{display:flex;align-items:flex-start;gap:10px;margin-top:14px;padding:11px 12px;border:1px solid color-mix(in srgb,var(--warning) 42%,var(--border));border-radius:9px;background:color-mix(in srgb,var(--warning) 8%,var(--bg-card));color:var(--text-main)}
.lead-result-rule>i{margin-top:2px;color:var(--warning)}.lead-result-rule>div{display:grid;gap:2px}.lead-result-rule strong{margin:0!important;font-size:10px!important;color:var(--text-main)!important}.lead-result-rule span{font-size:10px;color:var(--text-muted)}
.lead-top-result[data-tone="priority"],.lead-top-result[data-tone="qualified"],.lead-top-result[data-tone="development"],.lead-top-result[data-tone="not-qualified"]{border-color:color-mix(in srgb,var(--accent) 36%,var(--border));background:color-mix(in srgb,var(--accent) 5%,var(--bg-card))}
.lead-top-result[data-tone] strong{font-weight:800}

/* V13.17 — Ficha de Qualificação + Dashboard de Leads */
.lead-main-tabs{display:flex;align-items:center;gap:4px;margin:0 0 14px;padding:4px;width:max-content;border:1px solid var(--border);border-radius:10px;background:var(--bg-card)}
.lead-main-tab{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 14px;border:0;border-radius:7px;background:transparent;color:var(--text-muted);font:700 10px inherit;cursor:pointer}.lead-main-tab.is-active{background:var(--bg-subtle);color:var(--text-main);box-shadow:0 1px 2px rgba(0,0,0,.08)}
.lead-ficha-view{max-width:1180px;margin:0 auto}.lead-ficha-topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.lead-ficha-actions{display:flex;gap:7px}.lead-action-danger{color:var(--danger)!important}
.lead-ficha-content{display:grid;gap:14px}.lead-ficha-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;padding:24px;border:1px solid var(--border);border-radius:14px;background:var(--bg-card);box-shadow:var(--shadow-sm)}.lead-ficha-hero-main{display:grid;gap:7px}.lead-ficha-hero-main .lead-number{width:max-content}.lead-ficha-hero h2{margin:0;color:var(--text-main);font-size:25px}.lead-ficha-hero p{margin:0;color:var(--text-muted);font-size:11px}.lead-ficha-result{display:grid;align-content:center;justify-items:end;gap:6px;min-width:260px}.lead-ficha-result>span{font-size:9px;font-weight:800;letter-spacing:.08em;color:var(--text-muted)}.lead-ficha-result strong{font-size:22px;color:var(--text-main)}.lead-ficha-result small{color:var(--text-muted)}
.lead-ficha-metrics{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.lead-ficha-metrics span{display:grid;gap:2px;min-width:105px;padding:9px 11px;border:1px solid var(--border);border-radius:9px;background:var(--bg-subtle)}.lead-ficha-metrics small{font-size:8px;color:var(--text-muted);text-transform:uppercase}.lead-ficha-metrics b{font-size:11px;color:var(--text-main)}
.lead-ficha-section,.lead-ficha-history-shell{padding:20px 22px;border:1px solid var(--border);border-radius:14px;background:var(--bg-card)}.lead-ficha-history-shell{margin-top:14px}.lead-section-title{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:15px}.lead-section-title span{display:block;margin-bottom:3px;font-size:8px;font-weight:800;letter-spacing:.08em;color:var(--accent);text-transform:uppercase}.lead-section-title h3{margin:0;font-size:15px;color:var(--text-main)}
.lead-ficha-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px 20px}.lead-ficha-field{display:grid;gap:4px;min-width:0}.lead-ficha-field.is-wide{grid-column:1/-1}.lead-ficha-field.is-contact-highlight{padding:11px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));border-radius:9px;background:color-mix(in srgb,var(--accent) 5%,var(--bg-subtle))}.lead-ficha-field small{font-size:8px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.lead-ficha-field strong,.lead-ficha-field span{font-size:11px;color:var(--text-main);line-height:1.5;overflow-wrap:anywhere}.lead-ficha-field strong{font-size:12px}.lead-ficha-rule{margin-top:9px;padding:9px 11px;border-left:3px solid var(--warning);background:color-mix(in srgb,var(--warning) 7%,var(--bg-subtle));font-size:10px;color:var(--text-main)}
.lead-decision-history{display:grid;gap:9px}.lead-history-item{display:grid;grid-template-columns:130px minmax(0,1fr);gap:14px;padding:11px 0;border-bottom:1px solid var(--border)}.lead-history-item:last-child{border-bottom:0}.lead-history-date{font-size:9px;color:var(--text-muted)}.lead-history-body{display:grid;gap:4px}.lead-history-body strong{font-size:11px;color:var(--text-main)}.lead-history-body p{margin:0;font-size:10px;color:var(--text-muted);line-height:1.5}.lead-empty-state{padding:18px;text-align:center;color:var(--text-muted);font-size:10px}
.lead-dashboard-view{display:grid;gap:14px}.lead-dashboard-filterbar{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:8px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--bg-card)}.lead-dashboard-filterbar label{display:grid;gap:5px}.lead-dashboard-filterbar span{font-size:8px;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.lead-dashboard-filterbar select{height:35px;border:1px solid var(--border);border-radius:8px;background:var(--bg-subtle);color:var(--text-main);padding:0 9px;font-size:10px}
.lead-dashboard-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.lead-dashboard-kpis article{display:flex;align-items:center;gap:11px;min-height:76px;padding:13px;border:1px solid var(--border);border-radius:11px;background:var(--bg-card)}.lead-dashboard-kpis article.is-emphasis{border-color:color-mix(in srgb,var(--accent) 35%,var(--border));background:color-mix(in srgb,var(--accent) 4%,var(--bg-card))}.lead-kpi-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--bg-subtle);color:var(--accent)}.lead-dashboard-kpis article>div{display:grid;gap:2px}.lead-dashboard-kpis small{font-size:8px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.lead-dashboard-kpis strong{font-size:20px;color:var(--text-main)}
.lead-dashboard-insights{display:grid;grid-template-columns:1fr 1fr;gap:9px}.lead-dashboard-insights>div{display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 16px;padding:13px 15px;border:1px solid var(--border);border-radius:11px;background:var(--bg-subtle)}.lead-dashboard-insights small{font-size:9px;font-weight:700;color:var(--text-main)}.lead-dashboard-insights strong{grid-row:1/3;grid-column:2;font-size:19px;color:var(--accent)}.lead-dashboard-insights span{font-size:9px;color:var(--text-muted)}
.lead-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.lead-chart-card{min-height:310px;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--bg-card)}.lead-chart-card.lead-chart-wide{grid-column:1/-1}.lead-chart-card>div:first-child small{font-size:8px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.lead-chart-card h3{margin:3px 0 0;font-size:13px;color:var(--text-main)}.lead-chart-box{position:relative;height:245px;margin-top:12px}.lead-chart-wide .lead-chart-box{height:260px}
.lead-close-dialog{max-width:540px}.lead-close-dialog .modal-header>div{display:grid;gap:2px}.lead-close-dialog .modal-header small{font-size:8px;color:var(--accent);font-weight:800;letter-spacing:.08em}.lead-close-dialog .modal-header h3{margin:0}.lead-close-context{margin-bottom:14px;padding:11px;border:1px solid var(--border);border-radius:9px;background:var(--bg-subtle);font-size:10px;color:var(--text-muted);line-height:1.55}.lead-close-dialog textarea,.lead-close-dialog select{width:100%;box-sizing:border-box}
@media(max-width:1100px){.lead-dashboard-filterbar{grid-template-columns:repeat(3,minmax(0,1fr))}.lead-dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.lead-ficha-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.lead-ficha-topbar{align-items:flex-start;flex-direction:column}.lead-ficha-actions{width:100%;overflow:auto}.lead-ficha-hero{grid-template-columns:1fr}.lead-ficha-result{justify-items:start;min-width:0}.lead-ficha-fields{grid-template-columns:1fr}.lead-ficha-field.is-wide{grid-column:auto}.lead-dashboard-filterbar{grid-template-columns:1fr 1fr}.lead-dashboard-kpis,.lead-dashboard-insights,.lead-dashboard-grid{grid-template-columns:1fr}.lead-chart-card.lead-chart-wide{grid-column:auto}.lead-history-item{grid-template-columns:1fr;gap:4px}}
.lead-chart-fallback{display:grid;place-items:center;height:100%;min-height:180px;border:1px dashed var(--border);border-radius:9px;background:var(--bg-subtle);color:var(--text-muted);font-size:10px;text-align:center;padding:16px;box-sizing:border-box}


/* ===== V13.17 — Carteira recuperada pelo Storage ===== */
.cliente-nome-linha {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.cliente-badge-recuperado {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    width: max-content;
    padding: 3px 7px;
    border: 1px solid rgba(245, 158, 11, .34);
    border-radius: 999px;
    background: rgba(245, 158, 11, .10);
    color: #f59e0b;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .025em;
    line-height: 1;
    white-space: nowrap;
}

.cliente-badge-recuperado i {
    font-size: 8px;
}

/* V13.17.6 — dock inteligente: expansão temporária por hover */
@media (min-width:901px){
    .vtc-sidebar.is-collapsed.is-hover-expanded{
        width:var(--sidebar-width-open);
        box-shadow:18px 0 42px rgba(0,0,0,.24);
    }
    .vtc-sidebar.is-collapsed.is-hover-expanded .vtc-sidebar-label{
        display:flex!important;
    }
    .vtc-sidebar.is-collapsed.is-hover-expanded .vtc-sidebar-brand-copy,
    .vtc-sidebar.is-collapsed.is-hover-expanded .vtc-sidebar-profile-copy{
        display:flex!important;
    }
    .vtc-sidebar.is-collapsed.is-hover-expanded .vtc-sidebar-profile-menu-icon,
    .vtc-sidebar.is-collapsed.is-hover-expanded .vtc-sidebar-external-icon{
        display:block!important;
    }
    .vtc-sidebar.is-collapsed.is-hover-expanded .vtc-sidebar-collapse span{
        display:inline!important;
    }
    .vtc-sidebar.is-collapsed.is-hover-expanded .vtc-sidebar-brand{
        padding-left:12px;
        padding-right:12px;
    }
    .vtc-sidebar.is-collapsed.is-hover-expanded .vtc-sidebar-brand-btn{
        justify-content:flex-start;
        padding:7px 8px;
    }
    .vtc-sidebar.is-collapsed.is-hover-expanded .vtc-sidebar-item{
        justify-content:flex-start;
        padding-left:9px;
        padding-right:9px;
    }
    .vtc-sidebar.is-collapsed.is-hover-expanded .vtc-sidebar-badge{
        position:static;
        margin-left:auto;
        min-width:18px;
        height:18px;
        padding:0 5px;
        font-size:8px;
    }
    .vtc-sidebar.is-collapsed.is-hover-expanded .vtc-sidebar-profile{
        justify-content:flex-start;
        padding:8px;
        background:rgba(255,255,255,.035);
        border-color:rgba(255,255,255,.045);
    }
    .vtc-sidebar.is-collapsed.is-hover-expanded .vtc-sidebar-collapse{
        width:100%;
        margin:0;
        justify-content:flex-start;
        padding:7px 13px;
    }
    .vtc-sidebar.is-collapsed.is-hover-expanded .vtc-sidebar-collapse i{
        transform:rotate(180deg);
    }
}

/* ============================================================
   VTCDOCS V13.17.7 — DESKTOP COMPACTO 1366x768
   1366x768 é tratado como desktop prioritário: reduzimos espaço
   desperdiçado sem recorrer a zoom global ou comprometer leitura.
   ============================================================ */
@media (min-width:901px) and (max-width:1440px), (min-width:901px) and (max-height:820px) {
    :root{
        --sidebar-width-open:208px;
        --sidebar-width-collapsed:64px;
    }

    html{scroll-padding-top:70px;}
    body.logado{padding-top:12px;}
    body.vtc-shell-active{
        padding-left:calc(var(--sidebar-current-width) + 12px);
        padding-right:12px;
    }

    /* Sidebar: mais estreita, porém mantendo alvos confortáveis. */
    .vtc-sidebar-nav{padding:7px 6px 6px;gap:2px;}
    .vtc-sidebar-item.vtc-sidebar-direct{
        min-height:36px;
        padding:4px 7px;
        border-radius:9px;
        font-size:11px;
        gap:8px;
    }
    .vtc-sidebar-icon{width:28px;height:28px;flex-basis:28px;font-size:12px;border-radius:8px;}
    .vtc-sidebar-brand{padding:9px 8px 7px;}
    .vtc-sidebar-brand-btn{min-height:42px;padding:5px 6px;}
    .vtc-sidebar-brand-copy strong{font-size:11px;}
    .vtc-sidebar-brand-copy small{font-size:8.5px;}
    .vtc-sidebar-footer{padding:5px 6px 7px;gap:3px;}
    .vtc-sidebar-profile{padding:6px 7px;min-height:42px;}
    .vtc-sidebar-profile-avatar{width:29px;height:29px;flex-basis:29px;font-size:9px;}
    .vtc-sidebar-profile-copy strong{font-size:9.5px;max-width:125px;}
    .vtc-sidebar-profile-copy small{font-size:8px;margin-top:1px;}
    .vtc-sidebar-collapse{min-height:34px;padding:5px 9px;font-size:9.5px;border-radius:8px;}
    .vtc-sidebar.is-collapsed .vtc-sidebar-item{padding-left:7px;padding-right:7px;}
    .vtc-sidebar.is-collapsed .vtc-sidebar-collapse{width:38px;min-height:34px;}

    /* Cabeçalhos globais e navegação local. */
    .header-app{
        top:10px;
        margin:0 auto 14px;
        padding:9px 14px;
        min-height:48px;
        gap:8px;
        border-radius:12px;
    }
    .header-app-acoes{gap:8px;}
    .logo-img{max-height:30px;}
    .nav-abas{padding:4px;gap:4px;border-radius:9px;}
    .btn-aba{padding:7px 13px;font-size:12px;gap:6px;border-radius:7px;}
    .btn-voltar-dash,.btn-feedback-beta,.btn-tool,.btn-primary,.btn-secondary{
        min-height:34px;
        padding-top:7px;
        padding-bottom:7px;
    }
    .switch-label{font-size:11px;}
    .switch-slider{width:34px;height:20px;}
    .switch-slider::before{width:16px;height:16px;}
    .switch-preview input:checked + .switch-slider::before{transform:translateX(14px);}

    /* Tipografia/controles: compactar sem virar “miniatura”. */
    input[type="text"],input[type="password"],input[type="date"],input[type="number"],
    input[type="email"],input[type="tel"],input[type="time"],select{
        padding:7px 9px;
        font-size:12px;
        border-radius:7px;
    }
    textarea,.campo-editavel{font-size:12px;line-height:1.45;}
    .card{padding:13px 15px;margin-bottom:9px;border-radius:12px;}
    .card-header{margin-bottom:7px;padding-bottom:7px;}
    .card-title{font-size:14px;gap:8px;}
    .card-title .badge-numero{width:24px;height:24px;font-size:11px;border-radius:7px;}
    .card-subtitle{font-size:10.5px;margin-left:32px;}
    .subsecao{margin-bottom:10px;}
    .subsecao + .subsecao{padding-top:10px;}
    .subsecao-titulo{margin-bottom:6px;font-size:10px;}
    .btn-icon{min-width:34px;height:34px;border-radius:9px;font-size:12px;}
    .tabela-topo{margin-bottom:12px;gap:8px;}
    .linha-acoes-contexto{margin:8px 0;gap:6px;}
    .tabela-rodape{margin-top:12px;padding-top:10px;}

    /* Dashboard: hero e cards cabem confortavelmente na primeira dobra. */
    .dashboard-container{margin:12px auto;}
    .dashboard-container.home-dark{padding-bottom:34px;}
    .home-hero{padding:22px 18px 18px;}
    .home-logo{max-height:30px;margin-bottom:12px;}
    .home-logo-fallback{margin-bottom:12px;font-size:18px;}
    .home-badge-pill{margin-bottom:12px;padding:4px 10px;font-size:10px;}
    .home-headline{font-size:34px;line-height:1.05;margin-bottom:10px;max-width:620px;}
    .home-dev-notice{max-width:820px;padding:9px 11px;gap:9px;margin-top:10px;}
    .home-dev-notice-icon{width:28px;height:28px;flex-basis:28px;}
    .home-dev-notice strong{font-size:10.5px;}
    .home-dev-notice span:not(.home-dev-notice-icon){font-size:9.5px;line-height:1.35;}
    .home-ctas{grid-template-columns:repeat(3,minmax(0,1fr));max-width:980px;gap:10px;margin-bottom:14px;padding:0 14px;}
    .home-cta-card{padding:13px 13px;gap:10px;min-height:78px;border-radius:11px;}
    .home-cta-icon{width:40px;height:40px;border-radius:10px;font-size:16px;}
    .home-cta-text h3{font-size:13px;margin-bottom:2px;}
    .home-cta-text p{font-size:10px;line-height:1.35;}
    .home-features-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:980px;gap:8px;margin-bottom:16px;padding:0 14px;}
    .home-feature-card{padding:11px 12px 10px;min-height:90px;border-radius:10px;}
    .home-feature-icon{width:31px;height:31px;margin-bottom:7px;border-radius:8px;font-size:13px;}
    .home-feature-card h4{font-size:11.5px;margin-bottom:2px;}
    .home-feature-card p{font-size:9.5px;line-height:1.35;}
    .home-bottom{max-width:980px;padding:0 14px;gap:10px;}
    .painel-estatisticas{padding:18px;}
    .estatisticas-topo{margin-bottom:12px;}
    .estatisticas-grid{gap:8px;margin-bottom:14px;}
    .estatistica-card{padding:10px 8px;}
    .estatistica-numero{font-size:22px;}
    .grafico-semanal-bloco{margin-bottom:14px;}
    .grafico-semanal{height:88px;padding:8px 10px 6px;}

    /* Proposta/Cotação: preserva preview e aumenta altura efetiva de edição. */
    .workspace{height:calc(100vh - 96px);min-height:430px;gap:10px;}
    .trilha-passos{width:148px;padding:10px 8px;}
    .trilha-item{padding:7px 8px;gap:7px;}
    .trilha-label{font-size:10.5px;}
    .painel-formulario{min-width:330px;padding:2px 10px 2px 2px;}
    .painel-preview{width:43%;min-width:300px;border-radius:12px;}
    .preview-header{padding:9px 12px;}
    .preview-header h3{font-size:12px;}
    .preview-status{font-size:9.5px;}
    .resizer{width:7px;}
    .observacao-container{padding:11px 13px;margin-bottom:14px;}
    button.gerar{bottom:10px;padding:13px;font-size:13px;}


    /* Carteira de Clientes. */
    .clientes-container{max-width:none;margin:12px auto 24px;padding:0 12px;}
    .clientes-resumo-grid{gap:8px;margin-bottom:10px;}
    .clientes-kpi-card{padding:10px 12px;gap:9px;border-radius:11px;}
    .clientes-kpi-icone{width:34px;height:34px;flex-basis:34px;border-radius:9px;font-size:14px;}
    .clientes-kpi-card small{font-size:9px;}
    .clientes-kpi-card strong{font-size:19px;}
    .clientes-alertas-box{padding:10px;margin-bottom:10px;border-radius:11px;}
    .clientes-alertas-header{margin-bottom:7px;}
    .clientes-alertas-lista{gap:6px;}
    .cliente-alerta-item{padding:7px 8px;}
    .clientes-toolbar{padding:8px 10px;gap:7px;}
    .clientes-busca-wrap input,.clientes-toolbar select,.historico-doc-toolbar select{padding:7px 9px;font-size:10.5px;}
    .clientes-toolbar select{width:180px;}
    .clientes-tabela{min-width:820px;}
    .clientes-tabela th,.clientes-tabela td{padding:7px 9px!important;font-size:10px;}
    .cliente-nome-tabela{font-size:11px;}
    .cliente-sub-tabela{font-size:9px;}
    .clientes-modal-ficha{max-width:1120px!important;width:calc(100vw - 28px)!important;height:auto;max-height:calc(100vh - 20px)!important;}
    .clientes-nav-abas{padding:6px 12px 0!important;}
    .clientes-modal-scroll{padding:12px;}
    .ficha-resumo-grid{gap:8px;margin-bottom:10px;}
    .ficha-resumo-card{min-height:82px;padding:10px;gap:4px;}
    .ficha-resumo-card > strong{font-size:19px;}
    .ficha-resumo-secao{padding:11px;margin-top:8px;}
    .ficha-resumo-identidade{gap:7px;}
    .ficha-resumo-identidade div{padding:7px;}
    .ficha-resumo-relacionamento{gap:7px;}
    .ficha-resumo-texto{padding:8px;}
    .ficha-resumo-texto p{font-size:10px;line-height:1.35;}

    /* Leads: mantém 4 KPIs por linha e reduz altura dos gráficos. */
    .lead-shell{max-width:none;padding:12px 14px 24px;}
    .lead-header-app{gap:10px;}
    .lead-header-title{gap:9px;}
    .lead-header-title h2{font-size:16px;}
    .lead-btn-new{min-height:34px;padding:0 12px;}
    .lead-list-toolbar{padding:9px 11px;gap:10px;}
    .lead-search{min-width:220px;padding:0 9px;}
    .lead-search input{height:34px;font-size:11px;}
    .lead-table{min-width:920px;}
    .lead-table th{padding:7px 9px;font-size:8px;}
    .lead-table td{padding:8px 9px;font-size:10px;}
    .lead-form-topbar{margin-bottom:8px;gap:10px;}
    .lead-top-metrics>span{padding:6px 8px;min-width:76px;}
    .lead-block-content{padding:14px 16px 18px;min-height:300px;}
    .lead-form-grid{gap:11px 12px;}
    .lead-field{gap:5px;}
    .lead-field input:not([type=radio]):not([type=checkbox]),.lead-field select{height:35px;}
    .lead-form-actions{padding:9px 14px;}
    .lead-ficha-content{gap:9px;}
    .lead-ficha-hero{gap:16px;padding:15px 17px;}
    .lead-ficha-hero h2{font-size:20px;}
    .lead-ficha-section,.lead-ficha-history-shell{padding:13px 15px;}
    .lead-section-title{margin-bottom:10px;}
    .lead-ficha-fields{gap:10px 13px;}
    .lead-dashboard-view{gap:9px;}
    .lead-dashboard-filterbar{gap:6px;padding:8px;grid-template-columns:repeat(6,minmax(105px,1fr));}
    .lead-dashboard-filterbar select{height:31px;}
    .lead-dashboard-kpis{gap:6px;}
    .lead-dashboard-kpis article{min-height:62px;padding:9px;gap:8px;}
    .lead-kpi-icon{width:30px;height:30px;}
    .lead-dashboard-kpis strong{font-size:17px;}
    .lead-dashboard-insights{gap:6px;}
    .lead-dashboard-insights>div{padding:9px 11px;}
    .lead-dashboard-grid{gap:7px;}
    .lead-chart-card{min-height:238px;padding:11px;}
    .lead-chart-box{height:190px;margin-top:8px;}
    .lead-chart-wide .lead-chart-box{height:205px;}

    /* Armazenagem. */
    .arma-page{padding:12px 14px 24px;}
    .arma-page-head{margin-bottom:12px;gap:12px;}
    .arma-page-head h1{font-size:22px;margin:2px 0 3px;}
    .arma-page-head p{font-size:11px;}
    .arma-stats{gap:8px;margin-bottom:9px;}
    .arma-stat{padding:9px 12px;}
    .arma-stat strong{font-size:17px;}
    .arma-toolbar{padding:8px 10px;}
    .arma-search{min-width:240px;}
    .arma-history-table{min-width:700px;}
    .arma-history-table th,.arma-table th{padding:6px 9px;font-size:8.5px;}
    .arma-history-table td,.arma-table td{padding:7px 9px;font-size:9.5px;}
    .arma-modal{padding:10px;}
    .arma-modal-card{width:min(1180px,calc(100vw - 20px));max-height:calc(100vh - 20px);}
    .arma-modal-head{padding:10px 14px;}
    .arma-modal-head h2{font-size:15px;}
    .arma-modal-body{padding:11px 14px;}
    .arma-form-grid{gap:9px;}
    .arma-review-hero{padding:11px 14px;}
    .arma-review-hero strong{font-size:21px;}
    .arma-review-grid{gap:8px;margin-bottom:8px;}
    .arma-review-card{padding:10px;margin-bottom:8px;}

    /* Modais genéricos: cabeçalho/rodapé enxutos e scroll só no conteúdo. */
    .modal-content,
    .clientes-modal-ficha,
    .arma-modal-card{
        max-height:calc(100vh - 20px);
    }
    .modal-header{padding:13px 16px 11px;}
    .modal-header h3{font-size:15px;}
    .modal-body{padding:12px 16px;overflow-y:auto;min-height:0;}
    .modal-footer{padding:10px 16px;}

    /* Gerador de Apresentações: prioriza canvas e diminui chrome. */
    .ga-page{padding-bottom:16px;min-height:100vh;}
    .ga-header{min-height:56px;padding:8px 16px;top:0;gap:10px;}
    .ga-header-left{gap:10px;}
    .ga-title-icon{width:32px;height:32px;font-size:13px;}
    .ga-title-line h2{font-size:15px;}
    .ga-title-wrap small{font-size:9px;}
    .ga-new-btn{padding:7px 10px;font-size:10px;}
    .ga-main{width:calc(100% - 20px);padding-top:12px;}
    .ga-hero{min-height:280px;padding:28px 32px;gap:28px;}
    .ga-hero h1{font-size:42px;}
    .ga-hero-copy>p{font-size:12px;line-height:1.5;margin:14px 0 16px;}
    .ga-mini-slide{padding:20px;}
    .ga-start-heading{margin:18px 2px 10px;}
    .ga-mode-card{padding:15px;}
    .ga-mode-top{margin-bottom:10px;}
    .ga-workspace{gap:10px;min-height:calc(100vh - 100px);}
    .ga-workspace-panel{padding:14px;top:68px;}
    .ga-canvas-area{padding:10px;}
    .ga-canvas-stage{min-height:390px;}
    .ga-workspace-v3{gap:8px!important;}
    .ga-canvas-stage-v3{min-height:390px!important;}
    .ga-editor-drawer,.ga-editor-pane{max-height:190px;}
    .ga-style-rail{gap:7px!important;padding:7px!important;}

    /* Oportunidades/Leads legado e listas de trabalho. */
    .op-header-app{padding:10px 14px;gap:10px;}
    .op-shell{padding:10px 12px;}
    .op-detail-wrap{padding:12px;}
    .op-detail-hero{padding:12px 14px;}
    .op-detail-title h3{font-size:20px;}
}

/* Altura curta também recebe os mesmos ganhos de rolagem/viewport, inclusive em monitores largos. */
@media (min-width:901px) and (max-height:820px) {
    .header-app{top:8px;}
    .modal-content,.clientes-modal-ficha,.arma-modal-card{max-height:calc(100vh - 16px);}
    .clientes-modal-scroll,.modal-body,.arma-modal-body{overscroll-behavior:contain;}
    .home-hero{padding-top:18px;}
    .workspace{min-height:390px;}
    .ga-editor-drawer,.ga-editor-pane{max-height:180px;}
}

@media (min-width:901px) and (max-width:1180px) {
    .home-ctas,.home-features-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    .lead-dashboard-filterbar{grid-template-columns:repeat(3,minmax(0,1fr));}
}

/* ========================================================================== */
/* VTCDOCS V13.17.8 — PREVIEW PDF COM PAN (COTAÇÃO + PROPOSTA)               */
/* O painel continua fixo à direita. A folha pode ser arrastada dentro dele.  */
/* ========================================================================== */
.preview-body { overflow: hidden; }
.pdf-pan-header-actions { display:flex; align-items:center; justify-content:flex-end; gap:10px; min-width:0; }
.pdf-pan-controls { display:flex; align-items:center; gap:3px; padding:2px; border:1px solid var(--border); border-radius:8px; background:var(--bg-subtle); }
.pdf-pan-control { width:28px; height:28px; border:0; border-radius:6px; display:inline-flex; align-items:center; justify-content:center; background:transparent; color:var(--text-main); cursor:pointer; transition:background .15s ease,color .15s ease,transform .15s ease; }
.pdf-pan-control:hover { background:rgba(var(--accent-rgb),.12); color:var(--accent); }
.pdf-pan-control:active { transform:scale(.94); }
.pdf-pan-zoom-label { min-width:42px; text-align:center; font-size:10.5px; font-weight:700; color:var(--text-muted); font-variant-numeric:tabular-nums; }
.pdf-pan-viewport { position:absolute; inset:0; display:none; overflow:auto; cursor:grab; overscroll-behavior:contain; user-select:none; -webkit-user-select:none; touch-action:none; scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.34) transparent; }
.pdf-pan-viewport.is-ready { display:block; }
.pdf-pan-viewport.is-panning { cursor:grabbing; }
.pdf-pan-viewport:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
.pdf-pan-pages { width:max-content; min-width:100%; min-height:100%; display:flex; flex-direction:column; align-items:center; gap:14px; padding:14px; box-sizing:border-box; }
.pdf-pan-page { flex:none; line-height:0; background:#fff; border-radius:3px; overflow:hidden; box-shadow:0 8px 24px rgba(15,23,42,.34); }
.pdf-pan-page canvas { display:block; pointer-events:none; user-select:none; -webkit-user-select:none; }
.pdf-pan-fallback { position:absolute; inset:0; width:100%; height:100%; border:0; display:none; background:#fff; }
.pdf-pan-viewport.is-panning .pdf-pan-page { box-shadow:0 10px 30px rgba(15,23,42,.42); }

@media (min-width:901px) and (max-width:1440px), (min-width:901px) and (max-height:820px) {
    .pdf-pan-header-actions { gap:6px; }
    .pdf-pan-controls { gap:1px; }
    .pdf-pan-control { width:25px; height:25px; font-size:10px; }
    .pdf-pan-zoom-label { min-width:36px; font-size:9.5px; }
    .pdf-pan-refresh { padding:5px 8px !important; }
    .preview-header .preview-status { font-size:9px; }
    .pdf-pan-pages { gap:10px; padding:10px; }
}

@media (max-width:900px) {
    .pdf-pan-header-actions { gap:6px; }
    .preview-header .preview-status { display:none; }
    .pdf-pan-controls { margin-left:auto; }
    .pdf-pan-pages { padding:10px; gap:10px; }
}

/* ========================================================================== */
/* VTCDOCS V13.17.17 — CENTRAL DE AJUDA / MANUAL OPERACIONAL                 */
/* ========================================================================== */
.ajuda-page{max-width:1180px;margin:0 auto;padding:20px 18px 56px;color:var(--text-main);}
.ajuda-hero{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:24px;background:linear-gradient(135deg,rgba(var(--accent-rgb),.14),var(--bg-card) 48%,rgba(79,70,229,.08));padding:34px;box-shadow:var(--shadow-md);}
.ajuda-hero::after{content:"?";position:absolute;right:22px;top:-48px;font-size:210px;line-height:1;font-weight:800;color:rgba(var(--accent-rgb),.055);pointer-events:none;}
.ajuda-hero-copy{position:relative;z-index:1;max-width:900px;}
.ajuda-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border-radius:999px;background:rgba(var(--accent-rgb),.1);color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.06em;}
.ajuda-hero h1{margin:14px 0 8px;font-size:34px;line-height:1.08;letter-spacing:-.03em;}
.ajuda-hero p{margin:0;max-width:780px;color:var(--text-muted);font-size:14px;line-height:1.65;}
.ajuda-hero-actions{display:flex;align-items:stretch;gap:10px;margin-top:22px;max-width:900px;}
.ajuda-search{flex:1;min-width:0;display:flex;align-items:center;gap:10px;background:var(--bg-card);border:1px solid var(--border);border-radius:13px;padding:0 12px;box-shadow:var(--shadow-sm);}
.ajuda-search>i{color:var(--accent);}
.ajuda-search input{flex:1;min-width:0;border:0!important;background:transparent!important;box-shadow:none!important;outline:0;padding:13px 0;font-size:14px;color:var(--text-main);}
.ajuda-search button{width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer;}
.ajuda-search button:hover{background:var(--surface-hover);color:var(--text-main);}
.ajuda-pdf-btn,.ajuda-footer-callout button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;background:var(--accent);color:#fff;font-weight:800;padding:0 18px;cursor:pointer;box-shadow:0 8px 20px rgba(var(--accent-rgb),.22);}
.ajuda-pdf-btn:hover,.ajuda-footer-callout button:hover{background:var(--accent-hover);}
.ajuda-iso-note{display:flex;align-items:flex-start;gap:9px;margin-top:15px;max-width:860px;color:var(--text-muted);font-size:11.5px;line-height:1.5;}
.ajuda-iso-note i{color:var(--success);margin-top:2px;}
.ajuda-hero-flow{position:relative;z-index:1;display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:24px;padding-top:18px;border-top:1px solid var(--border);}
.ajuda-hero-flow span{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;color:var(--text-muted);}
.ajuda-hero-flow span b{display:inline-grid;place-items:center;width:23px;height:23px;border-radius:50%;background:rgba(var(--accent-rgb),.13);color:var(--accent);}
.ajuda-hero-flow>i{font-size:9px;color:var(--border-strong);}
.ajuda-toolbar{margin:18px 0 12px;padding:14px 16px;border:1px solid var(--border);border-radius:16px;background:var(--bg-card);box-shadow:var(--shadow-sm);}
.ajuda-toolbar>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px;}
.ajuda-toolbar strong{font-size:13px;}.ajuda-toolbar #ajudaResultadosStatus{font-size:11px;color:var(--text-muted);}
.ajuda-chips{display:flex;gap:7px;flex-wrap:wrap;}
.ajuda-chip{border:1px solid var(--border);background:var(--bg-subtle);color:var(--text-muted);border-radius:999px;padding:7px 11px;font-size:11px;font-weight:700;cursor:pointer;}
.ajuda-chip:hover{border-color:rgba(var(--accent-rgb),.35);color:var(--accent);}.ajuda-chip.is-active{background:rgba(var(--accent-rgb),.12);border-color:rgba(var(--accent-rgb),.3);color:var(--accent);}
.ajuda-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start;}
.ajuda-article{min-width:0;border:1px solid var(--border);border-radius:16px;background:var(--bg-card);box-shadow:var(--shadow-sm);overflow:hidden;scroll-margin-top:16px;}
.ajuda-article details{width:100%;}.ajuda-article summary{list-style:none;display:flex;align-items:flex-start;gap:11px;padding:16px;cursor:pointer;}.ajuda-article summary::-webkit-details-marker{display:none;}
.ajuda-article summary:hover{background:var(--bg-subtle);}
.ajuda-article-icon{flex:0 0 35px;width:35px;height:35px;display:grid;place-items:center;border-radius:10px;background:rgba(var(--accent-rgb),.11);color:var(--accent);}
.ajuda-article-heading{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px;}.ajuda-article-heading small{font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);}.ajuda-article-heading strong{font-size:14px;color:var(--text-main);}.ajuda-article-heading em{font-style:normal;font-size:11.5px;line-height:1.45;color:var(--text-muted);}
.ajuda-article-chevron{margin-left:auto;color:var(--text-muted);transition:transform .2s;}.ajuda-article details[open] .ajuda-article-chevron{transform:rotate(180deg);}
.ajuda-article-body{padding:0 16px 17px 62px;border-top:1px solid var(--border);}.ajuda-article-body h4{margin:15px 0 8px;font-size:11.5px;color:var(--text-main);}
.ajuda-steps,.ajuda-notes{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:7px;}.ajuda-steps li{display:flex;gap:8px;align-items:flex-start;}.ajuda-steps li>span{flex:0 0 21px;width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:var(--bg-subtle);border:1px solid var(--border);font-size:9px;font-weight:800;color:var(--accent);}.ajuda-steps p{margin:1px 0 0;font-size:11.5px;line-height:1.5;color:var(--text-muted);}
.ajuda-notes li{position:relative;padding-left:14px;font-size:11.5px;line-height:1.5;color:var(--text-muted);}.ajuda-notes li::before{content:"";position:absolute;left:1px;top:.62em;width:5px;height:5px;border-radius:50%;background:var(--accent);}
.ajuda-warning{display:flex;gap:10px;align-items:flex-start;margin-top:13px;padding:11px;border-radius:10px;background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning-text);}.ajuda-warning i{margin-top:2px;}.ajuda-warning strong{font-size:10px;text-transform:uppercase;letter-spacing:.06em;}.ajuda-warning p{margin:2px 0 0;font-size:11px;line-height:1.45;}
.ajuda-empty{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:48px 20px;border:1px dashed var(--border-strong);border-radius:16px;color:var(--text-muted);}.ajuda-empty i{font-size:26px;color:var(--accent);margin-bottom:10px;}.ajuda-empty strong{color:var(--text-main);}.ajuda-empty p{max-width:520px;font-size:12px;}
.ajuda-footer-callout{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding:18px;border:1px solid rgba(var(--accent-rgb),.25);border-radius:16px;background:rgba(var(--accent-rgb),.07);}.ajuda-footer-callout>div{display:flex;align-items:flex-start;gap:11px;}.ajuda-footer-callout>div>i{font-size:22px;color:var(--accent);}.ajuda-footer-callout span{display:flex;flex-direction:column;gap:3px;}.ajuda-footer-callout strong{font-size:12.5px;}.ajuda-footer-callout small{font-size:11px;line-height:1.45;color:var(--text-muted);}.ajuda-footer-callout button{min-height:40px;white-space:nowrap;}
body.tema-escuro .ajuda-hero{background:linear-gradient(135deg,rgba(var(--accent-rgb),.15),rgba(255,255,255,.035) 50%,rgba(79,70,229,.09));}
body.tema-escuro .ajuda-search{background:rgba(255,255,255,.055);}
@media (max-width:900px){.ajuda-page{padding:12px 10px 36px;}.ajuda-hero{padding:22px 18px;border-radius:18px;}.ajuda-hero h1{font-size:28px;}.ajuda-hero-actions{flex-direction:column;}.ajuda-search{min-height:48px;}.ajuda-pdf-btn{min-height:46px;}.ajuda-hero-flow{gap:6px;}.ajuda-hero-flow>i{display:none;}.ajuda-content{grid-template-columns:1fr;}.ajuda-article-body{padding-left:16px;}.ajuda-footer-callout{align-items:stretch;flex-direction:column;}.ajuda-footer-callout button{min-height:44px;}.ajuda-toolbar>div:first-child{align-items:flex-start;flex-direction:column;gap:3px;}}


/* ========================================================================== */
/* VTCDOCS V13.18 — PRODUCTION FOCUS / VISUAL HIERARCHY                      */
/* ========================================================================== */
:root{
    --vtc-surface:var(--bg-card);
    --vtc-canvas:var(--bg-body);
    --vtc-ink:var(--text-main);
    --vtc-muted:var(--text-muted);
    --vtc-line:var(--border);
    --vtc-blue:var(--accent);
    --vtc-blue-soft:rgba(var(--accent-rgb),.10);
    --vtc-radius:16px;
}

/* Tokens do redesign precisam ser recalculados no mesmo escopo do tema.
   Quando ficavam apenas no :root, eles preservavam os valores claros de
   --bg-body/--bg-card e a Home continuava branca mesmo com tema-escuro. */
body.tema-escuro{
    --vtc-surface:var(--bg-card);
    --vtc-canvas:var(--bg-body);
    --vtc-ink:var(--text-main);
    --vtc-muted:var(--text-muted);
    --vtc-line:var(--border);
}

.vtc-sidebar-nav-caption{display:block;padding:18px 16px 8px;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.38)}
.vtc-sidebar.is-collapsed .vtc-sidebar-nav-caption{display:none}
.vtc-sidebar-item{min-height:44px;border-radius:10px;margin:2px 8px;padding:0 12px;transition:background .16s ease,color .16s ease,transform .16s ease}
.vtc-sidebar-item:hover{transform:none}
.vtc-sidebar-item.is-active{background:rgba(255,255,255,.12)}
.vtc-sidebar-item.is-active::before{content:"";position:absolute;left:0;width:3px;height:20px;border-radius:0 3px 3px 0;background:#60a5fa}

.vtc-home-v2{max-width:none!important;margin:0!important;width:auto!important;min-height:100vh;background:var(--vtc-canvas)!important;color:var(--vtc-ink)!important;padding:0!important;text-align:left!important;border-radius:0!important}
.vtc-home-shell{width:100%;max-width:1180px;margin:0;padding:48px 48px 64px}
.vtc-home-header{max-width:720px;margin:0 0 32px}
.vtc-home-eyebrow,.vtc-page-eyebrow{display:inline-flex;margin-bottom:12px;font-size:10px;line-height:1;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--vtc-blue)}
.vtc-home-header h1{margin:0;color:var(--vtc-ink);font-size:clamp(30px,3.2vw,38px);line-height:1.08;letter-spacing:-.04em;font-weight:780}
.vtc-home-header p{margin:8px 0 0;color:var(--vtc-muted);font-size:14px;line-height:1.5}
.vtc-home-section{max-width:1040px}
.vtc-home-section-title{margin:0 0 12px;color:var(--vtc-muted);font-size:10px;line-height:1;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.vtc-home-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.vtc-home-action{appearance:none;width:100%;min-height:96px;display:grid;grid-template-columns:42px minmax(0,1fr) 18px;align-items:center;gap:14px;text-align:left;position:relative;border:1px solid var(--vtc-line);border-radius:14px;background:var(--vtc-surface);padding:16px 18px;cursor:pointer;box-shadow:0 1px 2px rgba(15,23,42,.025);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.vtc-home-action:hover{border-color:rgba(var(--accent-rgb),.30);box-shadow:0 7px 20px rgba(15,23,42,.055);background:color-mix(in srgb,var(--vtc-surface) 96%,var(--vtc-blue) 4%)}
.vtc-home-action-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:var(--vtc-blue-soft);color:var(--vtc-blue);font-size:15px;margin:0}
.vtc-home-action-copy{min-width:0;display:flex;flex-direction:column;gap:4px;padding:0}
.vtc-home-action-copy strong{font-size:15px;line-height:1.25;color:var(--vtc-ink);font-weight:750}
.vtc-home-action-copy small{font-size:11.5px;line-height:1.4;color:var(--vtc-muted)}
.vtc-home-action-arrow{position:static;justify-self:end;color:#94a3b8;font-size:11px;transition:transform .16s ease,color .16s ease}
.vtc-home-action:hover .vtc-home-action-arrow{transform:translateX(2px);color:var(--vtc-blue)}

.vtc-page-intro{max-width:1280px;margin:0 auto;padding:28px 28px 18px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;background:transparent}
.vtc-page-intro h1{margin:0;color:var(--text-main,var(--vtc-ink));font-size:29px;line-height:1.1;letter-spacing:-.03em;font-weight:760}
.vtc-page-intro p{margin:7px 0 0;color:var(--text-muted,var(--vtc-muted));font-size:13px;line-height:1.5}
.vtc-page-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border:0;border-radius:10px;background:var(--accent,var(--vtc-blue));color:#fff;padding:0 15px;font-size:12.5px;font-weight:750;cursor:pointer;box-shadow:none}
.vtc-page-primary:hover{filter:brightness(.96)}

/* The old headers remain as functional toolbars, but no longer compete with the page title. */
#app-principal>.header-app,#tela-cotacao>.header-app,#tela-clientes>.header-app{max-width:1280px;margin:0 auto;border:0;border-bottom:1px solid var(--border,var(--vtc-line));box-shadow:none;background:transparent;padding:0 28px 14px;min-height:auto}
#app-principal>.header-app>div:first-child,#tela-cotacao>.header-app>div:first-child{display:none!important}
#app-principal .btn-feedback-beta,#tela-cotacao .btn-feedback-beta{display:none!important}
#tela-clientes>.header-app>div:first-child{display:none!important}
#tela-clientes>.header-app>.clientes-btn-novo{display:none!important}
#app-principal>.header-app .header-app-acoes,#tela-cotacao>.header-app .header-app-acoes{margin-left:auto}

/* Reduce card-noise without changing business logic. */
#app-principal .card,#tela-cotacao .card,#tela-clientes .card{box-shadow:none!important;border-color:var(--border,var(--vtc-line))!important}
#app-principal .card,#tela-cotacao .card{border-radius:14px!important}
#app-principal .card-header,#tela-cotacao .card-header{margin-bottom:18px}
#app-principal .card-subtitle,#tela-cotacao .card-subtitle{max-width:680px;line-height:1.45}
#tela-clientes .clientes-resumo-grid{gap:8px;margin-bottom:12px}
#tela-clientes .clientes-kpi-card{box-shadow:none!important;border-color:var(--border,var(--vtc-line))!important;padding:12px 14px!important;min-height:auto!important}
#tela-clientes .clientes-alertas-box{box-shadow:none!important}

@media (max-width:900px){
    .vtc-home-shell{width:100%;max-width:none;padding:76px 18px 36px}
    .vtc-home-header{margin-bottom:26px}
    .vtc-home-actions{grid-template-columns:1fr}
    .vtc-home-action{min-height:84px;padding:14px 16px}
    .vtc-page-intro{padding:72px 16px 14px;align-items:flex-start;flex-direction:column}
    .vtc-page-intro h1{font-size:26px}
    #app-principal>.header-app,#tela-cotacao>.header-app,#tela-clientes>.header-app{padding:0 16px 12px}
}


/* ========================================================================== */
/* VTCDOCS V13.18.4 — DARK ONLY / DASHBOARD TOKENS                            */
/* Produção usa exclusivamente o tema escuro; evita flash/fundo claro.        */
/* ========================================================================== */
html { background:#08101e; color-scheme:dark; }
body.tema-escuro { min-height:100vh; background:#08101e; }


/* ============================================================
   V13.18.5 — HOME CENTRALIZADA + RESUMO INTERATIVO
   ============================================================ */
.vtc-home-v2{overflow:hidden;position:relative}
.vtc-home-shell.vtc-home-shell-centered{position:relative;isolation:isolate;width:min(1180px,calc(100% - 56px));max-width:1180px;margin:0 auto;padding:54px 0 64px}
.vtc-home-ambient{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.vtc-home-orb{position:absolute;width:360px;height:360px;border-radius:999px;filter:blur(1px);opacity:.36;background:radial-gradient(circle,rgba(37,99,235,.16) 0%,rgba(37,99,235,.04) 44%,transparent 72%);animation:vtcHomeFloat 9s ease-in-out infinite}
.vtc-home-orb-a{top:-170px;left:7%}
.vtc-home-orb-b{top:210px;right:1%;width:290px;height:290px;opacity:.22;animation-delay:-4s}
.vtc-home-grid{position:absolute;inset:90px 7% auto;height:520px;opacity:.12;background-image:linear-gradient(rgba(148,163,184,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.08) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.75),transparent 88%)}
.vtc-home-header.vtc-home-header-centered{max-width:760px;margin:0 auto 34px;text-align:center}
.vtc-home-status{display:inline-flex;align-items:center;gap:7px;margin-bottom:13px;padding:6px 10px;border:1px solid rgba(96,165,250,.14);border-radius:999px;background:rgba(37,99,235,.07);color:#8fb7f5;font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.vtc-home-status i{font-size:6px;color:#4f8df7;box-shadow:0 0 0 5px rgba(37,99,235,.08);border-radius:50%}
.vtc-home-header.vtc-home-header-centered h1{font-size:clamp(34px,4vw,48px);letter-spacing:-.045em}
.vtc-home-header.vtc-home-header-centered p{font-size:14px;margin-top:9px}
.vtc-home-summary{position:relative;margin:0 auto 30px;padding:20px;border:1px solid rgba(148,163,184,.13);border-radius:20px;background:linear-gradient(180deg,rgba(17,27,45,.88),rgba(13,22,38,.92));box-shadow:0 24px 70px rgba(2,8,23,.18),inset 0 1px 0 rgba(255,255,255,.025)}
.vtc-home-summary:before{content:"";position:absolute;left:12%;right:12%;top:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(96,165,250,.5),transparent)}
.vtc-home-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}
.vtc-home-section-kicker{display:block;margin-bottom:4px;color:#6f91c6;font-size:9px;line-height:1;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.vtc-home-section-heading h2{margin:0;color:var(--vtc-ink);font-size:17px;line-height:1.2;font-weight:760;letter-spacing:-.02em}
.vtc-home-live{display:inline-flex;align-items:center;gap:6px;color:#7083a2;font-size:10.5px}
.vtc-home-live i{color:#4f8df7}
.vtc-home-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.vtc-home-stat{appearance:none;position:relative;min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr) 16px;align-items:center;gap:11px;padding:14px;border:1px solid rgba(148,163,184,.11);border-radius:14px;background:rgba(7,15,29,.48);text-align:left;color:inherit;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}
.vtc-home-stat:hover{transform:translateY(-2px);border-color:rgba(96,165,250,.26);background:rgba(18,31,52,.82);box-shadow:0 12px 28px rgba(2,8,23,.18)}
.vtc-home-stat-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:rgba(37,99,235,.12);color:#68a0ff;font-size:13px;transition:transform .18s ease,background .18s ease}
.vtc-home-stat:hover .vtc-home-stat-icon{transform:scale(1.06) rotate(-2deg);background:rgba(37,99,235,.18)}
.vtc-home-stat-copy{min-width:0;display:flex;flex-direction:column}
.vtc-home-stat-copy strong{display:block;color:#f1f5ff;font-size:23px;line-height:1;font-weight:800;letter-spacing:-.035em;font-variant-numeric:tabular-nums;animation:vtcHomeCountIn .38s ease both}
.vtc-home-stat-copy span{margin-top:5px;color:#d9e2f0;font-size:11.5px;line-height:1.2;font-weight:700}
.vtc-home-stat-copy small{margin-top:2px;color:#6f819d;font-size:9.5px;line-height:1.25}
.vtc-home-stat-arrow{justify-self:end;color:#51617a;font-size:9px;opacity:.7;transition:transform .18s ease,color .18s ease}
.vtc-home-stat:hover .vtc-home-stat-arrow{transform:translate(1px,-1px);color:#7eafff}
.vtc-home-stat-success .vtc-home-stat-icon{background:rgba(16,185,129,.1);color:#4bd1a0}
.vtc-home-stat-success:hover{border-color:rgba(52,211,153,.22)}
.vtc-home-activity{display:grid;grid-template-columns:180px minmax(0,1fr) 112px;align-items:end;gap:18px;margin-top:12px;padding:15px 16px;border:1px solid rgba(148,163,184,.09);border-radius:14px;background:rgba(7,15,29,.31)}
.vtc-home-activity-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.vtc-home-activity-copy span{color:#7083a2;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.vtc-home-activity-copy strong{color:#dce6f5;font-size:12px;font-weight:750}
.vtc-home-activity-copy small{color:#65758f;font-size:9.5px}
.vtc-home-activity-bars{height:52px;display:grid;grid-template-columns:repeat(7,minmax(8px,1fr));align-items:end;gap:7px;padding:0 4px}
.vtc-home-activity-bars span{position:relative;display:block;height:max(5px,var(--h));min-height:5px;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,#4e8cf4,rgba(37,99,235,.34));box-shadow:0 0 14px rgba(37,99,235,.08);transform-origin:bottom;animation:vtcHomeBarIn .55s cubic-bezier(.2,.8,.2,1) both}
.vtc-home-activity-bars span:nth-child(2){animation-delay:.04s}.vtc-home-activity-bars span:nth-child(3){animation-delay:.08s}.vtc-home-activity-bars span:nth-child(4){animation-delay:.12s}.vtc-home-activity-bars span:nth-child(5){animation-delay:.16s}.vtc-home-activity-bars span:nth-child(6){animation-delay:.20s}.vtc-home-activity-bars span:nth-child(7){animation-delay:.24s}
.vtc-home-activity-bars span:after{content:attr(data-label);position:absolute;left:50%;bottom:calc(100% + 7px);transform:translateX(-50%);padding:4px 6px;border-radius:6px;background:#0b1423;border:1px solid rgba(148,163,184,.15);color:#cbd8e9;font-size:9px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s ease}
.vtc-home-activity-bars span:hover:after{opacity:1}
.vtc-home-activity-total{text-align:right}
.vtc-home-activity-total strong{display:block;color:#eef4ff;font-size:20px;line-height:1;font-weight:800;font-variant-numeric:tabular-nums}
.vtc-home-activity-total span{display:block;margin-top:4px;color:#6c7e99;font-size:9.5px}
.vtc-home-section{max-width:none;margin:0 auto}
.vtc-home-section-title{text-align:center;margin-bottom:12px;color:#61728d}
.vtc-home-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.vtc-home-action{min-height:82px;background:rgba(16,27,45,.72);border-color:rgba(148,163,184,.11);box-shadow:none}
.vtc-home-action:hover{background:rgba(19,33,55,.9);border-color:rgba(96,165,250,.24);box-shadow:0 12px 30px rgba(2,8,23,.17);transform:translateY(-2px)}
.vtc-home-action-icon{background:rgba(37,99,235,.11)}
@keyframes vtcHomeCountIn{from{opacity:.35;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@keyframes vtcHomeBarIn{from{transform:scaleY(.12);opacity:.25}to{transform:scaleY(1);opacity:1}}
@keyframes vtcHomeFloat{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(16px,14px,0) scale(1.04)}}
@media (max-width:1100px){.vtc-home-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.vtc-home-activity{grid-template-columns:160px minmax(0,1fr) 96px}}
@media (max-width:760px){.vtc-home-shell.vtc-home-shell-centered{width:100%;padding:78px 16px 36px}.vtc-home-header.vtc-home-header-centered{margin-bottom:26px}.vtc-home-summary{padding:14px;border-radius:16px}.vtc-home-section-heading{align-items:center}.vtc-home-live{display:none}.vtc-home-stats{grid-template-columns:1fr 1fr;gap:8px}.vtc-home-stat{grid-template-columns:34px minmax(0,1fr);padding:11px}.vtc-home-stat-icon{width:34px;height:34px}.vtc-home-stat-arrow{display:none}.vtc-home-stat-copy strong{font-size:20px}.vtc-home-activity{grid-template-columns:1fr 74px;align-items:center}.vtc-home-activity-copy{grid-column:1/-1}.vtc-home-actions{grid-template-columns:1fr}.vtc-home-section-title{text-align:left}.vtc-home-grid{display:none}}
@media (prefers-reduced-motion:reduce){.vtc-home-orb,.vtc-home-stat-copy strong,.vtc-home-activity-bars span{animation:none!important}.vtc-home-stat,.vtc-home-action,.vtc-home-stat-icon{transition:none!important}}

/* ========================================================================== 
   VTCDOCS V13.18.6 — HOME / CENTRAL DE TRABALHO
   Funções primeiro, dados depois. Linguagem editorial sem mosaico de cards.
   ========================================================================== */
.vtc-home-v2{
    position:relative;
    overflow:hidden;
    min-height:calc(100vh - 18px);
    background:
        radial-gradient(ellipse 62% 48% at 50% -8%,rgba(42,106,210,.16) 0%,rgba(12,31,60,.045) 48%,transparent 76%),
        radial-gradient(circle at 9% 76%,rgba(31,75,143,.09),transparent 32%),
        linear-gradient(145deg,#07111f 0%,#091523 48%,#07101c 100%)!important;
}
.vtc-home-v2::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        radial-gradient(circle at 72% 22%,rgba(65,126,224,.075),transparent 25%),
        linear-gradient(118deg,transparent 0 44%,rgba(111,158,232,.025) 44.1% 44.25%,transparent 44.35% 100%);
    opacity:.95;
}
.vtc-home-v2::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background-image:repeating-linear-gradient(90deg,rgba(138,166,207,.022) 0 1px,transparent 1px 72px),repeating-linear-gradient(0deg,rgba(138,166,207,.014) 0 1px,transparent 1px 72px);
    mask-image:linear-gradient(to bottom,rgba(0,0,0,.62),transparent 88%);
    opacity:.6;
}
.vtc-home-shell.vtc-home-shell-centered{
    position:relative;
    z-index:1;
    width:min(1040px,calc(100% - 64px));
    max-width:1040px;
    margin:0 auto;
    padding:58px 0 70px;
}
.vtc-home-ambient{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:visible}
.vtc-home-orb{filter:blur(18px);opacity:.18}
.vtc-home-orb-a{width:420px;height:240px;top:-120px;left:28%;background:radial-gradient(ellipse,rgba(50,118,224,.18),transparent 70%)}
.vtc-home-orb-b{width:300px;height:300px;top:350px;right:-110px;background:radial-gradient(circle,rgba(22,75,158,.12),transparent 70%)}
.vtc-home-grid{display:none}
.vtc-home-beam{position:absolute;left:13%;right:13%;top:178px;height:1px;background:linear-gradient(90deg,transparent,rgba(111,158,232,.19),transparent);opacity:.7}

.vtc-home-header.vtc-home-header-centered{max-width:720px;margin:0 auto 42px;text-align:center}
.vtc-home-status{margin-bottom:14px;background:transparent;border-color:rgba(113,155,219,.16);color:#7896c1;padding:5px 9px;font-size:9px;letter-spacing:.14em}
.vtc-home-status i{color:#5a94ed;box-shadow:none}
.vtc-home-header.vtc-home-header-centered h1{font-size:clamp(34px,4.2vw,50px);line-height:1.03;letter-spacing:-.052em;font-weight:720;color:#f3f7ff}
.vtc-home-header.vtc-home-header-centered p{margin-top:10px;color:#74859f;font-size:13px;letter-spacing:.005em}

.vtc-home-workbench{margin:0 auto 42px;border-top:1px solid rgba(145,169,204,.17);border-bottom:1px solid rgba(145,169,204,.17)}
.vtc-home-workbench-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:18px 2px 16px}
.vtc-home-workbench-head h2{margin:4px 0 0;color:#dfe8f7;font-size:17px;line-height:1.25;font-weight:650;letter-spacing:-.02em}
.vtc-home-workbench-note{padding-bottom:2px;color:#5f728f;font-size:10px;letter-spacing:.06em;text-transform:uppercase}
.vtc-home-section-kicker{color:#6886b2;font-size:8.5px;line-height:1;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.vtc-home-tool-list{border-top:1px solid rgba(145,169,204,.09)}
.vtc-home-tool-row{
    appearance:none;
    width:100%;
    min-height:92px;
    display:grid;
    grid-template-columns:48px 40px minmax(0,1fr) 160px 28px;
    align-items:center;
    gap:16px;
    position:relative;
    padding:0 4px 0 2px;
    border:0;
    border-bottom:1px solid rgba(145,169,204,.09);
    background:transparent;
    color:inherit;
    text-align:left;
    cursor:pointer;
    transition:background .22s ease,border-color .22s ease,padding .22s ease;
}
.vtc-home-tool-row:last-child{border-bottom:0}
.vtc-home-tool-row::before{
    content:"";
    position:absolute;
    left:-1px;
    top:22px;
    bottom:22px;
    width:2px;
    background:#4b8df0;
    transform:scaleY(0);
    transform-origin:center;
    transition:transform .22s ease;
}
.vtc-home-tool-row:hover,.vtc-home-tool-row:focus-visible{
    background:linear-gradient(90deg,rgba(45,97,176,.095),rgba(24,49,84,.028) 54%,transparent);
    border-color:rgba(121,160,218,.16);
    padding-left:10px;
    outline:none;
}
.vtc-home-tool-row:hover::before,.vtc-home-tool-row:focus-visible::before{transform:scaleY(1)}
.vtc-home-tool-index{font-size:9px;font-weight:700;letter-spacing:.12em;color:#50627e;font-variant-numeric:tabular-nums}
.vtc-home-tool-symbol{display:flex;align-items:center;justify-content:center;width:34px;height:34px;color:#7fa7e6;font-size:14px;transition:color .2s ease,transform .2s ease}
.vtc-home-tool-row:hover .vtc-home-tool-symbol{color:#9bc0fb;transform:translateX(2px)}
.vtc-home-tool-copy{min-width:0;display:flex;flex-direction:column;gap:6px}
.vtc-home-tool-copy strong{color:#e8effa;font-size:17px;line-height:1.1;font-weight:670;letter-spacing:-.022em}
.vtc-home-tool-copy small{color:#73849e;font-size:11.5px;line-height:1.4;font-weight:450;white-space:normal}
.vtc-home-tool-capability{justify-self:end;color:#657996;font-size:8.5px;font-weight:760;letter-spacing:.11em;white-space:nowrap}
.vtc-home-tool-arrow{justify-self:end;color:#50627d;font-size:13px;transition:color .2s ease,transform .2s ease}
.vtc-home-tool-row:hover .vtc-home-tool-arrow{color:#8cb5f4;transform:translateX(4px)}

.vtc-home-summary{margin:0 auto;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
.vtc-home-summary::before{display:none}
.vtc-home-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 0 15px}
.vtc-home-section-heading h2{margin:4px 0 0;color:#d7e1f0;font-size:15px;line-height:1.2;font-weight:650;letter-spacing:-.015em}
.vtc-home-live{color:#60728d;font-size:9.5px}
.vtc-home-live i{color:#5b94ed}
.vtc-home-metrics{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    border-top:1px solid rgba(145,169,204,.13);
    border-bottom:1px solid rgba(145,169,204,.13);
}
.vtc-home-metric{position:relative;min-width:0;padding:18px 18px 18px 0}
.vtc-home-metric:not(:first-child){padding-left:20px}
.vtc-home-metric:not(:last-child)::after{content:"";position:absolute;right:0;top:18px;bottom:18px;width:1px;background:rgba(145,169,204,.10)}
.vtc-home-metric strong{display:block;color:#edf4ff;font-size:28px;line-height:1;font-weight:760;letter-spacing:-.04em;font-variant-numeric:tabular-nums;animation:vtcHomeCountIn .38s ease both}
.vtc-home-metric span{display:block;margin-top:7px;color:#b9c7da;font-size:10.5px;font-weight:680}
.vtc-home-metric small{display:block;margin-top:2px;color:#5f718b;font-size:9px}
.vtc-home-metric-success strong{color:#bcebd8}

.vtc-home-activity{display:grid;grid-template-columns:190px minmax(0,1fr) 110px;align-items:end;gap:22px;margin-top:0;padding:18px 0 0;border:0;border-radius:0;background:transparent}
.vtc-home-activity-copy span{color:#607490;font-size:8px;letter-spacing:.13em}
.vtc-home-activity-copy strong{color:#bfcce0;font-size:11px;font-weight:650}
.vtc-home-activity-copy small{color:#566981;font-size:9px}
.vtc-home-activity-bars{height:44px;gap:8px}
.vtc-home-activity-bars span{border-radius:2px 2px 1px 1px;background:linear-gradient(180deg,rgba(99,152,235,.9),rgba(50,98,173,.24));box-shadow:none}
.vtc-home-activity-bars span:after{background:#0a1320;border-color:rgba(145,169,204,.16)}
.vtc-home-activity-total strong{color:#dce7f6;font-size:19px;font-weight:720}
.vtc-home-activity-total span{color:#5c6f89;font-size:8.5px}

@media (max-width:900px){
    .vtc-home-shell.vtc-home-shell-centered{width:min(100% - 36px,820px);padding-top:74px}
    .vtc-home-tool-row{grid-template-columns:36px 34px minmax(0,1fr) 28px;gap:12px}
    .vtc-home-tool-capability{display:none}
    .vtc-home-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
    .vtc-home-metric:nth-child(2)::after{display:none}
    .vtc-home-metric:nth-child(-n+2){border-bottom:1px solid rgba(145,169,204,.10)}
    .vtc-home-metric:nth-child(3){padding-left:0}
    .vtc-home-activity{grid-template-columns:150px minmax(0,1fr) 88px}
}
@media (max-width:620px){
    .vtc-home-shell.vtc-home-shell-centered{width:100%;padding:82px 16px 38px}
    .vtc-home-header.vtc-home-header-centered{margin-bottom:30px}
    .vtc-home-header.vtc-home-header-centered h1{font-size:34px}
    .vtc-home-workbench{margin-bottom:34px}
    .vtc-home-workbench-head{align-items:flex-start}
    .vtc-home-workbench-note{display:none}
    .vtc-home-tool-row{min-height:86px;grid-template-columns:26px 28px minmax(0,1fr) 20px;padding-right:0}
    .vtc-home-tool-row:hover,.vtc-home-tool-row:focus-visible{padding-left:6px}
    .vtc-home-tool-copy strong{font-size:15px}
    .vtc-home-tool-copy small{font-size:10.5px}
    .vtc-home-tool-symbol{width:28px;height:28px;font-size:12px}
    .vtc-home-metric{padding:15px 12px 15px 0}
    .vtc-home-metric:not(:first-child){padding-left:14px}
    .vtc-home-metric:nth-child(3){padding-left:0}
    .vtc-home-metric strong{font-size:24px}
    .vtc-home-activity{grid-template-columns:1fr 68px;gap:12px}
    .vtc-home-activity-copy{grid-column:1/-1}
    .vtc-home-activity-bars{height:38px}
}
@media (prefers-reduced-motion:reduce){
    .vtc-home-tool-row,.vtc-home-tool-row::before,.vtc-home-tool-symbol,.vtc-home-tool-arrow,.vtc-home-metric strong{transition:none!important;animation:none!important}
}

/* ============================================================
   HOME DASHBOARD — V13.18.7 (3 painéis visuais)
   ============================================================ */
.vtc-home-v2{
    background:
        radial-gradient(circle at 14% 16%, rgba(44, 97, 189, .26), transparent 28%),
        radial-gradient(circle at 84% 20%, rgba(27, 66, 133, .18), transparent 24%),
        linear-gradient(180deg, #09111d 0%, #0b1422 34%, #09111b 100%) !important;
}
.vtc-home-v2::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background-image:
        linear-gradient(rgba(120, 149, 201, .04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(120, 149, 201, .04) 1px, transparent 1px);
    background-size: 44px 44px;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,.42), transparent 86%);
    opacity:.24;
}
.vtc-home-v2::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        linear-gradient(180deg, rgba(5, 10, 18, 0) 0%, rgba(5, 10, 18, .14) 44%, rgba(5, 10, 18, .48) 100%),
        radial-gradient(circle at 50% 10%, rgba(112, 162, 255, .10), transparent 24%);
}
.vtc-home-shell.vtc-home-shell-centered{
    width:min(1280px, calc(100% - 48px));
    max-width:1280px;
    padding:56px 0 58px;
}
.vtc-home-header.vtc-home-header-centered{
    max-width:640px;
    margin:0 auto 30px;
}
.vtc-home-header.vtc-home-header-centered h1{
    font-size:clamp(34px, 4vw, 48px);
}
.vtc-home-header.vtc-home-header-centered p{
    max-width:520px;
    margin:10px auto 0;
}
.vtc-home-panels{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:18px;
    align-items:stretch;
    min-height:clamp(320px, 54vh, 500px);
    margin:0 auto;
}
.vtc-home-panel{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-end;
    gap:8px;
    min-height:clamp(320px, 54vh, 500px);
    padding:26px;
    border:1px solid rgba(149, 174, 211, .16);
    border-radius:28px;
    background:rgba(10, 17, 28, .72);
    color:#f3f7ff;
    text-align:left;
    cursor:pointer;
    box-shadow:0 20px 50px rgba(2, 8, 23, .22), inset 0 1px 0 rgba(255,255,255,.04);
    transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease;
}
.vtc-home-panel::before{
    content:"";
    position:absolute;
    inset:-18px;
    z-index:-2;
    background-position:center;
    background-size:cover;
    filter:blur(4px) saturate(.9);
    transform:scale(1.07);
    opacity:.46;
    transition:transform .28s ease, opacity .28s ease;
}
.vtc-home-panel::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:
        linear-gradient(180deg, rgba(7, 12, 21, .16) 0%, rgba(8, 14, 24, .54) 48%, rgba(5, 9, 16, .94) 100%),
        radial-gradient(circle at top right, rgba(94, 148, 236, .20), transparent 34%),
        linear-gradient(135deg, rgba(10, 17, 28, .22), rgba(10, 17, 28, .08));
}
.vtc-home-panel:hover,
.vtc-home-panel:focus-visible{
    transform:translateY(-4px);
    border-color:rgba(124, 170, 246, .34);
    box-shadow:0 28px 60px rgba(2, 8, 23, .32), inset 0 1px 0 rgba(255,255,255,.06);
    background:rgba(11, 19, 31, .76);
}
.vtc-home-panel:hover::before,
.vtc-home-panel:focus-visible::before{
    transform:scale(1.1);
    opacity:.56;
}
.vtc-home-panel:focus-visible{
    outline:2px solid rgba(107, 160, 247, .26);
    outline-offset:3px;
}
.vtc-home-panel--cotacoes::before{
    background-image:url('../landing-page/assets/images/truck.webp');
}
.vtc-home-panel--propostas::before{
    background-image:url('../landing-page/assets/images/hero.webp');
}
.vtc-home-panel--clientes::before{
    background-image:url('../landing-page/assets/images/movement.webp');
}
.vtc-home-panel-kicker{
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin-bottom:auto;
    padding:8px 10px;
    border-radius:999px;
    border:1px solid rgba(160, 187, 227, .14);
    background:rgba(5, 10, 18, .24);
    color:#9ab5df;
    font-size:9px;
    font-weight:800;
    line-height:1;
    letter-spacing:.15em;
    text-transform:uppercase;
}
.vtc-home-panel strong{
    display:block;
    margin:0;
    color:#f4f7fd;
    font-size:clamp(28px, 3vw, 40px);
    line-height:1.02;
    font-weight:760;
    letter-spacing:-.045em;
}
.vtc-home-panel small{
    display:block;
    margin:0;
    color:#d0dbeb;
    font-size:13px;
    line-height:1.32;
    font-weight:520;
}
.vtc-home-panel-cta{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:16px;
    color:#8fb7f5;
    font-size:10.5px;
    font-weight:780;
    letter-spacing:.13em;
    text-transform:uppercase;
}
.vtc-home-panel-cta i{
    font-size:11px;
    transition:transform .22s ease;
}
.vtc-home-panel:hover .vtc-home-panel-cta i,
.vtc-home-panel:focus-visible .vtc-home-panel-cta i{
    transform:translateX(3px);
}
.vtc-home-summary{
    margin:24px auto 0;
    padding:18px 24px 0;
    border-top:1px solid rgba(145,169,204,.16);
    background:linear-gradient(180deg, rgba(8, 14, 24, .14) 0%, rgba(8, 14, 24, 0) 100%);
}
.vtc-home-section-heading{
    margin:0 0 14px;
}
.vtc-home-metrics{
    grid-template-columns:repeat(4, minmax(0,1fr));
    gap:0;
}
.vtc-home-metric{
    padding:14px 18px 14px 0;
}
.vtc-home-metric:not(:first-child){padding-left:18px}
.vtc-home-activity{
    margin-top:6px;
    padding:14px 0 0;
}
@media (max-width:1100px){
    .vtc-home-shell.vtc-home-shell-centered{width:min(100% - 36px, 1024px)}
    .vtc-home-panels{grid-template-columns:1fr;min-height:0}
    .vtc-home-panel{min-height:220px}
}
@media (max-width:700px){
    .vtc-home-shell.vtc-home-shell-centered{width:100%;padding:82px 16px 38px}
    .vtc-home-panels{gap:14px}
    .vtc-home-panel{min-height:200px;padding:20px;border-radius:22px}
    .vtc-home-panel strong{font-size:30px}
    .vtc-home-summary{padding:18px 0 0}
    .vtc-home-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
    .vtc-home-metric:nth-child(2)::after{display:none}
    .vtc-home-metric:nth-child(-n+2){border-bottom:1px solid rgba(145,169,204,.10)}
    .vtc-home-metric:nth-child(3){padding-left:0}
}
@media (prefers-reduced-motion:reduce){
    .vtc-home-panel,.vtc-home-panel::before,.vtc-home-panel-cta i{transition:none!important}
}

/* ============================================================
   HOME DASHBOARD — V13.18.8 (refino visual dos painéis)
   ============================================================ */
.vtc-home-panels{
    gap:20px;
}
.vtc-home-panel{
    justify-content:flex-end;
    padding:30px 28px 26px;
}
.vtc-home-panel::before{
    inset:0;
    filter:none !important;
    transform:scale(1.01);
    opacity:.34;
    background-position:center center;
}
.vtc-home-panel::after{
    background:
        linear-gradient(0deg, rgba(4, 8, 15, .95) 0%, rgba(6, 10, 18, .78) 26%, rgba(7, 12, 21, .36) 52%, rgba(7, 12, 21, .08) 100%),
        linear-gradient(180deg, rgba(48, 89, 153, .08), rgba(48, 89, 153, 0));
}
.vtc-home-panel:hover::before,
.vtc-home-panel:focus-visible::before{
    transform:scale(1.035);
    opacity:.42;
}
.vtc-home-panel--cotacoes::before{
    background-image:url('../landing-page/assets/images/journey/expedicao-transporte.webp');
    background-position:center 40%;
}
.vtc-home-panel--propostas::before{
    background-image:url('../landing-page/assets/images/air.webp');
    background-position:center 48%;
}
.vtc-home-panel--clientes::before{
    background-image:url('../landing-page/assets/images/journey/picking-packing.webp');
    background-position:center center;
}
.vtc-home-panel strong{
    margin-top:auto;
    font-size:clamp(28px, 3.3vw, 44px);
}
.vtc-home-panel small{
    max-width:30ch;
    margin-top:4px;
    color:#f2f6ff;
    font-size:16px;
    line-height:1.38;
    font-weight:500;
    opacity:0;
    transform:translateY(12px);
    transition:opacity .2s ease, transform .24s ease;
    pointer-events:none;
}
.vtc-home-panel:hover small,
.vtc-home-panel:focus-visible small{
    opacity:.92;
    transform:translateY(0);
}
.vtc-home-panel-kicker,
.vtc-home-panel-cta{
    display:none !important;
}
@media (max-width:1100px){
    .vtc-home-panel small{opacity:.9;transform:none;font-size:15px}
}
@media (prefers-reduced-motion:reduce){
    .vtc-home-panel small{transition:none!important}
}

/* ============================================================
   HOME DASHBOARD — V13.18.9 (Pulso da operação)
   ============================================================ */
.vtc-home-pulse{
    margin:26px auto 0;
    padding:20px 0 0;
    border-top:1px solid rgba(145,169,204,.14);
    background:transparent;
}
.home-pulse-topbar{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:18px;
    margin-bottom:14px;
}
.home-pulse-topbar h2{
    margin:4px 0 0;
    color:#e2eaf6;
    font-size:17px;
    line-height:1.2;
    font-weight:680;
    letter-spacing:-.02em;
}
.home-pulse-periods,
.home-pulse-tabs{
    display:flex;
    align-items:center;
    gap:4px;
}
.home-pulse-periods{
    padding:3px;
    border:1px solid rgba(145,169,204,.11);
    border-radius:999px;
    background:rgba(7,14,24,.36);
    transition:opacity .18s ease;
}
.home-pulse-periods.indisponivel{
    opacity:.28;
    pointer-events:none;
}
.home-pulse-periods button,
.home-pulse-tabs button{
    appearance:none;
    border:0;
    background:transparent;
    color:#6f809b;
    cursor:pointer;
    font:inherit;
    transition:color .16s ease,background .16s ease,border-color .16s ease;
}
.home-pulse-periods button{
    min-height:30px;
    padding:0 11px;
    border-radius:999px;
    font-size:10px;
    font-weight:700;
}
.home-pulse-periods button:hover,
.home-pulse-periods button.ativo{
    color:#dce9fb;
    background:rgba(71,124,207,.14);
}
.home-pulse-tabs{
    gap:18px;
    margin-bottom:4px;
    border-bottom:1px solid rgba(145,169,204,.09);
}
.home-pulse-tabs button{
    position:relative;
    min-height:40px;
    padding:0 1px 10px;
    font-size:11px;
    font-weight:720;
}
.home-pulse-tabs button::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-1px;
    height:1px;
    background:#79aaff;
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .18s ease;
}
.home-pulse-tabs button:hover{color:#b8c8de}
.home-pulse-tabs button.ativo{color:#edf4ff}
.home-pulse-tabs button.ativo::after{transform:scaleX(1)}
.home-pulse-content{
    display:grid;
    grid-template-columns:minmax(220px,.72fr) minmax(0,1.8fr);
    gap:34px;
    align-items:end;
    padding:22px 0 2px;
}
.home-pulse-content[hidden],
.home-pulse-clients[hidden]{display:none!important}
.home-pulse-overview{
    min-width:0;
    padding-bottom:20px;
}
.home-pulse-number-wrap{
    display:flex;
    flex-direction:column;
    gap:7px;
}
.home-pulse-number{
    display:block;
    color:#f3f7ff;
    font-size:clamp(40px,4.8vw,62px);
    line-height:.9;
    font-weight:760;
    letter-spacing:-.055em;
    font-variant-numeric:tabular-nums;
}
.home-pulse-number-wrap span{
    color:#9cadc5;
    font-size:11px;
    line-height:1.35;
}
.home-pulse-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px 16px;
    margin-top:16px;
    color:#6f819c;
    font-size:10px;
}
.home-pulse-meta span{white-space:nowrap}
.home-pulse-meta b{
    color:#cbd8e9;
    font-weight:760;
}
.home-pulse-history{
    appearance:none;
    display:inline-flex;
    align-items:center;
    gap:7px;
    margin-top:18px;
    padding:0;
    border:0;
    background:transparent;
    color:#7ea9ed;
    cursor:pointer;
    font-size:9.5px;
    font-weight:760;
    letter-spacing:.05em;
    transition:color .16s ease,gap .16s ease;
}
.home-pulse-history:hover{color:#a8c8fb;gap:10px}
.home-pulse-visual{min-width:0}
.home-pulse-chart{
    position:relative;
    min-height:164px;
    color:#6ea1f4;
    border-bottom:1px solid rgba(145,169,204,.08);
}
.home-pulse-svg{
    position:absolute;
    inset:0 0 22px;
    width:100%;
    height:132px;
    overflow:visible;
}
.home-pulse-area{
    fill:url(#homePulseAreaGradient);
    stroke:none;
}
.home-pulse-line{
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    vector-effect:non-scaling-stroke;
    stroke-linecap:round;
    stroke-linejoin:round;
    filter:drop-shadow(0 4px 10px rgba(55,112,202,.12));
}
.home-pulse-points{
    position:absolute;
    inset:0 0 22px;
}
.home-pulse-point{
    appearance:none;
    position:absolute;
    left:var(--x);
    top:var(--y);
    width:14px;
    height:14px;
    margin:-7px 0 0 -7px;
    padding:0;
    border:3px solid #0a1320;
    border-radius:50%;
    background:#75a8f8;
    cursor:pointer;
    box-shadow:0 0 0 1px rgba(117,168,248,.22);
    transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}
.home-pulse-point span{
    position:absolute;
    left:50%;
    bottom:calc(100% + 8px);
    transform:translateX(-50%) translateY(3px);
    padding:4px 6px;
    border:1px solid rgba(145,169,204,.15);
    border-radius:7px;
    background:#0a1423;
    color:#dbe7f7;
    font-size:9px;
    line-height:1;
    opacity:0;
    pointer-events:none;
    transition:opacity .14s ease,transform .14s ease;
}
.home-pulse-point:hover,
.home-pulse-point:focus-visible,
.home-pulse-point.selecionado{
    transform:scale(1.18);
    box-shadow:0 0 0 4px rgba(117,168,248,.11);
    background:#9fc3ff;
}
.home-pulse-point:hover span,
.home-pulse-point:focus-visible span,
.home-pulse-point.selecionado span{
    opacity:1;
    transform:translateX(-50%) translateY(0);
}
.home-pulse-axis{
    position:absolute;
    left:0;
    right:0;
    bottom:2px;
    display:flex;
    justify-content:space-between;
    color:#50627d;
    font-size:8.5px;
    letter-spacing:.03em;
}
.home-pulse-selected{
    display:flex;
    justify-content:flex-end;
    gap:7px;
    min-height:19px;
    padding-top:8px;
    color:#60738f;
    font-size:9.5px;
}
.home-pulse-selected strong{color:#9db3d0;font-weight:730}
.home-pulse-loading{
    position:absolute;
    left:0;
    right:0;
    bottom:28px;
    height:1px;
    overflow:hidden;
    background:rgba(145,169,204,.08);
}
.home-pulse-loading::after{
    content:"";
    display:block;
    width:30%;
    height:100%;
    background:#6ea1f4;
    animation:homePulseLoading 1.2s ease-in-out infinite;
}
@keyframes homePulseLoading{0%{transform:translateX(-100%)}100%{transform:translateX(430%)}}
.home-pulse-clients{
    display:grid;
    grid-template-columns:minmax(220px,.72fr) minmax(0,1.8fr);
    gap:34px;
    align-items:end;
    padding:24px 0 6px;
}
.home-pulse-client-main{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
}
.home-pulse-client-main>strong{
    color:#f3f7ff;
    font-size:clamp(40px,4.8vw,62px);
    line-height:.9;
    font-weight:760;
    letter-spacing:-.055em;
    font-variant-numeric:tabular-nums;
}
.home-pulse-client-main>span{
    margin-top:8px;
    color:#9cadc5;
    font-size:11px;
}
.home-pulse-client-status{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px 28px;
    align-items:end;
}
.home-pulse-client-status>div:not(.home-pulse-client-progress){
    min-width:0;
    padding-bottom:10px;
}
.home-pulse-client-status span{
    display:block;
    color:#6f819c;
    font-size:9.5px;
}
.home-pulse-client-status strong{
    display:block;
    margin-top:6px;
    color:#dfe9f7;
    font-size:26px;
    line-height:1;
    font-weight:740;
}
.home-pulse-client-progress{
    grid-column:1/-1;
    position:relative;
    height:4px;
    overflow:hidden;
    border-radius:999px;
    background:rgba(145,169,204,.09);
}
.home-pulse-client-progress span{
    width:var(--progress);
    height:100%;
    border-radius:inherit;
    background:linear-gradient(90deg,rgba(91,145,230,.58),#79aaff);
    transition:width .35s ease;
}
@media (max-width:900px){
    .home-pulse-content,.home-pulse-clients{grid-template-columns:1fr;gap:10px}
    .home-pulse-overview{padding-bottom:2px}
    .home-pulse-chart{min-height:150px}
}
@media (max-width:620px){
    .home-pulse-topbar{align-items:flex-start;flex-direction:column;margin-bottom:10px}
    .home-pulse-periods{align-self:flex-start}
    .home-pulse-tabs{gap:15px;overflow-x:auto}
    .home-pulse-content,.home-pulse-clients{padding-top:18px}
    .home-pulse-number,.home-pulse-client-main>strong{font-size:44px}
    .home-pulse-meta{margin-top:12px}
    .home-pulse-visual{margin-top:6px}
    .home-pulse-point{width:16px;height:16px;margin:-8px 0 0 -8px}
    .home-pulse-client-status{gap:14px}
}
@media (prefers-reduced-motion:reduce){
    .home-pulse-periods button,.home-pulse-tabs button,.home-pulse-tabs button::after,.home-pulse-history,.home-pulse-point,.home-pulse-point span,.home-pulse-client-progress span,.home-pulse-loading::after{transition:none!important;animation:none!important}
}

/* ========================================================================== 
   VTCDOCS V13.18.11 — Cotações · topo compacto + trilha discreta
   ========================================================================== */
#tela-cotacao .vtc-page-intro-cotacao{
    max-width:1280px;
    margin:0 auto;
    padding:16px 28px 12px;
    min-height:58px;
    align-items:center;
    border-bottom:1px solid var(--border,var(--vtc-line));
}
#tela-cotacao .vtc-page-intro-cotacao h1{
    margin:0;
    font-size:27px;
    line-height:1;
    letter-spacing:-.035em;
    font-weight:780;
}
#tela-cotacao .cotacao-top-actions{
    margin-left:auto;
    display:flex;
    align-items:center;
    gap:8px;
}
#tela-cotacao .cotacao-preview-checkbox{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    opacity:0!important;
    pointer-events:none!important;
}
#tela-cotacao .cotacao-preview-btn,
#tela-cotacao .cotacao-historico-btn{
    min-height:38px;
    border:1px solid var(--border);
    background:var(--bg-card);
    color:var(--text-muted);
    border-radius:10px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition:background .16s ease,border-color .16s ease,color .16s ease,opacity .16s ease;
}
#tela-cotacao .cotacao-preview-btn{
    width:38px;
    padding:0;
    font-size:14px;
}
#tela-cotacao .cotacao-historico-btn{
    gap:7px;
    padding:0 13px;
    font-size:12px;
    font-weight:650;
}
#tela-cotacao .cotacao-preview-btn:hover:not(:disabled),
#tela-cotacao .cotacao-historico-btn:hover{
    border-color:rgba(var(--accent-rgb),.45);
    color:var(--accent);
    background:rgba(var(--accent-rgb),.07);
}
#tela-cotacao .cotacao-preview-btn.ativa,
#tela-cotacao .cotacao-historico-btn.ativa{
    color:var(--accent);
    border-color:rgba(var(--accent-rgb),.38);
    background:rgba(var(--accent-rgb),.10);
}
#tela-cotacao .cotacao-preview-btn:disabled{
    opacity:.38;
    cursor:not-allowed;
}
#tela-cotacao .workspace{
    height:calc(100vh - 76px);
    min-height:500px;
}
#tela-cotacao #trilhaPassosCotacao{
    width:166px;
    padding:12px 10px;
    gap:3px;
}
#tela-cotacao #trilhaPassosCotacao .trilha-item{
    position:relative;
    padding:9px 9px;
    gap:8px;
}
#tela-cotacao #trilhaPassosCotacao .trilha-label{
    min-width:0;
}
#tela-cotacao #trilhaPassosCotacao .trilha-status-check{
    margin-left:auto;
    width:16px;
    height:16px;
    border-radius:999px;
    display:grid;
    place-items:center;
    flex:0 0 16px;
    font-size:7px;
    color:#22c55e;
    background:rgba(34,197,94,.10);
    opacity:0;
    transform:scale(.72);
    transition:opacity .16s ease,transform .16s ease;
}
#tela-cotacao #trilhaPassosCotacao .trilha-item.completo .trilha-status-check{
    opacity:1;
    transform:scale(1);
}
#tela-cotacao #trilhaPassosCotacao .trilha-item.completo .trilha-numero{
    background:rgba(255,255,255,.7);
    border-color:var(--border);
    color:var(--text-muted);
    animation:none;
}
body.tema-escuro #tela-cotacao #trilhaPassosCotacao .trilha-item.completo .trilha-numero{
    background:rgba(255,255,255,.06);
}
#tela-cotacao #trilhaPassosCotacao .trilha-item.em-vista.completo .trilha-numero{
    background:#fff;
    color:var(--accent);
    border-color:#fff;
}
#tela-cotacao #trilhaPassosCotacao .trilha-item.em-vista .trilha-status-check{
    color:#fff;
    background:rgba(255,255,255,.18);
}
@media(max-width:900px){
    #tela-cotacao .vtc-page-intro-cotacao{padding:72px 16px 12px;min-height:auto}
    #tela-cotacao .vtc-page-intro-cotacao h1{font-size:25px}
}

/* ========================================================================== 
   VTCDOCS V13.18.12 — Cotações · cabeçalho encorpado + status dentro dos cards
   ========================================================================== */
#tela-cotacao .vtc-page-intro-cotacao{
    padding:18px 28px 16px;
    min-height:82px;
    align-items:center;
}
#tela-cotacao .cotacao-page-copy{min-width:0;display:flex;flex-direction:column;gap:5px}
#tela-cotacao .cotacao-page-copy h1{font-size:27px;line-height:1.05}
#tela-cotacao .cotacao-page-copy p{
    margin:0;
    color:var(--text-muted);
    font-size:12px;
    line-height:1.35;
}
#tela-cotacao .cotacao-top-actions{gap:8px;flex-wrap:wrap;justify-content:flex-end}
#tela-cotacao .cotacao-nav-btn{
    min-height:38px;
    border:1px solid var(--border);
    background:var(--bg-card);
    color:var(--text-muted);
    border-radius:10px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:0 13px;
    font-size:12px;
    font-weight:650;
    cursor:pointer;
    white-space:nowrap;
    transition:background .16s ease,border-color .16s ease,color .16s ease,opacity .16s ease;
}
#tela-cotacao .cotacao-nav-btn:hover:not(:disabled){
    border-color:rgba(var(--accent-rgb),.45);
    color:var(--accent);
    background:rgba(var(--accent-rgb),.07);
}
#tela-cotacao .cotacao-nav-btn.ativa{
    color:var(--accent);
    border-color:rgba(var(--accent-rgb),.38);
    background:rgba(var(--accent-rgb),.10);
}
#tela-cotacao .cotacao-nav-btn:disabled{opacity:.38;cursor:not-allowed}
#tela-cotacao .cotacao-preview-btn{width:auto;padding:0 13px;font-size:12px}
#tela-cotacao .workspace{height:calc(100vh - 100px);gap:16px}
#tela-cotacao #painelFormularioCotacao{padding-left:18px}
#tela-cotacao #painelFormularioCotacao>.container{margin:0 auto!important}

#tela-cotacao .cotacao-card-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    margin-bottom:18px;
    border-bottom:1px solid var(--border);
    padding-bottom:14px;
}
#tela-cotacao .cotacao-card-heading{min-width:0;flex:1 1 auto}
#tela-cotacao .cotacao-card-header-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
#tela-cotacao .cotacao-section-check{
    width:20px;
    height:20px;
    border-radius:999px;
    display:grid;
    place-items:center;
    flex:0 0 20px;
    margin-top:2px;
    color:#16a34a;
    background:rgba(34,197,94,.12);
    border:1px solid rgba(34,197,94,.22);
    font-size:8px;
    opacity:0;
    transform:scale(.78);
    transition:opacity .16s ease,transform .16s ease;
}
#tela-cotacao .cotacao-secao-completa .cotacao-section-check{opacity:1;transform:scale(1)}
#tela-cotacao .cotacao-importar-inline{
    min-height:32px;
    padding:0 10px;
    border-radius:8px;
    border:1px solid rgba(var(--accent-rgb),.28);
    background:rgba(var(--accent-rgb),.07);
    color:var(--accent);
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-size:10.5px;
    font-weight:700;
    cursor:pointer;
}
#tela-cotacao .cotacao-importar-inline:hover{background:rgba(var(--accent-rgb),.12);border-color:rgba(var(--accent-rgb),.42)}
#tela-cotacao .cotacao-generalidades-header{margin-bottom:22px}
#tela-cotacao .cotacao-modelos-btn{
    margin:0;
    padding:9px 13px;
    flex-shrink:0;
    background:var(--accent);
    color:#fff;
    border-color:transparent;
}
#tela-cotacao .cotacao-modelos-btn i{color:#fff}

@media(max-width:900px){
    #tela-cotacao .vtc-page-intro-cotacao{padding:72px 16px 14px;min-height:auto;align-items:flex-start;gap:12px}
    #tela-cotacao .cotacao-top-actions{width:100%;justify-content:flex-start}
    #tela-cotacao .cotacao-nav-btn{padding:0 10px;font-size:11px}
    #tela-cotacao #painelFormularioCotacao{padding-left:4px}
    #tela-cotacao .cotacao-card-header{gap:10px}
    #tela-cotacao .cotacao-importar-inline span{display:none}
}

/* ========================================================================== 
   VTCDOCS V13.20.44 — Cotações · dock flutuante limitado ao formulário
   Fica ao fundo da área visível enquanto houver formulário abaixo; ao alcançar
   o último card, repousa no fim do gerador e acompanha a página sem cruzar
   o rodapé institucional. Funciona tanto no painel rolável quanto no mobile.
   ========================================================================== */
#tela-cotacao .cotacao-floating-actions{
    position:sticky;
    bottom: max(12px, env(safe-area-inset-bottom, 0px));
    z-index: 20;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    width:max-content;
    max-width:100%;
    margin:20px auto 12px;
    padding:7px 8px;
    border:1px solid rgba(148,163,184,.18);
    border-radius:16px;
    background:var(--bg-card);
    box-shadow:0 12px 30px rgba(2,6,23,.2),0 1px 0 rgba(255,255,255,.04) inset;
}
#tela-cotacao .cotacao-action-btn{
    border:1px solid var(--border);
    border-radius:11px;
    min-height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:0 15px;
    font:inherit;
    font-size:12px;
    font-weight:700;
    cursor:pointer;
    white-space:nowrap;
    transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease;
}
#tela-cotacao .cotacao-action-import{
    color:var(--text-main);
    background:rgba(255,255,255,.025);
}
#tela-cotacao .cotacao-action-import:hover{
    color:var(--accent);
    border-color:rgba(var(--accent-rgb),.40);
    background:rgba(var(--accent-rgb),.08);
}
#tela-cotacao .cotacao-action-generate{
    min-height:52px;
    padding:0 24px;
    border-color:transparent;
    border-radius:12px;
    background:var(--accent);
    color:#fff;
    font-size:13.5px;
    font-weight:800;
    box-shadow:0 9px 24px rgba(var(--accent-rgb),.32);
}
#tela-cotacao .cotacao-action-generate i{font-size:14px}
#tela-cotacao .cotacao-action-generate:hover{
    transform:translateY(-1px);
    background:var(--accent-hover,#1d4ed8);
    box-shadow:0 12px 28px rgba(var(--accent-rgb),.42);
}
#tela-cotacao .cotacao-action-clear{
    width:44px;
    height:44px;
    min-height:44px;
    padding:0;
    color:var(--text-muted);
    background:transparent;
}
#tela-cotacao .cotacao-action-clear:hover{
    color:#f87171;
    border-color:rgba(239,68,68,.36);
    background:rgba(239,68,68,.08);
}
#tela-cotacao .cotacao-importar-inline{display:none!important}

@media(max-width:620px){
    #tela-cotacao .cotacao-floating-actions{
        gap:6px;
        width:100%;
        padding:6px;
        border-radius:14px;
    }
    #tela-cotacao .cotacao-action-btn{padding:0 12px}
    #tela-cotacao .cotacao-action-import{flex:0 0 auto}
    #tela-cotacao .cotacao-action-generate{flex:1 1 auto;min-width:0;padding:0 14px}
    #tela-cotacao .cotacao-action-clear{flex:0 0 44px;padding:0}
}


/* ==========================================================================
   VTCDOCS V13.18.14 — Cotações · retorno contextual no cabeçalho
   ========================================================================== */
#tela-cotacao .cotacao-title-line{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
}
#tela-cotacao .cotacao-back-btn{
    width:36px;
    height:36px;
    flex:0 0 36px;
    display:grid;
    place-items:center;
    padding:0;
    border:1px solid var(--border);
    border-radius:10px;
    background:var(--bg-card);
    color:var(--text-muted);
    cursor:pointer;
    font-size:13px;
    transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease;
}
#tela-cotacao .cotacao-back-btn:hover{
    color:var(--accent);
    border-color:rgba(var(--accent-rgb),.42);
    background:rgba(var(--accent-rgb),.08);
    transform:translateX(-1px);
}
#tela-cotacao .cotacao-back-btn:focus-visible{
    outline:2px solid rgba(var(--accent-rgb),.55);
    outline-offset:2px;
}
@media(max-width:900px){
    #tela-cotacao .cotacao-title-line{gap:8px}
    #tela-cotacao .cotacao-back-btn{width:34px;height:34px;flex-basis:34px}
}

/* ============================================================
   LEADS / CAIXA DE ENTRADA COMERCIAL — V13.18.17
   ============================================================ */
.vtc-home-panels{grid-template-columns:repeat(4,minmax(0,1fr));min-height:clamp(300px,48vh,450px)}
.vtc-home-panel{min-height:clamp(300px,48vh,450px)}
.vtc-home-panel--leads::before{background-image:url('../landing-page/assets/images/journey/recebimento.webp');background-position:center 44%}
.vtc-home-panel-badge{position:absolute;top:18px;right:18px;z-index:3;display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:0 10px;border:1px solid rgba(96,165,250,.26);border-radius:999px;background:rgba(8,18,34,.72);backdrop-filter:blur(8px);color:#92bbff;font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.vtc-home-panel-badge[hidden]{display:none!important}

.lead-inbox-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px;padding:0 2px}
.lead-inbox-head>div>span{display:block;color:#6f91c6;font-size:8.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.lead-inbox-head h3{margin:5px 0 4px;color:var(--text-main);font-size:22px;letter-spacing:-.03em}
.lead-inbox-head p{margin:0;color:var(--text-muted);font-size:11px}
.lead-inbox-toolbar{align-items:center;gap:12px;flex-wrap:wrap}
.lead-inbox-toolbar .lead-search{min-width:min(100%,340px);flex:1 1 280px}
.lead-status-filters{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.lead-status-filters button{appearance:none;min-height:34px;padding:0 11px;border:1px solid var(--border);border-radius:999px;background:var(--bg-card);color:var(--text-muted);font-size:9.5px;font-weight:760;cursor:pointer;transition:.16s ease}
.lead-status-filters button:hover{border-color:rgba(79,141,247,.35);color:var(--text-main)}
.lead-status-filters button.is-active{border-color:rgba(79,141,247,.4);background:rgba(37,99,235,.12);color:#7eafff}
.lead-inbox-table{min-width:980px}
.lead-inbox-table th:last-child,.lead-inbox-table td:last-child{text-align:right;width:112px}
.lead-inbox-row.is-new{background:linear-gradient(90deg,rgba(37,99,235,.07),transparent 22%)}
.lead-inbox-row.is-new td:first-child{box-shadow:inset 2px 0 0 #4f8df7}
.lead-inbox-company,.lead-inbox-contact{display:flex;flex-direction:column;gap:3px;min-width:0}
.lead-inbox-company strong,.lead-inbox-contact strong{color:var(--text-main);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}
.lead-inbox-company small,.lead-inbox-contact small{color:var(--text-muted);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}
.lead-inbox-need{display:block;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-main)}
.lead-inbox-status{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:0 8px;border-radius:999px;font-size:8.5px;font-weight:800;white-space:nowrap}
.lead-inbox-status::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}
.lead-inbox-status.is-novo{background:rgba(37,99,235,.12);color:#6ea6ff}
.lead-inbox-status.is-em-analise{background:rgba(245,158,11,.11);color:#f2b84e}
.lead-inbox-status.is-qualificado{background:rgba(16,185,129,.1);color:#47c998}
.lead-inbox-status.is-nao-aderente{background:rgba(239,68,68,.10);color:#f17878}
.lead-inbox-open{appearance:none;border:0;background:transparent;color:#79aaff;font-size:9.5px;font-weight:800;cursor:pointer;white-space:nowrap}
.lead-inbox-open i{margin-left:5px;font-size:8px;transition:transform .16s ease}
.lead-inbox-open:hover i{transform:translateX(2px)}

.lead-start-analysis{min-height:38px!important;padding-inline:15px!important}
.lead-contact-action:disabled{opacity:.38;cursor:not-allowed}
.lead-inbox-ficha{display:grid;gap:14px}
.lead-inbox-ficha-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(145deg,rgba(37,99,235,.08),rgba(17,24,39,.02))}
.lead-inbox-source{display:inline-flex;align-items:center;gap:7px;color:#7295ca;font-size:8.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.lead-inbox-ficha-hero h2{margin:9px 0 5px;color:var(--text-main);font-size:28px;line-height:1.05;letter-spacing:-.04em}
.lead-inbox-ficha-hero p{margin:0;color:var(--text-muted);font-size:10.5px}
.lead-inbox-ficha-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.lead-inbox-card{min-width:0;padding:18px;border:1px solid var(--border);border-radius:16px;background:var(--bg-card)}
.lead-inbox-card--wide{padding:20px}
.lead-inbox-card-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px;color:#7086a5}
.lead-inbox-card-title span{font-size:8px;font-weight:850;letter-spacing:.13em}
.lead-inbox-card-title i{font-size:12px;color:#5f8dd3}
.lead-inbox-primary{display:block;color:var(--text-main);font-size:18px;line-height:1.15;letter-spacing:-.025em}
.lead-inbox-lines{display:grid;gap:8px;margin-top:14px}
.lead-inbox-lines span{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:10.5px;min-width:0;overflow-wrap:anywhere}
.lead-inbox-lines i{width:14px;color:#6785af}
.lead-inbox-lines b{min-width:58px;color:#7b8da7;font-size:8px;text-transform:uppercase;letter-spacing:.06em}
.lead-inbox-need-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.lead-inbox-need-grid>div{min-width:0;padding:12px;border-radius:11px;background:var(--bg-subtle)}
.lead-inbox-need-grid small,.lead-inbox-summary small,.lead-inbox-package-head small,.lead-inbox-measures small,.lead-inbox-requirements>small{display:block;margin-bottom:5px;color:var(--text-muted);font-size:8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.lead-inbox-need-grid strong{display:block;color:var(--text-main);font-size:11px;line-height:1.45;overflow-wrap:anywhere}
.lead-inbox-summary{margin-top:12px;padding:14px;border:1px solid var(--border);border-radius:12px;background:rgba(37,99,235,.035)}
.lead-inbox-summary p{margin:0;color:var(--text-main);font-size:11px;line-height:1.6;white-space:pre-wrap}
.lead-inbox-package-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:13px}
.lead-inbox-package-head strong{display:block;color:var(--text-main);font-size:15px}
.lead-inbox-package-head>div>span{display:block;margin-top:4px;color:var(--text-muted);font-size:9px}
.lead-inbox-package-note{display:inline-flex;align-items:center;gap:7px;max-width:300px;padding:8px 10px;border:1px solid rgba(96,165,250,.16);border-radius:10px;background:rgba(37,99,235,.06);color:#7994bb;font-size:9px;line-height:1.35}
.lead-inbox-measures{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.lead-inbox-measures>div{padding:12px;border-radius:11px;background:var(--bg-subtle)}
.lead-inbox-measures strong{display:block;color:var(--text-main);font-size:14px}
.lead-inbox-requirements{margin-top:14px}
.lead-inbox-requirements>div{display:flex;gap:7px;flex-wrap:wrap}
.lead-inbox-requirements span{display:inline-flex;align-items:center;min-height:27px;padding:0 9px;border:1px solid rgba(96,165,250,.16);border-radius:999px;background:rgba(37,99,235,.055);color:#8ba9d1;font-size:8.5px;font-weight:750}
.lead-inbox-requirements em{color:var(--text-muted);font-size:9.5px;font-style:normal}

@media(max-width:1180px){.vtc-home-panels{grid-template-columns:repeat(2,minmax(0,1fr));min-height:0}.vtc-home-panel{min-height:260px}}
@media(max-width:760px){.vtc-home-panels{grid-template-columns:1fr}.lead-inbox-head{align-items:flex-start;flex-direction:column}.lead-inbox-ficha-grid,.lead-inbox-need-grid{grid-template-columns:1fr}.lead-inbox-ficha-hero,.lead-inbox-package-head{flex-direction:column}.lead-inbox-measures{grid-template-columns:repeat(2,minmax(0,1fr))}.lead-status-filters{width:100%;overflow:auto;flex-wrap:nowrap;padding-bottom:3px}.lead-status-filters button{flex:0 0 auto}}

/* V13.19.2 — Leads Kanban CRM compacto, pan horizontal e colunas vazias recolhidas */
.lead-kanban-view-shell{min-width:0}
.lead-kanban-head{align-items:flex-end}
.lead-kanban-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 16px}
.lead-kanban-toolbar .lead-search{flex:1 1 280px;max-width:520px}
.lead-view-switch{display:inline-flex;align-items:center;padding:3px;border:1px solid var(--border);border-radius:12px;background:var(--bg-subtle)}
.lead-view-switch button{border:0;background:transparent;color:var(--text-muted);padding:9px 13px;border-radius:9px;font-size:11px;font-weight:800;cursor:pointer}
.lead-view-switch button.is-active{background:#1d4ed8;color:#fff;box-shadow:0 6px 16px rgba(29,78,216,.22)}
.lead-kanban-view{overflow:hidden}
.lead-kanban-board{display:flex;gap:12px;align-items:flex-start;overflow-x:auto;overflow-y:hidden;padding:12px 12px 20px;scrollbar-width:thin;min-height:0;cursor:grab;touch-action:pan-y;user-select:none;scroll-behavior:auto}
.lead-kanban-board.is-panning{cursor:grabbing}
.lead-kanban-board.is-panning *{cursor:grabbing!important}
.lead-kanban-column{flex:0 0 224px;min-width:224px;border:1px solid var(--border);border-radius:14px;background:rgba(15,23,42,.56);overflow:visible;transition:flex-basis .18s ease,min-width .18s ease,border-color .18s ease,background .18s ease}
.lead-kanban-column-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:7px;padding:10px 10px 9px;border-bottom:1px solid var(--border);min-height:39px}
.lead-kanban-column-title{display:flex;align-items:center;gap:7px;min-width:0}
.lead-kanban-column-title i{width:7px;height:7px;border-radius:50%;background:var(--stage-color,#60a5fa);box-shadow:0 0 0 3px color-mix(in srgb,var(--stage-color,#60a5fa) 16%,transparent);flex:0 0 auto}
.lead-kanban-column-title strong{font-size:10.5px;color:var(--primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lead-kanban-column-count{font:700 8px "Roboto Mono",monospace;color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border);border-radius:999px;padding:3px 6px;flex:0 0 auto}
.lead-kanban-column-body{display:grid;gap:7px;padding:8px;min-height:60px;align-content:start}
.lead-kanban-column.is-drag-over{background:rgba(59,130,246,.07);border-color:rgba(96,165,250,.38)}
.lead-kanban-column.is-empty{min-height:0;overflow:visible}
.lead-kanban-column.is-empty .lead-kanban-column-head{min-height:39px;padding:10px;border-bottom:0}
.lead-kanban-column.is-empty .lead-kanban-column-title{gap:7px;overflow:hidden}
.lead-kanban-column.is-empty .lead-kanban-column-title strong{overflow:hidden;text-overflow:ellipsis}
.lead-kanban-column.is-empty .lead-kanban-column-title i{display:block}
.lead-kanban-column.is-empty .lead-kanban-column-body{display:none;min-height:0;padding:0}
.lead-kanban-column.is-empty.is-drag-over{overflow:visible;border-color:rgba(96,165,250,.38);background:rgba(59,130,246,.07)}
.lead-kanban-column.is-empty.is-drag-over .lead-kanban-column-head{min-height:39px;padding:10px;border-bottom:1px solid var(--border)}
.lead-kanban-column.is-empty.is-drag-over .lead-kanban-column-title{transform:none}
.lead-kanban-column.is-empty.is-drag-over .lead-kanban-column-title i{display:block}
.lead-kanban-column.is-empty.is-drag-over .lead-kanban-column-body{display:grid;min-height:54px;padding:8px}
.lead-kanban-card{position:relative;display:grid;gap:5px;padding:10px;border:1px solid rgba(148,163,184,.15);border-radius:11px;background:#101b2b;box-shadow:0 5px 16px rgba(0,0,0,.13);cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;user-select:none}
.lead-kanban-card:hover{transform:translateY(-1px);border-color:rgba(96,165,250,.42);box-shadow:0 8px 20px rgba(0,0,0,.18)}
.lead-kanban-card.is-dragging{opacity:.45;transform:rotate(1deg)}
.lead-card-top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:5px}
.lead-kanban-card h4{margin:0;color:#f8fafc;font-size:11.5px;line-height:1.2;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lead-card-segment{color:#94a3b8;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lead-card-meta{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;padding-top:5px;border-top:1px solid rgba(148,163,184,.09)}
.lead-card-owner,.lead-card-age{display:flex;align-items:center;gap:4px;color:#8191a6;font-size:8.8px;min-width:0;white-space:nowrap}
.lead-card-owner{overflow:hidden;text-overflow:ellipsis}.lead-card-owner i,.lead-card-age i{font-size:8px;flex:0 0 auto}
.lead-kanban-card.is-overdue .lead-card-age{color:#fbbf24;font-weight:800}
.lead-card-actions{position:relative;z-index:4}
.lead-card-menu-button{display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;border-radius:7px;background:transparent;color:#718399;cursor:pointer;transition:.15s ease}
.lead-card-menu-button:hover,.lead-card-actions.is-open .lead-card-menu-button{background:rgba(148,163,184,.1);color:#e5edf5}
.lead-card-menu{position:absolute;z-index:15;top:27px;right:0;display:none;min-width:132px;padding:5px;border:1px solid rgba(148,163,184,.18);border-radius:9px;background:#0a1422;box-shadow:0 16px 34px rgba(0,0,0,.38)}
.lead-card-actions.is-open .lead-card-menu{display:block}
.lead-card-menu button{width:100%;display:flex;align-items:center;gap:7px;padding:8px 9px;border:0;border-radius:6px;background:transparent;color:#fca5a5;font-size:9.5px;text-align:left;cursor:pointer;white-space:nowrap}
.lead-card-menu button:hover{background:rgba(239,68,68,.1);color:#fecaca}
.lead-converted-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
@media(max-width:760px){.lead-kanban-column{flex-basis:214px;min-width:214px}.lead-kanban-toolbar{align-items:stretch}}

/* V13.19.0 — configuração do funil */
.lead-funnel-config-dialog{width:min(920px,94vw);max-height:88vh}
.lead-stage-config-list{display:grid;gap:8px;margin-bottom:18px}
.lead-stage-config-row{display:grid;grid-template-columns:auto minmax(140px,1fr) 92px 92px auto;gap:9px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--bg-subtle)}
.lead-stage-config-row .lead-stage-dot{width:10px;height:10px;border-radius:50%;background:var(--stage-color,#60a5fa)}
.lead-stage-config-row strong{font-size:11px;color:var(--primary)}
.lead-stage-config-row small{font-size:9px;color:var(--text-muted)}
.lead-stage-config-actions{display:flex;gap:5px;justify-content:flex-end}
.lead-stage-config-actions button{width:32px;height:32px;border:1px solid var(--border);border-radius:9px;background:var(--bg-card);color:var(--text-muted);cursor:pointer}
.lead-stage-config-actions button:disabled{opacity:.35;cursor:not-allowed}
.lead-stage-create{display:grid;grid-template-columns:minmax(160px,1fr) 80px 150px auto;gap:10px;align-items:end;padding-top:16px;border-top:1px solid var(--border)}
.lead-stage-create label{display:grid;gap:6px}.lead-stage-create label>span{font-size:9px;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}
.lead-stage-create input{width:100%;min-height:42px;border:1px solid var(--border);border-radius:10px;background:var(--bg-card);color:var(--primary);padding:9px 10px}
.lead-input-suffix{display:grid;grid-template-columns:1fr auto;align-items:center;border:1px solid var(--border);border-radius:10px;background:var(--bg-card);padding-right:9px}.lead-input-suffix input{border:0;background:transparent}.lead-input-suffix small{color:var(--text-muted)}

/* V13.19.0 — ficha progressiva */
.lead-ficha-modal-overlay{position:fixed;inset:0;z-index:120000;display:flex;align-items:center;justify-content:center;padding:22px;background:rgba(2,6,15,.78);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.lead-ficha-modal-card{width:min(1180px,96vw);height:min(900px,94vh);display:flex;flex-direction:column;border:1px solid rgba(148,163,184,.18);border-radius:24px;background:#0b1422;color:#e5edf5;box-shadow:0 38px 120px rgba(0,0,0,.55);overflow:hidden}
.lead-ficha-modal-header{display:flex;justify-content:space-between;gap:20px;padding:22px 24px 16px;border-bottom:1px solid rgba(148,163,184,.13);background:linear-gradient(180deg,#101d2e,#0b1422)}
.lead-ficha-stage-badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:rgba(59,130,246,.13);color:#93c5fd;font:800 8px "Roboto Mono",monospace;letter-spacing:.08em;text-transform:uppercase}
.lead-ficha-modal-header h2{margin:8px 0 4px;color:#fff;font-size:25px;letter-spacing:-.035em}.lead-ficha-modal-header p{margin:0;color:#8fa2b6;font-size:11px}.lead-ficha-close{width:38px;height:38px;border:1px solid rgba(148,163,184,.18);border-radius:11px;background:#111d2d;color:#cbd5e1;cursor:pointer}
.lead-ficha-modal-actions{display:flex;gap:8px;flex-wrap:wrap;padding:12px 24px;border-bottom:1px solid rgba(148,163,184,.11);background:#0a1320}
.lead-ficha-modal-body{flex:1;overflow:auto;padding:20px 24px 28px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-content:start}
.lead-progressive-section{border:1px solid rgba(148,163,184,.14);border-radius:16px;background:#101b2a;padding:16px;min-width:0}.lead-progressive-section.is-wide{grid-column:1/-1}
.lead-progressive-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.lead-progressive-section-head span{font:800 8px "Roboto Mono",monospace;color:#60a5fa;letter-spacing:.08em;text-transform:uppercase}.lead-progressive-section-head h3{margin:3px 0 0;font-size:15px;color:#f8fafc}.lead-progressive-edit{border:0;background:transparent;color:#8fbfff;font-size:10px;font-weight:800;cursor:pointer}
.lead-progressive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.lead-progressive-field{min-width:0;padding:9px 10px;border-radius:10px;background:#0b1522}.lead-progressive-field.is-wide{grid-column:1/-1}.lead-progressive-field small{display:block;margin-bottom:4px;color:#6f849a;font-size:8px;text-transform:uppercase;font-weight:800}.lead-progressive-field strong,.lead-progressive-field span{display:block;color:#dce7f2;font-size:11px;line-height:1.45;overflow-wrap:anywhere}.lead-progressive-tags{display:flex;flex-wrap:wrap;gap:6px}.lead-progressive-tags span{padding:5px 7px;border:1px solid rgba(96,165,250,.2);border-radius:999px;background:rgba(59,130,246,.08);font-size:9px;color:#b8d8ff}
.lead-ficha-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;grid-column:1/-1}.lead-ficha-status-grid>div{padding:10px 12px;border:1px solid rgba(148,163,184,.12);border-radius:12px;background:#0d1724}.lead-ficha-status-grid small{display:block;color:#71879b;font-size:8px;text-transform:uppercase;font-weight:800}.lead-ficha-status-grid strong{display:block;margin-top:4px;color:#fff;font-size:11px}
.lead-interaction-box{display:grid;gap:9px}.lead-interaction-box textarea{width:100%;min-height:78px;border:1px solid rgba(148,163,184,.18);border-radius:11px;background:#0a1320;color:#eef4fa;padding:11px;resize:vertical}.lead-interaction-actions{display:flex;justify-content:flex-end}.lead-interaction-history{display:grid;gap:7px;margin-top:10px}.lead-interaction-history article{padding:9px 10px;border-left:2px solid rgba(96,165,250,.45);background:#0b1522;border-radius:0 9px 9px 0}.lead-interaction-history small{color:#71879b;font-size:8px}.lead-interaction-history p{margin:3px 0 0;color:#c4d1de;font-size:10px;line-height:1.45}
.lead-ficha-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px 24px;border-top:1px solid rgba(148,163,184,.13);background:#08111c}.lead-qualification-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lead-qualification-actions>span{color:#71879b;font-size:8px;text-transform:uppercase;font-weight:900;letter-spacing:.08em}.lead-action-qualify{border-color:rgba(52,211,153,.3)!important;color:#6ee7b7!important}.lead-convert-client{background:#0f8a63!important;box-shadow:0 10px 26px rgba(15,138,99,.2)!important}.lead-convert-client[hidden]{display:none!important}
.lead-modal-note{margin:0 0 16px;color:var(--text-muted);font-size:11px;line-height:1.55}.lead-danger-primary{background:#b91c1c!important}

/* V13.19.0 — conversão celebrada */
.lead-conversion-success{position:fixed;inset:0;z-index:140000;display:grid;place-items:center;padding:20px;background:rgba(2,6,15,.84);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.lead-conversion-success[hidden]{display:none}
.lead-conversion-success-card{position:relative;z-index:2;width:min(560px,94vw);padding:38px 34px;border:1px solid rgba(52,211,153,.24);border-radius:24px;background:linear-gradient(145deg,#10263a,#091522 72%);box-shadow:0 38px 120px rgba(0,0,0,.55);text-align:center;color:#fff}.lead-conversion-success-icon{display:grid;place-items:center;width:60px;height:60px;margin:0 auto 18px;border-radius:50%;background:#10b981;font-size:23px}.lead-conversion-success-card>span{font:800 8px "Roboto Mono",monospace;color:#6ee7b7;letter-spacing:.12em}.lead-conversion-success-card h2{margin:12px 0;font-size:32px;line-height:1.03;letter-spacing:-.04em}.lead-conversion-success-card p{margin:0 auto;max-width:440px;color:#9fb1c2;font-size:12px;line-height:1.6}.lead-conversion-success-actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:24px}
.lead-confetti-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none}.lead-confetti-piece{position:absolute;left:var(--x);top:-5%;width:8px;height:14px;border-radius:2px;background:hsl(var(--hue) 82% 58%);transform:rotate(var(--rot));animation:lead-confetti-fall var(--dur) cubic-bezier(.2,.8,.35,1) forwards;animation-delay:var(--delay)}@keyframes lead-confetti-fall{to{transform:translate3d(var(--drift),108vh,0) rotate(calc(var(--rot) + 560deg));opacity:.15}}
@media(prefers-reduced-motion:reduce){.lead-confetti-piece{display:none!important;animation:none!important}}
.lead-converted-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--bg-card)}.lead-converted-card>div:first-child>span{font:800 8px "Roboto Mono",monospace;color:#34d399;letter-spacing:.08em}.lead-converted-card h4{margin:5px 0 3px;color:var(--primary)}.lead-converted-card p{margin:0;color:var(--text-muted);font-size:10px}.lead-converted-meta{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:9px}
@media(max-width:820px){.lead-stage-create{grid-template-columns:1fr 90px 130px}.lead-stage-create>.btn-primary{grid-column:1/-1}.lead-ficha-modal-body{grid-template-columns:1fr}.lead-progressive-section.is-wide{grid-column:auto}.lead-ficha-status-grid{grid-template-columns:repeat(2,1fr)}.lead-ficha-modal-footer{align-items:stretch;flex-direction:column}.lead-convert-client{width:100%}}
@media(max-width:560px){.lead-ficha-modal-overlay{padding:0}.lead-ficha-modal-card{width:100%;height:100%;border-radius:0}.lead-progressive-grid,.lead-ficha-status-grid{grid-template-columns:1fr}.lead-stage-config-row{grid-template-columns:auto 1fr auto}.lead-stage-config-row>small{display:none}.lead-stage-create{grid-template-columns:1fr 80px}.lead-stage-create label:nth-child(3){grid-column:1/-1}}


/* V13.19.3 — Kanban limpo, configuração inline e colunas recolhidas na altura */
.lead-kanban-view{overflow:hidden;padding:0 2px 6px}
.lead-kanban-toolbar--clean{margin-bottom:6px}
.lead-stage-drag-handle,.lead-stage-menu-button{display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;border-radius:7px;background:transparent;color:#718399;cursor:grab}
.lead-stage-drag-handle:active{cursor:grabbing}.lead-stage-drag-placeholder{width:24px;height:24px;display:block}
.lead-stage-actions{position:relative;z-index:8}.lead-stage-menu-button{cursor:pointer}.lead-stage-menu-button:hover,.lead-stage-actions.is-open .lead-stage-menu-button,.lead-stage-drag-handle:hover{background:rgba(148,163,184,.1);color:#e5edf5}
.lead-stage-menu{position:absolute;z-index:30;top:28px;right:0;display:none;min-width:170px;padding:5px;border:1px solid rgba(148,163,184,.18);border-radius:9px;background:#0a1422;box-shadow:0 16px 34px rgba(0,0,0,.38)}
.lead-stage-actions.is-open .lead-stage-menu{display:block}.lead-stage-menu button{width:100%;display:flex;align-items:center;gap:7px;padding:8px 9px;border:0;border-radius:6px;background:transparent;color:#cbd5e1;font-size:9.5px;text-align:left;cursor:pointer;white-space:nowrap}.lead-stage-menu button:hover{background:rgba(148,163,184,.09);color:#fff}.lead-stage-menu button.is-danger{color:#fca5a5}.lead-stage-menu button.is-danger:hover{background:rgba(239,68,68,.1);color:#fecaca}
.lead-column-new-button{width:100%;display:flex;align-items:center;justify-content:center;gap:7px;min-height:36px;border:1px dashed rgba(96,165,250,.34);border-radius:9px;background:rgba(59,130,246,.06);color:#93c5fd;font-size:9.5px;font-weight:800;cursor:pointer}.lead-column-new-button:hover{background:rgba(59,130,246,.12);border-color:rgba(96,165,250,.55);color:#dbeafe}
.lead-kanban-column.is-empty.has-new-action .lead-kanban-column-body{display:grid;min-height:0;padding:8px}
.lead-kanban-column.is-stage-drop-target{border-color:rgba(96,165,250,.55);box-shadow:0 0 0 2px rgba(59,130,246,.10)}.lead-kanban-column.is-stage-dragging{opacity:.48}
.lead-card-menu button{color:#cbd5e1}.lead-card-menu button:hover{background:rgba(148,163,184,.09);color:#fff}.lead-card-menu button.is-danger{color:#fca5a5}.lead-card-menu button.is-danger:hover{background:rgba(239,68,68,.1);color:#fecaca}
.lead-ficha-modal-overlay.lead-final-approval-mode .lead-ficha-modal-actions,.lead-ficha-modal-overlay.lead-final-approval-mode .lead-qualification-actions{display:none}
.lead-ficha-modal-overlay.lead-final-approval-mode .lead-ficha-modal-footer{justify-content:flex-end}.lead-ficha-modal-overlay.lead-final-approval-mode .lead-convert-client{min-width:300px;min-height:52px}

/* ============================================================
   HOME DASHBOARD — V13.19.22 (Indicadores + alinhamento dos cards)
   ============================================================ */
.vtc-home-panels{
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:18px;
    min-height:clamp(300px,48vh,450px);
}
.vtc-home-panel{
    min-width:0;
    min-height:clamp(300px,48vh,450px);
    padding:28px 24px 24px;
}
.vtc-home-panel--indicadores::before{
    background-image:url('../landing-page/assets/images/fleet.webp');
    background-position:center 50%;
}
.vtc-home-panel strong{
    width:100%;
    margin-top:auto;
    min-height:1.08em;
    font-size:clamp(26px,2.35vw,36px);
    line-height:1.08;
    display:flex;
    align-items:flex-end;
}
.vtc-home-panel small{
    width:100%;
    max-width:none;
    height:80px;
    margin-top:8px;
    overflow:hidden;
    font-size:14px;
    line-height:1.4;
}
@media(max-width:1180px){
    .vtc-home-panels{grid-template-columns:repeat(2,minmax(0,1fr));min-height:0}
    .vtc-home-panel{min-height:260px}
    .vtc-home-panel strong{font-size:clamp(28px,4vw,36px)}
    .vtc-home-panel small{height:60px}
}
@media(max-width:760px){
    .vtc-home-panels{grid-template-columns:1fr}
    .vtc-home-panel{min-height:210px;padding:22px 20px}
    .vtc-home-panel strong{font-size:30px}
    .vtc-home-panel small{height:auto;min-height:0;font-size:14px}
}



/* ============================================================
   PRECIFICAÇÃO — V13.20.0
   ============================================================ */
.prec-page{min-height:100vh;background:var(--bg-page,#07111f);color:var(--text-main,#e8eef8)}
.prec-shell{width:min(1480px,calc(100% - 72px));margin:0 auto;padding:44px 0 64px}
.prec-header{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:24px}
.prec-header-copy{max-width:850px}.prec-header-copy .btn-voltar-dash{margin-bottom:24px}.prec-eyebrow{display:block;color:#6fa8ff;font-size:10px;font-weight:850;letter-spacing:.15em;text-transform:uppercase}.prec-header h1{margin:7px 0 8px;color:#f8fbff;font-size:34px;letter-spacing:-.035em}.prec-header p{margin:0;color:#9db0c8;font-size:14px;line-height:1.55}.prec-flow-chip{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid rgba(96,165,250,.22);border-radius:12px;background:rgba(59,130,246,.06);color:#a9c7ef;font-size:11px;white-space:nowrap}.prec-flow-chip i{color:#60a5fa}.prec-flow-chip b{color:#dbeafe}
.prec-tabs{display:flex;gap:5px;padding:5px;margin-bottom:20px;border:1px solid rgba(148,163,184,.13);border-radius:13px;background:#0a1524;overflow-x:auto}.prec-tab{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:0;border-radius:9px;background:transparent;color:#8fa3bd;font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap}.prec-tab:hover{background:rgba(148,163,184,.07);color:#d8e2ef}.prec-tab.is-active{background:#17263a;color:#fff;box-shadow:inset 0 0 0 1px rgba(96,165,250,.18)}.prec-tab i{color:#72aaf8}.prec-tab-soon{padding:3px 6px;border-radius:99px;background:rgba(245,158,11,.09);color:#f7bf62;font-size:7px;letter-spacing:.04em;text-transform:uppercase}
.prec-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:20px;align-items:start}.prec-form-stack{display:grid;gap:14px}.prec-card,.prec-result-card,.prec-table-card,.prec-future-card{border:1px solid rgba(148,163,184,.13);border-radius:16px;background:linear-gradient(180deg,#0d1929,#0a1422);box-shadow:0 14px 34px rgba(0,0,0,.12)}.prec-card{padding:20px}.prec-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.prec-card-head>div{display:flex;align-items:center;gap:10px}.prec-card-head>div>span{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:rgba(59,130,246,.10);color:#79b0ff;font-size:9px;font-weight:900}.prec-card-head h2{margin:0;color:#f2f7ff;font-size:15px}.prec-card-head small{max-width:310px;color:#70859f;font-size:9.5px;line-height:1.4;text-align:right}
.prec-form-grid{display:grid;gap:13px}.prec-form-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.prec-form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.prec-form-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.prec-field{position:relative;display:flex;flex-direction:column;gap:7px;min-width:0}.prec-field>span{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#91a5be;font-size:9.5px;font-weight:800;letter-spacing:.025em}.prec-field>span em{color:#63768f;font-size:8px;font-style:normal;font-weight:600}.prec-field input,.prec-field select,.prec-history-search input{width:100%;box-sizing:border-box;min-height:40px;padding:0 11px;border:1px solid #263850;border-radius:9px;outline:0;background:#071321;color:#e7eef8;font:600 11px Inter,system-ui,sans-serif;transition:border-color .15s,box-shadow .15s}.prec-field input:focus,.prec-field select:focus,.prec-history-search input:focus{border-color:#4d83c8;box-shadow:0 0 0 3px rgba(59,130,246,.10)}.prec-inline-link{margin-left:auto;padding:0;border:0;background:none;color:#65a3fa;font-size:8px;font-weight:800;cursor:pointer}.prec-input-prefix,.prec-input-suffix{display:flex;align-items:center;border:1px solid #263850;border-radius:9px;background:#071321;overflow:hidden}.prec-input-prefix:focus-within,.prec-input-suffix:focus-within{border-color:#4d83c8;box-shadow:0 0 0 3px rgba(59,130,246,.10)}.prec-input-prefix b,.prec-input-suffix b{padding:0 10px;color:#667d99;font-size:9px}.prec-input-prefix input,.prec-input-suffix input{border:0!important;border-radius:0;box-shadow:none!important}.prec-field-highlight>span{color:#9bc3ff}.prec-field-highlight .prec-input-suffix{border-color:rgba(59,130,246,.42);background:rgba(59,130,246,.06)}.prec-route-action{justify-content:flex-end}.prec-route-btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border:1px solid rgba(96,165,250,.25);border-radius:9px;background:rgba(59,130,246,.09);color:#b7d4fb;font-size:10px;font-weight:850;cursor:pointer}.prec-route-btn:hover{background:rgba(59,130,246,.15)}.prec-route-btn:disabled{opacity:.58;cursor:wait}.prec-address-list{position:absolute;z-index:500;top:calc(100% + 5px);left:0;right:0;padding:5px;border:1px solid #2c405b;border-radius:10px;background:#0a1626;box-shadow:0 18px 38px rgba(0,0,0,.45)}.prec-address-list button{display:block;width:100%;padding:9px 10px;border:0;border-radius:7px;background:transparent;color:#cbd8e8;font-size:9.5px;text-align:left;cursor:pointer}.prec-address-list button:hover{background:rgba(96,165,250,.10);color:#fff}.prec-check{display:flex;align-items:center;gap:10px;margin-top:14px;padding:11px 12px;border:1px solid rgba(148,163,184,.10);border-radius:10px;background:rgba(148,163,184,.035);cursor:pointer}.prec-check input{accent-color:#3b82f6}.prec-check span{display:flex;flex-direction:column;gap:2px}.prec-check strong{color:#cfdbea;font-size:10px}.prec-check small{color:#6f829a;font-size:8.5px}.prec-formula-note{display:flex;gap:8px;margin-top:14px;padding:10px 11px;border-radius:9px;background:rgba(56,189,248,.055);color:#7894b4;font-size:8.5px;line-height:1.45}.prec-formula-note i{color:#5aa4ed;margin-top:2px}.prec-formula-note b{color:#aec9e9}
.prec-result-card{position:sticky;top:20px;padding:18px}.prec-result-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;color:#7087a2;font-size:8px;font-weight:900;letter-spacing:.13em}.prec-result-head button{display:grid;place-items:center;width:28px;height:28px;border:1px solid rgba(148,163,184,.13);border-radius:8px;background:transparent;color:#7e93ad;cursor:pointer}.prec-result-head button:hover{color:#fff;background:rgba(148,163,184,.06)}.prec-empty-result{display:flex;min-height:330px;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#647b96;text-align:center}.prec-empty-result i{font-size:28px;color:#426a9a}.prec-empty-result strong{color:#c3d2e3;font-size:13px}.prec-empty-result span{max-width:240px;font-size:9px;line-height:1.5}.prec-result-hero{padding:18px;border:1px solid rgba(59,130,246,.22);border-radius:13px;background:linear-gradient(145deg,rgba(37,99,235,.15),rgba(14,30,50,.25))}.prec-result-hero span{display:block;color:#80a9df;font-size:8px;font-weight:900;letter-spacing:.12em}.prec-result-hero strong{display:block;margin:7px 0 5px;color:#f8fbff;font-size:31px;letter-spacing:-.045em}.prec-result-hero small{color:#93a8c1;font-size:9px}.prec-result-route{display:flex;gap:8px;margin:10px 0 13px;padding:9px 2px;color:#7790ad;font-size:8.5px;line-height:1.4}.prec-result-route i{margin-top:1px;color:#60a5fa}.prec-result-route b{color:#4d6c92}.prec-result-kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.prec-result-kpis>div{padding:10px;border:1px solid rgba(148,163,184,.10);border-radius:9px;background:rgba(148,163,184,.025)}.prec-result-kpis span,.prec-breakdown span,.prec-percent-stack span{display:block;color:#7187a1;font-size:8px}.prec-result-kpis strong{display:block;margin-top:4px;color:#dfe8f4;font-size:12px}.prec-breakdown{margin-top:12px;border-top:1px solid rgba(148,163,184,.10)}.prec-breakdown>div,.prec-percent-stack>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 1px;border-bottom:1px solid rgba(148,163,184,.075)}.prec-breakdown strong,.prec-percent-stack strong{color:#b9c8d9;font-size:9px}.prec-breakdown .is-total span,.prec-breakdown .is-total strong{color:#e9f2ff;font-weight:850}.prec-percent-stack{margin:4px 0 14px}.prec-percent-stack>div:last-child{border-bottom:0}.prec-percent-stack>div:last-child strong{color:#86baff}.prec-primary-btn,.prec-secondary-btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 14px;border-radius:9px;font-size:9.5px;font-weight:850;cursor:pointer}.prec-primary-btn{width:100%;border:1px solid #3875c5;background:#2563a9;color:#fff}.prec-primary-btn:hover{background:#2d70bb}.prec-primary-btn:disabled{opacity:.42;cursor:not-allowed}.prec-primary-btn.inline{width:auto}.prec-secondary-btn{border:1px solid #2a3b50;background:#0b1725;color:#a8b9cc}.prec-snapshot-note{display:flex;gap:7px;margin-top:10px;color:#60758f;font-size:8px;line-height:1.45}.prec-snapshot-note i{margin-top:2px;color:#6997ce}
.prec-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:28px 0 15px}.prec-section-heading>div:first-child>span{color:#6c9edf;font-size:8px;font-weight:900;letter-spacing:.14em}.prec-section-heading h2{margin:5px 0;color:#f1f6fc;font-size:22px}.prec-section-heading p{max-width:760px;margin:0;color:#7f94ac;font-size:10px;line-height:1.5}.prec-heading-actions{display:flex;align-items:center;gap:8px}.prec-sync-status{padding:7px 9px;border:1px solid rgba(245,158,11,.18);border-radius:999px;background:rgba(245,158,11,.06);color:#d7a955;font-size:8px;font-weight:800;white-space:nowrap}.prec-sync-status[data-state="ok"]{border-color:rgba(34,197,94,.2);background:rgba(34,197,94,.06);color:#7fce9b}.prec-summary-note{display:flex;align-items:center;gap:9px;margin-bottom:11px;padding:10px 12px;border:1px solid rgba(96,165,250,.12);border-radius:10px;background:rgba(59,130,246,.04);color:#7f97b2;font-size:8.5px}.prec-summary-note b{margin-left:auto;color:#92afd0;font-weight:650}.prec-table-card{overflow:auto}.prec-table{width:100%;border-collapse:collapse;min-width:720px}.prec-table th{padding:11px 13px;border-bottom:1px solid rgba(148,163,184,.14);background:#0d1a2a;color:#7289a3;font-size:8px;font-weight:900;letter-spacing:.09em;text-align:left;text-transform:uppercase}.prec-table td{padding:10px 13px;border-bottom:1px solid rgba(148,163,184,.075);color:#aebed0;font-size:9.5px}.prec-table tbody tr:hover{background:rgba(96,165,250,.025)}.prec-table td>strong{color:#e0e9f4}.prec-table td small{display:block;margin-top:3px;color:#60758d;font-size:7.8px}.prec-type-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 7px;border-radius:7px;font-size:8px;font-weight:800}.prec-type-badge.dry{background:rgba(148,163,184,.06);color:#9fb0c4}.prec-type-badge.cold{background:rgba(56,189,248,.07);color:#79b9e8}.prec-money-input{display:flex;align-items:center;width:180px;border:1px solid #263850;border-radius:8px;background:#071321;overflow:hidden}.prec-money-input span{padding:0 8px;color:#60758e;font-size:8px}.prec-money-input input{width:100%;min-height:34px;border:0;outline:0;background:transparent;color:#d7e3f1;font-size:9.5px}.prec-money-input input:disabled{opacity:.6}.prec-history-search{position:relative;width:min(320px,100%)}.prec-history-search i{position:absolute;z-index:2;left:11px;top:50%;transform:translateY(-50%);color:#637b96;font-size:9px}.prec-history-search input{padding-left:30px}.prec-table-action{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid #263a53;border-radius:7px;background:#0b1827;color:#89a6c7;font-size:8px;font-weight:800;cursor:pointer}.prec-table-action:hover{color:#fff;border-color:#3d6190}.prec-empty-table{display:flex;flex-direction:column;align-items:center;gap:6px;padding:52px 20px;color:#627991;text-align:center}.prec-empty-table i{font-size:24px;color:#3e638d}.prec-empty-table strong{color:#b9c8d8;font-size:11px}.prec-empty-table span{font-size:8.5px}.prec-future-card{display:flex;min-height:440px;flex-direction:column;align-items:center;justify-content:center;padding:38px;text-align:center}.prec-future-icon{display:grid;place-items:center;width:60px;height:60px;margin-bottom:16px;border:1px solid rgba(96,165,250,.2);border-radius:18px;background:rgba(59,130,246,.08);color:#78aff8;font-size:23px}.prec-future-card h2{margin:7px 0;color:#eef5ff;font-size:26px}.prec-future-card p{max-width:680px;margin:0;color:#8ca1ba;font-size:11px;line-height:1.65}.prec-future-flow{display:flex;align-items:center;gap:12px;margin:24px 0;padding:13px 15px;border:1px solid rgba(148,163,184,.12);border-radius:11px;background:rgba(148,163,184,.03);color:#9db1c8;font-size:9px;font-weight:800}.prec-future-flow i{color:#4775ab}.prec-future-card>small{color:#657b95;font-size:8.5px}
@media(max-width:1180px){.prec-shell{width:min(100% - 34px,1080px)}.prec-layout{grid-template-columns:1fr}.prec-result-card{position:relative;top:auto}.prec-form-grid.cols-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.prec-shell{width:100%;padding:80px 14px 40px}.prec-header{align-items:flex-start;flex-direction:column}.prec-flow-chip{white-space:normal}.prec-form-grid.cols-2,.prec-form-grid.cols-3,.prec-form-grid.cols-4{grid-template-columns:1fr}.prec-card-head{flex-direction:column}.prec-card-head small{text-align:left}.prec-section-heading{align-items:stretch;flex-direction:column}.prec-heading-actions{flex-wrap:wrap}.prec-summary-note{align-items:flex-start;flex-wrap:wrap}.prec-summary-note b{width:100%;margin-left:0}.prec-tabs{position:sticky;top:8px;z-index:50}.prec-future-flow{flex-direction:column}.prec-future-flow i{transform:rotate(90deg)}}

/* PRECIFICAÇÃO — refinamentos atuais */
.prec-tab-history{margin-left:auto}
.prec-field>span{display:flex;align-items:center;gap:7px}
.prec-field>span>small{color:#60758f;font-size:7.5px;font-weight:750;text-transform:none;letter-spacing:0}
.prec-field-hint{margin-left:auto}
.prec-field-locked .prec-input-prefix{background:rgba(148,163,184,.035);border-style:dashed}
.prec-field-locked input[readonly]{cursor:not-allowed;color:#9eb0c5}
.prec-field-locked>span:after{content:'\f023';font-family:'Font Awesome 6 Free';font-weight:900;color:#536b87;font-size:7px}
.prec-summary-value{color:#dce7f4!important;font-variant-numeric:tabular-nums}
.prec-table-action.is-danger{border-color:rgba(239,68,68,.18);color:#c77b83}
.prec-table-action.is-danger:hover{border-color:rgba(239,68,68,.4);background:rgba(239,68,68,.08);color:#ff9ca5}

/* Benchmarking da margem */
.prec-benchmark{margin-top:14px;padding:12px;border:1px solid rgba(96,165,250,.13);border-radius:11px;background:rgba(59,130,246,.035)}
.prec-benchmark-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:9px}
.prec-benchmark-head>span{display:flex;align-items:center;gap:7px;color:#b8cae0;font-size:9px;font-weight:850}
.prec-benchmark-head i{color:#68a8f5}
.prec-benchmark-head small{color:#647b96;font-size:8px}
.prec-benchmark-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.prec-benchmark-item{position:relative;display:flex;align-items:center;justify-content:space-between;gap:7px;min-height:38px;padding:7px 9px;border:1px solid rgba(148,163,184,.09);border-radius:8px;background:rgba(148,163,184,.02);overflow:hidden;isolation:isolate;transition:.18s ease}
.prec-benchmark-item::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.12;transition:opacity .18s ease,transform .18s ease}
.prec-benchmark-item b{font-size:8.5px}.prec-benchmark-item span{font-size:8px}
.prec-benchmark-item.is-cold{border-color:rgba(59,130,246,.22)}
.prec-benchmark-item.is-cold::before{background:linear-gradient(135deg,#1d4ed8,#60a5fa)}
.prec-benchmark-item.is-cold b{color:#9cc6ff}.prec-benchmark-item.is-cold span{color:#759cca}
.prec-benchmark-item.is-cool{border-color:rgba(34,211,238,.22)}
.prec-benchmark-item.is-cool::before{background:linear-gradient(135deg,#0891b2,#22d3ee)}
.prec-benchmark-item.is-cool b{color:#9ae9f4}.prec-benchmark-item.is-cool span{color:#75b8c5}
.prec-benchmark-item.is-mild{border-color:rgba(250,204,21,.22)}
.prec-benchmark-item.is-mild::before{background:linear-gradient(135deg,#ca8a04,#facc15)}
.prec-benchmark-item.is-mild b{color:#f5dc78}.prec-benchmark-item.is-mild span{color:#b9a764}
.prec-benchmark-item.is-warm{border-color:rgba(249,115,22,.24)}
.prec-benchmark-item.is-warm::before{background:linear-gradient(135deg,#c2410c,#f97316)}
.prec-benchmark-item.is-warm b{color:#ffb27b}.prec-benchmark-item.is-warm span{color:#cb8b63}
.prec-benchmark-item.is-hot{border-color:rgba(239,68,68,.25)}
.prec-benchmark-item.is-hot::before{background:linear-gradient(135deg,#b91c1c,#ef4444)}
.prec-benchmark-item.is-hot b{color:#ff9b9b}.prec-benchmark-item.is-hot span{color:#cc7d82}
.prec-benchmark-item.is-active{transform:translateY(-1px);box-shadow:0 0 0 1px rgba(255,255,255,.05),0 7px 18px rgba(0,0,0,.16)}
.prec-benchmark-item.is-active::before{opacity:.30;transform:scale(1.02)}
.prec-benchmark-item.is-active b,.prec-benchmark-item.is-active span{color:#fff}
@media(max-width:900px){.prec-benchmark-grid{grid-template-columns:repeat(2,1fr)}.prec-benchmark-item:last-child{grid-column:1/-1}}
@media(max-width:760px){.prec-tab-history{margin-left:0}.prec-benchmark-head{align-items:flex-start;flex-direction:column}.prec-benchmark-grid{grid-template-columns:1fr}.prec-benchmark-item:last-child{grid-column:auto}.prec-field-hint{margin-left:0}}

/* Base de custos */
.prec-base-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.8fr);gap:14px;align-items:stretch}
.prec-future-card.prec-future-compact{min-height:0;padding:28px}
.prec-future-compact .prec-future-icon{width:48px;height:48px;margin-bottom:12px;font-size:18px}
.prec-future-compact h2{font-size:20px}.prec-future-compact p{font-size:10px}.prec-future-compact .prec-future-flow{margin:18px 0 0}
@media(max-width:900px){.prec-base-grid{grid-template-columns:1fr}}

/* Simulador em coluna única + campos compactos */
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-form-grid.cols-2,
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-form-grid.cols-3,
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-form-grid.cols-4{grid-template-columns:1fr}
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-card{overflow:visible}
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-field{max-width:none}
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-formula-note{align-items:flex-start}
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-size-xs{width:min(100%,190px)}
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-size-sm{width:min(100%,270px)}
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-size-md{width:min(100%,430px)}
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-size-lg{width:min(100%,720px)}
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-helper-field{gap:7px}
#tela-precificacao .prec-helper-meta{display:flex;align-items:baseline;gap:8px;min-height:14px}
#tela-precificacao .prec-helper-meta strong{color:#c8d8eb;font-size:9px;font-weight:850;font-variant-numeric:tabular-nums}
#tela-precificacao .prec-helper-meta small{color:#60758f;font-size:7.5px;font-weight:700}
#tela-precificacao .prec-helper-meta small::before{content:"· ";color:#405978}
@media(max-width:760px){
  #tela-precificacao .prec-view[data-prec-view="simulador"] .prec-size-xs,
  #tela-precificacao .prec-view[data-prec-view="simulador"] .prec-size-sm,
  #tela-precificacao .prec-view[data-prec-view="simulador"] .prec-size-md,
  #tela-precificacao .prec-view[data-prec-view="simulador"] .prec-size-lg{width:100%}
}

/* Rota e operação */
#tela-precificacao .prec-route-grid{
    display:grid;
    grid-template-columns:minmax(0,420px) 300px;
    grid-template-areas:
        "client action"
        "origin km"
        "dest return";
    column-gap:32px;
    row-gap:18px;
    align-items:start;
}
#tela-precificacao .prec-route-client{grid-area:client}
#tela-precificacao .prec-route-action{grid-area:action}
#tela-precificacao .prec-route-origin{grid-area:origin}
#tela-precificacao .prec-route-km{grid-area:km}
#tela-precificacao .prec-route-dest{grid-area:dest}
#tela-precificacao .prec-route-return{grid-area:return}
#tela-precificacao .prec-route-grid>*{width:100%;max-width:none;min-width:0;margin:0}
#tela-precificacao .prec-route-grid .prec-field input,
#tela-precificacao .prec-route-grid .prec-field select,
#tela-precificacao .prec-route-grid .prec-input-suffix,
#tela-precificacao .prec-route-grid .prec-route-btn,
#tela-precificacao .prec-route-grid .prec-check{width:100%}
#tela-precificacao .prec-route-grid .prec-km-field>span{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:nowrap}
#tela-precificacao .prec-route-grid .prec-km-field>span>small,
#tela-precificacao .prec-route-grid .prec-km-field .prec-field-hint{margin-left:auto;white-space:nowrap;text-align:right;flex:0 0 auto}
#tela-precificacao .prec-route-grid .prec-km-field .prec-input-suffix{max-width:none}
#tela-precificacao .prec-route-grid .prec-route-btn.prec-route-btn-primary{border-color:#2563eb;background:#2563eb;color:#fff;box-shadow:0 10px 24px rgba(37,99,235,.28)}
#tela-precificacao .prec-route-grid .prec-route-btn.prec-route-btn-primary:hover{background:#2b6df2;border-color:#2b6df2}
#tela-precificacao .prec-route-grid .prec-route-return{min-height:64px;display:flex;align-items:center;padding:0 14px}
#tela-precificacao .prec-route-grid .prec-route-return span{width:100%}
#tela-precificacao .prec-route-grid .prec-route-return strong{font-size:10px}
@media(max-width:960px){
    #tela-precificacao .prec-route-grid{
        grid-template-columns:1fr;
        grid-template-areas:"client" "origin" "dest" "action" "km" "return";
        row-gap:14px;
    }
}



/* PRECIFICAÇÃO V13.20.15 — seção 02 em pares, medidas padronizadas */
#tela-precificacao .prec-trip-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,270px));
    gap:16px 18px;
    width:min(100%,558px);
    align-items:end;
}
#tela-precificacao .prec-trip-grid .prec-field{
    width:100%;
    max-width:none;
    min-width:0;
    gap:7px;
}
#tela-precificacao .prec-trip-grid .prec-field>span{
    min-height:16px;
    white-space:nowrap;
}
#tela-precificacao .prec-trip-grid .prec-field input,
#tela-precificacao .prec-trip-grid .prec-field select,
#tela-precificacao .prec-trip-grid .prec-input-prefix{
    width:100%;
    min-height:40px;
    box-sizing:border-box;
}
#tela-precificacao .prec-trip-grid .prec-input-prefix input{
    min-height:38px;
}
#tela-precificacao .prec-trip-grid .prec-helper-inline{
    margin-left:auto;
    color:#60758f;
    font-size:7.4px;
    font-weight:700;
    letter-spacing:0;
    text-transform:none;
    white-space:nowrap;
}
#tela-precificacao .prec-trip-grid .prec-helper-inline strong{
    color:#c8d8eb;
    font-size:8px;
    font-weight:850;
}
@media(max-width:760px){
    #tela-precificacao .prec-trip-grid{
        grid-template-columns:1fr;
        width:100%;
    }
    #tela-precificacao .prec-trip-grid .prec-field>span{
        white-space:normal;
    }
    #tela-precificacao .prec-trip-grid .prec-helper-inline{
        white-space:normal;
        text-align:right;
    }
}


/* Sidebar — módulos em desenvolvimento e identificação visual por cargo */
.vtc-sidebar-dev-group{margin-top:18px;padding-top:8px;border-top:1px solid rgba(148,163,184,.13)}
.vtc-sidebar-dev-caption{display:flex;align-items:center;gap:8px;padding-top:10px;padding-bottom:6px;color:#8292ac;font-size:9px;letter-spacing:.10em}
.vtc-sidebar-dev-caption i{font-size:9px;color:#7292bb}
.vtc-sidebar.is-collapsed .vtc-sidebar-dev-caption{display:none}
.vtc-nav-dev{transition:opacity .15s ease,background .15s ease;opacity:.78}
.vtc-nav-dev .vtc-sidebar-label{min-width:0}
.vtc-nav-dev-lock{font-size:9px;opacity:.55;color:#8da2be;margin-left:auto}
.vtc-sidebar.is-collapsed .vtc-nav-dev-lock{display:none}
.vtc-nav-dev.is-dev-locked,.vtc-nav-dev:disabled{opacity:.40;cursor:not-allowed;transform:none}
.vtc-nav-dev.is-dev-locked:hover,.vtc-nav-dev:disabled:hover{background:transparent;color:#8190ae}
.vtc-nav-dev:not(:disabled) .vtc-nav-dev-lock{display:none}
.vtc-sidebar-profile-avatar{border:2px solid #3b82f6;box-sizing:border-box;box-shadow:0 0 0 2px rgba(59,130,246,.15)}
.vtc-sidebar-profile-avatar.vtc-role-colaborador{border-color:#3b82f6;box-shadow:0 0 0 2px rgba(59,130,246,.16)}
.vtc-sidebar-profile-avatar.vtc-role-lider{border-color:#facc15;box-shadow:0 0 0 2px rgba(250,204,21,.18)}
.vtc-sidebar-profile-avatar.vtc-role-admin{border-color:#ef4444;box-shadow:0 0 0 2px rgba(239,68,68,.20)}

/* V13.20.31 — Visualizar como (Admin): seletor contextual e prévia de interface */
.vtc-preview-profile-picker{padding:8px 0 6px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:4px 0}
.vtc-preview-profile-heading{display:flex;align-items:center;gap:8px;padding:5px 12px 8px;font-size:10px;letter-spacing:.08em;font-weight:800;color:var(--text-muted)}
.vtc-preview-profile-picker button{min-height:34px;font-size:12px;padding:7px 10px}
.vtc-preview-role-dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#3b82f6}
.vtc-preview-role-dot.admin{background:#ef4444}.vtc-preview-role-dot.lider{background:#facc15}
.vtc-preview-profile-picker button .vtc-preview-choice-check{margin-left:auto;width:14px;opacity:0;color:#60a5fa}
.vtc-preview-profile-picker button.is-selected{background:rgba(59,130,246,.1);color:var(--text-main);font-weight:750}
.vtc-preview-profile-picker button.is-selected .vtc-preview-choice-check{opacity:1}
.vtc-preview-banner{position:fixed;inset:0 0 auto;z-index:100000;min-height:42px;box-sizing:border-box;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:7px 15px;background:#0d3760;color:#f2f8ff;box-shadow:0 2px 16px rgba(0,0,0,.28);font-size:12px;font-weight:600}
.vtc-preview-banner>span{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px}
.vtc-preview-banner>span strong{font-weight:850}.vtc-preview-banner small{opacity:.78;font-size:11px;font-weight:450}
.vtc-preview-banner label{font-size:11px;opacity:.85}
.vtc-preview-banner select,.vtc-preview-banner button{height:29px;border:1px solid rgba(255,255,255,.36);border-radius:7px;background:#164873;color:#fff;padding:0 10px;font:inherit;font-size:11px;cursor:pointer}
.vtc-preview-banner button{background:#eaf4ff;color:#0c345a;font-weight:750;border-color:transparent}
body.vtc-role-preview-active{padding-top:var(--vtc-preview-height,42px)}
body.vtc-role-preview-active .vtc-sidebar{top:var(--vtc-preview-height,42px)!important;height:calc(100dvh - var(--vtc-preview-height,42px))!important}
body.vtc-role-preview-active .vtc-nav-mobile-trigger{top:calc(var(--vtc-preview-height,42px) + 14px)!important}
body.vtc-role-preview-active .vtc-sidebar-overlay{top:var(--vtc-preview-height,42px)!important}
@media(max-width:700px){.vtc-preview-banner{justify-content:flex-start;gap:6px 9px;padding:7px 10px}.vtc-preview-banner>span{flex:1 1 100%}.vtc-preview-banner small{display:none}.vtc-preview-banner label{display:none}}

/* ============================================================================
   VTCDOCS V13.20.33 — Histórico de Cotações: tela fluida + tabela híbrida
   Isolado do gerador e de todos os demais históricos do aplicativo.
   O breakpoint é a largura disponível ao histórico, não a resolução do monitor.
   ============================================================================ */
#tela-cotacao.cotacao-historico-ativo {
    min-width: 0;
    max-width: 100%;
}
#tela-cotacao.cotacao-historico-ativo > .vtc-page-intro-cotacao {
    width: 100%;
    max-width: none;
    min-width: 0;
    box-sizing: border-box;
}
#tela-cotacao > .workspace.cotacao-historico-layout {
    width: 100%;
    max-width: none;
    min-width: 0;
    height: auto !important;
    min-height: 0;
    display: block;
    margin: 0;
    overflow: visible;
}
#tela-cotacao .workspace.cotacao-historico-layout > #painelFormularioCotacao {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    min-width: 0;
    height: auto;
    overflow: visible;
    padding: 4px 28px 36px;
    flex: none;
}
#tela-cotacao .workspace.cotacao-historico-layout > #painelFormularioCotacao > .container {
    box-sizing: border-box;
    width: 100%;
    max-width: none !important; /* neutraliza os 900px inline do formulário */
    min-width: 0;
    margin: 0 !important;
    padding: 0;
}
#tela-cotacao #historico-cotacao {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    /* Consegue mudar de modo ao abrir/recolher a sidebar ou redimensionar janela. */
    container: historico-cotacoes / inline-size;
}
/* Indicadores ocupam a largura do histórico, sem um cartão envolvendo tudo. */
#tela-cotacao #historico-cotacao > .card-previsao-servico {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    padding: 0;
    margin-bottom: 22px !important;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
#tela-cotacao #historico-cotacao .previsao-servico-cabecalho { margin-bottom: 12px; }
#tela-cotacao #historico-cotacao .previsao-servico-cabecalho h3 {
    color: var(--text-main);
    font-size: 14px;
    flex-wrap: wrap;
    line-height: 1.4;
}
#tela-cotacao #historico-cotacao .previsao-mes-destaque { color: var(--text-main); }
#tela-cotacao #historico-cotacao .previsao-servico-cabecalho p {
    margin-bottom: 0;
    color: var(--text-muted);
    line-height: 1.5;
}
#tela-cotacao #historico-cotacao .previsao-servico-valores {
    grid-template-columns: repeat(4,minmax(0,1fr)) !important;
    gap: 10px;
}
#tela-cotacao #historico-cotacao .previsao-valor-item {
    min-width: 0;
    padding: 12px 14px;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 11px;
}
#tela-cotacao #historico-cotacao .previsao-valor-label {
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.4;
}
#tela-cotacao #historico-cotacao .previsao-valor-numero {
    font-size: clamp(13px,1.1vw,17px);
    font-variant-numeric: tabular-nums;
    overflow-wrap: anywhere;
}
/* Histórico sem card externo. Só a superfície das linhas é destacada. */
#tela-cotacao #historico-cotacao .cotacao-historico-secao {
    min-width: 0;
    width: 100%;
    padding: 0;
    margin: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
    overflow: visible;
}
#tela-cotacao #historico-cotacao .cotacao-historico-cabecalho {
    margin: 0 0 16px;
    padding: 0 0 12px;
    border-bottom: 1px solid var(--border);
}
#tela-cotacao #historico-cotacao .cotacao-historico-cabecalho .card-title {
    margin: 0 0 4px;
}
#tela-cotacao #historico-cotacao .cotacao-historico-cabecalho .card-subtitle {
    margin: 0;
}
#tela-cotacao #historico-cotacao .cotacao-historico-filtros {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(165px,210px);
    align-items: stretch;
    gap: 10px;
    min-width: 0;
}
#tela-cotacao #historico-cotacao .cotacao-historico-busca {
    display: flex;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    margin: 0;
}
#tela-cotacao #historico-cotacao .cotacao-historico-busca .busca-historico {
    flex: 1 1 0;
    min-width: 0;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    background: var(--bg-card);
    color: var(--text-main);
}
#tela-cotacao #historico-cotacao #filtroStatusHistoricoCot {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--bg-card);
    color: var(--text-main);
    font: inherit;
    font-size: 13px;
}
#tela-cotacao #historico-cotacao .cotacao-historico-tabela-wrap {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    margin-top: 16px;
    overflow: visible; /* evita cortar o menu de ações e as versões */
}
#tela-cotacao #historico-cotacao .cotacao-historico-tabela {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    table-layout: fixed;
    margin: 0;
    overflow: visible;
    border-color: var(--border);
}
#tela-cotacao #historico-cotacao .cotacao-historico-tabela th,
#tela-cotacao #historico-cotacao .cotacao-historico-tabela td {
    box-sizing: border-box;
    min-width: 0;
    padding: 12px 10px;
    vertical-align: middle;
    overflow-wrap: anywhere;
    word-break: normal;
}
#tela-cotacao #historico-cotacao .cotacao-historico-tabela th:nth-child(1){width:27%}
#tela-cotacao #historico-cotacao .cotacao-historico-tabela th:nth-child(2){width:10%}
#tela-cotacao #historico-cotacao .cotacao-historico-tabela th:nth-child(3){width:12%}
#tela-cotacao #historico-cotacao .cotacao-historico-tabela th:nth-child(4){width:12%}
#tela-cotacao #historico-cotacao .cotacao-historico-tabela th:nth-child(5){width:12%}
#tela-cotacao #historico-cotacao .cotacao-historico-tabela th:nth-child(6){width:21%}
#tela-cotacao #historico-cotacao .cotacao-historico-tabela th:nth-child(7){width:6%}
#tela-cotacao #historico-cotacao .cotacao-historico-tabela td strong {
    white-space: normal;
    overflow-wrap: anywhere;
}
#tela-cotacao #historico-cotacao .cotacao-historico-tabela .esl-id-badge {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
}
#tela-cotacao #historico-cotacao .cotacao-historico-tabela .linha-historico-cot:has(.acoes-menu-dropdown.aberto) {
    position: relative;
    z-index: 5;
}
#tela-cotacao #historico-cotacao .cotacao-historico-tabela .cotacao-versoes-cabecalho,
#tela-cotacao #historico-cotacao .cotacao-historico-tabela .cotacao-versao-card {
    flex-wrap: wrap;
}
#tela-cotacao #historico-cotacao #paginacaoHistoricoCot { flex-wrap:wrap; min-width:0; }

/* Containers queries: o mesmo monitor pode exibir tabela, linhas ou blocos
   conforme espaço restante depois de sidebar e painéis do sistema operacional. */
@container historico-cotacoes (max-width: 1199px) {
    #tela-cotacao #historico-cotacao .previsao-servico-valores {
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
    #tela-cotacao #historico-cotacao .cotacao-historico-tabela,
    #tela-cotacao #historico-cotacao .cotacao-historico-tabela tbody {
        display:block;
        width:100%;
        border:0;
        background:transparent;
    }
    #tela-cotacao #historico-cotacao .cotacao-historico-tabela thead { display:none; }
    #tela-cotacao #historico-cotacao .cotacao-historico-tabela tbody > .linha-historico-cot {
        display:grid;
        grid-template-columns:minmax(0,1.45fr) minmax(0,1fr) minmax(0,1fr) 46px;
        grid-template-areas:
            'protocolo cliente contato acoes'
            'protocolo data gerado acoes'
            'protocolo status status acoes';
        gap:8px 14px;
        align-items:start;
        width:100%;
        box-sizing:border-box;
        padding:13px 14px;
        margin:0 0 9px;
        border:1px solid var(--border);
        border-radius:11px;
        overflow:visible;
    }
    #tela-cotacao #historico-cotacao .cotacao-historico-tabela .linha-historico-cot > td {
        display:block;
        min-width:0;
        padding:0 !important;
        border:0 !important;
        background:transparent !important;
        overflow:visible;
        font-size:12.5px;
    }
    #tela-cotacao #historico-cotacao .cotacao-historico-tabela .linha-historico-cot > td:nth-child(1) { grid-area:protocolo; }
    #tela-cotacao #historico-cotacao .cotacao-historico-tabela .linha-historico-cot > td:nth-child(2) { grid-area:data; }
    #tela-cotacao #historico-cotacao .cotacao-historico-tabela .linha-historico-cot > td:nth-child(3) { grid-area:cliente; }
    #tela-cotacao #historico-cotacao .cotacao-historico-tabela .linha-historico-cot > td:nth-child(4) { grid-area:contato; }
    #tela-cotacao #historico-cotacao .cotacao-historico-tabela .linha-historico-cot > td:nth-child(5) { grid-area:gerado; }
    #tela-cotacao #historico-cotacao .cotacao-historico-tabela .linha-historico-cot > td:nth-child(6) { grid-area:status; }
    #tela-cotacao #historico-cotacao .cotacao-historico-tabela .linha-historico-cot > td:nth-child(7) {
        grid-area:acoes;
        justify-self:end;
        text-align:right;
    }
    #tela-cotacao #historico-cotacao .cotacao-historico-tabela .linha-historico-cot > td:nth-child(2)::before,
    #tela-cotacao #historico-cotacao .cotacao-historico-tabela .linha-historico-cot > td:nth-child(3)::before,
    #tela-cotacao #historico-cotacao .cotacao-historico-tabela .linha-historico-cot > td:nth-child(4)::before,
    #tela-cotacao #historico-cotacao .cotacao-historico-tabela .linha-historico-cot > td:nth-child(5)::before {
        display:block;
        margin-bottom:3px;
        color:var(--text-muted);
        font-size:10px;
        font-weight:600;
    }
    #tela-cotacao #historico-cotacao .cotacao-historico-tabela .linha-historico-cot > td:nth-child(2)::before{content:'Data'}
    #tela-cotacao #historico-cotacao .cotacao-historico-tabela .linha-historico-cot > td:nth-child(3)::before{content:'Cliente'}
    #tela-cotacao #historico-cotacao .cotacao-historico-tabela .linha-historico-cot > td:nth-child(4)::before{content:'Contato'}
    #tela-cotacao #historico-cotacao .cotacao-historico-tabela .linha-historico-cot > td:nth-child(5)::before{content:'Gerado por'}
    #tela-cotacao #historico-cotacao .cotacao-historico-tabela .linha-versoes-cotacao { display:none; }
    #tela-cotacao #historico-cotacao .cotacao-historico-tabela .linha-versoes-cotacao.versoes-visiveis {
        display:block;
        margin:-10px 0 12px;
    }
    #tela-cotacao #historico-cotacao .cotacao-historico-tabela .linha-versoes-cotacao > td {
        display:block;
        width:100%;
        min-width:0;
        box-sizing:border-box;
        padding:0 !important;
        background:transparent !important;
    }
    #tela-cotacao #historico-cotacao .cotacao-historico-tabela tbody > tr:not(.linha-historico-cot):not(.linha-versoes-cotacao) {
        display:block;
        padding:16px;
        border:1px solid var(--border);
        border-radius:10px;
    }
    #tela-cotacao #historico-cotacao .cotacao-historico-tabela tbody > tr:not(.linha-historico-cot):not(.linha-versoes-cotacao) > td {
        display:block;
        border:0;
        padding:0;
        text-align:center;
    }
}
@container historico-cotacoes (max-width: 699px) {
    #tela-cotacao #historico-cotacao .cotacao-historico-filtros {
        grid-template-columns:minmax(0,1fr);
    }
    #tela-cotacao #historico-cotacao .cotacao-historico-tabela tbody > .linha-historico-cot {
        grid-template-columns:minmax(0,1fr) auto;
        grid-template-areas:
            'protocolo acoes'
            'cliente cliente'
            'contato contato'
            'data gerado'
            'status status';
        gap:9px 11px;
        padding:12px;
    }
    #tela-cotacao #historico-cotacao .cotacao-historico-tabela .linha-historico-cot > td:nth-child(1) strong {
        font-size:12px;
    }
    #tela-cotacao #historico-cotacao .cotacao-historico-tabela .status-aprovacao-cot {
        flex-wrap:wrap;
    }
}
@container historico-cotacoes (max-width: 490px) {
    #tela-cotacao #historico-cotacao .previsao-servico-valores {
        grid-template-columns:minmax(0,1fr) !important;
    }
    #tela-cotacao #historico-cotacao .cotacao-historico-tabela tbody > .linha-historico-cot {
        grid-template-columns:minmax(0,1fr) auto;
        grid-template-areas:
            'protocolo acoes'
            'cliente cliente'
            'contato contato'
            'data data'
            'gerado gerado'
            'status status';
    }
}
@media (max-width: 760px) {
    #tela-cotacao .workspace.cotacao-historico-layout > #painelFormularioCotacao { padding:4px 12px 28px; }
    #tela-cotacao.cotacao-historico-ativo > .vtc-page-intro-cotacao { padding-left:12px; padding-right:12px; }
}

/* ==========================================================================
   VTCDOCS V13.20.34 — Histórico de PROPOSTAS fluido e responsivo
   Escopo exclusivo desta aba: o gerador, suas tabelas e a prévia seguem iguais.
   As quebras consideram largura REAL do histórico, e não a do monitor.
   ========================================================================== */
#app-principal.proposta-historico-ativo {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
}
#app-principal.proposta-historico-ativo > .vtc-page-intro,
#app-principal.proposta-historico-ativo > .header-app {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    min-width: 0;
}
#app-principal > .workspace.proposta-historico-layout {
    box-sizing: border-box;
    display: block;
    width: 100%;
    max-width: none;
    min-width: 0;
    height: auto !important;
    min-height: 0;
    margin: 0;
    overflow: visible;
}
#app-principal .workspace.proposta-historico-layout > #painelFormulario {
    box-sizing: border-box;
    display: block;
    flex: none;
    width: 100%;
    max-width: none;
    min-width: 0;
    height: auto;
    overflow: visible;
    padding: 4px 28px 36px;
}
#app-principal .workspace.proposta-historico-layout > #painelFormulario > .container {
    box-sizing: border-box;
    width: 100%;
    max-width: none !important; /* desfaz o limite de 900px do formulário */
    min-width: 0;
    margin: 0 !important;
    padding: 0;
}
#app-principal .workspace.proposta-historico-layout > .trilha-passos,
#app-principal .workspace.proposta-historico-layout > #resizer,
#app-principal .workspace.proposta-historico-layout > #painelPreview,
#app-principal .workspace.proposta-historico-layout > #btnPreviewFlutuanteProposta,
#app-principal.proposta-historico-ativo > #wizardNavProposta {
    display: none !important;
}
#app-principal #historico.proposta-historico {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    container: historico-propostas / inline-size;
}
#app-principal #historico .proposta-historico-secao {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
}
#app-principal #historico .proposta-historico-cabecalho {
    padding: 0 0 14px;
    margin: 0 0 16px;
    border-bottom: 1px solid var(--border);
}
#app-principal #historico .proposta-historico-cabecalho .card-title {
    margin: 0 0 5px;
}
#app-principal #historico .proposta-historico-cabecalho .card-subtitle {
    margin: 0;
    line-height: 1.4;
}
#app-principal #historico .proposta-historico-filtros,
#app-principal #historico .proposta-historico-busca {
    box-sizing: border-box;
    display: flex;
    min-width: 0;
    width: 100%;
    margin: 0;
}
#app-principal #historico .proposta-historico-busca > span {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
}
#app-principal #historico .proposta-historico-busca .busca-historico {
    box-sizing: border-box;
    flex: 1 1 0;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    border-radius: 0 8px 8px 0;
    background: var(--bg-card);
    color: var(--text-main);
}
#app-principal #historico .proposta-historico-tabela-wrap {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    margin-top: 16px;
    overflow: visible; /* dropdown não é cortado pela área da tabela */
}
#app-principal #historico .proposta-historico-tabela {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    margin: 0;
    table-layout: fixed;
    border-color: var(--border);
    background: var(--bg-card);
    overflow: visible;
}
#app-principal #historico .proposta-historico-tabela th,
#app-principal #historico .proposta-historico-tabela td {
    box-sizing: border-box;
    min-width: 0;
    vertical-align: middle;
    padding: 12px 10px;
    overflow-wrap: anywhere;
    word-break: normal;
}
#app-principal #historico .proposta-historico-tabela th:nth-child(1) { width: 24%; }
#app-principal #historico .proposta-historico-tabela th:nth-child(2) { width: 11%; }
#app-principal #historico .proposta-historico-tabela th:nth-child(3) { width: 22%; }
#app-principal #historico .proposta-historico-tabela th:nth-child(4) { width: 16%; }
#app-principal #historico .proposta-historico-tabela th:nth-child(5) { width: 19%; }
#app-principal #historico .proposta-historico-tabela th:nth-child(6) { width: 8%; }
#app-principal #historico .proposta-historico-tabela td strong {
    color: var(--text-main);
    font-size: 13px;
    white-space: normal;
    overflow-wrap: anywhere;
}
#app-principal #historico .proposta-historico-tabela .linha-historico-proposta:has(.acoes-menu-dropdown.aberto) {
    position: relative;
    z-index: 10;
}
#app-principal #historico .proposta-historico-paginacao {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
    box-sizing: border-box;
    min-width: 0;
    margin-top: 20px;
    text-align: center;
}

/* Faixa intermediária: registros organizados em duas linhas sem rolagem lateral. */
@container historico-propostas (max-width: 1199px) {
    #app-principal #historico .proposta-historico-tabela,
    #app-principal #historico .proposta-historico-tabela tbody {
        display: block;
        box-sizing: border-box;
        width: 100%;
        border: 0;
        background: transparent;
    }
    #app-principal #historico .proposta-historico-tabela thead { display: none; }
    #app-principal #historico .proposta-historico-tabela tbody > .linha-historico-proposta {
        display: grid;
        grid-template-columns: minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr) 44px;
        grid-template-areas: 'codigo cliente contato acoes' 'codigo data gerado acoes';
        align-items: start;
        gap: 10px 14px;
        box-sizing: border-box;
        width: 100%;
        min-width: 0;
        padding: 14px;
        margin: 0 0 9px;
        background: var(--bg-card);
        border: 1px solid var(--border);
        border-radius: 11px;
        overflow: visible;
    }
    #app-principal #historico .proposta-historico-tabela .linha-historico-proposta > td {
        display: block;
        box-sizing: border-box;
        min-width: 0;
        width: 100%;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        overflow: visible;
        font-size: 12.5px;
    }
    #app-principal #historico .proposta-historico-tabela .linha-historico-proposta > td:nth-child(1) { grid-area: codigo; }
    #app-principal #historico .proposta-historico-tabela .linha-historico-proposta > td:nth-child(2) { grid-area: data; }
    #app-principal #historico .proposta-historico-tabela .linha-historico-proposta > td:nth-child(3) { grid-area: cliente; }
    #app-principal #historico .proposta-historico-tabela .linha-historico-proposta > td:nth-child(4) { grid-area: contato; }
    #app-principal #historico .proposta-historico-tabela .linha-historico-proposta > td:nth-child(5) { grid-area: gerado; }
    #app-principal #historico .proposta-historico-tabela .linha-historico-proposta > td:nth-child(6) {
        grid-area: acoes;
        justify-self: end;
        text-align: right;
    }
    #app-principal #historico .proposta-historico-tabela .linha-historico-proposta > td:nth-child(n+2):nth-child(-n+5)::before {
        content: attr(data-label);
        display: block;
        margin-bottom: 3px;
        color: var(--text-muted);
        font-size: 10px;
        font-weight: 650;
    }
    #app-principal #historico .proposta-historico-tabela tbody > tr:not(.linha-historico-proposta) {
        display: block;
        box-sizing: border-box;
        width: 100%;
        padding: 16px;
        margin: 0 0 9px;
        border: 1px solid var(--border);
        border-radius: 10px;
        background: var(--bg-card);
    }
    #app-principal #historico .proposta-historico-tabela tbody > tr:not(.linha-historico-proposta) > td {
        display: block;
        border: 0;
        padding: 0;
        text-align: center;
    }
}
/* Blocos verticais: todas as informações permanecem legíveis sem arrastar. */
@container historico-propostas (max-width: 699px) {
    #app-principal #historico .proposta-historico-tabela tbody > .linha-historico-proposta {
        grid-template-columns: minmax(0,1fr) auto;
        grid-template-areas: 'codigo acoes' 'cliente cliente' 'contato contato' 'data gerado';
        gap: 10px 12px;
        padding: 12px;
    }
}
@container historico-propostas (max-width: 490px) {
    #app-principal #historico .proposta-historico-tabela tbody > .linha-historico-proposta {
        grid-template-areas: 'codigo acoes' 'cliente cliente' 'contato contato' 'data data' 'gerado gerado';
    }
    #app-principal #historico .proposta-historico-tabela .linha-historico-proposta > td:first-child strong {
        font-size: 12px;
    }
}
@media (max-width: 760px) {
    #app-principal .workspace.proposta-historico-layout > #painelFormulario { padding: 4px 12px 28px; }
    #app-principal.proposta-historico-ativo > .vtc-page-intro { padding-left: 12px; padding-right: 12px; }
    #app-principal.proposta-historico-ativo > .header-app { padding-left: 12px; padding-right: 12px; }
}
/* A prévia e o tutorial do gerador não competem com a consulta do histórico. */
#app-principal.proposta-historico-ativo > #btnAjudaTutorial,
#app-principal.proposta-historico-ativo > .header-app .switch-preview {
    display: none !important;
}

/* ===========================================================================
   V13.20.35 — NAVEGAÇÃO PRINCIPAL / OUTRAS FERRAMENTAS / DESENVOLVIMENTO
   =========================================================================== */
.vtc-sidebar-extra-group,.vtc-sidebar-dev-group{box-sizing:border-box;min-width:0;width:100%;margin:4px 0 0;padding:0;border:0;background:transparent}
.vtc-sidebar-fold-trigger{display:flex;align-items:center;gap:10px;box-sizing:border-box;min-height:38px;width:100%;padding:8px 10px;border:0;border-radius:9px;color:#93a3bb;background:transparent;cursor:pointer;font-size:11px;font-weight:700;list-style:none;user-select:none}
.vtc-sidebar-fold-trigger::-webkit-details-marker{display:none}
.vtc-sidebar-fold-trigger:hover,.vtc-sidebar-fold-trigger:focus-visible{background:rgba(148,163,184,.10);color:#dae6fb}
.vtc-sidebar-fold-trigger>i:first-child{flex:0 0 26px;text-align:center;color:#8197b8;font-size:12px}
.vtc-sidebar-fold-trigger .vtc-sidebar-label{flex:1;min-width:0;text-align:left}
.vtc-sidebar-fold-chevron{margin-left:auto;font-size:10px;transition:transform .18s ease}
.vtc-sidebar-extra-group[open]>.vtc-sidebar-fold-trigger .vtc-sidebar-fold-chevron,
.vtc-sidebar-dev-group[open]>.vtc-sidebar-fold-trigger .vtc-sidebar-fold-chevron{transform:rotate(180deg)}
.vtc-sidebar-fold-content,.vtc-sidebar-dev-items{padding:3px 0 5px 12px;min-width:0}
.vtc-sidebar-dev-group{margin:0 0 3px;padding:2px 0 4px;border-top:0}
.vtc-sidebar-dev-items{max-height:min(39vh,262px);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#45546d transparent}
.vtc-sidebar-dev-items .vtc-sidebar-item,.vtc-sidebar-fold-content .vtc-sidebar-item{box-sizing:border-box;width:100%;margin:0;min-height:35px;padding:5px 8px;font-size:11px}
.vtc-sidebar-footer{min-height:0;flex-shrink:1}
.vtc-sidebar.is-collapsed:not(.is-hover-expanded) .vtc-sidebar-fold-trigger{justify-content:center;padding:8px 0}
.vtc-sidebar.is-collapsed:not(.is-hover-expanded) .vtc-sidebar-fold-chevron,
.vtc-sidebar.is-collapsed:not(.is-hover-expanded) .vtc-sidebar-fold-content,
.vtc-sidebar.is-collapsed:not(.is-hover-expanded) .vtc-sidebar-dev-items{display:none}
@media(max-width:900px){
    .vtc-sidebar-dev-items{max-height:min(38vh,235px)}
    .vtc-sidebar-footer{padding-bottom:max(9px,env(safe-area-inset-bottom))}
}

/* ===========================================================================
   V13.20.35 — CLIENTES / CARTEIRA EM LAYOUT HÍBRIDO RESPONSIVO
   =========================================================================== */
#tela-clientes{box-sizing:border-box;width:100%;min-width:0;max-width:100%;}
#tela-clientes>.vtc-page-intro,
#tela-clientes>.header-app{box-sizing:border-box;width:100%;max-width:none;min-width:0;margin-left:0;margin-right:0}
#tela-clientes>.clientes-container{
    box-sizing:border-box;width:100%;max-width:none;min-width:0;
    margin:0 0 28px;padding:0 clamp(12px,2vw,28px) 24px;
    container:clientes-page / inline-size;
}
#tela-clientes .clientes-resumo-grid{grid-template-columns:repeat(4,minmax(0,1fr));min-width:0}
#tela-clientes .clientes-kpi-card{box-sizing:border-box;min-width:0;overflow-wrap:anywhere}
#tela-clientes .clientes-alertas-box{min-width:0}
#tela-clientes .clientes-alertas-header{flex-wrap:wrap}
#tela-clientes .clientes-alertas-header>div{min-width:0;flex-wrap:wrap}
#tela-clientes .clientes-alertas-lista{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
#tela-clientes .clientes-lista-card{
    box-sizing:border-box;width:100%;min-width:0;margin:0;padding:0!important;
    background:transparent!important;border:0!important;border-radius:0!important;
    box-shadow:none!important;overflow:visible!important;
}
#tela-clientes .clientes-toolbar{
    box-sizing:border-box;display:flex;align-items:center;flex-wrap:wrap;gap:10px;
    min-width:0;width:100%;padding:0 0 16px;margin-bottom:12px;
    border-bottom:1px solid var(--border);
}
#tela-clientes .clientes-busca-wrap{flex:1 1 350px;min-width:0}
#tela-clientes .clientes-busca-wrap input{box-sizing:border-box;min-width:0;width:100%;min-height:40px;font-size:12px}
#tela-clientes .clientes-toolbar select{box-sizing:border-box;flex:0 1 210px;width:auto;min-width:0;min-height:40px;font-size:12px}
#tela-clientes .clientes-btn-exportar-slides{min-height:40px;max-width:100%}
#tela-clientes .clientes-tabela-wrap{
    box-sizing:border-box;width:100%;min-width:0;max-width:100%;
    overflow:visible;container:carteira-clientes / inline-size;
}
#tela-clientes .clientes-tabela{
    box-sizing:border-box;width:100%;min-width:0;max-width:100%;margin:0!important;
    table-layout:fixed;overflow:visible;
}
#tela-clientes .clientes-tabela th,#tela-clientes .clientes-tabela td{
    box-sizing:border-box;min-width:0;max-width:100%;padding:12px 10px!important;
    vertical-align:middle;overflow-wrap:anywhere;word-break:normal;
}
#tela-clientes .clientes-tabela th:nth-child(1){width:31%}
#tela-clientes .clientes-tabela th:nth-child(2){width:15%}
#tela-clientes .clientes-tabela th:nth-child(3){width:28%}
#tela-clientes .clientes-tabela th:nth-child(4){width:18%}
#tela-clientes .clientes-tabela th:nth-child(5),
#tela-clientes .clientes-tabela th:nth-child(6){width:4%}
#tela-clientes .cliente-nome-linha,#tela-clientes .cliente-col-cliente,#tela-clientes .cliente-saude-compacta,
#tela-clientes .cliente-saude-status-wrap,#tela-clientes .cliente-focal-compacto{min-width:0;max-width:100%}
#tela-clientes .cliente-nome-tabela,#tela-clientes .cliente-sub-tabela,
#tela-clientes .cliente-focal-compacto>strong,#tela-clientes .cliente-detalhe-bloco strong,
#tela-clientes .cliente-detalhe-bloco span{overflow-wrap:anywhere;white-space:normal;text-overflow:clip;max-width:100%}
#tela-clientes .cliente-saude-status-wrap{flex-wrap:wrap;gap:4px}
#tela-clientes .cliente-saude-status-wrap .doc-badge,
#tela-clientes .cliente-saude-status-wrap .cliente-processo-acao{max-width:100%;white-space:normal}
#tela-clientes .cliente-saude-status-wrap .cliente-processo-acao span{white-space:normal;text-overflow:clip;overflow-wrap:anywhere}
#tela-clientes .cliente-detalhes-expandidos{min-width:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
#tela-clientes .cliente-docs-progresso-wrap{min-width:0;flex:1 1 80px}
#tela-clientes .clientes-tabela .cliente-row-detalhes>td{padding:0!important}

/* Usa a largura do histórico, não apenas a resolução da janela. */
@container clientes-page (max-width:939px){
    #tela-clientes .clientes-resumo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container clientes-page (max-width:670px){
    #tela-clientes .clientes-toolbar{align-items:stretch;flex-direction:column;gap:8px}
    #tela-clientes .clientes-busca-wrap{flex:0 0 auto;width:100%}
    #tela-clientes .clientes-toolbar select{flex:0 0 auto;width:100%}
    #tela-clientes .clientes-btn-exportar-slides{width:100%;justify-content:center}
}
@container clientes-page (max-width:430px){
    #tela-clientes .clientes-resumo-grid{grid-template-columns:minmax(0,1fr)}
    #tela-clientes .clientes-kpi-card{min-height:67px}
}

/* Intermediário: uma cotação visual por cliente, sem min-width na tabela. */
@container carteira-clientes (max-width:1199px){
    #tela-clientes .clientes-tabela,
    #tela-clientes .clientes-tabela>tbody{display:block;box-sizing:border-box;width:100%;min-width:0;border:0;background:transparent}
    #tela-clientes .clientes-tabela>thead{display:none}
    #tela-clientes .clientes-tabela>tbody>.cliente-row{
        box-sizing:border-box;display:grid;width:100%;min-width:0;
        grid-template-columns:minmax(0,1.35fr) minmax(0,1.25fr) minmax(0,.85fr) 38px 38px;
        grid-template-areas:'cliente cliente cliente acoes expandir' 'docs saude focal acoes expandir';
        gap:10px 14px;align-items:start;padding:14px;margin:0 0 9px;
        border:1px solid var(--border);border-radius:11px;background:var(--bg-card);overflow:visible;
    }
    #tela-clientes .clientes-tabela>tbody>.cliente-row>td{
        display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;
        padding:0!important;border:0!important;background:transparent!important;
        text-align:left!important;overflow:visible;overflow-wrap:anywhere;
    }
    #tela-clientes .clientes-tabela>tbody>.cliente-row>.cliente-col-cliente{grid-area:cliente}
    #tela-clientes .clientes-tabela>tbody>.cliente-row>.cliente-col-docs{grid-area:docs}
    #tela-clientes .clientes-tabela>tbody>.cliente-row>.cliente-col-saude{grid-area:saude}
    #tela-clientes .clientes-tabela>tbody>.cliente-row>.cliente-col-focal{grid-area:focal}
    #tela-clientes .clientes-tabela>tbody>.cliente-row>.cliente-col-acoes{grid-area:acoes;justify-self:end}
    #tela-clientes .clientes-tabela>tbody>.cliente-row>.cliente-col-expandir{grid-area:expandir;justify-self:end}
    #tela-clientes .clientes-tabela>tbody>.cliente-row>td:first-child::before{display:none}
    #tela-clientes .clientes-tabela>tbody>.cliente-row>td:nth-child(n+2):nth-child(-n+4)::before{
        content:attr(data-label);display:block;margin:0 0 5px;color:var(--text-muted);
        font-size:10px;font-weight:700;letter-spacing:.015em;
    }
    #tela-clientes .cliente-saude-compacta{align-items:flex-start;flex-wrap:wrap}
    #tela-clientes .cliente-focal-compacto>strong{white-space:normal;overflow-wrap:anywhere}
    #tela-clientes .clientes-tabela>tbody>.cliente-row-detalhes{
        display:block;box-sizing:border-box;min-width:0;width:100%;margin:-5px 0 10px;
        background:var(--bg-card);border:1px solid var(--border);border-radius:10px;
    }
    #tela-clientes .clientes-tabela>tbody>.cliente-row-detalhes>td{display:block;box-sizing:border-box;width:100%;min-width:0;border:0!important}
    #tela-clientes .clientes-tabela>tbody>tr:not(.cliente-row):not(.cliente-row-detalhes){display:block;width:100%;box-sizing:border-box}
    #tela-clientes .clientes-tabela>tbody>tr:not(.cliente-row):not(.cliente-row-detalhes)>td{display:block;box-sizing:border-box;width:100%;padding:18px!important}
}
/* Estreito: cada informação fica em sua própria linha com ações sempre visíveis. */
@container carteira-clientes (max-width:699px){
    #tela-clientes .clientes-tabela>tbody>.cliente-row{
        grid-template-columns:minmax(0,1fr) 34px 34px;
        grid-template-areas:'cliente acoes expandir' 'saude saude saude' 'docs docs docs' 'focal focal focal';
        gap:10px;padding:12px;
    }
    #tela-clientes .clientes-tabela>tbody>.cliente-row>.cliente-col-saude,
    #tela-clientes .clientes-tabela>tbody>.cliente-row>.cliente-col-docs,
    #tela-clientes .clientes-tabela>tbody>.cliente-row>.cliente-col-focal{padding-top:8px!important;border-top:1px solid var(--border)!important}
    #tela-clientes .cliente-docs-progresso-wrap{flex:0 1 155px}
    #tela-clientes .cliente-detalhes-expandidos{padding:12px;gap:12px}
    #tela-clientes .cliente-nome-linha{display:flex;flex-wrap:wrap}
}

/* No layout de uma coluna, o rodapé começa somente após o conteúdo do gerador. */
@media (max-width: 1100px) {
    #tela-cotacao > .workspace:not(.cotacao-historico-layout) {
        height: auto;
        min-height: 0;
    }
}

/* O painel rolável não deve empurrar o dock para fora do viewport no desktop. */
@media (min-width: 1101px) {
    #tela-cotacao > .workspace:not(.cotacao-historico-layout) {
        height: calc(100dvh - 150px);
        min-height: 400px;
    }
}

/* V13.20.48 — ordenação diretamente nas células do cabeçalho, sem botões nativos. */
#tela-clientes .clientes-tabela thead th[data-clientes-ordenar] {
    cursor:pointer;user-select:none;-webkit-user-select:none;
    transition:color .14s ease,background-color .14s ease;
}
#tela-clientes .clientes-tabela thead th[data-clientes-ordenar]:hover,
#tela-clientes .clientes-tabela thead th[data-clientes-ordenar].ativa {
    color:var(--accent,#60a5fa);background-color:rgba(96,165,250,.06);
}
#tela-clientes .clientes-tabela thead th[data-clientes-ordenar]:focus-visible {
    outline:2px solid var(--accent,#60a5fa);outline-offset:-2px;border-radius:5px;
}
#tela-clientes .clientes-indicador-ordenacao{display:none;font-size:13px;font-weight:700;line-height:1;margin-left:5px}
#tela-clientes .clientes-indicador-ordenacao.visivel{display:inline-block}
#tela-clientes .clientes-indicador-ordenacao.estado-padrao{animation:clientes-indicador-padrao 1.35s ease forwards}
@keyframes clientes-indicador-padrao{0%,38%{opacity:1}100%{opacity:0}}
@media (prefers-reduced-motion:reduce){#tela-clientes .clientes-indicador-ordenacao.estado-padrao{animation:none;opacity:0}}
/* No layout responsivo a tabela vira cartões: mantém os dois títulos ordenáveis visíveis. */
@container carteira-clientes (max-width:1199px){
    #tela-clientes .clientes-tabela>thead{display:block;width:100%;margin-bottom:10px}
    #tela-clientes .clientes-tabela>thead>tr{display:flex;align-items:center;gap:15px;width:100%}
    #tela-clientes .clientes-tabela>thead>tr>th{display:none!important}
    #tela-clientes .clientes-tabela>thead>tr>th:nth-child(1),
    #tela-clientes .clientes-tabela>thead>tr>th:nth-child(2){display:block!important;width:auto!important;max-width:50%;padding:7px 9px!important;border:0!important}
}
