/* Kepha Studio — Dashboard Executivo REAL (tela própria, separada da Home)
   /squad-elite HOTFIX P0 — DASHBOARD EXECUTIVO REAL + GESTÃO DE USUÁRIOS
   (2026-08-16): antes desta correção, "Dashboard Executivo" era só um modal
   (.modal-box.exec-wide) sobre a Home -- o Owner rejeitou isso explicitamente
   ("Não considerar botão/link no menu como implementação do Dashboard
   Executivo"). Agora é uma TELA PRÓPRIA (#executive-dashboard), mesmo padrão
   estrutural de #intelligent-home (sidebar + topbar + miolo central com
   router de views), usando os MESMOS tokens exatos do Design System
   canônico (ver app.css :root -- --bg-0.._bg-inset, --gold-*, --fg-*,
   --line-*, --radius-*) já aplicados no resto do produto nesta sessão. */

#executive-dashboard{position:fixed;inset:0;z-index:6;overflow:hidden;
  background:var(--surface-app);display:none;
  grid-template-columns:var(--rail-nav) 1fr;grid-template-rows:auto 1fr;
  grid-template-areas:"sidebar topbar" "sidebar main"}
#executive-dashboard.show{display:grid}

.exd-sidebar{grid-area:sidebar;background:var(--surface-chrome);border-right:var(--border-gold);
  display:flex;flex-direction:column;padding:16px 12px;overflow:auto;gap:4px}
.exd-side-brand{display:flex;align-items:center;gap:8px;font-size:14px;padding:6px 8px 8px;color:var(--fg-1)}
.exd-side-brand img{height:22px;width:auto;display:block}
.exd-side-brand .tag{font:700 9px/1 var(--font-mono);color:var(--gold-500);border:var(--border-gold);
  padding:2px 6px;border-radius:var(--radius-pill)}
.exd-side-sub{font:var(--text-meta);color:var(--fg-5);padding:0 8px 16px;text-transform:uppercase;letter-spacing:.1em}
.exd-side-nav{display:flex;flex-direction:column;gap:4px}
/* OS-KEPHA-STUDIO-UX-GOVERNANCE-FINAL-POLISH-001, Fase 2: rótulo de grupo
   (Visão Executiva/Governança/Infraestrutura/Inteligência Artificial) --
   mesmo tratamento visual de .exd-side-sub, só com espaçamento próprio
   pra separar do grupo anterior sem duplicar a régua inteira. */
.exd-side-group{font:var(--text-meta);color:var(--fg-5);text-transform:uppercase;letter-spacing:.1em;
  padding:14px 12px 2px;}
.exd-side-group:first-child{padding-top:2px}
.exd-side-item{display:flex;align-items:center;width:100%;padding:9px 12px;border-radius:var(--radius-md);
  font:400 13px/1 var(--font);color:var(--fg-3);cursor:pointer;background:transparent;border:none;text-align:left;
  transition:background var(--dur-fast) var(--ease-ui),color var(--dur-fast) var(--ease-ui)}
.exd-side-item:hover{background:var(--bg-3);color:var(--fg-1)}
.exd-side-item.active{background:var(--gold-wash);color:var(--gold-100);font-weight:700;box-shadow:var(--marker-active)}
.exd-side-back{margin-top:auto;border-top:1px solid var(--line-2);padding-top:12px}
.exd-side-back .exd-side-item{color:var(--fg-4)}

.exd-top{grid-area:topbar;display:flex;align-items:center;gap:14px;padding:12px 22px;
  border-bottom:1px solid var(--line-2);background:var(--bg-1)}
.exd-top h1{font:var(--text-h2);color:var(--fg-1);margin:0}
.exd-top .exd-badge{font:700 9px/1 var(--font-mono);letter-spacing:.1em;color:var(--gold-500);
  border:var(--border-gold);padding:3px 8px;border-radius:var(--radius-pill);text-transform:uppercase}
.exd-top-actions{margin-left:auto;display:flex;gap:16px;align-items:center;font:var(--text-body-sm);color:var(--fg-3)}
.exd-top-actions button{background:none;border:none;color:inherit;font:inherit;cursor:pointer;padding:0}
.exd-top-actions button:hover{color:var(--fg-1)}

