
.admin-settings-page{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.admin-settings-hero{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:20px 22px;
  background:linear-gradient(135deg,#ffffff 0%,#f7faff 100%);
  border:1px solid #e2e8f0;
  border-radius:16px;
  box-shadow:0 10px 28px rgba(15,23,42,.05);
}
.admin-settings-hero h1{
  margin:0 0 6px;
  color:#14213a;
  font-size:22px;
  line-height:1.2;
}
.admin-settings-hero p{
  margin:0;
  max-width:760px;
  color:#64748b;
  font-size:13px;
  line-height:1.55;
}
.admin-settings-lock{
  display:inline-flex;
  align-items:center;
  gap:6px;
  flex:0 0 auto;
  padding:7px 10px;
  border:1px solid #fed7aa;
  border-radius:999px;
  background:#fff7ed;
  color:#9a3412;
  font-size:11px;
  font-weight:800;
}
.admin-settings-tabs{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  padding:8px;
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:14px;
  box-shadow:0 8px 22px rgba(15,23,42,.04);
}
.admin-settings-tab{
  border:0;
  border-radius:9px;
  padding:9px 11px;
  background:transparent;
  color:#56657a;
  font:inherit;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
  transition:.16s ease;
}
.admin-settings-tab:hover{
  background:#f1f5f9;
  color:#1e293b;
}
.admin-settings-tab.active{
  background:#eff6ff;
  color:#2563eb;
}
.admin-settings-panel{
  min-height:360px;
  padding:19px;
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:15px;
  box-shadow:0 8px 24px rgba(15,23,42,.045);
}
.admin-settings-panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}
.admin-settings-panel-head h2{
  margin:0 0 5px;
  color:#1e293b;
  font-size:18px;
}
.admin-settings-panel-head p{
  margin:0;
  color:#718096;
  font-size:12.5px;
  line-height:1.5;
}
.admin-settings-badge{
  display:inline-flex;
  align-items:center;
  padding:5px 8px;
  border-radius:999px;
  font-size:10px;
  font-weight:800;
}
.admin-settings-badge.pending{
  background:#f1f5f9;
  color:#64748b;
}
.admin-settings-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:13px;
}
.admin-settings-card{
  min-width:0;
  padding:16px;
  border:1px solid #e6ebf1;
  border-radius:13px;
  background:#fbfdff;
}
.admin-settings-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.admin-settings-card h3{
  margin:0;
  color:#475569;
  font-size:12px;
  font-weight:800;
}
.admin-settings-main-value{
  display:block;
  margin:11px 0 5px;
  overflow:hidden;
  color:#172033;
  font-size:21px;
  font-weight:850;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.admin-settings-card small{
  display:block;
  overflow:hidden;
  color:#718096;
  font-size:11px;
  line-height:1.45;
  text-overflow:ellipsis;
}
.admin-settings-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-height:22px;
  padding:4px 7px;
  border-radius:999px;
  font-size:9.5px;
  font-weight:850;
}
.admin-settings-status.ok{
  background:#dcfce7;
  color:#166534;
}
.admin-settings-status.warn{
  background:#fef3c7;
  color:#92400e;
}
.admin-settings-status.bad{
  background:#fee2e2;
  color:#991b1b;
}
.admin-settings-status.neutral{
  background:#eef2f7;
  color:#526174;
}
.admin-settings-overview-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-top:15px;
  padding-top:13px;
  border-top:1px solid #edf1f5;
  color:#718096;
  font-size:10.5px;
}
.admin-settings-overview-footer strong{
  color:#475569;
}
.admin-settings-loading,
.admin-settings-error,
.admin-settings-empty{
  display:flex;
  min-height:240px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px dashed #cbd5e1;
  border-radius:12px;
  background:#f8fafc;
  color:#64748b;
  text-align:center;
  font-size:12px;
}
.admin-settings-error{
  border-color:#fecaca;
  background:#fff7f7;
  color:#991b1b;
}
.admin-settings-empty strong{
  color:#334155;
  font-size:13px;
}
.admin-settings-empty span{
  max-width:560px;
  line-height:1.5;
}
@media(max-width:1180px){
  .admin-settings-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:720px){
  .admin-settings-hero{
    flex-direction:column;
  }
  .admin-settings-grid{
    grid-template-columns:1fr;
  }
  .admin-settings-panel{
    padding:15px;
  }
}

