/* ══════════════════════════════════════════════
   SPACESHIELD AI v5.2 · panels.css
   Temas visuais específicos por painel admin
   Seletores: adm-tab-btn-* · pan-iso-* · pan-bkp-*
              pan-risk-* · pan-audit-* · pan-pay-*
              pan-train-* · pan-tech-* · pan-auth-*
   Versão 1.0 · LinkedIn Ads B2B ready
══════════════════════════════════════════════ */

/* ──────────────────────────────────────────────
   VARIÁVEIS POR PAINEL
────────────────────────────────────────────── */
:root {
    --pan-iso-color:    #ffd600;     /* ISO 27001 Gold */
    --pan-iso-bg:       rgba(255,214,0,.08);
    --pan-iso-border:   rgba(255,214,0,.25);

    --pan-pentest-color:  #ef4444;     /* Pentest Red */
    --pan-pentest-bg:     rgba(239,68,68,.08);
    --pan-pentest-border: rgba(239,68,68,.25);

    --pan-ads-color:    #0a66c2;     /* LinkedIn Blue */
    --pan-ads-bg:       rgba(10,102,194,.08);
    --pan-ads-border:   rgba(10,102,194,.35);

    --pan-train-color:  #60a5fa;     /* Treinamento Blue */
    --pan-train-bg:     rgba(96,165,250,.08);
    --pan-train-border: rgba(96,165,250,.25);

    --pan-auth-color:   #34d399;     /* Autorização Green */
    --pan-auth-bg:      rgba(52,211,153,.08);
    --pan-auth-border:  rgba(52,211,153,.25);

    --pan-tech-color:   #a78bfa;     /* Tech Controls Purple */
    --pan-tech-bg:      rgba(167,139,250,.08);
    --pan-tech-border:  rgba(167,139,250,.25);

    --pan-bkp-color:    #06b6d4;     /* Backup Cyan */
    --pan-bkp-bg:       rgba(6,182,212,.08);
    --pan-bkp-border:   rgba(6,182,212,.25);

    --pan-risk-color:   #f97316;     /* Riscos Orange */
    --pan-risk-bg:      rgba(249,115,22,.08);
    --pan-risk-border:  rgba(249,115,22,.25);

    --pan-audit-color:  #f472b6;     /* Auditoria Pink */
    --pan-audit-bg:     rgba(244,114,182,.08);
    --pan-audit-border: rgba(244,114,182,.25);

    --pan-pay-color:    #4ade80;     /* Pagamentos Mint */
    --pan-pay-bg:       rgba(74,222,128,.08);
    --pan-pay-border:   rgba(74,222,128,.25);

    --pan-erp-color:    #00d4ff;     /* ERP Cyan */
    --pan-erp-bg:       rgba(0,212,255,.08);
    --pan-erp-border:   rgba(0,212,255,.25);

    --pan-etl-color:    #818cf8;     /* ETL Indigo */
    --pan-etl-bg:       rgba(129,140,248,.08);
    --pan-etl-border:   rgba(129,140,248,.25);

    --pan-ds-color:     #34d399;     /* Data Science Emerald */
    --pan-ds-bg:        rgba(52,211,153,.08);
    --pan-ds-border:    rgba(52,211,153,.25);

    --pan-datasec-color:  #4ade80;   /* Segurança de Dados · Verde Lima */
    --pan-datasec-bg:     rgba(74,222,128,.08);
    --pan-datasec-border: rgba(74,222,128,.25);

    --pan-roleai-color:  #c084fc;   /* IA Corporativa Purple */
    --pan-roleai-bg:     rgba(192,132,252,.08);
    --pan-roleai-border: rgba(192,132,252,.25);

    --pan-pend-color:    #fbbf24;   /* Pendências Amber */
    --pan-pend-bg:       rgba(251,191,36,.08);
    --pan-pend-border:   rgba(251,191,36,.25);

    --pan-nuvem-color:   #38bdf8;   /* Nuvem Sky Blue */
    --pan-nuvem-bg:      rgba(56,189,248,.08);
    --pan-nuvem-border:  rgba(56,189,248,.25);

    --pan-monetiz-color:  #facc15;   /* Monetização Gold */
    --pan-monetiz-bg:     rgba(250,204,21,.08);
    --pan-monetiz-border: rgba(250,204,21,.28);

    /* Cores dos grupos */
    --grp-sec-color:    rgba(239,68,68,.7);
    --grp-gest-color:   rgba(96,165,250,.7);
    --grp-com-color:    rgba(0,212,255,.7);
    --grp-mkt-color:    rgba(10,102,194,.8);
    --grp-ia-color:     rgba(192,132,252,.8);
}

/* ──────────────────────────────────────────────
   TAB BUTTON COLOUR IDENTIFIERS
────────────────────────────────────────────── */

/* ISO 27001 */
.adm-tab-btn-iso         { color: var(--pan-iso-color) !important; border-color: var(--pan-iso-border) !important; }
.adm-tab-btn-iso:hover   { background: var(--pan-iso-bg) !important; }
.adm-tab-btn-iso.active  { background: var(--pan-iso-bg) !important; border-color: var(--pan-iso-color) !important; box-shadow: 0 0 12px rgba(255,214,0,.2) !important; }

/* Treinamento */
.adm-tab-btn-training         { color: var(--pan-train-color) !important; border-color: var(--pan-train-border) !important; }
.adm-tab-btn-training:hover   { background: var(--pan-train-bg) !important; }
.adm-tab-btn-training.active  { background: var(--pan-train-bg) !important; border-color: var(--pan-train-color) !important; box-shadow: 0 0 12px rgba(96,165,250,.2) !important; }

/* Autorização */
.adm-tab-btn-auth         { color: var(--pan-auth-color) !important; border-color: var(--pan-auth-border) !important; }
.adm-tab-btn-auth:hover   { background: var(--pan-auth-bg) !important; }
.adm-tab-btn-auth.active  { background: var(--pan-auth-bg) !important; border-color: var(--pan-auth-color) !important; box-shadow: 0 0 12px rgba(52,211,153,.2) !important; }

/* Controles Tecnológicos */
.adm-tab-btn-tech         { color: var(--pan-tech-color) !important; border-color: var(--pan-tech-border) !important; }
.adm-tab-btn-tech:hover   { background: var(--pan-tech-bg) !important; }
.adm-tab-btn-tech.active  { background: var(--pan-tech-bg) !important; border-color: var(--pan-tech-color) !important; box-shadow: 0 0 12px rgba(167,139,250,.2) !important; }

/* Backup */
.adm-tab-btn-backup         { color: var(--pan-bkp-color) !important; border-color: var(--pan-bkp-border) !important; }
.adm-tab-btn-backup:hover   { background: var(--pan-bkp-bg) !important; }
.adm-tab-btn-backup.active  { background: var(--pan-bkp-bg) !important; border-color: var(--pan-bkp-color) !important; box-shadow: 0 0 12px rgba(6,182,212,.2) !important; }

/* Riscos */
.adm-tab-btn-risk         { color: var(--pan-risk-color) !important; border-color: var(--pan-risk-border) !important; }
.adm-tab-btn-risk:hover   { background: var(--pan-risk-bg) !important; }
.adm-tab-btn-risk.active  { background: var(--pan-risk-bg) !important; border-color: var(--pan-risk-color) !important; box-shadow: 0 0 12px rgba(249,115,22,.2) !important; }

/* Auditoria */
.adm-tab-btn-audit         { color: var(--pan-audit-color) !important; border-color: var(--pan-audit-border) !important; }
.adm-tab-btn-audit:hover   { background: var(--pan-audit-bg) !important; }
.adm-tab-btn-audit.active  { background: var(--pan-audit-bg) !important; border-color: var(--pan-audit-color) !important; box-shadow: 0 0 12px rgba(244,114,182,.2) !important; }

/* Pagamentos */
.adm-tab-btn-payments         { color: var(--pan-pay-color) !important; border-color: var(--pan-pay-border) !important; }
.adm-tab-btn-payments:hover   { background: var(--pan-pay-bg) !important; }
.adm-tab-btn-payments.active  { background: var(--pan-pay-bg) !important; border-color: var(--pan-pay-color) !important; box-shadow: 0 0 12px rgba(74,222,128,.2) !important; }

/* Pentest */
.adm-tab-btn-pentest         { color: var(--pan-pentest-color) !important; border-color: var(--pan-pentest-border) !important; }
.adm-tab-btn-pentest:hover   { background: var(--pan-pentest-bg) !important; }
.adm-tab-btn-pentest.active  { background: var(--pan-pentest-bg) !important; border-color: var(--pan-pentest-color) !important; box-shadow: 0 0 12px rgba(239,68,68,.25) !important; }

/* LinkedIn Ads B2B */
.adm-tab-btn-ads         { color: var(--pan-ads-color) !important; border-color: var(--pan-ads-border) !important; }
.adm-tab-btn-ads:hover   { background: var(--pan-ads-bg) !important; }
.adm-tab-btn-ads.active  { background: var(--pan-ads-bg) !important; border-color: var(--pan-ads-color) !important; box-shadow: 0 0 12px rgba(10,102,194,.3) !important; }