.exd-main{grid-area:main;overflow:auto;padding:24px 28px 40px}
.exd-view-head{margin-bottom:20px}
.exd-view-head h2{font:var(--text-h1);letter-spacing:var(--tracking-h1);color:var(--fg-1);margin:0 0 4px}
.exd-view-head p{color:var(--fg-3);font:var(--text-body-sm);margin:0}

/* período */
.exd-periodbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:18px}
.exd-period-btn{background:transparent;border:1px solid var(--line-3);color:var(--fg-3);border-radius:var(--radius-pill);
  padding:6px 13px;font-size:12px;cursor:pointer}
.exd-period-btn:hover{border-color:var(--gold-line);color:var(--fg-1)}
.exd-period-btn.active{border-color:var(--gold-line);color:var(--gold-500);background:var(--gold-wash)}

/* KPIs */
.exd-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:28px}
.exd-kpi{background:var(--surface-card);border:var(--border-hairline);border-radius:var(--radius-lg);padding:16px}
.exd-kpi-label{font:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--fg-4);margin-bottom:8px}
.exd-kpi-value{font:800 24px/1.1 var(--font);color:var(--fg-1)}
.exd-kpi-value.gold{color:var(--gold-500)}
.exd-kpi-value.unknown{color:var(--fg-5);font-size:15px;font-weight:700}
.exd-kpi-hint{font:var(--text-meta);color:var(--fg-5);margin-top:6px;line-height:1.4}

/* painéis/seções */
.exd-panel{background:var(--surface-chrome);border:var(--border-hairline);border-radius:var(--radius-lg);
  overflow:hidden;margin-bottom:20px}
.exd-panel-head{display:flex;align-items:center;gap:12px;padding:11px 16px;border-bottom:1px solid var(--line-2)}
.exd-panel-head span{font:var(--text-label);letter-spacing:var(--tracking-label);color:var(--fg-3);text-transform:uppercase}
.exd-panel-head .exd-panel-actions{margin-left:auto}
.exd-panel-body{padding:16px}

/* tabelas */
.exd-table-wrap{overflow-x:auto}
.exd-table{width:100%;border-collapse:collapse;font-size:12.5px}
.exd-table thead th{text-align:left;color:var(--fg-5);font:var(--text-label);letter-spacing:.08em;
  padding:9px 14px;border-bottom:1px solid var(--line-1);white-space:nowrap;text-transform:uppercase}
.exd-table td{padding:10px 14px;border-bottom:1px solid var(--line-1);white-space:nowrap;color:var(--fg-2)}
.exd-table tr:last-child td{border-bottom:none}
.exd-row-click{cursor:pointer}
.exd-row-click:hover td{background:rgba(232,182,44,.05)}
.exd-empty{color:var(--fg-3);text-align:center;padding:28px;font-size:13px}
.exd-mono{font-family:var(--font-mono);font-size:11px;color:var(--fg-4)}
.exd-unknown{color:var(--fg-5)}

/* badges de status (mesmo vocabulário de tom do StatusBadge canônico) */
.exd-badge-tone{display:inline-flex;align-items:center;gap:6px;font:var(--text-label);letter-spacing:.08em;
  padding:3px 8px;border-radius:var(--radius-xs);text-transform:uppercase}
.exd-tone-active{color:var(--ok-500);background:var(--ok-wash)}
.exd-tone-invited{color:var(--gold-500);background:var(--gold-wash)}
.exd-tone-inactive{color:var(--danger-500);background:var(--danger-wash)}
.exd-tone-executive{color:var(--gold-500);background:var(--gold-wash)}
.exd-tone-employee{color:var(--fg-3);background:transparent;border:1px solid var(--line-3)}
.exd-invite-fail-hint{margin-top:3px;font-size:10.5px;color:var(--fg-4);text-transform:none;letter-spacing:normal}

/* botões */
.exd-btn{background:transparent;border:1px solid var(--line-3);color:var(--fg-2);border-radius:var(--radius-md);
  padding:8px 14px;font:700 12px/1 var(--font);cursor:pointer}