.admin-settings-badge.ready{
  background:#dcfce7;color:#166534;
}
.admin-settings-form-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;
}
.admin-settings-field{
  display:flex;flex-direction:column;gap:6px;min-width:0;
}
.admin-settings-field-wide{grid-column:span 2}
.admin-settings-field>span{
  color:#475569;font-size:11px;font-weight:800;
}
.admin-settings-field input,
.admin-settings-field select{
  width:100%;min-height:40px;padding:9px 10px;
  border:1px solid #d8e0ea;border-radius:9px;
  background:#fff;color:#1e293b;font:inherit;font-size:12.5px;outline:none;
}
.admin-settings-field input:focus,
.admin-settings-field select:focus{
  border-color:#93c5fd;box-shadow:0 0 0 3px rgba(59,130,246,.10);
}
.admin-settings-field small{
  color:#7c8798;font-size:10.5px;line-height:1.4;
}
.admin-settings-smtp-actions{
  display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;
  margin-top:17px;padding-top:15px;border-top:1px solid #edf1f5;
}
.admin-settings-smtp-actions .btn:disabled{opacity:.6;cursor:wait}
.admin-settings-inline-status{
  margin-top:12px;padding:10px 12px;border:1px solid transparent;
  border-radius:9px;font-size:11.5px;font-weight:700;line-height:1.45;
}
.admin-settings-inline-status.info{
  border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8;
}
.admin-settings-inline-status.ok{
  border-color:#bbf7d0;background:#f0fdf4;color:#166534;
}
.admin-settings-inline-status.bad{
  border-color:#fecaca;background:#fff7f7;color:#991b1b;
}
.admin-settings-note{
  margin-top:12px;padding:11px 13px;border:1px dashed #cbd5e1;
  border-radius:10px;background:#f8fafc;color:#64748b;
  font-size:10.8px;line-height:1.5;
}
.admin-settings-note strong{color:#475569}
@media(max-width:1050px){
  .admin-settings-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .admin-settings-form-grid{grid-template-columns:1fr}
  .admin-settings-field-wide{grid-column:span 1}
  .admin-settings-smtp-actions{justify-content:stretch}
  .admin-settings-smtp-actions .btn{flex:1 1 100%}
}

.system-audios-panel{
  min-height:420px;
}
.system-audios-head{
  align-items:center;
}
.system-audio-summary{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.system-audio-summary>span{
  display:flex;
  align-items:baseline;
  gap:4px;
  padding:6px 8px;
  border:1px solid #e2e8f0;
  border-radius:999px;
  background:#f8fafc;
  color:#64748b;
  font-size:10px;
  white-space:nowrap;
}
.system-audio-summary strong{
  color:#334155;
  font-size:11px;
}
.system-audio-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:11px;
}
.system-audio-search{
  display:flex;
  align-items:center;
  gap:7px;
  width:min(440px,100%);
  min-height:40px;
  padding:0 11px;
  border:1px solid #dbe2ea;
  border-radius:10px;
  background:#fff;
}
.system-audio-search>span{
  color:#94a3b8;
  font-size:18px;
}
.system-audio-search input{
  flex:1;
  min-width:0;
  border:0;
  outline:0;
  background:transparent;
  color:#1e293b;
  font:inherit;
  font-size:12.5px;
}
.system-audio-categories{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-bottom:12px;
}
.system-audio-category{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 9px;
  border:1px solid #e2e8f0;
  border-radius:9px;
  background:#fff;
  color:#64748b;
  font:inherit;
  font-size:10.5px;
  font-weight:750;
  cursor:pointer;
}
.system-audio-category:hover{
  background:#f8fafc;
  color:#334155;
}
.system-audio-category.active{
  border-color:#bfdbfe;
  background:#eff6ff;
  color:#1d4ed8;
}
.system-audio-category span{
  min-width:20px;
  padding:2px 5px;
  border-radius:999px;
  background:#f1f5f9;
  color:#64748b;
  font-size:9px;
  text-align:center;
}
.system-audio-category.active span{
  background:#dbeafe;
  color:#1d4ed8;
}
.system-audio-note{
  margin:0 0 17px;
}
.system-audios-body{
  display:flex;
  flex-direction:column;
  gap:20px;
}
.system-audio-group{
  min-width:0;
}
.system-audio-group-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:8px;
}
.system-audio-group-title{
  display:flex;
  align-items:center;
  gap:9px;
}
.system-audio-group-icon{
  display:grid;
  place-items:center;
  width:31px;
  height:31px;
  border-radius:9px;
  background:#eff6ff;
  color:#2563eb;
  font-size:14px;
  font-weight:900;
}
.system-audio-group h3{
  margin:0 0 2px;
  color:#334155;
  font-size:13px;
}
.system-audio-group small{
  color:#94a3b8;
  font-size:9.8px;
}
.system-audio-list{
  overflow:hidden;
  border:1px solid #e5eaf0;
  border-radius:12px;
  background:#fff;
}
.system-audio-row{
  display:grid;
  grid-template-columns:46px minmax(280px,1fr) 170px auto;
  gap:11px;
  align-items:center;
  min-width:0;
  padding:12px 13px;
  border-bottom:1px solid #edf1f5;
}
.system-audio-row:last-child{
  border-bottom:0;
}
.system-audio-row:hover{
  background:#fbfdff;
}
.system-audio-play-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
}
.system-audio-play{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  padding:0;
  border:1px solid #d8e1ec;
  border-radius:10px;
  background:#fff;
  color:#2563eb;
  font-size:12px;
  cursor:pointer;
  transition:.15s ease;
}
.system-audio-play:hover:not(:disabled),
.system-audio-play.playing{
  border-color:#93c5fd;
  background:#eff6ff;
}
.system-audio-play:disabled{
  opacity:.45;
  cursor:not-allowed;
}
.system-audio-info{
  min-width:0;
}
.system-audio-title-line{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
}
.system-audio-title-line>strong{
  color:#1e293b;
  font-size:12px;
}
.system-audio-title-line code{
  padding:2px 5px;
  border-radius:5px;
  background:#f1f5f9;
  color:#64748b;
  font-family:Consolas,monospace;
  font-size:9.5px;
}
.system-audio-info p{
  margin:4px 0 5px;
  color:#64748b;
  font-size:10.7px;
  line-height:1.42;
}
.system-audio-usage{
  display:flex;
  align-items:center;
  gap:5px;
  color:#94a3b8;
  font-size:9.5px;
}
.system-audio-usage strong{
  overflow:hidden;
  color:#64748b;
  font-weight:700;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.system-audio-meta{
  min-width:0;
}
.system-audio-formats{
  display:flex;
  gap:4px;
  flex-wrap:wrap;
  margin-bottom:5px;
}
.system-audio-formats span{
  padding:2px 5px;
  border-radius:5px;
  background:#eef2f7;
  color:#526174;
  font-size:8.7px;
  font-weight:800;
}
.system-audio-meta small{
  color:#94a3b8;
  font-size:9.5px;
}
.system-audio-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:5px;
  flex-wrap:wrap;
}
.system-audio-actions .btn{
  padding:7px 8px;
  font-size:9.8px;
}
.system-audio-actions .btn:disabled{
  opacity:.45;
  cursor:not-allowed;
}
.system-audio-paths{
  grid-column:2 / -1;
  padding:8px 10px;
  border:1px solid #e2e8f0;
  border-radius:9px;
  background:#f8fafc;
}
.system-audio-paths>div{
  display:grid;
  grid-template-columns:54px 1fr;
  gap:8px;
  align-items:center;
  padding:3px 0;
}
.system-audio-paths span{
  color:#64748b;
  font-size:9px;
  font-weight:800;
}
.system-audio-paths code{
  overflow-wrap:anywhere;
  color:#475569;
  font-family:Consolas,monospace;
  font-size:9.5px;
}
.system-audio-empty{
  min-height:180px;
}
@media(max-width:1180px){
  .system-audio-row{
    grid-template-columns:46px minmax(240px,1fr) auto;
  }
  .system-audio-meta{
    grid-column:2;
  }
  .system-audio-actions{
    grid-column:3;
    grid-row:1 / span 2;
  }
}
@media(max-width:760px){
  .system-audios-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .system-audio-summary{
    justify-content:flex-start;
  }
  .system-audio-toolbar{
    align-items:stretch;
    flex-direction:column;
  }
  .system-audio-search{
    width:100%;
  }
  .system-audio-row{
    grid-template-columns:40px 1fr;
  }
  .system-audio-meta,
  .system-audio-actions,
  .system-audio-paths{
    grid-column:2;
  }
  .system-audio-actions{
    grid-row:auto;
    justify-content:flex-start;
  }
}

