/* ============================================================
   VFSystems 2 — área administrativa
   Visão geral reestruturada (v2-admin) + padronização visual das demais
   telas admin (escopo .admin-shell), sem alterar a marcação dos formulários.
   ============================================================ */
.admin-shell{width:min(1320px,calc(100% - 40px))}
.dashboard:has(.admin-shell){background:var(--v2-canvas);padding:36px 0 96px}

/* cabeçalho e abas (todas as telas admin) */
.admin-shell .admin-topbar{align-items:flex-end;margin-bottom:20px}
.admin-shell .admin-topbar .eyebrow{font-size:12px;letter-spacing:.06em;color:var(--v2-subtle)}
.admin-shell .admin-topbar h1{font-size:28px;letter-spacing:-.025em;margin:6px 0 4px}
.admin-shell .admin-topbar p{font-size:14px;line-height:1.5;color:var(--v2-muted);max-width:720px}
.admin-shell .admin-top-actions .status-pill{background:var(--v2-ink);color:#fff;font-size:11px;letter-spacing:.04em}
.admin-shell .admin-section-tabs{display:flex;flex-wrap:wrap;gap:4px;padding:4px;margin:0 0 24px;background:#fff;border:1px solid var(--v2-line);border-radius:12px;width:max-content;max-width:100%;overflow-x:auto;scrollbar-width:none}
/* 29/10/2026: com a aba E-mails a barra passou da largura e "Suporte" sumia na rolagem escondida; agora quebra a linha (e as 13 abas cabem em uma linha a partir de ~1400 px) */
.admin-shell .admin-section-tabs::-webkit-scrollbar{display:none}
.admin-shell .admin-section-tabs a{padding:8px 10px;border-radius:9px;font-size:14px;font-weight:500;color:var(--v2-muted);white-space:nowrap;background:none;box-shadow:none;border:0}
.admin-shell .admin-section-tabs a:hover{color:var(--v2-ink);background:var(--v2-tint)}
.admin-shell .admin-section-tabs a.active{background:var(--v2-ink);color:#fff}

/* KPIs legados (financeiro, recursos etc.): sem cards órfãos */
.admin-shell .stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;gap:12px}
.admin-shell .stat-card{border-radius:14px;padding:16px 18px;border-color:var(--v2-line);box-shadow:none}
.admin-shell .stat-card span{font-size:12px;font-weight:500;color:var(--v2-muted)}
.admin-shell .stat-card b{font-size:24px;color:var(--v2-ink);letter-spacing:-.03em}
.admin-shell .stat-card small{font-size:12px;color:var(--v2-subtle);line-height:1.4}

/* tabelas: texto legível */
.admin-shell .table-card{border-radius:14px;border-color:var(--v2-line)}
.admin-shell .table-card th{font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--v2-muted);background:var(--v2-canvas);padding:11px 14px}
.admin-shell .table-card td{font-size:13px;color:var(--v2-text);padding:12px 14px;border-bottom-color:var(--v2-line)}
.admin-shell .table-card td b{color:var(--v2-ink);font-weight:600}
.admin-shell .table-card td small{font-size:12px;color:var(--v2-subtle)}
.admin-shell .table-card tbody tr:hover td{background:#fafbfc}
.admin-shell .table-card code{font-size:12px;background:var(--v2-tint);color:var(--v2-text)}
.admin-shell .section-row-heading h2{font-size:18px}
.admin-shell .section-row-heading p{font-size:13px;color:var(--v2-muted)}
.admin-shell .tiny-pill{font-size:11px;padding:3px 8px;background:var(--v2-tint);color:var(--v2-text)}
.admin-shell .access-badge{font-size:11px;padding:3px 8px}
.admin-shell .access-badge.trial{background:var(--v2-tint);color:var(--v2-text)}
.admin-shell .btn-xs{font-size:12px;padding:6px 10px}

/* gráficos de barras na identidade nova */
.admin-shell .chart-card{border-radius:14px;border-color:var(--v2-line)}
.admin-shell .chart-head b{font-size:14px}
.admin-shell .chart-head span{font-size:12px}
.admin-shell .bar-col i{background:var(--v2-ink);border-radius:4px 4px 0 0;opacity:.85}
.admin-shell .bar-col:hover i{background:var(--v2-green);opacity:1}
.admin-shell .bar-col span,.admin-shell .bar-value{font-size:10px}

/* ---------- Visão geral (v2-admin) ---------- */
.v2-kpis{display:grid;gap:12px;margin-bottom:12px}
.v2-kpis-main{grid-template-columns:repeat(4,minmax(0,1fr))}
.v2-kpis-usage{grid-template-columns:repeat(8,minmax(0,1fr));margin-bottom:24px}
.v2-kpi{background:#fff;border:1px solid var(--v2-line);border-radius:14px;padding:18px 20px;display:flex;flex-direction:column;gap:4px;min-width:0}
.v2-kpi span{font-size:13px;font-weight:500;color:var(--v2-muted)}
.v2-kpi b{font-size:30px;font-weight:700;letter-spacing:-.035em;color:var(--v2-ink);line-height:1.1}
.v2-kpi small{font-size:12px;color:var(--v2-subtle);line-height:1.4}
.v2-kpi small a{color:var(--v2-green);font-weight:600}
.v2-kpi.sm{padding:12px 14px;border-radius:12px}
.v2-kpi.sm span{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v2-kpi.sm b{font-size:20px}
.v2-kpi.sm small{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v2-kpi.attention{border-color:#f6d3ae;background:var(--v2-amber-soft)}
.v2-kpi.attention b{color:var(--v2-amber)}
.v2-charts{margin:0 0 8px}

.v2-admin-users-head{align-items:flex-end;margin-top:32px}
.v2-admin-users-head p{margin:4px 0 0;font-size:13px}
.v2-search{display:flex;align-items:center;gap:8px;padding:0 12px;height:40px;min-width:280px;background:#fff;border:1px solid var(--v2-line-strong);border-radius:10px;color:var(--v2-subtle)}
.v2-search:focus-within{border-color:var(--v2-green);box-shadow:0 0 0 3px var(--v2-green-soft)}
.v2-search input{border:0;outline:0;flex:1;font:inherit;font-size:14px;color:var(--v2-ink);background:none;min-width:0}
.v2-legend{display:flex;gap:16px;margin:0 0 10px;font-size:12px;color:var(--v2-muted)}
.v2-legend span{display:inline-flex;align-items:center;gap:6px}
.v2-legend i,.v2-acc i{width:7px;height:7px;border-radius:50%;background:var(--v2-line-strong);display:inline-block;flex:none}
.v2-legend i.on,.v2-acc.on i{background:var(--v2-green-bright)}
.v2-legend i.off,.v2-acc.off i{background:var(--v2-red)}

.v2-user-list{list-style:none;margin:0;padding:0;background:#fff;border:1px solid var(--v2-line);border-radius:16px}
.v2-user{display:grid;grid-template-columns:minmax(220px,1.6fr) 118px minmax(120px,1fr) auto 86px auto;gap:18px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--v2-line)}
.v2-user:last-child{border-bottom:0}
.v2-user:hover{background:#fafbfc}
.v2-user[hidden]{display:none}
.v2-user.is-blocked{background:var(--v2-red-soft)}
.v2-user-id{display:flex;align-items:center;gap:12px;min-width:0}
.v2-user-id>div{min-width:0}
.v2-user-id b{display:block;font-size:14px;font-weight:600;color:var(--v2-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v2-user-id small{display:block;font-size:12px;color:var(--v2-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v2-user-id .v2-badge{margin-top:4px;font-size:11px;padding:2px 8px}
.v2-user-id .v2-avatar{width:32px;height:32px;font-size:13px;background:var(--v2-tint);color:var(--v2-ink)}
.v2-user-dates b{display:block;font-size:13px;font-weight:500;color:var(--v2-text);font-variant-numeric:tabular-nums}
.v2-user-dates small{display:block;font-size:12px;color:var(--v2-subtle);white-space:nowrap}
.v2-user-plan{min-width:0}
.v2-user-plan .v2-badge{max-width:100%;white-space:normal;line-height:1.3;border-radius:10px;font-size:12px;font-weight:500}
.v2-user-access{display:flex;gap:6px;flex-wrap:wrap;min-width:0}
.v2-user-access form{margin:0}
.v2-acc{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border:1px solid var(--v2-line-strong);border-radius:999px;background:#fff;font:inherit;font-size:12px;font-weight:600;color:var(--v2-muted);white-space:nowrap;cursor:pointer;transition:border-color .15s,background .15s,color .15s}
.v2-acc.on{border-color:var(--v2-green-line);background:var(--v2-green-soft);color:var(--v2-green)}
.v2-acc.off{border-color:#fecdca;background:var(--v2-red-soft);color:var(--v2-red)}
button.v2-acc:hover{border-color:var(--v2-ink);color:var(--v2-ink)}
.v2-acc.static{cursor:default;opacity:.75}
.v2-user-usage{display:grid;grid-template-columns:auto auto;gap:0 5px;align-items:baseline;justify-content:start;font-variant-numeric:tabular-nums}
.v2-user-usage b{font-size:13px;color:var(--v2-ink);text-align:right}
.v2-user-usage small{font-size:11px;color:var(--v2-subtle)}
.v2-user-actions{display:flex;align-items:center;gap:4px;justify-content:flex-end}
.v2-user-actions .btn-ghost{color:var(--v2-muted)}
.v2-user-actions .v2-menu-pop form{margin:0}
.v2-empty-filter{padding:24px;text-align:center;color:var(--v2-muted);font-size:14px}

.v2-fold{margin-top:16px;background:#fff;border:1px solid var(--v2-line);border-radius:14px}
.v2-fold>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;cursor:pointer}
.v2-fold>summary::-webkit-details-marker{display:none}
.v2-fold>summary b{display:block;font-size:15px;color:var(--v2-ink)}
.v2-fold>summary small{display:block;font-size:13px;color:var(--v2-muted)}
.v2-fold>summary:after{content:"+";font-size:20px;color:var(--v2-subtle);margin-left:8px}
.v2-fold[open]>summary:after{content:"−"}
.v2-fold>.table-card,.v2-fold>.empty-state,.v2-fold>.v2-install{margin:0 20px 20px}
.v2-install{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.v2-install>div{padding:12px;border:1px solid var(--v2-line);border-radius:10px;min-width:0}
.v2-install span{display:block;font-size:12px;color:var(--v2-muted)}
.v2-install b{display:block;font-size:13px;color:var(--v2-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

@media (max-width:1180px){
  .v2-kpis-usage{grid-template-columns:repeat(4,minmax(0,1fr))}
  .v2-user{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"id access actions" "id dates usage";row-gap:6px}
  .v2-user-id{grid-area:id}.v2-user-access{grid-area:access}.v2-user-actions{grid-area:actions}
  .v2-user-dates{grid-area:dates;display:flex;gap:8px;align-items:baseline}.v2-user-plan{display:none}.v2-user-usage{grid-area:usage}
}
@media (max-width:760px){
  .admin-shell{width:min(100% - 28px,1320px)}
  .v2-kpis-main{grid-template-columns:1fr 1fr}
  .v2-kpis-usage{grid-template-columns:1fr 1fr}
  .v2-admin-users-head{flex-direction:column;align-items:stretch}
  .v2-search{min-width:0}
  .v2-user{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"id actions" "access access" "dates usage";padding:14px}
  .v2-user-access{flex-wrap:wrap}
  .v2-user-actions .btn-ghost span{display:none}
  .v2-install{grid-template-columns:1fr 1fr}
  .admin-shell .admin-topbar{flex-direction:column;align-items:flex-start}
}
/* colunas fixas para alinhar as linhas; os botões de produto quebram linha se não couberem (1181–1399 px) */
@media (min-width:1181px){.v2-user{grid-template-columns:minmax(200px,1.6fr) 110px minmax(110px,1fr) 316px 56px 150px}}
@media (min-width:1400px){.v2-user{grid-template-columns:minmax(190px,1.4fr) 104px minmax(110px,1fr) 500px 56px 150px}}

/* ---------- Auditoria (v2.2.3) ---------- */
.admin-shell .audit-filter-card{border-radius:14px;border-color:var(--v2-line);padding:20px}
.admin-shell .audit-filter-head b{font-size:16px;color:var(--v2-ink)}
.admin-shell .audit-filter-head small{font-size:13px;color:var(--v2-muted)}
.admin-shell .audit-filter-card label>span{font-size:12px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--v2-text)}
.admin-shell .audit-filter-card select{font-size:14px;padding:10px 12px;border-radius:10px;border-color:var(--v2-line-strong)}
.admin-shell .audit-filter-card select:focus{border-color:var(--v2-green);box-shadow:0 0 0 3px var(--v2-green-soft);outline:0}
.admin-shell .audit-user-banner{background:#fff;border-color:var(--v2-line)}
.admin-shell .audit-user-banner>div:first-child>b{font-size:17px;color:var(--v2-ink)}
.admin-shell .audit-user-banner>div:first-child>small{font-size:12px}
.admin-shell .audit-summary-strip span{font-size:13px;padding:6px 12px;color:var(--v2-text)}
.admin-shell .audit-summary-strip b{font-size:13px;color:var(--v2-green)}
/* tabela: colunas que cabem o conteúdo; selo do módulo quebra linha em vez de invadir a coluna vizinha */
.admin-shell .audit-table table{min-width:1080px}
.admin-shell .audit-table th:nth-child(1){width:96px}
.admin-shell .audit-table th:nth-child(2){width:15%}
.admin-shell .audit-table th:nth-child(3){width:19%}
.admin-shell .audit-table th:nth-child(4){width:104px}
.admin-shell .audit-table th:nth-child(5){width:17%}
.admin-shell .audit-table th:nth-child(6){width:auto}
.admin-shell .audit-table th:nth-child(7){width:80px}
.admin-shell .audit-table td .tiny-pill{display:inline-block;max-width:100%;white-space:normal;line-height:1.35;padding:4px 9px;border-radius:8px;overflow-wrap:anywhere}
.admin-shell .audit-table td{overflow-wrap:anywhere}
.admin-shell .audit-time small,.admin-shell .audit-table td>small{font-size:12px;color:var(--v2-subtle)}
.admin-shell .audit-summary-cell{font-size:13px;line-height:1.5;color:var(--v2-text)}
.admin-shell .audit-tech summary{font-size:13px;font-weight:600;color:var(--v2-green)}
.admin-shell .audit-tech span{font-size:12px;color:var(--v2-text)}
.admin-shell .audit-tech b{font-size:11px;letter-spacing:.03em;color:var(--v2-subtle)}

/* ---------- Galeria de arquivos (v2.2.3) ---------- */
.admin-shell .admin-files-notice{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;background:#fff;border:1px solid var(--v2-line);border-radius:12px;padding:12px 16px}
.admin-shell .admin-files-notice b{font-size:13px;color:var(--v2-ink)}
.admin-shell .admin-files-notice span{font-size:13px;color:var(--v2-muted)}
.admin-shell .admin-files-filters{border-radius:14px;border-color:var(--v2-line);padding:16px}
.admin-shell .admin-files-filters label>span{font-size:12px;font-weight:600;text-transform:none;color:var(--v2-text)}
.admin-shell .admin-files-filters select,.admin-shell .admin-files-filters input{font-size:14px;border-radius:10px;border-color:var(--v2-line-strong)}
.admin-shell .admin-file-stats>div{border-radius:14px;border-color:var(--v2-line);padding:16px 18px}
.admin-shell .admin-file-stats span{font-size:12px;font-weight:500;text-transform:none;color:var(--v2-muted)}
.admin-shell .admin-file-stats b{font-size:24px;letter-spacing:-.03em;color:var(--v2-ink)}
.admin-shell .admin-file-stats small{font-size:12px;color:var(--v2-subtle)}
.admin-shell .admin-file-group{margin-top:28px}
.admin-shell .admin-file-group-head h2{font-size:17px}
.admin-shell .admin-file-group-head>span{font-size:13px;color:var(--v2-muted)}
.admin-shell .admin-file-product{font-size:12px;font-weight:600;padding:4px 10px}
.admin-shell .admin-file-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.admin-shell .admin-file-card{border-radius:14px;border-color:var(--v2-line);padding:18px;gap:14px}
.admin-shell .admin-file-card:hover{border-color:var(--v2-line-strong);box-shadow:var(--v2-shadow)}
.admin-shell .admin-file-kind-icon{width:40px;height:40px;flex-basis:40px;font-size:11px;background:var(--v2-tint);color:var(--v2-ink)}
.admin-shell .admin-file-card-title b{font-size:14px;color:var(--v2-ink)}
.admin-shell .admin-file-card-title small{font-size:12px;color:var(--v2-muted)}
.admin-shell .file-status,.admin-shell .file-format{font-size:11px;font-weight:600;padding:3px 9px}
.admin-shell .admin-file-meta{gap:12px 16px;padding:14px 0;border-top:1px solid var(--v2-line);border-bottom:1px solid var(--v2-line)}
.admin-shell .admin-file-meta dt{font-size:11px;font-weight:600;letter-spacing:.03em;color:var(--v2-subtle)}
.admin-shell .admin-file-meta dd{font-size:13px;color:var(--v2-text)}
.admin-shell .retention-text{font-size:12px;color:var(--v2-green)}
.admin-shell .admin-file-card-actions{display:flex;gap:8px}
.admin-shell .admin-file-unavailable{font-size:13px}
.admin-shell .admin-file-id{font-size:11px;border-top:0;padding-top:0}
.v2-billing-search{max-width:320px;margin-left:auto}