.exd-btn:hover{border-color:var(--gold-line);color:var(--fg-1)}
.exd-btn-primary{background:var(--gold-500);border:1px solid transparent;color:var(--gold-ink);font-weight:800}
.exd-btn-primary:hover{background:var(--gold-100)}
.exd-btn-primary:active{background:var(--gold-700)}
.exd-btn-primary:disabled{opacity:.45;cursor:default}
.exd-btn-danger{border-color:var(--danger-line);color:var(--danger-500)}
.exd-btn-danger:hover{background:var(--danger-wash)}
.exd-btn-sm{padding:5px 10px;font-size:11px}

/* modal Novo Usuário / detalhe */
.exd-modal{position:fixed;inset:0;background:rgba(8,6,4,.75);display:flex;align-items:center;
  justify-content:center;z-index:60}
.exd-modal-box{background:var(--surface-card);border:var(--border-gold);border-radius:var(--radius-lg);
  padding:24px;width:min(520px,92vw);max-height:88vh;overflow-y:auto;display:flex;flex-direction:column;gap:14px}
.exd-modal-box.wide{width:min(880px,94vw)}
.exd-modal-box h3{font:var(--text-h2);color:var(--fg-1);margin:0}
.exd-modal-box label{display:block;font:var(--text-body-sm);color:var(--fg-3);margin:10px 0 5px}
.exd-modal-box input,.exd-modal-box select{width:100%;background:var(--bg-0);border:1px solid var(--line-2);
  border-radius:var(--radius-md);color:var(--fg-1);padding:9px 11px;font:var(--text-body-md);font-family:var(--font)}
.exd-modal-box input:focus,.exd-modal-box select:focus{outline:none;border-color:var(--gold-500)}
.exd-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}
.exd-modal-err{background:var(--danger-wash);border:1px solid var(--danger-line);color:var(--danger-500);
  border-radius:var(--radius-md);padding:8px 12px;font-size:12px;display:none}
.exd-modal-err.show{display:block}
.exd-modal-ok{background:var(--ok-wash);border:1px solid var(--ok-500);color:var(--ok-500);
  border-radius:var(--radius-md);padding:10px 12px;font-size:12.5px;line-height:1.5;display:none}
.exd-modal-ok.show{display:block}
.exd-invite-link{word-break:break-all;font:400 10.5px/1.5 var(--font-mono);background:var(--bg-inset);
  border:var(--border-hairline);border-radius:var(--radius-md);padding:8px 10px;margin-top:6px}

/* explicação de valor ("Como este valor foi calculado?") */
.exd-value-explain{margin-top:8px;font-size:12px;color:var(--fg-3)}
.exd-value-explain summary{cursor:pointer;color:var(--gold-500);font-weight:700}
.exd-value-explain[open] summary{margin-bottom:6px}

.exd-loading{color:var(--fg-4);text-align:center;padding:30px;font-size:13px}

/* OS: Custos & Valor simplificado / Produção simplificado / Atividade
   recente + Missões que precisam de atenção -- honestidade de dado real
   (ver cabeçalho de executive_dashboard.js): nunca ID cru de usuário
   (.exd-id-sub preserva o ID técnico completo só no tooltip/title),
   disclosure genérico reaproveitando o visual de .exd-value-explain para
   "Ver detalhamento completo", e cartão de missão com problema (tom de
   perigo, nunca escondido). */
.exd-id-sub{font:400 10px/1 var(--font-mono);color:var(--fg-5);margin-left:6px}

.exd-disclosure{margin-top:10px;font-size:12px;color:var(--fg-3)}
.exd-disclosure summary{cursor:pointer;color:var(--gold-500);font-weight:700}
.exd-disclosure[open] summary{margin-bottom:8px}

.exd-problem-card{background:var(--surface-card);border:1px solid var(--danger-line);
  border-radius:var(--radius-lg);padding:12px 14px;margin-bottom:10px}
.exd-problem-card:last-child{margin-bottom:0}
.exd-problem-title{font:700 13px/1.3 var(--font);color:var(--fg-1);margin-bottom:5px}
.exd-problem-reason{color:var(--fg-3);font-size:12px;line-height:1.5;margin-bottom:4px}
.exd-problem-next{color:var(--gold-500);font-size:12px;font-weight:600}