.system-audio-view-switch{
  display:inline-flex;
  align-items:center;
  gap:4px;
  margin-bottom:12px;
  padding:4px;
  border:1px solid #e2e8f0;
  border-radius:10px;
  background:#f8fafc;
}
.system-audio-view{
  border:0;
  border-radius:7px;
  padding:7px 10px;
  background:transparent;
  color:#64748b;
  font:inherit;
  font-size:10.5px;
  font-weight:800;
  cursor:pointer;
}
.system-audio-view.active{
  background:#fff;
  color:#2563eb;
  box-shadow:0 1px 4px rgba(15,23,42,.10);
}
.system-audio-function-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.system-audio-function-card{
  overflow:hidden;
  min-width:0;
  border:1px solid #e2e8f0;
  border-radius:13px;
  background:#fff;
}
.system-audio-function-head{
  padding:14px 15px 11px;
  border-bottom:1px solid #edf1f5;
  background:#fbfdff;
}
.system-audio-function-title{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.system-audio-function-title h3{
  margin:0;
  color:#1e293b;
  font-size:13px;
}
.system-audio-function-title>span{
  padding:3px 7px;
  border-radius:999px;
  background:#eff6ff;
  color:#2563eb;
  font-family:Consolas,monospace;
  font-size:9.5px;
  font-weight:800;
}
.system-audio-function-head p{
  margin:6px 0 0;
  color:#64748b;
  font-size:10.5px;
  line-height:1.45;
}
.system-audio-function-list{
  display:flex;
  flex-direction:column;
}
.system-audio-function-row{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 110px;
  gap:9px;
  align-items:center;
  padding:10px 12px;
  border-bottom:1px solid #edf1f5;
}
.system-audio-function-row:last-child{
  border-bottom:0;
}
.system-audio-function-info{
  min-width:0;
}
.system-audio-function-info p{
  margin:4px 0 0;
  color:#64748b;
  font-size:10px;
  line-height:1.4;
}
.system-audio-function-row .system-audio-meta{
  text-align:right;
}
.system-audio-function-row .system-audio-actions{
  grid-column:2 / -1;
  justify-content:flex-start;
}
.system-audio-function-row .system-audio-paths{
  grid-column:2 / -1;
  width:100%;
}
.system-audio-shared{
  margin-top:5px;
  color:#b45309;
  font-size:9.2px;
  line-height:1.35;
}
.system-audio-shared strong{
  color:#92400e;
}
.system-audio-function-note{
  padding:9px 13px;
  border-top:1px solid #edf1f5;
  background:#f8fafc;
  color:#7c8798;
  font-size:9.5px;
  line-height:1.45;
}
@media(max-width:1180px){
  .system-audio-function-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:720px){
  .system-audio-view-switch{
    display:flex;
    width:100%;
  }
  .system-audio-view{
    flex:1;
  }
  .system-audio-function-row{
    grid-template-columns:34px 1fr;
  }
  .system-audio-function-row .system-audio-meta,
  .system-audio-function-row .system-audio-actions,
  .system-audio-function-row .system-audio-paths{
    grid-column:2;
    text-align:left;
  }
}

/* BLOCO 3 V5 - acabamento visual aprovado */
.system-audio-categories[hidden]{
  display:none !important;
}

/* Duas colunas independentes: elimina os vazios causados pelas linhas do grid. */
.system-audio-function-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  align-items:start;
}
.system-audio-function-column{
  display:flex;
  flex-direction:column;
  gap:14px;
  min-width:0;
}
.system-audio-function-column .system-audio-function-card{
  margin:0;
}
@media(max-width:1180px){
  .system-audio-function-grid{
    grid-template-columns:1fr;
  }
}

