/* ===== CSS extraído do bloco <style> #1 do HTML fiel original — ordem preservada ===== */
/* ==================================================
       FASE 13 — BLINDAGEM ESTRUTURAL POR MÓDULOS
       REGRAS PERMANENTES DE PROTEÇÃO

       MÓDULOS PROTEGIDOS — NÃO ALTERAR FORA DA FASE ESPECÍFICA.
       Alterações no Dashboard devem ocorrer apenas no módulo Dashboard.
       Alterações no Cadastro devem ocorrer apenas no módulo Cadastro.
       Alterações visuais devem preferir classes específicas do módulo.
       Não usar seletores genéricos para alterar componentes globais sem necessidade.
       Não alterar funções globais de navegação sem validação completa.
       ================================================== */

    /* ==================================================
       FASE 8 — BLINDAGEM VISUAL DO APP
       CAMADA VISUAL EDITÁVEL

       Alterações futuras de layout, cores, ícones, cards, botões,
       espaçamentos, sombras, bordas e responsividade devem ser feitas
       preferencialmente neste bloco CSS, sem modificar o núcleo funcional.
       ================================================== */

    /* Variáveis visuais globais — identidade institucional base */
    :root{
      --bg:#f4f7fb;
      --panel:#ffffff;
      --panel-soft:#f8fbfd;
      --primary:#073b2b;
      --primary-2:#0f3d5e;
      --primary-3:#1e6f9f;
      --accent:#d6a84f;
      --accent-soft:#fff6df;
      --text:#172033;
      --muted:#64748b;
      --line:#e2e8f0;
      --danger:#b42318;
      --warn:#b54708;
      --ok:#067647;
      --shadow:0 22px 60px rgba(15,39,66,.12);
      --shadow-soft:0 10px 28px rgba(15,39,66,.08);
      --radius:24px;
      --radius-sm:16px;
      --max:1180px;
    }
    *{box-sizing:border-box}
    html,body{margin:0;min-height:100%;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
    body:before{content:"";position:fixed;inset:0;z-index:-2;background:radial-gradient(circle at 12% 10%,rgba(30,111,159,.15),transparent 32%),radial-gradient(circle at 88% 4%,rgba(7,59,43,.18),transparent 30%),linear-gradient(135deg,#f4f7fb 0%,#eef6f6 54%,#f8fbff 100%)}
    button,input,select,textarea{font:inherit}
    button{cursor:pointer}
    .hidden{display:none!important}
    .app-shell{min-height:100vh;display:flex;flex-direction:column}

    .login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,rgba(214,168,79,.18),transparent 26%),radial-gradient(circle at bottom right,rgba(30,111,159,.32),transparent 35%),linear-gradient(135deg,#073b2b 0%,#0b3c50 54%,#0f3d5e 100%)}
    .login-card{width:min(1040px,100%);display:grid;grid-template-columns:1.08fr .92fr;gap:0;background:rgba(255,255,255,.98);border:1px solid rgba(255,255,255,.72);border-radius:34px;box-shadow:0 32px 90px rgba(0,0,0,.28);overflow:hidden}
    .login-hero{padding:42px;color:#fff;background:linear-gradient(145deg,#073b2b,#0d5242 48%,#0f3d5e);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;min-height:520px}
    .login-hero:before{content:"";position:absolute;inset:20px;border:1px solid rgba(255,255,255,.12);border-radius:28px;pointer-events:none}
    .login-hero:after{content:"";position:absolute;right:-100px;bottom:-115px;width:320px;height:320px;border-radius:50%;background:rgba(255,255,255,.10);box-shadow:-160px -90px 0 rgba(214,168,79,.10)}
    .brand-mark{width:78px;height:78px;border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(255,255,255,.10));border:1px solid rgba(255,255,255,.32);display:grid;place-items:center;font-weight:950;font-size:28px;letter-spacing:.5px;margin-bottom:24px;box-shadow:0 16px 34px rgba(0,0,0,.16)}
    .login-hero h1{font-size:clamp(30px,4vw,46px);line-height:1.03;margin:0 0 14px;letter-spacing:-.035em;max-width:650px}
    .login-hero p{margin:0;color:rgba(255,255,255,.87);font-size:16px;line-height:1.62;max-width:560px}
    .login-hero .hero-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px;position:relative;z-index:1}
    .hero-tag{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.10);border-radius:999px;padding:8px 11px;color:rgba(255,255,255,.9);font-size:12px;font-weight:800;letter-spacing:.01em}
    .login-actions{padding:40px;background:#fff;display:flex;flex-direction:column;justify-content:center}
    .login-actions h2{margin:0 0 8px;font-size:26px;letter-spacing:-.02em}
    .login-actions .sub{margin:0 0 24px;color:var(--muted);line-height:1.55}
    .profile-grid{display:grid;gap:14px}
    .profile-btn{border:1px solid var(--line);background:linear-gradient(180deg,#fff,#fbfdff);border-radius:20px;padding:18px;text-align:left;box-shadow:var(--shadow-soft);transition:.18s ease;display:flex;gap:15px;align-items:center;position:relative;overflow:hidden}
    .profile-btn:after{content:"Acessar";position:absolute;right:16px;bottom:14px;color:var(--primary-3);font-size:12px;font-weight:900;opacity:.78}
    .profile-btn:hover{transform:translateY(-3px);border-color:#a8d8cf;box-shadow:0 18px 42px rgba(7,59,43,.16)}
    .profile-icon{width:52px;height:52px;border-radius:18px;background:linear-gradient(135deg,#e9fff7,#eaf2ff);display:grid;place-items:center;font-size:24px;flex:none;border:1px solid rgba(226,232,240,.85)}
    .profile-btn strong{display:block;font-size:16px;margin-bottom:4px;color:var(--text)}
    .profile-btn span span{display:block;color:var(--muted);font-size:13px;line-height:1.38;max-width:285px}
    .login-foot{margin-top:24px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;text-align:center}

    .topbar{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(226,232,240,.86);box-shadow:0 8px 28px rgba(15,39,66,.05)}
    .topbar-inner{max-width:var(--max);margin:0 auto;padding:10px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px}
    .brand{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
    .brand-logo{width:44px;height:44px;border-radius:16px;background:linear-gradient(135deg,#073b2b,#0f3d5e);color:#fff;display:grid;place-items:center;font-weight:950;box-shadow:var(--shadow-soft);flex:none;border:1px solid rgba(255,255,255,.36);font-size:15px}
    .brand-title{min-width:0}
    .brand-title h1{font-size:17px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}
    .brand-title p{font-size:11.5px;color:var(--muted);margin:3px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .profile-badge{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;justify-content:flex-end;flex:none}
    .badge{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 10px;font-size:12px;color:var(--text);box-shadow:var(--shadow-soft);white-space:nowrap;font-weight:800;max-width:220px;overflow:hidden;text-overflow:ellipsis}
    .btn{border:none;border-radius:14px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;padding:10px 14px;font-weight:850;box-shadow:var(--shadow-soft);transition:.15s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;min-height:40px}
    .btn:hover{transform:translateY(-1px);filter:brightness(1.03)}
    .btn.secondary{background:#fff;color:var(--primary);border:1px solid #b9dcd4}
    .btn.neutral{background:#f1f6f5;color:#18473d;border:1px solid #d4e7e2;box-shadow:none}
    .btn-compact{padding:8px 12px;min-height:36px;font-size:13px}

    .main{width:100%;max-width:var(--max);margin:0 auto;padding:22px 16px 46px;flex:1}
    .view-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:2px 0 16px;padding:0}
    .view-head h2{margin:0;font-size:clamp(25px,3.5vw,36px);letter-spacing:-.035em;color:#102035}
    .view-head p{margin:8px 0 0;color:var(--muted);line-height:1.55;max-width:780px}
    /* NAVEGAÇÃO GLOBAL CONTROLADA — botões de retorno e acesso direto ao menu principal */
    .return-bar{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 20px;padding:12px;background:rgba(255,255,255,.76);border:1px solid rgba(226,232,240,.9);border-radius:20px;box-shadow:0 8px 26px rgba(15,39,66,.05)}
    .return-bar .nav-back-btn,.return-bar .nav-home-btn{min-width:112px}
    .return-bar .nav-home-btn{background:linear-gradient(135deg,#ffffff,#f8fbfd);color:var(--primary-2);border:1px solid #cddfec;box-shadow:none}
    .return-bar .nav-home-btn:hover{border-color:#9bc2d5;background:linear-gradient(135deg,#f8fcff,#eef7fb)}
    .grid{display:grid;gap:17px}
    .grid.cards{grid-template-columns:repeat(3,minmax(0,1fr))}
    .grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
    .card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;position:relative;overflow:hidden}
    .card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--primary),var(--primary-3),var(--accent));opacity:.72}
    .nav-card{min-height:148px;text-align:left;transition:.18s ease;display:flex;flex-direction:column;justify-content:space-between;gap:14px;border:1px solid var(--line);background:linear-gradient(180deg,#fff,#fbfefd)}
    .nav-card:hover{transform:translateY(-4px);border-color:#a7d9cd;box-shadow:0 24px 55px rgba(7,59,43,.15)}
    .nav-card .icon{width:50px;height:50px;border-radius:18px;background:linear-gradient(135deg,#e7fff8,#e8f1ff);display:grid;place-items:center;font-size:24px;border:1px solid rgba(226,232,240,.75)}
    .nav-card h3{margin:0;font-size:18px;letter-spacing:-.01em;color:#102035}
    .nav-card p{margin:8px 0 0;color:var(--muted);line-height:1.45;font-size:14px}
    .nav-card strong{font-size:13px;color:var(--primary-3);letter-spacing:.01em}
    .kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
    .kpi{padding:20px;border-radius:20px;border:1px solid var(--line);background:linear-gradient(180deg,#fff,#f8fbfd);box-shadow:var(--shadow-soft);position:relative;overflow:hidden}
    .kpi:after{content:"";position:absolute;right:-28px;bottom:-28px;width:82px;height:82px;border-radius:50%;background:rgba(30,111,159,.08)}
    .kpi span{display:block;color:var(--muted);font-size:13px;margin-bottom:8px;font-weight:750}
    .kpi strong{font-size:32px;letter-spacing:-.04em;color:var(--primary)}
    .empty-panel{border:1px dashed #b6c9d3;background:linear-gradient(180deg,#f8fbfd,#fff);border-radius:18px;padding:20px;color:var(--muted);line-height:1.58}
    .table-wrap{overflow:auto;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow-soft)}
    table{width:100%;border-collapse:collapse;min-width:640px}
    th,td{padding:14px 15px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}
    th{background:#f2f7f6;color:#344054;font-weight:900}
    tr:last-child td{border-bottom:none}
    .filter-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0}
    .field label{display:block;font-size:13px;font-weight:850;color:#344054;margin-bottom:7px}

    /* FASE 47-R1 — refinamento do fluxo Treinamento em Simulador de Voo.
       Ajusta Tipo de Simulador para Caravan/Esquilo, oculta local/identificação no fluxo do simulador e adiciona Observações do Treinamento. */
    /* FASE 47 — implementação controlada do Treinamento em Simulador de Voo e campo Checador Externo.
       FASE 46 — limpeza visual de rótulos duplicados no Cadastro de Treinamento.
       Apenas oculta labels internos repetitivos, preservando IDs/chaves/campos. */
    .training-form .field label.training-duplicate-label{display:none!important;margin:0!important;padding:0!important;height:0!important;overflow:hidden!important}
    .field input,.field select{width:100%;border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px;color:var(--text)}
    .status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
    .status-item{border:1px solid var(--line);border-radius:20px;background:#fff;padding:17px;box-shadow:var(--shadow-soft);position:relative;overflow:hidden}
    .status-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(var(--primary-3),var(--primary))}
    .status-item span{display:block;color:var(--muted);font-size:13px;margin-bottom:7px;font-weight:750}
    .status-item strong{display:block;font-size:17px;color:#102035}
    .ok{color:var(--ok)!important}.warn{color:var(--warn)!important}.danger{color:var(--danger)!important}
    .footer-note{margin-top:24px;color:var(--muted);font-size:13px;text-align:center}

    .dashboard-section{display:grid;gap:16px;margin-top:16px}
    .summary-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;align-items:start}
    .mini-list{display:grid;gap:10px;margin-top:12px}
    .mini-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px 13px;color:var(--text)}
    .mini-row span{color:var(--muted);font-size:13px;line-height:1.35}
    .mini-row strong{font-size:14px;text-align:right}
    .progress-wrap{display:grid;gap:10px;margin-top:12px}
    .progress-row{display:grid;grid-template-columns:120px 1fr 42px;gap:10px;align-items:center;font-size:13px;color:var(--muted)}
    .progress-track{height:10px;border-radius:999px;background:#edf4f2;overflow:hidden;border:1px solid #dfe9e6}
    .progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--primary-3),var(--accent));min-width:0}
    .status-chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:850;border:1px solid var(--line);background:#fff;color:var(--text)}
    .status-chip.ok{background:#ecfdf3;border-color:#abefc6;color:var(--ok)!important}
    .status-chip.warn{background:#fffaeb;border-color:#fedf89;color:var(--warn)!important}
    .status-chip.danger{background:#fef3f2;border-color:#fecdca;color:var(--danger)!important}
    .status-chip.neutral{background:#f8fafc;color:#475467!important}

    /* Fase 12 — ajustes visuais exclusivos do Dashboard Estatístico */
    .dashboard-grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
    .dashboard-card h3{margin:0 0 12px;color:#102035;font-size:17px;letter-spacing:-.01em}
    .dashboard-progress .progress-row{grid-template-columns:minmax(120px,.62fr) 1fr 42px}
    .dashboard-progress .progress-row span{font-weight:750;color:#475467;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    @media(max-width:760px){.dashboard-grid-two{grid-template-columns:1fr}.dashboard-kpi-grid{grid-template-columns:1fr 1fr}.dashboard-progress .progress-row{grid-template-columns:1fr;gap:5px}.dashboard-progress .progress-row strong{text-align:right}.dashboard-card h3{font-size:16px}}
    @media(max-width:420px){.dashboard-kpi-grid{grid-template-columns:1fr}.dashboard-card{padding:14px}}


    /* Fase 12C — ajustes visuais exclusivos do Dashboard Estatístico Profissional */
    .dashboard-filter-panel{display:grid;gap:12px;margin:12px 0 16px;padding:14px;border-radius:22px;background:linear-gradient(180deg,#fff,#f8fbfd);border:1px solid var(--line);box-shadow:var(--shadow-soft)}
    .dashboard-filter-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
    .dashboard-filter-head h3{margin:0;color:#102035;font-size:17px;letter-spacing:-.01em}
    .dashboard-filter-head p{margin:4px 0 0;color:var(--muted);font-size:12.5px;line-height:1.4}
    .dashboard-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
    .dashboard-filter-grid.advanced{grid-template-columns:repeat(3,minmax(0,1fr));padding-top:10px;border-top:1px dashed rgba(18,83,69,.18)}
    .dashboard-filter-grid label{display:grid;gap:5px;color:#344054;font-size:12px;font-weight:850}
    .dashboard-filter-grid select,.dashboard-filter-grid input{width:100%;border:1px solid var(--line);border-radius:13px;background:#fff;padding:8px 10px;color:var(--text);min-height:36px;box-shadow:0 4px 14px rgba(15,39,66,.04)}
    .dashboard-filter-grid select[multiple]{min-height:72px;padding:6px}
    .dashboard-filter-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
    .dashboard-more-filters{border:1px solid rgba(18,83,69,.16);border-radius:16px;background:rgba(248,251,253,.88);padding:0 12px 12px}
    .dashboard-more-filters>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;color:#125345;font-weight:950;font-size:13px}
    .dashboard-more-filters>summary::-webkit-details-marker{display:none}
    .dashboard-more-filters>summary::after{content:'+';display:grid;place-items:center;width:24px;height:24px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--primary);font-weight:950}
    .dashboard-more-filters[open]>summary::after{content:'−'}
    .dashboard-section{display:grid;gap:14px;margin-top:14px}
    .dashboard-panel{border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,#fff,#f9fbfd);box-shadow:var(--shadow-soft);overflow:hidden}
    .dashboard-panel>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;color:#102035;font-size:16px;font-weight:950;letter-spacing:-.01em;background:linear-gradient(90deg,rgba(18,83,69,.08),rgba(10,101,130,.04))}
    .dashboard-panel>summary::-webkit-details-marker{display:none}
    .dashboard-panel>summary::after{content:'+';display:grid;place-items:center;width:26px;height:26px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--primary);font-weight:950}
    .dashboard-panel[open]>summary::after{content:'−'}
    .dashboard-panel-body{display:grid;gap:14px;padding:14px}
    .dashboard-chart{display:grid;gap:9px}
    .dashboard-chart-row{display:grid;grid-template-columns:minmax(100px,.42fr) 1fr auto;gap:8px;align-items:center;font-size:12.5px;color:#475467}
    .dashboard-chart-label{font-weight:850;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .dashboard-chart-track{height:13px;border-radius:999px;background:#eef4f6;overflow:hidden;border:1px solid #e3edf0}
    .dashboard-chart-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--primary-3),var(--accent))}
    .dashboard-chart-value{font-weight:950;color:#102035;white-space:nowrap}
    .dashboard-pie-wrap{display:grid;grid-template-columns:128px 1fr;gap:14px;align-items:center}
    .dashboard-pie{width:122px;height:122px;border-radius:50%;background:conic-gradient(var(--primary) 0 40%,var(--primary-3) 40% 72%,var(--accent) 72% 100%);box-shadow:inset 0 0 0 20px #fff,0 10px 24px rgba(15,39,66,.12);border:1px solid var(--line)}
    .dashboard-legend{display:grid;gap:7px}
    .dashboard-legend-item{display:flex;gap:7px;align-items:center;font-size:12.5px;color:#475467}
    .dashboard-legend-dot{width:10px;height:10px;border-radius:50%;background:var(--primary);flex:none}
    .dashboard-results{display:grid;gap:10px}
    .dashboard-result-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--muted);font-size:13px;font-weight:800}
    .dashboard-result-item{border:1px solid var(--line);background:linear-gradient(180deg,#fff,#fbfdff);border-radius:16px;padding:12px;box-shadow:0 6px 16px rgba(15,39,66,.05)}
    .dashboard-result-item strong{display:block;color:#102035;margin-bottom:5px;font-size:14px}
    .dashboard-result-item span{display:block;color:var(--muted);font-size:12.5px;line-height:1.45}
    .dashboard-section-title{margin:2px 0 0;color:#102035;font-size:18px;letter-spacing:-.01em}
    @media(max-width:900px){.dashboard-filter-grid,.dashboard-filter-grid.advanced{grid-template-columns:repeat(2,minmax(0,1fr))}}
    @media(max-width:520px){.dashboard-filter-panel{padding:12px}.dashboard-filter-grid,.dashboard-filter-grid.advanced{grid-template-columns:1fr}.dashboard-filter-actions{justify-content:stretch}.dashboard-filter-actions .btn{flex:1}.dashboard-chart-row{grid-template-columns:1fr;gap:5px}.dashboard-chart-value{text-align:right}.dashboard-pie-wrap{grid-template-columns:1fr;justify-items:center}.dashboard-legend{width:100%}.dashboard-panel>summary{padding:12px 13px;font-size:15px}.dashboard-panel-body{padding:12px}}

    /* Fase 12C-R2 — gráficos visuais reais no Dashboard: colunas, donut e rankings compactos */
    .dashboard-column-chart{display:grid;grid-template-columns:repeat(auto-fit,minmax(74px,1fr));gap:10px;align-items:end;min-height:180px;padding:10px 2px 2px}
    .dashboard-column-item{display:grid;grid-template-rows:auto 1fr auto;gap:7px;min-width:0;text-align:center;color:#475467;font-size:11.5px;font-weight:800}
    .dashboard-column-value{font-size:11px;color:#102035;background:#f3f8f8;border:1px solid var(--line);border-radius:999px;padding:3px 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .dashboard-column-track{height:118px;border-radius:14px;background:linear-gradient(180deg,#eef5f6,#f8fbfd);border:1px solid #ddebed;display:flex;align-items:flex-end;overflow:hidden;box-shadow:inset 0 1px 4px rgba(15,39,66,.04)}
    .dashboard-column-fill{width:100%;min-height:8px;border-radius:14px 14px 0 0;background:linear-gradient(180deg,var(--primary-3),var(--primary),var(--accent));box-shadow:0 -4px 14px rgba(18,83,69,.18)}
    .dashboard-column-label{line-height:1.2;min-height:29px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
    .dashboard-donut-wrap{display:grid;grid-template-columns:138px 1fr;gap:14px;align-items:center;min-height:150px}
    .dashboard-donut{width:132px;height:132px;border-radius:50%;position:relative;box-shadow:inset 0 0 0 22px #fff,0 10px 24px rgba(15,39,66,.12);border:1px solid var(--line)}
    .dashboard-donut::after{content:attr(data-total);position:absolute;inset:38px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#102035;font-weight:950;font-size:18px;box-shadow:0 2px 10px rgba(15,39,66,.08)}
    .dashboard-rank-chart{display:grid;gap:9px;padding:4px 0}
    .dashboard-rank-item{display:grid;grid-template-columns:minmax(88px,.44fr) 1fr auto;gap:8px;align-items:center;color:#475467;font-size:12px}
    .dashboard-rank-label{font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .dashboard-rank-track{height:16px;border-radius:999px;background:#eef4f6;border:1px solid #e3edf0;overflow:hidden}
    .dashboard-rank-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--primary-3),var(--accent))}
    .dashboard-rank-value{font-weight:950;color:#102035;white-space:nowrap;font-size:11.5px}
    @media(max-width:520px){.dashboard-column-chart{grid-template-columns:repeat(2,minmax(0,1fr));min-height:unset}.dashboard-column-track{height:92px}.dashboard-donut-wrap{grid-template-columns:1fr;justify-items:center}.dashboard-rank-item{grid-template-columns:1fr;gap:5px}.dashboard-rank-value{text-align:right}}


    /* Fase 12D — Dashboard Premium inspirado na versão antiga validada.
       Escopo: somente apresentação do Dashboard de Treinamentos dentro de .dashboard-pro.
       Não altera cadastro, registros, fluxo, IDs, salvamento ou integrações. */
    .dashboard-pro{display:grid;gap:13px}
    .dashboard-pro .dashboard-filter-panel{margin:6px 0 8px;padding:12px;border-radius:18px;background:linear-gradient(180deg,#ffffff 0%,#f7fbfb 100%);border:1px solid rgba(19,83,69,.16);box-shadow:0 10px 28px rgba(16,39,66,.08);position:relative;overflow:hidden}
    .dashboard-pro .dashboard-filter-panel::before{content:'';position:absolute;left:14px;right:14px;top:0;height:4px;border-radius:0 0 999px 999px;background:linear-gradient(90deg,var(--primary),var(--primary-3),var(--accent))}
    .dashboard-pro .dashboard-filter-head h3{font-size:15px;margin-top:2px}
    .dashboard-pro .dashboard-filter-head p{font-size:11.5px;margin-top:2px}
    .dashboard-pro .dashboard-filter-grid{gap:8px}
    .dashboard-pro .dashboard-filter-grid label{font-size:11.5px;gap:4px}
    .dashboard-pro .dashboard-filter-grid select,.dashboard-pro .dashboard-filter-grid input{min-height:34px;border-radius:12px;padding:7px 9px;font-size:12.5px}
    .dashboard-pro .dashboard-more-filters{border-radius:14px;padding:0 10px 10px;background:rgba(255,255,255,.72)}
    .dashboard-pro .dashboard-more-filters>summary{padding:9px 0;font-size:12.5px}
    .dashboard-pro .dashboard-filter-actions{gap:7px}
    .dashboard-pro .dashboard-filter-actions .btn{min-height:34px;padding:8px 12px;border-radius:12px;font-size:12px}
    .dashboard-pro .dashboard-section-title{font-size:15px;font-weight:950;color:#102035;margin:0;display:flex;align-items:center;gap:8px}
    .dashboard-pro .dashboard-section-title::before{content:'';width:4px;height:18px;border-radius:999px;background:linear-gradient(180deg,var(--primary),var(--primary-3))}
    .dashboard-pro .dashboard-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:0}
    .dashboard-pro .dashboard-kpi-grid .kpi{border-radius:16px;padding:12px 13px 14px;background:linear-gradient(180deg,#ffffff,#f8fcfb);border:1px solid rgba(18,83,69,.15);box-shadow:0 8px 20px rgba(15,39,66,.07);position:relative;overflow:hidden;min-height:78px}
    .dashboard-pro .dashboard-kpi-grid .kpi::before{content:'';position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--primary),var(--primary-3),var(--accent))}
    .dashboard-pro .dashboard-kpi-grid .kpi::after{content:'';position:absolute;left:13px;right:13px;bottom:7px;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--primary-3));opacity:.8}
    .dashboard-pro .dashboard-kpi-grid .kpi span{font-size:11px;line-height:1.25;text-transform:none;color:#5b6b7a;font-weight:900}
    .dashboard-pro .dashboard-kpi-grid .kpi strong{font-size:22px;letter-spacing:-.04em;color:#102035;margin-top:5px}
    .dashboard-pro .dashboard-section{gap:10px;margin-top:0}
    .dashboard-pro .dashboard-panel{border-radius:18px;border:1px solid rgba(18,83,69,.16);background:#fff;box-shadow:0 9px 26px rgba(15,39,66,.08)}
    .dashboard-pro .dashboard-panel>summary{padding:12px 14px;font-size:14.5px;background:linear-gradient(90deg,rgba(18,83,69,.1),rgba(10,101,130,.06),rgba(212,166,50,.08));border-bottom:1px solid rgba(18,83,69,.08)}
    .dashboard-pro .dashboard-panel-body{gap:10px;padding:10px;background:linear-gradient(180deg,#fbfdfd,#fff)}
    .dashboard-pro .dashboard-grid-two{gap:10px}
    .dashboard-pro .dashboard-card{border-radius:16px;padding:11px 11px 12px;border:1px solid rgba(18,83,69,.13);box-shadow:0 7px 18px rgba(15,39,66,.06);background:linear-gradient(180deg,#ffffff,#fbfefe);position:relative;overflow:hidden}
    .dashboard-pro .dashboard-card::before{content:'';position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--primary),var(--primary-3),var(--accent))}
    .dashboard-pro .dashboard-card h3{font-size:13.5px;margin:4px 0 10px;color:#102035;font-weight:950;display:flex;align-items:center;gap:7px}
    .dashboard-pro .dashboard-card h3::after{content:'';height:2px;flex:1;border-radius:999px;background:linear-gradient(90deg,rgba(10,101,130,.35),transparent)}
    .dashboard-pro .dashboard-column-chart{min-height:155px;gap:8px;padding:8px 1px 2px;align-items:end}
    .dashboard-pro .dashboard-column-item{gap:5px;font-size:10.5px;color:#506070}
    .dashboard-pro .dashboard-column-value{font-size:10px;padding:2px 5px;background:#eef8f7;color:#102035;border-color:rgba(18,83,69,.14)}
    .dashboard-pro .dashboard-column-track{height:86px;border-radius:13px;background:linear-gradient(180deg,#eff8f8,#fbfdfd);box-shadow:inset 0 1px 4px rgba(15,39,66,.06)}
    .dashboard-pro .dashboard-column-fill{background:linear-gradient(180deg,#0f9f8a,#0b6757,#d4a632)}
    .dashboard-pro .dashboard-column-label{font-size:10.5px;min-height:25px;-webkit-line-clamp:2}
    .dashboard-pro .dashboard-donut-wrap{grid-template-columns:118px 1fr;gap:12px;min-height:128px}
    .dashboard-pro .dashboard-donut{width:112px;height:112px;box-shadow:inset 0 0 0 18px #fff,0 9px 22px rgba(15,39,66,.12)}
    .dashboard-pro .dashboard-donut::after{inset:32px;font-size:15px}
    .dashboard-pro .dashboard-legend{gap:5px}
    .dashboard-pro .dashboard-legend-item{font-size:11.5px;line-height:1.25}
    .dashboard-pro .dashboard-rank-chart{gap:7px;padding:0}
    .dashboard-pro .dashboard-rank-item{grid-template-columns:minmax(92px,.42fr) 1fr auto;gap:7px;padding:7px 8px;border:1px solid rgba(18,83,69,.1);border-radius:13px;background:linear-gradient(90deg,#f8fcfb,#ffffff);font-size:11.5px}
    .dashboard-pro .dashboard-rank-track{height:13px;background:#eaf4f2;border-color:rgba(18,83,69,.13)}
    .dashboard-pro .dashboard-rank-fill{background:linear-gradient(90deg,#119b86,#0b6778,#d4a632)}
    .dashboard-pro .dashboard-result-summary{padding:9px 10px;border-radius:14px;background:#f7fbfb;border:1px solid rgba(18,83,69,.12);font-size:12px}
    .dashboard-pro .dashboard-result-item{border-radius:14px;padding:10px;background:#fff;box-shadow:0 6px 14px rgba(15,39,66,.05)}
    .dashboard-pro .dashboard-insights{display:grid;gap:8px}
    .dashboard-pro .dashboard-insight-item{padding:10px;border-radius:14px;border:1px solid rgba(18,83,69,.12);background:linear-gradient(90deg,#f7fbfb,#ffffff);color:#415165;font-size:12.2px;line-height:1.35}
    .dashboard-pro .dashboard-insight-item strong{display:block;color:#102035;margin-bottom:2px;font-size:12.8px}
    @media(max-width:760px){.dashboard-pro .dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-pro .dashboard-grid-two{grid-template-columns:1fr}.dashboard-pro .dashboard-filter-grid{grid-template-columns:1fr 1fr}}
    @media(max-width:520px){.dashboard-pro{gap:10px}.dashboard-pro .dashboard-filter-panel{padding:11px;margin-top:4px}.dashboard-pro .dashboard-filter-grid,.dashboard-pro .dashboard-filter-grid.advanced{grid-template-columns:1fr}.dashboard-pro .dashboard-kpi-grid{grid-template-columns:1fr}.dashboard-pro .dashboard-kpi-grid .kpi{min-height:64px;padding:10px 12px 13px}.dashboard-pro .dashboard-kpi-grid .kpi strong{font-size:21px}.dashboard-pro .dashboard-panel>summary{padding:11px 12px}.dashboard-pro .dashboard-panel-body{padding:9px}.dashboard-pro .dashboard-card{padding:10px}.dashboard-pro .dashboard-column-chart{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.dashboard-pro .dashboard-column-track{height:76px}.dashboard-pro .dashboard-donut-wrap{grid-template-columns:1fr;justify-items:center}.dashboard-pro .dashboard-rank-item{grid-template-columns:1fr}.dashboard-pro .dashboard-rank-value{text-align:right}}
    @media(max-width:390px){.dashboard-pro .dashboard-column-chart{grid-template-columns:repeat(2,minmax(0,1fr))}}

    @media(max-width:920px){.login-card{grid-template-columns:1fr}.login-hero{min-height:auto}.hero-aircraft-grid{grid-template-columns:1fr 1fr}.grid.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-grid,.status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
    @media(max-width:640px){.training-form-grid,.official-checkgrid,.training-review{grid-template-columns:1fr}.training-step-head{display:block}.training-step-head>span{display:inline-block;margin-bottom:8px}.login-screen{padding:14px}.topbar-inner{align-items:center;padding:9px 12px;gap:8px}.brand{gap:8px;min-width:0}.brand-title h1{font-size:15px}.brand-title p{font-size:10.5px;max-width:172px}.profile-badge{flex-direction:row;align-items:center;gap:6px}.badge{font-size:11px;padding:6px 8px;max-width:148px}.btn{min-height:36px;padding:8px 10px;border-radius:12px;font-size:13px}.btn-compact{padding:7px 10px;min-height:34px}.grid.cards,.grid.two,.kpi-grid,.status-grid,.filter-row,.hero-aircraft-grid{grid-template-columns:1fr}.view-head{display:block}.view-head h2{font-size:27px}.return-bar .btn{width:auto}.login-hero,.login-actions{padding:26px}.main{padding:18px 14px 36px}.nav-card{min-height:126px;padding:18px}.card{padding:16px}.login-card{border-radius:26px}.profile-btn{padding:16px}.profile-btn:after{display:none}.brand-logo{width:40px;height:40px;border-radius:14px;font-size:14px}.hero-crests{justify-content:center}.hero-crest{width:62px;height:62px}.login-hero h1{text-align:left}.login-hero-subtitle{text-align:left}.hero-aircraft-card img{height:120px}}
  
  

    /* Fase 4: estrutura local exclusiva do módulo Treinamentos */
    .training-form{display:grid;gap:14px}
    .training-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
    .training-section{border:1px solid var(--line);border-radius:18px;padding:16px;background:linear-gradient(180deg,#fff,#fbfdff);display:grid;gap:14px}
    .training-section h3{margin:0;color:#102035;font-size:18px;letter-spacing:-.01em}
    .training-section p{margin:0;color:var(--muted);line-height:1.45;font-size:13px}
    .official-question .field{margin-top:0}
    .official-checkgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:300px;overflow:auto;border:1px solid var(--line);border-radius:16px;padding:10px;background:#f8fafc}
    .checkitem{display:flex;gap:8px;align-items:flex-start;background:#fff;border:1px solid rgba(226,232,240,.96);border-radius:12px;padding:8px;font-size:13px;line-height:1.3}
    .checkitem input{width:auto;margin-top:2px}
    .checkitem span{display:block;color:var(--text)}
    .conditional-field.is-hidden{display:none!important}
    .training-note{border:1px dashed rgba(30,111,159,.35);border-radius:16px;background:rgba(30,111,159,.06);padding:12px;color:#244258;font-size:13px;line-height:1.45}
    .training-step{border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,#ffffff,#f8fbfd);padding:16px;display:grid;gap:14px;box-shadow:var(--shadow-soft)}
    .training-step.is-active{border-color:rgba(30,111,159,.35);background:linear-gradient(180deg,#ffffff,#f6fbff)}
    .training-step-head{display:flex;gap:12px;align-items:flex-start;border-bottom:1px solid rgba(226,232,240,.86);padding-bottom:12px}
    .training-step-head>span{flex:0 0 auto;border-radius:999px;background:#e9f5ff;color:#15537a;font-weight:900;font-size:12px;padding:7px 10px;border:1px solid rgba(30,111,159,.18)}
    .training-step-head h3{margin:0;color:#102035;font-size:19px;letter-spacing:-.01em}
    .training-step-head p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.4}
    .training-review{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
    .review-item{border:1px solid var(--line);border-radius:14px;background:#fff;padding:10px}
    .review-item span{display:block;color:var(--muted);font-size:12px;font-weight:800;margin-bottom:4px}
    .review-item strong{display:block;color:var(--text);font-size:14px;line-height:1.35;word-break:break-word}
    .field textarea{width:100%;min-height:104px;resize:vertical;border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px;color:var(--text)}
    .training-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;margin-top:6px}
    .training-register-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
    .training-register-head p{margin:0;color:var(--muted);line-height:1.45}
    .training-line-title{font-weight:900;color:#102035}
    .training-line-muted{color:var(--muted);font-size:13px;line-height:1.35}
    .training-table-actions{display:flex;gap:8px;flex-wrap:wrap}
    .training-detail-row td{background:#f8fbfd;padding:0}
    .training-detail-panel{padding:18px;border-top:1px solid var(--line)}
    .training-detail-panel h3{margin:0 0 12px;color:#102035;font-size:18px}
    .training-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
    .training-detail-group{border:1px solid var(--line);border-radius:18px;background:#fff;padding:14px;box-shadow:var(--shadow-soft)}
    .training-detail-group h4{margin:0 0 10px;font-size:14px;color:var(--primary);letter-spacing:-.01em}
    .training-detail-item{display:grid;grid-template-columns:minmax(110px,.42fr) 1fr;gap:8px;border-top:1px solid #eef3f6;padding:8px 0;align-items:start}
    .training-detail-item:first-of-type{border-top:0;padding-top:0}
    .training-detail-item span{font-size:12px;font-weight:900;color:var(--muted)}
    .training-detail-item strong{font-size:13px;color:var(--text);line-height:1.35;word-break:break-word;font-weight:800}
    .training-detail-page-card{padding:0;overflow:hidden}
    .training-detail-page-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px 16px;background:linear-gradient(135deg,#f8fbfd,#eef6f3);border-bottom:1px solid var(--line)}
    .training-detail-page-summary div{background:#fff;border:1px solid #e8f1ef;border-radius:14px;padding:10px 12px;box-shadow:var(--shadow-soft)}
    .training-detail-page-summary span{display:block;font-size:11px;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.02em;margin-bottom:4px}
    .training-detail-page-summary strong{display:block;font-size:13px;color:var(--text);line-height:1.25;word-break:break-word}
    .btn.danger{background:#fff;color:var(--danger);border:1px solid #fecdca;box-shadow:none}
    .training-report-summary{margin-top:14px}
    .training-report-list{display:grid;gap:10px;margin-top:14px}
    .training-report-item{border:1px solid var(--line);border-radius:16px;background:#fff;padding:13px;box-shadow:var(--shadow-soft)}
    .training-report-item strong{display:block;color:#102035;margin-bottom:5px}
    .training-report-item span{display:block;color:var(--muted);font-size:13px;line-height:1.4}
    /* FASE 14A-R1 — FILTROS MODERNOS DOS RELATÓRIOS DE TREINAMENTOS */
    .training-report-filter-panel{padding:13px;border-radius:19px;background:linear-gradient(180deg,#fff,#f9fffe);border:1px solid rgba(8,118,99,.14);box-shadow:0 10px 24px rgba(15,39,66,.06);overflow:visible}
    .training-report-filter-panel .filter-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end}
    .training-report-filter-panel .field label,.training-report-filter-panel .dash-filter-label{font-size:11.2px;text-transform:uppercase;letter-spacing:.018em;color:#27384b;font-weight:900}
    .training-report-filter-panel .field input{min-height:38px;border-radius:14px;border:1px solid rgba(39,56,75,.13);background:linear-gradient(180deg,#ffffff,#fbfdff);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 6px 14px rgba(7,24,39,.045);font-weight:780;padding:8px 10px;color:#162638}
    .training-report-filter-panel .field input:focus{outline:2px solid rgba(31,122,255,.18);border-color:rgba(31,122,255,.38)}
    .training-report-advanced{margin-top:10px;border:1px solid rgba(31,122,255,.10);border-radius:16px;background:linear-gradient(180deg,rgba(245,250,252,.72),rgba(255,255,255,.76));padding:8px 10px}
    .training-report-advanced>summary{cursor:pointer;font-weight:950;color:#155e75;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px}
    .training-report-advanced>summary::-webkit-details-marker{display:none}
    .training-report-advanced>summary:after{content:'⌄';display:grid;place-items:center;width:24px;height:24px;border-radius:999px;background:#fff;border:1px solid rgba(31,122,255,.16);box-shadow:0 4px 10px rgba(7,24,39,.06);transition:transform .18s ease}
    .training-report-advanced[open]>summary:after{transform:rotate(180deg)}
    .training-report-advanced .filter-row{margin-top:10px;grid-template-columns:repeat(3,minmax(0,1fr))}
    .training-report-free-search{margin-top:10px}
    .training-report-hub-card{display:flex;flex-direction:column;gap:10px;min-height:170px}.training-report-hub-card .btn{align-self:flex-start}
    @media(max-width:960px){.training-report-filter-panel .filter-row,.training-report-advanced .filter-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
    @media(max-width:640px){.training-report-filter-panel .filter-row,.training-report-advanced .filter-row{grid-template-columns:1fr}.training-report-filter-panel{padding:11px;border-radius:17px}}
    @media(max-width:640px){.training-form-grid{grid-template-columns:1fr}.training-actions{justify-content:stretch}.training-actions .btn{width:100%}.training-register-head .btn{width:100%}.official-checkgrid{grid-template-columns:1fr;max-height:240px}.training-detail-grid{grid-template-columns:1fr}.training-detail-item{grid-template-columns:1fr;gap:3px}.training-table-actions .btn{flex:1 1 100%}.training-detail-page-summary{grid-template-columns:1fr;padding:12px}}

    /* Fase 3: navegação principal estabilizada mantendo tela inicial institucional */
    .login-screen{place-items:start center;padding:0;background:linear-gradient(145deg,#eef8fb 0%,#ffffff 45%,#e7f3ef 100%);overflow:auto}
    .login-card{width:min(560px,100%);min-height:100vh;display:block;border-radius:0;background:linear-gradient(180deg,#ffffff 0%,#f8fcff 52%,#ffffff 100%);box-shadow:none;border:0;overflow:hidden;position:relative}
    .login-card:before{content:"";position:absolute;inset:auto -120px -160px -120px;height:330px;background:radial-gradient(circle at 20% 20%,rgba(30,111,159,.18),transparent 35%),radial-gradient(circle at 80% 20%,rgba(7,59,43,.18),transparent 35%);pointer-events:none}
    .login-hero{min-height:0;padding:0;background:transparent;color:var(--text);display:block;overflow:visible}
    .login-hero:before,.login-hero:after{display:none}
    .login-brand-panel{padding:28px 24px 18px;display:grid;grid-template-columns:86px 1fr;gap:18px;align-items:center;background:linear-gradient(135deg,#ffffff 0%,#eef8ff 100%);position:relative;z-index:1}
    .login-brand-panel:after{content:"";position:absolute;right:-70px;top:-85px;width:230px;height:230px;border-radius:50%;background:rgba(30,111,159,.12);box-shadow:-45px 50px 0 rgba(7,59,43,.055);z-index:-1}
    .login-ge-crest{width:86px;height:86px;border-radius:50%;display:grid;place-items:center;background:#fff;box-shadow:0 14px 30px rgba(15,39,66,.13);border:1px solid rgba(226,232,240,.9);padding:6px}
    .login-ge-crest img,.login-graesp-seal img{width:100%;height:100%;object-fit:contain;display:block}
    .login-brand-copy h1{font-size:clamp(34px,7vw,48px);margin:0;letter-spacing:-.035em;color:#123766;line-height:.95;font-weight:950}
    .login-brand-copy p{margin:7px 0 0;color:#29384a;font-size:15px;line-height:1.35;font-weight:760}
    .login-brand-copy span{display:block;margin-top:13px;color:#123766;font-size:14px;font-weight:800;position:relative;padding-left:22px}
    .login-brand-copy span:before{content:"";position:absolute;left:0;top:50%;width:14px;height:3px;border-radius:999px;background:#13a879}
    .aircraft-hero{position:relative;z-index:1;padding:0 0 24px;background:linear-gradient(180deg,#e8f5ff 0%,#ffffff 100%)}
    .aircraft-main{height:330px;overflow:hidden;box-shadow:0 18px 45px rgba(15,39,66,.13)}
    .aircraft-main img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
    .aircraft-inset{position:static;width:min(54%,320px);margin:12px 18px 0 auto;border-radius:22px;background:#fff;padding:6px;box-shadow:0 18px 44px rgba(15,39,66,.22);border:1px solid rgba(255,255,255,.88)}
    .aircraft-inset img{width:100%;height:126px;object-fit:cover;display:block;border-radius:17px}
    .login-actions{position:relative;z-index:2;margin:-28px 18px 18px;padding:24px 18px 20px;background:rgba(255,255,255,.94);border:1px solid rgba(226,232,240,.94);border-radius:34px;box-shadow:0 24px 70px rgba(15,39,66,.13);display:block;text-align:center;backdrop-filter:blur(12px)}
    .login-graesp-seal{width:126px;height:126px;border-radius:50%;background:#fff;margin:-80px auto 16px;padding:7px;box-shadow:0 16px 42px rgba(15,39,66,.17);border:1px solid rgba(226,232,240,.9)}
    .login-actions h2{margin:0 0 18px;font-size:18px;color:#123766;line-height:1.35;letter-spacing:-.01em}
    .profile-grid{gap:12px;text-align:left}
    .profile-btn{border-radius:18px;min-height:76px;padding:12px 48px 12px 14px;border:1px solid rgba(226,232,240,.96);box-shadow:0 10px 28px rgba(15,39,66,.09);background:rgba(255,255,255,.96)}
    .profile-btn:nth-child(1){border-left:5px solid #16a34a}.profile-btn:nth-child(2){border-left:5px solid #1e6f9f}.profile-btn:nth-child(3){border-left:5px solid #63b3ed}
    .profile-btn:after{content:"›";right:18px;top:50%;bottom:auto;transform:translateY(-50%);font-size:38px;line-height:1;color:#0f6c4d;opacity:.95}
    .profile-icon{width:54px;height:54px;border-radius:16px;background:linear-gradient(135deg,#0b6b44,#17a565);color:#fff;border:0;font-size:25px;box-shadow:0 10px 22px rgba(7,59,43,.18)}
    .profile-btn:nth-child(2) .profile-icon{background:linear-gradient(135deg,#0f3d5e,#1e6f9f)}
    .profile-btn:nth-child(3) .profile-icon{background:linear-gradient(135deg,#7aa6c8,#63b3ed)}
    .profile-btn strong{font-size:18px;color:#123766;margin-bottom:4px}
    .profile-btn span span{font-size:13px;color:#526274;max-width:320px}
    .login-foot{margin-top:20px;padding-top:15px;border-top:0;color:#123766;font-size:11px;font-weight:900;letter-spacing:.36em;text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:10px}
    .login-foot:before,.login-foot:after{content:"";width:54px;height:2px;background:#123766;border-radius:999px;opacity:.78}
    @media(max-width:640px){
      .topbar-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:8px 10px;gap:6px 8px}
      .brand{grid-column:1;min-width:0;gap:8px}.brand-logo{width:40px;height:40px;border-radius:14px;font-size:14px}.brand-title{min-width:0}.brand-title h1{font-size:16px;line-height:1.05}.brand-title p{font-size:11px;max-width:none;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-badge{display:contents}.profile-badge .badge{grid-column:1 / -1;grid-row:2;justify-self:start;max-width:100%;font-size:11.5px;padding:6px 9px}.profile-badge .btn{grid-column:2;grid-row:1;white-space:nowrap}.btn{min-height:36px;padding:8px 10px;border-radius:12px;font-size:13px}.btn-compact{padding:7px 10px;min-height:34px}
      .login-screen{height:100dvh;min-height:100dvh;overflow:hidden;padding:0}.login-card{width:100%;height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}.login-brand-panel{padding:14px 16px 10px;grid-template-columns:56px 1fr;gap:10px;flex:none}.login-ge-crest{width:56px;height:56px;padding:4px}.login-brand-copy h1{font-size:30px;line-height:.95}.login-brand-copy p{font-size:12.5px;line-height:1.22;margin-top:5px}.login-brand-copy span{font-size:11.5px;margin-top:8px;padding-left:18px}.login-brand-copy span:before{width:12px;height:3px}.login-hero{flex:none}.aircraft-hero{padding-bottom:8px;flex:none}.aircraft-main{height:clamp(170px,28dvh,214px)}.aircraft-main img{object-fit:cover;object-position:center}.aircraft-inset{position:static;width:58%;margin:10px 10px 0 auto;border-radius:16px;padding:5px;z-index:auto}.aircraft-inset img{height:clamp(64px,11dvh,82px);border-radius:12px}.login-actions{flex:1;min-height:0;margin:0 12px 0;border-radius:24px 24px 0 0;padding:10px 12px calc(env(safe-area-inset-bottom,0px) + 8px);display:flex;flex-direction:column;justify-content:flex-start}.login-graesp-seal{width:68px;height:68px;margin:0 auto 8px;padding:5px}.login-actions h2{font-size:16px;line-height:1.2;margin:0 0 10px}.profile-grid{gap:8px;flex:1;align-content:start}.profile-btn{min-height:58px;padding:8px 34px 8px 10px;border-radius:15px;gap:10px}.profile-btn:after{right:12px;font-size:28px}.profile-icon{width:42px;height:42px;border-radius:13px;font-size:20px}.profile-btn strong{font-size:15px;margin-bottom:2px}.profile-btn span span{font-size:11.5px;line-height:1.2;max-width:none}.login-foot{margin-top:auto;padding-top:8px;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 2px);letter-spacing:.16em;font-size:9px;gap:7px}.login-foot:before,.login-foot:after{width:24px}
    }
    @media(max-width:640px) and (max-height:720px){
      .login-brand-panel{padding:10px 14px 8px;grid-template-columns:48px 1fr}.login-ge-crest{width:48px;height:48px}.login-brand-copy h1{font-size:27px}.login-brand-copy p{font-size:11.5px}.login-brand-copy span{font-size:10.5px;margin-top:6px}.aircraft-hero{padding-bottom:8px}.aircraft-main{height:clamp(146px,25dvh,182px)}.aircraft-inset{width:56%;margin:8px 10px 0 auto}.aircraft-inset img{height:58px}.login-actions{margin:0 10px 0;padding:9px 10px calc(env(safe-area-inset-bottom,0px) + 6px)}.login-graesp-seal{width:56px;height:56px;margin-bottom:6px}.login-actions h2{font-size:14.5px;margin-bottom:8px}.profile-grid{gap:7px}.profile-btn{min-height:52px;padding-top:7px;padding-bottom:7px}.profile-icon{width:38px;height:38px;font-size:18px}.profile-btn strong{font-size:14px}.profile-btn span span{font-size:11px}.login-foot{display:flex;margin-top:auto;padding-top:6px;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 2px);font-size:8px;letter-spacing:.14em;gap:6px}.login-foot:before,.login-foot:after{width:20px}
    }

    /* Fase 7 — melhoria visual institucional sem alteração de lógica */
    :root{
      --bg:#eef5f3;
      --panel:#ffffff;
      --panel-soft:#f5fbf8;
      --primary:#064733;
      --primary-2:#0b4e78;
      --primary-3:#147fb0;
      --accent:#d9a441;
      --accent-soft:#fff3d4;
      --text:#102035;
      --muted:#526274;
      --line:#d7e4e7;
      --shadow:0 24px 70px rgba(8,38,63,.14);
      --shadow-soft:0 12px 32px rgba(8,38,63,.10);

      /* Aliases seguros para futuras fases visuais — não alterar IDs, scripts ou dados */
      --ge-cor-primaria:var(--primary);
      --ge-cor-secundaria:var(--primary-2);
      --ge-cor-operacional:var(--primary-3);
      --ge-cor-destaque:var(--accent);
      --ge-fundo-app:var(--bg);
      --ge-fundo-card:var(--panel);
      --ge-borda-card:var(--line);
      --ge-raio-card:var(--radius);
      --ge-raio-card-menor:var(--radius-sm);
      --ge-sombra-card:var(--shadow);
      --ge-sombra-suave:var(--shadow-soft);
    }

    /* ==================================================
       REGRAS PARA FUTURAS ALTERAÇÕES VISUAIS
       - Alterações visuais devem ser feitas preferencialmente no CSS.
       - Não alterar IDs de elementos.
       - Não alterar nomes internos dos campos.
       - Não alterar funções JavaScript.
       - Não alterar eventos onclick.
       - Não alterar regras condicionais.
       - Não alterar lógica de salvamento.
       - Não alterar integrações.
       - Não alterar Firebase, Google Sheets ou Telegram.
       - Não alterar fluxo do cadastro.
       - Não alterar estrutura dos dados salvos.
       ================================================== */
    body:before{
      background:
        radial-gradient(circle at 8% 8%,rgba(20,127,176,.18),transparent 30%),
        radial-gradient(circle at 94% 2%,rgba(6,71,51,.20),transparent 28%),
        radial-gradient(circle at 50% 100%,rgba(217,164,65,.12),transparent 34%),
        linear-gradient(135deg,#eef7f3 0%,#f8fbff 46%,#edf7ff 100%);
    }
    .topbar{
      background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(246,251,250,.93));
      border-bottom:1px solid rgba(183,207,213,.78);
      box-shadow:0 10px 34px rgba(8,38,63,.08);
    }
    .brand-logo{
      background:linear-gradient(145deg,#063f30 0%,#0d8060 52%,#0b4e78 100%);
      box-shadow:0 13px 30px rgba(6,71,51,.22), inset 0 1px 0 rgba(255,255,255,.28);
      border:1px solid rgba(255,255,255,.62);
    }
    .brand-title h1{color:#0b2640;font-weight:950;letter-spacing:-.025em}
    .brand-title p{color:#607086;font-weight:650}
    .badge{
      background:linear-gradient(180deg,#fff,#f4faf8);
      border-color:#cfe3dd;
      box-shadow:0 9px 24px rgba(6,71,51,.08);
      color:#113a31;
    }
    .view-head{
      padding:18px 18px 16px;
      margin:0 0 18px;
      border:1px solid rgba(215,228,231,.82);
      border-radius:26px;
      background:
        linear-gradient(135deg,rgba(255,255,255,.94),rgba(245,251,248,.92)),
        radial-gradient(circle at 100% 0%,rgba(20,127,176,.16),transparent 28%);
      box-shadow:0 14px 42px rgba(8,38,63,.08);
      position:relative;
      overflow:hidden;
    }
    .view-head:before{
      content:"";
      position:absolute;
      left:0;top:0;bottom:0;width:6px;
      background:linear-gradient(180deg,var(--primary),var(--primary-3),var(--accent));
    }
    .view-head h2{color:#0d2238;font-weight:950}
    .view-head p{color:#5d6f82;font-weight:560}
    .return-bar{
      background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(242,249,247,.9));
      border-color:#d1e3df;
      box-shadow:0 11px 30px rgba(8,38,63,.07);
    }
    .card{
      border-color:rgba(199,219,224,.9);
      background:linear-gradient(180deg,#ffffff 0%,#f9fdfb 100%);
      box-shadow:0 20px 58px rgba(8,38,63,.11);
    }
    .card:before{height:5px;opacity:.95;background:linear-gradient(90deg,#064733 0%,#0d8060 38%,#147fb0 72%,#d9a441 100%)}
    .nav-card{
      min-height:162px;
      border:1px solid rgba(199,219,224,.94);
      background:
        radial-gradient(circle at 90% 10%,rgba(20,127,176,.08),transparent 30%),
        linear-gradient(180deg,#ffffff 0%,#f7fcfb 100%);
      box-shadow:0 18px 50px rgba(8,38,63,.10);
      overflow:hidden;
    }
    .nav-card:after{
      content:"";
      position:absolute;
      right:-42px;bottom:-42px;width:120px;height:120px;border-radius:50%;
      background:linear-gradient(135deg,rgba(6,71,51,.10),rgba(217,164,65,.10));
      pointer-events:none;
    }
    .nav-card:hover{transform:translateY(-5px);border-color:#8fcfc0;box-shadow:0 28px 68px rgba(6,71,51,.18)}
    .nav-card .icon{
      width:58px;height:58px;border-radius:21px;
      background:linear-gradient(145deg,#064733,#0d8060 52%,#147fb0);
      color:#fff;
      border:1px solid rgba(255,255,255,.55);
      box-shadow:0 13px 28px rgba(6,71,51,.22), inset 0 1px 0 rgba(255,255,255,.25);
      font-size:27px;
    }
    .nav-card h3{font-size:19px;color:#0e253d;font-weight:950}
    .nav-card p{color:#5e6f80;font-weight:520}
    .nav-card strong{
      color:#074d39;
      background:rgba(6,71,51,.07);
      border:1px solid rgba(6,71,51,.10);
      border-radius:999px;
      padding:7px 10px;
      width:max-content;
      position:relative;
      z-index:1;
    }
    .btn{
      background:linear-gradient(135deg,#064733 0%,#0d8060 56%,#0b4e78 100%);
      box-shadow:0 12px 30px rgba(6,71,51,.18), inset 0 1px 0 rgba(255,255,255,.22);
      border:1px solid rgba(255,255,255,.32);
      font-weight:950;
    }
    .btn.secondary,.btn.neutral{
      background:linear-gradient(180deg,#fff,#f3faf7);
      color:#064733;
      border-color:#b9dcd4;
      box-shadow:0 9px 22px rgba(8,38,63,.07);
    }
    .btn.danger{background:linear-gradient(180deg,#fff,#fff7f7);color:var(--danger);border-color:#fecdca;box-shadow:0 8px 18px rgba(180,35,24,.07)}
    .kpi{
      background:linear-gradient(180deg,#ffffff,#f5fbf8);
      border-color:#d3e5e1;
      box-shadow:0 15px 38px rgba(8,38,63,.09);
    }
    .kpi:before{
      content:"";position:absolute;left:0;top:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary),var(--primary-3),var(--accent));
    }
    .kpi span{color:#526274;font-weight:850;text-transform:uppercase;letter-spacing:.03em;font-size:11.5px}
    .kpi strong{color:#064733}
    .table-wrap{border-color:#d3e5e1;box-shadow:0 16px 44px rgba(8,38,63,.08)}
    th{background:linear-gradient(180deg,#edf7f4,#e7f1f5);color:#18364f;font-weight:950}
    tr:hover td{background:#fbfdfc}
    .training-step{
      border-color:#cfe2e4;
      background:linear-gradient(180deg,#ffffff,#f7fcfb);
      box-shadow:0 16px 44px rgba(8,38,63,.09);
      position:relative;
      overflow:hidden;
    }
    .training-step:before{
      content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,#064733,#147fb0,#d9a441);opacity:.86;
    }
    .training-step.is-active{border-color:rgba(20,127,176,.45);box-shadow:0 18px 52px rgba(20,127,176,.13)}
    .training-step-head>span{
      background:linear-gradient(135deg,#064733,#147fb0);
      color:#fff;
      border:1px solid rgba(255,255,255,.45);
      box-shadow:0 9px 22px rgba(8,38,63,.14);
    }
    .training-step-head h3{font-weight:950;color:#0e253d}
    .field label{color:#1d344d;font-weight:950}
    .field input,.field select,.field textarea{
      border-color:#cfe0e5;
      background:linear-gradient(180deg,#fff,#fbfefd);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.8), 0 7px 18px rgba(8,38,63,.04);
    }
    .field input:focus,.field select:focus,.field textarea:focus{
      outline:none;
      border-color:#147fb0;
      box-shadow:0 0 0 4px rgba(20,127,176,.14), inset 0 1px 0 rgba(255,255,255,.9);
    }
    .training-note{
      border-color:rgba(217,164,65,.36);
      background:linear-gradient(180deg,#fff8e6,#ffffff);
      color:#4c3b16;
      font-weight:650;
    }
    .review-item,.training-detail-group,.training-report-item{
      border-color:#d3e5e1;
      background:linear-gradient(180deg,#fff,#fbfefd);
      box-shadow:0 10px 26px rgba(8,38,63,.07);
    }
    .training-detail-group h4{color:#064733;font-weight:950;border-bottom:1px solid #e8f1ef;padding-bottom:8px}
    .login-brand-panel{background:linear-gradient(135deg,#ffffff 0%,#eaf7ff 54%,#eefbf4 100%)}
    .login-actions{box-shadow:0 28px 78px rgba(8,38,63,.16);border-color:#d6e6e2}
    .login-graesp-seal,.login-ge-crest{box-shadow:0 18px 46px rgba(8,38,63,.16)}
    @media(max-width:640px){
      .view-head{padding:15px 15px 14px;border-radius:22px}.nav-card{min-height:136px}.nav-card .icon{width:52px;height:52px;border-radius:19px;font-size:24px}.nav-card strong{padding:6px 9px}.card{box-shadow:0 16px 42px rgba(8,38,63,.10)}
    }


    /* ==================================================
       FASE 9 — REFINAMENTO VISUAL CONTROLADO DO APP
       CAMADA VISUAL EDITÁVEL — CSS ONLY

       Este bloco refina exclusivamente aparência visual. Não altera IDs,
       funções JavaScript, eventos, fluxos, salvamento, integrações ou dados.
       ================================================== */
    :root{
      --bg:#edf5f3;
      --panel:#ffffff;
      --panel-soft:#f6fbfa;
      --primary:#053f2f;
      --primary-2:#073f63;
      --primary-3:#1180b4;
      --accent:#d8a23a;
      --accent-soft:#fff5da;
      --text:#0f2438;
      --muted:#52677a;
      --line:#d3e2e4;
      --shadow:0 24px 68px rgba(7,36,58,.13);
      --shadow-soft:0 12px 32px rgba(7,36,58,.09);
      --radius:24px;
      --radius-sm:16px;
      --ge-cor-primaria:var(--primary);
      --ge-cor-secundaria:var(--primary-2);
      --ge-cor-operacional:var(--primary-3);
      --ge-cor-destaque:var(--accent);
      --ge-fundo-app:var(--bg);
      --ge-fundo-card:var(--panel);
      --ge-borda-card:var(--line);
      --ge-raio-card:var(--radius);
      --ge-raio-card-menor:var(--radius-sm);
      --ge-sombra-card:var(--shadow);
      --ge-sombra-suave:var(--shadow-soft);
    }
    body:before{
      background:
        radial-gradient(circle at 7% 7%,rgba(17,128,180,.20),transparent 28%),
        radial-gradient(circle at 95% 4%,rgba(5,63,47,.19),transparent 30%),
        radial-gradient(circle at 58% 105%,rgba(216,162,58,.13),transparent 34%),
        linear-gradient(135deg,#edf7f2 0%,#f8fbff 46%,#edf6fb 100%);
    }
    .topbar{
      background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(247,252,250,.94));
      border-bottom:1px solid rgba(192,214,219,.82);
      box-shadow:0 12px 34px rgba(7,36,58,.075);
    }
    .brand-logo,.profile-icon,.nav-card .icon{
      background:linear-gradient(145deg,#053f2f 0%,#0b7b5c 52%,#1180b4 100%);
      color:#fff;
      box-shadow:0 13px 30px rgba(5,63,47,.23), inset 0 1px 0 rgba(255,255,255,.25);
    }
    .brand-title h1,.view-head h2,.nav-card h3{color:#0d2439;font-weight:950}
    .brand-title p,.view-head p,.nav-card p{color:#586c80}
    .badge{
      background:linear-gradient(180deg,#ffffff,#f2faf7);
      border-color:#c9ded9;
      color:#123e34;
      box-shadow:0 10px 24px rgba(5,63,47,.08);
    }
    .main{padding-top:24px}
    .view-head{
      background:
        linear-gradient(135deg,rgba(255,255,255,.96),rgba(246,252,250,.93)),
        radial-gradient(circle at 98% 3%,rgba(17,128,180,.16),transparent 30%);
      border-color:rgba(201,222,226,.9);
      box-shadow:0 16px 46px rgba(7,36,58,.08);
    }
    .view-head:before{background:linear-gradient(180deg,var(--primary),#0b7b5c,var(--primary-3),var(--accent))}
    .return-bar{
      border-color:#cedeeb;
      background:linear-gradient(135deg,rgba(255,255,255,.93),rgba(244,250,248,.92));
      box-shadow:0 12px 30px rgba(7,36,58,.065);
    }
    .card,.kpi,.training-step,.table-wrap,.empty-panel,.review-item,.training-detail-group,.training-report-item{
      border-color:rgba(199,219,224,.92);
      box-shadow:0 18px 52px rgba(7,36,58,.095);
    }
    .card,.kpi,.training-step,.review-item,.training-detail-group,.training-report-item{
      background:linear-gradient(180deg,#ffffff 0%,#f9fdfb 100%);
    }
    .card:before{background:linear-gradient(90deg,#053f2f 0%,#0b7b5c 38%,#1180b4 73%,#d8a23a 100%);height:5px;opacity:.96}
    .nav-card{
      min-height:164px;
      border-color:rgba(199,219,224,.94);
      background:
        radial-gradient(circle at 93% 9%,rgba(17,128,180,.095),transparent 31%),
        linear-gradient(180deg,#ffffff 0%,#f7fcfb 100%);
      box-shadow:0 20px 56px rgba(7,36,58,.10);
    }
    .nav-card:hover{transform:translateY(-5px);border-color:#86cdbf;box-shadow:0 28px 68px rgba(5,63,47,.17)}
    .nav-card .icon{width:60px;height:60px;border-radius:22px;border:1px solid rgba(255,255,255,.55);font-size:28px}
    .nav-card strong{
      color:#063f2f;
      background:rgba(5,63,47,.075);
      border:1px solid rgba(5,63,47,.12);
      border-radius:999px;
      padding:7px 11px;
      width:max-content;
    }
    .btn{
      background:linear-gradient(135deg,#053f2f 0%,#0b7b5c 56%,#073f63 100%);
      border:1px solid rgba(255,255,255,.33);
      box-shadow:0 13px 30px rgba(5,63,47,.18), inset 0 1px 0 rgba(255,255,255,.23);
      font-weight:950;
    }
    .btn:hover{transform:translateY(-2px);filter:brightness(1.04)}
    .btn.secondary,.btn.neutral{
      background:linear-gradient(180deg,#fff,#f3faf7);
      color:#053f2f;
      border-color:#b8d8d1;
      box-shadow:0 9px 22px rgba(7,36,58,.07);
    }
    .btn.danger{background:linear-gradient(180deg,#fff,#fff7f7);color:var(--danger);border-color:#fecdca;box-shadow:0 8px 18px rgba(180,35,24,.07)}
    .kpi:before{background:linear-gradient(90deg,#053f2f,#1180b4,#d8a23a)}
    .kpi span{color:#52677a;font-weight:900;text-transform:uppercase;letter-spacing:.035em;font-size:11.5px}
    .kpi strong{color:#053f2f}
    th{background:linear-gradient(180deg,#edf7f4,#e7f1f5);color:#18364f;font-weight:950}
    td{color:#26384b}
    tr:hover td{background:#fbfdfc}
    .training-step:before{background:linear-gradient(180deg,#053f2f,#1180b4,#d8a23a)}
    .training-step.is-active{border-color:rgba(17,128,180,.44);box-shadow:0 18px 52px rgba(17,128,180,.13)}
    .training-step-head>span{background:linear-gradient(135deg,#053f2f,#1180b4);color:#fff;border:1px solid rgba(255,255,255,.45)}
    .training-step-head h3,.training-detail-group h4{color:#0d2439;font-weight:950}
    .field label{color:#1a344d;font-weight:950}
    .field input,.field select,.field textarea{
      border-color:#c9dde2;
      background:linear-gradient(180deg,#ffffff,#fbfefd);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 7px 18px rgba(7,36,58,.04);
    }
    .field input:focus,.field select:focus,.field textarea:focus{
      outline:none;
      border-color:#1180b4;
      box-shadow:0 0 0 4px rgba(17,128,180,.14),inset 0 1px 0 rgba(255,255,255,.9);
    }
    .training-note{
      border-color:rgba(216,162,58,.38);
      background:linear-gradient(180deg,#fff8e7,#ffffff);
      color:#4c3b16;
    }
    .training-detail-group h4{border-bottom:1px solid #e8f1ef;padding-bottom:8px}
    .login-brand-panel{background:linear-gradient(135deg,#ffffff 0%,#eaf7ff 54%,#eefbf4 100%)}
    .login-actions{border-color:#d4e4e1;box-shadow:0 28px 78px rgba(7,36,58,.15)}
    .login-graesp-seal,.login-ge-crest{box-shadow:0 18px 46px rgba(7,36,58,.15)}
    @media(max-width:640px){
      .main{padding-top:18px}
      .view-head{padding:15px 15px 14px;border-radius:22px}
      .nav-card{min-height:136px}
      .nav-card .icon{width:52px;height:52px;border-radius:19px;font-size:24px}
      .nav-card strong{padding:6px 9px}
      .card{box-shadow:0 16px 42px rgba(7,36,58,.10)}
    }


  

    /* ==================================================
       FASE 9B — OTIMIZAÇÃO VISUAL COMPACTA PARA CELULAR
       Ajustes restritos à CAMADA VISUAL EDITÁVEL.
       Não altera IDs, funções, eventos, fluxos, salvamento ou integrações.
       ================================================== */
    :root{
      --ge-card-compact-padding:16px;
      --ge-card-compact-gap:12px;
      --ge-icon-compact:50px;
      --ge-font-title-compact:18px;
      --ge-font-desc-compact:13.5px;
      --ge-return-padding:8px;
      --ge-return-radius:18px;
    }

    .return-bar{
      margin:0 0 14px;
      padding:var(--ge-return-padding);
      border-radius:var(--ge-return-radius);
      min-height:auto;
      align-items:center;
      box-shadow:0 8px 22px rgba(7,36,58,.055);
    }
    .return-bar .btn,
    .return-bar .btn.secondary,
    .return-bar .btn.neutral{
      min-height:38px;
      padding:8px 13px;
      border-radius:14px;
      font-size:13.5px;
      box-shadow:0 7px 18px rgba(7,36,58,.06);
    }

    .nav-card{
      min-height:138px;
      padding:var(--ge-card-compact-padding);
      gap:var(--ge-card-compact-gap);
      justify-content:flex-start;
    }
    .nav-card .icon{
      width:var(--ge-icon-compact);
      height:var(--ge-icon-compact);
      border-radius:18px;
      font-size:23px;
      margin-bottom:2px;
    }
    .nav-card h3{
      font-size:var(--ge-font-title-compact);
      line-height:1.13;
      margin:0;
    }
    .nav-card p{
      font-size:var(--ge-font-desc-compact);
      line-height:1.34;
      margin:6px 0 0;
    }
    .nav-card strong{
      margin-top:8px;
      padding:6px 10px;
      font-size:12.5px;
    }

    .grid{gap:14px}
    .card{padding:18px}
    .view-head{
      margin-bottom:14px;
      padding:18px 18px 17px;
    }
    .view-head h2{font-size:clamp(23px,3.1vw,32px);line-height:1.08}
    .view-head p{font-size:14.5px;line-height:1.45;margin-top:7px}

    .training-step{padding:18px}
    .training-step-head h3{font-size:18px;line-height:1.18}
    .field label{font-size:13.5px}
    .field input,.field select,.field textarea{min-height:44px;padding:10px 13px}
    .training-detail-panel{padding:15px}
    .training-detail-grid{gap:12px}
    .training-detail-group{padding:12px;border-radius:16px}

    @media(max-width:640px){
      :root{
        --ge-card-compact-padding:14px;
        --ge-card-compact-gap:10px;
        --ge-icon-compact:46px;
        --ge-font-title-compact:17px;
        --ge-font-desc-compact:12.8px;
        --ge-return-padding:7px;
        --ge-return-radius:16px;
      }
      .topbar-inner{padding:8px 14px}
      .brand-logo{width:40px;height:40px;border-radius:14px;font-size:14px}
      .brand{gap:9px}
      .brand-title h1{font-size:16px}
      .brand-title p{font-size:10.8px}
      .badge{font-size:11.5px;padding:6px 9px;max-width:205px}
      .main{padding:16px 14px 34px}
      .return-bar{
        margin:0 0 12px;
        padding:7px;
        border-radius:16px;
      }
      .return-bar .btn,
      .return-bar .btn.secondary,
      .return-bar .btn.neutral{
        min-height:36px;
        padding:7px 12px;
        font-size:13px;
        border-radius:13px;
      }
      .view-head{
        padding:14px 14px 13px;
        border-radius:20px;
        margin-bottom:12px;
      }
      .view-head h2{font-size:clamp(22px,7vw,29px)}
      .view-head p{font-size:13.5px;line-height:1.4}
      .grid{gap:12px}
      .nav-card{
        min-height:116px;
        padding:14px;
        border-radius:21px;
        gap:9px;
      }
      .nav-card:before{height:4px}
      .nav-card .icon{
        width:46px;
        height:46px;
        border-radius:16px;
        font-size:21px;
      }
      .nav-card h3{font-size:17px;line-height:1.12}
      .nav-card p{font-size:12.8px;line-height:1.32;margin-top:5px}
      .nav-card strong{font-size:12px;padding:5px 9px;margin-top:7px}
      .card{padding:16px;border-radius:21px}
      .btn{min-height:38px;padding:8px 13px;font-size:13.5px;border-radius:13px}
      .training-step{padding:15px;border-radius:20px}
      .training-step-head h3{font-size:17px}
      .field input,.field select,.field textarea{min-height:43px;font-size:14px}
      .training-detail-panel{padding:12px}
      .training-detail-grid{gap:10px}
      .training-detail-group{padding:11px;border-radius:15px}
      .training-detail-item{grid-template-columns:minmax(96px,.4fr) 1fr;gap:7px;padding:7px 0}
    }

    @media(max-width:390px){
      .main{padding-left:12px;padding-right:12px}
      .nav-card{min-height:108px;padding:13px}
      .nav-card .icon{width:42px;height:42px;font-size:20px;border-radius:15px}
      .nav-card h3{font-size:16px}
      .nav-card p{font-size:12.4px}
      .view-head h2{font-size:21px}
      .return-bar .btn,
      .return-bar .btn.secondary,
      .return-bar .btn.neutral{min-height:34px;font-size:12.8px;padding:6px 11px}
    }

    /* ==================================================
       FASE 9C — OTIMIZAÇÃO DE SUBMENUS PARA VISUALIZAÇÃO SEM ROLAGEM
       Ajustes restritos à CAMADA VISUAL EDITÁVEL.
       Objetivo: reduzir rolagem em telas com poucos submenus, especialmente Treinamentos.
       Não altera scripts, IDs, onclick, fluxos, salvamento ou integrações.
       ================================================== */
    :root{
      --ge-submenu-fit-card-min:92px;
      --ge-submenu-fit-icon:42px;
      --ge-submenu-fit-title:16px;
      --ge-submenu-fit-desc:12.2px;
      --ge-submenu-fit-gap:9px;
    }

    @media(max-width:640px){
      .return-bar{
        width:max-content;
        max-width:100%;
        margin:0 0 9px;
        padding:0;
        background:transparent;
        border:0;
        border-radius:0;
        box-shadow:none;
      }
      .return-bar .btn,
      .return-bar .btn.secondary,
      .return-bar .btn.neutral{
        min-height:34px;
        padding:6px 11px;
        border-radius:12px;
        font-size:12.8px;
        box-shadow:0 6px 16px rgba(7,36,58,.06);
      }

      .main{padding-top:12px}
      .view-head{
        padding:12px 13px 11px;
        margin-bottom:10px;
        border-radius:19px;
      }
      .view-head h2{font-size:clamp(21px,6.4vw,27px);line-height:1.05}
      .view-head p{font-size:12.8px;line-height:1.34;margin-top:6px}
      .grid{gap:10px}

      .grid.cards:has(> .nav-card:nth-child(2):last-child),
      .grid.cards:has(> .nav-card:nth-child(3):last-child),
      .grid.cards:has(> .nav-card:nth-child(4):last-child){
        gap:9px;
      }
      .grid.cards:has(> .nav-card:nth-child(2):last-child) .nav-card,
      .grid.cards:has(> .nav-card:nth-child(3):last-child) .nav-card,
      .grid.cards:has(> .nav-card:nth-child(4):last-child) .nav-card{
        min-height:var(--ge-submenu-fit-card-min);
        padding:11px 12px;
        border-radius:18px;
        gap:9px;
        display:flex;
        flex-direction:row;
        align-items:center;
        justify-content:space-between;
      }
      .grid.cards:has(> .nav-card:nth-child(2):last-child) .nav-card > div,
      .grid.cards:has(> .nav-card:nth-child(3):last-child) .nav-card > div,
      .grid.cards:has(> .nav-card:nth-child(4):last-child) .nav-card > div{
        display:grid;
        grid-template-columns:var(--ge-submenu-fit-icon) minmax(0,1fr);
        grid-template-rows:auto auto;
        column-gap:10px;
        row-gap:3px;
        align-items:center;
        min-width:0;
        flex:1 1 auto;
      }
      .grid.cards:has(> .nav-card:nth-child(2):last-child) .nav-card .icon,
      .grid.cards:has(> .nav-card:nth-child(3):last-child) .nav-card .icon,
      .grid.cards:has(> .nav-card:nth-child(4):last-child) .nav-card .icon{
        grid-row:1 / span 2;
        width:var(--ge-submenu-fit-icon);
        height:var(--ge-submenu-fit-icon);
        border-radius:15px;
        font-size:20px;
        margin:0;
      }
      .grid.cards:has(> .nav-card:nth-child(2):last-child) .nav-card h3,
      .grid.cards:has(> .nav-card:nth-child(3):last-child) .nav-card h3,
      .grid.cards:has(> .nav-card:nth-child(4):last-child) .nav-card h3{
        font-size:var(--ge-submenu-fit-title);
        line-height:1.08;
        margin:0;
        min-width:0;
      }
      .grid.cards:has(> .nav-card:nth-child(2):last-child) .nav-card p,
      .grid.cards:has(> .nav-card:nth-child(3):last-child) .nav-card p,
      .grid.cards:has(> .nav-card:nth-child(4):last-child) .nav-card p{
        font-size:var(--ge-submenu-fit-desc);
        line-height:1.23;
        margin:0;
        min-width:0;
        display:-webkit-box;
        -webkit-line-clamp:2;
        -webkit-box-orient:vertical;
        overflow:hidden;
      }
      .grid.cards:has(> .nav-card:nth-child(2):last-child) .nav-card strong,
      .grid.cards:has(> .nav-card:nth-child(3):last-child) .nav-card strong,
      .grid.cards:has(> .nav-card:nth-child(4):last-child) .nav-card strong{
        flex:0 0 auto;
        margin:0 0 0 4px;
        padding:5px 8px;
        font-size:11.5px;
        line-height:1;
        border-radius:999px;
        white-space:nowrap;
      }
    }

    @media(max-width:390px){
      :root{
        --ge-submenu-fit-card-min:86px;
        --ge-submenu-fit-icon:39px;
        --ge-submenu-fit-title:15px;
        --ge-submenu-fit-desc:11.7px;
      }
      .main{padding-top:10px}
      .view-head{padding:11px 12px 10px;margin-bottom:9px}
      .return-bar{margin-bottom:8px}
      .grid.cards:has(> .nav-card:nth-child(2):last-child) .nav-card,
      .grid.cards:has(> .nav-card:nth-child(3):last-child) .nav-card,
      .grid.cards:has(> .nav-card:nth-child(4):last-child) .nav-card{padding:10px 11px;border-radius:17px}
    }



    /* ==================================================
       FASE 12E — DASHBOARD EXECUTIVO PREMIUM
       Escopo: somente Dashboard de Treinamentos (.dashboard-pro-training).
       Objetivo: aproximar a apresentação do padrão visual validado no app antigo,
       com filtros compactos, cards executivos, gráficos SVG e leitura gerencial.
       ================================================== */
    .dashboard-pro-training{--dash-ink:#0b1f33;--dash-muted:#667085;--dash-line:#dfe8ea;--dash-bg:#f4faf9;--dash-card:#ffffff;--dash-teal:#087663;--dash-blue:#1769aa;--dash-gold:#d6a84f;--dash-cyan:#1ba6a6;--dash-purple:#6f56d9;--dash-red:#d34a48;display:grid;gap:12px}
    .dashboard-pro-training .view-head{margin-bottom:6px;padding:14px 15px;border-radius:18px;background:linear-gradient(135deg,#ffffff 0%,#f4fbfa 100%);border:1px solid rgba(8,118,99,.12);box-shadow:0 10px 24px rgba(15,39,66,.06);position:relative;overflow:hidden}
    .dashboard-pro-training .view-head:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--dash-teal),var(--dash-blue),var(--dash-gold))}
    .dashboard-pro-training .view-head h2{font-size:clamp(21px,5vw,28px);line-height:1.05;letter-spacing:-.04em}
    .dashboard-pro-training .view-head p{font-size:12.5px;line-height:1.42;margin-top:5px;max-width:720px}
    .dash-filter-shell{background:linear-gradient(180deg,#fff,#f9fffe);border:1px solid rgba(8,118,99,.14);box-shadow:0 10px 24px rgba(15,39,66,.06);border-radius:18px;padding:12px;display:grid;gap:10px;position:relative;overflow:hidden}
    .dash-filter-shell:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--dash-teal),var(--dash-cyan),var(--dash-gold))}
    .dash-filter-title{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-top:2px}
    .dash-filter-title strong{font-size:14px;color:var(--dash-ink);letter-spacing:-.01em}
    .dash-filter-title span{font-size:11.5px;color:var(--dash-muted);font-weight:800;background:#f1f8f7;border:1px solid #dcebe8;border-radius:999px;padding:5px 8px}
    .dash-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
    .dash-filter-grid.advanced{grid-template-columns:repeat(2,minmax(0,1fr));padding-top:8px;border-top:1px dashed rgba(8,118,99,.18)}
    .dash-filter-grid label{display:grid;gap:4px;font-size:11.5px;font-weight:900;color:#334155}
    .dash-filter-grid select,.dash-filter-grid input{width:100%;min-height:34px;border:1px solid #dde7ea;border-radius:12px;background:#fff;padding:7px 9px;font-size:12px;color:var(--dash-ink);box-shadow:0 3px 9px rgba(15,39,66,.035)}
    .dash-filter-grid select[multiple]{min-height:62px}
    .dash-filter-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
    .dash-filter-actions .btn{min-height:34px;padding:8px 11px;border-radius:12px;font-size:12.5px}
    .dash-more{border:1px solid rgba(8,118,99,.13);background:rgba(244,250,249,.75);border-radius:14px;padding:0 10px 10px}
    .dash-more>summary{list-style:none;cursor:pointer;padding:9px 0;font-size:12.5px;font-weight:950;color:var(--dash-teal);display:flex;align-items:center;justify-content:space-between}
    .dash-more>summary::-webkit-details-marker{display:none}
    .dash-more>summary:after{content:"+";display:grid;place-items:center;width:22px;height:22px;border-radius:999px;background:#fff;border:1px solid #dbe8ea;color:var(--dash-teal);font-weight:950}
    .dash-more[open]>summary:after{content:"−"}
    .dash-kpi-premium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
    .dash-kpi-card{--tone-1:var(--dash-teal);--tone-2:var(--dash-blue);--tone-3:var(--dash-gold);position:relative;overflow:hidden;min-height:86px;border-radius:17px;padding:12px 12px 10px;background:linear-gradient(160deg,#ffffff 0%,#f7fcfb 100%);border:1px solid rgba(8,118,99,.13);box-shadow:0 10px 24px rgba(15,39,66,.065)}
    .dash-kpi-card.theme-emerald{--tone-1:#06b58b;--tone-2:#14b8a6;--tone-3:#ffd166}
    .dash-kpi-card.theme-sky{--tone-1:#1f7aff;--tone-2:#00b8ff;--tone-3:#67d5ff}
    .dash-kpi-card.theme-violet{--tone-1:#7c4dff;--tone-2:#b15cff;--tone-3:#ff7bc1}
    .dash-kpi-card.theme-coral{--tone-1:#ff6b57;--tone-2:#ff9b54;--tone-3:#ffd166}
    .dash-kpi-card.theme-gold{--tone-1:#f3b61f;--tone-2:#ffd84d;--tone-3:#ff9f43}
    .dash-kpi-card.theme-lime{--tone-1:#72bf44;--tone-2:#00c48c;--tone-3:#a7d948}
    .dash-kpi-card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--tone-1),var(--tone-2),var(--tone-3))}
    .dash-kpi-card:after{content:"";position:absolute;right:-28px;bottom:-34px;width:86px;height:86px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--tone-1) 18%, transparent),color-mix(in srgb,var(--tone-2) 10%, transparent) 62%,transparent 63%)}
    .dash-kpi-icon{width:26px;height:26px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--tone-1) 18%, #fff),color-mix(in srgb,var(--tone-2) 18%, #fff));border:1px solid color-mix(in srgb,var(--tone-1) 22%, #dcecea);font-size:14px;margin-bottom:7px;box-shadow:0 4px 12px rgba(15,39,66,.05)}
    .dash-kpi-card span{display:block;color:var(--dash-muted);font-size:11.5px;font-weight:900;line-height:1.15;margin-bottom:5px;position:relative;z-index:1}
    .dash-kpi-card strong{display:block;color:var(--dash-ink);font-size:22px;line-height:1;letter-spacing:-.045em;position:relative;z-index:1}
    .dash-kpi-card small{display:block;color:#738195;font-size:10.5px;margin-top:6px;font-weight:750;position:relative;z-index:1}
    .dash-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:6px 0 0;padding:0 2px}
    .dash-section-title h3{margin:0;font-size:17px;color:var(--dash-ink);letter-spacing:-.03em}
    .dash-section-title span{font-size:11.5px;color:var(--dash-muted);font-weight:850}
    .dash-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}
    .dash-chart-card{background:linear-gradient(180deg,#fff,#fbfffe);border:1px solid rgba(8,118,99,.14);border-radius:18px;box-shadow:0 10px 24px rgba(15,39,66,.06);padding:11px;position:relative;overflow:hidden}
    .dash-chart-card{--tone-1:var(--dash-teal);--tone-2:var(--dash-cyan);--tone-3:var(--dash-gold);--tone-soft:rgba(8,118,99,.08)}
    .dash-chart-card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--tone-1),var(--tone-2),var(--tone-3));opacity:.98}
    .dash-chart-card.theme-emerald{--tone-1:#06b58b;--tone-2:#1497c9;--tone-3:#f3c74a;--tone-soft:rgba(6,181,139,.10)}
    .dash-chart-card.theme-sky{--tone-1:#1f7aff;--tone-2:#00b8ff;--tone-3:#67d5ff;--tone-soft:rgba(31,122,255,.10)}
    .dash-chart-card.theme-violet{--tone-1:#7c4dff;--tone-2:#b15cff;--tone-3:#ff7bc1;--tone-soft:rgba(124,77,255,.11)}
    .dash-chart-card.theme-coral{--tone-1:#ff6b57;--tone-2:#ff9b54;--tone-3:#ffd166;--tone-soft:rgba(255,107,87,.10)}
    .dash-chart-card.theme-gold{--tone-1:#f3b61f;--tone-2:#ffd84d;--tone-3:#ff9f43;--tone-soft:rgba(243,182,31,.12)}
    .dash-chart-card.theme-lime{--tone-1:#72bf44;--tone-2:#a7d948;--tone-3:#00c48c;--tone-soft:rgba(114,191,68,.12)}
    .dash-chart-card.theme-rose{--tone-1:#ef476f;--tone-2:#ff6b9a;--tone-3:#ffd166;--tone-soft:rgba(239,71,111,.11)}
    .dash-chart-card.theme-ocean{--tone-1:#005f99;--tone-2:#00a8cc;--tone-3:#7fd8ff;--tone-soft:rgba(0,95,153,.11)}
    .dash-chart-card.theme-indigo{--tone-1:#4f46e5;--tone-2:#6366f1;--tone-3:#22d3ee;--tone-soft:rgba(79,70,229,.10)}
    .dash-chart-card h3{margin:0 0 2px;font-size:13.5px;line-height:1.15;color:var(--dash-ink);letter-spacing:-.012em}
    .dash-chart-card p{margin:0 0 8px;font-size:10.8px;color:var(--dash-muted);line-height:1.28;font-weight:700}
    .dash-svg{width:100%;height:auto;display:block;overflow:visible}
    .dash-axis{stroke:#d7e4e7;stroke-width:1}.dash-gridline{stroke:#edf3f4;stroke-width:1}.dash-label{fill:#607083;font-size:9.5px;font-weight:800}.dash-value{fill:#0b1f33;font-size:10px;font-weight:950}.dash-bar{fill:url(#dashBarGradient);filter:drop-shadow(0 4px 5px rgba(8,118,99,.16))}.dash-line{fill:none;stroke:var(--dash-blue);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 4px 5px rgba(23,105,170,.16))}.dash-dot{fill:#fff;stroke:var(--dash-blue);stroke-width:2.3}
    .dash-donut-wrap{display:grid;grid-template-columns:118px 1fr;gap:12px;align-items:center;min-height:130px}
    .dash-donut{width:112px;height:112px;border-radius:50%;position:relative;box-shadow:inset 0 0 0 20px #fff,0 10px 22px rgba(15,39,66,.12);border:1px solid #dfe8ea;display:grid;place-items:center}
    .dash-donut:after{content:attr(data-total);width:55px;height:55px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--dash-ink);font-weight:950;font-size:16px;box-shadow:0 2px 10px rgba(15,39,66,.08)}
    .dash-legend{display:grid;gap:6px;align-content:center}
    .dash-legend-item{display:grid;grid-template-columns:10px 1fr auto;gap:6px;align-items:center;font-size:10.8px;color:#475467;font-weight:800;line-height:1.2;padding:6px 7px;border-radius:12px;border:1px solid transparent;cursor:pointer;transition:transform .16s ease, background .16s ease, border-color .16s ease}
    .dash-legend-item:hover,.dash-legend-item:active{transform:translateY(-1px);background:#f8fcfc;border-color:#dfe8ea}
    .dash-legend-dot{width:10px;height:10px;border-radius:50%;flex:none}.dash-legend-value{font-weight:950;color:var(--dash-ink)}
    .dash-clickable{cursor:pointer;transition:transform .16s ease, opacity .16s ease}
    .dash-clickable:hover,.dash-clickable:active{transform:translateY(-1px);opacity:.92}
    .dash-chart-detail{margin-top:8px;padding:9px 10px;border-radius:14px;border:1px solid rgba(8,118,99,.12);background:linear-gradient(180deg,#f9fcfc,#ffffff);font-size:11.6px;line-height:1.35;color:#536173}
    .dash-chart-detail strong{display:block;font-size:12.3px;color:var(--dash-ink);margin-bottom:2px}
    .dash-rank{display:grid;gap:8px;padding:2px 0}
    .dash-rank-item{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:7px;align-items:center}
    .dash-rank-pos{width:23px;height:23px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(135deg,#e9fff7,#eaf4ff);border:1px solid #dcecea;color:var(--dash-teal);font-size:11px;font-weight:950}
    .dash-rank-main{display:grid;gap:4px;min-width:0;--tone-1:var(--dash-teal);--tone-2:var(--dash-blue);--tone-3:var(--dash-gold)}.dash-rank-label{font-size:11.2px;color:var(--dash-ink);font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-rank-track{height:9px;background:#edf5f6;border:1px solid #dfeaed;border-radius:999px;overflow:hidden}.dash-rank-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--tone-1, var(--dash-teal)),var(--tone-2, var(--dash-blue)),var(--tone-3, var(--dash-gold)))}.dash-rank-value{font-size:10.8px;color:var(--dash-ink);font-weight:950;white-space:nowrap}
    .dash-rank-card{display:grid;gap:8px}
    .dash-rank-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 2px;padding:6px 7px;border:1px solid rgba(8,118,99,.11);border-radius:14px;background:linear-gradient(90deg,#f8fcfb,#ffffff)}
    .dash-rank-toolbar span{font-size:10.5px;font-weight:900;color:var(--dash-muted)}
    .dash-rank-toggle{display:inline-flex;gap:3px;padding:3px;border-radius:999px;background:#eef6f7;border:1px solid #ddebed}
    .dash-rank-toggle button{border:0;background:transparent;color:#607083;border-radius:999px;padding:5px 8px;font-size:10.5px;font-weight:950;cursor:pointer;line-height:1}
    .dash-rank-toggle button[aria-pressed="true"]{background:#ffffff;color:var(--dash-ink);box-shadow:0 4px 10px rgba(15,39,66,.08)}
    .dash-rank-card[data-rank-view="list"] .dash-rank-graph{display:none}
    .dash-rank-card[data-rank-view="graph"] .dash-rank-list{display:none}
    .dash-rank-card[data-rank-view="list"] .dash-rank-list{display:block}
    .dash-rank-card[data-rank-view="graph"] .dash-rank-graph{display:block}
    .dash-rank-graph{max-height:330px;overflow:auto;padding:2px 1px 4px}
    .dash-rank-graph-frame{position:relative;padding:12px 8px 10px;border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(247,252,253,.78));border:1px solid rgba(39,56,75,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.62)}
    .dash-rank-column-chart{position:relative;display:flex;align-items:flex-end;justify-content:space-around;gap:8px;min-height:205px;padding:26px 4px 34px;border-radius:14px;background:linear-gradient(180deg,rgba(39,56,75,.03),rgba(39,56,75,.01));overflow:hidden}
    .dash-rank-column-chart:before{content:"";position:absolute;inset:26px 6px 34px;background:repeating-linear-gradient(0deg,rgba(39,56,75,.08) 0,rgba(39,56,75,.08) 1px,transparent 1px,transparent 33.333%);pointer-events:none}
    .dash-rank-column-chart:after{content:"";position:absolute;left:6px;right:6px;bottom:34px;height:2px;background:rgba(39,56,75,.14);border-radius:999px;pointer-events:none}
    .dash-rank-column{position:relative;z-index:1;min-width:48px;flex:1;max-width:72px;height:160px;display:flex;align-items:flex-end;justify-content:center;cursor:pointer}
    .dash-rank-column-fill{position:relative;width:74%;min-height:18px;border-radius:14px 14px 6px 6px;box-shadow:0 10px 18px rgba(15,39,66,.15);display:flex;align-items:flex-start;justify-content:center;padding:6px 3px 0;color:#fff;font-size:9.2px;font-weight:950;text-align:center;line-height:1.05;transition:transform .15s ease, filter .15s ease}
    .dash-rank-column:hover .dash-rank-column-fill,.dash-rank-column:focus .dash-rank-column-fill{transform:translateY(-2px);filter:saturate(1.05)}
    .dash-rank-column-label{position:absolute;left:50%;bottom:-32px;transform:translateX(-50%);width:62px;text-align:center;color:var(--dash-ink);font-size:8.8px;font-weight:900;line-height:1.08;white-space:normal;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
    .dash-rank-column-place{position:absolute;left:50%;top:-24px;transform:translateX(-50%);font-size:8.5px;font-weight:950;color:var(--dash-muted);background:#fff;border:1px solid rgba(39,56,75,.10);border-radius:999px;padding:3px 6px;box-shadow:0 4px 10px rgba(15,39,66,.07);white-space:nowrap}
    .dash-rank-yaxis{position:absolute;left:8px;right:8px;top:8px;display:flex;justify-content:space-between;gap:6px;font-size:8.4px;color:var(--dash-muted);font-weight:900;pointer-events:none}
    .dash-rank-graph-note{margin-top:7px;font-size:9px;color:var(--dash-muted);font-weight:850;text-align:center}
    @media (max-width:430px){.dash-rank-column-chart{gap:5px;min-height:190px;padding:24px 2px 32px}.dash-rank-column{min-width:38px;height:148px}.dash-rank-column-fill{width:78%;font-size:8.1px;padding-top:5px}.dash-rank-column-label{width:50px;font-size:7.8px}.dash-rank-column-place{font-size:7.8px;padding:2px 5px;top:-22px}.dash-rank-yaxis{font-size:7.8px}}
    .dash-empty{border:1px dashed #c8dadd;background:#f8fcfc;border-radius:14px;padding:14px;color:#667085;font-size:12px;font-weight:800;text-align:center}
    .dash-panel{border:1px solid rgba(8,118,99,.13);background:linear-gradient(180deg,#fff,#f9fffe);border-radius:18px;box-shadow:0 10px 24px rgba(15,39,66,.055);overflow:hidden}
    .dash-panel>summary{cursor:pointer;list-style:none;padding:12px 14px;font-size:14px;font-weight:950;color:var(--dash-ink);display:flex;align-items:center;justify-content:space-between;background:linear-gradient(90deg,rgba(8,118,99,.07),rgba(23,105,170,.04))}
    .dash-panel>summary::-webkit-details-marker{display:none}.dash-panel>summary:after{content:"+";width:24px;height:24px;border-radius:999px;display:grid;place-items:center;background:#fff;border:1px solid #dce8ea;color:var(--dash-teal)}.dash-panel[open]>summary:after{content:"−"}
    .dash-panel-body{padding:11px;display:grid;gap:10px}
    .dash-insights{display:grid;gap:8px}.dash-insight{border:1px solid #e2ecee;background:#f7fcfc;border-radius:14px;padding:10px;font-size:12px;color:#536173;line-height:1.35}.dash-insight strong{display:block;color:var(--dash-ink);font-size:12.5px;margin-bottom:3px}
    .dashboard-result-item{border-radius:14px!important;padding:10px!important}.dashboard-result-item strong{font-size:12.8px!important}.dashboard-result-item span{font-size:11.5px!important}
    @media(max-width:760px){.dash-kpi-premium{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-chart-grid{grid-template-columns:1fr}.dash-filter-grid,.dash-filter-grid.advanced{grid-template-columns:1fr}.dash-filter-actions{justify-content:stretch}.dash-filter-actions .btn{flex:1}.dash-donut-wrap{grid-template-columns:1fr;justify-items:center}.dash-legend{width:100%}.dashboard-pro-training .view-head{padding:12px 13px}.dash-chart-card{padding:10px}.dash-kpi-card{min-height:78px}.dash-kpi-card strong{font-size:20px}}
    @media(max-width:380px){.dash-kpi-premium{grid-template-columns:1fr}.dash-kpi-card{min-height:72px}.dash-svg .dash-label{font-size:8.5px}}


    /* ==================================================
       FASE 12E R5 — POLIMENTO VISUAL PREMIUM DO DASHBOARD
       Escopo exclusivo: Dashboard de Treinamentos.
       Ajuste visual/CSS: hierarquia, cards, filtros, gráficos e responsividade.
       ================================================== */
    .dashboard-pro-training{
      --dash-ink:#071827;
      --dash-muted:#5f6f82;
      --dash-soft:#f3f8fb;
      --dash-premium-shadow:0 16px 38px rgba(7,24,39,.09);
      --dash-card-shadow:0 12px 28px rgba(7,24,39,.075);
      --dash-hairline:rgba(21,39,58,.10);
      gap:14px;
      padding-bottom:8px;
      position:relative;
    }
    .dashboard-pro-training:before{
      content:"";
      position:absolute;
      inset:-14px -10px auto -10px;
      height:280px;
      border-radius:28px;
      background:
        radial-gradient(circle at 12% 18%, rgba(31,122,255,.12), transparent 32%),
        radial-gradient(circle at 88% 10%, rgba(255,209,102,.16), transparent 30%),
        linear-gradient(135deg, rgba(6,181,139,.10), rgba(79,70,229,.055));
      pointer-events:none;
      z-index:0;
    }
    .dashboard-pro-training>*{position:relative;z-index:1}
    .dashboard-pro-training .view-head{
      padding:16px 16px 15px;
      border-radius:22px;
      border:1px solid rgba(255,255,255,.68);
      background:
        linear-gradient(135deg, rgba(255,255,255,.95), rgba(246,253,252,.88)),
        radial-gradient(circle at top right, rgba(255,209,102,.18), transparent 34%);
      box-shadow:var(--dash-premium-shadow);
      backdrop-filter:blur(10px);
    }
    .dashboard-pro-training .view-head:before{
      width:6px;
      background:linear-gradient(180deg,#06b58b,#1f7aff,#ffd166,#ff6b57);
    }
    .dashboard-pro-training .view-head:after{
      content:"Painel executivo";
      position:absolute;
      top:13px;
      right:13px;
      border-radius:999px;
      padding:5px 9px;
      color:#0b5d53;
      background:rgba(255,255,255,.78);
      border:1px solid rgba(8,118,99,.14);
      font-size:10.5px;
      font-weight:950;
      letter-spacing:.02em;
      text-transform:uppercase;
    }
    .dashboard-pro-training .view-head h2{
      max-width:72%;
      font-size:clamp(22px,5.2vw,30px);
      letter-spacing:-.05em;
      color:#061826;
    }
    .dashboard-pro-training .view-head p{
      color:#5e6b7b;
      font-weight:760;
      max-width:760px;
    }

    .dash-filter-shell{
      border-radius:22px;
      padding:13px;
      background:rgba(255,255,255,.88);
      border:1px solid rgba(255,255,255,.72);
      box-shadow:0 12px 30px rgba(7,24,39,.065);
      backdrop-filter:blur(10px);
    }
    .dash-filter-shell:before{height:5px;background:linear-gradient(90deg,#06b58b,#1f7aff,#7c4dff,#ffd166,#ff6b57)}
    .dash-filter-title strong{font-size:14.5px;display:flex;align-items:center;gap:7px}
    .dash-filter-title strong:before{content:"⚙️";font-size:13px;filter:saturate(1.2)}
    .dash-filter-title span{background:linear-gradient(135deg,#eefdf8,#eff6ff);color:#24505d;border-color:rgba(31,122,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
    .dash-filter-grid{gap:9px}
    .dash-filter-grid label{color:#27384b;font-size:11.2px;text-transform:uppercase;letter-spacing:.018em}
    .dash-filter-grid select,.dash-filter-grid input{
      min-height:37px;
      border-radius:14px;
      border:1px solid rgba(39,56,75,.13);
      background:linear-gradient(180deg,#ffffff,#fbfdff);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 6px 14px rgba(7,24,39,.045);
      font-weight:780;
    }
    .dash-filter-grid select:focus,.dash-filter-grid input:focus{outline:2px solid rgba(31,122,255,.18);border-color:rgba(31,122,255,.38)}
    .dash-more{background:linear-gradient(180deg,rgba(245,250,252,.72),rgba(255,255,255,.76));border-color:rgba(31,122,255,.10);border-radius:16px}
    .dash-more>summary{color:#155e75;font-weight:950}
    .dash-more>summary:after{border-color:rgba(31,122,255,.16);box-shadow:0 4px 10px rgba(7,24,39,.06)}
    .dash-filter-actions .btn{border-radius:14px;box-shadow:0 8px 18px rgba(7,24,39,.08);font-weight:950}
    .dash-filter-actions .btn:not(.neutral){background:linear-gradient(135deg,#087663,#1f7aff);border:0;color:#fff}
    .dash-filter-actions .btn.neutral{background:linear-gradient(180deg,#fff,#f6f8fb);border:1px solid rgba(39,56,75,.12);color:#27384b}

    /* FASE 12E R6 — MODERNIZAÇÃO VISUAL DOS FILTROS DO DASHBOARD */
    .dash-native-filter{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;overflow:hidden!important;white-space:nowrap!important}
    .dash-filter-label{position:relative;display:grid;gap:6px;min-width:0}
    .dash-chip-months,.dash-month-range{display:flex;flex-wrap:wrap;gap:6px;padding:8px;border-radius:16px;background:linear-gradient(180deg,#ffffff,#f7fbfb);border:1px solid rgba(31,122,255,.10);box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}
    .dash-month-chip,.dash-range-chip{appearance:none;border:1px solid rgba(39,56,75,.12);background:linear-gradient(180deg,#fff,#f4f8fb);color:#314156;border-radius:999px;min-height:31px;padding:7px 10px;font-size:11.5px;font-weight:950;letter-spacing:.01em;box-shadow:0 4px 10px rgba(15,39,66,.045);cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease,color .16s ease}
    .dash-month-chip:hover,.dash-range-chip:hover,.dash-month-chip:active,.dash-range-chip:active{transform:translateY(-1px);box-shadow:0 8px 16px rgba(15,39,66,.09)}
    .dash-month-chip.active,.dash-range-chip.active{color:#fff;border-color:transparent;background:linear-gradient(135deg,#087663,#1f7aff);box-shadow:0 9px 18px rgba(31,122,255,.20)}
    .dash-range-chip.all{background:linear-gradient(180deg,#fff,#f8fafc);color:#64748b}.dash-range-chip.all.active{background:linear-gradient(135deg,#475569,#0f172a);color:#fff}
    .dash-custom-select{position:relative;min-width:0}
    .dash-custom-select>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:38px;border:1px solid rgba(31,122,255,.14);border-radius:15px;background:linear-gradient(180deg,#ffffff,#f7fbfb);padding:8px 10px 8px 12px;color:#162638;font-size:12.5px;font-weight:900;box-shadow:0 7px 16px rgba(15,39,66,.055);cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
    .dash-custom-select>summary::-webkit-details-marker{display:none}
    .dash-custom-select>summary:after{content:'⌄';display:grid;place-items:center;width:23px;height:23px;border-radius:999px;background:linear-gradient(135deg,#eefdf8,#eff6ff);border:1px solid rgba(31,122,255,.12);color:#087663;font-weight:950;transition:transform .18s ease}
    .dash-custom-select[open]>summary{border-color:rgba(31,122,255,.34);box-shadow:0 10px 24px rgba(31,122,255,.12)}
    .dash-custom-select[open]>summary:after{transform:rotate(180deg)}
    .dash-select-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
    .dash-select-panel{position:absolute;z-index:50;left:0;right:0;top:calc(100% + 7px);padding:8px;border-radius:17px;background:rgba(255,255,255,.98);border:1px solid rgba(31,122,255,.14);box-shadow:0 18px 44px rgba(15,39,66,.16);backdrop-filter:blur(10px);display:grid;gap:7px;max-height:265px;overflow:auto}
    .dash-select-search{width:100%;min-height:34px;border:1px solid rgba(31,122,255,.14);border-radius:12px;background:linear-gradient(180deg,#fff,#f8fbfd);padding:7px 9px;font-size:12px;font-weight:800;color:#1f2937;outline:none}.dash-select-search:focus{border-color:rgba(31,122,255,.38);box-shadow:0 0 0 3px rgba(31,122,255,.10)}
    .dash-select-option{appearance:none;width:100%;border:1px solid transparent;background:#fff;color:#27384b;text-align:left;border-radius:12px;padding:8px 9px;font-size:12px;font-weight:850;line-height:1.22;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;transition:background .15s ease,border-color .15s ease,transform .15s ease,color .15s ease}.dash-select-option:hover,.dash-select-option:active{background:#f2f8ff;border-color:rgba(31,122,255,.12);transform:translateY(-1px)}
    .dash-select-option.active{background:linear-gradient(135deg,#eefdf8,#eff6ff);border-color:rgba(8,118,99,.18);color:#087663}.dash-select-option.active:after{content:'✓';display:grid;place-items:center;width:20px;height:20px;border-radius:999px;background:linear-gradient(135deg,#087663,#1f7aff);color:#fff;font-size:11px;font-weight:950;flex:none}.dash-select-option.all{color:#64748b;background:#f8fafc}.dash-select-option.all.active{color:#0f172a;border-color:rgba(15,23,42,.10)}
    @media(max-width:760px){.dash-chip-months,.dash-month-range{gap:5px;padding:7px}.dash-month-chip,.dash-range-chip{min-height:20px;padding:7px 9px;font-size:11px}.dash-select-panel{position:relative;top:auto;left:auto;right:auto;max-height:250px;margin-top:7px;box-shadow:0 12px 26px rgba(15,39,66,.12)}}

    .dash-kpi-premium{gap:10px}
    .dash-kpi-card{
      min-height:84px;
      border-radius:20px;
      padding:13px 13px 12px;
      border:1px solid rgba(255,255,255,.75);
      background:
        linear-gradient(150deg, rgba(255,255,255,.98), rgba(255,255,255,.86)),
        linear-gradient(135deg, color-mix(in srgb,var(--tone-1) 12%, #fff), color-mix(in srgb,var(--tone-2) 10%, #fff));
      box-shadow:var(--dash-card-shadow);
      transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    }
    .dash-kpi-card:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(7,24,39,.11);border-color:color-mix(in srgb,var(--tone-1) 22%, #fff)}
    .dash-kpi-card:before{height:5px;opacity:.98}
    .dash-kpi-card:after{right:-20px;bottom:-28px;width:92px;height:92px;opacity:.9}
    .dash-kpi-icon{
      width:29px;height:29px;border-radius:12px;margin-bottom:8px;
      color:#071827;
      box-shadow:0 8px 16px color-mix(in srgb,var(--tone-1) 16%, transparent);
    }
    .dash-kpi-card span{font-size:10.8px;text-transform:uppercase;letter-spacing:.025em;color:#5a697a}
    .dash-kpi-card strong{font-size:23px;color:#071827;text-shadow:0 1px 0 rgba(255,255,255,.8)}
    .dash-kpi-card small{color:#69798c;font-weight:820}

    .dash-section-title{
      margin:10px 0 2px;
      padding:9px 11px;
      border-radius:18px;
      background:linear-gradient(90deg,rgba(255,255,255,.88),rgba(248,252,253,.72));
      border:1px solid rgba(255,255,255,.7);
      box-shadow:0 8px 20px rgba(7,24,39,.045);
    }
    .dash-section-title h3{font-size:18px;display:flex;align-items:center;gap:8px;color:#071827}
    .dash-section-title h3:before{content:"◆";font-size:12px;color:#087663;text-shadow:12px 0 #1f7aff,24px 0 #ffd166;letter-spacing:12px;margin-right:24px}
    .dash-section-title span{font-size:10.8px;text-transform:uppercase;letter-spacing:.035em;color:#6c7a8c}

    .dash-chart-grid{gap:12px}
    .dash-chart-card{
      padding:12px;
      border-radius:22px;
      background:
        linear-gradient(180deg,rgba(255,255,255,.98),rgba(253,254,255,.92)),
        radial-gradient(circle at 95% 5%, var(--tone-soft), transparent 38%);
      border:1px solid rgba(255,255,255,.82);
      box-shadow:0 14px 32px rgba(7,24,39,.075);
      transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    }
    .dash-chart-card:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(7,24,39,.105);border-color:color-mix(in srgb,var(--tone-1) 18%, #fff)}
    .dash-chart-card:before{height:5px;box-shadow:0 3px 10px color-mix(in srgb,var(--tone-1) 22%, transparent)}
    .dash-chart-card:after{
      content:"";
      position:absolute;
      top:12px;right:12px;
      width:34px;height:34px;border-radius:14px;
      background:linear-gradient(135deg,color-mix(in srgb,var(--tone-1) 16%, #fff),color-mix(in srgb,var(--tone-2) 14%, #fff));
      border:1px solid color-mix(in srgb,var(--tone-1) 14%, #fff);
      opacity:.78;
      pointer-events:none;
    }
    .dash-chart-card h3{font-size:14.2px;font-weight:980;padding-right:42px;color:#071827;letter-spacing:-.02em}
    .dash-chart-card p{font-size:10.5px;margin-bottom:7px;color:#647386;max-width:88%}
    .dash-svg{margin-top:1px;border-radius:14px;background:linear-gradient(180deg,rgba(248,251,253,.55),rgba(255,255,255,0));animation:dashFadeUp .34s ease both}
    .dash-axis{stroke:#d8e4ea}.dash-gridline{stroke:#edf3f7}.dash-label{fill:#647386;font-size:9.2px}.dash-value{fill:#071827;font-size:9.6px;font-weight:980}
    .dash-clickable{transition:transform .16s ease,opacity .16s ease,filter .16s ease;transform-box:fill-box;transform-origin:center}
    .dash-clickable:hover,.dash-clickable:active{transform:scale(1.025);filter:brightness(1.04);opacity:.96}

    .dash-donut-wrap{gap:10px;min-height:124px}
    .dash-donut{
      width:116px;height:116px;
      border:6px solid rgba(255,255,255,.65);
      box-shadow:inset 0 0 0 19px #fff,0 14px 28px rgba(7,24,39,.13),0 0 0 1px rgba(39,56,75,.08);
      animation:dashPop .32s ease both;
    }
    .dash-donut:after{width:58px;height:58px;font-size:14px;box-shadow:0 5px 14px rgba(7,24,39,.10);border:1px solid rgba(39,56,75,.08)}
    .dash-legend{gap:5px}
    .dash-legend-item{
      grid-template-columns:11px minmax(0,1fr) auto;
      min-height:27px;
      padding:5px 7px;
      background:rgba(255,255,255,.58);
      border:1px solid rgba(39,56,75,.07);
      box-shadow:0 2px 8px rgba(7,24,39,.025);
    }
    .dash-legend-item:hover,.dash-legend-item:active{background:#fff;border-color:color-mix(in srgb,var(--tone-1) 18%, #dfe8ea);box-shadow:0 7px 16px rgba(7,24,39,.07)}
    .dash-legend-dot{width:11px;height:11px;box-shadow:0 0 0 3px rgba(255,255,255,.85),0 3px 8px rgba(7,24,39,.12)}
    .dash-legend-value{font-size:10.7px;color:#071827}

    .dash-rank{gap:7px}
    .dash-rank-item{grid-template-columns:25px minmax(0,1fr) auto;gap:8px;padding:4px 5px;border-radius:14px;background:rgba(255,255,255,.54);border:1px solid rgba(39,56,75,.06)}
    .dash-rank-item:hover{background:#fff;box-shadow:0 8px 18px rgba(7,24,39,.055)}
    .dash-rank-pos{border-radius:10px;font-weight:980;box-shadow:0 4px 10px rgba(7,24,39,.05)}
    .dash-rank-label{font-size:11.3px;color:#172a3d}
    .dash-rank-track{height:10px;background:#edf3f7;border-color:rgba(39,56,75,.07)}
    .dash-rank-fill{box-shadow:0 2px 8px rgba(7,24,39,.12)}

    .dash-chart-detail{
      margin-top:9px;
      padding:8px 10px;
      border-radius:15px;
      background:linear-gradient(135deg,rgba(255,255,255,.88),color-mix(in srgb,var(--tone-1) 7%, #fff));
      border:1px solid color-mix(in srgb,var(--tone-1) 14%, #e2ecee);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
      color:#526173;
      animation:dashFadeUp .22s ease both;
    }
    .dash-chart-detail strong{color:#071827;font-weight:980}

    .dash-panel{
      border-radius:22px;
      border:1px solid rgba(255,255,255,.78);
      background:rgba(255,255,255,.90);
      box-shadow:0 14px 32px rgba(7,24,39,.07);
      backdrop-filter:blur(10px);
    }
    .dash-panel>summary{
      padding:13px 15px;
      background:linear-gradient(90deg,rgba(8,118,99,.09),rgba(31,122,255,.065),rgba(255,209,102,.07));
      color:#071827;
    }
    .dash-panel>summary:after{box-shadow:0 6px 14px rgba(7,24,39,.07)}
    .dash-panel-body{padding:12px}
    .dash-insight{border-radius:16px;background:linear-gradient(135deg,#fff,#f8fcfd);border-color:rgba(39,56,75,.08);box-shadow:0 6px 16px rgba(7,24,39,.04)}

    .dashboard-result-summary{border-radius:16px;background:linear-gradient(135deg,#fff,#f5fbfd);border:1px solid rgba(39,56,75,.08);padding:10px}
    .dashboard-result-item{border:1px solid rgba(39,56,75,.08)!important;box-shadow:0 6px 15px rgba(7,24,39,.045)!important;background:linear-gradient(180deg,#fff,#fbfdff)!important}

    @keyframes dashFadeUp{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
    @keyframes dashPop{from{opacity:.68;transform:scale(.975)}to{opacity:1;transform:scale(1)}}
    @media (prefers-reduced-motion:reduce){.dash-svg,.dash-donut,.dash-chart-detail,.dash-clickable,.dash-chart-card,.dash-kpi-card{animation:none!important;transition:none!important}}

    @media(max-width:760px){
      .dashboard-pro-training{gap:11px}
      .dashboard-pro-training:before{inset:-10px -6px auto -6px;height:230px}
      .dashboard-pro-training .view-head{border-radius:20px;padding:14px 13px 13px}
      .dashboard-pro-training .view-head:after{position:static;display:inline-block;margin-top:8px}
      .dashboard-pro-training .view-head h2{max-width:100%;font-size:22px}
      .dash-filter-shell,.dash-chart-card,.dash-panel{border-radius:19px}
      .dash-kpi-premium{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
      .dash-kpi-card{min-height:76px;padding:11px;border-radius:18px}
      .dash-kpi-icon{width:26px;height:26px;margin-bottom:6px}
      .dash-kpi-card strong{font-size:19.5px}
      .dash-kpi-card span{font-size:10px}
      .dash-section-title{padding:8px 9px;border-radius:16px;align-items:flex-start;flex-direction:column;gap:2px}
      .dash-section-title h3{font-size:16.5px}.dash-section-title span{font-size:10px}
      .dash-chart-card{padding:10px}.dash-chart-card:after{width:28px;height:28px;border-radius:12px}
      .dash-chart-card h3{font-size:13.5px}.dash-chart-card p{max-width:100%;padding-right:28px}
      .dash-donut{width:108px;height:108px}.dash-donut:after{width:54px;height:54px;font-size:13px}
      .dash-rank-item{grid-template-columns:24px minmax(0,1fr) auto}
    }
    @media(max-width:380px){
      .dash-kpi-premium{grid-template-columns:1fr}
      .dash-chart-card p{padding-right:0}
      .dash-chart-card:after{opacity:.45}
    }

    /* ==================================================
       FASE 14G — OTIMIZAÇÃO RESPONSIVA DOS CARDS DO DASHBOARD
       Escopo exclusivo: apresentação visual dos cards/indicadores do Dashboard.
       Não altera cálculos, filtros, interatividade, configuração, ordenação ou dados.
    ================================================== */
    .dashboard-pro-training .dash-kpi-premium{
      grid-template-columns:repeat(auto-fit,minmax(148px,1fr));
      gap:8px;
      align-items:stretch;
    }
    .dashboard-pro-training .dash-kpi-card{
      min-height:76px;
      padding:10px 11px 9px;
      border-radius:17px;
      display:grid;
      align-content:start;
    }
    .dashboard-pro-training .dash-kpi-card:before{height:4px}
    .dashboard-pro-training .dash-kpi-card:after{
      right:-30px;
      bottom:-36px;
      width:78px;
      height:78px;
      opacity:.72;
    }
    .dashboard-pro-training .dash-kpi-icon{
      width:24px;
      height:24px;
      border-radius:10px;
      font-size:12.5px;
      margin-bottom:5px;
    }
    .dashboard-pro-training .dash-kpi-card span{
      font-size:9.7px;
      line-height:1.12;
      margin-bottom:4px;
      letter-spacing:.018em;
    }
    .dashboard-pro-training .dash-kpi-card strong{
      font-size:18.5px;
      line-height:1.02;
      letter-spacing:-.04em;
    }
    .dashboard-pro-training .dash-kpi-card small{
      font-size:9.5px;
      line-height:1.18;
      margin-top:4px;
    }
    @media(min-width:720px){
      .dashboard-pro-training .dash-kpi-premium{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
      .dashboard-pro-training .dash-kpi-card{min-height:80px;padding:11px 12px 10px}
    }
    @media(min-width:1040px){
      .dashboard-pro-training .dash-kpi-premium{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
    }
    @media(max-width:420px){
      .dashboard-pro-training .dash-kpi-premium{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
      .dashboard-pro-training .dash-kpi-card{min-height:70px;padding:9px 9px 8px;border-radius:16px}
      .dashboard-pro-training .dash-kpi-icon{width:22px;height:22px;font-size:12px;margin-bottom:4px}
      .dashboard-pro-training .dash-kpi-card span{font-size:9.1px}
      .dashboard-pro-training .dash-kpi-card strong{font-size:17px}
      .dashboard-pro-training .dash-kpi-card small{font-size:9px}
    }
    @media(max-width:340px){
      .dashboard-pro-training .dash-kpi-premium{grid-template-columns:1fr}
    }

    /* ==================================================
       FASE 14G-R1 — REFINAMENTO VISUAL FINO DO DASHBOARD
       Escopo exclusivo: visual dos cards abaixo dos filtros e seletor de meses.
       Não altera cálculos, filtros, interatividade, configuração, ordenação ou dados.
    ================================================== */
    .dashboard-pro-training .dash-kpi-premium{
      display:grid!important;
      grid-template-columns:repeat(2,minmax(0,1fr))!important;
      gap:8px!important;
      align-items:stretch;
    }
    .dashboard-pro-training .dash-kpi-card{
      min-width:0;
      min-height:68px;
      padding:9px 9px 8px;
      border-radius:16px;
    }
    .dashboard-pro-training .dash-kpi-icon{
      width:22px;
      height:22px;
      border-radius:10px;
      margin-bottom:4px;
      font-size:12px;
    }
    .dashboard-pro-training .dash-kpi-card span{
      font-size:9px;
      line-height:1.1;
      letter-spacing:.012em;
      display:-webkit-box;
      -webkit-line-clamp:2;
      -webkit-box-orient:vertical;
      overflow:hidden;
    }
    .dashboard-pro-training .dash-kpi-card strong{
      font-size:clamp(15px,4.6vw,18px);
      line-height:1.02;
      word-break:break-word;
    }
    .dashboard-pro-training .dash-kpi-card small{
      font-size:8.8px;
      line-height:1.12;
      display:-webkit-box;
      -webkit-line-clamp:2;
      -webkit-box-orient:vertical;
      overflow:hidden;
    }
    .dashboard-pro-training .dash-filter-shell{
      padding:11px;
      border-radius:20px;
    }
    .dashboard-pro-training .dash-filter-title{
      gap:8px;
      margin-bottom:8px;
    }
    .dashboard-pro-training .dash-filter-title strong{
      font-size:13.6px;
    }
    .dashboard-pro-training .dash-filter-title span{
      font-size:10.2px;
      padding:5px 8px;
      border-radius:999px;
    }
    .dashboard-pro-training .dash-filter-grid{
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:8px;
    }
    .dashboard-pro-training .dash-filter-label{
      font-size:10.4px;
      gap:5px;
    }
    .dashboard-pro-training .dash-months-field{
      grid-column:1/-1;
    }
    .dashboard-pro-training .dash-chip-months{
      display:grid;
      grid-template-columns:repeat(6,minmax(0,1fr));
      gap:5px;
      padding:6px;
      border-radius:15px;
    }
    .dashboard-pro-training .dash-month-range{
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:5px;
      padding:6px;
      border-radius:15px;
    }
    .dashboard-pro-training .dash-month-chip,
    .dashboard-pro-training .dash-range-chip{
      min-height:21px;
      padding:6px 4px;
      font-size:10.2px;
      border-radius:11px;
      width:100%;
      text-align:center;
      justify-content:center;
      box-shadow:0 3px 8px rgba(15,39,66,.04);
    }
    .dashboard-pro-training .dash-filter-actions{
      gap:7px;
    }
    .dashboard-pro-training .dash-filter-actions .btn{
      min-height:34px;
      font-size:11.6px;
      border-radius:12px;
    }
    @media(min-width:720px){
      .dashboard-pro-training .dash-kpi-premium{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important}
      .dashboard-pro-training .dash-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
      .dashboard-pro-training .dash-months-field{grid-column:span 2}
      .dashboard-pro-training .dash-chip-months{grid-template-columns:repeat(6,minmax(0,1fr))}
    }
    @media(min-width:1040px){
      .dashboard-pro-training .dash-kpi-premium{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
    }
    @media(max-width:420px){
      .dashboard-pro-training .dash-kpi-premium{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
      .dashboard-pro-training .dash-filter-grid,.dashboard-pro-training .dash-filter-grid.advanced{grid-template-columns:repeat(2,minmax(0,1fr))!important}
      .dashboard-pro-training .dash-months-field{grid-column:1/-1}
      .dashboard-pro-training .dash-chip-months{grid-template-columns:repeat(4,minmax(0,1fr))}
      .dashboard-pro-training .dash-month-range{grid-template-columns:repeat(3,minmax(0,1fr))}
      .dashboard-pro-training .dash-filter-actions .btn{flex:1 1 0}
    }
    @media(max-width:319px){
      .dashboard-pro-training .dash-kpi-premium{grid-template-columns:1fr!important}
      .dashboard-pro-training .dash-filter-grid,.dashboard-pro-training .dash-filter-grid.advanced{grid-template-columns:1fr!important}
    }





    /* FASE 12F — MODERNIZAÇÃO VISUAL DAS LISTAS DO CADASTRO DE TREINAMENTOS */
    #trainingForm .cadastro-native-select{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;overflow:hidden!important;white-space:nowrap!important}
    #trainingForm .cadastro-select-modern{position:relative;display:block;margin-top:7px;min-width:0}
    #trainingForm .cadastro-select-modern>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:46px;border:1px solid rgba(31,122,255,.15);border-radius:17px;background:linear-gradient(180deg,#ffffff 0%,#f7fbfb 100%);padding:10px 11px 10px 13px;color:#13283d;font-size:13px;font-weight:900;letter-spacing:-.01em;box-shadow:inset 0 1px 0 rgba(255,255,255,.86),0 8px 18px rgba(15,39,66,.06);cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,background .16s ease}
    #trainingForm .cadastro-select-modern>summary::-webkit-details-marker{display:none}
    #trainingForm .cadastro-select-modern>summary:after{content:'⌄';display:grid;place-items:center;width:25px;height:25px;border-radius:999px;background:linear-gradient(135deg,#eefdf8,#eff6ff);border:1px solid rgba(31,122,255,.14);color:#087663;font-size:14px;font-weight:950;box-shadow:0 4px 10px rgba(15,39,66,.045);transition:transform .18s ease,background .18s ease,color .18s ease}
    #trainingForm .cadastro-select-modern[open]>summary{border-color:rgba(31,122,255,.38);box-shadow:0 10px 24px rgba(31,122,255,.13);background:linear-gradient(180deg,#ffffff,#f3fbff)}
    #trainingForm .cadastro-select-modern[open]>summary:after{transform:rotate(180deg);background:linear-gradient(135deg,#087663,#1f7aff);color:#fff;border-color:transparent}
    #trainingForm .cadastro-select-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block}
    #trainingForm .cadastro-select-text.is-empty{color:#64748b;font-weight:850}
    #trainingForm .cadastro-select-panel{position:absolute;z-index:80;left:0;right:0;top:calc(100% + 8px);padding:9px;border-radius:19px;background:rgba(255,255,255,.985);border:1px solid rgba(31,122,255,.16);box-shadow:0 20px 48px rgba(15,39,66,.17);backdrop-filter:blur(10px);display:grid;gap:7px;max-height:286px;overflow:auto;animation:cadastroSelectOpen .16s ease both}
    #trainingForm .cadastro-select-search{width:100%;min-height:36px;border:1px solid rgba(31,122,255,.15);border-radius:13px;background:linear-gradient(180deg,#ffffff,#f8fbfd);padding:8px 10px;color:#172033;font-size:12.5px;font-weight:850;outline:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}
    #trainingForm .cadastro-select-search:focus{border-color:rgba(31,122,255,.42);box-shadow:0 0 0 3px rgba(31,122,255,.10)}
    #trainingForm .cadastro-select-option{appearance:none;width:100%;border:1px solid transparent;background:#fff;color:#27384b;text-align:left;border-radius:13px;padding:9px 10px;font-size:12.6px;font-weight:850;line-height:1.25;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;transition:background .15s ease,border-color .15s ease,transform .15s ease,color .15s ease,box-shadow .15s ease}
    #trainingForm .cadastro-select-option:hover,#trainingForm .cadastro-select-option:active{background:#f2f8ff;border-color:rgba(31,122,255,.13);transform:translateY(-1px);box-shadow:0 6px 14px rgba(15,39,66,.055)}
    #trainingForm .cadastro-select-option.active{background:linear-gradient(135deg,#eefdf8 0%,#eff6ff 100%);border-color:rgba(8,118,99,.19);color:#087663;box-shadow:inset 0 1px 0 rgba(255,255,255,.72)}
    #trainingForm .cadastro-select-option.active:after{content:'✓';display:grid;place-items:center;width:21px;height:21px;border-radius:999px;background:linear-gradient(135deg,#087663,#1f7aff);color:#fff;font-size:11px;font-weight:950;flex:none}
    #trainingForm .cadastro-select-option.empty{color:#64748b;background:#f8fafc}
    #trainingForm .cadastro-select-empty{padding:10px 11px;border-radius:13px;background:#f8fafc;color:#64748b;font-size:12px;font-weight:850;text-align:center}
    @keyframes cadastroSelectOpen{from{opacity:0;transform:translateY(-4px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
    @media(max-width:760px){#trainingForm .cadastro-select-modern>summary{min-height:44px;font-size:12.7px;border-radius:16px}#trainingForm .cadastro-select-panel{position:relative;top:auto;left:auto;right:auto;max-height:255px;margin-top:7px;box-shadow:0 14px 30px rgba(15,39,66,.14)}#trainingForm .cadastro-select-option{font-size:12.4px;padding:9px 9px}}


/* ==================================================
   FASE 14E — CONTROLES DE ATIVAÇÃO DO DASHBOARD
   Camada visual restrita ao painel administrativo do Dashboard.
   ================================================== */
.admin-config-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin:12px 0;padding:12px;border:1px solid rgba(8,118,99,.14);border-radius:18px;background:linear-gradient(135deg,#f8fffd,#ffffff);box-shadow:0 8px 18px rgba(15,39,66,.05)}
.admin-config-actions p{margin:0;color:#667085;font-size:12.5px;line-height:1.35;font-weight:800;max-width:620px}
.admin-chart-status-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 2px;padding:9px 10px;border-radius:14px;background:#f8fafc;border:1px solid #e6edf0}
.admin-toggle-label{display:grid;gap:1px}.admin-toggle-label strong{font-size:12px;color:#19352f}.admin-toggle-label span{font-size:10.5px;color:#667085;font-weight:800}
.admin-switch{position:relative;display:inline-flex;align-items:center;gap:8px;min-width:114px;justify-content:flex-end;font-weight:900;font-size:11.2px;color:#344054;cursor:pointer;user-select:none}
.admin-switch input{position:absolute;opacity:0;pointer-events:none}
.admin-switch-track{width:46px;height:25px;border-radius:999px;background:#d9e2e7;border:1px solid #c7d3da;position:relative;transition:.18s ease;box-shadow:inset 0 1px 3px rgba(15,39,66,.10)}
.admin-switch-track:after{content:"";position:absolute;width:19px;height:19px;border-radius:50%;left:2px;top:2px;background:#fff;box-shadow:0 2px 6px rgba(15,39,66,.20);transition:.18s ease}
.admin-switch input:checked + .admin-switch-track{background:linear-gradient(135deg,#087663,#17a398);border-color:#087663}
.admin-switch input:checked + .admin-switch-track:after{transform:translateX(21px)}
.admin-switch.disabled{opacity:.68;cursor:not-allowed}.admin-switch.disabled .admin-switch-track{background:#eef2f4}
.admin-chart-order-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 2px;padding:9px 10px;border-radius:14px;background:#fff;border:1px solid #e6edf0}
.admin-order-label{display:grid;gap:1px}.admin-order-label strong{font-size:12px;color:#19352f}.admin-order-label span{font-size:10.5px;color:#667085;font-weight:800}
.admin-order-actions{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.admin-order-actions .btn{min-height:20px;padding:7px 10px;border-radius:12px;font-size:11px}
.admin-order-actions .btn:disabled{opacity:.48;cursor:not-allowed;filter:grayscale(.2)}
.admin-future-note{font-size:11px;color:#667085;font-weight:800;margin:6px 0 0;line-height:1.3}


/* ==================================================
   FASE 14G-R2 — REFINAMENTO VISUAL E REORGANIZAÇÃO HIERÁRQUICA DO DASHBOARD
   Escopo exclusivo: visual, responsividade e hierarquia do Dashboard.
   Não altera cálculos, filtros, interatividade, configuração, ordenação ou dados.
================================================== */
.dashboard-pro-training{
  gap:12px;
  padding-bottom:14px;
}
.dashboard-pro-training > section{
  position:relative;
  display:grid;
  gap:9px;
  padding:9px;
  border-radius:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.58),rgba(246,252,252,.38));
  border:1px solid rgba(255,255,255,.64);
  box-shadow:0 8px 22px rgba(7,24,39,.045);
}
.dashboard-pro-training > section:first-of-type{
  background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(241,251,249,.56));
  border-color:rgba(8,118,99,.11);
}
.dashboard-pro-training .dash-section-title{
  margin:0;
  padding:8px 10px;
  min-height:44px;
  border-radius:17px;
  background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(248,253,253,.76));
  border:1px solid rgba(8,118,99,.10);
  box-shadow:0 5px 15px rgba(7,24,39,.035);
}
.dashboard-pro-training .dash-section-title h3{
  font-size:16px;
  line-height:1.12;
  letter-spacing:-.035em;
}
.dashboard-pro-training .dash-section-title h3:before{
  font-size:9px;
  text-shadow:10px 0 #1f7aff,20px 0 #ffd166;
  letter-spacing:10px;
  margin-right:20px;
}
.dashboard-pro-training .dash-section-title span{
  font-size:9.8px;
  line-height:1.18;
}
.dashboard-pro-training .dash-chart-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  align-items:stretch;
}
.dashboard-pro-training .dash-chart-grid > .dash-kpi-card{
  grid-column:auto!important;
}
.dashboard-pro-training .dash-chart-grid > .dash-chart-card,
.dashboard-pro-training .dash-chart-grid > .dash-panel,
.dashboard-pro-training .dash-chart-grid > .dashboard-result-summary{
  grid-column:1/-1;
}
.dashboard-pro-training .dash-kpi-card{
  min-height:66px;
  padding:8px 8px 7px;
  border-radius:15px;
  box-shadow:0 8px 18px rgba(7,24,39,.055);
}
.dashboard-pro-training .dash-kpi-card:after{
  width:72px;
  height:72px;
  right:-34px;
  bottom:-38px;
  opacity:.55;
}
.dashboard-pro-training .dash-kpi-icon{
  width:21px;
  height:21px;
  min-width:21px;
  border-radius:9px;
  margin-bottom:4px;
  font-size:11.5px;
}
.dashboard-pro-training .dash-kpi-card span{
  font-size:8.9px;
  line-height:1.08;
  min-height:19px;
}
.dashboard-pro-training .dash-kpi-card strong{
  font-size:clamp(15px,4.3vw,18px);
  line-height:.98;
}
.dashboard-pro-training .dash-kpi-card small{
  font-size:8.5px;
  line-height:1.08;
  margin-top:4px;
}
.dashboard-pro-training .dash-chart-card{
  padding:10px;
  border-radius:19px;
  box-shadow:0 10px 24px rgba(7,24,39,.06);
}
.dashboard-pro-training .dash-chart-card:after{
  width:28px;
  height:28px;
  border-radius:12px;
  top:10px;
  right:10px;
  opacity:.55;
}
.dashboard-pro-training .dash-chart-card h3{
  font-size:13.4px;
  line-height:1.12;
  padding-right:34px;
}
.dashboard-pro-training .dash-chart-card p{
  font-size:10px;
  line-height:1.22;
  margin-bottom:5px;
  max-width:100%;
  padding-right:22px;
}
.dashboard-pro-training .dash-svg{
  max-height:166px;
}
.dashboard-pro-training .dash-donut-wrap{
  min-height:112px;
  gap:8px;
}
.dashboard-pro-training .dash-donut{
  width:98px;
  height:98px;
  box-shadow:inset 0 0 0 17px #fff,0 10px 20px rgba(7,24,39,.11),0 0 0 1px rgba(39,56,75,.07);
}
.dashboard-pro-training .dash-donut:after{
  width:48px;
  height:48px;
  font-size:12px;
}
.dashboard-pro-training .dash-legend-item{
  min-height:24px;
  padding:4px 6px;
  font-size:10px;
}
.dashboard-pro-training .dash-chart-detail{
  margin-top:6px;
  padding:7px 8px;
  border-radius:13px;
  font-size:10.5px;
}
.dashboard-pro-training .dash-chart-detail strong{
  font-size:11.3px;
}
.dashboard-pro-training .dash-rank{
  gap:5px;
}
.dashboard-pro-training .dash-rank-item{
  padding:4px 5px;
  gap:7px;
}
.dashboard-pro-training .dash-rank-label,
.dashboard-pro-training .dash-rank-value{
  font-size:10.7px;
}
.dashboard-pro-training .dash-filter-shell{
  padding:10px;
  border-radius:20px;
  gap:8px;
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(248,253,252,.86));
  border:1px solid rgba(8,118,99,.12);
  box-shadow:0 10px 24px rgba(7,24,39,.055);
}
.dashboard-pro-training .dash-filter-title{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:7px;
  margin-bottom:2px;
}
.dashboard-pro-training .dash-filter-title strong{
  font-size:13px;
  line-height:1.12;
}
.dashboard-pro-training .dash-filter-title span{
  font-size:9.6px;
  padding:4px 7px;
  white-space:nowrap;
}
.dashboard-pro-training .dash-filter-grid,
.dashboard-pro-training .dash-filter-grid.advanced{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px!important;
}
.dashboard-pro-training .dash-filter-grid label,
.dashboard-pro-training .dash-filter-label{
  font-size:9.8px;
  letter-spacing:.012em;
}
.dashboard-pro-training .dash-filter-grid select,
.dashboard-pro-training .dash-filter-grid input,
.dashboard-pro-training .dash-custom-select>summary{
  min-height:34px;
  border-radius:13px;
  font-size:11.4px;
  padding:7px 9px;
}
.dashboard-pro-training .dash-months-field{
  grid-column:1/-1!important;
  padding:7px;
  border-radius:17px;
  background:linear-gradient(135deg,rgba(239,253,248,.72),rgba(239,246,255,.60));
  border:1px solid rgba(31,122,255,.08);
}
.dashboard-pro-training .dash-months-field::before{
  content:'Meses do recorte';
  display:block;
  margin:0 0 6px 2px;
  color:#355166;
  font-size:9.5px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.dashboard-pro-training .dash-chip-months{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:4px;
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
}
.dashboard-pro-training .dash-month-range{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:4px;
  padding:6px;
  border-radius:14px;
}
.dashboard-pro-training .dash-month-chip,
.dashboard-pro-training .dash-range-chip{
  min-height:25px;
  padding:5px 3px;
  border-radius:9px;
  font-size:9.5px;
  letter-spacing:0;
  box-shadow:0 2px 6px rgba(15,39,66,.035);
}
.dashboard-pro-training .dash-month-chip.active,
.dashboard-pro-training .dash-range-chip.active{
  box-shadow:0 6px 13px rgba(31,122,255,.16);
}
.dashboard-pro-training .dash-more{
  padding:0 8px 8px;
  border-radius:15px;
}
.dashboard-pro-training .dash-more>summary{
  padding:8px 0;
  font-size:11.5px;
}
.dashboard-pro-training .dash-filter-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
}
.dashboard-pro-training .dash-filter-actions .btn{
  width:100%;
  min-height:33px;
  font-size:11.2px;
  padding:7px 9px;
}
.dashboard-pro-training .dash-panel{
  border-radius:19px;
  box-shadow:0 10px 24px rgba(7,24,39,.055);
}
.dashboard-pro-training .dash-panel>summary{
  min-height:42px;
  padding:11px 13px;
  font-size:12.5px;
}
.dashboard-pro-training .dash-panel-body{
  padding:10px;
}
.dashboard-pro-training .dashboard-result-summary{
  padding:8px;
  font-size:11px;
}
@media(min-width:760px){
  .dashboard-pro-training .dash-chart-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .dashboard-pro-training .dash-chart-grid > .dash-chart-card{
    grid-column:auto;
  }
  .dashboard-pro-training > section:first-of-type .dash-chart-grid > .dash-kpi-card{
    grid-column:auto!important;
  }
  .dashboard-pro-training .dash-filter-grid,
  .dashboard-pro-training .dash-filter-grid.advanced{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .dashboard-pro-training .dash-filter-actions{
    display:flex;
    justify-content:flex-end;
  }
  .dashboard-pro-training .dash-filter-actions .btn{
    width:auto;
  }
}
@media(min-width:1080px){
  .dashboard-pro-training .dash-chart-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .dashboard-pro-training .dash-chart-grid > .dash-chart-card{
    grid-column:auto;
  }
  .dashboard-pro-training > section:first-of-type .dash-chart-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .dashboard-pro-training > section:first-of-type .dash-chart-grid > .dash-chart-card{
    grid-column:span 2;
  }
}
@media(max-width:430px){
  .dashboard-pro-training{gap:10px}
  .dashboard-pro-training > section{padding:7px;border-radius:20px;gap:7px}
  .dashboard-pro-training .dash-section-title{padding:7px 8px;min-height:40px;border-radius:15px}
  .dashboard-pro-training .dash-section-title h3{font-size:14.8px}
  .dashboard-pro-training .dash-section-title span{font-size:9.2px}
  .dashboard-pro-training .dash-kpi-card{min-height:62px;padding:8px 7px 7px;border-radius:14px}
  .dashboard-pro-training .dash-kpi-icon{width:20px;height:20px;font-size:11px;margin-bottom:3px}
  .dashboard-pro-training .dash-kpi-card span{font-size:8.4px;min-height:18px}
  .dashboard-pro-training .dash-kpi-card strong{font-size:15.5px}
  .dashboard-pro-training .dash-kpi-card small{font-size:8px}
  .dashboard-pro-training .dash-filter-shell{padding:9px;border-radius:18px}
  .dashboard-pro-training .dash-chip-months{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .dashboard-pro-training .dash-month-range{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .dashboard-pro-training .dash-chart-card{padding:9px;border-radius:17px}
  .dashboard-pro-training .dash-svg{max-height:154px}
}
@media(max-width:330px){
  .dashboard-pro-training .dash-chart-grid{grid-template-columns:1fr!important}
  .dashboard-pro-training .dash-filter-grid,
  .dashboard-pro-training .dash-filter-grid.advanced{grid-template-columns:1fr!important}
  .dashboard-pro-training .dash-chip-months{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}




    /* ==================================================
       FASE 15A — ASSISTENTE INTELIGENTE GRAESP
       Camada consultiva local, sem IA externa e sem alteração de dados.
       ================================================== */
    .ai-assistant-shell{display:grid;gap:14px}.ai-hero{position:relative;overflow:hidden;border:1px solid rgba(8,118,99,.16);border-radius:24px;background:linear-gradient(135deg,#053b35,#087663 58%,#0ea88d);color:#fff;padding:18px;box-shadow:0 14px 34px rgba(5,59,53,.18)}.ai-hero:after{content:"";position:absolute;right:-40px;top:-60px;width:180px;height:180px;border-radius:999px;background:rgba(255,255,255,.13)}.ai-hero h3{margin:0 0 6px;font-size:18px;letter-spacing:-.02em}.ai-hero p{margin:0;color:rgba(255,255,255,.86);font-weight:700;line-height:1.45}.ai-hero-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.ai-hero-badges span{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);font-size:11.5px;font-weight:900}.ai-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.ai-kpi{border:1px solid #e4edf0;border-radius:18px;background:#fff;padding:12px;box-shadow:0 8px 22px rgba(15,39,66,.06);display:grid;gap:5px}.ai-kpi span{font-size:11px;color:#667085;font-weight:900;text-transform:uppercase;letter-spacing:.02em}.ai-kpi strong{font-size:18px;color:#19352f;line-height:1}.ai-kpi small{font-size:11px;color:#667085;font-weight:800}.ai-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:4px 0 0}.ai-section-title h3{margin:0;font-size:16px;color:#19352f}.ai-section-title span{font-size:11.5px;color:#667085;font-weight:900}.ai-recommendation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ai-rec-card{position:relative;border:1px solid #e4edf0;border-left:5px solid #087663;border-radius:20px;background:#fff;padding:13px 14px;box-shadow:0 10px 24px rgba(15,39,66,.06);display:grid;gap:7px}.ai-rec-card.warn{border-left-color:#d97706}.ai-rec-card.info{border-left-color:#2563eb}.ai-rec-card.ok{border-left-color:#16a34a}.ai-rec-card.critical{border-left-color:#dc2626}.ai-rec-card h4{margin:0;color:#19352f;font-size:14px}.ai-rec-card p{margin:0;color:#475467;font-size:12.5px;font-weight:750;line-height:1.45}.ai-rec-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:3px}.ai-rec-meta span{border-radius:999px;background:#f1f7f6;border:1px solid #dceae7;color:#195c52;padding:5px 8px;font-size:10.8px;font-weight:900}.ai-empty{border:1px dashed #cbd5e1;border-radius:20px;padding:18px;text-align:center;background:#f8fafc;color:#667085;font-weight:800}.ai-note{border:1px solid rgba(37,99,235,.16);background:#f6f9ff;border-radius:18px;padding:12px 13px;color:#344054;font-size:12.3px;font-weight:800;line-height:1.45}.ai-mini-list{display:grid;gap:8px}.ai-mini-item{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #e8eef1;border-radius:15px;background:#fbfdfd;padding:9px 10px}.ai-mini-item strong{font-size:12.2px;color:#19352f}.ai-mini-item span{font-size:11.2px;color:#667085;font-weight:900;text-align:right}.admin-config-actions .ai-access-buttons{display:flex;gap:8px;flex-wrap:wrap}.ai-hub-shell{display:grid;gap:14px}.ai-hub-hero{position:relative;overflow:hidden;border:1px solid rgba(8,118,99,.16);border-radius:24px;background:linear-gradient(135deg,#053b35,#087663 58%,#0ea88d);color:#fff;padding:18px;box-shadow:0 14px 34px rgba(5,59,53,.18)}.ai-hub-hero:after{content:"";position:absolute;right:-42px;top:-58px;width:172px;height:172px;border-radius:999px;background:rgba(255,255,255,.12)}.ai-hub-hero h3{margin:0 0 6px;font-size:18px;letter-spacing:-.02em}.ai-hub-hero p{margin:0;color:rgba(255,255,255,.86);font-weight:750;line-height:1.45;max-width:760px}.ai-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ai-hub-card{display:flex;align-items:flex-start;gap:12px;border:1px solid #e4edf0;border-radius:22px;background:#fff;padding:14px;box-shadow:0 10px 26px rgba(15,39,66,.06);cursor:pointer;text-align:left;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.ai-hub-card:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(15,39,66,.10);border-color:rgba(8,118,99,.30)}.ai-hub-card:focus-visible{outline:3px solid rgba(8,118,99,.24);outline-offset:2px}.ai-hub-card.primary{grid-column:1/-1;background:linear-gradient(135deg,#ffffff,#f1fbf8);border-color:rgba(8,118,99,.24)}.ai-hub-icon{width:42px;height:42px;border-radius:16px;display:grid;place-items:center;background:#f1f7f6;border:1px solid #dceae7;font-size:20px;flex:0 0 auto}.ai-hub-card.primary .ai-hub-icon{background:#087663;color:#fff;border-color:#087663}.ai-hub-content{display:grid;gap:5px;min-width:0}.ai-hub-kicker{font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:#667085;font-weight:950}.ai-hub-card.primary .ai-hub-kicker{color:#087663}.ai-hub-title{margin:0;color:#19352f;font-size:15px;font-weight:950;line-height:1.15}.ai-hub-desc{margin:0;color:#667085;font-size:12.4px;font-weight:750;line-height:1.38}.ai-hub-order{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;background:#f8fafc;border:1px solid #e4edf0;color:#344054;font-size:11px;font-weight:950;margin-left:auto;flex:0 0 auto}.ai-hub-card.primary .ai-hub-order{background:#e8f7f3;border-color:#ccebe3;color:#087663}.ai-hub-footer{display:flex;flex-wrap:wrap;gap:8px}.ai-hub-footer span{border:1px solid #dceae7;background:#f7fbfa;color:#195c52;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:900}
    @media(max-width:720px){.ai-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-recommendation-grid{grid-template-columns:1fr}.ai-hero{padding:15px}.ai-section-title{align-items:flex-start;flex-direction:column;gap:4px}.ai-kpi{padding:10px}.ai-kpi strong{font-size:16px}.ai-hub-grid{grid-template-columns:1fr}.ai-hub-card.primary{grid-column:auto}.ai-hub-hero{padding:15px;border-radius:21px}.ai-hub-card{border-radius:19px;padding:12px}.ai-hub-icon{width:38px;height:38px;border-radius:14px}.ai-hub-title{font-size:14px}.ai-hub-desc{font-size:12px}}


    /* FASE 15C — filtros internos e diagnóstico por período do Assistente Inteligente GRAESP */
    .ai-filter-panel{border:1px solid rgba(8,118,99,.14);border-radius:22px;background:linear-gradient(180deg,#ffffff,#f6fbfa);padding:13px;box-shadow:0 10px 26px rgba(15,39,66,.06);display:grid;gap:12px}.ai-filter-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ai-filter-head h3{margin:0;color:#19352f;font-size:15px}.ai-filter-head p{margin:4px 0 0;color:#667085;font-size:12px;font-weight:800;line-height:1.35}.ai-filter-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#e8f6f3;color:#087663;border:1px solid #cce9e3;padding:6px 9px;font-size:10.8px;font-weight:950;white-space:nowrap}.ai-filter-grid{display:grid;grid-template-columns:1.15fr .75fr .75fr 1.15fr;gap:9px}.ai-filter-field{display:grid;gap:5px;border:1px solid transparent;border-radius:16px;padding:6px;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,opacity .18s ease}.ai-filter-field label{font-size:10.8px;font-weight:950;color:#475467;text-transform:uppercase;letter-spacing:.02em}.ai-filter-field select{width:100%;border:1px solid #d9e5e7;border-radius:13px;background:#fff;padding:9px 10px;color:#19352f;font-weight:850;outline:none}.ai-filter-field select:focus{border-color:#087663;box-shadow:0 0 0 3px rgba(8,118,99,.1)}.ai-filter-field.is-context-active{border-color:rgba(8,118,99,.24);background:#f4fbf9;box-shadow:0 8px 18px rgba(8,118,99,.08)}.ai-filter-field.is-context-active label{color:#087663}.ai-filter-field.is-context-active select{border-color:#9dd8ce;background:#fff}.ai-filter-field.is-context-muted{background:#f8fafc;border-color:#edf2f7}.ai-filter-field.is-context-muted label{color:#98a2b3}.ai-filter-field.is-context-muted select{border-style:dashed;background:#fbfcfd;color:#667085}.ai-filter-field.is-context-muted select:disabled{cursor:not-allowed;opacity:.72;background:#f1f5f9;color:#98a2b3}.ai-filter-hint{font-size:10.4px;font-weight:850;line-height:1.25;color:#667085}.ai-filter-field.is-context-active .ai-filter-hint{color:#087663}.ai-filter-field.is-context-muted .ai-filter-hint{color:#98a2b3}.ai-period-field{display:grid;gap:7px}.ai-period-native{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.ai-period-options{display:flex;flex-wrap:wrap;gap:7px}.ai-period-option{border:1px solid #d9e5e7;border-radius:999px;background:#fff;color:#344054;padding:8px 10px;font-size:11.2px;font-weight:950;line-height:1;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}.ai-period-option:hover{border-color:#9dd8ce;background:#f4fbf9;color:#087663}.ai-period-option.is-active{border-color:#087663;background:#087663;color:#fff;box-shadow:0 8px 18px rgba(8,118,99,.18)}.ai-period-option:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(8,118,99,.14)}.ai-filter-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.ai-filter-summary{border:1px dashed #cbd5e1;border-radius:16px;background:#f8fafc;padding:9px 10px;color:#475467;font-size:11.8px;font-weight:850;line-height:1.4}.ai-period-chip-row{display:flex;flex-wrap:wrap;gap:7px}.ai-period-chip{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:999px;border:1px solid #d9e5e7;background:#fff;color:#344054;font-size:10.8px;font-weight:950}.ai-period-chip strong{color:#087663}.ai-context-note{border:1px solid rgba(8,118,99,.16);background:#f4fbf9;border-radius:18px;padding:11px 12px;color:#315a54;font-size:12px;font-weight:850;line-height:1.45}.ai-individual-panel{border:1px solid rgba(8,118,99,.16);border-radius:22px;background:linear-gradient(180deg,#ffffff,#f7fbfa);padding:13px;box-shadow:0 10px 26px rgba(15,39,66,.06);display:grid;gap:12px}.ai-individual-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ai-individual-head h3{margin:0;color:#19352f;font-size:15px}.ai-individual-head p{margin:4px 0 0;color:#667085;font-size:12px;font-weight:800;line-height:1.35}.ai-individual-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.ai-individual-control label{font-size:10.8px;font-weight:950;color:#475467;text-transform:uppercase;letter-spacing:.02em;display:grid;gap:5px}.ai-individual-control select{width:100%;border:1px solid #d9e5e7;border-radius:13px;background:#fff;padding:10px;color:#19352f;font-weight:850;outline:none}.ai-individual-control select:focus{border-color:#087663;box-shadow:0 0 0 3px rgba(8,118,99,.1)}.ai-individual-empty{border:1px dashed #cbd5e1;border-radius:16px;background:#f8fafc;padding:11px 12px;color:#475467;font-size:12px;font-weight:850;line-height:1.45}.ai-individual-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.ai-individual-kpi{border:1px solid #e4edf0;background:#fff;border-radius:16px;padding:10px;display:grid;gap:4px}.ai-individual-kpi span{font-size:10.5px;font-weight:950;color:#667085;text-transform:uppercase}.ai-individual-kpi strong{font-size:17px;color:#087663}.ai-individual-kpi small{font-size:10.5px;color:#667085;font-weight:800}.ai-individual-note{border-left:4px solid #087663;background:#f4fbf9;border-radius:14px;padding:10px;color:#315a54;font-size:12px;font-weight:850;line-height:1.45}@media(max-width:760px){.ai-individual-control{grid-template-columns:1fr}.ai-individual-kpis{grid-template-columns:1fr 1fr}}@media(max-width:420px){.ai-individual-kpis{grid-template-columns:1fr}}@media(max-width:760px){.ai-filter-grid{grid-template-columns:1fr 1fr}.ai-filter-field:first-child,.ai-filter-field:last-child{grid-column:1/-1}.ai-filter-head{display:grid}.ai-filter-badge{justify-self:start}.ai-filter-actions .btn{flex:1;min-width:130px}}@media(max-width:420px){.ai-filter-grid{grid-template-columns:1fr}.ai-filter-field:first-child,.ai-filter-field:last-child{grid-column:auto}}

    /* FASE 15B — refinamento visual consultivo do Assistente Inteligente GRAESP */
    .ai-executive-summary{border:1px solid rgba(8,118,99,.14);border-radius:22px;background:linear-gradient(180deg,#ffffff,#f7fffc);padding:14px;box-shadow:0 10px 26px rgba(15,39,66,.06);display:grid;gap:12px}
    .ai-exec-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(8,118,99,.12);padding-bottom:10px}
    .ai-exec-head h3{margin:0;color:#19352f;font-size:16px;letter-spacing:-.01em}.ai-exec-head p{margin:4px 0 0;color:#667085;font-size:12.4px;font-weight:800;line-height:1.45}.ai-exec-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:950;white-space:nowrap;border:1px solid rgba(8,118,99,.14);background:#ecfdf5;color:#05604f}
    .ai-exec-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.ai-exec-item{border:1px solid #e4edf0;border-radius:17px;background:#fff;padding:11px;display:grid;gap:6px}.ai-exec-item span{font-size:10.5px;color:#667085;text-transform:uppercase;font-weight:950;letter-spacing:.02em}.ai-exec-item strong{font-size:12.3px;color:#19352f;line-height:1.35}.ai-priority-strip{display:flex;flex-wrap:wrap;gap:8px}.ai-priority-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:950;border:1px solid #e4edf0;background:#fff;color:#344054}.ai-priority-pill.ai-priority-alta{background:#fff1f2;border-color:#fecdd3;color:#9f1239}.ai-priority-pill.ai-priority-media{background:#fffbeb;border-color:#fde68a;color:#92400e}.ai-priority-pill.ai-priority-baixa{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.ai-priority-pill.ai-priority-informativo{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}
    .ai-rec-card{border-left-width:6px}.ai-rec-card.ai-priority-alta{border-left-color:#dc2626;background:linear-gradient(180deg,#fff,#fff8f8)}.ai-rec-card.ai-priority-media{border-left-color:#d97706;background:linear-gradient(180deg,#fff,#fffaf0)}.ai-rec-card.ai-priority-baixa{border-left-color:#16a34a;background:linear-gradient(180deg,#fff,#f8fff9)}.ai-rec-card.ai-priority-informativo{border-left-color:#2563eb;background:linear-gradient(180deg,#fff,#f7fbff)}
    .ai-rec-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.ai-rec-priority{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:950;white-space:nowrap;border:1px solid #e4edf0;background:#f8fafc;color:#344054}.ai-rec-priority.ai-priority-alta{background:#ffe4e6;border-color:#fecdd3;color:#9f1239}.ai-rec-priority.ai-priority-media{background:#fef3c7;border-color:#fde68a;color:#92400e}.ai-rec-priority.ai-priority-baixa{background:#dcfce7;border-color:#bbf7d0;color:#166534}.ai-rec-priority.ai-priority-informativo{background:#dbeafe;border-color:#bfdbfe;color:#1d4ed8}.ai-rec-detail{display:grid;gap:5px;border-top:1px solid rgba(228,237,240,.8);padding-top:7px}.ai-rec-detail span{display:block;font-size:11.4px;color:#667085;font-weight:900;line-height:1.45}.ai-rec-detail span strong{color:#344054}.ai-block-panel{display:grid;gap:10px;border:1px solid #e4edf0;border-radius:22px;background:#fff;padding:13px;box-shadow:0 10px 24px rgba(15,39,66,.055)}.ai-block-panel .ai-recommendation-grid{margin-top:2px}.ai-block-empty{border:1px dashed #cbd5e1;border-radius:18px;padding:14px;text-align:center;background:#f8fafc;color:#667085;font-size:12.3px;font-weight:850;line-height:1.45}
    @media(max-width:920px){.ai-exec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-recommendation-grid{grid-template-columns:1fr}.ai-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
    @media(max-width:640px){.ai-hero{padding:15px;border-radius:21px}.ai-executive-summary,.ai-block-panel{border-radius:19px;padding:12px}.ai-exec-head{display:grid}.ai-exec-badge{justify-self:start}.ai-exec-grid{grid-template-columns:1fr}.ai-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ai-kpi{padding:10px;border-radius:16px}.ai-kpi strong{font-size:16px}.ai-rec-card{padding:12px;border-radius:18px}.ai-rec-top{display:grid}.ai-rec-priority{justify-self:start}.ai-section-title{display:grid;gap:4px}}


.ai-individual-modern{background:linear-gradient(180deg,#ffffff 0%,#f4fbf9 100%);border-color:rgba(8,118,99,.20)}
.ai-individual-selector-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(155px,auto);gap:10px;align-items:end;border:1px solid rgba(8,118,99,.16);background:#fff;border-radius:18px;padding:12px;box-shadow:0 8px 20px rgba(15,39,66,.045)}
.ai-individual-selector-card label{display:grid;gap:6px;font-size:10.8px;font-weight:950;color:#475467;text-transform:uppercase;letter-spacing:.02em}.ai-individual-selector-card label span{color:#087663}.ai-individual-selector-card select{width:100%;border:1px solid #cfe4e4;border-radius:14px;background:#fff;padding:11px 12px;color:#19352f;font-weight:900;outline:none}.ai-individual-selector-card select:focus{border-color:#087663;box-shadow:0 0 0 3px rgba(8,118,99,.1)}
.ai-selector-helper{border:1px dashed #cbd5e1;border-radius:16px;background:#f8fafc;padding:9px 10px;display:grid;gap:2px;color:#475467}.ai-selector-helper strong{font-size:18px;color:#087663;line-height:1}.ai-selector-helper span{font-size:10.5px;font-weight:850;line-height:1.25}.ai-pdf-config-grid{display:grid;grid-template-columns:.75fr 1fr 1fr;gap:10px}.ai-individual-pdf-panel{border-color:rgba(15,61,94,.16);background:linear-gradient(180deg,#ffffff,#f7fafc)}

/* FASE 16Q-R2 — Listas modernas do Assistente Inteligente */
.ai-modern-select-label{display:grid;gap:7px;font-size:10.8px;font-weight:950;color:#475467;text-transform:uppercase;letter-spacing:.02em;min-width:0}.ai-modern-select-label>span{color:#087663}.ai-modern-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;overflow:hidden!important;white-space:nowrap!important}.ai-modern-select{position:relative;display:block;min-width:0}.ai-modern-select>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:46px;border:1px solid rgba(31,122,255,.15);border-radius:17px;background:linear-gradient(180deg,#ffffff 0%,#f7fbfb 100%);padding:10px 11px 10px 13px;color:#13283d;font-size:13px;font-weight:900;letter-spacing:-.01em;box-shadow:inset 0 1px 0 rgba(255,255,255,.86),0 8px 18px rgba(15,39,66,.06);cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,background .16s ease}.ai-modern-select>summary::-webkit-details-marker{display:none}.ai-modern-select>summary:after{content:'⌄';display:grid;place-items:center;width:25px;height:25px;border-radius:999px;background:linear-gradient(135deg,#eefdf8,#eff6ff);border:1px solid rgba(31,122,255,.14);color:#087663;font-size:14px;font-weight:950;box-shadow:0 4px 10px rgba(15,39,66,.045);transition:transform .18s ease,background .18s ease,color .18s ease}.ai-modern-select[open]>summary{border-color:rgba(31,122,255,.38);box-shadow:0 10px 24px rgba(31,122,255,.13);background:linear-gradient(180deg,#ffffff,#f3fbff)}.ai-modern-select[open]>summary:after{transform:rotate(180deg);background:linear-gradient(135deg,#087663,#1f7aff);color:#fff;border-color:transparent}.ai-modern-select-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block}.ai-modern-select-text.is-empty{color:#64748b;font-weight:850}.ai-modern-select-panel{position:absolute;z-index:90;left:0;right:0;top:calc(100% + 8px);padding:9px;border-radius:19px;background:rgba(255,255,255,.985);border:1px solid rgba(31,122,255,.16);box-shadow:0 20px 48px rgba(15,39,66,.17);backdrop-filter:blur(10px);display:grid;gap:7px;max-height:286px;overflow:auto;animation:cadastroSelectOpen .16s ease both}.ai-modern-select-search{width:100%;min-height:36px;border:1px solid rgba(31,122,255,.15);border-radius:13px;background:linear-gradient(180deg,#ffffff,#f8fbfd);padding:8px 10px;color:#172033;font-size:12.5px;font-weight:850;outline:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}.ai-modern-select-search:focus{border-color:rgba(31,122,255,.42);box-shadow:0 0 0 3px rgba(31,122,255,.10)}.ai-modern-select-option{appearance:none;width:100%;border:1px solid transparent;background:#fff;color:#27384b;text-align:left;border-radius:13px;padding:9px 10px;font-size:12.6px;font-weight:850;line-height:1.25;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;transition:background .15s ease,border-color .15s ease,transform .15s ease,color .15s ease,box-shadow .15s ease}.ai-modern-select-option:hover,.ai-modern-select-option:active{background:#f2f8ff;border-color:rgba(31,122,255,.13);transform:translateY(-1px);box-shadow:0 6px 14px rgba(15,39,66,.055)}.ai-modern-select-option.active{background:linear-gradient(135deg,#eefdf8 0%,#eff6ff 100%);border-color:rgba(8,118,99,.19);color:#087663;box-shadow:inset 0 1px 0 rgba(255,255,255,.72)}.ai-modern-select-option.active:after{content:'✓';display:grid;place-items:center;width:21px;height:21px;border-radius:999px;background:linear-gradient(135deg,#087663,#1f7aff);color:#fff;font-size:11px;font-weight:950;flex:none}.ai-modern-select-option.empty{color:#64748b;background:#f8fafc}.ai-modern-select-empty{padding:10px 11px;border-radius:13px;background:#f8fafc;color:#64748b;font-size:12px;font-weight:850;text-align:center}.ai-filter-field select{border-color:rgba(31,122,255,.14)!important;border-radius:15px!important;background:linear-gradient(180deg,#ffffff,#f7fbfb)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 7px 16px rgba(15,39,66,.045)!important}.ai-filter-field select:focus{border-color:rgba(8,118,99,.42)!important;box-shadow:0 0 0 3px rgba(8,118,99,.10),0 8px 18px rgba(15,39,66,.06)!important}.ai-filter-modern-field{overflow:visible}.ai-filter-modern-field>label{margin-bottom:7px}.ai-filter-modern-select.is-disabled{opacity:.56;pointer-events:none}.ai-filter-modern-select.is-disabled>summary{background:linear-gradient(180deg,#f8fafc,#f1f5f9)!important;color:#94a3b8!important;border-color:rgba(148,163,184,.22)!important;box-shadow:none!important}.ai-filter-modern-select.is-disabled>summary:after{background:#eef2f7!important;color:#94a3b8!important;border-color:rgba(148,163,184,.18)!important}.ai-filter-panel .ai-modern-select-panel{z-index:140}.ai-filter-panel .ai-modern-select-option{min-height:38px}.ai-filter-panel .ai-modern-select-search{margin-bottom:2px}@media(max-width:760px){.ai-modern-select>summary{min-height:44px;font-size:12.7px;border-radius:16px}.ai-modern-select-panel{position:relative;top:auto;left:auto;right:auto;max-height:255px;margin-top:7px;box-shadow:0 14px 30px rgba(15,39,66,.14)}.ai-modern-select-option{font-size:12.4px;padding:9px 9px}}
@media(max-width:760px){.ai-individual-selector-card,.ai-pdf-config-grid{grid-template-columns:1fr}.ai-individual-pdf-panel .ai-filter-actions .btn{width:100%}}

.ai-signature-choice-field{overflow:visible}.ai-signature-choice-field .ai-modern-select-label{text-transform:uppercase}.ai-signature-config .ai-modern-select-panel{z-index:180}

    /* FASE 17J — Cadastro Básico de Qualificação Operacional */
    .pto-qual-form-card{border-left:4px solid var(--accent);background:linear-gradient(180deg,#ffffff 0%,#f7fbfb 100%)}
    .pto-qual-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px;align-items:start}
    .pto-qual-form-grid .field{min-width:0}
    .pto-qual-form-grid .field label{font-size:10.8px;font-weight:950;color:#087663;text-transform:uppercase;letter-spacing:.02em;margin-bottom:7px}
    .pto-qual-form-grid .field input,.pto-qual-form-grid .field textarea{width:100%;border:1px solid rgba(31,122,255,.15);border-radius:17px;background:linear-gradient(180deg,#ffffff 0%,#f7fbfb 100%);padding:11px 13px;color:#13283d;font-weight:850;box-shadow:inset 0 1px 0 rgba(255,255,255,.86),0 8px 18px rgba(15,39,66,.045);outline:none}
    .pto-qual-form-grid .field textarea{min-height:94px;resize:vertical}
    .pto-qual-form-grid .field input:focus,.pto-qual-form-grid .field textarea:focus{border-color:rgba(31,122,255,.38);box-shadow:0 0 0 3px rgba(31,122,255,.10),0 10px 24px rgba(31,122,255,.08)}
    .pto-qual-full{grid-column:1/-1}
    .pto-qual-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;align-items:center}
    .pto-qual-note{margin-top:12px;border:1px solid rgba(31,122,255,.12);background:#f8fbff;color:#344054;border-radius:16px;padding:12px 13px;font-size:12.5px;font-weight:760;line-height:1.45}
    .pto-qual-message{margin-top:14px;border-radius:16px;padding:12px 14px;font-weight:850;font-size:13px;border:1px solid rgba(8,118,99,.18);background:#eefdf8;color:#087663}
    .pto-qual-message.warn{border-color:rgba(245,158,11,.25);background:#fffbeb;color:#92400e}
    .pto-qual-preview{margin-top:16px;display:grid;gap:10px}
    .pto-qual-preview-item{display:flex;justify-content:space-between;gap:12px;border:1px solid rgba(31,122,255,.10);background:#fff;border-radius:15px;padding:10px 12px;font-size:12.5px}
    .pto-qual-preview-item span{color:#667085;font-weight:800}.pto-qual-preview-item strong{text-align:right;color:#172033;font-weight:950}
    @media(max-width:760px){.pto-qual-form-grid{grid-template-columns:1fr;gap:12px}.pto-qual-actions .btn{width:100%;justify-content:center}.pto-qual-preview-item{display:grid;gap:4px}.pto-qual-preview-item strong{text-align:left}}
    .pto-qual-steps{display:grid;gap:12px;margin-top:12px}
    .pto-qual-step{border:1px solid rgba(31,122,255,.12);background:linear-gradient(180deg,#ffffff 0%,#f7fbfb 100%);border-radius:18px;padding:12px;box-shadow:0 12px 28px rgba(15,39,66,.045)}
    .pto-qual-step-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}
    .pto-qual-step-head h4{margin:0;color:#13283d;font-size:15px;font-weight:950}
    .pto-qual-step-head p{margin:4px 0 0;color:#667085;font-size:12.5px;font-weight:750;line-height:1.35}
    .pto-qual-step-badge{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;border-radius:999px;background:#0b7b66;color:#fff;font-weight:950;font-size:13px;box-shadow:0 10px 22px rgba(11,123,102,.18)}
    .pto-qual-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}
    .pto-qual-section-grid .field{min-width:0}
    .pto-qual-status-box{border:1px solid rgba(8,118,99,.14);background:#eefdf8;color:#075846;border-radius:17px;padding:12px 14px;font-size:13px;font-weight:850;line-height:1.45}
    .pto-qual-status-box strong{display:block;font-size:14px;color:#05483a;margin-bottom:3px}
    .pto-qual-guided-note{border:1px dashed rgba(31,122,255,.24);background:#f8fbff;color:#344054;border-radius:14px;padding:9px 11px;font-size:12px;font-weight:760;line-height:1.35}
    .pto-qual-preview-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:#eef6ff;color:#175cd3;padding:6px 10px;font-size:11px;font-weight:950;margin-right:6px;margin-bottom:6px}
    @media(max-width:760px){.pto-qual-section-grid{grid-template-columns:1fr}.pto-qual-step{padding:12px}.pto-qual-step-head{display:grid;grid-template-columns:auto 1fr}.pto-qual-step-badge{grid-row:1 / span 2}}


  
    .pto-qual-ficha-head{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(8,118,99,.14);background:#eefdf8;color:#075846;border-radius:18px;padding:12px 14px;margin-bottom:12px;font-weight:900}
    .pto-qual-ficha-head strong{font-size:15px}.pto-qual-ficha-head span{font-size:12px;color:#37685d;font-weight:850;text-align:right}
    .pto-qual-ficha-section{border:1px solid rgba(31,122,255,.12);border-radius:18px;background:#fff;margin-top:12px;padding:11px;box-shadow:0 10px 24px rgba(15,39,66,.04)}
    .pto-qual-ficha-section-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;border-bottom:1px solid rgba(31,122,255,.10);padding-bottom:8px;margin-bottom:10px}
    .pto-qual-ficha-section-head h4{margin:0;color:#13283d;font-size:15px;font-weight:950}.pto-qual-ficha-section-head p{margin:4px 0 0;color:#667085;font-size:12.5px;font-weight:750;line-height:1.35}.pto-qual-ficha-section-head span{border-radius:999px;background:#eef6ff;color:#175cd3;padding:6px 9px;font-size:11px;font-weight:950;white-space:nowrap}
    .pto-qual-items-grid{display:grid;grid-template-columns:1fr;gap:9px}.pto-qual-item-card{border:1px solid rgba(31,122,255,.10);background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);border-radius:16px;padding:10px;box-shadow:0 7px 16px rgba(15,39,66,.03)}
    .pto-qual-item-title{display:flex;justify-content:space-between;gap:9px;align-items:flex-start;margin-bottom:8px}.pto-qual-item-title h5{margin:0;color:#13283d;font-size:14px;font-weight:950}.pto-qual-item-title p{margin:3px 0 0;color:#667085;font-size:11.5px;font-weight:750;line-height:1.35}.pto-qual-status{display:inline-flex;border-radius:999px;padding:5px 8px;font-size:10.5px;font-weight:950;white-space:nowrap}.pto-qual-status.ok{background:#ecfdf3;color:#087443}.pto-qual-status.warning{background:#fffbeb;color:#b45309}.pto-qual-status.danger{background:#fef2f2;color:#b42318}.pto-qual-status.neutral{background:#f2f4f7;color:#475467}
    .pto-qual-item-grid{display:grid;grid-template-columns:140px 1fr 1fr;gap:8px;align-items:end}.pto-qual-item-grid .field label{font-size:10.5px;font-weight:950;color:#087663;text-transform:uppercase;letter-spacing:.02em;margin-bottom:7px}.pto-qual-item-grid .field input{width:100%;border:1px solid rgba(31,122,255,.15);border-radius:15px;background:#fff;padding:10px 11px;color:#13283d;font-weight:850;outline:none}.pto-qual-item-meta{grid-column:1/-1;border-radius:12px;background:#f8fbff;border:1px dashed rgba(31,122,255,.18);padding:7px 9px;color:#344054;font-size:11px;font-weight:760;line-height:1.3}
    @media(max-width:760px){.pto-qual-ficha-head,.pto-qual-ficha-section-head,.pto-qual-item-title{display:grid}.pto-qual-ficha-head span{text-align:left}.pto-qual-item-grid{grid-template-columns:1fr}.pto-qual-status{width:max-content}.pto-qual-ficha-section{padding:11px}.pto-qual-item-card{padding:11px}}

/* FASE 17J-R6 — Campo Nome com busca interna real */
.pto-name-search-wrap{display:grid;gap:7px;position:relative;min-width:0}
.pto-name-search-wrap .ai-modern-select-panel{position:relative;top:auto;left:auto;right:auto;margin-top:7px;max-height:260px;box-shadow:0 14px 30px rgba(15,39,66,.12)}
.pto-name-search-wrap .pto-name-search-input{min-height:44px;border:1px solid rgba(31,122,255,.15);border-radius:17px;background:linear-gradient(180deg,#ffffff,#f7fbfb);padding:10px 12px;color:#13283d;font-size:13px;font-weight:900;outline:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.86),0 8px 18px rgba(15,39,66,.05)}
.pto-name-search-wrap .pto-name-search-input:focus{border-color:rgba(8,118,99,.42);box-shadow:0 0 0 3px rgba(8,118,99,.10),0 8px 18px rgba(15,39,66,.06)}
.pto-name-search-panel:not(.is-open){display:none}.pto-name-search-wrap:focus-within .pto-name-search-panel{display:grid}
.pto-name-search-hint{font-size:11px;color:#64748b;font-weight:800;line-height:1.3}

    .pto-qual-subgroup{margin-top:12px;padding-top:10px;border-top:1px solid rgba(148,163,184,.22)}
    .pto-qual-subgroup:first-child{margin-top:0;padding-top:0;border-top:0}
    .pto-qual-subgroup>h5{margin:0 0 8px;font-size:12.5px;font-weight:900;color:#0f172a;letter-spacing:.01em}
    .pto-registros-card{border-left:4px solid var(--accent);background:linear-gradient(180deg,#ffffff 0%,#f7fbfb 100%)}
    .pto-registros-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}
    .pto-registros-summary-grid .mini-kpi{border:1px solid rgba(31,122,255,.12);background:#fff;border-radius:18px;padding:12px;box-shadow:0 10px 24px rgba(15,39,66,.04);min-height:88px;display:flex;flex-direction:column;justify-content:center}
    .pto-registros-summary-grid .mini-kpi span{display:block;color:#667085;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.02em;line-height:1.2}.pto-registros-summary-grid .mini-kpi strong{display:block;margin-top:6px;color:#13283d;font-size:22px;font-weight:950;line-height:1}
    .pto-registros-group-wrap{margin-top:14px}.pto-registros-group-wrap h4{margin:0 0 10px;color:#13283d;font-size:15px;font-weight:950}.pto-registros-group-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.pto-registros-group-card{border:1px solid rgba(31,122,255,.12);background:#fff;border-radius:16px;padding:11px 12px;box-shadow:0 8px 20px rgba(15,39,66,.03)}.pto-registros-group-card span{display:block;color:#344054;font-size:12px;font-weight:850;line-height:1.2}.pto-registros-group-card strong{display:block;margin-top:6px;color:#087663;font-size:22px;font-weight:950;line-height:1}
    .pto-registros-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end;margin-top:14px}.pto-registros-filter-grid .field{min-width:0}.pto-registros-filter-grid .field label{font-size:10.8px;font-weight:950;color:#087663;text-transform:uppercase;letter-spacing:.02em;margin-bottom:7px}.pto-registros-filter-grid .field input{width:100%;border:1px solid rgba(31,122,255,.15);border-radius:17px;background:#fff;padding:11px 13px;color:#13283d;font-weight:850;outline:none}
    .pto-registros-list{display:grid;gap:12px;margin-top:14px}.pto-registro-item{border:1px solid rgba(31,122,255,.12);background:#fff;border-radius:20px;padding:14px;box-shadow:0 10px 24px rgba(15,39,66,.04)}
    .pto-registro-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:flex-start}.pto-registro-avatar{width:52px;height:52px;border-radius:999px;background:linear-gradient(135deg,#6bd3c3 0%,#2aa592 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:950;font-size:21px;letter-spacing:.02em;box-shadow:0 8px 20px rgba(8,118,99,.18)}.pto-registro-title{min-width:0}.pto-registro-head h4{margin:0;color:#13283d;font-size:15px;font-weight:950;line-height:1.2}.pto-registro-head p{margin:5px 0 0;color:#667085;font-size:12.5px;font-weight:750;line-height:1.35}.pto-registro-badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
    .pto-registro-badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:950;background:#eef6ff;color:#175cd3;line-height:1}.pto-registro-badge.ok{background:#ecfdf3;color:#087443}.pto-registro-badge.warn{background:#fffbeb;color:#b45309}.pto-registro-badge.danger{background:#fef2f2;color:#b42318}.pto-registro-badge.neutral{background:#f2f4f7;color:#475467}
    .pto-registro-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.pto-registro-metric{border:1px solid rgba(31,122,255,.12);border-radius:14px;background:#fbfdff;padding:9px 10px;min-height:64px}.pto-registro-metric span{display:block;font-size:10.5px;font-weight:900;color:#667085;text-transform:uppercase;line-height:1.2}.pto-registro-metric strong{display:block;margin-top:4px;color:#13283d;font-size:18px;font-weight:950;line-height:1}
    .pto-registro-note{margin-top:10px;padding:10px 12px;border-radius:14px;background:#f8fbff;border:1px solid rgba(31,122,255,.10);color:#344054;font-size:12px;font-weight:760;line-height:1.45}
    .pto-registro-table{margin-top:12px;border:1px solid rgba(31,122,255,.10);border-radius:14px;overflow:hidden;background:#fff}.pto-registro-req-head,.pto-registro-req-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(78px,1fr) minmax(78px,1fr) minmax(74px,.9fr);gap:10px;align-items:center;padding:10px 12px}.pto-registro-req-head{background:#f7fafc;color:#667085;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.02em}.pto-registro-req-row{border-top:1px solid rgba(31,122,255,.08);font-size:12.5px;color:#13283d;font-weight:780;line-height:1.35}.pto-registro-req-row .req-name{min-width:0;word-break:break-word}.pto-registro-req-row .req-date{color:#344054;font-weight:760}.pto-registro-req-empty{padding:12px;color:#667085;font-size:12.5px;font-weight:760}
    .pto-registro-more{margin-top:10px}.pto-registro-more summary{cursor:pointer;font-weight:950;color:#087663}.pto-registro-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.pto-registro-detail-box{border:1px solid rgba(31,122,255,.10);border-radius:14px;padding:9px;background:#fbfdff;color:#344054;font-size:12px;font-weight:760;line-height:1.4}.pto-registro-detail-box strong{color:#13283d}.pto-registro-requisitos{display:grid;gap:7px;margin-top:10px}.pto-registro-requisito{border:1px solid rgba(31,122,255,.10);border-radius:13px;padding:8px;background:#fff;font-size:12px;color:#344054;font-weight:760}.pto-registro-requisito strong{display:block;color:#13283d;font-weight:950;margin-bottom:3px}
    .pto-registros-pdf-panel{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px}.pto-registros-pdf-panel h3{margin:0;color:#13283d;font-size:16px;font-weight:950}.pto-registros-pdf-panel p{margin:4px 0 0;color:#667085;font-size:12.5px;font-weight:760;line-height:1.4}.pto-registros-pdf-panel .btn{white-space:nowrap}
    @media(max-width:900px){.pto-registros-summary-grid,.pto-registros-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pto-registros-filter-grid{grid-template-columns:1fr 1fr}.pto-registro-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
    @media(max-width:640px){.pto-registros-summary-grid,.pto-registros-group-grid,.pto-registro-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.pto-registros-filter-grid,.pto-registro-detail-grid{grid-template-columns:1fr}.pto-registro-head{grid-template-columns:auto 1fr}.pto-registro-badges{grid-column:1/-1;justify-content:flex-start}.pto-registros-actions .btn,.pto-registros-pdf-panel .btn{width:100%;justify-content:center}.pto-registros-pdf-panel{display:grid}.pto-registro-item{padding:12px}.pto-registro-req-head,.pto-registro-req-row{grid-template-columns:minmax(0,1.45fr) .9fr .9fr .8fr;padding:9px 10px;gap:8px}.pto-registro-req-head{font-size:10px}.pto-registro-req-row{font-size:11.6px}.pto-registro-metric strong{font-size:17px}}

    .pto-matriz-card{border-left:4px solid var(--accent);background:linear-gradient(180deg,#ffffff 0%,#f7fbfb 100%)}
    .pto-matriz-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:12px}.pto-matriz-kpi{border:1px solid rgba(31,122,255,.12);background:#fff;border-radius:18px;padding:12px;box-shadow:0 10px 24px rgba(15,39,66,.04);min-height:84px;display:flex;flex-direction:column;justify-content:center}.pto-matriz-kpi span{display:block;color:#667085;font-size:10.5px;font-weight:950;text-transform:uppercase;letter-spacing:.02em;line-height:1.2}.pto-matriz-kpi strong{display:block;margin-top:6px;color:#13283d;font-size:21px;font-weight:950;line-height:1}
    .pto-matriz-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end;margin-top:14px}.pto-matriz-filter-grid .field{min-width:0}.pto-matriz-filter-grid .field label{font-size:10.8px;font-weight:950;color:#087663;text-transform:uppercase;letter-spacing:.02em;margin-bottom:7px}.pto-matriz-filter-grid .field input{width:100%;border:1px solid rgba(31,122,255,.15);border-radius:17px;background:#fff;padding:11px 13px;color:#13283d;font-weight:850;outline:none}
    .pto-matriz-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:12px}.pto-matriz-check{display:flex;align-items:center;gap:8px;border:1px solid rgba(31,122,255,.12);background:#fff;border-radius:15px;padding:10px 12px;color:#344054;font-size:12px;font-weight:850}.pto-matriz-check input{width:17px;height:17px;accent-color:#087663}
    .pto-matriz-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 4px}.pto-matriz-tab{border:1px solid rgba(15,95,85,.15);background:#fff;color:#13283d;border-radius:999px;padding:10px 14px;font-size:12px;font-weight:950;cursor:pointer;box-shadow:0 8px 18px rgba(15,39,66,.04);transition:.18s ease}.pto-matriz-tab:hover{transform:translateY(-1px);border-color:rgba(15,95,85,.28)}.pto-matriz-tab.active{background:linear-gradient(135deg,#0f766e,#13283d);border-color:transparent;color:#fff}.pto-matriz-tab .count{display:inline-flex;align-items:center;justify-content:center;margin-left:7px;min-width:22px;height:22px;border-radius:999px;background:rgba(255,255,255,.72);color:#13283d;padding:0 7px;font-size:11px;font-weight:950}.pto-matriz-tab.active .count{background:rgba(255,255,255,.18);color:#fff}.pto-matriz-tab-hint{margin:4px 0 0;color:#667085;font-size:12px;font-weight:760;line-height:1.35}@media(max-width:640px){.pto-matriz-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;overflow:visible;padding-bottom:0}.pto-matriz-tab{width:100%;min-width:0;padding:10px 10px;justify-content:center;text-align:center}}
    .pto-matriz-table-wrap{margin-top:12px;overflow-x:auto;border:1px solid rgba(31,122,255,.12);border-radius:18px;background:#fff;box-shadow:0 10px 24px rgba(15,39,66,.04)}.pto-matriz-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}.pto-matriz-table th,.pto-matriz-table td{border-bottom:1px solid rgba(31,122,255,.08);border-right:1px solid rgba(31,122,255,.08);padding:10px 12px;text-align:left;vertical-align:top;font-size:12px}.pto-matriz-table th{position:sticky;top:0;background:#f7fafc;color:#13283d;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.02em;z-index:1}.pto-matriz-table th:first-child,.pto-matriz-table td:first-child{position:sticky;left:0;background:#fff;z-index:2;min-width:190px}.pto-matriz-table th:first-child{background:#f7fafc;z-index:3}.pto-matriz-person strong{display:block;color:#13283d;font-size:13px;font-weight:950}.pto-matriz-person span{display:block;margin-top:3px;color:#667085;font-size:11px;font-weight:760}.pto-matriz-cell{display:grid;gap:5px;min-width:112px}.pto-matriz-cell small{display:block;color:#667085;font-size:10.5px;font-weight:750;line-height:1.25}
    .pto-matriz-badge{display:inline-flex;align-items:center;justify-content:center;width:max-content;border-radius:999px;padding:6px 9px;font-size:10.5px;font-weight:950;line-height:1;background:#eef6ff;color:#175cd3}.pto-matriz-badge.ok{background:#ecfdf3;color:#087443}.pto-matriz-badge.warn{background:#fffbeb;color:#b45309}.pto-matriz-badge.danger{background:#fef2f2;color:#b42318}.pto-matriz-badge.neutral{background:#f2f4f7;color:#475467}
    .pto-matriz-cards{display:grid;gap:12px;margin-top:12px}.pto-matriz-profile-card{border:1px solid rgba(31,122,255,.12);background:#fff;border-radius:20px;padding:14px;box-shadow:0 10px 24px rgba(15,39,66,.04)}.pto-matriz-profile-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.pto-matriz-profile-head h4{margin:0;color:#13283d;font-size:15px;font-weight:950}.pto-matriz-profile-head p{margin:4px 0 0;color:#667085;font-size:12px;font-weight:760;line-height:1.35}.pto-matriz-profile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}.pto-matriz-profile-grid div{border:1px solid rgba(31,122,255,.10);background:#fbfdff;border-radius:14px;padding:8px}.pto-matriz-profile-grid span{display:block;color:#667085;font-size:10px;font-weight:950;text-transform:uppercase;line-height:1.2}.pto-matriz-profile-grid strong{display:block;color:#13283d;font-size:17px;font-weight:950;margin-top:3px}.pto-matriz-req-list{display:grid;gap:8px;margin-top:10px}.pto-matriz-req-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:flex-start;border:1px solid rgba(31,122,255,.10);background:#fff;border-radius:14px;padding:9px}.pto-matriz-req-card strong{display:block;color:#13283d;font-size:12.5px;font-weight:950;line-height:1.25}.pto-matriz-req-card small{display:block;margin-top:3px;color:#667085;font-size:11px;font-weight:760;line-height:1.35}
    @media(max-width:1100px){.pto-matriz-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.pto-matriz-filter-grid{grid-template-columns:1fr 1fr}.pto-matriz-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
    @media(max-width:640px){.pto-matriz-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.pto-matriz-filter-grid,.pto-matriz-checks{grid-template-columns:1fr}.pto-matriz-actions .btn{width:100%;justify-content:center}.pto-matriz-table th,.pto-matriz-table td{padding:9px 10px;font-size:11px}.pto-matriz-table th:first-child,.pto-matriz-table td:first-child{min-width:155px}.pto-matriz-profile-head{display:grid}.pto-matriz-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pto-matriz-req-card{grid-template-columns:1fr}.pto-matriz-kpi{min-height:78px;padding:11px}.pto-matriz-kpi strong{font-size:20px}}

    .pto-matriz-complete-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.pto-matriz-complete-actions{display:flex;gap:8px;flex-wrap:wrap}.pto-matriz-complete-scope{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:12px}.pto-matriz-complete-scope .pto-matriz-scope-btn{border:1px solid rgba(15,95,85,.14);background:#fff;color:#142238;border-radius:15px;padding:10px 9px;font-size:12px;font-weight:950;cursor:pointer;box-shadow:0 8px 18px rgba(15,39,66,.04);text-align:center}.pto-matriz-complete-scope .pto-matriz-scope-btn.active{background:linear-gradient(135deg,#0f766e,#142238);color:#fff;border-color:transparent}.pto-matriz-report{margin-top:14px;border:1px solid rgba(15,95,85,.13);border-radius:22px;background:linear-gradient(180deg,#fff 0%,#f8fbfb 100%);box-shadow:0 12px 28px rgba(15,39,66,.05);overflow:hidden}.pto-matriz-report-header{padding:16px;border-bottom:1px solid rgba(15,95,85,.10);background:linear-gradient(135deg,rgba(15,118,110,.08),rgba(20,34,56,.04))}.pto-matriz-report-header h3{margin:0;color:#142238;font-size:17px;font-weight:950}.pto-matriz-report-header p{margin:6px 0 0;color:#64748b;font-size:12px;font-weight:760;line-height:1.4}.pto-matriz-report-section{padding:14px 16px;border-top:1px solid rgba(15,95,85,.08)}.pto-matriz-report-section:first-of-type{border-top:0}.pto-matriz-report-section h4{margin:0 0 10px;color:#0f766e;font-size:14px;font-weight:950}.pto-matriz-report-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.pto-matriz-report-kpi{border:1px solid rgba(15,95,85,.10);background:#fff;border-radius:15px;padding:10px}.pto-matriz-report-kpi span{display:block;color:#64748b;font-size:10px;text-transform:uppercase;font-weight:950;letter-spacing:.02em}.pto-matriz-report-kpi strong{display:block;color:#142238;font-size:18px;font-weight:950;margin-top:4px}.pto-matriz-report-prof{border:1px solid rgba(15,95,85,.10);background:#fff;border-radius:18px;padding:12px;margin-top:10px}.pto-matriz-report-prof-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap}.pto-matriz-report-prof-head h5{margin:0;color:#142238;font-size:14px;font-weight:950}.pto-matriz-report-prof-head p{margin:4px 0 0;color:#64748b;font-size:11.5px;font-weight:760;line-height:1.35}.pto-matriz-report-meta{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-top:10px}.pto-matriz-report-meta div{border:1px solid rgba(15,95,85,.08);border-radius:13px;background:#fbfdff;padding:8px}.pto-matriz-report-meta span{display:block;color:#64748b;font-size:9.5px;font-weight:950;text-transform:uppercase}.pto-matriz-report-meta strong{display:block;margin-top:3px;color:#142238;font-size:12px;font-weight:900}.pto-matriz-report-reqs{display:grid;gap:7px;margin-top:10px}.pto-matriz-report-req{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start;border:1px solid rgba(15,95,85,.08);border-radius:13px;background:#fff;padding:9px}.pto-matriz-report-req strong{display:block;color:#142238;font-size:12px;font-weight:950;line-height:1.25}.pto-matriz-report-req small{display:block;margin-top:3px;color:#64748b;font-size:10.5px;font-weight:760;line-height:1.35}@media(max-width:760px){.pto-matriz-complete-scope{grid-template-columns:repeat(2,minmax(0,1fr))}.pto-matriz-complete-scope .pto-matriz-scope-btn:first-child{grid-column:1/-1}.pto-matriz-report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pto-matriz-report-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.pto-matriz-report-req{grid-template-columns:1fr}.pto-matriz-complete-actions .btn{width:100%;justify-content:center}.pto-matriz-complete-actions{width:100%}}
    .pto-painel-card{border-left:4px solid var(--accent);background:linear-gradient(180deg,#ffffff 0%,#f7fbfb 100%)}
    .pto-painel-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.pto-painel-kpi{border:1px solid rgba(31,122,255,.12);background:#fff;border-radius:18px;padding:12px;box-shadow:0 10px 24px rgba(15,39,66,.04);min-height:86px;display:flex;flex-direction:column;justify-content:center}.pto-painel-kpi span{display:block;color:#667085;font-size:10.5px;font-weight:950;text-transform:uppercase;letter-spacing:.02em;line-height:1.2}.pto-painel-kpi strong{display:block;margin-top:6px;color:#13283d;font-size:22px;font-weight:950;line-height:1}
    .pto-painel-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end;margin-top:14px}.pto-painel-filter-grid .field{min-width:0}.pto-painel-filter-grid .field label{font-size:10.8px;font-weight:950;color:#087663;text-transform:uppercase;letter-spacing:.02em;margin-bottom:7px}.pto-painel-filter-grid .field input{width:100%;border:1px solid rgba(31,122,255,.15);border-radius:17px;background:#fff;padding:11px 13px;color:#13283d;font-weight:850;outline:none}
    .pto-painel-group-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px}.pto-painel-group-card{border:1px solid rgba(31,122,255,.12);background:#fff;border-radius:18px;padding:12px;box-shadow:0 10px 24px rgba(15,39,66,.04)}.pto-painel-group-card h4{margin:0;color:#13283d;font-size:14px;font-weight:950}.pto-painel-group-card p{margin:5px 0 0;color:#667085;font-size:12px;font-weight:760}.pto-painel-bar{height:8px;border-radius:999px;background:#e9f1f4;overflow:hidden;margin-top:10px}.pto-painel-bar span{display:block;height:100%;background:linear-gradient(90deg,#087663,#2aa592);border-radius:999px}
    .pto-painel-alert-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.pto-painel-alert-card{border:1px solid rgba(31,122,255,.12);background:#fff;border-radius:18px;padding:12px;box-shadow:0 10px 24px rgba(15,39,66,.04)}.pto-painel-alert-card h4{margin:0;color:#13283d;font-size:14px;font-weight:950}.pto-painel-alert-list{display:grid;gap:8px;margin-top:10px}.pto-painel-alert-item{display:flex;justify-content:space-between;gap:10px;border:1px solid rgba(31,122,255,.10);background:#fbfdff;border-radius:14px;padding:9px;color:#344054;font-size:12px;font-weight:800}.pto-painel-alert-item small{display:block;color:#667085;font-weight:760;margin-top:2px}.pto-painel-alert-item strong{color:#13283d}.pto-painel-badge{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:6px 9px;font-size:10.5px;font-weight:950;line-height:1;background:#eef6ff;color:#175cd3;white-space:nowrap}.pto-painel-badge.ok{background:#ecfdf3;color:#087443}.pto-painel-badge.warn{background:#fffbeb;color:#b45309}.pto-painel-badge.danger{background:#fef2f2;color:#b42318}.pto-painel-badge.neutral{background:#f2f4f7;color:#475467}
    .pto-painel-prof-list{display:grid;gap:10px;margin-top:12px}.pto-painel-prof-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:flex-start;border:1px solid rgba(31,122,255,.12);background:#fff;border-radius:18px;padding:12px;box-shadow:0 10px 24px rgba(15,39,66,.04)}.pto-painel-prof-card h4{margin:0;color:#13283d;font-size:14px;font-weight:950}.pto-painel-prof-card p{margin:4px 0 0;color:#667085;font-size:12px;font-weight:760}.pto-painel-prof-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-top:9px}.pto-painel-prof-metrics div{border:1px solid rgba(31,122,255,.10);background:#fbfdff;border-radius:12px;padding:7px}.pto-painel-prof-metrics span{display:block;color:#667085;font-size:9.5px;font-weight:950;text-transform:uppercase;line-height:1.15}.pto-painel-prof-metrics strong{display:block;color:#13283d;font-size:15px;font-weight:950;margin-top:3px}
    @media(max-width:1100px){.pto-painel-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.pto-painel-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pto-painel-filter-grid{grid-template-columns:1fr 1fr}.pto-painel-prof-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
    @media(max-width:640px){.pto-painel-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.pto-painel-filter-grid,.pto-painel-alert-grid{grid-template-columns:1fr}.pto-painel-group-grid{grid-template-columns:1fr}.pto-painel-actions .btn{width:100%;justify-content:center}.pto-painel-prof-card{grid-template-columns:1fr}.pto-painel-prof-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.pto-painel-kpi{min-height:78px;padding:11px}.pto-painel-kpi strong{font-size:20px}}


    .pto-fichas-card{border-left:4px solid var(--accent);background:linear-gradient(180deg,#ffffff 0%,#f7fbfb 100%)}
    .pto-fichas-info{border:1px solid rgba(8,118,99,.16);background:#fff;border-radius:18px;padding:12px;margin-top:12px;color:#344054;font-size:12.5px;font-weight:780;line-height:1.45;box-shadow:0 8px 20px rgba(15,39,66,.04)}
    .pto-fichas-group-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.pto-fichas-group-card{border:1px solid rgba(31,122,255,.12);background:#fff;border-radius:18px;padding:13px;box-shadow:0 10px 24px rgba(15,39,66,.04)}.pto-fichas-group-card h4{margin:0;color:#13283d;font-size:15px;font-weight:950}.pto-fichas-group-card p{margin:6px 0 0;color:#667085;font-size:12px;font-weight:760;line-height:1.35}.pto-fichas-group-card strong{display:block;margin-top:8px;color:#087663;font-size:22px;font-weight:950;line-height:1}
    .pto-fichas-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-items:end;margin-top:14px}.pto-fichas-filter-grid .field{min-width:0}.pto-fichas-filter-grid .field label{font-size:10.8px;font-weight:950;color:#087663;text-transform:uppercase;letter-spacing:.02em;margin-bottom:7px}.pto-fichas-filter-grid .field input{width:100%;border:1px solid rgba(31,122,255,.15);border-radius:17px;background:#fff;padding:11px 13px;color:#13283d;font-weight:850;outline:none}
    .pto-fichas-list{display:grid;gap:12px;margin-top:14px}.pto-fichas-item{border:1px solid rgba(31,122,255,.12);background:#fff;border-radius:20px;padding:14px;box-shadow:0 10px 24px rgba(15,39,66,.04)}.pto-fichas-item-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.pto-fichas-item h4{margin:0;color:#13283d;font-size:15px;font-weight:950;line-height:1.25}.pto-fichas-item p{margin:5px 0 0;color:#667085;font-size:12px;font-weight:760;line-height:1.35}.pto-fichas-badges{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.pto-fichas-badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 9px;font-size:10.5px;font-weight:950;line-height:1;background:#eef6ff;color:#175cd3}.pto-fichas-badge.ok{background:#ecfdf3;color:#087443}.pto-fichas-badge.warn{background:#fffbeb;color:#b45309}.pto-fichas-badge.neutral{background:#f2f4f7;color:#475467}.pto-fichas-badge.danger{background:#fef2f2;color:#b42318}
    .pto-fichas-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.pto-fichas-meta{border:1px solid rgba(31,122,255,.10);border-radius:14px;background:#fbfdff;padding:9px}.pto-fichas-meta span{display:block;color:#667085;font-size:10.5px;font-weight:950;text-transform:uppercase;line-height:1.2}.pto-fichas-meta strong{display:block;margin-top:4px;color:#13283d;font-size:12.5px;font-weight:900;line-height:1.3}.pto-fichas-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.pto-fichas-actions .btn[disabled]{opacity:.68;cursor:not-allowed}.pto-fichas-empty{margin-top:14px}
    @media(max-width:1100px){.pto-fichas-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pto-fichas-group-grid,.pto-fichas-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
    @media(max-width:640px){.pto-fichas-filter-grid{grid-template-columns:1fr}.pto-fichas-group-grid,.pto-fichas-meta-grid{grid-template-columns:1fr}.pto-fichas-item-head{display:grid}.pto-fichas-badges{justify-content:flex-start}.pto-fichas-actions .btn{width:100%;justify-content:center}}

    .pto-validade-card{border-left:4px solid var(--accent);background:linear-gradient(180deg,#ffffff 0%,#f7fbfb 100%)}
    .pto-validade-info{border:1px solid rgba(8,118,99,.16);background:#fff;border-radius:18px;padding:12px;margin-top:12px;color:#344054;font-size:12.5px;font-weight:780;line-height:1.45;box-shadow:0 8px 20px rgba(15,39,66,.04)}
    .pto-validade-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end;margin-top:14px}.pto-validade-filter-grid .field{min-width:0}.pto-validade-filter-grid .field label{font-size:10.8px;font-weight:950;color:#087663;text-transform:uppercase;letter-spacing:.02em;margin-bottom:7px}.pto-validade-filter-grid .field input{width:100%;border:1px solid rgba(31,122,255,.15);border-radius:17px;background:#fff;padding:11px 13px;color:#13283d;font-weight:850;outline:none}
    .pto-validade-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.pto-validade-kpi{border:1px solid rgba(31,122,255,.12);background:#fff;border-radius:18px;padding:12px;box-shadow:0 10px 24px rgba(15,39,66,.04);min-height:82px;display:flex;flex-direction:column;justify-content:center}.pto-validade-kpi span{display:block;color:#667085;font-size:10.5px;font-weight:950;text-transform:uppercase;letter-spacing:.02em;line-height:1.2}.pto-validade-kpi strong{display:block;margin-top:6px;color:#13283d;font-size:22px;font-weight:950;line-height:1}
    .pto-validade-rule-list{display:grid;gap:12px;margin-top:14px}.pto-validade-rule-card{border:1px solid rgba(31,122,255,.12);background:#fff;border-radius:20px;padding:14px;box-shadow:0 10px 24px rgba(15,39,66,.04)}.pto-validade-rule-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.pto-validade-rule-head h4{margin:0;color:#13283d;font-size:14px;font-weight:950;line-height:1.25}.pto-validade-rule-head p{margin:5px 0 0;color:#667085;font-size:12px;font-weight:760;line-height:1.35}.pto-validade-rule-badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 9px;font-size:10.5px;font-weight:950;line-height:1;background:#eef6ff;color:#175cd3;white-space:nowrap}.pto-validade-rule-badge.ok{background:#ecfdf3;color:#087443}.pto-validade-rule-badge.neutral{background:#f2f4f7;color:#475467}
    .pto-validade-rule-grid{display:grid;grid-template-columns:minmax(96px,.65fr) minmax(128px,.85fr) minmax(120px,.8fr) minmax(0,1.3fr) minmax(100px,.65fr);gap:10px;margin-top:12px;align-items:end}.pto-validade-rule-grid label{display:grid;gap:6px;font-size:10.5px;font-weight:950;color:#087663;text-transform:uppercase;letter-spacing:.02em}.pto-validade-rule-grid input,.pto-validade-rule-grid select{width:100%;border:1px solid rgba(31,122,255,.15);border-radius:15px;background:#fff;padding:10px 11px;color:#13283d;font-weight:850;outline:none}.pto-validade-rule-grid input[type=checkbox]{width:18px;height:18px;accent-color:#087663}.pto-validade-active-field{display:flex!important;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(31,122,255,.12);background:#fbfdff;border-radius:15px;min-height:43px;color:#344054}.pto-validade-empty{margin-top:14px}.pto-validade-message{border:1px solid rgba(8,118,99,.18);background:#ecfdf5;color:#05604f;border-radius:16px;padding:10px 12px;font-size:12.5px;font-weight:850;margin-top:12px}
    @media(max-width:1100px){.pto-validade-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pto-validade-rule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pto-validade-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
    @media(max-width:640px){.pto-validade-filter-grid,.pto-validade-rule-grid{grid-template-columns:1fr}.pto-validade-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.pto-validade-rule-head{display:grid}.pto-validade-actions .btn{width:100%;justify-content:center}.pto-validade-kpi{min-height:76px;padding:11px}.pto-validade-kpi strong{font-size:20px}}



    /* ==================================================
       FASE 20B-R2 — PALETA INSTITUCIONAL REFINADA E MENUS PROPORCIONAIS
       Escopo: camada visual dos menus/cards. Sem alteração de funções, IDs,
       onclick, rotas, dados, localStorage, integrações ou lógica interna.
       ================================================== */
    :root{
      --bg:#f3f5f7;
      --panel:#ffffff;
      --panel-soft:#f8fafb;
      --primary:#0b6b4f;
      --primary-2:#0e1f33;
      --primary-3:#167d89;
      --accent:#c9941a;
      --accent-soft:#fff7df;
      --danger:#a6192e;
      --warn:#c9941a;
      --ok:#0b6b4f;
      --text:#0e1f33;
      --muted:#5f6f82;
      --line:#d9e2e8;
      --shadow:0 18px 46px rgba(14,31,51,.10);
      --shadow-soft:0 10px 24px rgba(14,31,51,.075);
      --ge-red:#a6192e;
      --ge-green:#0b6b4f;
      --ge-teal:#167d89;
      --ge-navy:#0e1f33;
      --ge-gold:#c9941a;
      --ge-neutral:#f3f5f7;
    }
    html,body{background:var(--bg);color:var(--text)}
    body:before{
      background:
        radial-gradient(circle at 8% 5%,rgba(11,107,79,.12),transparent 30%),
        radial-gradient(circle at 92% 6%,rgba(22,125,137,.12),transparent 28%),
        radial-gradient(circle at 88% 96%,rgba(201,148,26,.09),transparent 30%),
        linear-gradient(135deg,#f3f5f7 0%,#f9fbfc 48%,#eef5f4 100%);
    }
    .topbar{
      background:rgba(255,255,255,.96);
      border-bottom:1px solid rgba(217,226,232,.92);
      box-shadow:0 8px 24px rgba(14,31,51,.055);
    }
    .brand-logo{
      background:linear-gradient(145deg,var(--ge-navy),var(--ge-green));
      color:#fff;
      box-shadow:0 12px 26px rgba(14,31,51,.14), inset 0 1px 0 rgba(255,255,255,.20);
      border:1px solid rgba(201,148,26,.28);
    }
    .brand-title h1,.view-head h2{color:var(--ge-navy);font-weight:950;letter-spacing:-.025em}
    .brand-title p,.view-head p{color:var(--muted)}
    .badge{
      background:#fff;
      border-color:#d9e2e8;
      color:var(--ge-navy);
      box-shadow:0 7px 18px rgba(14,31,51,.055);
    }
    .btn{background:linear-gradient(135deg,var(--ge-green),var(--ge-teal));box-shadow:0 10px 24px rgba(11,107,79,.15)}
    .btn.secondary,.btn.neutral{background:#fff;color:var(--ge-green);border-color:#c9d9d7;box-shadow:0 7px 18px rgba(14,31,51,.055)}
    .btn.danger,[class*="logout"],button[onclick*="logout"],button[onclick*="sair" i]{
      background:linear-gradient(180deg,#fff,#fff8f8)!important;
      color:var(--ge-red)!important;
      border-color:rgba(166,25,46,.30)!important;
    }
    .view-head{
      background:linear-gradient(180deg,#ffffff,#f8fafb);
      border:1px solid rgba(217,226,232,.94);
      box-shadow:0 12px 30px rgba(14,31,51,.06);
    }
    .view-head:before,.card:before{
      background:linear-gradient(90deg,var(--ge-green),var(--ge-teal),var(--ge-gold),var(--ge-red));
      opacity:.9;
    }
    .card,.kpi,.table-wrap,.empty-panel,.training-step,.review-item,.training-detail-group,.training-report-item{
      border-color:rgba(217,226,232,.95);
      box-shadow:0 14px 34px rgba(14,31,51,.075);
    }

    /* Cards de menu — padrão único, proporcional e com cores por área */
    .grid.cards{gap:12px}
    .grid.cards>.nav-card,
    .nav-card{
      --menu-accent:var(--ge-teal);
      --menu-accent-2:var(--ge-green);
      min-height:112px!important;
      padding:14px 15px!important;
      border-radius:20px!important;
      display:flex!important;
      flex-direction:row!important;
      align-items:center!important;
      justify-content:space-between!important;
      gap:12px!important;
      background:linear-gradient(180deg,#ffffff 0%,#fbfcfd 100%)!important;
      border:1px solid rgba(217,226,232,.96)!important;
      box-shadow:0 12px 30px rgba(14,31,51,.075)!important;
      overflow:hidden;
      position:relative;
    }
    .nav-card:before{
      content:"";
      position:absolute;
      left:0;
      top:12px;
      bottom:12px;
      width:4px;
      border-radius:0 999px 999px 0;
      background:var(--menu-accent);
    }
    .nav-card:hover{
      transform:translateY(-2px)!important;
      border-color:color-mix(in srgb,var(--menu-accent) 40%,#d9e2e8)!important;
      box-shadow:0 18px 40px rgba(14,31,51,.11)!important;
    }
    .nav-card>div{
      display:grid!important;
      grid-template-columns:50px minmax(0,1fr);
      grid-template-rows:auto auto;
      column-gap:12px;
      row-gap:3px;
      align-items:center;
      min-width:0;
      flex:1 1 auto;
    }
    .nav-card .icon{
      grid-row:1 / span 2;
      width:50px!important;
      height:50px!important;
      margin:0!important;
      border-radius:17px!important;
      display:grid!important;
      place-items:center!important;
      color:#fff!important;
      background:linear-gradient(145deg,var(--menu-accent),var(--menu-accent-2))!important;
      border:1px solid rgba(255,255,255,.62)!important;
      box-shadow:0 10px 22px color-mix(in srgb,var(--menu-accent) 22%,transparent), inset 0 1px 0 rgba(255,255,255,.24)!important;
      font-size:22px!important;
      flex:none;
    }
    .nav-card h3{
      min-width:0;
      margin:0!important;
      color:var(--ge-navy)!important;
      font-size:17px!important;
      line-height:1.14!important;
      font-weight:950!important;
      letter-spacing:-.018em!important;
    }
    .nav-card p{
      min-width:0;
      margin:0!important;
      color:#5d6f82!important;
      font-size:12.8px!important;
      line-height:1.32!important;
      display:-webkit-box;
      -webkit-line-clamp:2;
      -webkit-box-orient:vertical;
      overflow:hidden;
    }
    .nav-card strong{
      margin:0!important;
      padding:0!important;
      width:28px!important;
      height:28px!important;
      min-width:28px!important;
      border-radius:999px!important;
      display:grid!important;
      place-items:center!important;
      overflow:hidden;
      color:transparent!important;
      background:#fff!important;
      border:1px solid color-mix(in srgb,var(--menu-accent) 24%,#d9e2e8)!important;
      box-shadow:none!important;
      flex:0 0 auto;
      position:relative;
    }
    .nav-card strong::before{
      content:"›";
      color:var(--menu-accent);
      font-size:25px;
      line-height:1;
      font-weight:950;
      transform:translateY(-1px);
    }

    /* Variação cromática controlada por posição para menus e hubs */
    .grid.cards>.nav-card:nth-child(1){--menu-accent:var(--ge-teal);--menu-accent-2:var(--ge-green)}
    .grid.cards>.nav-card:nth-child(2){--menu-accent:var(--ge-green);--menu-accent-2:#10885f}
    .grid.cards>.nav-card:nth-child(3){--menu-accent:var(--ge-navy);--menu-accent-2:#16456f}
    .grid.cards>.nav-card:nth-child(4){--menu-accent:var(--ge-gold);--menu-accent-2:#b77a09}
    .grid.cards>.nav-card:nth-child(5){--menu-accent:#0f766e;--menu-accent-2:#149e98}
    .grid.cards>.nav-card:nth-child(6){--menu-accent:var(--ge-red);--menu-accent-2:#7f1222}
    .grid.cards>.nav-card:nth-child(7){--menu-accent:#395b8c;--menu-accent-2:var(--ge-navy)}
    .grid.cards>.nav-card:nth-child(8){--menu-accent:#8a5a16;--menu-accent-2:var(--ge-gold)}

    /* Botões, chips e marcadores com vermelho apenas em pontos críticos/destaque */
    .danger,.badge.danger,.status-danger,.pill-danger{color:var(--ge-red)!important}
    .kpi strong{color:var(--ge-navy)}
    .kpi:before,.status-item:before{background:linear-gradient(180deg,var(--ge-teal),var(--ge-green))}
    .ok{color:var(--ge-green)!important}.warn{color:#a96f05!important}.danger{color:var(--ge-red)!important}

    /* Tela inicial/acesso — paleta clara com destaque vermelho controlado */
    .login-screen{
      background:
        radial-gradient(circle at 13% 10%,rgba(166,25,46,.14),transparent 28%),
        radial-gradient(circle at 88% 8%,rgba(11,107,79,.18),transparent 30%),
        linear-gradient(135deg,#f3f5f7,#ffffff 42%,#eef5f4 100%)!important;
    }
    .login-card{
      background:rgba(255,255,255,.98)!important;
      border:1px solid rgba(217,226,232,.95)!important;
      box-shadow:0 26px 70px rgba(14,31,51,.16)!important;
    }
    .login-hero{
      background:
        linear-gradient(145deg,rgba(14,31,51,.96),rgba(11,107,79,.92) 64%,rgba(166,25,46,.74)),
        radial-gradient(circle at 22% 8%,rgba(255,255,255,.16),transparent 28%)!important;
    }
    .brand-mark{
      background:linear-gradient(145deg,var(--ge-navy),var(--ge-red))!important;
      border-color:rgba(201,148,26,.36)!important;
    }
    .profile-btn{
      min-height:88px;
      padding:14px 16px;
      border-radius:18px;
      background:linear-gradient(180deg,#fff,#fbfcfd);
      box-shadow:0 10px 24px rgba(14,31,51,.07);
    }
    .profile-btn:hover{border-color:rgba(11,107,79,.34);box-shadow:0 16px 36px rgba(14,31,51,.10)}
    .profile-btn:after{color:var(--ge-red)}
    .profile-icon{background:linear-gradient(145deg,var(--ge-green),var(--ge-teal));color:#fff}

    /* Responsividade visual dos menus */
    @media(max-width:900px){
      .grid.cards{grid-template-columns:repeat(2,minmax(0,1fr))}
    }
    @media(max-width:640px){
      .grid.cards{grid-template-columns:1fr;gap:10px}
      .grid.cards>.nav-card,.nav-card{
        min-height:94px!important;
        padding:12px 13px!important;
        border-radius:18px!important;
        gap:10px!important;
      }
      .nav-card:before{top:10px;bottom:10px;width:3px}
      .nav-card>div{grid-template-columns:44px minmax(0,1fr);column-gap:11px}
      .nav-card .icon{width:44px!important;height:44px!important;border-radius:15px!important;font-size:20px!important}
      .nav-card h3{font-size:16px!important;line-height:1.12!important}
      .nav-card p{font-size:12.2px!important;line-height:1.28!important}
      .nav-card strong{width:26px!important;height:26px!important;min-width:26px!important}
      .card{border-radius:20px}
      .profile-btn{min-height:78px;padding:13px 14px}
    }
    @media(max-width:390px){
      .nav-card>div{grid-template-columns:40px minmax(0,1fr);column-gap:10px}
      .nav-card .icon{width:40px!important;height:40px!important;border-radius:14px!important;font-size:19px!important}
      .nav-card h3{font-size:15.5px!important}
      .nav-card p{font-size:11.8px!important}
    }

  

    /* ==================================================
       FASE 20B-R3 — AUDITORIA VISUAL DA PALETA E CARDS
       Ajuste exclusivamente visual. Não altera IDs, funções,
       eventos, navegação, salvamento, integrações ou dados.
       Objetivo: reduzir excessos, melhorar proporção e legibilidade.
       ================================================== */
    :root{
      --ge-red:#9f1d2e;
      --ge-red-soft:#fff4f5;
      --ge-burgundy:#7f1726;
      --ge-card-min:104px;
      --ge-card-min-mobile:88px;
      --ge-card-pad-y:12px;
      --ge-card-pad-x:14px;
      --ge-menu-icon:46px;
      --ge-menu-icon-mobile:40px;
    }

    /* Reduz predominância do vermelho: destaque institucional, não fundo dominante */
    .login-screen{
      background:
        radial-gradient(circle at 14% 9%,rgba(159,29,46,.075),transparent 28%),
        radial-gradient(circle at 88% 8%,rgba(11,107,79,.16),transparent 30%),
        radial-gradient(circle at 75% 96%,rgba(201,148,26,.08),transparent 34%),
        linear-gradient(135deg,#f3f5f7,#ffffff 45%,#eef5f4 100%)!important;
    }
    .login-hero{
      background:
        linear-gradient(145deg,rgba(14,31,51,.97),rgba(11,107,79,.94) 68%,rgba(159,29,46,.28)),
        radial-gradient(circle at 22% 8%,rgba(255,255,255,.14),transparent 28%)!important;
    }
    .brand-mark{
      background:linear-gradient(145deg,var(--ge-navy),var(--ge-green))!important;
      box-shadow:0 16px 42px rgba(14,31,51,.18)!important;
    }
    .profile-btn:after{color:var(--ge-burgundy)!important}
    .btn.danger,[class*="logout"],button[onclick*="logout"],button[onclick*="sair" i]{
      background:linear-gradient(180deg,#ffffff,var(--ge-red-soft))!important;
      color:var(--ge-burgundy)!important;
      border-color:rgba(159,29,46,.24)!important;
      box-shadow:0 7px 18px rgba(159,29,46,.055)!important;
    }

    /* Proporção dos cards: menos altura vazia, ícones mais contidos, texto mais limpo */
    .grid.cards{gap:10px!important}
    .grid.cards>.nav-card,
    .nav-card{
      min-height:var(--ge-card-min)!important;
      padding:var(--ge-card-pad-y) var(--ge-card-pad-x)!important;
      border-radius:18px!important;
      gap:10px!important;
      box-shadow:0 10px 25px rgba(14,31,51,.068)!important;
    }
    .nav-card:hover{
      transform:translateY(-2px)!important;
      box-shadow:0 15px 34px rgba(14,31,51,.095)!important;
    }
    .nav-card:before{top:11px!important;bottom:11px!important;width:3px!important;opacity:.92!important}
    .nav-card>div{
      grid-template-columns:var(--ge-menu-icon) minmax(0,1fr)!important;
      column-gap:11px!important;
      row-gap:2px!important;
    }
    .nav-card .icon{
      width:var(--ge-menu-icon)!important;
      height:var(--ge-menu-icon)!important;
      border-radius:15px!important;
      font-size:21px!important;
      box-shadow:0 8px 18px color-mix(in srgb,var(--menu-accent) 18%,transparent), inset 0 1px 0 rgba(255,255,255,.22)!important;
    }
    .nav-card h3{
      font-size:16.4px!important;
      line-height:1.14!important;
      letter-spacing:-.015em!important;
    }
    .nav-card p{
      font-size:12.35px!important;
      line-height:1.28!important;
      color:#607285!important;
      -webkit-line-clamp:2;
    }
    .nav-card strong{
      width:25px!important;
      height:25px!important;
      min-width:25px!important;
      border-color:color-mix(in srgb,var(--menu-accent) 20%,#d9e2e8)!important;
    }
    .nav-card strong::before{font-size:22px!important}

    /* Cores por menu: mantém diferenciação sem aparência poluída */
    .grid.cards>.nav-card:nth-child(1){--menu-accent:#167d89;--menu-accent-2:#0b6b4f}
    .grid.cards>.nav-card:nth-child(2){--menu-accent:#0b6b4f;--menu-accent-2:#10885f}
    .grid.cards>.nav-card:nth-child(3){--menu-accent:#0e1f33;--menu-accent-2:#1d4d75}
    .grid.cards>.nav-card:nth-child(4){--menu-accent:#c9941a;--menu-accent-2:#a96f05}
    .grid.cards>.nav-card:nth-child(5){--menu-accent:#0f766e;--menu-accent-2:#149e98}
    .grid.cards>.nav-card:nth-child(6){--menu-accent:#9f1d2e;--menu-accent-2:#7f1726}
    .grid.cards>.nav-card:nth-child(7){--menu-accent:#395b8c;--menu-accent-2:#0e1f33}
    .grid.cards>.nav-card:nth-child(8){--menu-accent:#8a5a16;--menu-accent-2:#c9941a}

    /* Tipografia e contraste refinados */
    .brand-title h1,.view-head h2,.nav-card h3{color:#102236!important}
    .brand-title p,.view-head p,.nav-card p{color:#607285!important}
    .view-head{box-shadow:0 10px 26px rgba(14,31,51,.055)!important}
    .view-head:before,.card:before{opacity:.82!important}
    .card,.kpi,.table-wrap,.empty-panel,.training-step,.review-item,.training-detail-group,.training-report-item{
      box-shadow:0 11px 26px rgba(14,31,51,.065)!important;
    }

    /* Celular: cards compactos, sem texto espremido ou corte lateral */
    @media(max-width:640px){
      .grid.cards{gap:9px!important}
      .grid.cards>.nav-card,.nav-card{
        min-height:var(--ge-card-min-mobile)!important;
        padding:11px 12px!important;
        border-radius:17px!important;
        gap:9px!important;
      }
      .nav-card:before{top:9px!important;bottom:9px!important;width:3px!important}
      .nav-card>div{grid-template-columns:var(--ge-menu-icon-mobile) minmax(0,1fr)!important;column-gap:10px!important}
      .nav-card .icon{width:var(--ge-menu-icon-mobile)!important;height:var(--ge-menu-icon-mobile)!important;border-radius:14px!important;font-size:19px!important}
      .nav-card h3{font-size:15.4px!important;line-height:1.12!important}
      .nav-card p{font-size:11.65px!important;line-height:1.25!important}
      .nav-card strong{width:24px!important;height:24px!important;min-width:24px!important}
      .profile-btn{min-height:70px!important;padding:11px 13px!important;border-radius:16px!important}
      .profile-icon{width:40px!important;height:40px!important;border-radius:13px!important}
    }


    .pto-collapse-details{margin-top:12px;border:1px solid rgba(15,95,85,.12);border-radius:16px;background:rgba(255,255,255,.72);overflow:hidden}.pto-collapse-details>summary{cursor:pointer;list-style:none;padding:11px 13px;font-weight:900;color:#0f766e;display:flex;align-items:center;justify-content:space-between;gap:10px}.pto-collapse-details>summary::-webkit-details-marker{display:none}.pto-collapse-details>summary:after{content:'+';font-size:18px;line-height:1;color:#0f766e}.pto-collapse-details[open]>summary:after{content:'−'}.pto-collapse-details[open]>summary{border-bottom:1px solid rgba(15,95,85,.1);margin-bottom:10px}.pto-collapse-details .pto-validade-rule-grid,.pto-collapse-details .pto-registro-table,.pto-collapse-details .pto-registro-detail-grid,.pto-collapse-details .pto-matriz-req-list,.pto-collapse-details .pto-fichas-meta-grid{margin:0 12px 12px}.pto-compact-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.pto-compact-summary span{border:1px solid rgba(15,95,85,.1);border-radius:14px;background:#fff;padding:9px 11px;color:#536477;font-size:12px}.pto-compact-summary strong{color:#142238}.pto-matriz-profile-details .pto-matriz-req-list{margin-top:0}@media(max-width:640px){.pto-compact-summary{grid-template-columns:1fr}.pto-collapse-details>summary{padding:12px 13px}.pto-collapse-details .pto-validade-rule-grid,.pto-collapse-details .pto-registro-table,.pto-collapse-details .pto-registro-detail-grid,.pto-collapse-details .pto-matriz-req-list,.pto-collapse-details .pto-fichas-meta-grid{margin-left:10px;margin-right:10px}}

/* FASE 20D-R1 — otimização compacta da Matriz de Qualificações */
    .pto-matriz-summary.pto-matriz-summary-compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px}
    .pto-matriz-summary-compact .pto-matriz-kpi{min-height:58px;padding:8px 7px;border-radius:14px;box-shadow:0 6px 14px rgba(15,39,66,.035)}
    .pto-matriz-summary-compact .pto-matriz-kpi span{font-size:8.7px;letter-spacing:0;line-height:1.08;white-space:normal}
    .pto-matriz-summary-compact .pto-matriz-kpi strong{font-size:17px;margin-top:4px}
    .pto-matriz-subviews{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 0}
    .pto-matriz-subview-btn{border:1px solid rgba(15,95,85,.13);background:#fff;color:#142238;border-radius:14px;padding:9px 8px;font-size:11.5px;font-weight:950;cursor:pointer;box-shadow:0 6px 16px rgba(15,39,66,.035);text-align:center}
    .pto-matriz-subview-btn.active{background:linear-gradient(135deg,#0f766e,#142238);color:#fff;border-color:transparent}
    .pto-matriz-compact-list{display:grid;gap:8px;margin-top:10px}
    .pto-matriz-compact-row{border:1px solid rgba(15,95,85,.10);background:#fff;border-radius:15px;padding:10px;box-shadow:0 6px 16px rgba(15,39,66,.03)}
    .pto-matriz-compact-row strong{display:block;color:#142238;font-size:12.5px;font-weight:950;line-height:1.25}
    .pto-matriz-compact-row small{display:block;color:#64748b;font-size:10.5px;font-weight:760;line-height:1.35;margin-top:3px}
    .pto-matriz-compact-row .pto-matriz-profile-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:8px}
    .pto-matriz-compact-row .pto-matriz-profile-grid div{padding:6px;border-radius:11px}
    .pto-matriz-compact-row .pto-matriz-profile-grid span{font-size:8.5px}.pto-matriz-compact-row .pto-matriz-profile-grid strong{font-size:13px;margin-top:2px}
    .pto-matriz-report-section-details{border-top:1px solid rgba(15,95,85,.08)}
    .pto-matriz-report-section-details>summary{list-style:none;cursor:pointer;padding:13px 16px;font-weight:950;color:#0f766e;display:flex;align-items:center;justify-content:space-between;gap:10px}
    .pto-matriz-report-section-details>summary::-webkit-details-marker{display:none}
    .pto-matriz-report-section-details>summary::after{content:'+';display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;background:rgba(15,118,110,.09);color:#0f766e;font-weight:950}
    .pto-matriz-report-section-details[open]>summary::after{content:'−'}
    .pto-matriz-report-section-details .pto-matriz-report-section{border-top:0;padding-top:0}
    .pto-matriz-report-prof details{margin-top:8px}
    .pto-matriz-report-prof details>summary{cursor:pointer;border:1px solid rgba(15,95,85,.10);border-radius:13px;padding:9px 10px;color:#0f766e;font-size:12px;font-weight:950;background:#fbfefd;list-style:none}
    .pto-matriz-report-prof details>summary::-webkit-details-marker{display:none}
    @media(max-width:640px){
      .pto-matriz-summary.pto-matriz-summary-compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
      .pto-matriz-summary-compact .pto-matriz-kpi{min-height:52px;padding:7px 5px;border-radius:12px}
      .pto-matriz-summary-compact .pto-matriz-kpi span{font-size:7.8px}.pto-matriz-summary-compact .pto-matriz-kpi strong{font-size:15px}
      .pto-matriz-subviews{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
      .pto-matriz-compact-row .pto-matriz-profile-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
      .pto-matriz-compact-row .pto-matriz-profile-grid div{padding:5px 4px}.pto-matriz-compact-row .pto-matriz-profile-grid span{font-size:7.5px}.pto-matriz-compact-row .pto-matriz-profile-grid strong{font-size:12px}
      .pto-matriz-report-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.pto-matriz-report-kpi{padding:7px 5px;border-radius:12px}.pto-matriz-report-kpi span{font-size:7.8px}.pto-matriz-report-kpi strong{font-size:15px}
      .pto-matriz-report-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
    }


    /* FASE 21A — padrão global seguro de organização visual e usabilidade mobile */
    :root{
      --ge-ui-compact-radius:14px;
      --ge-ui-compact-gap:8px;
      --ge-ui-compact-shadow:0 6px 16px rgba(15,39,66,.045);
      --ge-ui-guide-bg:linear-gradient(180deg,#ffffff,#f8fcfb);
      --ge-ui-guide-line:rgba(15,118,110,.14);
    }
    .ge-ui-guide,
    .ge-empty-guide,
    .ge-state-guide{
      border:1px dashed var(--ge-ui-guide-line);
      background:var(--ge-ui-guide-bg);
      border-radius:18px;
      padding:14px 15px;
      color:#536273;
      font-size:12.5px;
      font-weight:800;
      line-height:1.48;
      box-shadow:0 8px 20px rgba(15,39,66,.035);
    }
    .ge-ui-guide strong,
    .ge-empty-guide strong,
    .ge-state-guide strong{display:block;color:#142238;font-size:13.5px;font-weight:950;margin-bottom:4px}
    .ge-compact-summary,
    .ge-summary-compact,
    .summary-grid.compact,
    .kpi-grid.compact,
    .status-grid.compact{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:var(--ge-ui-compact-gap);
      align-items:stretch;
    }
    .ge-compact-summary .kpi,
    .ge-summary-compact .kpi,
    .kpi-grid.compact .kpi,
    .status-grid.compact .kpi,
    .ge-mini-kpi{
      min-height:56px;
      padding:8px 7px;
      border-radius:var(--ge-ui-compact-radius);
      box-shadow:var(--ge-ui-compact-shadow);
    }
    .ge-compact-summary .kpi span,
    .ge-summary-compact .kpi span,
    .kpi-grid.compact .kpi span,
    .status-grid.compact .kpi span,
    .ge-mini-kpi span{
      font-size:8.7px;
      line-height:1.08;
      letter-spacing:.01em;
      margin-bottom:3px;
      white-space:normal;
    }
    .ge-compact-summary .kpi strong,
    .ge-summary-compact .kpi strong,
    .kpi-grid.compact .kpi strong,
    .status-grid.compact .kpi strong,
    .ge-mini-kpi strong{font-size:16px;line-height:1.05;letter-spacing:-.03em}
    .ge-layer-tabs,
    .ge-subview-tabs,
    .ge-filter-chips{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:8px;
      margin:10px 0;
    }
    .ge-layer-tab,
    .ge-subview-tab,
    .ge-filter-chip{
      border:1px solid rgba(15,95,85,.14);
      background:#fff;
      border-radius:14px;
      padding:9px 8px;
      color:#142238;
      font-size:11.5px;
      font-weight:950;
      text-align:center;
      box-shadow:0 6px 14px rgba(15,39,66,.035);
      min-height:38px;
      display:flex;
      align-items:center;
      justify-content:center;
      gap:6px;
    }
    .ge-layer-tab.active,
    .ge-subview-tab.active,
    .ge-filter-chip.active{background:linear-gradient(135deg,#0f766e,#142238);color:#fff;border-color:transparent}
    .ge-collapsible,
    details.ge-collapsible{
      border:1px solid rgba(15,95,85,.10);
      border-radius:16px;
      background:#fff;
      box-shadow:0 6px 16px rgba(15,39,66,.035);
      overflow:hidden;
    }
    .ge-collapsible>summary{
      list-style:none;
      cursor:pointer;
      padding:12px 13px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      color:#142238;
      font-size:13px;
      font-weight:950;
    }
    .ge-collapsible>summary::-webkit-details-marker{display:none}
    .ge-collapsible>summary::after{
      content:'+';
      display:grid;
      place-items:center;
      flex:0 0 auto;
      width:24px;
      height:24px;
      border-radius:999px;
      color:#0f766e;
      background:rgba(15,118,110,.09);
      border:1px solid rgba(15,118,110,.12);
      font-weight:950;
    }
    .ge-collapsible[open]>summary::after{content:'−'}
    .ge-collapsible-body{padding:0 13px 13px;color:#536273;font-size:12px;line-height:1.45}
    .ge-compact-list{display:grid;gap:8px;margin-top:10px}
    .ge-compact-item{
      border:1px solid rgba(15,95,85,.10);
      background:#fff;
      border-radius:15px;
      padding:10px;
      box-shadow:0 6px 16px rgba(15,39,66,.03);
    }
    .ge-compact-item strong{display:block;color:#142238;font-size:12.5px;font-weight:950;line-height:1.24}
    .ge-compact-item small{display:block;color:#64748b;font-size:10.5px;font-weight:760;line-height:1.35;margin-top:3px}
    .ge-filter-panel-compact .filter-row,
    .ge-filter-panel-compact .dashboard-filter-grid,
    .ge-filter-panel-compact .dash-filter-grid{gap:8px}
    .ge-filter-panel-compact select,
    .ge-filter-panel-compact input,
    .ge-filter-panel-compact textarea{min-height:36px;border-radius:13px;font-size:12.5px}
    .ge-no-auto-list .listagem,
    .ge-no-auto-list .result-list[data-empty='true']{display:none}
    @media(max-width:640px){
      .ge-compact-summary,
      .ge-summary-compact,
      .summary-grid.compact,
      .kpi-grid.compact,
      .status-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
      .ge-compact-summary .kpi,
      .ge-summary-compact .kpi,
      .kpi-grid.compact .kpi,
      .status-grid.compact .kpi,
      .ge-mini-kpi{min-height:50px;padding:7px 5px;border-radius:12px}
      .ge-compact-summary .kpi span,
      .ge-summary-compact .kpi span,
      .kpi-grid.compact .kpi span,
      .status-grid.compact .kpi span,
      .ge-mini-kpi span{font-size:6.5px}
      .ge-compact-summary .kpi strong,
      .ge-summary-compact .kpi strong,
      .kpi-grid.compact .kpi strong,
      .status-grid.compact .kpi strong,
      .ge-mini-kpi strong{font-size:14.5px}
      .ge-ui-guide,.ge-empty-guide,.ge-state-guide{padding:12px 13px;font-size:12px;border-radius:16px}
      .ge-layer-tabs,.ge-subview-tabs,.ge-filter-chips{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
      .ge-layer-tab,.ge-subview-tab,.ge-filter-chip{min-height:36px;padding:8px 6px;font-size:10.8px;border-radius:13px}
    }
    @media(max-width:360px){
      .ge-compact-summary,
      .ge-summary-compact,
      .summary-grid.compact,
      .kpi-grid.compact,
      .status-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}
    }



/* FASE 21B — Matriz de Qualificações por camadas */
.pto-matriz-layer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.pto-matriz-layer-card{border:1px solid rgba(15,95,85,.12);background:linear-gradient(180deg,#fff 0%,#f8fbfb 100%);border-radius:20px;padding:14px;box-shadow:0 10px 22px rgba(15,39,66,.045);cursor:pointer;text-align:left;transition:.18s ease;color:#142238;min-height:96px;display:flex;gap:12px;align-items:flex-start;width:100%}
.pto-matriz-layer-card:hover{transform:translateY(-1px);border-color:rgba(15,95,85,.22);box-shadow:0 14px 26px rgba(15,39,66,.07)}
.pto-matriz-layer-icon{width:42px;height:42px;border-radius:15px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;background:linear-gradient(135deg,rgba(15,118,110,.13),rgba(20,34,56,.08));font-size:20px}
.pto-matriz-layer-card strong{display:block;color:#142238;font-size:14px;font-weight:950;line-height:1.22}
.pto-matriz-layer-card span{display:block;margin-top:5px;color:#64748b;font-size:11.5px;font-weight:760;line-height:1.35}
.pto-matriz-layer-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.pto-matriz-layer-top h3{margin:0;color:#142238;font-size:18px;font-weight:950}
.pto-matriz-layer-note{border:1px dashed rgba(15,95,85,.20);background:#fbfefd;border-radius:16px;padding:12px;color:#64748b;font-size:12.5px;font-weight:780;line-height:1.4;margin-top:12px}
.pto-matriz-groups-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.pto-matriz-group-card{border:1px solid rgba(15,95,85,.13);background:#fff;border-radius:18px;padding:13px 12px;text-align:left;cursor:pointer;box-shadow:0 8px 18px rgba(15,39,66,.04);color:#142238;width:100%}
.pto-matriz-group-card strong{display:block;font-size:14px;font-weight:950}.pto-matriz-group-card span{display:block;margin-top:4px;color:#64748b;font-size:11px;font-weight:800}.pto-matriz-group-card.active{background:linear-gradient(135deg,#0f766e,#142238);color:#fff;border-color:transparent}.pto-matriz-group-card.active span{color:rgba(255,255,255,.82)}
.pto-matriz-submenu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}.pto-matriz-submenu-btn{border:1px solid rgba(15,95,85,.13);background:#fff;color:#142238;border-radius:15px;padding:10px 9px;font-size:12px;font-weight:950;cursor:pointer;box-shadow:0 6px 16px rgba(15,39,66,.035);text-align:center}.pto-matriz-submenu-btn.active{background:linear-gradient(135deg,#0f766e,#142238);color:#fff;border-color:transparent}
.pto-matriz-line-table-wrap{margin-top:12px;overflow-x:auto;border:1px solid rgba(15,95,85,.10);border-radius:18px;background:#fff;box-shadow:0 8px 18px rgba(15,39,66,.04)}
.pto-matriz-line-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}.pto-matriz-line-table th,.pto-matriz-line-table td{padding:10px 11px;border-bottom:1px solid rgba(15,95,85,.08);border-right:1px solid rgba(15,95,85,.06);font-size:11.5px;text-align:left;vertical-align:middle}.pto-matriz-line-table th{background:#f7fafc;color:#142238;font-size:10px;text-transform:uppercase;font-weight:950;letter-spacing:.02em}.pto-matriz-line-table td:first-child,.pto-matriz-line-table th:first-child{position:sticky;left:0;background:#fff;z-index:2;min-width:170px}.pto-matriz-line-table th:first-child{background:#f7fafc;z-index:3}.pto-matriz-line-table strong{display:block;font-weight:950;color:#142238}.pto-matriz-line-table small{display:block;color:#64748b;font-size:10.5px;font-weight:760;margin-top:3px}
.pto-matriz-layer-compact .muted{margin-top:6px;margin-bottom:0;font-size:12px;line-height:1.35}.pto-matriz-layer-compact h3{margin-bottom:4px}.pto-matriz-layer-compact .pto-matriz-summary{margin-top:8px}
@media(max-width:640px){.pto-matriz-layer-grid{grid-template-columns:1fr;gap:10px}.pto-matriz-layer-card{min-height:82px;padding:12px}.pto-matriz-layer-icon{width:38px;height:38px;border-radius:13px}.pto-matriz-groups-grid,.pto-matriz-submenu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pto-matriz-group-card{padding:11px 9px}.pto-matriz-group-card strong{font-size:12.5px}.pto-matriz-line-table th,.pto-matriz-line-table td{padding:8px 9px;font-size:10.8px}.pto-matriz-line-table td:first-child,.pto-matriz-line-table th:first-child{min-width:145px}}

/* FASE 21B-R1 — refinamento visual da Matriz por camadas */
.pto-matriz-home-card{padding:16px!important}
.pto-matriz-layer-grid{gap:10px!important;margin-top:12px!important}
.pto-matriz-layer-card{min-height:78px!important;padding:12px 14px!important;align-items:center!important;border-radius:18px!important;gap:14px!important}
.pto-matriz-layer-icon{width:54px!important;height:54px!important;border-radius:17px!important;font-size:28px!important;background:linear-gradient(135deg,rgba(15,118,110,.18),rgba(20,34,56,.08))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 8px 18px rgba(15,39,66,.045)!important}
.pto-matriz-layer-card strong{font-size:15.8px!important;line-height:1.18!important}
.pto-matriz-layer-card .pto-matriz-layer-text{display:block!important;margin-top:0!important;color:inherit!important;font-size:inherit!important;line-height:1.2!important}
.pto-matriz-layer-card .pto-matriz-layer-text span{display:none!important}
.pto-matriz-layer-note{padding:9px 11px!important;margin-top:8px!important;margin-bottom:8px!important;border-radius:14px!important;font-size:12px!important;line-height:1.34!important}
.pto-matriz-layer-top{margin-bottom:8px!important;gap:8px!important}
.pto-matriz-layer-top h3{font-size:17px!important;line-height:1.15!important}
.pto-matriz-layer-compact{padding:14px!important}
.pto-matriz-layer-compact h3{margin-bottom:6px!important}
.pto-matriz-card .pto-matriz-filter-grid{margin-top:8px!important;gap:9px!important}
.pto-matriz-card .pto-name-search-hint{display:none!important}
.pto-matriz-group-card{min-height:70px!important;padding:11px 12px!important;border-radius:16px!important}
.pto-matriz-group-card strong{font-size:11px!important;line-height:1.15!important}
.pto-matriz-group-card span{font-size:12px!important;margin-top:3px!important}
.pto-matriz-summary-compact .pto-matriz-kpi,.pto-matriz-summary .pto-matriz-kpi{min-height:52px!important;padding:7px 6px!important;border-radius:12px!important}
.pto-matriz-summary-compact .pto-matriz-kpi span,.pto-matriz-summary .pto-matriz-kpi span{font-size:8px!important;line-height:1.05!important}.pto-matriz-summary-compact .pto-matriz-kpi strong,.pto-matriz-summary .pto-matriz-kpi strong{font-size:15px!important;margin-top:3px!important}
.pto-matriz-report-header p{font-size:11.5px!important;line-height:1.3!important;margin-top:5px!important}.pto-matriz-report-section{padding:12px!important}.pto-matriz-report-section h4{margin-bottom:8px!important}
@media(max-width:640px){
  .pto-matriz-home-card{padding:14px!important}
  .pto-matriz-layer-grid{grid-template-columns:1fr!important;gap:9px!important}
  .pto-matriz-layer-card{min-height:68px!important;padding:10px 12px!important;gap:12px!important;border-radius:16px!important}
  .pto-matriz-layer-icon{width:48px!important;height:48px!important;min-width:48px!important;border-radius:15px!important;font-size:26px!important}
  .pto-matriz-layer-card strong{font-size:14.7px!important}
  .pto-matriz-layer-note{font-size:11.5px!important;padding:8px 10px!important;margin:7px 0!important}
  .pto-matriz-layer-top h3{font-size:16px!important}
  .pto-matriz-group-card{min-height:64px!important;padding:10px!important}
  .pto-matriz-summary.pto-matriz-summary-compact,.pto-matriz-summary{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
}


/* FASE 21B-R2 — correção de navegação interna e proporção visual da Matriz */
body:has(#appMain .pto-matriz-internal-layer) .return-bar{display:none!important}
.pto-matriz-internal-layer .view-head{display:none!important}
.pto-matriz-layer-card{min-height:66px!important;padding:10px 12px!important;gap:12px!important}
.pto-matriz-layer-icon{width:50px!important;height:50px!important;min-width:50px!important;font-size:34px!important;line-height:1!important}
.pto-matriz-layer-card strong{font-size:15px!important;line-height:1.12!important;letter-spacing:-.02em!important}
.pto-matriz-layer-compact{padding:12px!important}
.pto-matriz-layer-top{margin-bottom:8px!important;align-items:center!important}
.pto-matriz-layer-top h3{font-size:16.5px!important;line-height:1.12!important;letter-spacing:-.02em!important}
.pto-matriz-layer-top .btn{padding:9px 13px!important;min-height:40px!important;border-radius:14px!important;font-size:13px!important;white-space:nowrap!important}
.pto-matriz-groups-grid{gap:8px!important;margin-top:10px!important}
.pto-matriz-group-card{min-height:58px!important;padding:9px 10px!important;border-radius:15px!important}
.pto-matriz-group-card strong{font-size:13.4px!important;line-height:1.12!important}
.pto-matriz-group-card span{font-size:11px!important;margin-top:2px!important}
.pto-matriz-submenu-grid{gap:7px!important;margin-top:10px!important}
.pto-matriz-submenu-btn{padding:9px 8px!important;min-height:38px!important;font-size:11.5px!important;border-radius:13px!important}
.pto-matriz-complete-scope{gap:8px!important;margin-top:10px!important}
.pto-matriz-scope-btn{min-height:38px!important;padding:9px 10px!important;border-radius:13px!important;font-size:12px!important}
.pto-matriz-card .pto-matriz-filter-grid{gap:8px!important;margin-top:8px!important}
.pto-matriz-card .field{margin-bottom:8px!important}
.pto-matriz-card .field label,.pto-matriz-card .modern-select-label{font-size:10.5px!important;margin-bottom:5px!important;line-height:1.15!important}
.pto-matriz-card input,.pto-matriz-card select,.pto-matriz-card textarea,.pto-matriz-card .modern-select-trigger{min-height:46px!important;padding-top:10px!important;padding-bottom:10px!important}
.pto-matriz-check{min-height:42px!important;padding:9px 11px!important;border-radius:13px!important}
.pto-matriz-actions{gap:8px!important;margin-top:10px!important}
.pto-matriz-summary-compact .pto-matriz-kpi,.pto-matriz-summary .pto-matriz-kpi{min-height:48px!important;padding:6px!important}
.pto-matriz-summary-compact .pto-matriz-kpi strong,.pto-matriz-summary .pto-matriz-kpi strong{font-size:14.5px!important}
@media(max-width:640px){
  .pto-matriz-layer-card{min-height:60px!important;padding:9px 10px!important;gap:10px!important;border-radius:15px!important}
  .pto-matriz-layer-icon{width:46px!important;height:46px!important;min-width:46px!important;font-size:33px!important;border-radius:14px!important}
  .pto-matriz-layer-card strong{font-size:11px!important;line-height:1.1!important}
  .pto-matriz-layer-compact{padding:11px!important}
  .pto-matriz-layer-top h3{font-size:15.5px!important}
  .pto-matriz-layer-top .btn{min-height:38px!important;padding:8px 11px!important;font-size:12.5px!important}
  .pto-matriz-group-card{min-height:56px!important;padding:8px 9px!important}
  .pto-matriz-group-card strong{font-size:12.8px!important}.pto-matriz-group-card span{font-size:10.6px!important}
  .pto-matriz-scope-btn{min-height:36px!important;padding:8px!important;font-size:11.5px!important}
}


/* FASE 21B-R3 — consolidação visual e organizacional da Matriz */
body:has(#appMain .pto-matriz-home-layer) .return-bar{display:flex!important}
.pto-matriz-home-layer .view-head{display:none!important}
.pto-matriz-internal-layer .view-head{display:none!important}
.pto-matriz-layer-shell{margin-top:8px!important}
.pto-matriz-home-card{padding:13px!important;margin-top:8px!important}
.pto-matriz-layer-compact{padding:12px!important}
.pto-matriz-layer-top{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:6px!important;margin:0 0 8px!important}
.pto-matriz-layer-top .btn{order:0!important;align-self:flex-start!important;margin:0!important;min-height:36px!important;padding:7px 12px!important;border-radius:13px!important;font-size:12.5px!important}
.pto-matriz-layer-top h3{order:1!important;margin:0!important;font-size:19px!important;line-height:1.1!important;font-weight:950!important;letter-spacing:-.025em!important;color:#142238!important}
.pto-matriz-home-card>h3{font-size:20px!important;line-height:1.1!important;margin:0 0 6px!important;font-weight:950!important;letter-spacing:-.025em!important;color:#142238!important}
.pto-matriz-layer-note{margin:5px 0 8px!important;padding:8px 10px!important;font-size:11.5px!important;line-height:1.3!important;border-radius:13px!important}
.pto-matriz-layer-grid{margin-top:8px!important;gap:8px!important}
.pto-matriz-layer-card{min-height:58px!important;padding:9px 10px!important;gap:10px!important;border-radius:15px!important;align-items:center!important}
.pto-matriz-layer-icon{width:46px!important;height:46px!important;min-width:46px!important;border-radius:14px!important;font-size:33px!important;line-height:1!important}
.pto-matriz-layer-card strong{font-size:11px!important;line-height:1.08!important;letter-spacing:-.02em!important}
.pto-matriz-groups-grid{margin-top:8px!important;gap:8px!important}
.pto-matriz-group-card{min-height:56px!important;padding:9px 10px!important;border-radius:15px!important}
.pto-matriz-group-card strong{font-size:13.2px!important;line-height:1.1!important}.pto-matriz-group-card span{font-size:10.8px!important;margin-top:2px!important}
.pto-matriz-complete-scope{margin-top:8px!important;gap:7px!important}.pto-matriz-scope-btn{min-height:36px!important;padding:8px 9px!important;border-radius:13px!important;font-size:11.5px!important}
.pto-matriz-filter-grid{gap:8px!important;margin-top:6px!important}.pto-matriz-card .field{margin-bottom:7px!important}.pto-matriz-card input,.pto-matriz-card select,.pto-matriz-card textarea,.pto-matriz-card .modern-select-trigger{min-height:44px!important}
.pto-matriz-status-picks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:8px}.pto-matriz-status-pick{display:flex;align-items:center;justify-content:center;text-align:center;gap:6px;border:1px solid rgba(15,95,85,.12);background:#fff;border-radius:13px;min-height:38px;padding:7px 8px;color:#142238;font-size:11.2px;font-weight:900;box-shadow:0 5px 14px rgba(15,39,66,.035)}.pto-matriz-status-pick input{width:15px;height:15px;accent-color:#0f766e;min-height:auto!important;padding:0!important}.pto-matriz-status-pick:has(input:checked){border-color:rgba(15,118,110,.45);background:rgba(15,118,110,.07);color:#0f766e}
.pto-matriz-summary-narrative{border:1px solid rgba(15,95,85,.10);background:#fff;border-radius:15px;padding:10px;margin-top:8px;color:#142238;font-size:12px;font-weight:800;line-height:1.35}.pto-matriz-attention-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:8px}.pto-matriz-attention-card{border:1px solid rgba(15,95,85,.10);background:#fff;border-radius:14px;padding:9px}.pto-matriz-attention-card span{display:block;color:#64748b;font-size:9px;text-transform:uppercase;font-weight:950}.pto-matriz-attention-card strong{display:block;color:#142238;font-size:17px;font-weight:950;margin-top:2px}.pto-matriz-alert-card{width:100%;text-align:left;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.pto-matriz-alert-card:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(15,39,66,.08)}.pto-matriz-alert-card small{display:block;color:#64748b;font-size:10px;font-weight:850;margin-top:3px;text-transform:none}.pto-matriz-alert-card.danger strong{color:#b42318}.pto-matriz-alert-card.warn strong{color:#b45309}.pto-matriz-alert-table-wrap{overflow:auto;margin-top:10px}.pto-matriz-alert-table{width:100%;border-collapse:separate;border-spacing:0 7px}.pto-matriz-alert-table th{font-size:10px;text-transform:uppercase;color:#64748b;text-align:left;padding:5px 8px}.pto-matriz-alert-table td{background:#fff;border-top:1px solid rgba(15,95,85,.10);border-bottom:1px solid rgba(15,95,85,.10);padding:9px 8px;font-size:11.5px;color:#142238;font-weight:750;vertical-align:top}.pto-matriz-alert-table td:first-child{border-left:1px solid rgba(15,95,85,.10);border-radius:12px 0 0 12px}.pto-matriz-alert-table td:last-child{border-right:1px solid rgba(15,95,85,.10);border-radius:0 12px 12px 0}.pto-matriz-group-summary-list{display:grid;gap:9px;margin-top:9px}.pto-matriz-group-summary{border:1px solid rgba(15,95,85,.11);background:#fff;border-radius:16px;padding:10px}.pto-matriz-group-summary h4{margin:0;color:#142238;font-size:13.5px;font-weight:950}.pto-matriz-group-summary p{margin:4px 0 0;color:#64748b;font-size:11px;font-weight:800;line-height:1.3}.pto-matriz-group-summary details{margin-top:8px}.pto-matriz-group-summary summary{cursor:pointer;color:#0f766e;font-weight:950;font-size:11.5px;list-style:none}.pto-matriz-group-summary summary::-webkit-details-marker{display:none}.pto-matriz-status-text{display:inline-flex;margin-top:6px;border-radius:999px;padding:5px 8px;font-size:10.5px;font-weight:950;background:#eef6ff;color:#175cd3}.pto-matriz-status-text.ok{background:#ecfdf3;color:#087443}.pto-matriz-status-text.warn{background:#fffbeb;color:#b45309}.pto-matriz-status-text.danger{background:#fef2f2;color:#b42318}.pto-matriz-status-text.neutral{background:#f2f4f7;color:#475467}
@media(max-width:640px){.pto-matriz-home-card>h3{font-size:19px!important}.pto-matriz-layer-top h3{font-size:18px!important}.pto-matriz-layer-card{min-height:56px!important}.pto-matriz-layer-icon{width:44px!important;height:44px!important;min-width:44px!important;font-size:32px!important}.pto-matriz-status-picks{grid-template-columns:1fr;gap:6px}.pto-matriz-status-pick{justify-content:flex-start}.pto-matriz-attention-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.pto-matriz-attention-card{padding:7px}.pto-matriz-attention-card strong{font-size:15px}}


  

/* FASE 21B-R4 — ajuste fino de encaixe, espaçamento e padronização dos cards da Matriz */
body:has(#appMain .pto-matriz-home-layer) .dashboard-pro-training .view-head{display:none!important}
#appMain .pto-matriz-card{padding:12px!important;margin-top:8px!important;border-radius:18px!important}
#appMain .pto-matriz-layer-compact{padding:12px!important}
#appMain .pto-matriz-home-card{padding:12px!important;margin-top:0!important}
#appMain .pto-matriz-home-card>h3,
#appMain .pto-matriz-card>h3,
#appMain .pto-matriz-layer-top h3{font-size:19px!important;line-height:1.08!important;font-weight:950!important;letter-spacing:-.035em!important;margin:0!important;color:#142238!important}
#appMain .pto-matriz-home-note,
#appMain .pto-matriz-layer-note{margin:7px 0 8px!important;padding:8px 10px!important;font-size:11.6px!important;line-height:1.25!important;border-radius:13px!important}
#appMain .pto-matriz-layer-grid{grid-template-columns:1fr!important;gap:8px!important;margin-top:8px!important}
#appMain .pto-matriz-layer-card{min-height:60px!important;padding:9px 11px!important;border-radius:16px!important;gap:10px!important;align-items:center!important;justify-content:flex-start!important;width:100%!important}
#appMain .pto-matriz-layer-icon{width:50px!important;height:50px!important;min-width:50px!important;border-radius:15px!important;font-size:34px!important;line-height:1!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;margin:0!important}
#appMain .pto-matriz-layer-card strong{font-size:14.4px!important;line-height:1.08!important;font-weight:950!important;letter-spacing:-.03em!important;margin:0!important}
#appMain .pto-matriz-layer-card .pto-matriz-layer-text{display:flex!important;align-items:center!important;margin:0!important;min-height:100%!important}
#appMain .pto-matriz-back-row{display:flex!important;align-items:center!important;justify-content:flex-start!important;margin:0 0 6px 0!important;padding:0!important}
#appMain .pto-matriz-back-btn,
#appMain .pto-matriz-layer-top .btn{order:-1!important;align-self:flex-start!important;min-height:34px!important;padding:7px 12px!important;border-radius:12px!important;font-size:12.5px!important;font-weight:900!important;margin:0!important;white-space:nowrap!important}
#appMain .pto-matriz-layer-top{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:7px!important;margin:0 0 8px!important;padding:0!important}
#appMain .pto-matriz-layer-top .btn + h3,
#appMain .pto-matriz-layer-top h3{margin-top:0!important}
#appMain .pto-matriz-groups-grid{gap:8px!important;margin-top:8px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
#appMain .pto-matriz-group-card{min-height:58px!important;padding:9px 10px!important;border-radius:15px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important}
#appMain .pto-matriz-group-card strong{font-size:13.3px!important;line-height:1.08!important;margin:0!important}
#appMain .pto-matriz-group-card span{font-size:11px!important;line-height:1.1!important;margin-top:3px!important}
#appMain .pto-matriz-complete-scope{gap:7px!important;margin-top:8px!important}
#appMain .pto-matriz-scope-btn{min-height:34px!important;padding:8px 10px!important;border-radius:12px!important;font-size:12px!important;font-weight:900!important}
#appMain .pto-matriz-summary,
#appMain .pto-matriz-summary-compact{gap:6px!important;margin-top:8px!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
#appMain .pto-matriz-summary .pto-matriz-kpi,
#appMain .pto-matriz-summary-compact .pto-matriz-kpi{min-height:46px!important;padding:6px 7px!important;border-radius:11px!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
#appMain .pto-matriz-summary .pto-matriz-kpi span,
#appMain .pto-matriz-summary-compact .pto-matriz-kpi span{font-size:7.5px!important;line-height:1!important;letter-spacing:.01em!important}
#appMain .pto-matriz-summary .pto-matriz-kpi strong,
#appMain .pto-matriz-summary-compact .pto-matriz-kpi strong{font-size:11px!important;line-height:1.05!important;margin-top:3px!important}
#appMain .pto-matriz-filter-grid{gap:7px!important;margin-top:8px!important}
#appMain .pto-matriz-card .field{margin-bottom:6px!important}
#appMain .pto-matriz-card .field label,
#appMain .pto-matriz-card .modern-select-label{font-size:9.8px!important;margin-bottom:4px!important;line-height:1.1!important;letter-spacing:.02em!important}
#appMain .pto-matriz-card input,
#appMain .pto-matriz-card select,
#appMain .pto-matriz-card textarea,
#appMain .pto-matriz-card .modern-select-trigger{min-height:40px!important;padding-top:8px!important;padding-bottom:8px!important;border-radius:13px!important}
#appMain .pto-matriz-status-select{margin:8px 0 8px!important;border:1px solid rgba(15,95,85,.12)!important;background:#fff!important;border-radius:14px!important;padding:8px!important;box-shadow:0 7px 15px rgba(15,39,66,.035)!important}
#appMain .pto-matriz-status-title{display:block!important;color:#0f766e!important;font-size:9.8px!important;font-weight:950!important;text-transform:uppercase!important;letter-spacing:.03em!important;margin:0 0 6px!important}
#appMain .pto-matriz-status-options{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
#appMain .pto-matriz-status-option{display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;min-height:34px!important;border:1px solid rgba(15,95,85,.13)!important;border-radius:12px!important;background:#fbfefd!important;color:#142238!important;font-size:10.5px!important;font-weight:850!important;padding:6px!important;line-height:1.1!important}
#appMain .pto-matriz-status-option input{width:14px!important;height:14px!important;min-height:14px!important;accent-color:#0f766e!important;padding:0!important;margin:0!important}
#appMain .pto-matriz-actions{margin-top:8px!important;gap:7px!important}
#appMain .pto-matriz-actions .btn{min-height:38px!important;padding:8px 10px!important;border-radius:12px!important;font-size:12px!important}
#appMain .pto-matriz-line-table-wrap{margin-top:8px!important}
#appMain .pto-matriz-report,
#appMain .pto-matriz-report-section,
#appMain .pto-matriz-report-section-details{margin-top:8px!important}
@media(max-width:640px){
  #appMain .pto-matriz-card{padding:11px!important;margin-top:7px!important;border-radius:17px!important}
  #appMain .pto-matriz-home-card>h3,#appMain .pto-matriz-card>h3,#appMain .pto-matriz-layer-top h3{font-size:18px!important}
  #appMain .pto-matriz-layer-grid{gap:7px!important;margin-top:7px!important}
  #appMain .pto-matriz-layer-card{min-height:58px!important;padding:8px 10px!important;gap:9px!important}
  #appMain .pto-matriz-layer-icon{width:48px!important;height:48px!important;min-width:48px!important;font-size:33px!important}
  #appMain .pto-matriz-layer-card strong{font-size:11px!important}
  #appMain .pto-matriz-groups-grid{gap:7px!important;margin-top:7px!important}
  #appMain .pto-matriz-group-card{min-height:56px!important;padding:8px 9px!important}
  #appMain .pto-matriz-status-options{grid-template-columns:1fr!important;gap:5px!important}
  #appMain .pto-matriz-status-option{justify-content:flex-start!important;min-height:32px!important;font-size:10.5px!important}
}


/* FASE 21B-R5 — consolidação final da Matriz com camadas, filtros otimizados e detalhamento individual */
#appMain .pto-matriz-home-card>h3{font-size:21px!important;margin:0 0 8px!important}
#appMain .pto-matriz-home-card .pto-matriz-layer-grid{margin-top:6px!important}
#appMain .pto-matriz-home-note{display:none!important}
#appMain .pto-matriz-card>.pto-matriz-layer-note:first-of-type{display:none!important}
#appMain .pto-matriz-layer-top{gap:6px!important;margin-bottom:7px!important}
#appMain .pto-matriz-layer-top h3,#appMain .pto-matriz-card>h3{font-size:20px!important;line-height:1.08!important;margin:0 0 6px!important}
#appMain .pto-matriz-groups-grid{margin-top:6px!important;gap:7px!important}
#appMain .pto-matriz-layer-grid{gap:7px!important}
#appMain .pto-matriz-layer-card{min-height:58px!important}
#appMain .pto-matriz-group-card{min-height:55px!important}
#appMain .pto-matriz-status-unified{margin-top:8px!important}
#appMain .pto-matriz-status-unified .pto-matriz-status-options{grid-template-columns:repeat(2,minmax(0,1fr))!important}
#appMain .pto-matriz-detail-btn{min-height:34px!important;padding:7px 10px!important;border-radius:14px!important;font-size:11.5px!important;white-space:nowrap!important}
#appMain .pto-matriz-detail-layer{margin-top:8px!important}
#appMain .pto-matriz-detail-profile{border:1px solid rgba(15,95,85,.10);background:#fff;border-radius:16px;padding:12px;box-shadow:0 8px 18px rgba(15,39,66,.035)}
#appMain .pto-matriz-detail-profile h4{margin:0 0 8px;color:#142238;font-size:17px;font-weight:950;line-height:1.15}
#appMain .pto-matriz-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
#appMain .pto-matriz-detail-grid div{border:1px solid rgba(15,95,85,.10);border-radius:13px;padding:8px;background:#fbfefd}
#appMain .pto-matriz-detail-grid span{display:block;color:#64748b;font-size:9px;text-transform:uppercase;font-weight:950;line-height:1.1}
#appMain .pto-matriz-detail-grid strong{display:block;color:#142238;font-size:12.5px;font-weight:900;line-height:1.2;margin-top:3px;word-break:break-word}
#appMain .pto-matriz-detail-list{margin-top:10px;display:grid;gap:8px}
#appMain .pto-matriz-detail-list h4{margin:0;color:#142238;font-size:16px;font-weight:950}
#appMain .pto-matriz-detail-req{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start;border:1px solid rgba(15,95,85,.10);background:#fff;border-radius:15px;padding:10px;box-shadow:0 6px 15px rgba(15,39,66,.03)}
#appMain .pto-matriz-detail-req strong{display:block;color:#142238;font-size:13.5px;font-weight:950;line-height:1.2}
#appMain .pto-matriz-detail-req small,#appMain .pto-matriz-detail-meta span{display:block;color:#64748b;font-size:10.8px;font-weight:760;line-height:1.35;margin-top:3px}
#appMain .pto-matriz-detail-meta{grid-column:1/-1;margin-top:2px}
@media(max-width:640px){
  #appMain .pto-matriz-home-card>h3{font-size:20px!important}
  #appMain .pto-matriz-layer-top h3,#appMain .pto-matriz-card>h3{font-size:19px!important}
  #appMain .pto-matriz-status-unified .pto-matriz-status-options{grid-template-columns:1fr!important}
  #appMain .pto-matriz-detail-grid{grid-template-columns:1fr!important;gap:7px}
  #appMain .pto-matriz-detail-req{grid-template-columns:1fr;gap:6px}
}



/* FASE 21B-R6 — ajuste visual da Matriz por novo escopo operacional */
.pto-matriz-layer-grid.pto-matriz-layer-grid-two{grid-template-columns:1fr;gap:10px}
.pto-matriz-status-unified{border:1px solid rgba(15,90,79,.14);border-radius:18px;background:rgba(255,255,255,.86);padding:0;margin-top:12px;overflow:hidden}
.pto-matriz-status-unified summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;font-weight:900;color:#0d2a3f;text-transform:none}
.pto-matriz-status-unified summary::-webkit-details-marker{display:none}
.pto-matriz-status-unified summary span{color:var(--accent);text-transform:uppercase;font-size:12px;letter-spacing:.03em}
.pto-matriz-status-unified summary strong{font-size:14px;color:#6b7788;text-align:right}
.pto-matriz-status-unified[open] summary{border-bottom:1px solid rgba(15,90,79,.10)}
.pto-matriz-status-unified .pto-matriz-status-options{padding:10px 14px 14px;display:grid;gap:8px}
@media (min-width:720px){.pto-matriz-layer-grid.pto-matriz-layer-grid-two{grid-template-columns:1fr 1fr}}

/* FASE 21D — agrupamento dos alertas do resumo inteligente */
.pto-matriz-alert-grouped-list{display:grid;gap:8px;margin-top:10px}.pto-matriz-alert-person-group{border:1px solid rgba(15,90,79,.10);border-radius:16px;background:rgba(255,255,255,.9);box-shadow:0 8px 18px rgba(15,39,66,.045);overflow:hidden}.pto-matriz-alert-person-group h4{margin:0;padding:9px 11px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;line-height:1.2;color:#13283d;border-bottom:1px solid rgba(15,90,79,.08);background:linear-gradient(180deg,#ffffff,#f7fbfb)}.pto-matriz-alert-person-group h4 span{font-size:10.5px;color:#64748b;font-weight:900;white-space:nowrap}.pto-matriz-alert-item-list{list-style:none;margin:0;padding:0}.pto-matriz-alert-item-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 11px;border-top:1px solid rgba(15,90,79,.07);background:#fff}.pto-matriz-alert-item-row:first-child{border-top:0}.pto-matriz-alert-item-main{min-width:0}.pto-matriz-alert-item-main strong{display:block;color:#142238;font-size:12px;font-weight:950;line-height:1.22;word-break:normal;overflow-wrap:anywhere}.pto-matriz-alert-item-main span{display:block;margin-top:2px;color:#64748b;font-size:10.5px;font-weight:850;line-height:1.2}.pto-matriz-alert-item-date{color:#142238;font-size:11.5px;font-weight:950;white-space:nowrap;text-align:right}@media(max-width:420px){.pto-matriz-alert-person-group h4{font-size:12.5px;padding:8px 10px}.pto-matriz-alert-item-row{grid-template-columns:1fr;gap:3px;padding:7px 10px}.pto-matriz-alert-item-date{text-align:left;font-size:11px}.pto-matriz-summary-narrative{font-size:11.5px;padding:9px}.pto-matriz-attention-grid{gap:6px}.pto-matriz-attention-card{padding:8px 7px}}
#appMain .pto-matriz-card .ai-modern-select-label,#appMain .pto-matriz-card .ai-modern-select-label>span{color:#087663!important}#appMain .pto-matriz-card .ai-modern-select>summary{background:linear-gradient(180deg,#ffffff,#f7fbfb)!important;border-color:rgba(31,122,255,.15)!important;color:#13283d!important}


/* FASE 21F — padronização visual do filtro Situação do requisito na Matriz */
#appMain .pto-matriz-card .pto-matriz-status-field{display:grid!important;gap:7px!important;margin:0!important;color:#087663!important;font-size:10.8px!important;font-weight:950!important;text-transform:uppercase!important;letter-spacing:.02em!important;min-width:0!important}
#appMain .pto-matriz-card .pto-matriz-status-field>span{color:#087663!important;margin:0!important}
#appMain .pto-matriz-card .pto-matriz-status-field .pto-matriz-status-unified{margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;overflow:visible!important;position:relative!important;display:block!important;min-width:0!important}
#appMain .pto-matriz-card .pto-matriz-status-field .pto-matriz-status-unified>summary{list-style:none!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;min-height:46px!important;border:1px solid rgba(31,122,255,.15)!important;border-radius:17px!important;background:linear-gradient(180deg,#ffffff 0%,#f7fbfb 100%)!important;padding:10px 11px 10px 13px!important;color:#13283d!important;font-size:13px!important;font-weight:900!important;letter-spacing:-.01em!important;text-transform:none!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.86),0 8px 18px rgba(15,39,66,.06)!important;cursor:pointer!important;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease!important}
#appMain .pto-matriz-card .pto-matriz-status-field .pto-matriz-status-unified>summary::-webkit-details-marker{display:none!important}
#appMain .pto-matriz-card .pto-matriz-status-field .pto-matriz-status-unified>summary:after{content:'⌄'!important;display:grid!important;place-items:center!important;width:25px!important;height:25px!important;border-radius:999px!important;background:linear-gradient(135deg,#eefdf8,#eff6ff)!important;border:1px solid rgba(31,122,255,.14)!important;color:#087663!important;font-size:11px!important;font-weight:950!important;box-shadow:0 4px 10px rgba(15,39,66,.045)!important;transition:transform .18s ease,background .18s ease,color .18s ease!important;flex:none!important}
#appMain .pto-matriz-card .pto-matriz-status-field .pto-matriz-status-unified[open]>summary{border-color:rgba(31,122,255,.38)!important;box-shadow:0 10px 24px rgba(31,122,255,.13)!important;background:linear-gradient(180deg,#ffffff,#f3fbff)!important;border-bottom:1px solid rgba(31,122,255,.38)!important}
#appMain .pto-matriz-card .pto-matriz-status-field .pto-matriz-status-unified[open]>summary:after{transform:rotate(180deg)!important;background:linear-gradient(135deg,#087663,#1f7aff)!important;color:#fff!important;border-color:transparent!important}
#appMain .pto-matriz-card .pto-matriz-status-field .pto-matriz-status-unified .ai-modern-select-text{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;min-width:0!important;display:block!important;color:#13283d!important;font-size:13px!important;font-weight:900!important;text-transform:none!important;letter-spacing:-.01em!important}
#appMain .pto-matriz-card .pto-matriz-status-field .pto-matriz-status-unified .ai-modern-select-text.is-empty{color:#64748b!important;font-weight:850!important}
#appMain .pto-matriz-card .pto-matriz-status-field .pto-matriz-status-options{position:absolute!important;z-index:90!important;left:0!important;right:0!important;top:calc(100% + 8px)!important;padding:9px!important;border-radius:19px!important;background:rgba(255,255,255,.985)!important;border:1px solid rgba(31,122,255,.16)!important;box-shadow:0 20px 48px rgba(15,39,66,.17)!important;backdrop-filter:blur(10px)!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;max-height:286px!important;overflow:auto!important}
#appMain .pto-matriz-card .pto-matriz-status-field .pto-matriz-status-option{min-height:38px!important;border:1px solid transparent!important;background:#fff!important;color:#27384b!important;border-radius:13px!important;padding:9px 10px!important;font-size:12.4px!important;font-weight:850!important;line-height:1.25!important;justify-content:flex-start!important;box-shadow:none!important;text-transform:none!important}
#appMain .pto-matriz-card .pto-matriz-status-field .pto-matriz-status-option input{width:14px!important;height:14px!important;min-height:14px!important;accent-color:#087663!important;margin:0!important;flex:none!important}
@media(max-width:760px){#appMain .pto-matriz-card .pto-matriz-status-field .pto-matriz-status-unified>summary{min-height:44px!important;font-size:12.7px!important;border-radius:16px!important}#appMain .pto-matriz-card .pto-matriz-status-field .pto-matriz-status-options{position:relative!important;top:auto!important;left:auto!important;right:auto!important;max-height:255px!important;margin-top:7px!important;box-shadow:0 14px 30px rgba(15,39,66,.14)!important;grid-template-columns:1fr!important}#appMain .pto-matriz-card .pto-matriz-status-field .pto-matriz-status-option{font-size:12.4px!important;padding:9px!important}}



/* FASE 21G — ajuste visual responsivo dos cards principais dos grupos da Matriz
   Escopo: somente botões Informações detalhadas / Resumo inteligente dentro dos grupos. */
#appMain .pto-matriz-submenu-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  margin-top:16px!important;
  align-items:stretch!important;
}
#appMain .pto-matriz-submenu-btn{
  min-height:66px!important;
  padding:16px 14px!important;
  border-radius:18px!important;
  font-size:15.5px!important;
  line-height:1.15!important;
  font-weight:950!important;
  letter-spacing:-.025em!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
  box-shadow:0 10px 22px rgba(15,39,66,.055)!important;
}
@media(max-width:640px){
  #appMain .pto-matriz-submenu-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    margin-top:14px!important;
  }
  #appMain .pto-matriz-submenu-btn{
    min-height:64px!important;
    padding:14px 10px!important;
    border-radius:17px!important;
    font-size:14.8px!important;
    line-height:1.12!important;
  }
}
@media(max-width:360px){
  #appMain .pto-matriz-submenu-grid{gap:8px!important}
  #appMain .pto-matriz-submenu-btn{
    min-height:62px!important;
    padding:12px 8px!important;
    font-size:13.6px!important;
  }
}


/* FASE 22C — Filtros múltiplos do PDF da Matriz */
.pto-matriz-pdf22c-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:12px}
.pto-matriz-pdf22c-block{border:1px solid rgba(15,36,58,.12);background:linear-gradient(180deg,#ffffff 0%,#f8fbfc 100%);border-radius:18px;padding:14px;box-shadow:0 10px 24px rgba(15,36,58,.08)}
.pto-matriz-pdf22c-block h4{margin:0 0 10px;color:#0f243a;font-weight:900;font-size:1rem;letter-spacing:-.01em}
.pto-matriz-pdf22c-summary{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:7px 10px;border-radius:999px;background:#eef8f5;color:#0f4f48;font-size:.82rem;font-weight:900;margin-bottom:10px}
.pto-matriz-pdf22c-options{display:grid;gap:8px;margin:0 0 12px}
.pto-matriz-pdf22c-option{width:100%;display:flex;align-items:center;gap:8px;text-align:left;border:1px solid rgba(15,36,58,.16);border-radius:14px;background:#fff;color:#0f243a;padding:10px 11px;font-weight:900;line-height:1.15;cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease}
.pto-matriz-pdf22c-option:hover{transform:translateY(-1px);box-shadow:0 8px 16px rgba(15,36,58,.09)}
.pto-matriz-pdf22c-option.active{border-color:#0f766e;background:#ecfdf5;color:#0f4f48;box-shadow:0 8px 20px rgba(15,118,110,.10)}
.pto-matriz-pdf22c-check{width:18px;height:18px;border-radius:6px;border:2px solid rgba(15,36,58,.28);display:grid;place-items:center;flex:0 0 auto;background:#fff;color:#fff;font-size:12px;font-weight:900}
.pto-matriz-pdf22c-option.active .pto-matriz-pdf22c-check{background:#0f766e;border-color:#0f766e;color:#fff}
.pto-matriz-pdf22c-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.pto-matriz-pdf22c-actions .btn{padding:8px 10px;font-size:.78rem;min-height:34px}
.pto-matriz-pdf22c-generate{width:100%;justify-content:center;min-height:40px;font-weight:900}
.pto-matriz-pdf22c-dropdown{position:relative;margin:0 0 12px}
.pto-matriz-pdf22c-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:52px;border:1px solid rgba(15,36,58,.16);border-radius:16px;background:#fff;color:#0f243a;padding:12px 14px;font-weight:900;text-align:left;box-shadow:0 8px 18px rgba(15,36,58,.06);cursor:pointer}
.pto-matriz-pdf22c-trigger span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pto-matriz-pdf22c-arrow{font-size:1rem;color:#0f766e;flex:0 0 auto}
.pto-matriz-pdf22c-menu{display:none;margin-top:8px;border:1px solid rgba(15,36,58,.14);border-radius:16px;background:#fff;padding:10px;box-shadow:0 14px 28px rgba(15,36,58,.10);z-index:4}
.pto-matriz-pdf22c-dropdown.open .pto-matriz-pdf22c-menu{display:block}
.pto-matriz-pdf22c-options{display:grid;gap:8px;margin:0 0 10px}
.pto-matriz-pdf22c-menu-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pto-matriz-pdf22c-menu-actions .btn{padding:8px 10px;font-size:.78rem;min-height:34px;flex:1 1 auto}
@media(max-width:760px){.pto-matriz-pdf22c-grid{grid-template-columns:1fr}.pto-matriz-pdf22c-block{padding:12px}.pto-matriz-pdf22c-option{padding:9px 10px;font-size:.86rem}.pto-matriz-pdf22c-actions .btn{flex:1 1 auto}.pto-matriz-pdf22c-trigger{min-height:54px;font-size:.9rem}.pto-matriz-pdf22c-menu{padding:9px}}

/* FASE 22E — Informações detalhadas técnicas e edição controlada de validades */
.pto-matriz-tech-cell{min-width:150px;max-width:210px;white-space:normal;line-height:1.22}
.pto-matriz-tech-cell strong{font-size:10.6px;line-height:1.18;color:#142238}
.pto-matriz-tech-cell span{display:block;color:#475569;font-size:10px;font-weight:760;margin-top:3px}
.pto-matriz-tech-cell .pto-matriz-badge{display:inline-flex;margin-top:5px;font-size:9.8px;padding:4px 7px;white-space:nowrap}
.pto-matriz-actions-cell{display:flex;gap:6px;flex-wrap:wrap;min-width:140px}.pto-matriz-actions-cell .btn{padding:7px 9px;font-size:10.5px;min-height:32px}
.pto-matriz-edit-form{display:grid;gap:10px;margin-top:12px}.pto-matriz-edit-row{display:grid;grid-template-columns:minmax(150px,1.25fr) minmax(138px,.9fr) minmax(138px,.9fr) minmax(90px,.55fr);gap:8px;align-items:end;border:1px solid rgba(15,95,85,.10);background:#fff;border-radius:14px;padding:10px}.pto-matriz-edit-row label{display:grid;gap:4px;font-size:10px;font-weight:900;color:#0f243a;text-transform:uppercase;letter-spacing:.02em}.pto-matriz-edit-row input{min-height:42px;border:1px solid rgba(15,36,58,.18);border-radius:12px;padding:8px 10px;font-weight:800;color:#0f243a;background:#fff;width:100%;box-sizing:border-box}.pto-matriz-edit-row input[readonly]{background:#f8fafc;color:#344054}.pto-matriz-edit-readonly{font-size:12px;font-weight:850;color:#142238;line-height:1.25}.pto-matriz-edit-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.pto-matriz-edit-actions .btn{min-height:40px}.pto-matriz-status-apto{color:#047857!important}.pto-matriz-status-vencido{color:#b91c1c!important}.pto-matriz-status-avencer{color:#b45309!important}.pto-matriz-status-pendente{color:#64748b!important}
@media(max-width:760px){.pto-matriz-edit-row{grid-template-columns:1fr}.pto-matriz-tech-cell{min-width:138px}.pto-matriz-actions-cell{min-width:124px}.pto-matriz-actions-cell .btn{flex:1 1 auto}}


/* FASE 22G — padronização visual da área da Matriz e proporcionalidade dos PDFs */
#appMain .pto-matriz-home-card{padding:18px 18px 20px!important}
#appMain .pto-matriz-home-card>h3{font-size:1.26rem!important;margin-bottom:14px!important;letter-spacing:-.025em!important}
#appMain .pto-matriz-home-card .pto-matriz-layer-grid{gap:12px!important}
#appMain .pto-matriz-home-card .pto-matriz-layer-card{min-height:74px!important;padding:13px 15px!important;border-radius:18px!important;gap:13px!important}
#appMain .pto-matriz-home-card .pto-matriz-layer-icon{width:54px!important;height:54px!important;font-size:31px!important;border-radius:16px!important;flex:0 0 54px!important}
#appMain .pto-matriz-home-card .pto-matriz-layer-text strong{font-size:15.2px!important;line-height:1.16!important;letter-spacing:-.02em!important}
#appMain .pto-registros-pdf-panel{padding:17px 18px 18px!important;margin-top:14px!important}
#appMain .pto-registros-pdf-panel>div:first-child h3{font-size:1.2rem!important;line-height:1.15!important;margin-bottom:4px!important;letter-spacing:-.025em!important}
#appMain .pto-registros-pdf-panel>div:first-child p{font-size:.88rem!important;line-height:1.35!important;margin:0 0 11px!important;color:#64748b!important;font-weight:850!important}
#appMain .pto-matriz-pdf22c-grid{gap:11px!important;margin-top:10px!important}
#appMain .pto-matriz-pdf22c-block{padding:12px!important;border-radius:17px!important;box-shadow:0 8px 18px rgba(15,36,58,.065)!important}
#appMain .pto-matriz-pdf22c-block h4{font-size:.96rem!important;line-height:1.18!important;margin-bottom:9px!important;letter-spacing:-.018em!important}
#appMain .pto-matriz-pdf22c-trigger{min-height:45px!important;padding:10px 12px!important;border-radius:15px!important;font-size:.88rem!important;box-shadow:0 6px 14px rgba(15,36,58,.05)!important}
#appMain .pto-matriz-pdf22c-menu{margin-top:7px!important;padding:8px!important;border-radius:15px!important}
#appMain .pto-matriz-pdf22c-option{padding:8px 9px!important;border-radius:12px!important;font-size:.82rem!important;line-height:1.16!important}
#appMain .pto-matriz-pdf22c-check{width:16px!important;height:16px!important;border-radius:5px!important;font-size:10px!important}
#appMain .pto-matriz-pdf22c-menu-actions .btn{min-height:32px!important;padding:7px 9px!important;font-size:.76rem!important;border-radius:12px!important}
#appMain .pto-matriz-pdf22c-generate{min-height:38px!important;padding:9px 12px!important;font-size:.88rem!important;border-radius:14px!important}
@media(max-width:760px){
  #appMain .pto-matriz-home-card{padding:16px!important}
  #appMain .pto-matriz-home-card .pto-matriz-layer-card{min-height:72px!important;padding:12px 13px!important}
  #appMain .pto-matriz-home-card .pto-matriz-layer-icon{width:50px!important;height:50px!important;font-size:29px!important;flex-basis:50px!important}
  #appMain .pto-matriz-home-card .pto-matriz-layer-text strong{font-size:14.6px!important}
  #appMain .pto-registros-pdf-panel{padding:15px 14px 16px!important}
  #appMain .pto-registros-pdf-panel>div:first-child h3{font-size:1.12rem!important}
  #appMain .pto-registros-pdf-panel>div:first-child p{font-size:.83rem!important}
  #appMain .pto-matriz-pdf22c-block{padding:11px!important}
  #appMain .pto-matriz-pdf22c-trigger{min-height:43px!important;font-size:.84rem!important}
  #appMain .pto-matriz-pdf22c-generate{min-height:37px!important;font-size:.84rem!important}
}



    /* FASE 24A-R1 — Ajuste visual controlado do menu Alertas e Notificações */
    .pto-alerts-menu-grid{
      grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
      gap:16px;
      align-items:stretch;
    }
    .pto-alerts-nav-card{
      min-height:138px;
      padding:20px;
      justify-content:space-between;
      gap:12px;
    }
    .pto-alerts-nav-card .icon{
      width:52px;
      height:52px;
      border-radius:18px;
      font-size:24px;
    }
    .pto-alerts-nav-card h3{
      font-size:18px;
      line-height:1.22;
      margin-top:10px;
      word-break:normal;
      overflow-wrap:break-word;
    }
    .pto-alerts-nav-card strong{
      align-self:flex-start;
      font-size:13px;
    }
    .pto-alerts-check{
      min-height:48px;
      display:flex;
      align-items:center;
    }
    @media(max-width:760px){
      .pto-alerts-menu-grid{grid-template-columns:1fr;gap:12px}
      .pto-alerts-nav-card{min-height:106px;padding:17px 18px;flex-direction:row;align-items:center}
      .pto-alerts-nav-card>div{display:flex;align-items:center;gap:14px;min-width:0}
      .pto-alerts-nav-card .icon{flex:0 0 46px;width:46px;height:46px;border-radius:16px;font-size:22px}
      .pto-alerts-nav-card h3{font-size:17px;margin:0}
      .pto-alerts-nav-card strong{white-space:nowrap;align-self:center}
    }

    /* FASE 24A-R2 — Padronização visual do menu Alertas e Notificações */
    #appMain .pto-alerts-back-btn{
      min-height:46px!important;
      padding:11px 18px!important;
      border-radius:16px!important;
      font-weight:900!important;
      box-shadow:0 8px 18px rgba(15,36,58,.08)!important;
    }
    #appMain .pto-alerts-kpi-grid{
      display:grid!important;
      grid-template-columns:repeat(2,minmax(0,1fr))!important;
      gap:10px!important;
      margin-top:14px!important;
    }
    #appMain .pto-alerts-kpi-grid .kpi{
      min-height:86px!important;
      padding:12px 13px!important;
      border-radius:18px!important;
      display:flex!important;
      flex-direction:column!important;
      justify-content:center!important;
      gap:7px!important;
    }
    #appMain .pto-alerts-kpi-grid .kpi span{
      font-size:.72rem!important;
      line-height:1.16!important;
      letter-spacing:.02em!important;
      font-weight:900!important;
    }
    #appMain .pto-alerts-kpi-grid .kpi strong{
      font-size:1.55rem!important;
      line-height:1!important;
      letter-spacing:-.035em!important;
    }
    #appMain .pto-alerts-kpi-grid .kpi.pto-alerts-kpi-text strong{
      font-size:1rem!important;
      line-height:1.08!important;
      letter-spacing:-.02em!important;
    }
    #appMain .pto-alerts-choice-grid{
      display:flex!important;
      flex-wrap:wrap!important;
      gap:9px!important;
      margin-top:10px!important;
    }
    #appMain .pto-alerts-choice{
      border:1px solid rgba(15,36,58,.12)!important;
      background:linear-gradient(180deg,#fff,#f8fbfc)!important;
      color:#14213d!important;
      border-radius:999px!important;
      min-height:42px!important;
      padding:10px 13px!important;
      font-weight:900!important;
      font-size:.86rem!important;
      line-height:1.1!important;
      box-shadow:0 8px 18px rgba(15,36,58,.06)!important;
      display:inline-flex!important;
      align-items:center!important;
      justify-content:center!important;
      gap:8px!important;
      cursor:pointer!important;
      transition:transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease!important;
      text-align:center!important;
      max-width:100%!important;
    }
    #appMain .pto-alerts-choice::before{
      content:'';
      width:16px;
      height:16px;
      flex:0 0 16px;
      border-radius:50%;
      border:2px solid rgba(13,126,112,.35);
      background:#fff;
      box-shadow:inset 0 0 0 2px #fff;
    }
    #appMain .pto-alerts-choice.active,
    #appMain .pto-alerts-choice[aria-pressed='true']{
      background:linear-gradient(135deg,#087968,#0d99a8)!important;
      color:#fff!important;
      border-color:rgba(8,121,104,.55)!important;
      box-shadow:0 12px 24px rgba(8,121,104,.18)!important;
    }
    #appMain .pto-alerts-choice.active::before,
    #appMain .pto-alerts-choice[aria-pressed='true']::before{
      border-color:#fff;
      background:#fff;
      box-shadow:inset 0 0 0 4px #0d9488;
    }
    #appMain .pto-alerts-choice:active{transform:scale(.985)}
    #appMain .pto-alerts-choice-section{
      padding:16px!important;
    }
    #appMain .pto-alerts-choice-section h3{
      margin-bottom:8px!important;
      font-size:1.02rem!important;
      letter-spacing:-.02em!important;
    }


    /* FASE 24B — Painel de Alertas alinhado à Matriz */
    #appMain .pto-alerts-kpi-grid.pto-alerts-kpi-grid-24b{
      grid-template-columns:repeat(2,minmax(0,1fr))!important;
      gap:9px!important;
      margin-top:14px!important;
    }
    #appMain .pto-alerts-kpi-grid.pto-alerts-kpi-grid-24b .kpi{
      min-height:76px!important;
      padding:10px 12px!important;
      border-radius:17px!important;
    }
    #appMain .pto-alerts-panel-24b{
      display:flex!important;
      flex-direction:column!important;
      gap:12px!important;
      margin-top:14px!important;
    }
    #appMain .pto-alert-group-block{
      padding:16px!important;
    }
    #appMain .pto-alert-group-block h3{
      margin:0 0 12px!important;
      color:#0f243a!important;
      font-size:1.08rem!important;
      letter-spacing:-.02em!important;
    }
    #appMain .pto-alert-situation-block{
      margin-top:10px!important;
      border-top:1px solid rgba(15,36,58,.08)!important;
      padding-top:10px!important;
    }
    #appMain .pto-alert-situation-block:first-of-type{
      margin-top:0!important;
      border-top:0!important;
      padding-top:0!important;
    }
    #appMain .pto-alert-situation-block h4{
      margin:0 0 8px!important;
      font-size:.9rem!important;
      text-transform:uppercase!important;
      letter-spacing:.04em!important;
      color:#0d7e70!important;
    }
    #appMain .pto-alert-person-card{
      border:1px solid rgba(15,36,58,.08)!important;
      border-radius:15px!important;
      background:rgba(255,255,255,.82)!important;
      padding:10px!important;
      margin-top:8px!important;
    }
    #appMain .pto-alert-person-card h5{
      margin:0 0 8px!important;
      font-size:.95rem!important;
      color:#14213d!important;
    }
    #appMain .pto-alert-person-card ul{
      list-style:none!important;
      padding:0!important;
      margin:0!important;
      display:flex!important;
      flex-direction:column!important;
      gap:7px!important;
    }
    #appMain .pto-alert-person-card li{
      display:flex!important;
      justify-content:space-between!important;
      align-items:center!important;
      gap:10px!important;
      border-top:1px dashed rgba(15,36,58,.08)!important;
      padding-top:7px!important;
    }
    #appMain .pto-alert-person-card li:first-child{
      border-top:0!important;
      padding-top:0!important;
    }
    #appMain .pto-alert-person-card small{
      display:block!important;
      color:#687588!important;
      margin-top:2px!important;
      line-height:1.25!important;
    }
    #appMain .pto-alert-status{
      flex:0 0 auto!important;
      min-width:76px!important;
      text-align:center!important;
      border-radius:999px!important;
      padding:5px 8px!important;
      font-style:normal!important;
      font-weight:900!important;
      font-size:.72rem!important;
      line-height:1!important;
    }
    #appMain .pto-alert-status.danger{background:#ffe3e7!important;color:#a5162e!important;}
    #appMain .pto-alert-status.warning{background:#fff0c2!important;color:#8a5b00!important;}
    #appMain .pto-alert-status.info{background:#dff3ff!important;color:#075985!important;}
    #appMain .pto-alert-status.neutral{background:#e9edf2!important;color:#4b5563!important;}
    #appMain .pto-alerts-empty-state{
      padding:16px!important;
      margin-top:0!important;
    }
    #appMain .pto-alerts-empty-state h3{
      margin:0!important;
      font-size:1rem!important;
      color:#14213d!important;
    }
    @media(min-width:760px){
      #appMain .pto-alerts-kpi-grid.pto-alerts-kpi-grid-24b{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
    }
    @media(max-width:390px){
      #appMain .pto-alert-person-card li{align-items:flex-start!important;flex-direction:column!important;}
      #appMain .pto-alert-status{min-width:auto!important;}
    }

    /* FASE 24A-R3 — Tipos de alerta em 3 colunas */
    #appMain .pto-alerts-choice-grid.pto-alerts-alert-type-grid{
      display:grid!important;
      grid-template-columns:repeat(3,minmax(0,1fr))!important;
      gap:8px!important;
      width:100%!important;
      align-items:stretch!important;
    }
    #appMain .pto-alerts-choice-grid.pto-alerts-alert-type-grid .pto-alerts-choice{
      width:100%!important;
      min-height:40px!important;
      padding:9px 7px!important;
      font-size:.78rem!important;
      line-height:1.05!important;
      justify-content:center!important;
      text-align:center!important;
      gap:5px!important;
      white-space:normal!important;
    }
    #appMain .pto-alerts-choice-grid.pto-alerts-alert-type-grid .pto-alerts-choice::before{
      width:14px!important;
      height:14px!important;
      flex-basis:14px!important;
      border-width:2px!important;
    }
    @media(max-width:390px){
      #appMain .pto-alerts-choice-grid.pto-alerts-alert-type-grid{
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
        gap:6px!important;
      }
      #appMain .pto-alerts-choice-grid.pto-alerts-alert-type-grid .pto-alerts-choice{
        width:100%!important;
        min-height:38px!important;
        padding:8px 5px!important;
        font-size:.7rem!important;
        justify-content:center!important;
        text-align:center!important;
      }
      #appMain .pto-alerts-choice-grid.pto-alerts-alert-type-grid .pto-alerts-choice::before{
        width:12px!important;
        height:12px!important;
        flex-basis:12px!important;
      }
    }

    @media(min-width:760px){
      #appMain .pto-alerts-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
    }
    @media(max-width:390px){
      #appMain .pto-alerts-kpi-grid{gap:8px!important}
      #appMain .pto-alerts-kpi-grid .kpi{min-height:78px!important;padding:10px!important}
      #appMain .pto-alerts-kpi-grid .kpi strong{font-size:1.35rem!important}
      #appMain .pto-alerts-choice{width:100%!important;justify-content:flex-start!important;text-align:left!important}
    }


    .view-head p:empty{display:none}

  

    /* FASE 24A-R5 — Padronização definitiva do botão Voltar em Alertas e Notificações */
    #appMain .pto-alerts-back-btn{
      min-height:34px!important;
      height:auto!important;
      width:auto!important;
      min-width:0!important;
      padding:7px 12px!important;
      border-radius:12px!important;
      font-size:12.5px!important;
      line-height:1.15!important;
      font-weight:900!important;
      color:#18473d!important;
      background:#f1f6f5!important;
      border:1px solid #d4e7e2!important;
      box-shadow:none!important;
      display:inline-flex!important;
      align-items:center!important;
      justify-content:center!important;
      gap:6px!important;
      margin:0!important;
      white-space:nowrap!important;
      align-self:flex-start!important;
    }
    #appMain .layer-back-row:has(.pto-alerts-back-btn){
      display:flex!important;
      align-items:center!important;
      justify-content:flex-start!important;
      margin:0 0 8px 0!important;
      padding:0!important;
      background:transparent!important;
      border:0!important;
      box-shadow:none!important;
    }
    #appMain .pto-alerts-back-btn:hover{
      transform:translateY(-1px)!important;
      filter:brightness(1.03)!important;
    }
    @media(max-width:640px){
      #appMain .pto-alerts-back-btn{
        min-height:34px!important;
        padding:7px 12px!important;
        border-radius:12px!important;
        font-size:12.5px!important;
      }
    }


/* FASE 28-R28 — Cards da lista filtrada do Relatório clicáveis para abrir Detalhes do Treinamento */
.training-report-item-clickable{cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;background:linear-gradient(180deg,#fff,#fbfefd)}
.training-report-item-clickable:hover,.training-report-item-clickable:focus{transform:translateY(-1px);border-color:rgba(8,118,99,.30);box-shadow:0 12px 28px rgba(15,39,66,.09);outline:none}
.training-report-open-hint{display:block;margin-top:6px;color:#087663;font-size:11px;font-weight:900}



/* FASE 33-R2 — Correção visual global do menu Configurações dos Formulários */
#appMain .form-config-shell{display:grid;gap:14px;margin-top:12px;width:100%;box-sizing:border-box;overflow-wrap:anywhere;word-break:normal}
#appMain .form-config-readonly-note,#appMain .form-config-warning,#appMain .form-config-empty{border:1px solid rgba(15,95,85,.14);border-radius:16px;background:linear-gradient(180deg,#ffffff,#f8fcfb);padding:12px 14px;color:#334155;font-weight:750;line-height:1.35;box-shadow:0 8px 22px rgba(15,36,58,.05)}
#appMain .form-config-warning{border-color:rgba(180,83,9,.22);background:#fffbeb;color:#7c2d12}
#appMain .form-config-path{font-size:12px;font-weight:850;color:#64748b;margin:0;line-height:1.35;background:#f8fafc;border:1px solid rgba(15,36,58,.08);border-radius:12px;padding:8px 10px}
#appMain .form-config-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;width:100%}
#appMain .form-config-card,#appMain .form-config-item{background:#fff;border:1px solid rgba(15,36,58,.10);border-radius:18px;padding:14px;box-shadow:0 10px 26px rgba(15,36,58,.06);display:grid;gap:10px;min-width:0;box-sizing:border-box;overflow:hidden}
#appMain .form-config-card h3,#appMain .form-config-item h3{margin:0;color:#0f243a;font-size:17px;line-height:1.2}
#appMain .form-config-card p,#appMain .form-config-item p{margin:0;line-height:1.35;color:#475569;overflow-wrap:anywhere}
#appMain .form-config-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:10px;width:100%}
#appMain .form-config-kpi{display:grid;gap:4px;background:#fff;border:1px solid rgba(15,95,85,.13);border-radius:16px;padding:12px;box-shadow:0 8px 22px rgba(15,36,58,.05);min-width:0}
#appMain .form-config-kpi span{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.03em;color:#64748b;line-height:1.1}
#appMain .form-config-kpi strong{font-size:19px;font-weight:950;color:#0f243a;line-height:1.1;overflow-wrap:anywhere}
#appMain .form-config-section{border:1px solid rgba(15,95,85,.13);border-radius:18px;background:#fff;box-shadow:0 10px 26px rgba(15,36,58,.05);overflow:hidden;min-width:0}
#appMain .form-config-section summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 14px;color:#0f243a;font-weight:950;line-height:1.2;background:linear-gradient(180deg,#ffffff,#f8fcfb);border-bottom:1px solid rgba(15,36,58,.06)}
#appMain .form-config-section summary::-webkit-details-marker{display:none}
#appMain .form-config-section summary::before{content:'▾';font-size:13px;color:#087663;flex:0 0 auto}
#appMain .form-config-section:not([open]) summary::before{content:'▸'}
#appMain .form-config-section-body{display:grid;gap:10px;padding:12px;min-width:0}
#appMain .form-config-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap;border-bottom:1px solid rgba(15,36,58,.07);padding-bottom:8px;min-width:0}
#appMain .form-config-item-head strong{font-size:16px;font-weight:950;color:#0f243a;line-height:1.2;min-width:0;overflow-wrap:anywhere}
#appMain .form-config-item-head span{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#f1f5f9;color:#334155;border:1px solid rgba(15,36,58,.08);font-size:11px;font-weight:900;padding:5px 8px;line-height:1;white-space:normal;max-width:100%;overflow-wrap:anywhere}
#appMain .form-config-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:8px;width:100%;min-width:0}
#appMain .form-config-meta>div,#appMain .form-config-meta-row{display:grid;gap:3px;background:#f8fafc;border:1px solid rgba(15,36,58,.07);border-radius:12px;padding:8px;min-width:0;box-sizing:border-box}
#appMain .form-config-meta span,#appMain .form-config-meta-label{font-size:10.5px;font-weight:950;text-transform:uppercase;letter-spacing:.025em;color:#64748b;line-height:1.1}
#appMain .form-config-meta strong,#appMain .form-config-meta-value{font-size:13px;font-weight:900;color:#0f243a;line-height:1.2;overflow-wrap:anywhere;word-break:break-word}
#appMain .form-config-chip-row,#appMain .form-config-options{display:flex;align-items:flex-start;gap:7px;flex-wrap:wrap;min-width:0}
#appMain .form-config-chip,#appMain .form-config-option{display:inline-flex;align-items:center;justify-content:center;gap:5px;border-radius:999px;border:1px solid rgba(15,36,58,.10);background:#f8fafc;color:#334155;padding:6px 9px;font-size:11.5px;font-weight:900;line-height:1.15;max-width:100%;overflow-wrap:anywhere;white-space:normal}
#appMain .form-config-chip.ok{background:#ecfdf5;border-color:#bbf7d0;color:#047857}
#appMain .form-config-chip.no{background:#fff1f2;border-color:#fecdd3;color:#9f1239}
#appMain .form-config-chip.flow{background:#fffbeb;border-color:#fde68a;color:#92400e}
#appMain .config38-simulated-badge{display:inline-flex;align-items:center;justify-content:center;width:max-content;max-width:100%;margin-top:6px;border-radius:999px;border:1px solid #fed7aa;background:#fff7ed;color:#9a3412;padding:4px 8px;font-size:10.5px;font-weight:950;line-height:1.1;text-transform:uppercase;letter-spacing:.015em}
#appMain .config38-simulated-note{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:7px;color:#9a3412;font-size:11.5px;font-weight:850;line-height:1.2}
#appMain .config38-simulated-note .config38-simulated-badge{margin-top:0}
#appMain .form-config-option{border-radius:10px;background:#fff;color:#0f243a}
#appMain .training-line-muted{color:#64748b!important;font-size:13px!important;line-height:1.35!important;margin:0!important}
/* FASE 43-R2 — Seletores múltiplos recolhíveis para listas longas de permissões */
#appMain .config43-permission-selector{border:1px solid rgba(15,95,85,.13);border-radius:18px;background:linear-gradient(180deg,#ffffff,#fbfefd);box-shadow:0 10px 26px rgba(15,36,58,.05);overflow:hidden;min-width:0}
#appMain .config43-permission-selector summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 14px;color:#0f243a;font-weight:950;line-height:1.15;background:linear-gradient(180deg,#ffffff,#f8fcfb);border-bottom:1px solid rgba(15,36,58,.06)}
#appMain .config43-permission-selector summary::-webkit-details-marker{display:none}
#appMain .config43-permission-selector summary::before{content:'▾';font-size:13px;color:#087663;flex:0 0 auto}
#appMain .config43-permission-selector:not([open]) summary::before{content:'▸'}
#appMain .config43-selector-title{display:grid;gap:3px;min-width:0;flex:1 1 auto}
#appMain .config43-selector-title strong{font-size:16px;font-weight:950;color:#0f243a;line-height:1.15;overflow-wrap:anywhere}
#appMain .config43-selector-title small{font-size:11.5px;font-weight:850;color:#64748b;line-height:1.2;overflow-wrap:anywhere}
#appMain .config43-selector-count{display:inline-flex;align-items:center;justify-content:center;min-width:max-content;border-radius:999px;border:1px solid rgba(15,95,85,.15);background:#ecfdf5;color:#047857;padding:6px 9px;font-size:11.5px;font-weight:950;line-height:1.1;white-space:normal;text-align:center}
#appMain .config43-selector-count.no{background:#fff1f2;border-color:#fecdd3;color:#9f1239}
#appMain .config43-selector-count.neutral{background:#f8fafc;border-color:rgba(15,36,58,.10);color:#334155}
#appMain .config43-selector-body{display:grid;gap:10px;padding:12px;min-width:0}
#appMain .config43-selector-search{width:100%;border:1px solid rgba(15,95,85,.18);border-radius:14px;background:#fff;padding:11px 12px;color:#0f243a;font-size:14px;font-weight:800;outline:none;box-sizing:border-box;box-shadow:inset 0 1px 0 rgba(15,36,58,.02)}
#appMain .config43-selector-search:focus{border-color:rgba(8,118,99,.42);box-shadow:0 0 0 3px rgba(8,118,99,.08)}
#appMain .config43-permission-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;min-width:0}
#appMain .config43-permission-item{display:flex;align-items:center;gap:9px;width:100%;min-height:44px;text-align:left;border:1px solid rgba(15,36,58,.10);border-radius:15px;background:#fff;color:#0f243a;padding:10px 11px;box-shadow:0 6px 16px rgba(15,36,58,.04);font-size:12.5px;font-weight:900;line-height:1.2;box-sizing:border-box;overflow:hidden;transition:transform .15s ease,border-color .15s ease,background .15s ease}
#appMain .config43-permission-item span:last-child{min-width:0;overflow-wrap:anywhere;word-break:normal}
#appMain button.config43-permission-item{cursor:pointer}
#appMain button.config43-permission-item:hover,#appMain button.config43-permission-item:focus{transform:translateY(-1px);border-color:rgba(8,118,99,.28);outline:none}
#appMain .config43-permission-item.is-selected{border-color:#99f6e4;background:linear-gradient(180deg,#ecfdf5,#f0fdfa);color:#047857}
#appMain .config43-permission-item.is-blocked{border-color:#fecdd3;background:#fff1f2;color:#9f1239}
#appMain .config43-permission-item.is-readonly{background:#f8fafc;color:#334155}
#appMain .config43-permission-check{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;min-width:22px;border-radius:8px;border:1px solid rgba(15,36,58,.16);background:#fff;color:#047857;font-weight:950;font-size:13px}
#appMain .config43-permission-item.is-selected .config43-permission-check{background:#087663;color:#fff;border-color:#087663}
#appMain .config43-permission-item.is-blocked .config43-permission-check{background:#fff1f2;color:#9f1239;border-color:#fda4af}
#appMain .config43-selector-empty{display:none;border:1px dashed rgba(15,36,58,.18);border-radius:14px;padding:10px;color:#64748b;font-weight:850;text-align:center;background:#f8fafc}

#appMain .config43-sim-alert{display:flex;align-items:flex-start;gap:12px;border:1px solid rgba(8,118,99,.16);background:linear-gradient(135deg,#ecfdf5,#f8fffd);border-radius:20px;padding:13px 14px;box-shadow:0 12px 28px rgba(8,118,99,.07);color:#0f243a}
#appMain .config43-sim-alert .icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;min-width:34px;border-radius:14px;background:#087663;color:#fff;font-weight:950;box-shadow:0 8px 18px rgba(8,118,99,.20)}
#appMain .config43-sim-alert strong{display:block;font-size:15px;font-weight:950;line-height:1.15;color:#0f243a;margin-bottom:3px}
#appMain .config43-sim-alert span:last-child{display:block;font-size:12.5px;font-weight:800;line-height:1.35;color:#64748b}
#appMain .config43-protected-card{border:1px solid rgba(15,95,85,.11);background:linear-gradient(180deg,#fff,#fbfefd);border-radius:20px;padding:14px;box-shadow:0 12px 26px rgba(15,36,58,.05);display:grid;gap:10px}
#appMain .config43-protected-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
#appMain .config43-protected-head h3{margin:0;color:#0f243a;font-size:17px;font-weight:950;line-height:1.15}
#appMain .config43-protected-head .badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#ecfdf5;border:1px solid #bbf7d0;color:#047857;font-size:11px;font-weight:950;padding:6px 10px;white-space:nowrap}
#appMain .config43-profile-card{border:1px solid rgba(15,36,58,.08);background:linear-gradient(180deg,#fff,#f8fafc);border-radius:20px;padding:14px;box-shadow:0 12px 26px rgba(15,36,58,.05);display:grid;gap:12px}
#appMain .config43-profile-card h3{margin:0;color:#0f243a;font-size:17px;font-weight:950;line-height:1.15}
#appMain .config43-segmented{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#eef7f5;border:1px solid rgba(8,118,99,.12);border-radius:18px;padding:6px}
#appMain .config43-segment-btn{border:0;border-radius:14px;background:transparent;color:#0f243a;padding:12px 10px;min-height:48px;font-size:14px;font-weight:950;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .15s ease,transform .15s ease,box-shadow .15s ease,color .15s ease}
#appMain .config43-segment-btn.selected{background:linear-gradient(135deg,#087663,#0f9f8a);color:#fff;box-shadow:0 10px 18px rgba(8,118,99,.20)}
#appMain .config43-segment-btn:not(.selected):hover,#appMain .config43-segment-btn:not(.selected):focus{background:#fff;outline:none;transform:translateY(-1px)}
#appMain .config43-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#appMain .config43-summary-card{border:1px solid rgba(15,36,58,.08);background:linear-gradient(180deg,#fff,#f8fafc);border-radius:18px;padding:12px;box-shadow:0 10px 20px rgba(15,36,58,.045);min-height:78px;display:grid;align-content:center;gap:4px}
#appMain .config43-summary-card .label{font-size:10.8px;letter-spacing:.04em;text-transform:uppercase;color:#64748b;font-weight:950;line-height:1.1}
#appMain .config43-summary-card .value{font-size:24px;color:#0f243a;font-weight:950;line-height:1}
#appMain .config43-summary-card .hint{font-size:11.5px;color:#64748b;font-weight:850;line-height:1.2}
#appMain .config43-summary-card.warn .value{color:#9f1239}
#appMain .config43-actions-card{border:1px solid rgba(8,118,99,.10);background:linear-gradient(180deg,#fff,#fbfefd);border-radius:20px;padding:12px;box-shadow:0 12px 24px rgba(15,36,58,.05);display:grid;gap:8px}
#appMain .config43-actions-card .btn{width:100%;justify-content:center;margin:0}
#appMain .config43-modern-section > summary{min-height:62px}
#appMain .config43-modern-section summary span:first-child{display:grid;gap:3px}
#appMain .config43-modern-section summary small{display:block;font-size:11.2px;color:#64748b;font-weight:850;line-height:1.15}
#appMain .config43-footer-note{border:1px solid rgba(15,36,58,.08);border-radius:18px;background:#f8fafc;color:#64748b;padding:12px 13px;font-size:12.2px;font-weight:850;line-height:1.35;text-align:center}
@media (max-width:520px){#appMain .config43-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#appMain .config43-summary-card{min-height:70px;padding:10px}#appMain .config43-summary-card .value{font-size:21px}#appMain .config43-segmented{gap:6px;padding:5px}#appMain .config43-segment-btn{font-size:13px;min-height:44px;padding:10px 8px}}
@media(max-width:640px){
  #appMain .config43-permission-list{grid-template-columns:1fr;gap:7px}
  #appMain .config43-permission-selector summary{padding:12px}
  #appMain .config43-selector-title strong{font-size:15px}
  #appMain .config43-selector-count{font-size:10.8px;padding:5px 8px}
  #appMain .config43-selector-body{padding:10px}
}
@media(max-width:640px){
  #appMain .form-config-shell{gap:12px;margin-top:10px}
  #appMain .form-config-grid{grid-template-columns:1fr;gap:10px}
  #appMain .form-config-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  #appMain .form-config-kpi{padding:10px;border-radius:14px}
  #appMain .form-config-kpi strong{font-size:17px}
  #appMain .form-config-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  #appMain .form-config-card,#appMain .form-config-item{padding:12px;border-radius:16px}
  #appMain .form-config-item-head strong{font-size:15px}
}
@media(max-width:380px){
  #appMain .form-config-kpis,#appMain .form-config-meta{grid-template-columns:1fr}
}


/* FASE 38-R11 — modernização visual das seleções múltiplas da simulação condicional */
#appMain .config37-compact-section{
  border-color:rgba(15,95,85,.14)!important;
  background:linear-gradient(180deg,#ffffff,#fbfefe)!important;
  box-shadow:0 14px 34px rgba(15,36,58,.065)!important;
}
#appMain .config37-compact-section summary{
  min-height:58px;
  padding:14px 16px!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
}
#appMain .config37-compact-section summary::before{
  width:24px;
  height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#ecfdf5;
  border:1px solid rgba(8,118,99,.16);
  color:#087663!important;
  font-size:12px!important;
}
#appMain .config37-section-title-wrap{display:grid;gap:3px;min-width:0}
#appMain .config37-section-title{font-size:17px;font-weight:950;color:#0f243a;line-height:1.15;overflow-wrap:normal;word-break:normal}
#appMain .config37-section-help{font-size:11.5px;font-weight:750;color:#64748b;line-height:1.25}
#appMain .config37-count-chip{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:96px;white-space:nowrap!important;border-radius:999px!important;padding:7px 10px!important;font-size:11.5px!important;line-height:1!important;font-weight:950!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}
#appMain .config37-count-chip.ok{background:#ecfdf5!important;color:#047857!important;border-color:#bbf7d0!important}
#appMain .config37-count-chip.no{background:#fff1f2!important;color:#9f1239!important;border-color:#fecdd3!important}
#appMain .config37-multi-body{padding:14px!important;display:grid!important;gap:14px!important;background:linear-gradient(180deg,#fff,#fbfefd)}
#appMain .config37-select-group{display:grid;gap:9px;min-width:0}
#appMain .config37-select-group-title{display:flex;align-items:center;gap:8px;margin:2px 0 0;color:#0f243a;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.035em;line-height:1.2}
#appMain .config37-select-group-title::before{content:'';width:8px;height:8px;border-radius:999px;background:#087663;box-shadow:0 0 0 4px rgba(8,118,99,.09)}
#appMain .config37-modern-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(178px,1fr));gap:9px;align-items:stretch;min-width:0}
#appMain .config37-select-card{display:block;min-width:0;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}
#appMain .config37-select-card input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
#appMain .config37-select-box{min-height:46px;display:flex;align-items:center;gap:9px;width:100%;box-sizing:border-box;border-radius:16px;border:1px solid rgba(15,36,58,.11);background:linear-gradient(180deg,#ffffff,#f8fafc);padding:10px 11px;color:#0f243a;font-size:13px;font-weight:900;line-height:1.15;box-shadow:0 7px 18px rgba(15,36,58,.045);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease;color .15s ease;overflow:hidden}
#appMain .config37-select-card:hover .config37-select-box,#appMain .config37-select-card:focus-within .config37-select-box{transform:translateY(-1px);border-color:rgba(8,118,99,.28);box-shadow:0 10px 22px rgba(15,36,58,.075)}
#appMain .config37-select-card input:checked + .config37-select-box{background:linear-gradient(135deg,#ecfdf5,#f0fdfa);border-color:rgba(8,118,99,.34);box-shadow:0 10px 24px rgba(8,118,99,.10);color:#064e3b}
#appMain .config37-select-card input:checked + .config37-select-box.no{background:linear-gradient(135deg,#fff1f2,#fff7ed);border-color:rgba(159,18,57,.26);color:#7f1d1d}
#appMain .config37-select-indicator{flex:0 0 24px;width:24px;height:24px;border-radius:9px;border:1px solid rgba(15,36,58,.18);background:#fff;display:inline-flex;align-items:center;justify-content:center;color:transparent;font-size:14px;font-weight:950;box-shadow:inset 0 0 0 1px rgba(255,255,255,.7)}
#appMain .config37-select-card input:checked + .config37-select-box .config37-select-indicator{background:#087663;border-color:#087663;color:#fff}
#appMain .config37-select-card input:checked + .config37-select-box.no .config37-select-indicator{background:#be123c;border-color:#be123c;color:#fff}
#appMain .config37-select-label{min-width:0;overflow-wrap:normal;word-break:normal;hyphens:none}
#appMain .config37-section-summary-note{border:1px solid rgba(15,95,85,.12);border-radius:14px;background:#f8fcfb;padding:10px 12px;color:#475569;font-size:12.5px;font-weight:750;line-height:1.35}
@media(max-width:640px){
  #appMain .config37-compact-section summary{grid-template-columns:auto minmax(0,1fr) auto!important;padding:13px 12px!important;gap:8px!important}
  #appMain .config37-section-title{font-size:16px}
  #appMain .config37-section-help{font-size:11px}
  #appMain .config37-count-chip{min-width:auto;max-width:104px;white-space:normal!important;text-align:center;line-height:1.1!important;padding:7px 8px!important}
  #appMain .config37-modern-grid{grid-template-columns:1fr 1fr;gap:8px}
  #appMain .config37-select-box{min-height:44px;border-radius:15px;padding:9px;font-size:12.3px;gap:7px}
  #appMain .config37-select-indicator{flex-basis:22px;width:22px;height:22px;border-radius:8px}
}
@media(max-width:380px){
  #appMain .config37-modern-grid{grid-template-columns:1fr}
  #appMain .config37-count-chip{max-width:92px;font-size:11px!important}
}


    /* FASE 38-R7 — padronização visual do botão Voltar nas camadas internas da simulação */
    #appMain .config37-layer-return-bar{
      display:flex!important;
      justify-content:flex-start!important;
      align-items:center!important;
      gap:10px!important;
      margin:0 0 20px!important;
      padding:12px!important;
      background:rgba(255,255,255,.76)!important;
      border:1px solid rgba(226,232,240,.9)!important;
      border-radius:20px!important;
      box-shadow:0 8px 26px rgba(15,39,66,.05)!important;
      width:auto!important;
      max-width:100%!important;
      box-sizing:border-box!important;
    }
    #appMain .config37-layer-return-bar .config37-back-btn{
      min-width:112px!important;
      width:auto!important;
      max-width:none!important;
      flex:0 0 auto!important;
      white-space:nowrap!important;
    }


    .compact-card p{display:none;}



/* FASE 45-R2 — seletor moderno das listas editáveis de respostas */
#appMain .config45r2-list-selector{margin-top:4px;text-transform:none;letter-spacing:0;color:#334155}
#appMain .config45r2-list-selector>span{text-transform:uppercase;letter-spacing:.02em;color:#087663;font-size:10.8px;font-weight:950}
#appMain .config45r2-list-selector .ai-modern-select-panel{z-index:220;max-height:320px}
#appMain .config45r2-list-selector .ai-modern-select-option{align-items:center;min-height:42px}
#appMain .config45r2-list-selector .ai-modern-select-option span{min-width:0;overflow-wrap:anywhere;line-height:1.18}
#appMain .config45r2-list-selector .ai-modern-select-option small{flex:0 0 auto;margin-left:auto;font-size:10px;padding:5px 7px}
@media(max-width:760px){#appMain .config45r2-list-selector .ai-modern-select-panel{max-height:270px}#appMain .config45r2-list-selector .ai-modern-select-option{min-height:40px;align-items:flex-start;flex-direction:column}#appMain .config45r2-list-selector .ai-modern-select-option small{margin-left:0}}

  

    /* ==================================================
       FASE 45-R5 — SELEÇÃO DE LISTA EM CAMADA DEDICADA
       Escopo: Configurações dos Formulários > Editar Listas de Respostas.
       ================================================== */
    .config45r5-select-card{display:grid;gap:10px;border:1px solid rgba(8,118,99,.14);border-radius:20px;background:linear-gradient(180deg,#fff,#f8fffd);padding:14px;box-shadow:0 10px 24px rgba(15,39,66,.06)}
    .config45r5-select-button{width:100%;border:1px solid rgba(31,122,255,.16);border-radius:18px;background:linear-gradient(180deg,#ffffff,#f7fbfb);min-height:58px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;color:#102035;font-weight:950;box-shadow:inset 0 1px 0 rgba(255,255,255,.86),0 8px 18px rgba(15,39,66,.055)}
    .config45r5-select-button span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.config45r5-select-button small{display:block;color:#667085;font-size:11px;font-weight:900;margin-top:3px}.config45r5-select-button::after{content:'›';display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:999px;background:linear-gradient(135deg,#eefdf8,#eff6ff);border:1px solid rgba(31,122,255,.14);color:#087663;font-size:24px;line-height:1;box-shadow:0 4px 10px rgba(15,39,66,.045)}
    .config45r5-search-card{position:sticky;top:8px;z-index:2;border:1px solid rgba(8,118,99,.14);border-radius:20px;background:rgba(255,255,255,.96);padding:12px;box-shadow:0 12px 28px rgba(15,39,66,.08);backdrop-filter:blur(10px);display:grid;gap:8px}
    .config45r5-search-input{width:100%;border:1px solid rgba(31,122,255,.16);border-radius:16px;background:linear-gradient(180deg,#fff,#f8fbfd);min-height:44px;padding:10px 12px;color:#172033;font-weight:850;outline:none}.config45r5-search-input:focus{border-color:rgba(31,122,255,.42);box-shadow:0 0 0 3px rgba(31,122,255,.10)}
    .config45r5-list-grid{display:grid;gap:9px;margin-top:12px}.config45r5-list-option{width:100%;border:1px solid rgba(199,219,224,.92);border-radius:18px;background:linear-gradient(180deg,#fff,#fbfefd);padding:13px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:10px;box-shadow:0 8px 18px rgba(7,36,58,.055);color:#102035}.config45r5-list-option strong{display:block;font-size:14px;line-height:1.2}.config45r5-list-option small{display:inline-flex;margin-top:7px}.config45r5-list-option::after{content:'›';display:grid;place-items:center;width:30px;height:30px;border-radius:999px;background:#fff;border:1px solid #dce8ea;color:#087663;font-size:22px;flex:none}.config45r5-list-option.is-selected{border-color:rgba(8,118,99,.30);background:linear-gradient(180deg,#f2fffb,#ffffff)}.config45r5-list-option.is-selected::after{content:'✓';font-size:15px;background:linear-gradient(135deg,#087663,#1f7aff);color:#fff;border-color:transparent}.config45r5-hidden{display:none!important}
    @media(max-width:640px){.config45r5-select-card{padding:12px;border-radius:18px}.config45r5-select-button{min-height:54px;border-radius:16px}.config45r5-list-option{padding:12px;border-radius:17px}.config45r5-list-option strong{font-size:13.5px}}

  
#appMain .form-config-flow-list{display:flex;flex-direction:column;gap:9px}
#appMain .form-config-flow-choice{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;text-align:left;border:1px solid rgba(15,36,58,.10);border-radius:18px;background:#fff;color:#0f243a;padding:12px 12px;box-shadow:0 8px 18px rgba(15,36,58,.05);font:inherit;cursor:pointer}
#appMain .form-config-flow-choice.is-selected{background:#f0fdfa;border-color:rgba(13,148,136,.35)}
#appMain .form-config-flow-check{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;border:1px solid rgba(15,36,58,.16);font-weight:900;color:#fff;background:#f8fafc}
#appMain .form-config-flow-choice.is-selected .form-config-flow-check{background:linear-gradient(135deg,#047857,#0f9f91);border-color:transparent}
#appMain .form-config-flow-label{font-weight:900;line-height:1.2;overflow-wrap:anywhere}

/* FASE 62 — Painel Geral de Qualificações em camadas */
.pto-painel-filter-details{width:100%}
.pto-painel-detail-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;font-weight:950;color:#142238;font-size:16px}
.pto-painel-detail-summary::-webkit-details-marker{display:none}
.pto-painel-detail-summary strong{font-size:11px;color:#0f766e;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:999px;padding:5px 9px;text-transform:uppercase;letter-spacing:.02em}
.pto-painel-filter-details[open] .pto-painel-detail-summary{margin-bottom:12px}
.pto-painel-layer-cards .nav-card h3{margin-bottom:0!important}
.pto-painel-layer-cards .nav-card p{display:none!important}
@media(max-width:640px){.pto-painel-layer-cards{grid-template-columns:1fr!important;gap:9px!important}.pto-painel-layer-cards .nav-card{min-height:64px!important;padding:11px!important}.pto-painel-layer-cards .nav-card .icon{width:48px!important;height:48px!important;min-width:48px!important}}

/* Fase 62-R3: cards de grupo clicáveis e detalhamento em camadas */
.pto-painel-group-action{width:100%;text-align:left;cursor:pointer;border:1px solid rgba(15,95,85,.10);font-family:inherit}
.pto-painel-group-action:hover{transform:translateY(-1px);box-shadow:0 16px 32px rgba(15,39,66,.08)}
.pto-painel-group-action:focus-visible{outline:3px solid rgba(15,118,110,.25);outline-offset:2px}
.pto-painel-group-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.pto-painel-group-detail-grid .pto-painel-kpi{min-height:72px}
.pto-painel-group-issues{display:grid;gap:8px;margin-top:12px}
.pto-painel-issue-row{border:1px solid rgba(15,95,85,.10);background:#fff;border-radius:14px;padding:10px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:flex-start}
.pto-painel-issue-row strong{display:block;color:#142238;font-size:12.5px;font-weight:950;line-height:1.25}
.pto-painel-issue-row small{display:block;color:#64748b;font-size:11px;font-weight:760;margin-top:3px;line-height:1.35}
@media(max-width:640px){.pto-painel-group-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pto-painel-issue-row{grid-template-columns:1fr}}


/* FASE 62-R4 — detalhamento por grupo mais compacto */
.pto-painel-group-detail-grid.compact{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;align-items:stretch}
.pto-painel-group-detail-grid.compact .pto-painel-kpi{min-height:58px;padding:9px 10px;border-radius:14px}
.pto-painel-group-detail-grid.compact .pto-painel-kpi span{font-size:9.5px;line-height:1.1}
.pto-painel-group-detail-grid.compact .pto-painel-kpi strong{font-size:18px;margin-top:4px}
.pto-painel-card.compact-section{padding-top:14px;padding-bottom:14px}
.pto-painel-card.compact-section h3{margin-bottom:8px}
.pto-painel-prof-list.compact{gap:8px}
.pto-painel-prof-list.compact .pto-painel-prof-card{padding:10px;border-radius:14px;gap:8px}
.pto-painel-prof-list.compact .pto-painel-prof-card h4{font-size:14px;margin-bottom:2px}
.pto-painel-prof-list.compact .pto-painel-prof-card p{font-size:11px;margin:0 0 6px}
.pto-painel-prof-list.compact .pto-painel-prof-metrics{gap:6px}
.pto-painel-prof-list.compact .pto-painel-prof-metrics div{padding:7px;border-radius:11px}
.pto-painel-prof-list.compact .pto-painel-prof-metrics span{font-size:9px}
.pto-painel-prof-list.compact .pto-painel-prof-metrics strong{font-size:14px}
.pto-painel-group-issues.grouped{display:grid;gap:8px}
.pto-painel-issue-group{border:1px solid rgba(31,122,255,.10);background:#fff;border-radius:14px;box-shadow:0 8px 20px rgba(15,39,66,.04);overflow:hidden}
.pto-painel-issue-group summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;font-weight:950;color:#13283d}
.pto-painel-issue-group summary::-webkit-details-marker{display:none}
.pto-painel-issue-group summary strong{min-width:34px;text-align:center;border-radius:999px;padding:5px 8px;background:#f2f6f9;color:#13283d;font-size:12px}
.pto-painel-issue-group-body{display:grid;gap:7px;padding:0 10px 10px}
.pto-painel-issue-row.compact{padding:9px 10px;border-radius:12px;gap:8px}
.pto-painel-issue-row.compact strong{font-size:13px}
.pto-painel-issue-row.compact small{font-size:11px;line-height:1.25}
.compact-empty{margin:0;padding:8px;font-size:12px}
@media(max-width:420px){.pto-painel-group-detail-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.pto-painel-group-detail-grid.compact .pto-painel-kpi{min-height:54px;padding:8px}.pto-painel-group-detail-grid.compact .pto-painel-kpi strong{font-size:17px}}


/* ===== CSS extraído do bloco <style> #2 do HTML fiel original — ordem preservada ===== */
/* Fase 22I — terceiro menu principal da Matriz e realocação dos relatórios em PDF */
.pto-matriz-layer-grid.pto-matriz-layer-grid-three{grid-template-columns:1fr;gap:10px}
.pto-matriz-pdf-layer-panel{margin-top:14px}
.pto-matriz-pdf-layer-panel .pto-matriz-pdf22c-grid{margin-top:12px}
@media (min-width:720px){
  .pto-matriz-layer-grid.pto-matriz-layer-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:719px){
  .pto-matriz-layer-grid.pto-matriz-layer-grid-three{grid-template-columns:1fr}
}


/* ===== CSS extraído do bloco <style> #3 do HTML fiel original — ordem preservada ===== */
/* Fase 23A — Cards dos grupos operacionais em coluna vertical */
#appMain .pto-matriz-groups-grid{
  grid-template-columns:1fr!important;
  gap:12px!important;
  margin-top:14px!important;
}
#appMain .pto-matriz-group-card{
  width:100%!important;
  min-height:76px!important;
  padding:16px 18px!important;
  border-radius:18px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
}
#appMain .pto-matriz-group-card strong{
  font-size:17px!important;
  line-height:1.18!important;
  font-weight:950!important;
  letter-spacing:-.02em!important;
}
#appMain .pto-matriz-group-card span{
  font-size:13px!important;
  line-height:1.2!important;
  margin-top:5px!important;
  font-weight:850!important;
}
@media(max-width:640px){
  #appMain .pto-matriz-groups-grid{gap:11px!important;margin-top:13px!important}
  #appMain .pto-matriz-group-card{min-height:74px!important;padding:15px 16px!important}
  #appMain .pto-matriz-group-card strong{font-size:16.2px!important}
  #appMain .pto-matriz-group-card span{font-size:12.7px!important}
}


/* ===== CSS extraído do bloco <style> #4 do HTML fiel original — ordem preservada ===== */
/* FASE 24A-R4 — força os chips de tipo de alerta em três colunas também no Envio Automático */
#appMain .pto-alerts-choice-section .pto-alerts-choice-grid.pto-alerts-alert-type-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:6px!important;
  width:100%!important;
  max-width:100%!important;
  align-items:stretch!important;
}
#appMain .pto-alerts-choice-section .pto-alerts-choice-grid.pto-alerts-alert-type-grid .pto-alerts-choice{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:38px!important;
  padding:8px 4px!important;
  font-size:.68rem!important;
  line-height:1.05!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  justify-content:center!important;
  text-align:center!important;
  gap:4px!important;
}
#appMain .pto-alerts-choice-section .pto-alerts-choice-grid.pto-alerts-alert-type-grid .pto-alerts-choice::before{
  width:11px!important;
  height:11px!important;
  flex:0 0 11px!important;
  border-width:2px!important;
}
@media(max-width:360px){
  #appMain .pto-alerts-choice-section .pto-alerts-choice-grid.pto-alerts-alert-type-grid{gap:4px!important}
  #appMain .pto-alerts-choice-section .pto-alerts-choice-grid.pto-alerts-alert-type-grid .pto-alerts-choice{font-size:.62rem!important;padding:7px 3px!important;gap:3px!important}
  #appMain .pto-alerts-choice-section .pto-alerts-choice-grid.pto-alerts-alert-type-grid .pto-alerts-choice::before{width:10px!important;height:10px!important;flex-basis:10px!important}
}


    /* FASE 38-R4 — correção pontual dos cards da tela Simular Nova Opção Condicional */
    .config37-main-card{
      min-height:96px!important;
      align-items:center!important;
    }
    .config37-main-card>div{
      display:grid!important;
      grid-template-columns:50px minmax(0,1fr)!important;
      grid-template-rows:auto auto!important;
      column-gap:12px!important;
      row-gap:4px!important;
      align-items:center!important;
      min-width:0!important;
      width:100%!important;
    }
    .config37-main-card .icon{
      grid-row:1 / span 2!important;
      flex:none!important;
    }
    .config37-main-card h3,
    .config37-main-card p{
      min-width:0!important;
      overflow-wrap:normal!important;
      word-break:normal!important;
      hyphens:none!important;
    }
    .config37-main-card h3{
      white-space:normal!important;
      line-height:1.16!important;
    }
    .config37-main-card p{
      max-width:100%!important;
    }
    .config37-card-status{
      flex:0 0 auto!important;
      max-width:92px!important;
      white-space:normal!important;
      text-align:center!important;
      justify-content:center!important;
      line-height:1.05!important;
      font-size:11px!important;
      padding:7px 8px!important;
    }
    @media(max-width:420px){
      .config37-main-card{padding:13px 12px!important;gap:10px!important}
      .config37-main-card>div{grid-template-columns:42px minmax(0,1fr)!important;column-gap:10px!important}
      .config37-main-card .icon{width:42px!important;height:42px!important;font-size:20px!important;border-radius:15px!important}
      .config37-main-card h3{font-size:15.5px!important;line-height:1.15!important}
      .config37-main-card p{font-size:12.2px!important;line-height:1.25!important;-webkit-line-clamp:3!important}
      .config37-card-status{max-width:76px!important;font-size:10.5px!important;padding:6px 7px!important}
    }


/* ===== CSS extraído do bloco <style> #5 do HTML fiel original — ordem preservada ===== */
/* Regra global do projeto: cards/indicadores numéricos devem ocupar apenas o espaço necessário
     ao título e ao número, mantendo legibilidade e sem cortar conteúdo. */
  #appMain .pto-painel-summary,
  #appMain .pto-matriz-summary,
  #appMain .pto-matriz-profile-grid,
  #appMain .pto-painel-prof-metrics,
  #appMain .pto-matriz-report-grid,
  #appMain .pto-matriz-report-meta,
  #appMain .pto-registro-metrics,
  #appMain .pto-fichas-meta-grid,
  #appMain .pto-registros-summary-grid,
  #appMain .pto-registros-group-grid {
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:8px!important;
  }

  #appMain .pto-painel-kpi,
  #appMain .pto-matriz-kpi,
  #appMain .pto-matriz-profile-grid > div,
  #appMain .pto-painel-prof-metrics > div,
  #appMain .pto-matriz-report-kpi,
  #appMain .pto-matriz-report-meta > div,
  #appMain .pto-registro-metric,
  #appMain .pto-fichas-meta,
  #appMain .pto-registros-summary-card,
  #appMain .pto-registros-group-card {
    flex:0 1 clamp(108px, 31%, 152px)!important;
    width:auto!important;
    max-width:152px!important;
    min-width:108px!important;
    min-height:auto!important;
    height:auto!important;
    padding:8px 10px!important;
    border-radius:14px!important;
    box-sizing:border-box!important;
    justify-content:flex-start!important;
    align-content:flex-start!important;
  }

  #appMain .pto-painel-kpi span,
  #appMain .pto-matriz-kpi span,
  #appMain .pto-matriz-profile-grid span,
  #appMain .pto-painel-prof-metrics span,
  #appMain .pto-matriz-report-kpi span,
  #appMain .pto-matriz-report-meta span,
  #appMain .pto-registro-metric span,
  #appMain .pto-fichas-meta span,
  #appMain .pto-registros-summary-card span,
  #appMain .pto-registros-group-card span {
    font-size:9.2px!important;
    line-height:1.12!important;
    margin:0!important;
    overflow:visible!important;
    white-space:normal!important;
  }

  #appMain .pto-painel-kpi strong,
  #appMain .pto-matriz-kpi strong,
  #appMain .pto-matriz-profile-grid strong,
  #appMain .pto-painel-prof-metrics strong,
  #appMain .pto-matriz-report-kpi strong,
  #appMain .pto-matriz-report-meta strong,
  #appMain .pto-registro-metric strong,
  #appMain .pto-fichas-meta strong,
  #appMain .pto-registros-summary-card strong,
  #appMain .pto-registros-group-card strong {
    font-size:17px!important;
    line-height:1!important;
    margin-top:4px!important;
    overflow:visible!important;
    white-space:normal!important;
  }

  /* Cards internos de profissionais no detalhamento por grupo: compactação adicional sem perda de leitura. */
  #appMain .pto-painel-prof-card .pto-painel-prof-metrics,
  #appMain .pto-matriz-profile-card .pto-matriz-profile-grid {
    margin-top:7px!important;
    gap:7px!important;
  }

  #appMain .pto-painel-prof-card,
  #appMain .pto-matriz-profile-card {
    padding:11px!important;
    border-radius:17px!important;
  }

  #appMain .pto-painel-prof-card h4,
  #appMain .pto-matriz-profile-card h4 {
    font-size:13.5px!important;
    line-height:1.18!important;
  }

  #appMain .pto-painel-prof-card p,
  #appMain .pto-matriz-profile-card p {
    font-size:11px!important;
    line-height:1.25!important;
    margin-top:3px!important;
  }

  @media(max-width:420px){
    #appMain .pto-painel-kpi,
    #appMain .pto-matriz-kpi,
    #appMain .pto-matriz-profile-grid > div,
    #appMain .pto-painel-prof-metrics > div,
    #appMain .pto-matriz-report-kpi,
    #appMain .pto-matriz-report-meta > div,
    #appMain .pto-registro-metric,
    #appMain .pto-fichas-meta,
    #appMain .pto-registros-summary-card,
    #appMain .pto-registros-group-card {
      flex-basis:clamp(102px, 47%, 145px)!important;
      max-width:145px!important;
      min-width:102px!important;
      padding:7px 9px!important;
    }
  }


/* ===== CSS extraído do bloco <style> #6 do HTML fiel original — ordem preservada ===== */
/* FASE 62-R6 — Cards numéricos em grid otimizado de 3 colunas.
     Ajuste exclusivamente visual: maximiza uso horizontal sem alterar dados ou lógica. */
  #appMain .pto-painel-summary,
  #appMain .pto-painel-group-detail-grid.compact,
  #appMain .pto-painel-prof-metrics,
  #appMain .pto-painel-prof-list.compact .pto-painel-prof-metrics {
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
    align-items:stretch!important;
  }

  #appMain .pto-painel-summary .pto-painel-kpi,
  #appMain .pto-painel-group-detail-grid.compact .pto-painel-kpi,
  #appMain .pto-painel-prof-metrics > div,
  #appMain .pto-painel-prof-list.compact .pto-painel-prof-metrics > div {
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    flex:none!important;
    min-height:50px!important;
    padding:7px 8px!important;
    border-radius:13px!important;
    box-sizing:border-box!important;
  }

  #appMain .pto-painel-summary .pto-painel-kpi span,
  #appMain .pto-painel-group-detail-grid.compact .pto-painel-kpi span,
  #appMain .pto-painel-prof-metrics > div span,
  #appMain .pto-painel-prof-list.compact .pto-painel-prof-metrics > div span {
    font-size:8.4px!important;
    line-height:1.08!important;
    letter-spacing:.01em!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }

  #appMain .pto-painel-summary .pto-painel-kpi strong,
  #appMain .pto-painel-group-detail-grid.compact .pto-painel-kpi strong,
  #appMain .pto-painel-prof-metrics > div strong,
  #appMain .pto-painel-prof-list.compact .pto-painel-prof-metrics > div strong {
    font-size:17px!important;
    line-height:1!important;
    margin-top:3px!important;
  }

  /* Fallback: telas extremamente estreitas ou navegadores com área útil reduzida. */
  @media(max-width:340px){
    #appMain .pto-painel-summary,
    #appMain .pto-painel-group-detail-grid.compact,
    #appMain .pto-painel-prof-metrics,
    #appMain .pto-painel-prof-list.compact .pto-painel-prof-metrics {
      grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
  }


/* ===== CSS extraído do bloco <style> #7 do HTML fiel original — ordem preservada ===== */
/* FASE 64 — Auditoria e otimização visual da Matriz de Qualificações */
#appMain .pto-matriz-home-layer .view-header p,
#appMain .pto-matriz-internal-layer .view-header p{display:none!important}
#appMain .pto-matriz-home-card{padding:14px!important}
#appMain .pto-matriz-home-card h3{margin-bottom:10px!important}
#appMain .pto-matriz-layer-grid{gap:10px!important}
#appMain .pto-matriz-layer-card{min-height:64px!important;padding:11px 12px!important;border-radius:16px!important}
#appMain .pto-matriz-layer-icon{width:38px!important;height:38px!important;min-width:38px!important;border-radius:13px!important;font-size:19px!important;display:grid!important;place-items:center!important}
#appMain .pto-matriz-layer-text strong{font-size:.92rem!important;line-height:1.12!important}
#appMain .pto-matriz-card{border-radius:17px!important}
#appMain .pto-matriz-layer-compact{padding:12px!important}
#appMain .pto-matriz-layer-top{gap:10px!important;margin-bottom:10px!important}
#appMain .pto-matriz-layer-top h3{font-size:1rem!important;line-height:1.15!important;margin:0!important}
#appMain .pto-matriz-back-row{margin:0 0 10px!important}
#appMain .pto-matriz-back-btn{min-height:34px!important;padding:7px 10px!important;border-radius:12px!important;font-size:.82rem!important}
#appMain .pto-matriz-filter-accordion{padding:0!important;overflow:hidden!important}
#appMain .pto-matriz-filter-accordion>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 13px;font-weight:950;color:#0f243a}
#appMain .pto-matriz-filter-accordion>summary::-webkit-details-marker{display:none}
#appMain .pto-matriz-filter-accordion>summary::after{content:'⌄';font-weight:950;color:#0f766e;font-size:1rem;line-height:1}
#appMain .pto-matriz-filter-accordion[open]>summary::after{content:'⌃'}
#appMain .pto-matriz-filter-accordion .pto-matriz-filter-body{border-top:1px solid rgba(15,36,58,.10);padding:12px}
#appMain .pto-matriz-filter-grid{gap:9px!important}
#appMain .pto-matriz-actions{margin-top:10px!important}
#appMain .pto-matriz-actions .btn{min-height:34px!important;padding:8px 10px!important;font-size:.82rem!important}
#appMain .pto-matriz-report-header p,
#appMain .pto-matriz-complete-head p{font-size:.78rem!important;line-height:1.28!important;margin-top:2px!important;color:#64748b!important}
#appMain .pto-matriz-report-section{padding:11px!important;border-radius:16px!important}
#appMain .pto-matriz-report-section h4{font-size:.96rem!important;margin-bottom:8px!important}
#appMain .pto-matriz-report-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}
#appMain .pto-matriz-report-kpi{min-height:auto!important;padding:8px 6px!important;border-radius:13px!important;text-align:center!important}
#appMain .pto-matriz-report-kpi span{font-size:.68rem!important;line-height:1.05!important;white-space:normal!important}
#appMain .pto-matriz-report-kpi strong{font-size:1.18rem!important;line-height:1.05!important;margin-top:2px!important}
#appMain .pto-matriz-summary,
#appMain .pto-matriz-summary-compact{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}
#appMain .pto-matriz-kpi{min-height:auto!important;padding:8px 6px!important;border-radius:13px!important;text-align:center!important}
#appMain .pto-matriz-kpi span{font-size:.68rem!important;line-height:1.05!important}
#appMain .pto-matriz-kpi strong{font-size:1.16rem!important;line-height:1.05!important}
#appMain .pto-matriz-report-prof{padding:10px!important;border-radius:15px!important}
#appMain .pto-matriz-report-prof-head h5{font-size:.92rem!important;line-height:1.12!important}
#appMain .pto-matriz-report-prof-head p{font-size:.74rem!important;line-height:1.18!important;margin-top:2px!important}
#appMain .pto-matriz-report-meta{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
#appMain .pto-matriz-report-meta div{padding:7px!important;border-radius:11px!important}
#appMain .pto-matriz-report-meta span{font-size:.66rem!important}
#appMain .pto-matriz-report-meta strong{font-size:.78rem!important}
#appMain .pto-matriz-report-req{padding:8px 9px!important;border-radius:12px!important;gap:8px!important}
#appMain .pto-matriz-report-req strong{font-size:.82rem!important;line-height:1.12!important}
#appMain .pto-matriz-report-req small{font-size:.68rem!important;line-height:1.18!important}
#appMain .pto-matriz-badge{font-size:.68rem!important;padding:5px 7px!important}
#appMain .pto-matriz-pdf22c-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
#appMain .pto-matriz-pdf22c-block{padding:10px!important;border-radius:15px!important}
#appMain .pto-matriz-pdf22c-block h4{font-size:.88rem!important;margin-bottom:7px!important}
#appMain .pto-matriz-pdf22c-trigger{min-height:38px!important;padding:8px 10px!important;font-size:.78rem!important}
#appMain .pto-matriz-pdf22c-generate{min-height:34px!important;padding:8px 10px!important;font-size:.78rem!important}
@media(max-width:420px){
  #appMain .pto-matriz-report-grid,
  #appMain .pto-matriz-summary,
  #appMain .pto-matriz-summary-compact{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #appMain .pto-matriz-report-meta{grid-template-columns:1fr!important}
  #appMain .pto-matriz-pdf22c-grid{grid-template-columns:1fr!important}
}


/* ===== CSS extraído do bloco <style> #8 do HTML fiel original — ordem preservada ===== */
/* FASE 66 — organização visual da Configuração da Matriz */
.fase66-matriz-shell .form-config-readonly-note,
.fase66-compact-note{
  margin: 8px 0 12px;
  padding: 10px 12px;
  font-size: .9rem;
  line-height: 1.35;
}
.fase66-matriz-grid,
.fase66-alertas-grid,
.fase66-groups-grid{
  gap: 10px;
}
.fase66-admin-card{
  min-height: auto !important;
}
.fase66-admin-card h3{
  margin-bottom: 4px;
}
.fase66-admin-card p{
  margin: 0;
  line-height: 1.25;
}
.fase66-admin-card strong{
  align-self: flex-start;
  white-space: nowrap;
}


/* ===== CSS extraído do bloco <style> #9 do HTML fiel original — ordem preservada ===== */
/* ==================================================
   FASE 67 — RELATÓRIO MANUAL DE ALERTAS DE VENCIMENTO
   Estrutura visual/preparatória exclusiva do submenu:
   Central de Configurações → Matriz de Qualificações → Alertas de Vencimento → Relatório Manual de Alertas.
   Sem envio real, sem automação, sem Firebase, sem Google Sheets, sem Telegram, sem e-mail e sem alteração de dados.
================================================== */
.fase67-alert-report-shell{display:grid;gap:14px}
.fase67-alert-report-intro{border:1px solid rgba(8,118,99,.15);border-radius:22px;background:linear-gradient(135deg,#ffffff,#f5fbfa);box-shadow:0 10px 24px rgba(15,39,66,.055);padding:14px;display:grid;gap:8px}
.fase67-alert-report-intro h3{margin:0;color:#102035;font-size:17px;letter-spacing:-.02em}
.fase67-alert-report-intro p{margin:0;color:#5f6f82;font-size:13px;line-height:1.45;font-weight:750}
.fase67-alert-report-badges{display:flex;gap:7px;flex-wrap:wrap}
.fase67-alert-report-badges span{border:1px solid #dceae7;background:#f7fbfa;color:#195c52;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:900}
.fase67-filter-panel{border:1px solid rgba(31,122,255,.12);border-radius:22px;background:linear-gradient(180deg,#fff,#f8fdfc);box-shadow:0 10px 24px rgba(15,39,66,.055);padding:12px}
.fase67-filter-panel>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:950;color:#102035;font-size:14px}
.fase67-filter-panel>summary::-webkit-details-marker{display:none}
.fase67-filter-panel>summary:after{content:'+';display:grid;place-items:center;width:26px;height:26px;border-radius:999px;background:#fff;border:1px solid #dce8ea;color:#087663;font-weight:950}
.fase67-filter-panel[open]>summary:after{content:'−'}
.fase67-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}
.fase67-field{display:grid;gap:6px}
.fase67-field label{font-size:11px;color:#344054;font-weight:950;text-transform:uppercase;letter-spacing:.025em}
.fase67-field select{width:100%;min-height:38px;border:1px solid #d8e5e7;border-radius:14px;background:linear-gradient(180deg,#fff,#fbfefd);padding:8px 10px;color:#162638;font-size:12.5px;font-weight:850;box-shadow:0 5px 14px rgba(15,39,66,.035)}
.fase67-field select:focus{outline:none;border-color:#1180b4;box-shadow:0 0 0 4px rgba(17,128,180,.12)}
.fase67-action-row{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end;margin-top:12px}
.fase67-pdf-disabled{opacity:.72;cursor:not-allowed!important;filter:grayscale(.15)}
.fase67-preview-slot{display:grid;gap:12px}
.fase67-preview-placeholder{border:1px dashed #c7d6dc;border-radius:20px;background:#f8fafc;color:#667085;font-size:13px;font-weight:800;line-height:1.45;padding:16px;text-align:center}
.fase67-report-preview{border:1px solid #d7e4e7;border-radius:24px;background:#fff;box-shadow:0 16px 42px rgba(15,39,66,.08);overflow:hidden}
.fase67-report-doc{background:#fff;color:#172033}
.fase67-report-head{display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:center;padding:18px;border-bottom:1px solid #e4edf0;background:linear-gradient(135deg,#f8fcfb,#ffffff)}
.fase67-report-logo{width:58px;height:58px;border-radius:18px;background:linear-gradient(135deg,#064733,#0b4e78);color:#fff;display:grid;place-items:center;font-weight:950;box-shadow:0 10px 22px rgba(15,39,66,.12);overflow:hidden;border:1px solid rgba(255,255,255,.65)}
.fase67-report-logo img{width:100%;height:100%;object-fit:contain;background:#fff;padding:4px}
.fase67-report-head h3{margin:0;color:#0d2439;font-size:20px;line-height:1.18;letter-spacing:-.025em}
.fase67-report-head p{margin:5px 0 0;color:#607083;font-size:12px;font-weight:800;line-height:1.35}
.fase67-report-body{display:grid;gap:14px;padding:16px}
.fase67-report-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.fase67-meta-item{border:1px solid #e4edf0;background:#fbfdfd;border-radius:14px;padding:9px}
.fase67-meta-item span{display:block;color:#667085;font-size:10.5px;font-weight:950;text-transform:uppercase;letter-spacing:.03em;margin-bottom:3px}
.fase67-meta-item strong{display:block;color:#172033;font-size:12px;line-height:1.3}
.fase67-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.fase67-kpi{border:1px solid #e4edf0;border-radius:16px;background:linear-gradient(180deg,#fff,#f9fcfc);padding:10px;min-height:68px;position:relative;overflow:hidden}
.fase67-kpi:before{content:'';position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#087663,#1180b4,#d8a23a)}
.fase67-kpi span{display:block;color:#667085;font-size:10.5px;font-weight:950;text-transform:uppercase;letter-spacing:.02em;line-height:1.15;margin-bottom:6px}
.fase67-kpi strong{display:block;color:#102035;font-size:22px;line-height:1;font-weight:950}
.fase67-section{border:1px solid #e4edf0;border-radius:18px;overflow:hidden;background:#fff}
.fase67-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;background:#f8fafc;border-bottom:1px solid #e4edf0}
.fase67-section-title h4{margin:0;font-size:14px;color:#102035}
.fase67-section-title span{border-radius:999px;padding:5px 8px;font-size:10.5px;font-weight:950;background:#fff;border:1px solid #e4edf0;color:#344054}
.fase67-section.danger .fase67-section-title{background:#fff3f2}
.fase67-section.warn .fase67-section-title{background:#fff8eb}
.fase67-section.attention .fase67-section-title{background:#fffbea}
.fase67-section.neutral .fase67-section-title{background:#f8fafc}
.fase67-group-block{padding:11px 12px;border-top:1px solid #eef2f4}
.fase67-group-block:first-of-type{border-top:0}
.fase67-group-block h5{margin:0 0 8px;color:#064733;font-size:12.5px;letter-spacing:-.01em}
.fase67-table-wrap{overflow:auto;border:1px solid #edf2f4;border-radius:14px;background:#fff}
.fase67-report-table{width:100%;border-collapse:collapse;min-width:760px}
.fase67-report-table th,.fase67-report-table td{padding:9px 10px;border-bottom:1px solid #edf2f4;text-align:left;font-size:11.5px;vertical-align:top}
.fase67-report-table th{background:#f7fbfb;color:#344054;font-size:10.5px;text-transform:uppercase;letter-spacing:.02em;font-weight:950}
.fase67-report-table tr:last-child td{border-bottom:0}
.fase67-empty-group{border:1px dashed #d8e2e7;border-radius:14px;background:#fbfcfd;padding:10px;color:#667085;font-size:12px;font-weight:800}
.fase67-chip{display:inline-flex;border-radius:999px;padding:4px 7px;font-size:10.5px;font-weight:950;border:1px solid #e4edf0;background:#fff;color:#344054}
.fase67-chip.danger{background:#fff1f1;color:#b42318;border-color:#fecdca}
.fase67-chip.warn{background:#fff7e8;color:#b54708;border-color:#fedf89}
.fase67-chip.attention{background:#fffbea;color:#92400e;border-color:#fde68a}
.fase67-chip.neutral{background:#f8fafc;color:#475467;border-color:#e4edf0}
.fase67-report-foot{padding:12px 16px;border-top:1px solid #e4edf0;background:#fbfdfd;color:#667085;font-size:11.5px;font-weight:800;line-height:1.4}
.fase67-safe-note{border:1px solid rgba(37,99,235,.14);background:#f6f9ff;border-radius:18px;padding:11px 12px;color:#344054;font-size:12px;font-weight:800;line-height:1.42}
@media(max-width:900px){.fase67-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fase67-report-meta{grid-template-columns:1fr}.fase67-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.fase67-filter-grid{grid-template-columns:1fr}.fase67-action-row{justify-content:stretch}.fase67-action-row .btn{width:100%}.fase67-report-head{grid-template-columns:1fr}.fase67-kpi-grid{grid-template-columns:1fr}.fase67-report-body{padding:12px}.fase67-report-head{padding:14px}.fase67-report-logo{width:50px;height:50px}.fase67-report-head h3{font-size:17px}}


/* ===== CSS extraído do bloco <style> #10 do HTML fiel original — ordem preservada ===== */
/* ==================================================
   FASE 68 — PDF REAL DO RELATÓRIO MANUAL DE ALERTAS
   Escopo exclusivo: botão e impressão/PDF isolada do Relatório Manual de Alertas.
   Não altera PDF da Matriz, PDFs existentes, envio, automação, Firebase, Google Sheets, Telegram ou e-mail.
================================================== */
.fase68-pdf-note{border:1px solid rgba(8,118,99,.16);background:linear-gradient(180deg,#f4fbf9,#ffffff);border-radius:18px;padding:11px 12px;color:#315a54;font-size:12px;font-weight:850;line-height:1.42}
.fase68-pdf-ready{opacity:1!important;cursor:pointer!important;filter:none!important}


/* ===== CSS extraído do bloco <style> #11 do HTML fiel original — ordem preservada ===== */
/* ==================================================
   FASE 69 — ENVIO MANUAL FUTURO DOS ALERTAS
   Escopo exclusivo: estrutura visual/preparatória dentro do Relatório Manual de Alertas.
   Não envia, não automatiza, não chama API, não grava histórico real e não altera integrações.
================================================== */
.fase69-send-shell{display:grid;gap:12px;margin-top:12px;border:1px solid rgba(8,118,99,.14);border-radius:22px;background:linear-gradient(180deg,#ffffff,#f7fbfa);box-shadow:0 10px 26px rgba(15,39,66,.06);padding:13px;position:relative;overflow:hidden}
.fase69-send-shell:before{content:'';position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#064733,#1180b4,#d8a23a)}
.fase69-send-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border-bottom:1px solid rgba(8,118,99,.10);padding-bottom:10px;position:relative;z-index:1}
.fase69-send-head h3{margin:0;color:#102035;font-size:16px;letter-spacing:-.01em;font-weight:950}.fase69-send-head p{margin:4px 0 0;color:#52677a;font-size:12.2px;font-weight:780;line-height:1.38;max-width:760px}.fase69-status-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#fff7e8;color:#92400e;border:1px solid #fed7aa;padding:6px 9px;font-size:10.6px;font-weight:950;white-space:nowrap}
.fase69-channel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;position:relative;z-index:1}.fase69-channel-card{appearance:none;border:1px solid #dce8ea;background:linear-gradient(180deg,#fff,#f8fcfc);border-radius:17px;padding:11px;text-align:left;display:grid;gap:6px;box-shadow:0 7px 18px rgba(15,39,66,.045);cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.fase69-channel-card:hover,.fase69-channel-card:active{transform:translateY(-1px);border-color:#9ed6cc;box-shadow:0 10px 22px rgba(15,39,66,.075)}.fase69-channel-card.is-active{border-color:#087663;background:linear-gradient(135deg,#eefdf8,#eff6ff);box-shadow:0 10px 24px rgba(8,118,99,.10)}.fase69-channel-card strong{font-size:13px;color:#102035;font-weight:950}.fase69-channel-card span{font-size:11.4px;color:#667085;font-weight:780;line-height:1.28}.fase69-channel-icon{width:30px;height:30px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#064733,#1180b4);color:#fff;font-size:16px;box-shadow:0 7px 15px rgba(6,71,51,.16)}
.fase69-prep-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;position:relative;z-index:1}.fase69-prep-card{border:1px solid #e2ecee;border-radius:17px;background:#fff;padding:11px;display:grid;gap:5px;box-shadow:0 7px 18px rgba(15,39,66,.04)}.fase69-prep-card span{font-size:10.5px;text-transform:uppercase;letter-spacing:.02em;color:#64748b;font-weight:950}.fase69-prep-card strong{font-size:12.7px;color:#102035;line-height:1.32;font-weight:900}.fase69-prep-card p{margin:0;color:#52677a;font-size:11.8px;line-height:1.35;font-weight:760}
.fase69-message-preview{border:1px dashed #c9dce2;border-radius:17px;background:linear-gradient(180deg,#f8fbfd,#ffffff);padding:11px;color:#344054;font-size:12.1px;font-weight:780;line-height:1.42;position:relative;z-index:1}.fase69-message-preview strong{display:block;color:#102035;margin-bottom:4px;font-size:12.6px}
.fase69-action-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;position:relative;z-index:1}.fase69-action-row .btn{min-height:37px;padding:8px 10px;border-radius:13px;font-size:11.8px}.fase69-action-row .btn[aria-disabled="true"]{opacity:.76;filter:saturate(.85)}
.fase69-history-panel{border:1px solid rgba(37,99,235,.12);border-radius:18px;background:linear-gradient(180deg,#f7fbff,#ffffff);padding:11px;color:#344054;font-size:12px;font-weight:800;line-height:1.4;position:relative;z-index:1}.fase69-history-panel strong{display:block;color:#0f3d5e;font-size:13px;margin-bottom:4px}
@media(max-width:760px){.fase69-send-head{display:grid}.fase69-status-pill{justify-self:start}.fase69-channel-grid,.fase69-prep-grid{grid-template-columns:1fr}.fase69-action-row{grid-template-columns:1fr 1fr}.fase69-action-row .btn{width:100%}}
@media(max-width:390px){.fase69-action-row{grid-template-columns:1fr}.fase69-send-shell{padding:11px;border-radius:19px}.fase69-channel-card,.fase69-prep-card{border-radius:15px}}


/* ===== CSS extraído do bloco <style> #12 do HTML fiel original — ordem preservada ===== */
/* ==================================================
   FASE 70 — CONFIGURAÇÃO PREPARATÓRIA DOS CANAIS DE ENVIO DOS ALERTAS
   Escopo exclusivo: camada visual/preparatória em Canais de Envio.
   Não envia, não testa conexão real, não chama APIs, não salva configurações e não altera integrações.
================================================== */
.fase70-channel-shell{display:grid;gap:12px}
.fase70-intro{position:relative;overflow:hidden;border:1px solid rgba(8,118,99,.14);border-radius:22px;background:linear-gradient(135deg,#ffffff,#f5fbfa);box-shadow:0 10px 26px rgba(15,39,66,.06);padding:14px}
.fase70-intro:before{content:'';position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#064733,#1180b4,#d8a23a)}
.fase70-intro h3{margin:0 0 5px;color:#102035;font-size:16px;font-weight:950;letter-spacing:-.01em}.fase70-intro p{margin:0;color:#52677a;font-size:12.6px;font-weight:780;line-height:1.38;max-width:820px}.fase70-badges{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.fase70-badges span{border-radius:999px;padding:6px 9px;background:#fff7e8;color:#92400e;border:1px solid #fed7aa;font-size:10.6px;font-weight:950}
.fase70-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.fase70-status-card{min-height:62px;border:1px solid #dce8ea;border-radius:16px;background:linear-gradient(180deg,#fff,#f8fcfc);box-shadow:0 7px 18px rgba(15,39,66,.045);padding:9px;display:grid;gap:3px}.fase70-status-card span{font-size:10px;color:#667085;font-weight:950;text-transform:uppercase;letter-spacing:.02em;line-height:1.1}.fase70-status-card strong{font-size:13px;color:#92400e;font-weight:950;line-height:1.12}
.fase70-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fase70-card{position:relative;overflow:hidden;border:1px solid rgba(8,118,99,.13);border-radius:21px;background:linear-gradient(180deg,#ffffff,#f8fcfb);box-shadow:0 10px 24px rgba(15,39,66,.055);padding:13px;display:grid;gap:10px}.fase70-card:before{content:'';position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#064733,#1180b4,#d8a23a)}.fase70-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.fase70-card-title{display:flex;gap:9px;align-items:center;min-width:0}.fase70-card-icon{width:34px;height:34px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#064733,#1180b4);color:#fff;box-shadow:0 8px 16px rgba(6,71,51,.16);flex:none}.fase70-card h3{margin:0;color:#102035;font-size:15px;font-weight:950;line-height:1.15}.fase70-card-sub{margin:2px 0 0;color:#667085;font-size:11.5px;font-weight:820;line-height:1.25}.fase70-pill{border-radius:999px;padding:5px 8px;background:#fff7e8;color:#92400e;border:1px solid #fed7aa;font-size:10px;font-weight:950;white-space:nowrap}
.fase70-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fase70-field{border:1px solid #e4edf0;background:#fff;border-radius:15px;padding:9px;display:grid;gap:4px}.fase70-field span{font-size:10px;color:#667085;font-weight:950;text-transform:uppercase;letter-spacing:.018em}.fase70-field strong{font-size:12px;color:#19352f;font-weight:950;line-height:1.28;word-break:break-word}.fase70-masked{letter-spacing:.08em;color:#475467!important}.fase70-option-row{display:flex;flex-wrap:wrap;gap:6px}.fase70-option-chip{border:1px solid #dce8ea;background:#f8fafc;color:#344054;border-radius:999px;padding:6px 8px;font-size:10.5px;font-weight:950}.fase70-option-chip.active{background:linear-gradient(135deg,#eefdf8,#eff6ff);border-color:#9ed6cc;color:#087663}
.fase70-action-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fase70-action-row .btn{min-height:34px;padding:8px 10px;border-radius:13px;font-size:11.8px}.fase70-action-row .btn[aria-disabled="true"]{opacity:.76;filter:saturate(.85)}
.fase70-message-card{grid-column:1/-1;border:1px solid rgba(37,99,235,.12);background:linear-gradient(180deg,#f7fbff,#ffffff);border-radius:21px;box-shadow:0 10px 24px rgba(15,39,66,.05);padding:13px;display:grid;gap:8px}.fase70-message-card h3{margin:0;color:#0f3d5e;font-size:15px;font-weight:950}.fase70-message-box{border:1px dashed #c8dadd;background:#fff;border-radius:16px;padding:11px;color:#344054;font-size:12.2px;font-weight:820;line-height:1.45}.fase70-message-note{color:#667085;font-size:11.2px;font-weight:850;line-height:1.3}
@media(max-width:820px){.fase70-card-grid{grid-template-columns:1fr}.fase70-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.fase70-intro,.fase70-card,.fase70-message-card{border-radius:18px;padding:11px}.fase70-field-grid,.fase70-action-row{grid-template-columns:1fr}.fase70-status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.fase70-status-card{min-height:58px}.fase70-card-head{display:grid}.fase70-pill{justify-self:start}}
@media(max-width:330px){.fase70-status-grid{grid-template-columns:1fr}}


/* ===== CSS extraído do bloco <style> #13 do HTML fiel original — ordem preservada ===== */
/* ==================================================
   FASE 71 — HISTÓRICO FUTURO DE ENVIOS DOS ALERTAS
   Camada visual/preparatória. Não salva histórico real, não envia, não automatiza e não altera integrações.
================================================== */
.fase71-history-shell{display:grid;gap:13px}.fase71-intro{border:1px solid rgba(8,118,99,.14);border-radius:22px;background:linear-gradient(135deg,#ffffff,#f5fbfa);box-shadow:0 10px 24px rgba(15,39,66,.055);padding:14px;display:grid;gap:7px}.fase71-intro h3{margin:0;color:#102035;font-size:17px;font-weight:950;letter-spacing:-.02em}.fase71-intro p{margin:0;color:#5f6f82;font-size:12.8px;line-height:1.42;font-weight:780}.fase71-badges{display:flex;gap:7px;flex-wrap:wrap}.fase71-badges span{border:1px solid #dceae7;background:#f7fbfa;color:#195c52;border-radius:999px;padding:6px 9px;font-size:10.8px;font-weight:950}.fase71-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.fase71-kpi{min-height:62px;border:1px solid #e3ecef;border-radius:17px;background:linear-gradient(180deg,#fff,#f8fcfb);box-shadow:0 8px 18px rgba(15,39,66,.045);padding:9px;display:grid;align-content:center;gap:4px;position:relative;overflow:hidden}.fase71-kpi:before{content:'';position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#064733,#1180b4,#d8a23a)}.fase71-kpi span{font-size:9.7px;color:#667085;font-weight:950;text-transform:uppercase;letter-spacing:.018em;line-height:1.08}.fase71-kpi strong{font-size:18px;color:#064733;font-weight:950;line-height:1}.fase71-filter-panel{border:1px solid rgba(31,122,255,.12);border-radius:20px;background:linear-gradient(180deg,#fff,#f8fdfc);box-shadow:0 10px 24px rgba(15,39,66,.05);padding:11px}.fase71-filter-panel>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:950;color:#102035;font-size:13.5px}.fase71-filter-panel>summary::-webkit-details-marker{display:none}.fase71-filter-panel>summary:after{content:'+';display:grid;place-items:center;width:25px;height:25px;border-radius:999px;background:#fff;border:1px solid #dce8ea;color:#087663;font-weight:950}.fase71-filter-panel[open]>summary:after{content:'−'}.fase71-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:10px}.fase71-field{display:grid;gap:5px}.fase71-field label{font-size:10.5px;color:#344054;font-weight:950;text-transform:uppercase;letter-spacing:.02em}.fase71-field select{width:100%;min-height:36px;border:1px solid #d8e5e7;border-radius:13px;background:linear-gradient(180deg,#fff,#fbfefd);padding:7px 9px;color:#162638;font-size:12px;font-weight:850;box-shadow:0 5px 14px rgba(15,39,66,.03)}.fase71-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin-top:10px}.fase71-actions .btn{min-height:34px;padding:8px 10px;border-radius:13px;font-size:11.8px}.fase71-table-card{border:1px solid rgba(8,118,99,.13);border-radius:21px;background:linear-gradient(180deg,#ffffff,#f9fdfc);box-shadow:0 10px 24px rgba(15,39,66,.05);padding:12px;display:grid;gap:10px}.fase71-table-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.fase71-table-head h3{margin:0;color:#102035;font-size:15px;font-weight:950}.fase71-table-head p{margin:3px 0 0;color:#667085;font-size:11.8px;font-weight:820;line-height:1.3}.fase71-table-wrap{overflow:auto;border:1px solid #e3ecef;border-radius:16px;background:#fff}.fase71-table{width:100%;border-collapse:collapse;min-width:720px}.fase71-table th,.fase71-table td{padding:10px 11px;border-bottom:1px solid #edf2f4;text-align:left;font-size:11.5px}.fase71-table th{background:#f2f7f6;color:#344054;font-weight:950}.fase71-empty-row td{text-align:center;color:#667085;font-weight:850;line-height:1.45;padding:18px}.fase71-empty-card{border:1px dashed #c7d6dc;border-radius:18px;background:#f8fafc;color:#667085;font-size:12.3px;font-weight:850;line-height:1.45;padding:14px;text-align:center}.fase71-pill{border-radius:999px;padding:5px 8px;background:#fff7e8;color:#92400e;border:1px solid #fed7aa;font-size:10px;font-weight:950;white-space:nowrap}
@media(max-width:900px){.fase71-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fase71-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.fase71-intro,.fase71-table-card{border-radius:18px;padding:11px}.fase71-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.fase71-filter-grid{grid-template-columns:1fr}.fase71-actions{display:grid;grid-template-columns:1fr}.fase71-table-head{display:grid}.fase71-pill{justify-self:start}.fase71-kpi{min-height:58px}.fase71-kpi strong{font-size:16px}}
@media(max-width:330px){.fase71-kpi-grid{grid-template-columns:1fr}}


/* ===== CSS extraído do bloco <style> #14 do HTML fiel original — ordem preservada ===== */
/* ==================================================
   FASE 72 — AUDITORIA GERAL DOS ALERTAS DE VENCIMENTO
   Escopo: consolidação visual/preventiva da área de Alertas de Vencimento.
   Sem envio real, sem automação, sem histórico real, sem Firebase, sem Google Sheets, sem Telegram e sem e-mail.
================================================== */
.fase72-audit-note{border:1px solid rgba(8,118,99,.14);border-radius:20px;background:linear-gradient(180deg,#fff,#f8fcfb);box-shadow:0 8px 20px rgba(15,39,66,.045);padding:11px 12px;color:#475467;font-size:12.4px;font-weight:820;line-height:1.38}.fase72-audit-grid{gap:10px}.fase72-audit-status{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.fase72-audit-status .fase72-status-card{min-height:58px;border:1px solid #e3ecef;border-radius:16px;background:linear-gradient(180deg,#fff,#f8fcfb);padding:9px;display:grid;align-content:center;gap:4px;box-shadow:0 7px 16px rgba(15,39,66,.04);position:relative;overflow:hidden}.fase72-audit-status .fase72-status-card:before{content:'';position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#064733,#1180b4,#d8a23a)}.fase72-audit-status .fase72-status-card span{font-size:9.3px;line-height:1.08;color:#667085;font-weight:950;text-transform:uppercase;letter-spacing:.015em}.fase72-audit-status .fase72-status-card strong{font-size:13.5px;color:#064733;font-weight:950;line-height:1.1}.fase72-audit-clean .nav-card p,.fase72-audit-clean .fase66-admin-card p{font-size:12.2px;line-height:1.22}.fase72-audit-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:4px}.fase72-audit-actions .btn{min-height:34px;padding:8px 10px;border-radius:13px;font-size:11.8px}
@media(max-width:760px){.fase72-audit-status{grid-template-columns:repeat(2,minmax(0,1fr))}.fase72-audit-note{border-radius:18px;padding:10px}.fase72-audit-actions{display:grid;grid-template-columns:1fr}.fase72-audit-actions .btn{width:100%}}
@media(max-width:340px){.fase72-audit-status{grid-template-columns:1fr}}


/* ===== CSS extraído do bloco <style> #15 do HTML fiel original — ordem preservada ===== */
/* ==================================================
   FASE 73 — CONFIGURAÇÃO REAL SEGURA DOS DADOS DOS CANAIS DE ENVIO DOS ALERTAS
   Escopo exclusivo: Canais de Envio dos Alertas.
   Salva apenas configuração local isolada. Não envia, não testa conexão real, não chama APIs e não altera integrações.
================================================== */
.fase73-channel-shell{display:grid;gap:13px}.fase73-intro{position:relative;overflow:hidden;border:1px solid rgba(8,118,99,.15);border-radius:22px;background:linear-gradient(135deg,#ffffff,#f5fbfa);box-shadow:0 10px 26px rgba(15,39,66,.06);padding:14px}.fase73-intro:before{content:'';position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#064733,#1180b4,#d8a23a)}.fase73-intro h3{margin:0 0 5px;color:#102035;font-size:16px;font-weight:950;letter-spacing:-.01em}.fase73-intro p{margin:0;color:#52677a;font-size:12.6px;font-weight:780;line-height:1.38;max-width:850px}.fase73-badges{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.fase73-badges span{border-radius:999px;padding:6px 9px;background:#eefdf8;color:#087663;border:1px solid #cce9e3;font-size:10.6px;font-weight:950}.fase73-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.fase73-status-card{min-height:62px;border:1px solid #dce8ea;border-radius:16px;background:linear-gradient(180deg,#fff,#f8fcfc);box-shadow:0 7px 18px rgba(15,39,66,.045);padding:9px;display:grid;gap:3px;position:relative;overflow:hidden}.fase73-status-card:before{content:'';position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#064733,#1180b4,#d8a23a)}.fase73-status-card span{font-size:10px;color:#667085;font-weight:950;text-transform:uppercase;letter-spacing:.02em;line-height:1.1}.fase73-status-card strong{font-size:12.8px;color:#92400e;font-weight:950;line-height:1.12}.fase73-status-card.is-configured strong{color:#067647}.fase73-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fase73-card{position:relative;overflow:hidden;border:1px solid rgba(8,118,99,.13);border-radius:21px;background:linear-gradient(180deg,#ffffff,#f8fcfb);box-shadow:0 10px 24px rgba(15,39,66,.055);padding:13px;display:grid;gap:10px}.fase73-card:before{content:'';position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#064733,#1180b4,#d8a23a)}.fase73-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.fase73-card-title{display:flex;gap:9px;align-items:center;min-width:0}.fase73-card-icon{width:34px;height:34px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#064733,#1180b4);color:#fff;box-shadow:0 8px 16px rgba(6,71,51,.16);flex:none}.fase73-card h3{margin:0;color:#102035;font-size:15px;font-weight:950;line-height:1.15}.fase73-card-sub{margin:2px 0 0;color:#667085;font-size:11.5px;font-weight:820;line-height:1.25}.fase73-pill{border-radius:999px;padding:5px 8px;background:#fff7e8;color:#92400e;border:1px solid #fed7aa;font-size:10px;font-weight:950;white-space:nowrap}.fase73-pill.is-configured{background:#ecfdf3;color:#067647;border-color:#abefc6}.fase73-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fase73-field{display:grid;gap:5px;min-width:0}.fase73-field label{font-size:10px;color:#667085;font-weight:950;text-transform:uppercase;letter-spacing:.018em}.fase73-field input,.fase73-field select,.fase73-field textarea{width:100%;min-height:38px;border:1px solid #d8e5e7;border-radius:13px;background:linear-gradient(180deg,#fff,#fbfefd);padding:8px 10px;color:#162638;font-size:12.2px;font-weight:850;box-shadow:0 5px 14px rgba(15,39,66,.03);outline:none}.fase73-field textarea{min-height:76px;resize:vertical;line-height:1.35}.fase73-field input:focus,.fase73-field select:focus,.fase73-field textarea:focus{border-color:#1180b4;box-shadow:0 0 0 3px rgba(17,128,180,.12),0 5px 14px rgba(15,39,66,.03)}.fase73-field-full{grid-column:1/-1}.fase73-token-note{font-size:10.3px;color:#667085;font-weight:820;line-height:1.25;margin-top:-2px}.fase73-action-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.fase73-action-row.two{grid-template-columns:repeat(2,minmax(0,1fr))}.fase73-action-row .btn{min-height:34px;padding:8px 10px;border-radius:13px;font-size:11.4px}.fase73-message-card{grid-column:1/-1;border:1px solid rgba(37,99,235,.12);background:linear-gradient(180deg,#f7fbff,#ffffff);border-radius:21px;box-shadow:0 10px 24px rgba(15,39,66,.05);padding:13px;display:grid;gap:9px}.fase73-message-card h3{margin:0;color:#0f3d5e;font-size:15px;font-weight:950}.fase73-message-note{color:#667085;font-size:11.2px;font-weight:850;line-height:1.3}.fase73-save-note{border:1px dashed #c8dadd;background:#f8fafc;border-radius:16px;padding:10px;color:#475467;font-size:11.8px;font-weight:850;line-height:1.35}.fase73-toast{border:1px solid #abefc6;background:#ecfdf3;color:#067647;border-radius:15px;padding:9px 10px;font-size:11.8px;font-weight:900;line-height:1.35}.fase73-toast.warn{border-color:#fedf89;background:#fffaeb;color:#92400e}
@media(max-width:860px){.fase73-card-grid{grid-template-columns:1fr}.fase73-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:500px){.fase73-intro,.fase73-card,.fase73-message-card{border-radius:18px;padding:11px}.fase73-field-grid,.fase73-action-row,.fase73-action-row.two{grid-template-columns:1fr}.fase73-status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.fase73-status-card{min-height:58px}.fase73-card-head{display:grid}.fase73-pill{justify-self:start}}
@media(max-width:330px){.fase73-status-grid{grid-template-columns:1fr}}


/* ===== CSS extraído do bloco <style> #16 do HTML fiel original — ordem preservada ===== */
/* ==================================================
   FASE 74 — TESTE REAL CONTROLADO DO TELEGRAM PARA ALERTAS DE VENCIMENTO
   Escopo exclusivo: botão Testar Telegram em Canais de Envio.
   Envia apenas mensagem simples de teste. Não envia PDF, relatório, dados da Matriz, e-mail, histórico, Firebase ou Google Sheets.
================================================== */
.fase74-test-panel{grid-column:1/-1;border:1px solid #dbeafe;background:linear-gradient(180deg,#f8fbff,#ffffff);border-radius:17px;padding:10px;display:grid;gap:6px;box-shadow:0 6px 16px rgba(15,39,66,.04)}
.fase74-test-panel h4{margin:0;color:#0f3d5e;font-size:12.8px;font-weight:950}.fase74-test-panel p{margin:0;color:#52677a;font-size:11.5px;font-weight:820;line-height:1.32}.fase74-test-panel.success{border-color:#abefc6;background:#ecfdf3}.fase74-test-panel.fail{border-color:#fecdca;background:#fff7f7}.fase74-test-panel.warn{border-color:#fedf89;background:#fffaeb}.fase74-test-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.fase74-test-item{border:1px solid rgba(15,39,66,.08);background:rgba(255,255,255,.72);border-radius:13px;padding:8px;display:grid;gap:2px}.fase74-test-item span{font-size:9.5px;text-transform:uppercase;letter-spacing:.02em;color:#667085;font-weight:950}.fase74-test-item strong{font-size:11.2px;color:#102035;font-weight:950;line-height:1.18}.fase74-safe-note{border:1px dashed #c8dadd;background:#f8fafc;border-radius:14px;padding:8px;color:#475467;font-size:10.9px;font-weight:850;line-height:1.32}
@media(max-width:560px){.fase74-test-grid{grid-template-columns:1fr}.fase74-test-panel{border-radius:15px;padding:9px}}


/* FASE 68 — Correção isolada da abertura dos filtros modernos do Dashboard de Qualificações. */
#appMain .qual-dashboard-filters{overflow:visible!important;position:relative;z-index:10;}
#appMain .qual-dashboard-filters .qual-filter-grid{overflow:visible!important;isolation:isolate;}
#appMain .qual-dashboard-filters .ai-modern-select-label{position:relative;min-width:0;}
#appMain .qual-dashboard-filters .ai-modern-select{position:relative;}
#appMain .qual-dashboard-filters .ai-modern-select-panel{position:absolute!important;top:calc(100% + 8px)!important;left:0!important;right:0!important;margin-top:0!important;z-index:260!important;max-height:260px!important;box-shadow:0 20px 48px rgba(15,39,66,.17)!important;}
#appMain .qual-dashboard-filters .ai-modern-select[open]{z-index:280!important;}
#appMain .qual-dashboard-filters .ai-modern-select-option{min-height:40px;}

/* FASE 69 — Otimização responsiva 2x2 dos filtros do Dashboard de Qualificações. */
#appMain .qual-dashboard-filters .qual-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px!important;}
#appMain .qual-dashboard-filters .ai-modern-select>summary{min-height:46px!important;padding:10px 10px 10px 12px!important;}
#appMain .qual-dashboard-filters .ai-modern-select-text{font-size:clamp(11.2px,3.1vw,13px)!important;}
@media(max-width:760px){
  #appMain .qual-dashboard-filters .ai-modern-select-panel{position:absolute!important;top:calc(100% + 8px)!important;left:0!important;right:0!important;max-height:245px!important;}
  #appMain .qual-dashboard-filters .qual-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:340px){
  #appMain .qual-dashboard-filters .qual-filter-grid{grid-template-columns:1fr!important;}
}

/* FASE 72 — racionalização visual e camada de detalhamento do Dashboard de Qualificações. */
#appMain .qual-dashboard-kpi-card.qual-dashboard-kpi-clickable{cursor:pointer;appearance:none;-webkit-appearance:none;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;}
#appMain .qual-dashboard-kpi-card.qual-dashboard-kpi-clickable:hover,#appMain .qual-dashboard-kpi-card.qual-dashboard-kpi-clickable:focus-visible{transform:translateY(-1px);box-shadow:0 18px 38px rgba(10,40,55,.12)!important;border-color:rgba(8,118,99,.28)!important;outline:none;}
#appMain .qual-detail-hint{margin-top:8px;color:#087663;font-weight:900;font-size:.68rem;letter-spacing:.02em;text-transform:uppercase;}
#appMain .qual-complement-section .qual-complement-intro{border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(248,252,252,.94));border:1px solid rgba(8,118,99,.12);box-shadow:0 18px 42px rgba(15,39,66,.08);}
#appMain .qual-complement-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:12px;align-items:stretch;}
#appMain .qual-complement-card{border-radius:24px!important;box-shadow:0 14px 34px rgba(15,39,66,.08)!important;min-width:0;overflow:hidden;}
#appMain .qual-complement-card h3{font-size:clamp(1rem,4.2vw,1.25rem);line-height:1.12;margin-bottom:12px;overflow-wrap:anywhere;}
#appMain .qual-complement-card.qual-complement-wide{grid-column:1/-1;}
#appMain .qual-complement-list{display:grid;gap:8px;}
#appMain .qual-complement-row,#appMain .qual-complement-ranking-row{width:100%;border:1px solid rgba(15,76,92,.10);background:rgba(255,255,255,.74);border-radius:16px;padding:10px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(58px,.85fr) auto;gap:8px;align-items:center;text-align:left;cursor:pointer;color:#102035;appearance:none;-webkit-appearance:none;}
#appMain .qual-complement-ranking-row{grid-template-columns:minmax(0,1fr) auto;}
#appMain .qual-complement-row span,#appMain .qual-complement-ranking-row span{min-width:0;white-space:normal;overflow-wrap:anywhere;font-weight:850;line-height:1.18;}
#appMain .qual-complement-row strong,#appMain .qual-complement-ranking-row strong{white-space:nowrap;font-weight:950;color:#0f172a;}
#appMain .qual-complement-row:hover,#appMain .qual-complement-ranking-row:hover{border-color:rgba(8,118,99,.24);box-shadow:0 8px 18px rgba(15,39,66,.07);}
.qual-details-overlay{position:fixed;inset:0;z-index:9999;background:rgba(15,23,42,.52);backdrop-filter:blur(6px);display:flex;align-items:flex-end;justify-content:center;padding:18px;}
.qual-details-modal{width:min(720px,100%);max-height:min(78vh,720px);background:linear-gradient(180deg,#ffffff,#f8fbfb);border-radius:28px 28px 22px 22px;box-shadow:0 24px 80px rgba(0,0,0,.30);border:1px solid rgba(255,255,255,.64);display:flex;flex-direction:column;overflow:hidden;}
.qual-details-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px;border-bottom:1px solid rgba(15,76,92,.10);}
.qual-details-head h3{margin:0;color:#0f172a;font-size:clamp(1.1rem,5vw,1.55rem);line-height:1.05;}
.qual-details-head p{margin:5px 0 0;color:#64748b;font-weight:800;}
.qual-details-body{padding:14px;overflow:auto;display:grid;gap:10px;}
.qual-detail-item{border:1px solid rgba(15,76,92,.12);border-radius:18px;background:rgba(255,255,255,.82);padding:12px;display:grid;gap:9px;}
.qual-detail-item strong{color:#0f172a;font-size:1rem;line-height:1.15;overflow-wrap:anywhere;}
.qual-detail-item span{display:block;color:#64748b;font-weight:800;line-height:1.25;overflow-wrap:anywhere;}
.qual-detail-meta{display:flex;flex-wrap:wrap;gap:6px;}
.qual-detail-meta span{display:inline-flex;border:1px solid rgba(8,118,99,.14);background:rgba(8,118,99,.06);border-radius:999px;padding:5px 8px;color:#0f766e;font-size:.78rem;font-weight:900;}
@media(max-width:560px){
  #appMain .qual-complement-grid{grid-template-columns:1fr;}
  #appMain .qual-complement-row{grid-template-columns:minmax(0,1fr) auto;}
  #appMain .qual-complement-row .progress-track{grid-column:1/-1;order:3;}
  .qual-details-overlay{padding:10px;align-items:flex-end;}
  .qual-details-modal{max-height:84vh;border-radius:24px 24px 18px 18px;}
  .qual-details-head{padding:14px;}
}

/* FASE 75 — blocos recolhíveis isolados do Dashboard de Qualificações Operacionais. */
#appMain .qual-collapsible-block{position:relative;overflow:visible;border:1px solid rgba(8,118,99,.13);border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(248,252,252,.94));box-shadow:0 18px 42px rgba(15,39,66,.08);padding:14px;margin-top:14px;}
#appMain .qual-collapsible-block:before{content:'';position:absolute;left:0;right:0;top:0;height:5px;border-radius:28px 28px 0 0;background:linear-gradient(90deg,#064733,#1180b4,#d8a23a,#b23b3b);}
#appMain .qual-collapsible-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0;}
#appMain .qual-collapsible-title-wrap{min-width:0;display:grid;gap:4px;}
#appMain .qual-collapsible-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0;}
#appMain .qual-collapsible-title-row h3{margin:0;color:#102035;font-size:clamp(1rem,4.4vw,1.32rem);line-height:1.08;letter-spacing:-.025em;overflow-wrap:anywhere;}
#appMain .qual-collapsible-title-wrap p{margin:0;color:#64748b;font-size:.88rem;line-height:1.34;font-weight:750;overflow-wrap:anywhere;}
#appMain .qual-collapsible-badge{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:4px 8px;border:1px solid rgba(8,118,99,.14);background:rgba(8,118,99,.07);color:#087663;font-size:.72rem;font-weight:950;white-space:nowrap;}
#appMain .qual-collapsible-toggle{flex:none;border:1px solid rgba(8,118,99,.18);background:linear-gradient(180deg,#fff,#f5fbfa);color:#087663;border-radius:999px;padding:9px 12px;min-height:40px;font-size:.82rem;font-weight:950;box-shadow:0 8px 18px rgba(15,39,66,.07);cursor:pointer;display:inline-flex;align-items:center;gap:6px;}
#appMain .qual-collapsible-toggle span{font-size:1rem;line-height:1;}
#appMain .qual-collapsible-toggle:hover,#appMain .qual-collapsible-toggle:focus-visible{outline:none;border-color:rgba(17,128,180,.26);box-shadow:0 0 0 3px rgba(17,128,180,.10),0 8px 18px rgba(15,39,66,.08);}
#appMain .qual-collapsible-content{margin-top:13px;min-width:0;}
#appMain .qual-collapsible-content[hidden]{display:none!important;}
#appMain .qual-insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;align-items:stretch;}
#appMain .qual-insight-card{border:1px solid rgba(15,76,92,.10);background:rgba(255,255,255,.86);border-radius:20px;padding:12px 13px;box-shadow:0 10px 22px rgba(15,39,66,.06);min-height:0;display:grid;gap:6px;}
#appMain .qual-insight-card strong{display:block;color:#0f172a;font-size:.88rem;line-height:1.2;overflow-wrap:anywhere;}
#appMain .qual-insight-card p{margin:0;color:#475569;font-size:.86rem;line-height:1.35;overflow-wrap:anywhere;}
#appMain .qual-collapsible-content>.card,#appMain .qual-collapsible-content .summary-grid+.card{margin-top:12px;}
@media(max-width:560px){
  #appMain .qual-collapsible-block{border-radius:24px;padding:12px;margin-top:12px;}
  #appMain .qual-collapsible-header{display:grid;gap:10px;}
  #appMain .qual-collapsible-toggle{justify-self:start;min-height:38px;padding:8px 11px;}
  #appMain .qual-insights-grid{grid-template-columns:1fr;}
}


/* FASE 85 — Racionalização visual da tela Registros de Qualificações.
   Escopo visual isolado: cards compactos, blocos recolhíveis e modal de detalhamento. */
#appMain .pto-registros-summary-panel .pto-registros-summary-grid,
#appMain .pto-registros-summary-panel .pto-registros-group-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
}
#appMain .pto-registros-summary-panel .mini-kpi,
#appMain .pto-registros-summary-panel .pto-registros-group-card,
#appMain .pto-records-summary-action{
  appearance:none!important;
  border:1px solid rgba(31,122,255,.12)!important;
  background:#fff!important;
  color:inherit!important;
  text-align:left!important;
  border-radius:16px!important;
  padding:11px 12px!important;
  min-height:82px!important;
  width:100%!important;
  max-width:none!important;
  box-shadow:0 10px 24px rgba(15,39,66,.04)!important;
  cursor:pointer!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
#appMain .pto-records-summary-action:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(15,39,66,.07)!important}
#appMain .pto-records-summary-action small{display:block;margin-top:7px;color:#087663;font-size:10.5px;font-weight:950;text-transform:uppercase;letter-spacing:.02em;line-height:1.15}
#appMain .pto-records-collapsible{overflow:visible!important}
#appMain .pto-records-collapsible-summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:#13283d;
  font-weight:950;
  font-size:1.02rem;
}
#appMain .pto-records-collapsible-summary::-webkit-details-marker{display:none}
#appMain .pto-records-collapsible-summary::after{content:'⌄';display:grid;place-items:center;width:34px;height:34px;border-radius:999px;border:1px solid rgba(8,118,99,.18);background:#f6fffd;color:#087663;font-weight:950;flex:0 0 auto}
#appMain .pto-records-collapsible[open] .pto-records-collapsible-summary::after{content:'⌃'}
#appMain .pto-records-collapsible-summary em{font-style:normal;color:#087663;font-size:.74rem;font-weight:950;text-transform:uppercase;letter-spacing:.025em}
#appMain .pto-registros-group-wrap{padding-top:12px;margin-top:14px;border-top:1px solid rgba(148,163,184,.18)}
#appMain .pto-registros-pdf-panel{display:block!important}
#appMain .pto-registros-pdf-panel p{margin:10px 0 12px!important}
#appMain .pto-records-list-priority{margin-top:14px!important}
#appMain .pto-registro-more summary{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border:1px solid rgba(8,118,99,.13);border-radius:14px;background:#f8fffd}
#appMain .pto-registro-more summary::after{content:'+';font-weight:950;color:#087663}
#appMain .pto-registro-more[open] summary::after{content:'−'}
#appMain .pto-records-modal-backdrop{position:fixed;inset:0;z-index:9999;background:rgba(15,23,42,.42);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:18px}
#appMain .pto-records-modal{width:min(720px,100%);max-height:86vh;overflow:hidden;background:#fff;border-radius:24px;box-shadow:0 24px 70px rgba(15,23,42,.25);border:1px solid rgba(31,122,255,.16);display:grid;grid-template-rows:auto minmax(0,1fr)}
#appMain .pto-records-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 16px 12px;border-bottom:1px solid rgba(148,163,184,.2)}
#appMain .pto-records-modal-head h3{margin:0;color:#13283d;font-size:1.1rem;font-weight:950;line-height:1.15}
#appMain .pto-records-modal-head p{margin:4px 0 0;color:#667085;font-size:.86rem;font-weight:800}
#appMain .pto-records-modal-list{overflow:auto;padding:12px 16px 16px;display:grid;gap:9px}
#appMain .pto-records-modal-row{border:1px solid rgba(31,122,255,.11);border-radius:16px;background:#fbfdff;padding:11px 12px;display:grid;gap:4px}
#appMain .pto-records-modal-row strong{color:#13283d;font-size:.95rem;font-weight:950;line-height:1.2}
#appMain .pto-records-modal-row span{color:#344054;font-size:.84rem;font-weight:820;line-height:1.28}
#appMain .pto-records-modal-row small{color:#667085;font-size:.77rem;font-weight:800;line-height:1.25}
#appMain .pto-records-modal-empty{padding:18px;border:1px dashed rgba(8,118,99,.22);border-radius:18px;background:#f8fffd;color:#475467;font-weight:850;line-height:1.35}
@media(max-width:640px){
  #appMain .pto-registros-summary-panel .pto-registros-summary-grid,
  #appMain .pto-registros-summary-panel .pto-registros-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #appMain .pto-registros-summary-panel .mini-kpi,
  #appMain .pto-registros-summary-panel .pto-registros-group-card{min-height:74px!important;padding:10px!important}
  #appMain .pto-records-collapsible-summary{font-size:.98rem}
  #appMain .pto-records-collapsible-summary em{display:none}
  #appMain .pto-records-modal-backdrop{padding:10px;align-items:flex-end}
  #appMain .pto-records-modal{max-height:88vh;border-radius:22px 22px 18px 18px}
  #appMain .pto-records-modal-head{padding:14px;gap:8px}
  #appMain .pto-records-modal-head .btn{padding:9px 12px!important;white-space:nowrap}
}

/* FASE 86 — Ajuste pontual da tela Registros de Qualificações:
   mantém os três cards principais do resumo lado a lado no celular e remove pressão vertical sem cortar informações. */
#appMain .pto-registros-summary-panel .pto-registros-summary-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
}
#appMain .pto-registros-summary-panel .pto-registros-summary-grid .mini-kpi{
  min-width:0!important;
  min-height:96px!important;
  padding:10px 8px!important;
  align-items:flex-start!important;
  justify-content:center!important;
  overflow:visible!important;
  white-space:normal!important;
}
#appMain .pto-registros-summary-panel .pto-registros-summary-grid .mini-kpi span{
  width:100%!important;
  min-height:24px!important;
  font-size:9.5px!important;
  line-height:1.18!important;
  white-space:normal!important;
  overflow:visible!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
}
#appMain .pto-registros-summary-panel .pto-registros-summary-grid .mini-kpi strong{
  font-size:22px!important;
  line-height:1!important;
  margin-top:6px!important;
}
#appMain .pto-registros-summary-panel .pto-registros-summary-grid .mini-kpi small{
  font-size:9px!important;
  line-height:1.12!important;
  margin-top:6px!important;
  white-space:normal!important;
  overflow:visible!important;
}
@media(max-width:380px){
  #appMain .pto-registros-summary-panel .pto-registros-summary-grid{gap:6px!important}
  #appMain .pto-registros-summary-panel .pto-registros-summary-grid .mini-kpi{padding:9px 6px!important;min-height:100px!important;border-radius:16px!important}
  #appMain .pto-registros-summary-panel .pto-registros-summary-grid .mini-kpi span{font-size:8.8px!important}
  #appMain .pto-registros-summary-panel .pto-registros-summary-grid .mini-kpi small{font-size:8.4px!important}
}

/* FASE 87 — ajuste visual isolado dos mini-cards de status dentro da listagem de Registros de Qualificações.
   Mantém A vencer, Vencidos e Pendentes lado a lado sem alterar lógica ou dados. */
#appMain .pto-registro-metrics{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  width:100%!important;
  align-items:stretch!important;
  margin-top:12px!important;
}
#appMain .pto-registro-metric{
  min-width:0!important;
  width:100%!important;
  max-width:none!important;
  min-height:72px!important;
  padding:9px 8px!important;
  border-radius:14px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  overflow:visible!important;
  white-space:normal!important;
}
#appMain .pto-registro-metric span{
  display:block!important;
  width:100%!important;
  color:#667085!important;
  font-size:9.2px!important;
  line-height:1.12!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.015em!important;
  white-space:normal!important;
  overflow:visible!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
#appMain .pto-registro-metric strong{
  display:block!important;
  margin-top:5px!important;
  color:#13283d!important;
  font-size:21px!important;
  line-height:1!important;
  font-weight:950!important;
  white-space:nowrap!important;
  overflow:visible!important;
}
@media(max-width:420px){
  #appMain .pto-registro-metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;}
  #appMain .pto-registro-metric{min-height:70px!important;padding:8px 6px!important;border-radius:13px!important;}
  #appMain .pto-registro-metric span{font-size:8.2px!important;line-height:1.08!important;letter-spacing:0!important;}
  #appMain .pto-registro-metric strong{font-size:19px!important;margin-top:4px!important;}
}

/* FASE 348.3 — seleção ampliada e aviso antecipado de duplicidade na Matriz PTO */
#appMain .pto-name-search-tools{display:flex;justify-content:flex-start;margin-top:2px}
#appMain .pto-name-picker-btn{min-height:36px!important;padding:8px 12px!important;border-radius:14px!important;font-size:.78rem!important}
#appMain .pto-qual-duplicate-warning{grid-column:1/-1;border:1px solid rgba(217,45,32,.22);background:linear-gradient(180deg,#fff7f6,#fff1f0);color:#912018;border-radius:16px;padding:11px 12px;font-size:.86rem;font-weight:850;line-height:1.35;box-shadow:0 8px 18px rgba(217,45,32,.06)}
#appMain .pto-qual-duplicate-warning[hidden]{display:none!important}
#appMain .pto-qual-duplicate-warning.is-visible{display:block}
.pto-name-picker-backdrop{position:fixed;inset:0;z-index:99999;background:rgba(15,23,42,.46);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:18px}
.pto-name-picker-modal{width:min(760px,100%);max-height:86vh;background:linear-gradient(180deg,#ffffff,#f8fbfb);border:1px solid rgba(31,122,255,.16);border-radius:26px;box-shadow:0 26px 80px rgba(15,23,42,.28);display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden}
.pto-name-picker-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 16px 12px;border-bottom:1px solid rgba(148,163,184,.20)}
.pto-name-picker-head h3{margin:0;color:#13283d;font-size:1.08rem;font-weight:950;line-height:1.15}
.pto-name-picker-head p{margin:4px 0 0;color:#667085;font-size:.84rem;font-weight:800;line-height:1.25}
.pto-name-picker-search{padding:12px 16px;border-bottom:1px solid rgba(148,163,184,.16)}
.pto-name-picker-search input{width:100%;min-height:44px;border:1px solid rgba(31,122,255,.16);border-radius:16px;background:#fff;padding:10px 12px;font-size:.92rem;font-weight:850;outline:none;color:#13283d;box-shadow:inset 0 1px 0 rgba(255,255,255,.78),0 8px 16px rgba(15,39,66,.05)}
.pto-name-picker-search input:focus{border-color:rgba(8,118,99,.42);box-shadow:0 0 0 3px rgba(8,118,99,.10),0 8px 18px rgba(15,39,66,.06)}
.pto-name-picker-list{overflow:auto;padding:12px 16px 16px;display:grid;gap:8px}
.pto-name-picker-row{appearance:none;border:1px solid rgba(31,122,255,.12);background:#fff;color:#13283d;border-radius:16px;padding:11px 12px;text-align:left;display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:.92rem;font-weight:900;cursor:pointer;box-shadow:0 7px 16px rgba(15,39,66,.045)}
.pto-name-picker-row:active,.pto-name-picker-row:hover{background:#f2f8ff;border-color:rgba(31,122,255,.24)}
.pto-name-picker-row span{font-size:.72rem;font-weight:950;color:#087663;background:#eefdf8;border:1px solid rgba(8,118,99,.16);border-radius:999px;padding:4px 8px;white-space:nowrap}
.pto-name-picker-empty{padding:16px;border:1px dashed rgba(8,118,99,.24);border-radius:16px;background:#f8fffd;color:#475467;font-weight:850;text-align:center}
@media(max-width:760px){.pto-name-picker-backdrop{padding:10px;align-items:flex-end}.pto-name-picker-modal{max-height:88vh;border-radius:24px 24px 18px 18px}.pto-name-picker-head{padding:14px;gap:8px}.pto-name-picker-head .btn{padding:9px 12px!important;white-space:nowrap}.pto-name-picker-list{padding:10px 12px 14px}.pto-name-picker-row{min-height:46px}}

/* FASE 348.4 — listas longas em camada pesquisável, sem legenda auxiliar abaixo do campo */
#appMain .pto-name-layer-trigger{
  appearance:none!important;
  width:100%!important;
  min-height:44px!important;
  border:1px solid rgba(31,122,255,.16)!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,#ffffff,#f8fbfd)!important;
  padding:10px 12px!important;
  text-align:left!important;
  color:#13283d!important;
  font-size:.92rem!important;
  font-weight:900!important;
  cursor:pointer!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78),0 8px 16px rgba(15,39,66,.05)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
}
#appMain .pto-name-layer-trigger:after{
  content:'⌕';
  display:grid;
  place-items:center;
  width:27px;
  height:27px;
  border-radius:999px;
  background:linear-gradient(135deg,#eefdf8,#eff6ff);
  border:1px solid rgba(31,122,255,.14);
  color:#087663;
  flex:none;
}
#appMain .pto-name-layer-trigger.is-empty span{color:#64748b}
#trainingForm .cadastro-select-layer-trigger{
  appearance:none;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:46px;
  border:1px solid rgba(31,122,255,.15);
  border-radius:17px;
  background:linear-gradient(180deg,#ffffff 0%,#f7fbfb 100%);
  padding:10px 11px 10px 13px;
  color:#13283d;
  font-size:13px;
  font-weight:900;
  letter-spacing:-.01em;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.86),0 8px 18px rgba(15,39,66,.06);
  cursor:pointer;
}
#trainingForm .cadastro-select-layer-trigger:after{
  content:'⌕';
  display:grid;
  place-items:center;
  width:25px;
  height:25px;
  border-radius:999px;
  background:linear-gradient(135deg,#eefdf8,#eff6ff);
  border:1px solid rgba(31,122,255,.14);
  color:#087663;
  font-size:14px;
  font-weight:950;
  flex:none;
}
.cadastro-select-layer-backdrop{position:fixed;inset:0;z-index:99999;background:rgba(15,23,42,.46);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:18px}
.cadastro-select-layer-modal{width:min(760px,100%);max-height:86vh;background:linear-gradient(180deg,#ffffff,#f8fbfb);border:1px solid rgba(31,122,255,.16);border-radius:26px;box-shadow:0 26px 80px rgba(15,23,42,.28);display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden}
.cadastro-select-layer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 16px 12px;border-bottom:1px solid rgba(148,163,184,.20)}
.cadastro-select-layer-head h3{margin:0;color:#13283d;font-size:1.08rem;font-weight:950;line-height:1.15}
.cadastro-select-layer-search{padding:12px 16px;border-bottom:1px solid rgba(148,163,184,.16)}
.cadastro-select-layer-search input{width:100%;min-height:44px;border:1px solid rgba(31,122,255,.16);border-radius:16px;background:#fff;padding:10px 12px;font-size:.92rem;font-weight:850;outline:none;color:#13283d;box-shadow:inset 0 1px 0 rgba(255,255,255,.78),0 8px 16px rgba(15,39,66,.05)}
.cadastro-select-layer-search input:focus{border-color:rgba(8,118,99,.42);box-shadow:0 0 0 3px rgba(8,118,99,.10),0 8px 18px rgba(15,39,66,.06)}
.cadastro-select-layer-list{overflow:auto;padding:12px 16px 16px;display:grid;gap:8px}
.cadastro-layer-row{appearance:none;border:1px solid rgba(31,122,255,.12);background:#fff;color:#13283d;border-radius:16px;padding:11px 12px;text-align:left;display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:.92rem;font-weight:900;cursor:pointer;box-shadow:0 7px 16px rgba(15,39,66,.045)}
.cadastro-layer-row:active,.cadastro-layer-row:hover{background:#f2f8ff;border-color:rgba(31,122,255,.24)}
.cadastro-layer-row.active{background:linear-gradient(135deg,#eefdf8 0%,#eff6ff 100%);border-color:rgba(8,118,99,.19);color:#087663}
.cadastro-layer-row.empty{color:#64748b;background:#f8fafc}
.cadastro-layer-row span{font-size:.72rem;font-weight:950;color:#087663;background:#eefdf8;border:1px solid rgba(8,118,99,.16);border-radius:999px;padding:4px 8px;white-space:nowrap}
.cadastro-layer-empty{padding:16px;border:1px dashed rgba(8,118,99,.24);border-radius:16px;background:#f8fffd;color:#475467;font-weight:850;text-align:center}
@media(max-width:760px){.cadastro-select-layer-backdrop{padding:10px;align-items:flex-end}.cadastro-select-layer-modal{max-height:88vh;border-radius:24px 24px 18px 18px}.cadastro-select-layer-head{padding:14px;gap:8px}.cadastro-select-layer-head .btn{padding:9px 12px!important;white-space:nowrap}.cadastro-select-layer-list{padding:10px 12px 14px}.cadastro-layer-row{min-height:46px}#trainingForm .cadastro-select-layer-trigger{min-height:44px;font-size:12.7px;border-radius:16px}}
#trainingForm .cadastro-checkbox-hidden-source{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;overflow:hidden!important;white-space:nowrap!important}
#trainingForm .cadastro-checkbox-layer-field{position:relative;display:block;margin-top:7px}
.cadastro-layer-check-row{justify-content:flex-start!important}
.cadastro-layer-check-row input{width:18px;height:18px;accent-color:#087663;flex:none}
.cadastro-layer-check-row strong{min-width:0;overflow:hidden;text-overflow:ellipsis}

/* FASE 348.5 — Correção de UX: listas em camada e bloqueio claro por duplicidade */
#appMain .pto-name-search-hint,
#appMain .pto-name-search-tools,
#appMain .pto-name-search-panel{
  display:none!important;
}
#appMain .pto-name-layer-trigger{
  width:100%;
  text-align:left;
  justify-content:space-between;
  cursor:pointer;
}
#appMain .pto-name-layer-trigger:after{
  content:'⌕';
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:999px;
  background:rgba(8,118,99,.08);
  color:#087663;
  font-size:16px;
  font-weight:950;
  flex:none;
}
#appMain .pto-qual-canac-field,
#appMain .pto-qual-group-field{
  display:grid;
  gap:8px;
}
#appMain .pto-qual-group-field .ai-modern-select-label{
  margin:0;
}
#appMain .pto-qual-duplicate-warning-inline{
  grid-column:auto;
  margin-top:0;
  border-width:1.5px;
  font-size:.88rem;
  scroll-margin-top:92px;
}
#appMain .pto-qual-duplicate-warning-legacy{
  display:none!important;
}
#appMain .pto-qual-duplicate-lock-note{
  border:1px solid rgba(217,45,32,.22);
  background:linear-gradient(180deg,#fff7f6,#fff1f0);
  color:#912018;
  border-radius:18px;
  padding:13px 14px;
  font-size:.9rem;
  font-weight:850;
  line-height:1.4;
}
#appMain #ptoQualificationForm.is-duplicate-blocked .pto-qual-blockable-step{
  opacity:.74;
}
#appMain #ptoQualificationForm.is-duplicate-blocked .is-disabled-by-duplicate,
#appMain #ptoQualificationForm.is-duplicate-blocked [aria-disabled="true"]{
  pointer-events:none!important;
}
#appMain #ptoQualificationForm.is-duplicate-blocked .pto-qual-blockable-step .btn,
#appMain #ptoQualificationForm.is-duplicate-blocked .pto-qual-blockable-step input,
#appMain #ptoQualificationForm.is-duplicate-blocked .pto-qual-blockable-step select,
#appMain #ptoQualificationForm.is-duplicate-blocked .pto-qual-blockable-step textarea{
  cursor:not-allowed!important;
}

/* FASE 348.6 — seleção de nome limpável e grupo operacional sem valor inicial forçado */
#appMain .pto-name-layer-control-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
}
#appMain .pto-name-clear-btn{
  min-height:44px;
  padding:0 14px;
  border-radius:18px;
  white-space:nowrap;
}
#appMain .pto-qual-canac-field.pto-qual-full{
  grid-column:1 / -1;
}
#appMain .pto-qual-canac-field .pto-qual-duplicate-warning-inline{
  margin-top:8px;
  width:100%;
}
@media(max-width:560px){
  #appMain .pto-name-layer-control-row{
    grid-template-columns:1fr;
  }
  #appMain .pto-name-clear-btn{
    width:100%;
  }
}

/* FASE 361 — ajuste visual do ícone do app e tela inicial institucional */
.login-card-f361{
  background:linear-gradient(180deg,#f7fcff 0%,#ffffff 52%,#eef7fb 100%);
}
.login-brand-panel-f361{
  grid-template-columns:86px minmax(0,1fr) 78px!important;
  gap:16px!important;
  align-items:center!important;
}
.login-brand-panel-f361 .login-brand-copy{min-width:0}
.login-op-crest{
  width:76px;
  height:76px;
  border-radius:999px;
  background:#fff;
  padding:5px;
  border:1px solid rgba(18,55,102,.14);
  box-shadow:0 14px 30px rgba(15,39,66,.12);
  display:grid;
  place-items:center;
  justify-self:end;
}
.login-op-crest img{width:100%;height:100%;object-fit:contain;display:block;border-radius:999px}
.aircraft-showcase-f361{
  position:relative;
  z-index:1;
  display:grid;
  gap:14px;
  padding:0 18px 16px;
  background:linear-gradient(180deg,#e8f5ff 0%,#ffffff 100%);
}
.aircraft-card-f361{
  overflow:hidden;
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(226,232,240,.95);
  box-shadow:0 16px 38px rgba(15,39,66,.12);
}
.aircraft-photo-f361{
  height:clamp(160px,31dvh,250px);
  background:#eaf2f7;
  overflow:hidden;
}
.aircraft-photo-f361 img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.aircraft-card-fixed-f361 .aircraft-photo-f361 img{object-position:center 52%}
.aircraft-card-rotary-f361 .aircraft-photo-f361 img{object-position:center 50%}
.aircraft-caption-f361{
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 13px 12px;
  background:linear-gradient(180deg,#ffffff,#f7fbff);
}
.aircraft-caption-icon-f361{
  width:42px;
  height:42px;
  flex:0 0 auto;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#123766,#0b4e78);
  color:#fff;
  font-size:20px;
  box-shadow:0 10px 20px rgba(18,55,102,.16);
}
.aircraft-caption-f361 strong{
  display:block;
  color:#123766;
  text-transform:uppercase;
  font-size:15px;
  font-weight:950;
  letter-spacing:.02em;
  line-height:1.1;
}
.aircraft-caption-f361 small{
  display:block;
  margin-top:3px;
  color:#526274;
  font-size:12px;
  font-weight:800;
  line-height:1.25;
}
.login-actions-f361{
  margin:0 18px 18px!important;
  padding:18px 18px 18px!important;
  border-radius:28px!important;
}
.login-actions-f361 h2{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  text-align:center;
  margin:0 0 15px!important;
}
.login-actions-f361 h2 span{
  display:inline-block;
  width:36px;
  height:3px;
  border-radius:999px;
  background:#13a879;
}
.login-credit-f361{
  margin:14px 0 0;
  text-align:center;
  color:#667085;
  font-size:12px;
  font-weight:850;
  letter-spacing:.01em;
}
.login-actions-f361 .login-foot{
  margin-top:12px!important;
  padding-top:10px!important;
}
@media(max-width:640px){
  .login-card-f361{height:auto!important;min-height:100dvh!important;overflow:auto!important;display:block!important}
  .login-brand-panel-f361{
    padding:14px 14px 10px!important;
    grid-template-columns:56px minmax(0,1fr) 48px!important;
    gap:9px!important;
  }
  .login-ge-crest{width:56px!important;height:56px!important;padding:3px!important}
  .login-op-crest{width:48px;height:48px;padding:3px}
  .login-brand-copy h1{font-size:29px!important;line-height:.95!important}
  .login-brand-copy p{font-size:11.5px!important;line-height:1.22!important;margin-top:5px!important}
  .login-brand-copy span{font-size:10.7px!important;margin-top:7px!important;padding-left:16px!important}
  .login-brand-copy span:before{width:11px!important;height:3px!important}
  .aircraft-showcase-f361{gap:10px;padding:0 10px 12px!important}
  .aircraft-card-f361{border-radius:18px!important}
  .aircraft-photo-f361{height:clamp(118px,20dvh,168px)!important}
  .aircraft-caption-f361{padding:7px 9px 8px;gap:8px}
  .aircraft-caption-icon-f361{width:34px;height:34px;border-radius:11px;font-size:16px}
  .aircraft-caption-f361 strong{font-size:12.5px}
  .aircraft-caption-f361 small{font-size:10.4px;margin-top:1px}
  .login-actions-f361{margin:0 10px 10px!important;padding:10px 10px calc(env(safe-area-inset-bottom,0px) + 8px)!important;border-radius:22px 22px 0 0!important}
  .login-actions-f361 h2{font-size:14px!important;margin-bottom:9px!important;gap:8px!important}
  .login-actions-f361 h2 span{width:22px;height:2px}
  .login-actions-f361 .profile-grid{gap:7px!important}
  .login-actions-f361 .profile-btn{min-height:51px!important;padding:7px 34px 7px 10px!important}
  .login-actions-f361 .profile-icon{width:38px!important;height:38px!important;border-radius:13px!important;font-size:18px!important}
  .login-actions-f361 .profile-btn strong{font-size:14px!important}
  .login-actions-f361 .profile-btn span span{font-size:11px!important}
  .login-credit-f361{margin-top:8px;font-size:10.5px}
  .login-actions-f361 .login-foot{margin-top:7px!important;padding-top:7px!important;font-size:8.2px!important;letter-spacing:.14em!important;gap:6px!important}
  .login-actions-f361 .login-foot:before,.login-actions-f361 .login-foot:after{width:18px!important}
}
@media(max-width:640px) and (max-height:720px){
  .login-brand-panel-f361{padding:9px 12px 7px!important;grid-template-columns:46px minmax(0,1fr) 40px!important}
  .login-ge-crest{width:46px!important;height:46px!important}
  .login-op-crest{width:40px;height:40px}
  .login-brand-copy h1{font-size:25px!important}
  .login-brand-copy p{font-size:10.6px!important}
  .login-brand-copy span{font-size:9.8px!important;margin-top:5px!important}
  .aircraft-showcase-f361{gap:8px;padding-bottom:8px!important}
  .aircraft-photo-f361{height:clamp(95px,18dvh,132px)!important}
  .aircraft-caption-f361{padding:6px 8px}
  .aircraft-caption-icon-f361{width:30px;height:30px;font-size:14px}
  .aircraft-caption-f361 strong{font-size:11.4px}
  .aircraft-caption-f361 small{font-size:9.5px}
  .login-actions-f361{padding-top:8px!important}
  .login-actions-f361 h2{font-size:12.8px!important;margin-bottom:7px!important}
  .login-actions-f361 .profile-btn{min-height:48px!important}
  .login-credit-f361{font-size:9.8px;margin-top:6px}
  .login-actions-f361 .login-foot{font-size:7.4px!important;padding-top:5px!important}
}

/* FASE 362 — Controle administrativo de permissões por perfil */
.config362-shell .notice.success{
  border: 1px solid rgba(0,128,96,.18);
  background: rgba(0,128,96,.08);
  color: #0f6b57;
  border-radius: 18px;
  padding: 14px 16px;
  font-weight: 800;
  margin-bottom: 14px;
}
.config362-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:16px 0;
}
.config362-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.config362-permission-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border:1px solid rgba(15,34,56,.10);
  background:rgba(255,255,255,.92);
  border-radius:18px;
  padding:14px;
  box-shadow:0 8px 20px rgba(15,34,56,.05);
}
.config362-permission-main h4{
  margin:0 0 6px;
  font-size:1rem;
  color:#12233f;
}
.config362-permission-main p{
  margin:0 0 8px;
  color:#657086;
  font-weight:700;
  line-height:1.3;
}
.config362-toggle{
  min-width:116px;
  border:0;
  border-radius:999px;
  padding:10px 12px;
  font-weight:900;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  box-shadow:0 8px 18px rgba(15,34,56,.10);
}
.config362-toggle.allowed{
  background:linear-gradient(135deg,#087d66,#0aa17f);
  color:#fff;
}
.config362-toggle.denied{
  background:#fff0f1;
  color:#9d1c2a;
  border:1px solid rgba(157,28,42,.18);
}
.config362-permission-row.is-denied{
  background:rgba(255,247,247,.92);
}

.config362-permission-row.has-pending-change{
  border-color:rgba(212,143,0,.32);
  background:linear-gradient(180deg,rgba(255,250,232,.94),rgba(255,255,255,.98));
}
.config362-item-confirm{
  width:100%;
  margin-top:.75rem;
  padding:.78rem .85rem;
  border:1px dashed rgba(180,126,18,.32);
  border-radius:1rem;
  background:rgba(255,248,224,.82);
  color:#334155;
  font-weight:800;
  display:flex;
  flex-direction:column;
  gap:.65rem;
}
.config362-item-buttons{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.55rem;
}
.config362-item-buttons .btn.small{
  min-height:2.35rem;
  padding:.55rem .75rem;
  font-size:.86rem;
}
.config362-item-feedback{
  width:100%;
  margin-top:.7rem;
  padding:.72rem .85rem;
  border-radius:.95rem;
  font-weight:850;
  border:1px solid rgba(15,118,110,.18);
  background:rgba(236,253,245,.9);
  color:#0f766e;
}
.config362-item-feedback.error{
  border-color:rgba(190,18,60,.18);
  background:rgba(255,241,242,.92);
  color:#be123c;
}
.form-config-chip.warn{
  color:#8a5a00;
  background:#fff7df;
  border-color:#f5d891;
}
@media (max-width: 560px){
  .config362-item-buttons{grid-template-columns:1fr;}
}
@media(max-width:640px){
  .config362-permission-row{align-items:flex-start; flex-direction:column;}
  .config362-toggle{width:100%;}
  .config362-actions .btn{width:100%;}
}