/* EmailJS · botão de atalho no painel admin */
.adm-tab-btn-emailjs         { color: #63b3ed !important; border-color: rgba(99,179,237,.3) !important; border-style: dashed !important; }
.adm-tab-btn-emailjs:hover   { background: rgba(99,179,237,.08) !important; border-style: solid !important; }
.adm-tab-btn-emailjs.ejs-configured { color: var(--green) !important; border-color: rgba(0,255,136,.3) !important; border-style: solid !important; }

/* ERP */
.adm-tab-btn-erp         { color: var(--pan-erp-color)  !important; border-color: var(--pan-erp-border)  !important; }
.adm-tab-btn-erp:hover   { background: var(--pan-erp-bg) !important; }
.adm-tab-btn-erp.active  { background: var(--pan-erp-bg) !important; border-color: var(--pan-erp-color)  !important; box-shadow: 0 0 12px rgba(0,212,255,.2) !important; }

/* ETL Pipeline */
.adm-tab-btn-etl         { color: var(--pan-etl-color)  !important; border-color: var(--pan-etl-border)  !important; }
.adm-tab-btn-etl:hover   { background: var(--pan-etl-bg) !important; }
.adm-tab-btn-etl.active  { background: var(--pan-etl-bg) !important; border-color: var(--pan-etl-color)  !important; box-shadow: 0 0 12px rgba(129,140,248,.2) !important; }

/* Data Science */
.adm-tab-btn-ds          { color: var(--pan-ds-color)   !important; border-color: var(--pan-ds-border)   !important; }
.adm-tab-btn-ds:hover    { background: var(--pan-ds-bg)  !important; }
.adm-tab-btn-ds.active   { background: var(--pan-ds-bg)  !important; border-color: var(--pan-ds-color)   !important; box-shadow: 0 0 12px rgba(52,211,153,.2) !important; }

/* Segurança de Dados */
.adm-tab-btn-datasec         { color: var(--pan-datasec-color)  !important; border-color: var(--pan-datasec-border)  !important; }
.adm-tab-btn-datasec:hover   { background: var(--pan-datasec-bg) !important; }
.adm-tab-btn-datasec.active  { background: var(--pan-datasec-bg) !important; border-color: var(--pan-datasec-color)  !important; box-shadow: 0 0 12px rgba(74,222,128,.2) !important; }

/* ══════════════════════════════════════════════
   MENU HORIZONTAL COM PAGINAÇÃO · ADMIN PANEL
   Substituição do tabbar vertical por horizontal
══════════════════════════════════════════════ */

/* Container principal */
.adm-panel-tabbar.adm-h-tabbar {
    display:        flex;
    flex-direction: column;
    gap:            0;
    padding:        0;
    background:     linear-gradient(180deg, #0a001e 0%, #07001a 100%);
    border-bottom:  2px solid var(--purple);
    box-shadow:     0 2px 15px rgba(204,0,255,0.1);
}

/* ── Barra de controles de paginação ── */
.adm-hbar-header {
    display:        flex;
    align-items:    center;
    gap:            0;
    padding:        6px 12px 6px 8px;
    border-bottom:  1px solid rgba(204,0,255,.15);
    background:     rgba(4,0,15,.6);
}

/* Setas prev/next */
.adm-hbar-arrow {
    font-family:    var(--three-d-font);
    font-size:      7px;
    padding:        5px 10px;
    background:     rgba(204,0,255,.06);
    border:         1px solid rgba(204,0,255,.3);
    color:          var(--purple);
    cursor:         pointer;
    transition:     all .1s;
    flex-shrink:    0;
    clip-path:      polygon(3px 0%, 100% 0%, calc(100% - 3px) 100%, 0% 100%);
}
.adm-hbar-arrow:hover:not(:disabled) {
    background: rgba(204,0,255,.14);
    box-shadow: var(--glow-purple);
}
.adm-hbar-arrow:disabled { opacity: .3; cursor: default; }

/* Dots / tabs de grupo */
.adm-hbar-dots {
    display:         flex;
    align-items:     center;
    gap:             4px;
    flex:            1;
    justify-content: center;
    padding:         0 10px;
}

.adm-hbar-dot {
    display:     flex;
    align-items: center;
    gap:         5px;
    font-family: var(--three-d-font);
    font-size:   6px;
    padding:     5px 10px;
    background:  transparent;
    border:      1px solid rgba(204,0,255,.2);
    color:       rgba(204,0,255,.55);
    cursor:      pointer;
    transition:  all .1s;
    white-space: nowrap;
    clip-path:   polygon(3px 0%, 100% 0%, calc(100% - 3px) 100%, 0% 100%);
}
.adm-hbar-dot:hover  {
    background:  rgba(204,0,255,.1);
    color:       var(--purple);
    border-color: rgba(204,0,255,.5);
    text-shadow: var(--glow-purple);
}
.adm-hbar-dot.active {
    background:  rgba(204,0,255,.15);
    color:       var(--purple);
    border-color: var(--purple);
    box-shadow:  var(--glow-purple);
    text-shadow: var(--glow-purple);
}

.adm-dot-icon { font-size: 12px; }
.adm-dot-lbl  { font-family: var(--three-d-font); font-size: 6px; }

/* Indicador de página "1 / 5" */
.adm-hbar-pginfo {
    font-family:    var(--three-d-font);
    font-size:      6px;
    color:          rgba(204,0,255,.5);
    letter-spacing: .1em;
    padding-left:   10px;
    flex-shrink:    0;
    text-shadow:    var(--glow-purple);
}

/* ── Área de páginas ── */
.adm-hbar-pages {
    position:       relative;
    overflow:       hidden;
}

.adm-hbar-page {
    display:        none;
    flex-direction: row;
    align-items:    center;
    gap:            0;
    padding:        8px 12px;
}
.adm-hbar-page.active { display: flex; }

/* Label do grupo dentro da página */
.adm-hbar-page-lbl {
    font-family:    var(--three-d-font);
    font-size:      6px;
    letter-spacing: .5px;
    white-space:    nowrap;
    padding:        6px 10px 6px 0;
    border-right:   1px solid rgba(204,0,255,.2);
    margin-right:   10px;
    flex-shrink:    0;
    text-transform: uppercase;
}

/* Cores por grupo */
.adm-grp-sec  { color: var(--grp-sec-color);  background: transparent; }
.adm-grp-gest { color: var(--grp-gest-color); background: transparent; }
.adm-grp-com  { color: var(--grp-com-color);  background: transparent; }
.adm-grp-mkt  { color: var(--grp-mkt-color);  background: transparent; }
.adm-grp-ia   { color: var(--grp-ia-color);   background: transparent; }

/* Container de botões da página */
.adm-hbar-btns {
    display:    flex;
    align-items: center;
    flex-wrap:  wrap;
    gap:        6px;
    flex:       1;
}

/* Botões com ícone + label horizontal */
.adm-hbar-btns .adm-tab-btn {
    display:        flex;
    align-items:    center;
    gap:            5px;
    font-family:    'Share Tech Mono', monospace;
    font-size:      10px;
    letter-spacing: .05em;
    padding:        6px 12px;
    min-height:     32px;
    border-radius:  3px !important;
    border-width:   1px !important;
    border-bottom:  1px solid !important;
    margin:         0;
    transition:     background .15s, box-shadow .15s;
    white-space:    nowrap;
}
.adm-hbar-btns .adm-tab-btn.active {
    border-bottom-width: 2px !important;
}

.adm-hbtn-icon { font-size: 14px; line-height: 1; }
.adm-hbtn-lbl  { font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }

/* Responsivo mobile — dots sem label, botões só ícone */
@media (max-width: 700px) {
    .adm-dot-lbl    { display: none; }
    .adm-hbtn-lbl   { display: none; }
    .adm-hbar-dot   { padding: 4px 6px; }
    .adm-hbar-btns .adm-tab-btn { padding: 6px 8px; min-width: 36px; }
    .adm-hbar-page  { flex-wrap: wrap; }
    .adm-hbar-page-lbl { display: none; }
    .adm-hbar-pginfo   { display: none; }
}

/* ──────────────────────────────────────────────
   PAINEL ISO 27001 · pan-iso-*
────────────────────────────────────────────── */
.pan-iso-header {
    display:         flex;
    align-items:     center;
    gap:             12px;
    padding:         12px 16px;
    background:      linear-gradient(135deg, rgba(255,214,0,.07), rgba(0,212,255,.03));
    border:          1px solid var(--pan-iso-border);
    border-radius:   8px;
    margin-bottom:   16px;
}

.pan-iso-title {
    font-family:    'Share Tech Mono', monospace;
    font-size:      14px;
    color:          var(--pan-iso-color);
    letter-spacing: 2px;
    text-shadow:    0 0 10px rgba(255,214,0,.3);
}

.pan-iso-sub {
    font-size:  9px;
    color:      var(--text3);
    margin-top: 3px;
}

.pan-iso-kpi-grid {
    display:               grid;
    grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
    gap:                   10px;
    margin-bottom:         16px;
}

.pan-iso-kpi {
    background:    var(--bg3);
    border:        1px solid var(--pan-iso-border);
    border-radius: 6px;
    padding:       12px;
    text-align:    center;
}

.pan-iso-kpi-val {
    font-family:    'Share Tech Mono', monospace;
    font-size:      24px;
    font-weight:    700;
    color:          var(--pan-iso-color);
    line-height:    1;
}

.pan-iso-kpi-lbl {
    font-size:  8px;
    color:      var(--text3);
    margin-top: 4px;
    letter-spacing: .5px;
}

.pan-iso-clause {
    background:    var(--bg3);
    border:        1px solid var(--border);
    border-left:   3px solid var(--pan-iso-color);
    border-radius: 6px;
    padding:       12px 14px;
    margin-bottom: 8px;
    transition:    border-color .2s;
}

.pan-iso-clause:hover { border-color: var(--pan-iso-border); }

.pan-iso-clause-id {
    font-family:   'Share Tech Mono', monospace;
    font-size:     10px;
    color:         var(--pan-iso-color);
    margin-bottom: 4px;
}

.pan-iso-clause-title {
    font-size:     11px;
    color:         var(--text);
    font-weight:   600;
    margin-bottom: 4px;
}

.pan-iso-clause-desc {
    font-size:   9px;
    color:       var(--text2);
    line-height: 1.5;
}

.pan-iso-status-ok    { color: var(--green);         font-family: 'Share Tech Mono', monospace; font-size: 9px; }
.pan-iso-status-warn  { color: var(--yellow);        font-family: 'Share Tech Mono', monospace; font-size: 9px; }
.pan-iso-status-fail  { color: #ef4444;              font-family: 'Share Tech Mono', monospace; font-size: 9px; }

/* ──────────────────────────────────────────────
   PAINEL BACKUP · pan-bkp-*
────────────────────────────────────────────── */
.pan-bkp-header {
    padding:       12px 16px;
    background:    linear-gradient(135deg, rgba(6,182,212,.07), rgba(0,0,0,.1));
    border:        1px solid var(--pan-bkp-border);
    border-radius: 8px;
    margin-bottom: 16px;
}

.pan-bkp-title {
    font-family:    'Share Tech Mono', monospace;
    font-size:      14px;
    color:          var(--pan-bkp-color);
    letter-spacing: 2px;
    text-shadow:    0 0 10px rgba(6,182,212,.3);
}

.pan-bkp-status-grid {
    display:               grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap:                   10px;
    margin-bottom:         16px;
}

.pan-bkp-status-card {
    background:    var(--bg3);
    border:        1px solid var(--pan-bkp-border);
    border-radius: 6px;
    padding:       12px;
}

.pan-bkp-status-label {
    font-family:    'Share Tech Mono', monospace;
    font-size:      8px;
    color:          var(--text3);
    letter-spacing: .5px;
    margin-bottom:  6px;
}

.pan-bkp-status-val {
    font-family: 'Share Tech Mono', monospace;
    font-size:   14px;
    color:       var(--pan-bkp-color);
}

.pan-bkp-job-row {
    display:        flex;
    align-items:    center;
    gap:            12px;
    padding:        8px 12px;
    background:     var(--bg3);
    border:         1px solid var(--border);
    border-left:    3px solid var(--pan-bkp-color);
    border-radius:  5px;
    margin-bottom:  6px;
    font-size:      10px;
    color:          var(--text2);
    transition:     background .15s;
}

.pan-bkp-job-row:hover { background: rgba(6,182,212,.05); }

.pan-bkp-job-name {
    font-family: 'Share Tech Mono', monospace;
    font-size:   10px;
    color:       var(--pan-bkp-color);
    flex:        1;
}

.pan-bkp-success { color: var(--green); font-family: 'Share Tech Mono', monospace; font-size: 9px; }
.pan-bkp-running { color: var(--yellow); font-family: 'Share Tech Mono', monospace; font-size: 9px; }
.pan-bkp-failed  { color: #ef4444; font-family: 'Share Tech Mono', monospace; font-size: 9px; }

/* ──────────────────────────────────────────────
   PAINEL RISCOS · pan-risk-*
────────────────────────────────────────────── */
.pan-risk-header {
    padding:       12px 16px;
    background:    linear-gradient(135deg, rgba(249,115,22,.07), rgba(0,0,0,.1));
    border:        1px solid var(--pan-risk-border);
    border-radius: 8px;
    margin-bottom: 16px;
}

.pan-risk-title {
    font-family:    'Share Tech Mono', monospace;
    font-size:      14px;
    color:          var(--pan-risk-color);
    letter-spacing: 2px;
    text-shadow:    0 0 10px rgba(249,115,22,.3);
}

.pan-risk-matrix {
    display:               grid;
    grid-template-columns: repeat(5, 1fr);
    gap:                   4px;
    margin-bottom:         16px;
}

.pan-risk-cell {
    aspect-ratio:   1;
    border-radius:  4px;
    display:        flex;
    align-items:    center;
    justify-content:center;
    font-family:    'Share Tech Mono', monospace;
    font-size:      9px;
    font-weight:    700;
    cursor:         pointer;
    transition:     transform .15s, box-shadow .15s;
    border:         1px solid rgba(0,0,0,.2);
}

.pan-risk-cell:hover { transform: scale(1.05); box-shadow: 0 4px 12px rgba(0,0,0,.3); }

.pan-risk-very-low    { background: rgba(34,197,94,.2);  color: #22c55e; }
.pan-risk-low         { background: rgba(132,204,22,.2); color: #84cc16; }
.pan-risk-medium      { background: rgba(234,179,8,.2);  color: #eab308; }
.pan-risk-high        { background: rgba(249,115,22,.2); color: #f97316; }
.pan-risk-very-high   { background: rgba(239,68,68,.2);  color: #ef4444; }
.pan-risk-critical    { background: rgba(147,51,234,.25);color: #9333ea; }

.pan-risk-row {
    display:        grid;
    grid-template-columns: 2fr 1fr 1fr 1fr 1fr 1fr;
    gap:            8px;
    align-items:    center;
    padding:        8px 12px;
    background:     var(--bg3);
    border:         1px solid var(--border);
    border-left:    3px solid var(--pan-risk-color);
    border-radius:  5px;
    margin-bottom:  6px;
    font-size:      10px;
    color:          var(--text2);
}

.pan-risk-row-head {
    font-family:    'Share Tech Mono', monospace;
    font-size:      7px;
    color:          var(--text3);
    letter-spacing: .5px;
    text-transform: uppercase;
}

/* ──────────────────────────────────────────────
   PAINEL AUDITORIA · pan-audit-*
────────────────────────────────────────────── */
.pan-audit-header {
    padding:       12px 16px;
    background:    linear-gradient(135deg, rgba(244,114,182,.07), rgba(0,0,0,.1));
    border:        1px solid var(--pan-audit-border);
    border-radius: 8px;
    margin-bottom: 16px;
}

.pan-audit-title {
    font-family:    'Share Tech Mono', monospace;
    font-size:      14px;
    color:          var(--pan-audit-color);
    letter-spacing: 2px;
    text-shadow:    0 0 10px rgba(244,114,182,.3);
}

.pan-audit-timeline {
    position:      relative;
    padding-left:  28px;
    margin-bottom: 16px;
}

.pan-audit-timeline::before {
    content:    '';
    position:   absolute;
    left:       10px;
    top:        0;
    bottom:     0;
    width:      1px;
    background: linear-gradient(to bottom, var(--pan-audit-color), transparent);
}

.pan-audit-event {
    position:      relative;
    padding:       10px 12px;
    background:    var(--bg3);
    border:        1px solid var(--border);
    border-radius: 6px;
    margin-bottom: 8px;
}

.pan-audit-event::before {
    content:       '';
    position:      absolute;
    left:          -22px;
    top:           14px;
    width:         10px;
    height:        10px;
    border-radius: 50%;
    background:    var(--pan-audit-color);
    box-shadow:    0 0 8px rgba(244,114,182,.4);
}

.pan-audit-event-time {
    font-family:   'Share Tech Mono', monospace;
    font-size:     8px;
    color:         var(--pan-audit-color);
    margin-bottom: 3px;
}

.pan-audit-event-label {
    font-size:   10px;
    color:       var(--text);
    font-weight: 600;
}

.pan-audit-event-detail {
    font-size:   9px;
    color:       var(--text2);
    margin-top:  3px;
    line-height: 1.4;
}

.pan-audit-badge-ok    { background: rgba(52,211,153,.1);  color: #34d399; border: 1px solid rgba(52,211,153,.2);  font-family: 'Share Tech Mono', monospace; font-size: 8px; padding: 2px 6px; border-radius: 2px; }
.pan-audit-badge-warn  { background: rgba(234,179,8,.1);   color: #eab308; border: 1px solid rgba(234,179,8,.2);   font-family: 'Share Tech Mono', monospace; font-size: 8px; padding: 2px 6px; border-radius: 2px; }
.pan-audit-badge-fail  { background: rgba(239,68,68,.1);   color: #ef4444; border: 1px solid rgba(239,68,68,.2);   font-family: 'Share Tech Mono', monospace; font-size: 8px; padding: 2px 6px; border-radius: 2px; }
.pan-audit-badge-info  { background: rgba(96,165,250,.1);  color: #60a5fa; border: 1px solid rgba(96,165,250,.2);  font-family: 'Share Tech Mono', monospace; font-size: 8px; padding: 2px 6px; border-radius: 2px; }

/* ──────────────────────────────────────────────
   PAINEL TREINAMENTO · pan-train-*
────────────────────────────────────────────── */
.pan-train-header {
    padding:       12px 16px;
    background:    linear-gradient(135deg, rgba(96,165,250,.07), rgba(0,0,0,.1));
    border:        1px solid var(--pan-train-border);
    border-radius: 8px;
    margin-bottom: 16px;
}

.pan-train-title {
    font-family:    'Share Tech Mono', monospace;
    font-size:      14px;
    color:          var(--pan-train-color);
    letter-spacing: 2px;
    text-shadow:    0 0 10px rgba(96,165,250,.3);
}

.pan-train-module-card {
    display:        flex;
    align-items:    flex-start;
    gap:            12px;
    padding:        12px 14px;
    background:     var(--bg3);
    border:         1px solid var(--border);
    border-left:    3px solid var(--pan-train-color);
    border-radius:  6px;
    margin-bottom:  8px;
    transition:     border-color .2s;
}

.pan-train-module-card:hover { border-color: var(--pan-train-border); }

.pan-train-module-icon {
    font-size:    20px;
    flex-shrink:  0;
    margin-top:   2px;
}

.pan-train-module-name {
    font-family:   'Share Tech Mono', monospace;
    font-size:     11px;
    color:         var(--pan-train-color);
    margin-bottom: 3px;
}

.pan-train-module-desc {
    font-size:   9px;
    color:       var(--text2);
    line-height: 1.5;
}

.pan-train-progress-bar {
    height:        5px;
    background:    rgba(0,0,0,.3);
    border-radius: 3px;
    overflow:      hidden;
    margin-top:    8px;
}

.pan-train-progress-fill {
    height:     100%;
    background: linear-gradient(90deg, var(--pan-train-color), #93c5fd);
    border-radius:3px;
    transition: width .4s ease;
}

.pan-train-pct {
    font-family:  'Share Tech Mono', monospace;
    font-size:    8px;
    color:        var(--pan-train-color);
    text-align:   right;
    margin-top:   3px;
}

/* ──────────────────────────────────────────────
   PAINEL AUTORIZAÇÃO · pan-auth-*
────────────────────────────────────────────── */
.pan-auth-header {
    padding:       12px 16px;
    background:    linear-gradient(135deg, rgba(52,211,153,.07), rgba(0,0,0,.1));
    border:        1px solid var(--pan-auth-border);
    border-radius: 8px;
    margin-bottom: 16px;
}

.pan-auth-title {
    font-family:    'Share Tech Mono', monospace;
    font-size:      14px;
    color:          var(--pan-auth-color);
    letter-spacing: 2px;
    text-shadow:    0 0 10px rgba(52,211,153,.3);
}

.pan-auth-level {
    display:        flex;
    align-items:    center;
    gap:            12px;
    padding:        10px 14px;
    background:     var(--bg3);
    border:         1px solid var(--border);
    border-left:    3px solid var(--pan-auth-color);
    border-radius:  6px;
    margin-bottom:  8px;
}

.pan-auth-level-badge {
    font-family:    'Share Tech Mono', monospace;
    font-size:      18px;
    font-weight:    700;
    color:          var(--pan-auth-color);
    width:          36px;
    text-align:     center;
    flex-shrink:    0;
}

.pan-auth-level-name {
    font-size:  10px;
    color:      var(--text);
    font-weight:600;
}

.pan-auth-level-perms {
    font-size:   9px;
    color:       var(--text2);
    margin-top:  2px;
    line-height: 1.4;
}

/* ──────────────────────────────────────────────
   PAINEL CONTROLES TECNOLÓGICOS · pan-tech-*
────────────────────────────────────────────── */
.pan-tech-header {
    padding:       12px 16px;
    background:    linear-gradient(135deg, rgba(167,139,250,.07), rgba(0,0,0,.1));
    border:        1px solid var(--pan-tech-border);
    border-radius: 8px;
    margin-bottom: 16px;
}

.pan-tech-title {
    font-family:    'Share Tech Mono', monospace;
    font-size:      14px;
    color:          var(--pan-tech-color);
    letter-spacing: 2px;
    text-shadow:    0 0 10px rgba(167,139,250,.3);
}

.pan-tech-control-row {
    display:        grid;
    grid-template-columns: 80px 1fr 80px 80px;
    gap:            10px;
    align-items:    center;
    padding:        8px 12px;
    background:     var(--bg3);
    border:         1px solid var(--border);
    border-left:    3px solid var(--pan-tech-color);
    border-radius:  5px;
    margin-bottom:  6px;
    font-size:      9px;
    color:          var(--text2);
    transition:     background .15s;
}

.pan-tech-control-row:hover { background: rgba(167,139,250,.04); }

.pan-tech-control-id {
    font-family: 'Share Tech Mono', monospace;
    font-size:   9px;
    color:       var(--pan-tech-color);
}

.pan-tech-status-impl   { color: var(--green);  font-family: 'Share Tech Mono', monospace; font-size: 8px; }
.pan-tech-status-partial{ color: var(--yellow); font-family: 'Share Tech Mono', monospace; font-size: 8px; }
.pan-tech-status-none   { color: #ef4444;       font-family: 'Share Tech Mono', monospace; font-size: 8px; }

/* ──────────────────────────────────────────────
   PAINEL PAGAMENTOS · pan-pay-*
────────────────────────────────────────────── */
.pan-pay-header {
    padding:       12px 16px;
    background:    linear-gradient(135deg, rgba(74,222,128,.07), rgba(0,0,0,.1));
    border:        1px solid var(--pan-pay-border);
    border-radius: 8px;
    margin-bottom: 16px;
}

.pan-pay-title {
    font-family:    'Share Tech Mono', monospace;
    font-size:      14px;
    color:          var(--pan-pay-color);
    letter-spacing: 2px;
    text-shadow:    0 0 10px rgba(74,222,128,.3);
}

.pan-pay-summary-grid {
    display:               grid;
    grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
    gap:                   10px;
    margin-bottom:         16px;
}

.pan-pay-summary-card {
    background:    var(--bg3);
    border:        1px solid var(--pan-pay-border);
    border-radius: 6px;
    padding:       12px;
    text-align:    center;
}

.pan-pay-summary-val {
    font-family:    'Share Tech Mono', monospace;
    font-size:      20px;
    font-weight:    700;
    color:          var(--pan-pay-color);
}

.pan-pay-summary-lbl {
    font-size:  8px;
    color:      var(--text3);
    margin-top: 4px;
    letter-spacing:.3px;
}

.pan-pay-tx-row {
    display:        grid;
    grid-template-columns: 1fr 80px 80px 80px;
    gap:            10px;
    align-items:    center;
    padding:        8px 12px;
    background:     var(--bg3);
    border:         1px solid var(--border);
    border-left:    3px solid var(--pan-pay-color);
    border-radius:  5px;
    margin-bottom:  6px;
    font-size:      9px;
    color:          var(--text2);
}

.pan-pay-status-paid     { color: var(--green);  font-family: 'Share Tech Mono', monospace; font-size: 8px; }
.pan-pay-status-pending  { color: var(--yellow); font-family: 'Share Tech Mono', monospace; font-size: 8px; }
.pan-pay-status-failed   { color: #ef4444;       font-family: 'Share Tech Mono', monospace; font-size: 8px; }
.pan-pay-status-refunded { color: #a78bfa;       font-family: 'Share Tech Mono', monospace; font-size: 8px; }

/* ──────────────────────────────────────────────
   EMAILJS CONFIG MODAL · ejs-*
────────────────────────────────────────────── */

.ejs-topbar-btn {
    font-family:    'Share Tech Mono', monospace;
    font-size:      9px;
    padding:        5px 10px;
    border-radius:  4px;
    border:         1px solid rgba(0,212,255,.2);
    background:     rgba(0,0,0,.3);
    color:          var(--text2);
    cursor:         pointer;
    display:        inline-flex;
    align-items:    center;
    gap:            5px;
    transition:     background .15s, border-color .15s, color .15s;
    letter-spacing: .5px;
}
.ejs-topbar-btn:hover { background: rgba(99,179,237,.08); border-color: rgba(99,179,237,.35); color: #63b3ed; }
.ejs-btn-ok   { border-color: rgba(0,255,136,.3) !important; color: var(--green) !important; }
.ejs-btn-ok:hover { background: rgba(0,255,136,.07) !important; }
.ejs-btn-warn { border-color: rgba(245,158,11,.3) !important; color: #f59e0b !important; }
.ejs-btn-warn:hover { background: rgba(245,158,11,.07) !important; }

.ejs-dot {
    display:       inline-block;
    width:         6px;
    height:        6px;
    border-radius: 50%;
    flex-shrink:   0;
}
.ejs-dot-ok   { background: var(--green); box-shadow: 0 0 6px rgba(0,255,136,.6); }
.ejs-dot-warn { background: #f59e0b;     box-shadow: 0 0 6px rgba(245,158,11,.6); }

.ejs-overlay {
    display:         none;
    position:        fixed;
    inset:           0;
    background:      rgba(0,0,0,.75);
    z-index:         9001;
    align-items:     center;
    justify-content: center;
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter:         blur(4px);
}
.ejs-overlay-visible { display: flex; }

.ejs-box {
    background:    var(--bg2);
    border:        1px solid rgba(99,179,237,.2);
    border-radius: 12px;
    width:         min(500px, 95vw);
    box-shadow:    0 20px 60px rgba(0,0,0,.6), 0 0 0 1px rgba(99,179,237,.06);
    overflow:      hidden;
}

.ejs-header {
    display:         flex;
    align-items:     flex-start;
    justify-content: space-between;
    padding:         18px 20px 14px;
    background:      linear-gradient(135deg, rgba(99,179,237,.06), rgba(0,0,0,.2));
    border-bottom:   1px solid rgba(99,179,237,.12);
}
.ejs-title-wrap { display: flex; align-items: flex-start; gap: 12px; }
.ejs-icon       { font-size: 24px; flex-shrink: 0; }
.ejs-title {
    font-family:    'Share Tech Mono', monospace;
    font-size:      14px;
    color:          #63b3ed;
    letter-spacing: 2px;
    text-shadow:    0 0 12px rgba(99,179,237,.3);
}
.ejs-subtitle {
    font-size:  9px;
    color:      var(--text3);
    margin-top: 3px;
    letter-spacing: .3px;
}
.ejs-close-btn {
    background: none;
    border:     none;
    color:      var(--text3);
    cursor:     pointer;
    font-size:  14px;
    padding:    2px 4px;
    transition: color .15s;
}
.ejs-close-btn:hover { color: #ef4444; }

/* ──────────────────────────────────────────────
   ABAS IA CORPORATIVA · PENDÊNCIAS · NUVEM
   adm-tab-btn-roleai · adm-tab-btn-pendencias · adm-tab-btn-nuvem
────────────────────────────────────────────── */

/* IA Corporativa */
.adm-tab-btn-roleai        { color: var(--pan-roleai-color) !important; border-color: var(--pan-roleai-border) !important; }
.adm-tab-btn-roleai:hover  { background: var(--pan-roleai-bg) !important; }
.adm-tab-btn-roleai.active { background: var(--pan-roleai-bg) !important; border-color: var(--pan-roleai-color) !important; box-shadow: 0 0 12px rgba(192,132,252,.2) !important; }

/* Pendências */
.adm-tab-btn-pendencias        { color: var(--pan-pend-color) !important; border-color: var(--pan-pend-border) !important; }
.adm-tab-btn-pendencias:hover  { background: var(--pan-pend-bg) !important; }
.adm-tab-btn-pendencias.active { background: var(--pan-pend-bg) !important; border-color: var(--pan-pend-color) !important; box-shadow: 0 0 12px rgba(251,191,36,.2) !important; }

/* Nuvem */
.adm-tab-btn-nuvem        { color: var(--pan-nuvem-color) !important; border-color: var(--pan-nuvem-border) !important; }
.adm-tab-btn-nuvem:hover  { background: var(--pan-nuvem-bg) !important; }
.adm-tab-btn-nuvem.active { background: var(--pan-nuvem-bg) !important; border-color: var(--pan-nuvem-color) !important; box-shadow: 0 0 12px rgba(56,189,248,.25) !important; }

/* Monetização */
.adm-tab-btn-monetization        { color: var(--pan-monetiz-color) !important; border-color: var(--pan-monetiz-border) !important; }
.adm-tab-btn-monetization:hover  { background: var(--pan-monetiz-bg) !important; }
.adm-tab-btn-monetization.active { background: var(--pan-monetiz-bg) !important; border-color: var(--pan-monetiz-color) !important; box-shadow: 0 0 12px rgba(250,204,21,.25) !important; }

/* Curso de Programação */
.adm-tab-btn-course        { color: #a78bfa !important; border-color: rgba(139,92,246,.30) !important; }
.adm-tab-btn-course:hover  { background: rgba(139,92,246,.12) !important; }
.adm-tab-btn-course.active { background: rgba(139,92,246,.18) !important; border-color: #a78bfa !important; box-shadow: 0 0 12px rgba(139,92,246,.28) !important; }

/* Tecnologia · Maturidade do Stack */
.adm-tab-btn-tecnologia        { color: #00d4ff !important; border-color: rgba(0,212,255,.30) !important; }
.adm-tab-btn-tecnologia:hover  { background: rgba(0,212,255,.12) !important; }
.adm-tab-btn-tecnologia.active { background: rgba(0,212,255,.18) !important; border-color: #00d4ff !important; box-shadow: 0 0 12px rgba(0,212,255,.28) !important; }

/* ──────────────────────────────────────────────
   PAINEL NUVEM · nuv-*
   Migração Cloud AWS · API Gateway + DynamoDB
────────────────────────────────────────────── */

.nuv-shell {
    display:        flex;
    flex-direction: column;
    gap:            16px;
    padding:        16px;
    min-height:     100%;
    font-family:    'Share Tech Mono', monospace;
}

/* Header */
.nuv-header {
    display:         flex;
    justify-content: space-between;
    align-items:     center;
    padding:         14px 18px;
    background:      linear-gradient(135deg, rgba(56,189,248,.08), rgba(0,212,255,.04));
    border:          1px solid var(--pan-nuvem-border);
    border-radius:   8px;
}
.nuv-brand   { font-size: 14px; color: var(--pan-nuvem-color); letter-spacing: 1.5px; }
.nuv-sub     { font-size: 9px;  color: var(--text3); margin-top: 4px; }
.nuv-header-status {
    font-size:     10px;
    padding:       5px 12px;
    border-radius: 4px;
    font-weight:   700;
    letter-spacing:.5px;
}
.nuv-status-ok   { color: #34d399; background: rgba(52,211,153,.1);  border: 1px solid rgba(52,211,153,.3); }
.nuv-status-warn { color: #fbbf24; background: rgba(251,191,36,.1);  border: 1px solid rgba(251,191,36,.3); }

/* KPI Row */
.nuv-kpi-row {
    display:   flex;
    gap:       10px;
    flex-wrap: wrap;
}
.nuv-kpi {
    flex:          1;
    min-width:     90px;
    background:    var(--bg3);
    border:        1px solid var(--border);
    border-radius: 6px;
    padding:       10px;
    text-align:    center;
}
.nuv-kpi-val { font-size: 16px; font-weight: 700; margin-bottom: 4px; }
.nuv-kpi-lbl { font-size: 8px;  color: var(--text3); letter-spacing:.5px; }
.nuv-kpi-green  { border-color: rgba(52,211,153,.3); }
.nuv-kpi-green  .nuv-kpi-val { color: #34d399; }
.nuv-kpi-yellow { border-color: rgba(251,191,36,.3); }
.nuv-kpi-yellow .nuv-kpi-val { color: #fbbf24; }
.nuv-kpi-red    { border-color: rgba(239,68,68,.3); }
.nuv-kpi-red    .nuv-kpi-val { color: #ef4444; }
.nuv-kpi-accent { border-color: rgba(0,212,255,.3); }
.nuv-kpi-accent .nuv-kpi-val { color: var(--accent); }
.nuv-kpi-gold   { border-color: rgba(255,214,0,.3); }
.nuv-kpi-gold   .nuv-kpi-val { color: var(--iso-gold, #ffd600); }
.nuv-kpi-blue   { border-color: rgba(56,189,248,.3); }
.nuv-kpi-blue   .nuv-kpi-val { color: var(--pan-nuvem-color); }
.nuv-kpi-gray   { border-color: var(--border); }
.nuv-kpi-gray   .nuv-kpi-val { color: var(--text3); }

/* Grid 2 colunas */
.nuv-grid-2col {
    display:   grid;
    grid-template-columns: 1fr 1fr;
    gap:       16px;
}
@media (max-width: 900px) { .nuv-grid-2col { grid-template-columns: 1fr; } }

.nuv-col { display: flex; flex-direction: column; gap: 12px; }

/* Section Title */
.nuv-section-title {
    font-size:     10px;
    color:         var(--pan-nuvem-color);
    letter-spacing:1.5px;
    padding-bottom:6px;
    border-bottom: 1px solid var(--pan-nuvem-border);
    margin-bottom: 4px;
}

/* Config Form */
.nuv-config-form {
    background:    var(--bg2);
    border:        1px solid var(--pan-nuvem-border);
    border-radius: 8px;
    padding:       16px;
    display:       flex;
    flex-direction:column;
    gap:           12px;
}
.nuv-field-group { display: flex; flex-direction: column; gap: 5px; }
.nuv-label { font-size: 9px; color: var(--text3); letter-spacing:.5px; }
.nuv-input {
    background:    var(--bg3);
    border:        1px solid var(--border);
    border-radius: 4px;
    color:         var(--text1);
    font-family:   'Share Tech Mono', monospace;
    font-size:     11px;
    padding:       7px 10px;
    width:         100%;
    box-sizing:    border-box;
    transition:    border-color .2s;
}
.nuv-input:focus { outline: none; border-color: var(--pan-nuvem-color); }
.nuv-input:read-only, .nuv-input:disabled { opacity: .65; cursor: not-allowed; }
.nuv-select { cursor: pointer; }
.nuv-select:disabled { opacity: .65; cursor: not-allowed; }
.nuv-lock {
    font-size:     8px;
    color:         var(--pan-nuvem-color);
    margin-left:   6px;
    letter-spacing:.3px;
}
.nuv-input-wrap { display: flex; gap: 6px; }
.nuv-input-wrap .nuv-input { flex: 1; }
.nuv-toggle-btn {
    background:    var(--bg3);
    border:        1px solid var(--border);
    border-radius: 4px;
    color:         var(--text2);
    font-size:     9px;
    padding:       0 10px;
    cursor:        pointer;
    white-space:   nowrap;
    font-family:   'Share Tech Mono', monospace;
}
.nuv-hint { font-size: 9px; color: var(--text3); }
.nuv-hint code { color: var(--pan-nuvem-color); font-family: 'Share Tech Mono', monospace; }

/* Mensagens */
.nuv-msg {
    font-size:     10px;
    padding:       8px 12px;
    border-radius: 4px;
    display:       none;
    font-family:   'Share Tech Mono', monospace;
}
.nuv-msg-ok   { background: rgba(52,211,153,.1);  color: #34d399; border: 1px solid rgba(52,211,153,.3); display: block; }
.nuv-msg-warn { background: rgba(251,191,36,.1);  color: #fbbf24; border: 1px solid rgba(251,191,36,.3); display: block; }
.nuv-msg-err  { background: rgba(239,68,68,.1);   color: #ef4444; border: 1px solid rgba(239,68,68,.3);  display: block; }
.nuv-msg-info { background: rgba(56,189,248,.1);  color: var(--pan-nuvem-color); border: 1px solid rgba(56,189,248,.3); display: block; }

/* Painel de diagnóstico avançado */
.nuv-msg-diag { background: rgba(15,15,25,.6); border: 1px solid rgba(239,68,68,.4); display: block; padding: 0; overflow: hidden; }

.nuv-diagnosis { font-family: 'Share Tech Mono', monospace; font-size: 10px; }

.nuv-diag-header {
    display:     flex;
    align-items: center;
    gap:         8px;
    padding:     10px 12px;
    background:  rgba(239,68,68,.08);
    border-bottom: 1px solid rgba(239,68,68,.2);
}
.nuv-diag-badge {
    display:       inline-block;
    padding:       2px 7px;
    border-radius: 3px;
    font-size:     9px;
    font-weight:   700;
    color:         #000;
    letter-spacing:.5px;
    flex-shrink:   0;
}
.nuv-diag-title { color: #f87171; font-size: 11px; }

.nuv-diag-detail {
    padding:    10px 12px;
    color:      #94a3b8;
    line-height:1.6;
    border-bottom: 1px solid rgba(255,255,255,.05);
}
.nuv-diag-line { margin-bottom: 2px; }

.nuv-diag-fix {
    padding:    10px 12px;
    background: rgba(30,30,50,.4);
}
.nuv-diag-fix-label {
    color:         #fbbf24;
    font-weight:   700;
    font-size:     9px;
    letter-spacing:.8px;
    margin-bottom: 8px;
}
.nuv-diag-fix-head {
    color:        #38bdf8;
    margin-top:   6px;
    margin-bottom:2px;
    font-size:    9px;
}
.nuv-diag-fix-sep  { height: 4px; }
.nuv-diag-fix-line { margin-bottom: 2px; }
.nuv-diag-fix-line code {
    color:       #86efac;
    font-family: 'Share Tech Mono', monospace;
    font-size:   10px;
    background:  rgba(134,239,172,.05);
    padding:     1px 4px;
    border-radius:2px;
    white-space: pre-wrap;
    word-break:  break-all;
}

/* Botões de ação */
.nuv-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.nuv-btn {
    font-family:   'Share Tech Mono', monospace;
    font-size:     10px;
    padding:       8px 14px;
    border-radius: 4px;
    cursor:        pointer;
    letter-spacing:.5px;
    border:        none;
    transition:    all .2s;
}
.nuv-btn:disabled { opacity: .4; cursor: not-allowed; }
.nuv-btn-save  { background: var(--pan-nuvem-color); color: #050a0f; font-weight: 700; }
.nuv-btn-save:hover:not(:disabled) { filter: brightness(1.15); }
.nuv-btn-test  { background: rgba(56,189,248,.15); color: var(--pan-nuvem-color); border: 1px solid var(--pan-nuvem-border); }
.nuv-btn-test:hover:not(:disabled)  { background: rgba(56,189,248,.25); }
.nuv-btn-clear { background: rgba(239,68,68,.1); color: #ef4444; border: 1px solid rgba(239,68,68,.25); }
.nuv-btn-clear:hover { background: rgba(239,68,68,.2); }
.nuv-btn-crud  { background: rgba(167,139,250,.12); color: #a78bfa; border: 1px solid rgba(167,139,250,.3); }
.nuv-btn-crud:hover:not(:disabled) { background: rgba(167,139,250,.22); }
.nuv-btn-views { background: rgba(52,211,153,.12); color: #34d399; border: 1px solid rgba(52,211,153,.3); }
.nuv-btn-views:hover:not(:disabled) { background: rgba(52,211,153,.22); }

.nuv-last-test { font-size: 9px; color: var(--text3); }
.nuv-ok  { color: #34d399; }
.nuv-err { color: #ef4444; }

/* Tabelas DynamoDB */
.nuv-tables-grid { display: flex; flex-direction: column; gap: 4px; }
.nuv-table-row {
    display:       flex;
    align-items:   center;
    gap:           8px;
    padding:       7px 10px;
    background:    var(--bg2);
    border:        1px solid var(--border);
    border-radius: 4px;
    font-size:     10px;
}
.nuv-table-icon  { flex-shrink: 0; font-size: 12px; }
.nuv-table-name  { color: var(--pan-nuvem-color); min-width: 160px; font-size: 9px; }
.nuv-table-desc  { color: var(--text2); flex: 1; font-size: 9px; }
.nuv-table-status{
    font-size:     8px;
    padding:       2px 7px;
    border-radius: 3px;
    font-weight:   700;
    flex-shrink:   0;
}
.nuv-t-ok    { background: rgba(56,189,248,.15); color: var(--pan-nuvem-color); border: 1px solid rgba(56,189,248,.3); }
.nuv-t-local { background: rgba(251,191,36,.1);  color: #fbbf24; border: 1px solid rgba(251,191,36,.3); }

/* Deploy Steps */
.nuv-steps { display: flex; flex-direction: column; gap: 10px; }
.nuv-step {
    background:    var(--bg2);
    border:        1px solid var(--border);
    border-left:   3px solid var(--pan-nuvem-border);
    border-radius: 0 6px 6px 0;
    padding:       10px 14px;
}
.nuv-step-header { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.nuv-step-num    {
    font-size:     11px;
    font-weight:   700;
    color:         var(--pan-nuvem-color);
    min-width:     24px;
}
.nuv-step-icon   { font-size: 14px; }
.nuv-step-title  { font-size: 11px; color: var(--text1); letter-spacing:.5px; }
.nuv-step-list {
    margin:     0;
    padding:    0 0 0 16px;
    list-style: disc;
}
.nuv-step-list li {
    font-size:    9px;
    color:        var(--text2);
    margin-bottom:4px;
    line-height:  1.5;
}
.nuv-step-list li code, .nuv-step-list li a {
    color:       var(--pan-nuvem-color);
    font-family: 'Share Tech Mono', monospace;
    font-size:   9px;
}
.nuv-step-list li a:hover { text-decoration: underline; }

/* Arquitetura Cloud */
.nuv-arch {
    background:    var(--bg2);
    border:        1px solid var(--pan-nuvem-border);
    border-radius: 8px;
    padding:       14px;
}
.nuv-arch-row {
    display:     flex;
    align-items: center;
    gap:         8px;
    flex-wrap:   wrap;
    justify-content: center;
    margin-bottom: 12px;
}
.nuv-arch-node {
    background:    var(--bg3);
    border:        1px solid var(--border);
    border-radius: 6px;
    padding:       8px 12px;
    text-align:    center;
    font-size:     10px;
    font-weight:   700;
    line-height:   1.4;
    min-width:     80px;
}
.nuv-arch-node span { font-size: 8px; font-weight: 400; color: var(--text3); display: block; }
.nuv-node-browser { border-color: rgba(192,132,252,.4); color: #c084fc; }
.nuv-node-apigw   { border-color: rgba(251,191,36,.4);  color: #fbbf24; }
.nuv-node-lambda  { border-color: rgba(255,153,0,.4);   color: #ff9900; }
.nuv-node-dynamo  { border-color: rgba(56,189,248,.4);  color: var(--pan-nuvem-color); }
.nuv-arch-arrow   { font-size: 8px; color: var(--text3); white-space: nowrap; }
.nuv-arch-notes   { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; }
.nuv-arch-note {
    font-size:     8px;
    color:         var(--text2);
    background:    var(--bg3);
    padding:       3px 8px;
    border-radius: 3px;
    border:        1px solid var(--border);
}

/* Custo */
.nuv-cost-grid { display: flex; flex-direction: column; gap: 4px; }
.nuv-cost-row {
    display:     flex;
    gap:         10px;
    padding:     7px 10px;
    background:  var(--bg2);
    border:      1px solid var(--border);
    border-radius:4px;
    font-size:   10px;
    align-items: center;
}
.nuv-cost-svc  { min-width: 110px; color: var(--text1); font-size: 9px; font-weight: 700; }
.nuv-cost-val  { flex: 1; color: var(--pan-nuvem-color); }
.nuv-cost-note { font-size: 8px; color: var(--text3); }
.nuv-cost-total { background: rgba(56,189,248,.05); border-color: var(--pan-nuvem-border); font-weight: 700; }

/* Footer */
.nuv-footer {
    text-align:    center;
    font-size:     8px;
    color:         var(--text3);
    padding-top:   12px;
    border-top:    1px solid var(--border);
    letter-spacing:.5px;
}

.ejs-status-bar {
    padding:       10px 20px;
    background:    rgba(0,0,0,.2);
    border-bottom: 1px solid var(--border);
    font-family:   'Share Tech Mono', monospace;
    font-size:     9px;
    letter-spacing:.3px;
}
.ejs-status-ok   { color: var(--green); }
.ejs-status-warn { color: #f59e0b; }

.ejs-body { padding: 16px 20px 20px; }

.ejs-info-block {
    background:    var(--bg3);
    border:        1px solid var(--border);
    border-radius: 6px;
    padding:       10px 14px;
    margin-bottom: 14px;
}
.ejs-info-row {
    font-size:   9px;
    color:       var(--text2);
    line-height: 1.7;
}
.ejs-link { color: #63b3ed; text-decoration: none; }
.ejs-link:hover { text-decoration: underline; }

.ejs-field-group { margin-bottom: 10px; }
.ejs-field-label {
    font-family:    'Share Tech Mono', monospace;
    font-size:      8px;
    color:          var(--text3);
    letter-spacing: 1px;
    margin-bottom:  5px;
    display:        block;
}
.ejs-input-wrap {
    display: flex;
    gap:     8px;
}
.ejs-input {
    flex:          1;
    background:    var(--bg3);
    border:        1px solid rgba(99,179,237,.2);
    border-radius: 5px;
    padding:       8px 12px;
    color:         var(--text);
    font-family:   'Share Tech Mono', monospace;
    font-size:     11px;
    outline:       none;
    transition:    border-color .15s;
}
.ejs-input:focus { border-color: rgba(99,179,237,.5); }
.ejs-input::placeholder { color: var(--text3); }
.ejs-toggle-btn {
    font-family:  'Share Tech Mono', monospace;
    font-size:    8px;
    padding:      0 10px;
    border-radius:5px;
    border:       1px solid var(--border);
    background:   rgba(0,0,0,.2);
    color:        var(--text3);
    cursor:       pointer;
    white-space:  nowrap;
    transition:   background .15s, color .15s;
}
.ejs-toggle-btn:hover { background: rgba(99,179,237,.08); color: #63b3ed; }

.ejs-msg {
    font-family:    'Share Tech Mono', monospace;
    font-size:      9px;
    min-height:     18px;
    margin-bottom:  12px;
    letter-spacing: .2px;
}
.ejs-msg-ok   { color: var(--green); }
.ejs-msg-warn { color: #f59e0b; }
.ejs-msg-err  { color: #ef4444; }

.ejs-actions { display: flex; gap: 10px; margin-bottom: 16px; }

.ejs-save-btn {
    flex:           1;
    font-family:    'Share Tech Mono', monospace;
    font-size:      10px;
    padding:        10px 14px;
    border-radius:  6px;
    border:         1px solid rgba(99,179,237,.3);
    background:     rgba(99,179,237,.1);
    color:          #63b3ed;
    cursor:         pointer;
    letter-spacing: .5px;
    transition:     background .15s, border-color .15s;
}
.ejs-save-btn:hover    { background: rgba(99,179,237,.18); border-color: #63b3ed; }
.ejs-save-btn:disabled { opacity: .5; cursor: not-allowed; }

.ejs-clear-btn {
    font-family:  'Share Tech Mono', monospace;
    font-size:    9px;
    padding:      10px 14px;
    border-radius:6px;
    border:       1px solid rgba(239,68,68,.25);
    background:   rgba(239,68,68,.07);
    color:        #ef4444;
    cursor:       pointer;
    transition:   background .15s, border-color .15s;
}
.ejs-clear-btn:hover { background: rgba(239,68,68,.15); border-color: rgba(239,68,68,.5); }

.ejs-footer {
    font-size:      8px;
    color:          var(--text3);
    text-align:     center;
    letter-spacing: .3px;
    padding-top:    4px;
    border-top:     1px solid var(--border);
}

/* ──────────────────────────────────────────────
   CLAUDE KEY MODAL · gk-*
────────────────────────────────────────────── */

/* Botão no topbar */
.gk-topbar-btn {
    font-family:    'Share Tech Mono', monospace;
    font-size:      9px;
    padding:        5px 10px;
    border-radius:  4px;
    border:         1px solid rgba(0,212,255,.2);
    background:     rgba(0,0,0,.3);
    color:          var(--text2);
    cursor:         pointer;
    display:        inline-flex;
    align-items:    center;
    gap:            5px;
    transition:     background .15s, border-color .15s, color .15s;
    letter-spacing: .5px;
}
.gk-topbar-btn:hover { background: rgba(0,212,255,.08); border-color: rgba(0,212,255,.35); color: var(--accent); }
.gk-btn-ok   { border-color: rgba(0,255,136,.3) !important; color: var(--green) !important; }
.gk-btn-ok:hover { background: rgba(0,255,136,.07) !important; }
.gk-btn-warn { border-color: rgba(255,214,0,.3) !important; color: #ffd600 !important; }
.gk-btn-warn:hover { background: rgba(255,214,0,.07) !important; }

/* Dot indicator */
.gk-dot {
    display:       inline-block;
    width:         6px;
    height:        6px;
    border-radius: 50%;
    flex-shrink:   0;
}
.gk-dot-ok   { background: var(--green); box-shadow: 0 0 6px rgba(0,255,136,.6); }
.gk-dot-warn { background: #ffd600;     box-shadow: 0 0 6px rgba(255,214,0,.6); }

/* Overlay */
.gk-overlay {
    display:         none;
    position:        fixed;
    inset:           0;
    background:      rgba(0,0,0,.75);
    z-index:         9000;
    align-items:     center;
    justify-content: center;
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
}
.gk-overlay-visible { display: flex; }

/* Box */
.gk-box {
    background:    var(--bg2);
    border:        1px solid rgba(0,212,255,.2);
    border-radius: 12px;
    width:         min(480px, 95vw);
    box-shadow:    0 20px 60px rgba(0,0,0,.6), 0 0 0 1px rgba(0,212,255,.06);
    overflow:      hidden;
}

/* Header */
.gk-header {
    display:         flex;
    align-items:     flex-start;
    justify-content: space-between;
    padding:         18px 20px 14px;
    background:      linear-gradient(135deg, rgba(0,212,255,.06), rgba(0,0,0,.2));
    border-bottom:   1px solid rgba(0,212,255,.1);
}
.gk-title-wrap { display: flex; align-items: flex-start; gap: 12px; }
.gk-icon { font-size: 24px; flex-shrink: 0; }
.gk-title {
    font-family:    'Share Tech Mono', monospace;
    font-size:      14px;
    color:          var(--accent);
    letter-spacing: 2px;
    text-shadow:    0 0 12px rgba(0,212,255,.3);
}
.gk-subtitle {
    font-size:  9px;
    color:      var(--text3);
    margin-top: 3px;
    letter-spacing: .3px;
}
.gk-close-btn {
    background:  none;
    border:      none;
    color:       var(--text3);
    cursor:      pointer;
    font-size:   14px;
    padding:     2px 4px;
    line-height: 1;
    transition:  color .15s;
}
.gk-close-btn:hover { color: #ef4444; }

/* Status bar */
.gk-status-bar {
    padding:    10px 20px;
    background: rgba(0,0,0,.2);
    border-bottom: 1px solid var(--border);
    font-family: 'Share Tech Mono', monospace;
    font-size:  9px;
    letter-spacing: .3px;
}
.gk-status-ok   { color: var(--green); }
.gk-status-warn { color: #ffd600; }

/* Body */
.gk-body { padding: 18px 20px 20px; }

.gk-info-block {
    background:    var(--bg3);
    border:        1px solid var(--border);
    border-radius: 6px;
    padding:       10px 14px;
    margin-bottom: 16px;
}
.gk-info-row {
    font-size:   9px;
    color:       var(--text2);
    line-height: 1.7;
}
.gk-link {
    color:           var(--accent);
    text-decoration: none;
}
.gk-link:hover { text-decoration: underline; }

.gk-field-label {
    font-family:    'Share Tech Mono', monospace;
    font-size:      8px;
    color:          var(--text3);
    letter-spacing: 1px;
    margin-bottom:  6px;
}

.gk-input-wrap {
    display:     flex;
    gap:         8px;
    margin-bottom: 10px;
}
.gk-input {
    flex:          1;
    background:    var(--bg3);
    border:        1px solid rgba(0,212,255,.2);
    border-radius: 5px;
    padding:       9px 12px;
    color:         var(--text);
    font-family:   'Share Tech Mono', monospace;
    font-size:     11px;
    outline:       none;
    transition:    border-color .15s;
}
.gk-input:focus { border-color: rgba(0,212,255,.5); }
.gk-input::placeholder { color: var(--text3); }

.gk-toggle-btn {
    font-family:  'Share Tech Mono', monospace;
    font-size:    8px;
    padding:      0 10px;
    border-radius:5px;
    border:       1px solid var(--border);
    background:   rgba(0,0,0,.2);
    color:        var(--text3);
    cursor:       pointer;
    white-space:  nowrap;
    transition:   background .15s, color .15s;
}
.gk-toggle-btn:hover { background: rgba(0,212,255,.08); color: var(--accent); }

/* Mensagem de feedback */
.gk-msg {
    font-family:    'Share Tech Mono', monospace;
    font-size:      9px;
    min-height:     18px;
    margin-bottom:  12px;
    letter-spacing: .2px;
}
.gk-msg-ok   { color: var(--green); }
.gk-msg-warn { color: #ffd600; }
.gk-msg-err  { color: #ef4444; }

/* Ações */
.gk-actions { display: flex; gap: 10px; margin-bottom: 16px; }

.gk-save-btn {
    flex:           1;
    font-family:    'Share Tech Mono', monospace;
    font-size:      10px;
    padding:        10px 14px;
    border-radius:  6px;
    border:         1px solid rgba(0,212,255,.3);
    background:     rgba(0,212,255,.1);
    color:          var(--accent);
    cursor:         pointer;
    letter-spacing: .5px;
    transition:     background .15s, border-color .15s;
}
.gk-save-btn:hover    { background: rgba(0,212,255,.18); border-color: var(--accent); }
.gk-save-btn:disabled { opacity: .5; cursor: not-allowed; }

.gk-clear-btn {
    font-family:  'Share Tech Mono', monospace;
    font-size:    9px;
    padding:      10px 14px;
    border-radius:6px;
    border:       1px solid rgba(239,68,68,.25);
    background:   rgba(239,68,68,.07);
    color:        #ef4444;
    cursor:       pointer;
    transition:   background .15s, border-color .15s;
}
.gk-clear-btn:hover { background: rgba(239,68,68,.15); border-color: rgba(239,68,68,.5); }

/* Footer */
.gk-footer {
    font-size:      8px;
    color:          var(--text3);
    text-align:     center;
    letter-spacing: .3px;
    padding-top:    4px;
    border-top:     1px solid var(--border);
}

/* ──────────────────────────────────────────────
   PAINEL PENTEST · pan-pentest-*
────────────────────────────────────────────── */
.pan-pentest-header {
    padding:       12px 16px;
    background:    linear-gradient(135deg, rgba(239,68,68,.07), rgba(0,0,0,.1));
    border:        1px solid var(--pan-pentest-border);
    border-radius: 8px;
    margin-bottom: 16px;
}

.pan-pentest-title {
    font-family:    'Share Tech Mono', monospace;
    font-size:      14px;
    color:          var(--pan-pentest-color);
    letter-spacing: 2px;
    text-shadow:    0 0 10px rgba(239,68,68,.35);
}

.pan-pentest-sub {
    font-size:  9px;
    color:      var(--text3);
    margin-top: 3px;
}

.pan-pentest-phase-card {
    display:        flex;
    align-items:    flex-start;
    gap:            12px;
    padding:        12px 14px;
    background:     var(--bg3);
    border:         1px solid var(--border);
    border-left:    3px solid var(--pan-pentest-color);
    border-radius:  6px;
    margin-bottom:  8px;
    transition:     border-color .2s, background .15s;
    cursor:         pointer;
}

.pan-pentest-phase-card:hover {
    background:   rgba(239,68,68,.04);
    border-color: var(--pan-pentest-border);
}

.pan-pentest-phase-icon {
    font-size:   20px;
    flex-shrink: 0;
    margin-top:  2px;
}

.pan-pentest-phase-num {
    font-family:   'Share Tech Mono', monospace;
    font-size:     8px;
    color:         var(--pan-pentest-color);
    margin-bottom: 2px;
    letter-spacing: .5px;
}

.pan-pentest-phase-name {
    font-family:   'Share Tech Mono', monospace;
    font-size:     11px;
    color:         var(--text);
    font-weight:   600;
    margin-bottom: 4px;
}

.pan-pentest-phase-desc {
    font-size:   9px;
    color:       var(--text2);
    line-height: 1.5;
}

.pan-pentest-tool-grid {
    display:               grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap:                   8px;
    margin-bottom:         16px;
}

.pan-pentest-tool-card {
    background:    var(--bg3);
    border:        1px solid rgba(239,68,68,.15);
    border-radius: 6px;
    padding:       10px 12px;
    transition:    border-color .2s, background .15s;
}

.pan-pentest-tool-card:hover {
    background:   rgba(239,68,68,.05);
    border-color: var(--pan-pentest-border);
}

.pan-pentest-tool-name {
    font-family:   'Share Tech Mono', monospace;
    font-size:     10px;
    color:         var(--pan-pentest-color);
    margin-bottom: 4px;
}

.pan-pentest-tool-cat {
    font-size:      8px;
    color:          var(--text3);
    letter-spacing: .3px;
}

.pan-pentest-framework-row {
    display:        flex;
    align-items:    center;
    gap:            12px;
    padding:        10px 14px;
    background:     var(--bg3);
    border:         1px solid var(--border);
    border-left:    3px solid #f97316;
    border-radius:  5px;
    margin-bottom:  6px;
    font-size:      10px;
    color:          var(--text2);
    transition:     background .15s;
}

.pan-pentest-framework-row:hover { background: rgba(249,115,22,.04); }

.pan-pentest-framework-name {
    font-family: 'Share Tech Mono', monospace;
    font-size:   10px;
    color:       #f97316;
    flex:        1;
}

.pan-pentest-lab-card {
    background:    var(--bg3);
    border:        1px solid rgba(239,68,68,.2);
    border-radius: 8px;
    padding:       14px 16px;
    margin-bottom: 10px;
}

.pan-pentest-lab-title {
    font-family:   'Share Tech Mono', monospace;
    font-size:     11px;
    color:         var(--pan-pentest-color);
    margin-bottom: 6px;
}

.pan-pentest-lab-desc {
    font-size:     9px;
    color:         var(--text2);
    line-height:   1.5;
    margin-bottom: 10px;
}

.pan-pentest-cvss-bar {
    height:        8px;
    border-radius: 4px;
    overflow:      hidden;
    background:    rgba(0,0,0,.3);
    margin-top:    4px;
}

.pan-pentest-cvss-fill {
    height:        100%;
    border-radius: 4px;
    transition:    width .4s ease;
}

.pan-pentest-cvss-none     { background: #6b7280; }
.pan-pentest-cvss-low      { background: #22c55e; }
.pan-pentest-cvss-medium   { background: #eab308; }
.pan-pentest-cvss-high     { background: #f97316; }
.pan-pentest-cvss-critical { background: #ef4444; }

.pan-pentest-status-ok      { color: var(--green);  font-family: 'Share Tech Mono', monospace; font-size: 8px; }
.pan-pentest-status-warn    { color: var(--yellow); font-family: 'Share Tech Mono', monospace; font-size: 8px; }
.pan-pentest-status-danger  { color: #ef4444;       font-family: 'Share Tech Mono', monospace; font-size: 8px; }

/* ──────────────────────────────────────────────
   PAINEL LINKEDIN ADS B2B · pan-ads-*
────────────────────────────────────────────── */
.pan-ads-header {
    padding:       12px 16px;
    background:    linear-gradient(135deg, rgba(10,102,194,.09), rgba(0,0,0,.1));
    border:        1px solid var(--pan-ads-border);
    border-radius: 8px;
    margin-bottom: 16px;
    display:       flex;
    align-items:   center;
    gap:           12px;
}

.pan-ads-title {
    font-family:    'Share Tech Mono', monospace;
    font-size:      14px;
    color:          var(--pan-ads-color);
    letter-spacing: 2px;
    text-shadow:    0 0 10px rgba(10,102,194,.4);
}

.pan-ads-sub {
    font-size:  9px;
    color:      var(--text3);
    margin-top: 3px;
}

.pan-ads-kpi-grid {
    display:               grid;
    grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
    gap:                   10px;
    margin-bottom:         16px;
}

.pan-ads-kpi {
    background:    var(--bg3);
    border:        1px solid var(--pan-ads-border);
    border-radius: 6px;
    padding:       12px;
    text-align:    center;
}

.pan-ads-kpi-val {
    font-family: 'Share Tech Mono', monospace;
    font-size:   22px;
    font-weight: 700;
    color:       var(--pan-ads-color);
    line-height: 1;
}

.pan-ads-kpi-lbl {
    font-size:  8px;
    color:      var(--text3);
    margin-top: 4px;
    letter-spacing: .3px;
}

.pan-ads-campaign-row {
    display:        grid;
    grid-template-columns: 2fr 80px 80px 80px 60px;
    gap:            10px;
    align-items:    center;
    padding:        10px 12px;
    background:     var(--bg3);
    border:         1px solid var(--border);
    border-left:    3px solid var(--pan-ads-color);
    border-radius:  5px;
    margin-bottom:  6px;
    font-size:      9px;
    color:          var(--text2);
    transition:     background .15s;
}

.pan-ads-campaign-row:hover { background: rgba(10,102,194,.05); }

.pan-ads-campaign-name {
    font-family: 'Share Tech Mono', monospace;
    font-size:   10px;
    color:       var(--pan-ads-color);
}

.pan-ads-audience-chip {
    display:       inline-block;
    font-family:   'Share Tech Mono', monospace;
    font-size:     7px;
    color:         var(--pan-ads-color);
    background:    var(--pan-ads-bg);
    border:        1px solid var(--pan-ads-border);
    border-radius: 3px;
    padding:       2px 6px;
    margin:        2px 2px 0 0;
}

.pan-ads-status-active   { color: var(--green);  font-family: 'Share Tech Mono', monospace; font-size: 8px; }
.pan-ads-status-paused   { color: var(--yellow); font-family: 'Share Tech Mono', monospace; font-size: 8px; }
.pan-ads-status-ended    { color: var(--text3);  font-family: 'Share Tech Mono', monospace; font-size: 8px; }

/* ──────────────────────────────────────────────
   SHARED PANEL UTILITIES
────────────────────────────────────────────── */
.pan-section-title {
    font-family:    'Share Tech Mono', monospace;
    font-size:      10px;
    color:          var(--text2);
    letter-spacing: 2px;
    margin:         16px 0 10px;
    padding-bottom: 8px;
    border-bottom:  1px solid var(--border);
    display:        flex;
    align-items:    center;
    gap:            8px;
}

.pan-section-title::before {
    content:    '▶';
    color:      var(--accent);
    font-size:  8px;
}

.pan-empty-state {
    text-align:  center;
    padding:     40px 20px;
    font-size:   10px;
    color:       var(--text3);
    font-family: 'Share Tech Mono', monospace;
    letter-spacing: .5px;
}

.pan-action-btn {
    font-family:    'Share Tech Mono', monospace;
    font-size:      9px;
    padding:        6px 14px;
    border-radius:  4px;
    cursor:         pointer;
    border:         1px solid var(--border);
    background:     rgba(0,0,0,.2);
    color:          var(--text2);
    transition:     background .15s, color .15s, border-color .15s;
    letter-spacing: .3px;
}

.pan-action-btn:hover {
    background:   rgba(0,212,255,.1);
    color:        var(--accent);
    border-color: rgba(0,212,255,.3);
}

.pan-action-btn-primary {
    background:   rgba(0,212,255,.12);
    color:        var(--accent);
    border-color: rgba(0,212,255,.35);
}

.pan-action-btn-primary:hover {
    background:   rgba(0,212,255,.2);
    border-color: var(--accent);
}

.pan-action-btn-danger {
    background:   rgba(239,68,68,.1);
    color:        #ef4444;
    border-color: rgba(239,68,68,.3);
}

.pan-action-btn-danger:hover {
    background:   rgba(239,68,68,.2);
    border-color: #ef4444;
}

/* ══════════════════════════════════════════════
   DECLARAÇÃO DE APLICABILIDADE · SoA · ISO 27001
   soa-*
══════════════════════════════════════════════ */

.soa-section {
    margin-top:    20px;
    margin-bottom: 20px;
}

.soa-header-bar {
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    flex-wrap:       wrap;
    gap:             10px;
    padding:         10px 14px;
    background:      rgba(255,214,0,.04);
    border:          1px solid rgba(255,214,0,.2);
    border-radius:   6px;
    margin-bottom:   12px;
}

.soa-header-info {
    display:     flex;
    align-items: center;
    gap:         10px;
    flex-wrap:   wrap;
}

.soa-norm-badge {
    font-family:    'Share Tech Mono', monospace;
    font-size:      9px;
    padding:        3px 9px;
    border-radius:  3px;
    background:     rgba(255,214,0,.15);
    color:          #ffd600;
    border:         1px solid rgba(255,214,0,.4);
    letter-spacing: 1px;
    white-space:    nowrap;
}

.soa-header-txt {
    font-size:  9px;
    color:      var(--text3);
    font-family:'Share Tech Mono', monospace;
}

/* KPIs */
.soa-kpi-row {
    display:               grid;
    grid-template-columns: repeat(5, 1fr);
    gap:                   8px;
    margin-bottom:         12px;
}

.soa-kpi {
    display:       flex;
    flex-direction:column;
    align-items:   center;
    padding:       10px;
    background:    var(--bg3);
    border:        1px solid var(--border);
    border-radius: 6px;
    text-align:    center;
    gap:           4px;
}

.soa-kpi-val {
    font-family: 'Share Tech Mono', monospace;
    font-size:   22px;
    font-weight: 700;
    line-height: 1;
}

.soa-kpi-lbl {
    font-size:      8px;
    color:          var(--text3);
    letter-spacing: .5px;
    font-family:    'Share Tech Mono', monospace;
}

/* Barra de progresso */
.soa-progress-wrap {
    margin-bottom: 12px;
}

.soa-progress-bar {
    height:        6px;
    background:    var(--bg4);
    border-radius: 3px;
    margin-bottom: 5px;
    overflow:      hidden;
}

.soa-progress-fill {
    height:           100%;
    border-radius:    3px;
    background:       linear-gradient(90deg, #ffd600, #00ff88);
    transition:       width .6s ease;
}

.soa-progress-label {
    font-family:    'Share Tech Mono', monospace;
    font-size:      9px;
    color:          var(--text3);
    text-align:     center;
    letter-spacing: .3px;
}

/* Filtros */
.soa-filters {
    display:     flex;
    flex-wrap:   wrap;
    gap:         10px;
    align-items: center;
    margin-bottom: 10px;
    padding:     8px 10px;
    background:  var(--bg3);
    border:      1px solid var(--border);
    border-radius: 5px;
}

.soa-filter-group {
    display:     flex;
    align-items: center;
    gap:         4px;
    flex-wrap:   wrap;
}

.soa-filter-label {
    font-family:    'Share Tech Mono', monospace;
    font-size:      8px;
    color:          var(--text3);
    letter-spacing: .5px;
    margin-right:   4px;
}

.soa-filter-btn {
    font-family:  'Share Tech Mono', monospace;
    font-size:    8px;
    padding:      3px 8px;
    border-radius:3px;
    border:       1px solid var(--border);
    background:   var(--bg4);
    color:        var(--text3);
    cursor:       pointer;
    transition:   background .15s, color .15s, border-color .15s;
    letter-spacing: .3px;
}

.soa-filter-btn:hover,
.soa-filter-btn.active {
    background:   rgba(255,214,0,.12);
    color:        #ffd600;
    border-color: rgba(255,214,0,.4);
}

.soa-export-btn {
    font-family:    'Share Tech Mono', monospace;
    font-size:      9px;
    padding:        5px 12px;
    border-radius:  4px;
    border:         1px solid rgba(0,255,136,.3);
    background:     rgba(0,255,136,.07);
    color:          var(--green);
    cursor:         pointer;
    transition:     background .15s;
    letter-spacing: .5px;
    margin-left:    auto;
    white-space:    nowrap;
}

.soa-export-btn:hover { background: rgba(0,255,136,.16); }

/* Tabela */
.soa-table-wrap {
    overflow-x:   auto;
    border:       1px solid var(--border);
    border-radius:6px;
}

.soa-table {
    width:           100%;
    border-collapse: collapse;
    font-size:       9px;
    font-family:     'Share Tech Mono', monospace;
}

.soa-table thead tr {
    background:    rgba(255,214,0,.06);
    border-bottom: 1px solid rgba(255,214,0,.2);
}

.soa-table th {
    padding:        7px 10px;
    text-align:     left;
    font-size:      8px;
    color:          #ffd600;
    letter-spacing: .8px;
    white-space:    nowrap;
    font-weight:    600;
}

.soa-table td {
    padding:       6px 10px;
    border-bottom: 1px solid rgba(255,255,255,.04);
    vertical-align:middle;
    color:         var(--text2);
}

.soa-table tr:last-child td { border-bottom: none; }

.soa-row-impl    { cursor: pointer; transition: background .15s; }
.soa-row-pending { cursor: pointer; transition: background .15s; }
.soa-row-na      { cursor: pointer; transition: background .15s; opacity: .65; }

.soa-row-impl:hover    { background: rgba(0,255,136,.04); }
.soa-row-pending:hover { background: rgba(255,140,0,.04); }
.soa-row-na:hover      { background: rgba(255,255,255,.03); opacity: .8; }

.soa-id {
    font-family:  'Share Tech Mono', monospace;
    font-size:    9px;
    color:        #ffd600;
    white-space:  nowrap;
    font-weight:  600;
}

.soa-ctrl-title {
    color:      var(--text1);
    max-width:  240px;
}

.soa-evidence {
    font-size:  8px;
    color:      var(--text3);
    max-width:  260px;
    overflow:   hidden;
    text-overflow: ellipsis;
    white-space:nowrap;
}

.soa-risk {
    font-size:  8px;
    font-weight:700;
    white-space:nowrap;
}

/* Badges de status */
.soa-badge {
    font-family:  'Share Tech Mono', monospace;
    font-size:    7px;
    padding:      2px 6px;
    border-radius:2px;
    display:      inline-block;
    white-space:  nowrap;
    letter-spacing: .5px;
}

.soa-impl    { background: rgba(0,255,136,.12); color: #00ff88;  border: 1px solid rgba(0,255,136,.3); }
.soa-pending { background: rgba(255,140,0,.12); color: #ff8c00;  border: 1px solid rgba(255,140,0,.3); }
.soa-na      { background: rgba(90,90,90,.15);  color: #607d8b;  border: 1px solid rgba(90,90,90,.3); }
.soa-yes     { background: rgba(0,212,255,.1);  color: var(--accent); border: 1px solid rgba(0,212,255,.3); }
.soa-no      { background: rgba(90,90,90,.1);   color: #607d8b;  border: 1px solid rgba(90,90,90,.25); }

.soa-type-badge {
    font-family:  'Share Tech Mono', monospace;
    font-size:    7px;
    padding:      2px 6px;
    border-radius:2px;
    border:       1px solid;
    display:      inline-block;
    letter-spacing: .5px;
}

/* ══════════════════════════════════════════════
   CLÁUSULAS 4–10 · clause-*
══════════════════════════════════════════════ */

.iso-clause-section { margin-top: 20px; margin-bottom: 4px; }

.clause-progress-bar-wrap {
    display:       flex;
    align-items:   center;
    gap:           10px;
    margin-bottom: 12px;
}

.clause-progress-bar {
    flex:          1;
    height:        5px;
    background:    var(--bg4);
    border-radius: 3px;
    overflow:      hidden;
}

.clause-progress-fill {
    height:        100%;
    border-radius: 3px;
    background:    linear-gradient(90deg, #ffd600, #00ff88);
    transition:    width .6s ease;
}

.clause-progress-label {
    font-family:  'Share Tech Mono', monospace;
    font-size:    9px;
    color:        var(--text3);
    white-space:  nowrap;
}

.clause-card {
    border:        1px solid var(--border);
    border-left:   3px solid rgba(255,214,0,.4);
    border-radius: 6px;
    margin-bottom: 8px;
    overflow:      hidden;
}

.clause-card.clause-done { border-left-color: var(--green); }

.clause-card-header {
    display:     flex;
    align-items: center;
    gap:         10px;
    padding:     9px 14px;
    background:  rgba(255,214,0,.04);
    flex-wrap:   wrap;
}

.clause-card.clause-done .clause-card-header { background: rgba(0,255,136,.04); }

.clause-icon { font-size: 14px; }

.clause-num {
    font-family:    'Share Tech Mono', monospace;
    font-size:      9px;
    color:          #ffd600;
    letter-spacing: 1px;
    font-weight:    700;
}

.clause-card.clause-done .clause-num { color: var(--green); }

.clause-title {
    flex:      1;
    font-size: 10px;
    color:     var(--text1);
}

.clause-progress-chip {
    font-family:  'Share Tech Mono', monospace;
    font-size:    8px;
    padding:      2px 8px;
    border-radius:3px;
    background:   rgba(255,214,0,.1);
    color:        #ffd600;
    border:       1px solid rgba(255,214,0,.3);
}

.clause-progress-chip.done {
    background: rgba(0,255,136,.1);
    color:      var(--green);
    border-color:rgba(0,255,136,.3);
}

.clause-subs { padding: 8px 14px 10px; }

.clause-sub {
    display:       flex;
    gap:           10px;
    align-items:   flex-start;
    padding:       6px 0;
    border-bottom: 1px solid rgba(255,255,255,.04);
}

.clause-sub:last-child { border-bottom: none; }

.clause-sub-check {
    font-family:  'Share Tech Mono', monospace;
    font-size:    10px;
    color:        var(--text3);
    flex-shrink:  0;
    width:        14px;
    margin-top:   1px;
}

.clause-sub.done .clause-sub-check { color: var(--green); }

.clause-sub-body  { flex: 1; }

.clause-sub-id {
    font-family:  'Share Tech Mono', monospace;
    font-size:    8px;
    color:        var(--accent);
    margin-bottom:2px;
}

.clause-sub-req {
    font-size:    10px;
    color:        var(--text1);
    margin-bottom:3px;
}

.clause-sub-evidence {
    font-size:  8px;
    color:      var(--text3);
    line-height:1.5;
}

/* ══════════════════════════════════════════════
   RISK REGISTER · rreg-*
══════════════════════════════════════════════ */

.rreg-kpi-row {
    display:               grid;
    grid-template-columns: repeat(6, 1fr);
    gap:                   8px;
    margin-bottom:         14px;
}

.rreg-kpi {
    display:       flex;
    flex-direction:column;
    align-items:   center;
    padding:       9px;
    background:    var(--bg3);
    border:        1px solid var(--border);
    border-radius: 5px;
    text-align:    center;
    gap:           3px;
}

.rreg-kpi-val {
    font-family: 'Share Tech Mono', monospace;
    font-size:   20px;
    font-weight: 700;
    line-height: 1;
}

.rreg-kpi-lbl {
    font-size:      7px;
    color:          var(--text3);
    letter-spacing: .5px;
    font-family:    'Share Tech Mono', monospace;
}

/* Matriz 5×5 */
.rreg-matrix-wrap {
    margin-bottom: 14px;
    padding:       12px;
    background:    var(--bg3);
    border:        1px solid var(--border);
    border-radius: 6px;
}

.rreg-matrix {
    display:               grid;
    grid-template-columns: repeat(5, 1fr);
    gap:                   3px;
    margin-bottom:         8px;
}

.rreg-matrix-cell {
    border:        1px solid;
    border-radius: 3px;
    padding:       8px 4px;
    text-align:    center;
    min-height:    44px;
    display:       flex;
    flex-direction:column;
    align-items:   center;
    justify-content:center;
    gap:           2px;
}

.rreg-cell-score {
    font-family: 'Share Tech Mono', monospace;
    font-size:   12px;
    font-weight: 700;
}

.rreg-cell-cnt {
    font-family: 'Share Tech Mono', monospace;
    font-size:   8px;
    color:       var(--text1);
    background:  rgba(255,255,255,.1);
    border-radius:2px;
    padding:     1px 4px;
}

.rreg-matrix-legend {
    display:  flex;
    gap:      14px;
    flex-wrap:wrap;
    font-family:'Share Tech Mono', monospace;
    font-size:8px;
}

/* Tabela */
.rreg-table-wrap {
    overflow-x:   auto;
    border:       1px solid var(--border);
    border-radius:6px;
}

.rreg-table {
    width:           100%;
    border-collapse: collapse;
    font-size:       9px;
    font-family:     'Share Tech Mono', monospace;
}

.rreg-table thead tr {
    background:    rgba(255,140,0,.06);
    border-bottom: 1px solid rgba(255,140,0,.2);
}

.rreg-table th {
    padding:        6px 9px;
    text-align:     left;
    font-size:      7px;
    color:          #ff8c00;
    letter-spacing: .7px;
    white-space:    nowrap;
}

.rreg-table td {
    padding:       5px 9px;
    border-bottom: 1px solid rgba(255,255,255,.04);
    vertical-align:middle;
    color:         var(--text2);
}

.rreg-table tr:last-child td { border-bottom: none; }
.rreg-table tr:hover td { background: rgba(255,140,0,.03); }

.rreg-id     { font-size: 8px; color: var(--iso-gold); white-space: nowrap; font-weight: 700; }
.rreg-asset  { font-size: 8px; color: var(--text2); max-width: 160px; }
.rreg-threat { font-size: 8px; color: var(--text1); max-width: 180px; }
.rreg-evidence { font-size: 7px; color: var(--text3); max-width: 200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.rreg-badge {
    font-family:  'Share Tech Mono', monospace;
    font-size:    7px;
    padding:      2px 5px;
    border-radius:2px;
    display:      inline-block;
    white-space:  nowrap;
}

.rreg-ok   { background: rgba(0,255,136,.1);  color: #00ff88; border: 1px solid rgba(0,255,136,.3); }
.rreg-wip  { background: rgba(255,140,0,.1);  color: #ff8c00; border: 1px solid rgba(255,140,0,.3); }
.rreg-acc  { background: rgba(96,125,139,.1); color: #607d8b; border: 1px solid rgba(96,125,139,.3); }
.rreg-open { background: rgba(255,43,85,.1);  color: #ff2b55; border: 1px solid rgba(255,43,85,.3); }

.rreg-treat {
    font-family:  'Share Tech Mono', monospace;
    font-size:    7px;
    padding:      2px 5px;
    border-radius:2px;
    display:      inline-block;
}

.rreg-treat-mit { background: rgba(0,212,255,.1); color: var(--accent); }
.rreg-treat-acc { background: rgba(96,125,139,.1);color: #607d8b; }
.rreg-treat-tra { background: rgba(155,89,255,.1); color: #9b59ff; }
.rreg-treat-eli { background: rgba(255,43,85,.1);  color: #ff2b55; }

/* ══════════════════════════════════════════════
   OBJETIVOS · obj-*
══════════════════════════════════════════════ */

.obj-kpi-row {
    display:               grid;
    grid-template-columns: repeat(3, 1fr);
    gap:                   8px;
    margin-bottom:         12px;
}

.obj-kpi {
    display:       flex;
    flex-direction:column;
    align-items:   center;
    padding:       10px;
    background:    var(--bg3);
    border:        1px solid var(--border);
    border-radius: 5px;
    text-align:    center;
    gap:           4px;
}

.obj-kpi-val {
    font-family: 'Share Tech Mono', monospace;
    font-size:   22px;
    font-weight: 700;
    line-height: 1;
}

.obj-kpi-lbl {
    font-size:      8px;
    color:          var(--text3);
    letter-spacing: .5px;
    font-family:    'Share Tech Mono', monospace;
}

.obj-card {
    border:        1px solid var(--border);
    border-radius: 6px;
    padding:       12px 14px;
    margin-bottom: 8px;
    background:    var(--bg3);
    transition:    border-color .15s;
}

.obj-card:hover { border-color: rgba(0,212,255,.25); }

.obj-card-top {
    display:     flex;
    align-items: center;
    gap:         10px;
    margin-bottom:8px;
    flex-wrap:   wrap;
}

.obj-id {
    font-family:  'Share Tech Mono', monospace;
    font-size:    8px;
    color:        var(--text3);
}

.obj-title {
    flex:      1;
    font-size: 11px;
    color:     var(--text1);
    font-weight: 600;
}

.obj-badge {
    font-family:  'Share Tech Mono', monospace;
    font-size:    7px;
    padding:      2px 7px;
    border-radius:2px;
    display:      inline-block;
}

.obj-achieved { background: rgba(0,255,136,.12);  color: #00ff88; border: 1px solid rgba(0,255,136,.3); }
.obj-ontrack  { background: rgba(0,212,255,.12);  color: var(--accent); border: 1px solid rgba(0,212,255,.3); }
.obj-atrisk   { background: rgba(255,140,0,.12);  color: #ff8c00; border: 1px solid rgba(255,140,0,.3); }
.obj-missed   { background: rgba(255,43,85,.12);  color: #ff2b55; border: 1px solid rgba(255,43,85,.3); }

.obj-desc {
    font-size:    9px;
    color:        var(--text2);
    margin-bottom:10px;
    line-height:  1.5;
}

.obj-meta-grid {
    display:               grid;
    grid-template-columns: repeat(3, 1fr);
    gap:                   6px 12px;
    margin-bottom:         10px;
}

.obj-lbl {
    display:        block;
    font-family:    'Share Tech Mono', monospace;
    font-size:      7px;
    color:          var(--text3);
    letter-spacing: .5px;
    margin-bottom:  2px;
}

.obj-val      { font-size: 8px; color: var(--text2); }
.obj-val-hi   { font-size: 8px; color: var(--green); font-family: 'Share Tech Mono', monospace; }
.obj-val-curr { font-size: 8px; color: var(--accent); font-family: 'Share Tech Mono', monospace; }

.obj-progress-bar-wrap {
    display:     flex;
    align-items: center;
    gap:         8px;
}

.obj-progress-bar {
    flex:          1;
    height:        4px;
    background:    var(--bg4);
    border-radius: 2px;
    overflow:      hidden;
}

.obj-progress-fill {
    height:        100%;
    border-radius: 2px;
    transition:    width .5s ease;
}

.obj-progress-pct {
    font-family: 'Share Tech Mono', monospace;
    font-size:   9px;
    min-width:   30px;
    text-align:  right;
}

/* ══════════════════════════════════════════════
   NC LOG · nc-*
══════════════════════════════════════════════ */

.nc-kpi-row {
    display:               grid;
    grid-template-columns: repeat(4, 1fr);
    gap:                   8px;
    margin-bottom:         12px;
}

.nc-kpi {
    display:       flex;
    flex-direction:column;
    align-items:   center;
    padding:       9px;
    background:    var(--bg3);
    border:        1px solid var(--border);
    border-radius: 5px;
    text-align:    center;
    gap:           3px;
}

.nc-kpi-val {
    font-family: 'Share Tech Mono', monospace;
    font-size:   20px;
    font-weight: 700;
    line-height: 1;
}

.nc-kpi-lbl {
    font-size:      7px;
    color:          var(--text3);
    letter-spacing: .5px;
    font-family:    'Share Tech Mono', monospace;
}

.nc-card {
    border:        1px solid var(--border);
    border-left:   3px solid var(--green);
    border-radius: 6px;
    padding:       12px 14px;
    margin-bottom: 8px;
    background:    var(--bg3);
}

.nc-card.nc-card-open { border-left-color: #ff8c00; }

.nc-card-header {
    display:     flex;
    align-items: center;
    gap:         8px;
    flex-wrap:   wrap;
    margin-bottom: 8px;
}

.nc-id {
    font-family:  'Share Tech Mono', monospace;
    font-size:    9px;
    color:        var(--iso-gold);
    font-weight:  700;
}

.nc-origem {
    font-size:  8px;
    color:      var(--text3);
    margin-left:auto;
}

.nc-badge {
    font-family:  'Share Tech Mono', monospace;
    font-size:    7px;
    padding:      2px 6px;
    border-radius:2px;
}

.nc-maior { background: rgba(255,43,85,.12);  color: #ff2b55; border: 1px solid rgba(255,43,85,.3); }
.nc-menor { background: rgba(255,140,0,.12);  color: #ff8c00; border: 1px solid rgba(255,140,0,.3); }
.nc-obs   { background: rgba(0,212,255,.1);   color: var(--accent); border: 1px solid rgba(0,212,255,.25); }

.nc-status {
    font-family:  'Share Tech Mono', monospace;
    font-size:    7px;
    padding:      2px 6px;
    border-radius:2px;
}

.nc-fechada { background: rgba(0,255,136,.1);  color: #00ff88; border: 1px solid rgba(0,255,136,.3); }
.nc-aberta  { background: rgba(255,140,0,.1);  color: #ff8c00; border: 1px solid rgba(255,140,0,.3); }

.nc-desc {
    font-size:    10px;
    color:        var(--text1);
    margin-bottom:8px;
    line-height:  1.5;
}

.nc-grid {
    display:               grid;
    grid-template-columns: repeat(4, 1fr);
    gap:                   6px;
    margin-bottom:         8px;
    padding:               8px;
    background:            var(--bg4);
    border-radius:         4px;
}

.nc-lbl {
    font-family:    'Share Tech Mono', monospace;
    font-size:      7px;
    color:          var(--text3);
    letter-spacing: .5px;
    display:        block;
    margin-bottom:  2px;
}

.nc-val { font-size: 8px; color: var(--text2); }

.nc-lbl-block {
    display:        block;
    font-family:    'Share Tech Mono', monospace;
    font-size:      7px;
    color:          var(--text3);
    letter-spacing: .5px;
    margin-bottom:  3px;
}

.nc-causa, .nc-acao, .nc-eficacia {
    font-size:    9px;
    color:        var(--text2);
    margin-bottom:6px;
    line-height:  1.5;
    padding-left: 8px;
    border-left:  2px solid var(--border);
}

/* ══════════════════════════════════════════════
   REVISÃO GERENCIAL · mgmt-*
══════════════════════════════════════════════ */

.mgmt-header-card {
    background:    rgba(255,214,0,.04);
    border:        1px solid rgba(255,214,0,.2);
    border-radius: 6px;
    padding:       12px 14px;
    margin-bottom: 14px;
}

.mgmt-header-grid {
    display:               grid;
    grid-template-columns: repeat(4, 1fr);
    gap:                   10px;
}

.mgmt-lbl {
    display:        block;
    font-family:    'Share Tech Mono', monospace;
    font-size:      7px;
    color:          var(--text3);
    letter-spacing: .5px;
    margin-bottom:  3px;
}

.mgmt-val {
    font-size: 9px;
    color:     var(--text2);
}

.mgmt-pauta {
    display:       flex;
    flex-direction:column;
    gap:           4px;
    margin-bottom: 14px;
}

.mgmt-pauta-item {
    display:    flex;
    gap:        10px;
    padding:    8px 10px;
    background: var(--bg3);
    border:     1px solid var(--border);
    border-radius:4px;
}

/* ══════════════════════════════════════════════
   MONETIZAÇÃO · mon-*
   Google AdSense · LinkedIn Revenue · Afiliados
   Spacecworp · SpaceShield AI v5.1
══════════════════════════════════════════════ */

.mon-panel {
    padding: 16px 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* ── HEADER ── */
.mon-header {
    display:         flex;
    justify-content: space-between;
    align-items:     flex-start;
    gap:             16px;
    padding:         14px 18px;
    background:      linear-gradient(135deg, rgba(250,204,21,.07), rgba(0,212,255,.03));
    border:          1px solid var(--pan-monetiz-border);
    border-radius:   8px;
}

.mon-title {
    font-family:    'Share Tech Mono', monospace;
    font-size:      15px;
    color:          var(--pan-monetiz-color);
    letter-spacing: 2px;
    text-shadow:    0 0 12px rgba(250,204,21,.3);
}

.mon-subtitle {
    font-size:  9px;
    color:      var(--text3);
    margin-top: 4px;
    letter-spacing: .5px;
}

.mon-badges {
    display:   flex;
    flex-wrap: wrap;
    gap:       6px;
    margin-top:8px;
}

.mon-badge {
    font-family:  'Share Tech Mono', monospace;
    font-size:    8px;
    padding:      2px 8px;
    border-radius:2px;
    letter-spacing:.5px;
}
.mon-badge-adsense  { background: rgba(66,133,244,.12);  color: #4285F4; border: 1px solid rgba(66,133,244,.3); }
.mon-badge-linkedin { background: rgba(10,102,194,.12); color: #0a66c2; border: 1px solid rgba(10,102,194,.3); }
.mon-badge-inmail   { background: rgba(10,102,194,.08); color: #0a66c2; border: 1px dashed rgba(10,102,194,.4); }
.mon-badge-affiliate{ background: rgba(250,204,21,.12); color: var(--pan-monetiz-color); border: 1px solid var(--pan-monetiz-border); }
.mon-badge-sponsor  { background: rgba(192,132,252,.12);color: #c084fc; border: 1px solid rgba(192,132,252,.3); }

.mon-header-status {
    display:        flex;
    flex-direction: column;
    gap:            6px;
    min-width:      180px;
}
.mon-status-item {
    display:     flex;
    align-items: center;
    gap:         8px;
    font-family: 'Share Tech Mono', monospace;
    font-size:   9px;
    color:       var(--text2);
}
.mon-status-dot       { width: 7px; height: 7px; border-radius: 50%; flex-shrink:0; }
.mon-dot-green        { background: #4ade80; box-shadow: 0 0 5px rgba(74,222,128,.5); animation: pulse 2s infinite; }
.mon-dot-amber        { background: var(--pan-monetiz-color); box-shadow: 0 0 5px rgba(250,204,21,.4); }
.mon-dot-blue         { background: #4285F4; box-shadow: 0 0 5px rgba(66,133,244,.4); }

/* ── KPI GRID ── */
.mon-kpi-grid {
    display:               grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap:                   10px;
}

.mon-kpi {
    background:    var(--bg3);
    border:        1px solid var(--border);
    border-radius: 8px;
    padding:       14px 16px;
    display:       flex;
    flex-direction:column;
    align-items:   flex-start;
    gap:           4px;
    transition:    border-color .15s, box-shadow .15s;
}
.mon-kpi:hover { border-color: var(--pan-monetiz-border); box-shadow: 0 0 10px rgba(250,204,21,.08); }

.mon-kpi-icon { font-size: 20px; }
.mon-kpi-val  { font-family: 'Share Tech Mono', monospace; font-size: 18px; color: var(--pan-monetiz-color); letter-spacing: 1px; }
.mon-kpi-lbl  { font-family: 'Share Tech Mono', monospace; font-size: 8px; color: var(--text2); letter-spacing: 1px; }
.mon-kpi-sub  { font-size: 8px; color: var(--text3); }

/* ── TABS INTERNOS ── */
.mon-tabs {
    display:    flex;
    flex-wrap:  wrap;
    gap:        6px;
    border-bottom: 1px solid var(--border);
    padding-bottom: 10px;
}

.mon-tab {
    font-family:  'Share Tech Mono', monospace;
    font-size:    9px;
    padding:      5px 13px;
    border:       1px solid var(--border);
    border-radius:3px;
    background:   transparent;
    color:        var(--text3);
    cursor:       pointer;
    transition:   all .15s;
    letter-spacing: .5px;
}
.mon-tab:hover  { background: var(--pan-monetiz-bg); color: var(--pan-monetiz-color); border-color: var(--pan-monetiz-border); }
.mon-tab.active { background: var(--pan-monetiz-bg); color: var(--pan-monetiz-color); border-color: var(--pan-monetiz-color); box-shadow: 0 0 8px rgba(250,204,21,.15); }

/* ── SUB-TAB CONTENT ── */
.mon-subtab-content         { display: none; flex-direction: column; gap: 12px; }
.mon-subtab-content.active  { display: flex; }

/* ── SECTION TITLE ── */
.mon-section-title {
    font-family:    'Share Tech Mono', monospace;
    font-size:      9px;
    color:          var(--text3);
    letter-spacing: 2px;
    padding:        6px 0;
    border-bottom:  1px solid rgba(250,204,21,.1);
    margin-bottom:  4px;
}

/* ── ADSENSE STATUS CARD ── */
.mon-adsense-status-card {
    display:       flex;
    align-items:   center;
    gap:           16px;
    padding:       14px 16px;
    background:    var(--bg3);
    border:        1px solid var(--border);
    border-radius: 8px;
}
.mon-as-icon  { flex-shrink: 0; }
.mon-as-info  { flex: 1; }
.mon-as-title { font-family: 'Share Tech Mono', monospace; font-size: 12px; color: var(--text1); }
.mon-as-desc  { font-size: 9px; color: var(--text3); margin-top: 3px; }
.mon-as-status { font-family: 'Share Tech Mono', monospace; font-size: 9px; margin-top: 6px; padding: 3px 8px; border-radius: 3px; display: inline-block; }
.mon-as-active  { background: rgba(74,222,128,.12); color: #4ade80; border: 1px solid rgba(74,222,128,.3); }
.mon-as-pending { background: rgba(250,204,21,.1);  color: var(--pan-monetiz-color); border: 1px solid var(--pan-monetiz-border); }
.mon-as-actions { display: flex; flex-direction: column; gap: 6px; }

/* ── FORM GRID ── */
.mon-form-grid {
    display:               grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap:                   12px;
    padding:               14px 16px;
    background:            var(--bg3);
    border:                1px solid var(--border);
    border-radius:         8px;
}
.mon-form-group  { display: flex; flex-direction: column; gap: 5px; }
.mon-form-full   { grid-column: 1 / -1; }
.mon-label       { font-family: 'Share Tech Mono', monospace; font-size: 8px; color: var(--text3); letter-spacing: 1px; }
.mon-hint        { font-size: 8px; color: var(--text3); margin-top: 3px; }
.mon-input-row   { display: flex; gap: 8px; }

.mon-input, .mon-select {
    background:    var(--bg4, #0a1015);
    border:        1px solid var(--border);
    color:         var(--text1);
    padding:       6px 10px;
    font-family:   'Share Tech Mono', monospace;
    font-size:     10px;
    border-radius: 3px;
    width:         100%;
    transition:    border-color .15s;
}
.mon-input:focus, .mon-select:focus  { outline: none; border-color: var(--pan-monetiz-color); box-shadow: 0 0 6px rgba(250,204,21,.15); }

/* ── BUTTONS ── */
.mon-btn {
    font-family:   'Share Tech Mono', monospace;
    font-size:     9px;
    padding:       6px 14px;
    border-radius: 3px;
    cursor:        pointer;
    border:        1px solid;
    white-space:   nowrap;
    transition:    all .15s;
    letter-spacing:.5px;
    text-decoration: none;
    display:       inline-block;
}
.mon-btn-primary  { background: rgba(250,204,21,.12); color: var(--pan-monetiz-color); border-color: var(--pan-monetiz-border); }
.mon-btn-primary:hover { background: rgba(250,204,21,.22); }
.mon-btn-secondary{ background: transparent; color: var(--text2); border-color: var(--border); }
.mon-btn-secondary:hover { border-color: var(--text2); }
.mon-btn-google   { background: rgba(10,102,194,.1); color: #0a66c2; border-color: rgba(10,102,194,.3); } /* reutilizado para LinkedIn */
.mon-btn-google:hover { background: rgba(10,102,194,.2); }
.mon-btn-linkedin { background: rgba(10,102,194,.12); color: #0a66c2; border-color: rgba(10,102,194,.35); }
.mon-btn-linkedin:hover { background: rgba(10,102,194,.22); }
.mon-btn-sm       { font-size: 8px; padding: 3px 9px; }
.mon-btn-danger   { background: rgba(239,68,68,.1); color: #ef4444; border-color: rgba(239,68,68,.25); }

/* ── CODE BLOCK ── */
.mon-code-block {
    background:    var(--bg3);
    border:        1px solid var(--border);
    border-radius: 6px;
    overflow:      hidden;
}
.mon-code-header {
    display:         flex;
    justify-content: space-between;
    align-items:     center;
    padding:         6px 12px;
    background:      rgba(0,0,0,.2);
    border-bottom:   1px solid var(--border);
    font-family:     'Share Tech Mono', monospace;
    font-size:       8px;
    color:           var(--text3);
}
.mon-copy-btn {
    font-family:   'Share Tech Mono', monospace;
    font-size:     8px;
    padding:       3px 9px;
    border:        1px solid var(--border);
    border-radius: 2px;
    background:    transparent;
    color:         var(--text3);
    cursor:        pointer;
    transition:    all .15s;
}
.mon-copy-btn:hover { color: var(--pan-monetiz-color); border-color: var(--pan-monetiz-border); }
.mon-code {
    margin:      0;
    padding:     12px 14px;
    font-family: 'Share Tech Mono', monospace;
    font-size:   9px;
    color:       var(--accent);
    line-height: 1.7;
    white-space: pre-wrap;
    word-break:  break-all;
    overflow-x:  auto;
}

/* ── METRICS GRID ── */
.mon-metrics-grid {
    display:               grid;
    grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
    gap:                   10px;
}
.mon-metric-card {
    background:    var(--bg3);
    border:        1px solid var(--border);
    border-radius: 6px;
    padding:       10px 12px;
}
.mon-metric-label { font-family: 'Share Tech Mono', monospace; font-size: 8px; color: var(--text3); letter-spacing:.5px; margin-bottom: 5px; }
.mon-metric-val   { font-family: 'Share Tech Mono', monospace; font-size: 15px; color: var(--text1); margin-bottom: 6px; }
.mon-val-gold     { color: var(--pan-monetiz-color) !important; }
.mon-val-linkedin { color: #0a66c2 !important; }
.mon-metric-bar   { height: 3px; background: var(--bg4, #0a1015); border-radius: 2px; overflow: hidden; }
.mon-metric-fill  { height: 100%; background: var(--accent); border-radius: 2px; transition: width .5s; }
.mon-fill-gold    { background: var(--pan-monetiz-color); }
.mon-fill-linkedin{ background: #0a66c2; }

/* ── AUTO ADS CARD ── */
.mon-auto-ads-card {
    display:       flex;
    align-items:   center;
    justify-content: space-between;
    gap:           16px;
    padding:       12px 16px;
    background:    var(--bg3);
    border:        1px solid var(--pan-monetiz-border);
    border-radius: 8px;
}
.mon-auto-title { font-family: 'Share Tech Mono', monospace; font-size: 11px; color: var(--pan-monetiz-color); }
.mon-auto-desc  { font-size: 9px; color: var(--text3); margin-top: 4px; max-width: 480px; line-height: 1.5; }

/* ── TOGGLE ── */
.mon-toggle-wrap  { display: flex; align-items: center; gap: 8px; cursor: pointer; }
.mon-toggle-input { display: none; }
.mon-toggle-slider {
    width:       36px;
    height:      18px;
    background:  var(--bg4, #0a1015);
    border:      1px solid var(--border);
    border-radius:9px;
    position:    relative;
    transition:  background .2s;
    flex-shrink: 0;
}
.mon-toggle-slider::after {
    content:     '';
    position:    absolute;
    top:         2px; left: 2px;
    width:       12px; height: 12px;
    border-radius:50%;
    background:  var(--text3);
    transition:  transform .2s, background .2s;
}
.mon-toggle-input:checked + .mon-toggle-slider {
    background: rgba(250,204,21,.15);
    border-color: var(--pan-monetiz-color);
}
.mon-toggle-input:checked + .mon-toggle-slider::after {
    transform: translateX(18px);
    background: var(--pan-monetiz-color);
}
.mon-toggle-label { font-family: 'Share Tech Mono', monospace; font-size: 9px; color: var(--text2); }

/* ── AD PLACEMENTS ── */
.mon-placements-grid {
    display:               grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap:                   10px;
}
.mon-placement-card {
    padding:       12px 14px;
    border:        1px solid var(--border);
    border-radius: 8px;
    background:    var(--bg3);
    display:       flex;
    flex-direction:column;
    gap:           6px;
    transition:    border-color .15s;
}
.mon-place-high    { border-left: 3px solid #4ade80; }
.mon-place-med     { border-left: 3px solid var(--pan-monetiz-color); }
.mon-place-low     { border-left: 3px solid #64748b; }
.mon-place-blocked { border-left: 3px solid #ef4444; opacity: .6; }
.mon-place-header  { display: flex; justify-content: space-between; align-items: center; }
.mon-place-name    { font-family: 'Share Tech Mono', monospace; font-size: 10px; color: var(--text1); }
.mon-place-perf    { font-family: 'Share Tech Mono', monospace; font-size: 7px; color: var(--text3); }
.mon-place-size    { font-family: 'Share Tech Mono', monospace; font-size: 8px; color: var(--accent); }
.mon-place-desc    { font-size: 8px; color: var(--text3); line-height: 1.5; }

/* ── LINKEDIN ROI ── */
.mon-li-roi-grid {
    display:               grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap:                   10px;
}
.mon-li-roi-card {
    background:    var(--bg3);
    border:        1px solid rgba(10,102,194,.3);
    border-radius: 8px;
    padding:       14px;
    display:       flex;
    flex-direction:column;
    align-items:   flex-start;
    gap:           4px;
}
.mon-li-roi-icon { font-size: 20px; }
.mon-li-roi-val  { font-family: 'Share Tech Mono', monospace; font-size: 18px; color: #0a66c2; }
.mon-li-roi-lbl  { font-family: 'Share Tech Mono', monospace; font-size: 8px; color: var(--text2); }
.mon-li-roi-sub  { font-size: 8px; color: var(--text3); }

/* ── PIPELINE TABLE ── */
.mon-pipeline-table { display: flex; flex-direction: column; gap: 0; background: var(--bg3); border: 1px solid var(--border); border-radius: 8px; overflow: hidden; }
.mon-pipeline-header {
    display:               grid;
    grid-template-columns: 2fr 1fr 1fr 1fr 1fr;
    gap:                   8px;
    padding:               8px 14px;
    background:            rgba(0,0,0,.2);
    font-family:           'Share Tech Mono', monospace;
    font-size:             8px;
    color:                 var(--text3);
    letter-spacing:        .5px;
}
.mon-pipeline-row {
    display:               grid;
    grid-template-columns: 2fr 1fr 1fr 1fr 1fr;
    gap:                   8px;
    padding:               8px 14px;
    font-size:             9px;
    color:                 var(--text2);
    border-top:            1px solid var(--border);
    transition:            background .12s;
}
.mon-pipeline-row:hover { background: rgba(250,204,21,.03); }

/* ── PROJECTION CHART ── */
.mon-proj-bars {
    display:       flex;
    align-items:   flex-end;
    gap:           6px;
    height:        100px;
    padding:       10px 14px;
    background:    var(--bg3);
    border:        1px solid var(--border);
    border-radius: 8px;
}
.mon-proj-bar-wrap { display: flex; flex-direction: column; align-items: center; gap: 3px; flex: 1; height: 100%; justify-content: flex-end; }
.mon-proj-bar-val  { font-family: 'Share Tech Mono', monospace; font-size: 7px; color: var(--pan-monetiz-color); }
.mon-proj-bar {
    width:         100%;
    background:    linear-gradient(180deg, var(--pan-monetiz-color), rgba(250,204,21,.3));
    border-radius: 2px 2px 0 0;
    min-height:    4px;
    transition:    height .5s ease;
}
.mon-proj-bar-lbl { font-family: 'Share Tech Mono', monospace; font-size: 7px; color: var(--text3); }

/* ── AFFILIATE CARDS ── */
.mon-affiliate-grid {
    display:               grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap:                   10px;
}
.mon-aff-card {
    background:    var(--bg3);
    border:        1px solid var(--border);
    border-radius: 8px;
    padding:       12px 14px;
    display:       flex;
    flex-direction:column;
    gap:           5px;
    transition:    border-color .15s;
}
.mon-aff-card:hover { border-color: var(--pan-monetiz-border); }
.mon-aff-dot        { width: 8px; height: 8px; border-radius: 50%; }
.mon-aff-name       { font-family: 'Share Tech Mono', monospace; font-size: 11px; color: var(--text1); }
.mon-aff-tags       { font-size: 8px; color: var(--text3); }
.mon-aff-commission { font-family: 'Share Tech Mono', monospace; font-size: 9px; color: var(--pan-monetiz-color); }
.mon-aff-status     { font-size: 8px; color: var(--text3); }

/* ── AFFILIATE TRACKER ── */
.mon-affiliate-tracker { background: var(--bg3); border: 1px solid var(--border); border-radius: 8px; overflow: hidden; }
.mon-aff-track-header {
    display:               grid;
    grid-template-columns: 2fr 1fr 1fr 1fr 1fr 80px;
    gap:                   8px;
    padding:               8px 14px;
    background:            rgba(0,0,0,.2);
    font-family:           'Share Tech Mono', monospace;
    font-size:             8px;
    color:                 var(--text3);
}
.mon-aff-track-row {
    display:               grid;
    grid-template-columns: 2fr 1fr 1fr 1fr 1fr 80px;
    gap:                   8px;
    padding:               8px 14px;
    font-size:             9px;
    color:                 var(--text2);
    border-top:            1px solid var(--border);
    align-items:           center;
}
.mon-aff-empty { grid-template-columns: 1fr !important; color: var(--text3); font-style: italic; }

/* ── STRATEGY CARDS ── */
.mon-strategy-grid {
    display:               grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap:                   12px;
}
.mon-strategy-card {
    background:    var(--bg3);
    border:        1px solid var(--border);
    border-radius: 10px;
    padding:       16px;
    display:       flex;
    flex-direction:column;
    gap:           7px;
    position:      relative;
    overflow:      hidden;
    transition:    border-color .15s, transform .15s;
}
.mon-strategy-card:hover { transform: translateY(-2px); border-color: var(--pan-monetiz-border); }
.mon-strat-num  { position: absolute; top: 10px; right: 12px; font-family: 'Share Tech Mono', monospace; font-size: 28px; color: rgba(250,204,21,.06); font-weight: 900; }
.mon-strat-icon { font-size: 22px; }
.mon-strat-title{ font-family: 'Share Tech Mono', monospace; font-size: 11px; color: var(--text1); }
.mon-strat-desc { font-size: 9px; color: var(--text3); line-height: 1.6; }
.mon-strat-roi  { font-family: 'Share Tech Mono', monospace; font-size: 9px; color: var(--pan-monetiz-color); }
.mon-strat-effort { font-family: 'Share Tech Mono', monospace; font-size: 7px; padding: 2px 7px; border-radius: 2px; display: inline-block; }
.mon-effort-low  { background: rgba(74,222,128,.1);  color: #4ade80; border: 1px solid rgba(74,222,128,.2); }
.mon-effort-med  { background: rgba(250,204,21,.1);  color: var(--pan-monetiz-color); border: 1px solid var(--pan-monetiz-border); }
.mon-effort-high { background: rgba(239,68,68,.1);   color: #ef4444; border: 1px solid rgba(239,68,68,.2); }

/* border-left por estratégia */
.mon-strat-1 { border-left: 3px solid #4285F4; }
.mon-strat-2 { border-left: 3px solid #0a66c2; }
.mon-strat-3 { border-left: 3px solid var(--pan-monetiz-color); }
.mon-strat-4 { border-left: 3px solid #c084fc; }
.mon-strat-5 { border-left: 3px solid #4ade80; }
.mon-strat-6 { border-left: 3px solid #00d4ff; }

/* ── CALCULATOR ── */
.mon-calc-grid {
    display:               grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap:                   12px;
    padding:               14px 16px;
    background:            var(--bg3);
    border:                1px solid var(--border);
    border-radius:         8px;
}
.mon-calc-col   { display: flex; flex-direction: column; gap: 5px; }
.mon-calc-label { font-family: 'Share Tech Mono', monospace; font-size: 8px; color: var(--text3); letter-spacing: .5px; }
.mon-calc-result {
    background:    rgba(250,204,21,.05);
    border:        1px solid var(--pan-monetiz-border);
    border-radius: 8px;
    padding:       14px 16px;
}
.mon-calc-res-title { font-family: 'Share Tech Mono', monospace; font-size: 10px; color: var(--pan-monetiz-color); letter-spacing: 1px; margin-bottom: 12px; }
.mon-calc-res-grid  { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; }
.mon-calc-res-item  { display: flex; justify-content: space-between; align-items: center; padding: 8px 12px; background: var(--bg4, #0a1015); border-radius: 4px; border: 1px solid var(--border); }
.mon-calc-total     { border-color: var(--pan-monetiz-border) !important; }
.mon-calc-res-lbl   { font-family: 'Share Tech Mono', monospace; font-size: 8px; color: var(--text3); }
.mon-calc-res-val   { font-family: 'Share Tech Mono', monospace; font-size: 11px; color: var(--text1); }

/* ── ALERT ── */
.mon-alert {
    padding:       10px 14px;
    border-radius: 6px;
    font-size:     9px;
    line-height:   1.6;
}
.mon-alert-warn { background: rgba(250,204,21,.07); color: var(--pan-monetiz-color); border: 1px solid var(--pan-monetiz-border); }
.mon-alert code { background: rgba(250,204,21,.12); padding: 1px 5px; border-radius: 2px; font-family: 'Share Tech Mono', monospace; }

/* ── CONFIG GRID ── */
.mon-config-grid {
    display:               grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap:                   12px;
    padding:               14px 16px;
    background:            var(--bg3);
    border:                1px solid var(--border);
    border-radius:         8px;
}
.mon-config-item  { display: flex; flex-direction: column; gap: 5px; }
.mon-config-label { font-family: 'Share Tech Mono', monospace; font-size: 8px; color: var(--text3); letter-spacing: .5px; }
.mon-config-full  { grid-column: 1 / -1; display: flex; align-items: center; gap: 12px; }
.mon-save-msg     { font-family: 'Share Tech Mono', monospace; font-size: 9px; color: #4ade80; }

/* ── INTEGRATIONS LIST ── */
.mon-integrations-list { display: flex; flex-direction: column; gap: 0; background: var(--bg3); border: 1px solid var(--border); border-radius: 8px; overflow: hidden; }
.mon-int-row {
    display:               grid;
    grid-template-columns: 2fr 2fr 100px 2fr;
    gap:                   10px;
    padding:               9px 14px;
    font-size:             9px;
    color:                 var(--text2);
    border-bottom:         1px solid var(--border);
    align-items:           center;
}
.mon-int-row:last-child  { border-bottom: none; }
.mon-int-name   { font-family: 'Share Tech Mono', monospace; font-size: 9px; color: var(--text1); }
.mon-int-domain { font-size: 8px; color: var(--text3); }
.mon-int-status { font-family: 'Share Tech Mono', monospace; font-size: 8px; display: flex; align-items: center; gap: 5px; }
.mon-int-dot        { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; display: inline-block; }
.mon-int-dot-green  { background: #4ade80; }
.mon-int-dot-amber  { background: var(--pan-monetiz-color); }
.mon-int-note   { font-size: 8px; color: var(--text3); }

/* ── TOAST ── */
.mon-toast {
    position:       fixed;
    bottom:         24px;
    right:          24px;
    background:     rgba(250,204,21,.12);
    border:         1px solid var(--pan-monetiz-border);
    color:          var(--pan-monetiz-color);
    font-family:    'Share Tech Mono', monospace;
    font-size:      10px;
    padding:        10px 18px;
    border-radius:  6px;
    z-index:        9999;
    opacity:        0;
    transform:      translateY(10px);
    transition:     opacity .25s, transform .25s;
    pointer-events: none;
}
.mon-toast-show { opacity: 1; transform: translateY(0); }

/* ── RESPONSIVE ── */
@media (max-width: 700px) {
    .mon-header       { flex-direction: column; }
    .mon-kpi-grid     { grid-template-columns: repeat(2, 1fr); }
    .mon-strategy-grid{ grid-template-columns: 1fr; }
    .mon-pipeline-header, .mon-pipeline-row { grid-template-columns: 2fr 1fr 1fr; }
    .mon-pipeline-header span:nth-child(n+4),
    .mon-pipeline-row  span:nth-child(n+4)  { display: none; }
    .mon-aff-track-header, .mon-aff-track-row { grid-template-columns: 2fr 1fr 1fr 80px; }
    .mon-aff-track-header span:nth-child(n+4),
    .mon-aff-track-row   span:nth-child(n+4) { display: none; }
    .mon-int-row { grid-template-columns: 1fr 1fr; }
    .mon-int-row span:nth-child(n+3) { display: none; }
}

.mgmt-pauta-num {
    font-family:  'Share Tech Mono', monospace;
    font-size:    9px;
    color:        var(--iso-gold);
    flex-shrink:  0;
    width:        14px;
}

.mgmt-pauta-topico {
    font-size:    9px;
    color:        var(--text1);
    margin-bottom:3px;
    font-weight:  600;
}

.mgmt-pauta-resultado {
    font-size:  8px;
    color:      var(--text3);
}

.mgmt-decisoes {
    display:       flex;
    flex-direction:column;
    gap:           4px;
    margin-bottom: 14px;
}

.mgmt-decisao {
    display:      flex;
    gap:          10px;
    align-items:  flex-start;
    padding:      7px 10px;
    background:   rgba(0,255,136,.04);
    border:       1px solid rgba(0,255,136,.15);
    border-radius:4px;
    font-size:    9px;
    color:        var(--text2);
}

.mgmt-decisao-num {
    font-family:  'Share Tech Mono', monospace;
    font-size:    8px;
    color:        var(--green);
    flex-shrink:  0;
}

.mgmt-assinatura {
    padding:    10px 14px;
    background: rgba(255,214,0,.03);
    border:     1px solid rgba(255,214,0,.15);
    border-radius:4px;
    margin-top: 4px;
}

/* ──────────────────────────────────────────────
   RESPONSIVE — PAINÉIS ADMIN
────────────────────────────────────────────── */
@media (max-width: 640px) {
    .pan-iso-kpi-grid        { grid-template-columns: 1fr 1fr; }
    .pan-bkp-status-grid     { grid-template-columns: 1fr 1fr; }
    .pan-risk-matrix         { grid-template-columns: repeat(3, 1fr); }
    .pan-risk-row            { grid-template-columns: 1fr 1fr; }
    .pan-pay-summary-grid    { grid-template-columns: 1fr 1fr; }
    .pan-pay-tx-row          { grid-template-columns: 1fr 1fr; }
    .pan-tech-control-row    { grid-template-columns: 1fr 1fr; }
    .pan-pentest-tool-grid   { grid-template-columns: 1fr 1fr; }
    .pan-ads-kpi-grid        { grid-template-columns: 1fr 1fr; }
    .pan-ads-campaign-row    { grid-template-columns: 1fr 1fr; }
    .soa-kpi-row             { grid-template-columns: repeat(3, 1fr); }
    .soa-table               { font-size: 8px; }
    .soa-evidence            { display: none; }
    .rreg-kpi-row            { grid-template-columns: repeat(3, 1fr); }
    .rreg-matrix             { grid-template-columns: repeat(3, 1fr); }
    .rreg-evidence           { display: none; }
    .obj-meta-grid           { grid-template-columns: 1fr 1fr; }
    .nc-grid                 { grid-template-columns: 1fr 1fr; }
    .mgmt-header-grid        { grid-template-columns: 1fr 1fr; }
    /* LinkedIn Ads responsive */
    .liad-kpi-grid           { grid-template-columns: repeat(2, 1fr); }
    .liad-format-grid        { grid-template-columns: 1fr; }
    .liad-grid-2col          { grid-template-columns: 1fr; }
}

/* ══════════════════════════════════════════════
   PAINEL LINKEDIN ADS B2B · liad-*
   Campaign Manager · Insight Tag · Lead Gen
   Versão 1.0 · SpaceShield AI v5.3
══════════════════════════════════════════════ */

:root {
    --li-blue:        #0077b5;     /* LinkedIn Blue */
    --li-blue-bg:     rgba(0,119,181,.08);
    --li-blue-border: rgba(0,119,181,.28);
    --li-green:       #00a550;     /* LinkedIn Green (below CPL target) */
    --li-gold:        #f5a623;     /* LinkedIn Gold */
    --li-purple:      #7c4dff;
}

/* ── Tab button ── */
.adm-tab-btn-admob        { color: var(--li-blue) !important; border-color: var(--li-blue-border) !important; }
.adm-tab-btn-admob:hover  { background: var(--li-blue-bg) !important; }
.adm-tab-btn-admob.active { background: var(--li-blue-bg) !important; border-color: var(--li-blue) !important; box-shadow: 0 0 12px rgba(0,119,181,.25) !important; }

/* ── Shell / layout ── */
.liad-shell {
    display:        flex;
    flex-direction: column;
    gap:            16px;
    padding:        16px;
    min-height:     100%;
    font-family:    'Share Tech Mono', monospace;
}

/* ── Header ── */
.liad-header {
    display:         flex;
    justify-content: space-between;
    align-items:     flex-start;
    gap:             16px;
    padding:         14px 18px;
    background:      linear-gradient(135deg, rgba(0,119,181,.08), rgba(0,165,80,.04));
    border:          1px solid var(--li-blue-border);
    border-radius:   8px;
}
.liad-header-left { flex: 1; }
.liad-brand       { font-size: 14px; color: var(--li-blue); letter-spacing: 1.5px; text-shadow: 0 0 10px rgba(0,119,181,.3); }
.liad-sub         { font-size: 9px;  color: var(--text3); margin-top: 4px; }
.liad-compliance  { font-size: 8px;  color: var(--text3); margin-top: 3px; opacity: .7; }
.liad-badge-wrap  { text-align: center; }
.liad-li-badge {
    display:       inline-flex;
    align-items:   center;
    justify-content: center;
    width:         32px; height: 32px;
    background:    var(--li-blue);
    border-radius: 6px;
    color:         #fff;
    font-size:     18px;
    font-weight:   700;
    font-style:    italic;
}
.liad-badge-label   { font-size: 9px; color: var(--text3); margin-top: 4px; }
.liad-insight-status { font-size: 8px; margin-top: 4px; font-family: 'Share Tech Mono', monospace; letter-spacing: .3px; }
.liad-tag-ok   { color: var(--li-green); }
.liad-tag-warn { color: #f5a623; }

/* ── KPI grid ── */
.liad-kpi-grid {
    display:               grid;
    grid-template-columns: repeat(4, 1fr);
    gap:                   10px;
}
.liad-kpi {
    background:    var(--bg3);
    border:        1px solid var(--border);
    border-radius: 6px;
    padding:       12px;
    text-align:    center;
    transition:    border-color .2s;
    position:      relative;
    overflow:      hidden;
}
.liad-kpi::before {
    content:    '';
    position:   absolute;
    top:        0; left: 0; right: 0;
    height:     2px;
    background: var(--li-blue);
    opacity:    .5;
}
.liad-kpi:hover      { border-color: var(--li-blue-border); }
.liad-kpi-val {
    font-family:   'Share Tech Mono', monospace;
    font-size:     22px;
    font-weight:   700;
    color:         var(--li-blue);
    line-height:   1;
    margin-bottom: 4px;
}
.liad-kpi-lbl    { font-size: 8px;  color: var(--text3); letter-spacing: .5px; }
.liad-kpi-delta  { font-size: 8px;  margin-top: 4px; }
.liad-delta-up   { color: var(--li-green); }
.liad-delta-down { color: #ef4444; }
.liad-kpi-blue::before          { background: var(--li-blue); }
.liad-kpi-blue .liad-kpi-val    { color: var(--li-blue); }
.liad-kpi-green::before         { background: var(--li-green); }
.liad-kpi-green .liad-kpi-val   { color: var(--li-green); }
.liad-kpi-gold::before          { background: var(--li-gold); }
.liad-kpi-gold .liad-kpi-val    { color: var(--li-gold); }
.liad-kpi-purple::before        { background: var(--li-purple); }
.liad-kpi-purple .liad-kpi-val  { color: var(--li-purple); }

/* ── 2 col grid ── */
.liad-grid-2col {
    display:               grid;
    grid-template-columns: 1fr 1fr;
    gap:                   16px;
}
@media (max-width: 900px) { .liad-grid-2col { grid-template-columns: 1fr; } }
.liad-col { display: flex; flex-direction: column; gap: 12px; }

/* ── Section title ── */
.liad-section-title {
    font-size:      10px;
    color:          var(--li-blue);
    letter-spacing: 1.5px;
    padding-bottom: 6px;
    border-bottom:  1px solid var(--li-blue-border);
    margin-bottom:  4px;
}

/* ── Config box ── */
.liad-config-box {
    background:    var(--bg2);
    border:        1px solid var(--li-blue-border);
    border-radius: 8px;
    padding:       14px 16px;
}
.liad-field-group  { display: flex; flex-direction: column; gap: 5px; margin-bottom: 10px; }
.liad-label        { font-size: 9px; color: var(--text3); letter-spacing: .5px; }
.liad-input-wrap   { display: flex; gap: 6px; }
.liad-input {
    flex:          1;
    background:    var(--bg3);
    border:        1px solid rgba(0,119,181,.2);
    border-radius: 4px;
    color:         var(--text);
    font-family:   'Share Tech Mono', monospace;
    font-size:     11px;
    padding:       7px 10px;
    width:         100%;
    box-sizing:    border-box;
    outline:       none;
    transition:    border-color .2s;
}
.liad-input:focus { border-color: var(--li-blue); }
.liad-input::placeholder { color: var(--text3); font-size: 10px; }
.liad-btn {
    font-family:   'Share Tech Mono', monospace;
    font-size:     9px;
    padding:       7px 12px;
    border-radius: 4px;
    cursor:        pointer;
    letter-spacing:.5px;
    white-space:   nowrap;
    transition:    all .2s;
    border:        1px solid var(--li-blue-border);
}
.liad-btn-save      { background: var(--li-blue); color: #fff; font-weight: 700; border-color: transparent; }
.liad-btn-save:hover { filter: brightness(1.15); }
.liad-btn-test      { background: var(--li-blue-bg); color: var(--li-blue); }
.liad-btn-test:hover { background: rgba(0,119,181,.18); }
.liad-btn-clear     { background: rgba(239,68,68,.08); color: #ef4444; border-color: rgba(239,68,68,.25); }
.liad-btn-clear:hover { background: rgba(239,68,68,.18); }
.liad-btn-copy      { background: rgba(0,119,181,.1); color: var(--li-blue); font-size: 10px; padding: 7px 10px; }
.liad-btn-copy:hover { background: rgba(0,119,181,.2); }

/* ── Mensagens ── */
.liad-msg {
    font-size:     9px;
    padding:       6px 10px;
    border-radius: 4px;
    display:       none;
    font-family:   'Share Tech Mono', monospace;
    margin-top:    6px;
}
.liad-msg-ok   { background: rgba(0,165,80,.1);   color: var(--li-green); border: 1px solid rgba(0,165,80,.3);  display: block; }
.liad-msg-warn { background: rgba(245,166,35,.1);  color: var(--li-gold);  border: 1px solid rgba(245,166,35,.3); display: block; }
.liad-msg-err  { background: rgba(239,68,68,.08);  color: #ef4444;         border: 1px solid rgba(239,68,68,.25); display: block; }
.liad-msg-info { background: rgba(0,119,181,.1);   color: var(--li-blue);  border: 1px solid rgba(0,119,181,.3); display: block; }

/* ── Campaign format cards ── */
.liad-format-grid {
    display:               grid;
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
    gap:                   10px;
}
.liad-format-card {
    background:    var(--bg3);
    border:        1px solid var(--border);
    border-radius: 8px;
    padding:       12px 14px;
    transition:    border-color .2s, background .15s;
    cursor:        default;
}
.liad-format-card:hover {
    border-color: var(--li-blue-border);
    background:   rgba(0,119,181,.04);
}
.liad-format-icon  { font-size: 22px; margin-bottom: 6px; }
.liad-format-name {
    font-family:   'Share Tech Mono', monospace;
    font-size:     11px;
    color:         var(--li-blue);
    margin-bottom: 4px;
}
.liad-format-desc  { font-size: 9px; color: var(--text2); margin-bottom: 8px; line-height: 1.5; }
.liad-format-stats { display: flex; flex-direction: column; gap: 4px; }
.liad-format-stat  { display: flex; justify-content: space-between; font-size: 9px; color: var(--text2); }
.liad-format-stat span { color: var(--li-blue); font-family: 'Share Tech Mono', monospace; }
.liad-format-badge {
    display:       inline-block;
    font-size:     7px;
    padding:       2px 6px;
    border-radius: 2px;
    font-family:   'Share Tech Mono', monospace;
    font-weight:   700;
    margin-top:    6px;
    letter-spacing:.3px;
}
.liad-badge-active { background: rgba(0,165,80,.12);  color: var(--li-green); border: 1px solid rgba(0,165,80,.3); }
.liad-badge-paused { background: rgba(245,166,35,.1);  color: var(--li-gold);  border: 1px solid rgba(245,166,35,.3); }
.liad-badge-test   { background: rgba(0,119,181,.1);  color: var(--li-blue);  border: 1px solid rgba(0,119,181,.3); }

/* ── CPL chart bar ── */
.liad-chart {
    background:    var(--bg2);
    border:        1px solid var(--li-blue-border);
    border-radius: 8px;
    padding:       14px 16px;
}
.liad-chart-title { font-size: 9px; color: var(--text3); letter-spacing: .5px; margin-bottom: 10px; }
.liad-bars        { display: flex; align-items: flex-end; gap: 6px; height: 80px; }
.liad-bar-wrap    { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 4px; height: 100%; justify-content: flex-end; }
.liad-bar {
    width:         100%;
    border-radius: 3px 3px 0 0;
    background:    var(--li-blue);
    transition:    height .4s ease;
    min-height:    4px;
}
.liad-bar-zero { background: var(--border); opacity: .4; }
.liad-bar-lbl  { font-size: 7px; color: var(--text3); white-space: nowrap; }
.liad-bar-val  { font-size: 7px; color: var(--li-blue); font-family: 'Share Tech Mono', monospace; }

/* ── Compliance / Policy ── */
.liad-policy-row {
    display:        flex;
    align-items:    center;
    gap:            10px;
    padding:        8px 12px;
    background:     var(--bg3);
    border:         1px solid var(--border);
    border-left:    3px solid var(--li-blue);
    border-radius:  5px;
    margin-bottom:  6px;
    font-size:      9px;
    color:          var(--text2);
    transition:     background .15s;
}
.liad-policy-row:hover { background: rgba(0,119,181,.04); }
.liad-policy-icon  { font-size: 14px; flex-shrink: 0; }
.liad-policy-name  { flex: 1; color: var(--text); font-size: 10px; }
.liad-policy-ok    { color: var(--li-green); font-family: 'Share Tech Mono', monospace; font-size: 8px; }
.liad-policy-warn  { color: var(--li-gold);  font-family: 'Share Tech Mono', monospace; font-size: 8px; }
.liad-policy-fail  { color: #ef4444;          font-family: 'Share Tech Mono', monospace; font-size: 8px; }

/* ── B2B Targeting ── */
.liad-target-row  { margin-bottom: 10px; }
.liad-target-lbl  { font-size: 9px; color: var(--text3); letter-spacing: .4px; margin-bottom: 5px; }
.liad-target-tags { display: flex; flex-wrap: wrap; gap: 5px; }
.liad-tag {
    background:    rgba(0,119,181,.12);
    border:        1px solid rgba(0,119,181,.28);
    color:         var(--li-blue);
    font-family:   'Share Tech Mono', monospace;
    font-size:     8px;
    padding:       2px 7px;
    border-radius: 3px;
    letter-spacing:.3px;
}

/* ── Integration guide steps ── */
.liad-step {
    background:    var(--bg2);
    border:        1px solid var(--border);
    border-left:   3px solid var(--li-blue-border);
    border-radius: 0 6px 6px 0;
    padding:       10px 14px;
    margin-bottom: 8px;
}
.liad-step-hd     { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.liad-step-num    { font-size: 11px; font-weight: 700; color: var(--li-blue); min-width: 22px; }
.liad-step-icon   { font-size: 14px; }
.liad-step-title  { font-size: 11px; color: var(--text); letter-spacing: .3px; }
.liad-step-desc   { font-size: 9px; color: var(--text2); line-height: 1.6; }
.liad-step-desc code {
    color:        var(--li-blue);
    font-family:  'Share Tech Mono', monospace;
    font-size:    9px;
    background:   rgba(0,119,181,.08);
    padding:      1px 4px;
    border-radius:2px;
}

/* ── Actions ── */
.liad-actions { display: flex; gap: 8px; flex-wrap: wrap; }

/* ── Footer ── */
.liad-footer {
    text-align:    center;
    font-size:     8px;
    color:         var(--text3);
    padding-top:   12px;
    border-top:    1px solid var(--border);
    letter-spacing:.5px;
}

/* ══════════════════════════════════════════════
   RBAC · INDICADOR DE ROLE NO LOGIN MODAL
   Aparece sob o campo de e-mail após digitação
══════════════════════════════════════════════ */

.adm-role-indicator {
    min-height:     0;
    overflow:       hidden;
    transition:     max-height .25s ease, opacity .2s ease, margin-top .2s ease;
    max-height:     0;
    opacity:        0;
    margin-top:     0;
    font-family:    'Share Tech Mono', monospace;
    font-size:      9px;
    letter-spacing: .05em;
}

.adm-role-indicator--active {
    max-height:     40px;
    opacity:        1;
    margin-top:     6px;
    display:        flex;
    align-items:    center;
    gap:            6px;
    padding:        6px 10px;
    background:     rgba(0,0,0,.25);
    border:         1px solid rgba(255,255,255,.06);
    border-radius:  4px;
}

.adm-ri-icon  { font-size: 13px; line-height: 1; }
.adm-ri-name  { font-size: 9px; font-weight: 700; }
.adm-ri-sep   { color: rgba(255,255,255,.2); }
.adm-ri-role  { font-size: 8px; color: var(--text3); letter-spacing: .08em; }
.adm-ri-first {
    margin-left:    auto;
    font-size:      8px;
    color:          #fbbf24;
    letter-spacing: .05em;
    white-space:    nowrap;
}

/* ══════════════════════════════════════════════
   RBAC · TEMAS VISUAIS POR PERFIL (ROLE)
   Aplicados no .adm-panel-box via JS inline style
   — estas classes fornecem fallback e overrides
══════════════════════════════════════════════ */

/* ── ADMIN MASTER · ciano ── */
.adm-role--admin .adm-panel-header { border-bottom-color: rgba(0,212,255,.2); }
.adm-role--admin .adm-hbar-header  { border-bottom-color: rgba(0,212,255,.12); }

/* ── SEGURANÇA · vermelho ── */
.adm-role--security .adm-panel-header { border-bottom-color: rgba(239,68,68,.2); }
.adm-role--security .adm-hbar-header  { border-bottom-color: rgba(239,68,68,.1); }
.adm-role--security .adm-hbar-arrow   { border-color: rgba(239,68,68,.2); color: #ef4444; }
.adm-role--security .adm-hbar-dot.active {
    background: rgba(239,68,68,.12); color: #ef4444; border-color: rgba(239,68,68,.4);
}

/* ── GESTÃO · azul ── */
.adm-role--gestao .adm-panel-header { border-bottom-color: rgba(96,165,250,.2); }
.adm-role--gestao .adm-hbar-header  { border-bottom-color: rgba(96,165,250,.1); }
.adm-role--gestao .adm-hbar-arrow   { border-color: rgba(96,165,250,.2); color: #60a5fa; }
.adm-role--gestao .adm-hbar-dot.active {
    background: rgba(96,165,250,.12); color: #60a5fa; border-color: rgba(96,165,250,.4);
}

/* ── COMERCIAL · ciano escuro ── */
.adm-role--comercial .adm-panel-header { border-bottom-color: rgba(0,212,255,.2); }
.adm-role--comercial .adm-hbar-header  { border-bottom-color: rgba(0,212,255,.1); }

/* ── MARKETING · LinkedIn azul ── */
.adm-role--marketing .adm-panel-header { border-bottom-color: rgba(10,102,194,.3); }
.adm-role--marketing .adm-hbar-header  { border-bottom-color: rgba(10,102,194,.15); }
.adm-role--marketing .adm-hbar-arrow   { border-color: rgba(10,102,194,.3); color: #0a66c2; }
.adm-role--marketing .adm-hbar-dot.active {
    background: rgba(10,102,194,.15); color: #0a66c2; border-color: rgba(10,102,194,.5);
}

/* ── IA & NUVEM · roxo ── */
.adm-role--ia .adm-panel-header { border-bottom-color: rgba(192,132,252,.2); }
.adm-role--ia .adm-hbar-header  { border-bottom-color: rgba(192,132,252,.1); }
.adm-role--ia .adm-hbar-arrow   { border-color: rgba(192,132,252,.2); color: #c084fc; }
.adm-role--ia .adm-hbar-dot.active {
    background: rgba(192,132,252,.12); color: #c084fc; border-color: rgba(192,132,252,.4);
}

/* ══════════════════════════════════════════════
   RBAC · CREDENCIAIS VISÍVEIS (REFERÊNCIA)
   Bloco informativo de e-mails por perfil,
   renderizado dentro da aba AUTH pelo changeauth.js
══════════════════════════════════════════════ */

.rbac-users-grid {
    display:               grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap:                   10px;
    margin-bottom:         16px;
}

.rbac-user-card {
    background:    var(--bg3);
    border:        1px solid var(--border);
    border-radius: 7px;
    padding:       12px 14px;
    transition:    border-color .2s, background .15s;
    position:      relative;
    overflow:      hidden;
}

.rbac-user-card::before {
    content:  '';
    position: absolute;
    left:     0; top: 0; bottom: 0;
    width:    3px;
    background: var(--rbac-color, var(--accent));
}

.rbac-user-card:hover { background: rgba(255,255,255,.02); }

.rbac-user-icon  { font-size: 20px; margin-bottom: 6px; }
.rbac-user-name  {
    font-family:   'Share Tech Mono', monospace;
    font-size:     10px;
    font-weight:   700;
    margin-bottom: 2px;
}
.rbac-user-role  {
    font-size:     8px;
    color:         var(--text3);
    letter-spacing:.08em;
    margin-bottom: 8px;
}
.rbac-user-email {
    font-family:    'Share Tech Mono', monospace;
    font-size:      9px;
    color:          var(--rbac-color, var(--accent));
    background:     rgba(0,0,0,.2);
    padding:        3px 7px;
    border-radius:  3px;
    word-break:     break-all;
    margin-bottom:  6px;
}
.rbac-user-tabs {
    display:   flex;
    flex-wrap: wrap;
    gap:       3px;
}
.rbac-tab-chip {
    font-size:     7px;
    font-family:   'Share Tech Mono', monospace;
    padding:       2px 5px;
    border-radius: 2px;
    background:    rgba(255,255,255,.04);
    border:        1px solid rgba(255,255,255,.07);
    color:         var(--text3);
    letter-spacing:.05em;
}
.rbac-chip-all {
    background: rgba(0,212,255,.07);
    border-color: rgba(0,212,255,.2);
    color:      var(--accent);
}
.rbac-reset-btn {
    font-family:   'Share Tech Mono', monospace;
    font-size:     8px;
    padding:       4px 8px;
    border-radius: 3px;
    border:        1px solid rgba(239,68,68,.25);
    background:    rgba(239,68,68,.07);
    color:         #ef4444;
    cursor:        pointer;
    margin-top:    8px;
    transition:    background .15s, border-color .15s;
    width:         100%;
    letter-spacing:.05em;
}
.rbac-reset-btn:hover { background: rgba(239,68,68,.15); border-color: rgba(239,68,68,.5); }
