/* One visual contract for every Settings section. Loaded after feature styles. */
.settings-layout {
  --settings-card-padding:20px;
  --settings-card-gap:20px;
  --settings-card-radius:var(--radius-sm);
}
.settings-layout .settings-content-panel {
  padding:var(--settings-card-padding);
  border:1px solid var(--border-subtle);
  border-radius:var(--settings-card-radius);
  background:var(--bg-panel);
  color:var(--text-primary);
  box-shadow:none;
}
.settings-content-panel > .settings-section-heading {
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  margin:0 0 var(--settings-card-gap); padding:0 0 var(--settings-card-gap);
  border-bottom:1px solid var(--border-subtle);
}
.settings-content-panel > .settings-section-heading > div:first-child { min-width:0; }
.settings-content-panel .settings-section-heading .dashboard-panel-kicker,
.settings-content-panel .pbx-settings-icon { display:none; }
.settings-content-panel .pbx-settings-heading-copy { display:block; }
.settings-content-panel .settings-section-heading h2 {
  margin:0 0 6px; font:600 var(--type-section-title)/1.4 var(--font-display);
  color:var(--text-primary);
}
.settings-content-panel .settings-section-heading p {
  margin:0; font:400 13px/1.65 var(--font-body); color:var(--text-muted);
}
.settings-content-panel .settings-service-status,
.settings-content-panel .pbx-saved-language {
  display:inline-flex; align-items:center; gap:8px; flex-shrink:0;
  min-width:0; padding:8px 12px; border:1px solid var(--border-subtle);
  border-radius:var(--settings-card-radius); background:var(--bg-base);
  font-size:12px; line-height:1.5;
}
.settings-content-panel .settings-service-status i { box-shadow:none; }
.settings-content-panel .pbx-saved-language strong { font-size:12px; }
.settings-content-panel .settings-form { gap:var(--settings-card-gap); }
.settings-content-panel .pbx-settings-form { padding-top:0; }
.settings-content-panel .settings-summary-grid {
  gap:12px; margin:0 0 var(--settings-card-gap);
  grid-template-columns:repeat(auto-fit,minmax(135px,1fr));
}
.settings-content-panel :is(
  .settings-summary-grid > div,.settings-selected-voice,.settings-tts-preview,
  .settings-backup-provider,.settings-trunk-advanced,.settings-google-drive-card,
  .pbx-language-coverage,.inbound-route-summary,.inbound-route-form,
  .settings-connection-info,.outbound-extension-panel,
  .settings-backup-enable,.settings-inline-check
) {
  padding:var(--settings-card-padding); border:1px solid var(--border-subtle);
  border-radius:var(--settings-card-radius); background:var(--bg-base);
  box-shadow:none; min-width:0; color:var(--text-primary);
}
.settings-content-panel .settings-summary-grid > div { gap:6px; min-height:90px; align-content:start; }
.settings-content-panel :is(.settings-backup-enable,.settings-inline-check) { display:flex; align-items:flex-start; gap:12px; }
.settings-content-panel :is(.settings-backup-enable,.settings-inline-check) input {
  flex:0 0 16px; width:16px; height:16px; min-height:0; margin:2px 0 0; padding:0;
}
.settings-content-panel :is(.settings-backup-enable,.settings-inline-check) strong { font-size:13px; line-height:1.5; color:var(--text-primary); }
.settings-content-panel :is(.settings-backup-enable,.settings-inline-check) small { font-size:12px; line-height:1.65; color:var(--text-muted); }
.settings-content-panel .settings-summary-grid :is(span,small) { font-size:12px; line-height:1.5; color:var(--text-muted); }
.settings-content-panel .settings-summary-grid strong { font:600 14px/1.5 var(--font-body); color:var(--text-primary); }
.settings-content-panel :is(.settings-backup-provider-head,.call-settings-section-header) {
  margin:0 0 16px; padding:0 0 16px; border-bottom:1px solid var(--border-subtle);
}
.settings-content-panel :is(.settings-backup-provider-head strong,.call-settings-section-header h2,.pbx-language-coverage h3,.settings-tts-preview > div:first-child strong) {
  margin:0; font:600 14px/1.5 var(--font-body); color:var(--text-primary);
}
.settings-content-panel .pbx-language-coverage h3 { margin-bottom:18px !important; }
.settings-content-panel .pbx-language-coverage { margin-top:12px; }
.settings-content-panel .form-field > label { font-size:13px; line-height:1.5; color:var(--text-primary); }
.settings-content-panel :is(.form-hint,.settings-backup-provider-head span,.call-settings-section-header p) {
  font-size:12px; line-height:1.65; color:var(--text-muted);
}
.settings-content-panel :is(.settings-form-actions,.inbound-route-actions,.settings-api-actions) {
  display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:12px;
  margin:0; padding:18px 0 0; border-top:1px solid var(--border-subtle);
}
.settings-content-panel :is(.settings-form-actions,.inbound-route-actions) > :is(span,p) {
  flex:1 1 240px; margin:0; max-width:none; font-size:12px; line-height:1.65; color:var(--text-muted);
}
.settings-content-panel :is(.settings-form-actions,.inbound-route-actions,.settings-api-actions) .btn {
  min-height:40px; padding:9px 16px; font-size:13px; border-radius:var(--radius-sm);
}
.settings-content-panel .settings-api-actions { padding:0 0 20px; border-top:0; border-bottom:1px solid var(--border-subtle); }
.settings-content-panel .settings-api-actions .btn:first-child { margin-inline-end:auto; }
.settings-content-panel .settings-form-actions > div { display:flex; flex-wrap:wrap; gap:12px; }
.settings-content-panel .call-settings-section + .call-settings-section { margin-top:24px; padding-top:24px; border-top:1px solid var(--border-subtle); }
.settings-content-panel .call-settings-settings-heading + .call-settings-section { margin-top:0; }
.settings-content-panel .inbound-route-layout { gap:20px; }
.settings-content-panel.customer-api-settings > h3 { margin:24px 0 14px; font-size:14px; line-height:1.5; color:var(--text-primary); }
.settings-content-panel.customer-api-settings .table-responsive { border:1px solid var(--border-subtle); border-radius:var(--settings-card-radius); margin:16px 0 20px; }
.settings-content-panel.customer-api-settings :is(th,td) { border-color:var(--border-subtle); }
.settings-content-panel.customer-api-settings th { background:var(--bg-base); }
.settings-content-panel :is(.settings-warning,.pbx-language-notice,.settings-backup-info) {
  padding:16px 20px; border-radius:var(--settings-card-radius); font-size:12px; line-height:1.65;
}
.settings-content-panel .pbx-settings-grid { gap:20px; }
@media(max-width:700px) {
  .settings-layout { --settings-card-padding:16px; --settings-card-gap:18px; }
  .settings-content-panel > .settings-section-heading { flex-direction:column; align-items:stretch; gap:14px; }
  .settings-content-panel :is(.settings-service-status,.pbx-saved-language) { align-self:flex-start; }
  .settings-content-panel :is(.settings-form-actions,.inbound-route-actions,.settings-api-actions) { flex-direction:column; align-items:stretch; }
  .settings-content-panel :is(.settings-form-actions,.inbound-route-actions) > :is(span,p) { flex:auto; }
  .settings-content-panel :is(.settings-form-actions,.inbound-route-actions,.settings-api-actions) .btn { width:100%; margin:0; }
  .settings-content-panel .settings-form-actions > div { width:100%; }
}