/* PABX PRIME - PAINEL FINANCEIRO FASE 2 V1 */
.finance-panel{overflow:hidden}
.finance-head{align-items:flex-start}
.finance-tools{display:flex;gap:9px;align-items:flex-end;flex-wrap:wrap}
.finance-tools label{display:grid;gap:4px;color:#6d8195;font-size:10px;font-weight:800}
.finance-tools input{height:38px;border:1px solid #d5e0eb;border-radius:9px;padding:0 9px;font:inherit}
.finance-manual{margin:13px 18px 0;padding:9px 11px;border:1px solid #cfe0f2;border-radius:9px;background:#f4f9ff;color:#506b86;font-size:11px}
.finance-manual strong{color:#255b8d}
.finance-kpis{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr));gap:9px;padding:13px 18px}
.finance-kpis article,.finance-client-kpis article{border:1px solid #e1e8f0;border-radius:10px;padding:12px;background:#fff}
.finance-kpis span,.finance-client-kpis span,.finance-result span{display:block;color:#76899c;font-size:9.5px;text-transform:uppercase;letter-spacing:.5px;font-weight:800}
.finance-kpis strong,.finance-client-kpis strong{display:block;margin-top:7px;font-size:18px;color:#172c43}
.finance-kpis small,.finance-result small{display:block;margin-top:4px;color:#8293a4;font-size:9px}
.finance-kpis .positive strong,.finance-result.positive strong,.positive-text{color:#17765a!important}
.finance-kpis .negative strong,.finance-result.negative strong,.negative-text{color:#b43b46!important}
.finance-list-head{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:0 18px;padding:13px 0 9px;border-top:1px solid #edf1f5}
.finance-list-head h3{margin:0;font-size:14px}.finance-list-head p{margin:3px 0 0;color:#7d8e9f;font-size:10px}
.finance-list-head input{width:min(330px,100%);height:37px;border:1px solid #d5e0eb;border-radius:9px;padding:0 10px;font:inherit}
.finance-table-wrap{overflow:auto;border-top:1px solid #edf1f5}
.finance-table{width:100%;min-width:980px;border-collapse:collapse;font-size:10.5px}
.finance-table th{padding:9px 10px;background:#f8fafc;color:#6d8094;text-align:left;text-transform:uppercase;font-size:9px;letter-spacing:.45px;border-bottom:1px solid #e2e9f0}
.finance-table td{padding:10px;border-bottom:1px solid #edf1f5;vertical-align:middle}
.finance-table td strong{font-size:11px}.finance-table td small{display:block;margin-top:3px;color:#8091a2;font-size:9px}
.finance-table .money{font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}
.finance-badge{display:inline-flex;margin-top:4px;padding:3px 6px;border-radius:999px;background:#f0f3f7;color:#677a8e;font-size:8.5px;font-weight:800}
.finance-badge.ok{background:#e8f7f1;color:#157452}.finance-badge.warn{background:#fff5dc;color:#93610f}.finance-badge.bad{background:#ffedef;color:#ad3540}
.finance-back{border:0;background:transparent;padding:0;margin:0 0 7px;color:#2468aa;font:inherit;font-size:10px;font-weight:800;cursor:pointer}
.finance-result{min-width:170px;border:1px solid #e1e8f0;border-radius:10px;padding:10px 12px;background:#fbfcfe}
.finance-result strong{display:block;margin:5px 0;font-size:18px}
.finance-client-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;padding:13px 18px}
.finance-client-kpis strong{font-size:16px}
.finance-sections{display:grid;gap:10px;padding:0 18px 18px}
.finance-section{border:1px solid #dfe7ef;border-radius:11px;background:#fff;overflow:hidden}
.finance-section-head{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 13px;background:#fbfcfe;border-bottom:1px solid #e7edf3}
.finance-section-head span{display:block;color:#2870b5;font-size:8.5px;text-transform:uppercase;letter-spacing:.6px;font-weight:900}
.finance-section-head h3{margin:2px 0 0;font-size:13px}.finance-section-head p{margin:3px 0 0;color:#7d8e9f;font-size:9.5px}.finance-section-head>strong{font-size:11px;color:#244e76}
.finance-read-grid{display:grid;grid-template-columns:repeat(3,1fr)}.finance-read-grid>div{padding:11px 13px;border-right:1px solid #edf1f5}.finance-read-grid>div:last-child{border-right:0}
.finance-read-grid span{display:block;color:#788b9e;font-size:9px}.finance-read-grid strong{display:block;margin-top:4px;font-size:11px}
.finance-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px;padding:13px}.finance-form-grid label,.finance-resource label{display:grid;gap:4px}
.finance-form-grid label>span,.finance-resource label>span{color:#536b82;font-size:9.5px;font-weight:800}.finance-form-grid label>small{color:#8393a4;font-size:8.5px}
.finance-form-grid textarea{width:100%;border:1px solid #d5e0eb;border-radius:9px;padding:8px 9px;font:inherit;resize:vertical}.finance-form-grid .span2{grid-column:1/-1}
.finance-money-input{display:flex;height:37px;border:1px solid #d5e0eb;border-radius:9px;overflow:hidden;background:#fff}.finance-money-input b{display:grid;place-items:center;padding:0 9px;background:#f6f8fb;border-right:1px solid #e2e8ef;color:#65788c;font-size:9px}.finance-money-input input{width:100%;min-width:0;border:0;outline:0;padding:0 8px;font:inherit;background:transparent}
.finance-resources{display:grid}.finance-resource{display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(150px,.8fr) minmax(150px,.8fr);gap:11px;align-items:end;padding:10px 13px;border-bottom:1px solid #edf1f5}.finance-resource:last-child{border-bottom:0}
.finance-resource>div:first-child{align-self:center}.finance-resource>div:first-child strong{display:block;font-size:10.5px}.finance-resource>div:first-child small{display:block;margin-top:2px;color:#8192a3;font-size:8.5px}
.finance-empty{padding:16px;text-align:center;color:#7e8fa0;font-size:10px}
.finance-savebar{position:sticky;bottom:0;display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:10px 18px;background:rgba(255,255,255,.96);border-top:1px solid #dde6ef;backdrop-filter:blur(8px)}
.finance-savebar>span{margin-right:auto;font-size:10px;color:#667b91}.finance-savebar>span.info{color:#2564a9}.finance-savebar>span.bad{color:#ad3540}
@media(max-width:1100px){.finance-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.finance-kpis,.finance-client-kpis,.finance-read-grid,.finance-form-grid{grid-template-columns:1fr 1fr}.finance-resource{grid-template-columns:1fr}.finance-head,.finance-list-head{align-items:stretch;flex-direction:column}.finance-list-head input{width:100%}}

/* PABX PRIME - PAINEL FINANCEIRO FASE 3 V1 */
.finance-badge.info{background:#eaf3ff;color:#2564a9}
.finance-closing-kpis{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #edf1f5}
.finance-closing-kpis>div{padding:11px 13px;border-right:1px solid #edf1f5}
.finance-closing-kpis>div:last-child{border-right:0}
.finance-closing-kpis span{display:block;color:#788b9e;font-size:9px;text-transform:uppercase;font-weight:800;letter-spacing:.4px}
.finance-closing-kpis strong{display:block;margin-top:5px;font-size:13px;color:#172c43}
.finance-closing-kpis .positive strong{color:#17765a}.finance-closing-kpis .negative strong{color:#b43b46}
.finance-closing-table-wrap{overflow:auto}
.finance-closing-table{width:100%;min-width:650px;border-collapse:collapse;font-size:10px}
.finance-closing-table th{padding:8px 12px;background:#f8fafc;color:#6d8094;text-align:left;text-transform:uppercase;font-size:8.5px;border-bottom:1px solid #e2e9f0}
.finance-closing-table td{padding:9px 12px;border-bottom:1px solid #edf1f5}
.finance-closing-actions{display:flex;justify-content:flex-end;align-items:center;gap:9px;padding:11px 13px;background:#fbfcfe}
.finance-approved-note{width:100%;padding:8px 10px;border:1px solid #cfe8dc;border-radius:8px;background:#f0faf5;color:#2d6a52;font-size:10px}
.finance-approved-note strong{color:#176f50}
.finance-panel.is-frozen input,.finance-panel.is-frozen textarea{background:#f6f8fa!important;color:#7d8d9d!important}
.finance-panel.is-frozen [data-resource] input{pointer-events:none}
.finance-frozen-note{margin:0 18px 13px;padding:9px 11px;border:1px solid #cfe8dc;border-radius:9px;background:#f0faf5;color:#2d6a52;font-size:10px}
@media(max-width:800px){.finance-closing-kpis{grid-template-columns:1fr 1fr}}

/* PABX PRIME - PAINEL FINANCEIRO FASE 4 V1 */
.finance-pix-config{margin:0 18px 13px;border:1px solid #e0e7ef;border-radius:10px;background:#fff}
.finance-pix-config summary{cursor:pointer;padding:10px 12px;color:#315a80;font-size:10.5px;font-weight:800}
.finance-pix-config-grid{display:grid;grid-template-columns:1.4fr 1fr .8fr auto;gap:9px;align-items:end;padding:0 12px 12px}
.finance-pix-config-grid label,.finance-pix-generate label{display:grid;gap:4px;color:#536b82;font-size:9.5px;font-weight:800}
.finance-pix-config-grid input,.finance-pix-generate input{height:37px;border:1px solid #d5e0eb;border-radius:9px;padding:0 8px;font:inherit}
.finance-pix-generate{display:flex;gap:9px;align-items:end;padding:12px 13px}
.finance-pix-body{display:grid;grid-template-columns:210px 1fr;gap:16px;padding:14px}
.finance-pix-qr{display:grid;place-items:center;border:1px solid #e0e7ef;border-radius:10px;padding:10px;background:#fff}
.finance-pix-qr img{width:188px;height:188px;display:block}
.finance-pix-copy label{display:grid;gap:5px;color:#536b82;font-size:9.5px;font-weight:800}
.finance-pix-copy textarea{width:100%;border:1px solid #d5e0eb;border-radius:9px;padding:9px;font:11px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;resize:vertical}
.finance-pix-actions{display:flex;gap:8px;flex-wrap:wrap;margin:9px 0}
@media(max-width:900px){.finance-pix-config-grid{grid-template-columns:1fr 1fr}.finance-pix-body{grid-template-columns:1fr}.finance-pix-qr{justify-self:start}}

/* PABX PRIME - PAINEL FINANCEIRO FASE 5B V1 */
.finance-fiscal-config{margin:0 18px 13px;border:1px solid #e0e7ef;border-radius:10px;background:#fff}
.finance-fiscal-config summary{cursor:pointer;padding:10px 12px;color:#315a80;font-size:10.5px;font-weight:800}
.finance-fiscal-lock{margin:0 12px 10px;padding:9px 10px;border:1px solid #f0d7a0;border-radius:8px;background:#fff8e7;color:#765718;font-size:10px}
.finance-fiscal-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:9px;padding:0 12px 12px}
.finance-fiscal-grid label{display:grid;gap:4px;color:#536b82;font-size:9.5px;font-weight:800}
.finance-fiscal-grid input,.finance-fiscal-grid select{height:37px;border:1px solid #d5e0eb;border-radius:9px;padding:0 8px;font:inherit;background:#fff}
.finance-fiscal-grid .span2{grid-column:span 2}
.finance-fiscal-grid .finance-check{display:flex;align-items:center;gap:7px;height:37px;border:1px solid #d5e0eb;border-radius:9px;padding:0 9px;background:#fbfcfe}
.finance-fiscal-grid .finance-check input{width:16px;height:16px}
.finance-cert-card{display:grid;grid-template-columns:1fr 1.4fr;gap:12px;align-items:center;padding:12px;border-top:1px solid #e7edf3;background:#fbfcfe}
.finance-cert-card strong,.finance-cert-card small{display:block}
.finance-cert-card small{margin-top:4px;color:#708398;font-size:9.5px}
.finance-cert-upload{display:grid;grid-template-columns:1.2fr 1fr auto;gap:8px}
.finance-cert-upload input{height:37px;border:1px solid #d5e0eb;border-radius:9px;padding:6px 8px;font:inherit;background:#fff}
.finance-form-grid select{height:37px;border:1px solid #d5e0eb;border-radius:9px;padding:0 8px;font:inherit;background:#fff}
@media(max-width:1000px){
  .finance-fiscal-grid{grid-template-columns:1fr 1fr}
  .finance-cert-card{grid-template-columns:1fr}
  .finance-cert-upload{grid-template-columns:1fr}
}

/* PABX PRIME - PAINEL FINANCEIRO FASE 5L V1 */
.finance-fiscal-subtitle{
  grid-column:1/-1;
  margin:12px 12px 7px;
  padding-top:10px;
  border-top:1px solid #e7edf3;
  color:#315a80;
  font-size:10.5px;
  font-weight:900;
  letter-spacing:.02em;
}
.finance-fiscal-status-row{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  padding:0 12px 12px;
}
.finance-reuse-card{
  display:grid;
  grid-template-columns:repeat(4,minmax(120px,1fr));
  gap:8px;
  margin:0 0 12px;
  padding:10px 12px;
  border:1px solid #e2e8f0;
  border-radius:9px;
  background:#fbfcfe;
  color:#536b82;
  font-size:10px;
}
.finance-reuse-card strong,
.finance-reuse-card small{
  grid-column:1/-1;
}
.finance-reuse-card strong{color:#315a80;font-size:10.5px}
.finance-reuse-card small{color:#708398}
.finance-form-grid textarea,
.finance-fiscal-grid textarea{
  width:100%;
  border:1px solid #d5e0eb;
  border-radius:9px;
  padding:8px;
  font:inherit;
  background:#fff;
  resize:vertical;
}
@media(max-width:1000px){
  .finance-reuse-card{grid-template-columns:1fr 1fr}
}

/* PABX PRIME - PAINEL FINANCEIRO FASE 5Q V1 */
.finance-nfcom-profiles {
  margin-top: 16px;
  border: 1px solid var(--border, #d9dde5);
  border-radius: 12px;
  padding: 0 14px 14px;
}
.finance-nfcom-profiles > summary {
  cursor: pointer;
  padding: 14px 0;
  font-weight: 700;
}
.finance-nfcom-profile-lock,
.finance-nfcom-profile-note {
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  margin-bottom: 12px;
  border-radius: 10px;
  background: rgba(245, 158, 11, .08);
  border: 1px solid rgba(245, 158, 11, .28);
}
.finance-nfcom-profile-toolbar {
  display: flex;
  gap: 12px;
  align-items: end;
  justify-content: space-between;
  margin-bottom: 12px;
}
.finance-nfcom-profile-toolbar label {
  min-width: min(420px, 100%);
  flex: 1;
}
.finance-nfcom-mapping-table td small {
  display: block;
  margin-top: 3px;
  opacity: .72;
}
.finance-nfcom-mapping-table select {
  min-width: 220px;
}

/* PABX PRIME - PAINEL FINANCEIRO LEGIBILIDADE FONTES V1 */
/*
 * Ajuste visual somente no Painel Financeiro.
 * Objetivo: melhorar leitura sem alterar estrutura, regras, cálculos ou fluxo fiscal.
 */

/* Base do painel e controles */
.finance-panel{
  font-size:11.5px;
}
.finance-panel input,
.finance-panel select,
.finance-panel textarea,
.finance-panel button{
  font-size:11.5px !important;
  line-height:1.35;
}
.finance-panel input,
.finance-panel select{
  min-height:40px;
}
.finance-panel textarea{
  line-height:1.4;
}
.finance-panel button{
  min-height:36px;
}

/* Cabeçalho, ferramentas e avisos */
.finance-tools label{
  font-size:11px !important;
}
.finance-manual{
  font-size:12px !important;
}
.finance-list-head h3{
  font-size:15px !important;
}
.finance-list-head p{
  font-size:11px !important;
}
.finance-back{
  font-size:11.5px !important;
}

/* KPIs */
.finance-kpis span,
.finance-client-kpis span,
.finance-result span{
  font-size:10.5px !important;
}
.finance-kpis strong{
  font-size:19px !important;
}
.finance-client-kpis strong{
  font-size:17px !important;
}
.finance-kpis small,
.finance-result small{
  font-size:10px !important;
}
.finance-result strong{
  font-size:19px !important;
}

/* Listagem principal */
.finance-table{
  font-size:11.5px !important;
}
.finance-table th{
  font-size:10px !important;
}
.finance-table td strong{
  font-size:12.5px !important;
}
.finance-table td small{
  font-size:10px !important;
}
.finance-badge{
  font-size:9.5px !important;
  padding:4px 7px;
}

/* Seções internas */
.finance-section-head span{
  font-size:9.5px !important;
}
.finance-section-head h3{
  font-size:14px !important;
}
.finance-section-head p{
  font-size:10.5px !important;
}
.finance-section-head>strong{
  font-size:12px !important;
}
.finance-read-grid span{
  font-size:10.5px !important;
}
.finance-read-grid strong{
  font-size:12.5px !important;
}

/* Formulários comerciais */
.finance-form-grid label>span,
.finance-resource label>span{
  font-size:11px !important;
}
.finance-form-grid label>small{
  font-size:9.5px !important;
}
.finance-money-input b{
  font-size:10.5px !important;
}
.finance-resource>div:first-child strong{
  font-size:11.5px !important;
}
.finance-resource>div:first-child small{
  font-size:9.5px !important;
}
.finance-empty{
  font-size:11px !important;
}
.finance-savebar>span{
  font-size:11px !important;
}

/* Fechamento */
.finance-closing-kpis span{
  font-size:10px !important;
}
.finance-closing-kpis strong{
  font-size:14px !important;
}
.finance-closing-table{
  font-size:11px !important;
}
.finance-closing-table th{
  font-size:9.5px !important;
}
.finance-approved-note,
.finance-frozen-note{
  font-size:11px !important;
}

/* PIX */
.finance-pix-config summary{
  font-size:11.5px !important;
}
.finance-pix-config-grid label,
.finance-pix-generate label,
.finance-pix-copy label{
  font-size:11px !important;
}
.finance-pix-config-grid input,
.finance-pix-generate input{
  min-height:40px;
}
.finance-pix-copy textarea{
  font-size:12px !important;
}

/* Configuração fiscal */
.finance-fiscal-config summary{
  font-size:11.5px !important;
}
.finance-fiscal-lock{
  font-size:11px !important;
}
.finance-fiscal-grid label{
  font-size:11px !important;
}
.finance-fiscal-grid input,
.finance-fiscal-grid select{
  min-height:40px;
  font-size:11.5px !important;
}
.finance-fiscal-grid .finance-check{
  font-size:11px !important;
}
.finance-cert-card,
.finance-cert-card strong,
.finance-cert-card small{
  font-size:11px !important;
}
.finance-cert-card small{
  font-size:10px !important;
}
.finance-cert-upload input{
  min-height:40px;
  font-size:11.5px !important;
}
.finance-fiscal-subtitle{
  font-size:11.5px !important;
}
.finance-reuse-card{
  font-size:11px !important;
}
.finance-reuse-card strong{
  font-size:11.5px !important;
}
.finance-fiscal-status-row .finance-badge{
  font-size:9.5px !important;
}

/* Perfis fiscais NFCom */
.finance-nfcom-profiles>summary{
  font-size:12px !important;
}
.finance-nfcom-profile-toolbar label,
.finance-nfcom-profiles label{
  font-size:11px !important;
}
.finance-nfcom-profiles input,
.finance-nfcom-profiles select,
.finance-nfcom-profiles textarea{
  font-size:11.5px !important;
}
.finance-nfcom-profile-lock,
.finance-nfcom-profile-note,
.finance-nfcom-mapping-table td small{
  font-size:10.5px !important;
}

/* Mantém responsividade existente sem alargar colunas */
@media(max-width:800px){
  .finance-panel{
    font-size:11.5px;
  }
}


/* PABX PRIME - PAINEL FINANCEIRO BOTAO CANCELAR V1 */
/* Ação de rodapé do detalhe do cliente: Cancelar + Salvar */
.finance-savebar{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.finance-savebar-actions{
  display:flex;
  align-items:center;
  gap:10px;
  margin-left:auto;
  flex-wrap:wrap;
}
@media(max-width:700px){
  .finance-savebar-actions{
    width:100%;
    margin-left:0;
    justify-content:flex-end;
  }
}

/* PABX PRIME PAINEL FINANCEIRO EDICAO COMERCIAL CENTRALIZADA V1.1 20260825 */
.finance-commercial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;padding:13px}
.finance-commercial-grid label{display:grid;gap:5px;min-width:0}
.finance-commercial-grid label>span{color:#536b82;font-size:11px;font-weight:800}
.finance-commercial-grid label>small{color:#8393a4;font-size:10px;line-height:1.4}
.finance-commercial-grid select,.finance-commercial-grid input{width:100%;min-height:40px;border:1px solid #d5e0eb;border-radius:9px;padding:0 9px;background:#fff;color:#263a52;font:inherit}
.finance-commercial-grid select:focus,.finance-commercial-grid input:focus{outline:2px solid rgba(38,126,210,.14);border-color:#7db1e2}
.finance-commercial-grid>.finance-read-grid{grid-column:1/-1;border:1px solid #edf1f5;border-radius:9px;overflow:hidden}
.finance-commercial-seller{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px;padding:8px 10px;border:1px solid #e0e7ef;border-radius:9px;background:#fbfcfe}
.finance-commercial-seller strong{color:#30465f;font-size:11.5px}
.finance-commercial-seller small{color:#7b8b9d;font-size:9.5px;text-align:right}
.finance-commercial-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 13px 13px}
.finance-commercial-actions p{margin:0;max-width:720px;color:#718296;font-size:10.5px;line-height:1.45}
.finance-commercial-actions .btn{flex:0 0 auto}
@media(max-width:800px){.finance-commercial-grid{grid-template-columns:1fr}.finance-commercial-actions{align-items:stretch;flex-direction:column}.finance-commercial-actions .btn{width:100%}}
