/* Shared refinement for administrative settings pages.
   Scoped to these pages so configurador.html remains untouched. */

body[data-page="company-profile"],
body[data-page="commercial-policies"],
body[data-page="payment-terms"],
body[data-page="contract-templates"],
body[data-page="module-preferences"] {
  --settings-gap: 14px;
  --settings-tight-gap: 10px;
  --settings-panel-pad: 16px;
  --settings-panel-radius: 14px;
  --settings-inner-radius: 12px;
  --settings-border: rgba(203, 213, 225, 0.86);
  --settings-border-soft: rgba(226, 232, 240, 0.94);
  --settings-surface: rgba(255, 255, 255, 0.96);
  --settings-surface-muted: rgba(248, 251, 255, 0.96);
  --settings-text: #10243d;
  --settings-muted: #60758d;
  --settings-accent: #123e69;
  --settings-shadow: 0 10px 24px rgba(15, 23, 42, 0.055);
}

body[data-page="commercial-policies"] .page-grid,
body[data-page="payment-terms"] .page-grid,
body[data-page="contract-templates"] .page-grid {
  grid-template-columns: minmax(300px, 0.82fr) minmax(0, 1.48fr);
  gap: var(--settings-gap);
}

body[data-page="company-profile"] .company-grid {
  grid-template-columns: minmax(0, 1.36fr) minmax(320px, 0.84fr);
  gap: var(--settings-gap);
}

body[data-page="module-preferences"] .prefs-layout {
  grid-template-columns: 300px minmax(0, 1fr);
  gap: var(--settings-gap);
}

body[data-page="commercial-policies"] .policies-panel,
body[data-page="commercial-policies"] .editor-panel,
body[data-page="payment-terms"] .terms-panel,
body[data-page="payment-terms"] .editor-panel,
body[data-page="contract-templates"] .contracts-panel,
body[data-page="contract-templates"] .editor-panel,
body[data-page="company-profile"] .company-panel,
body[data-page="module-preferences"] .module-prefs-shell,
body[data-page="module-preferences"] .prefs-workspace {
  border-color: var(--settings-border);
  border-radius: var(--settings-panel-radius);
  background: var(--settings-surface);
  box-shadow: var(--settings-shadow);
}

body[data-page="commercial-policies"] .policies-panel,
body[data-page="commercial-policies"] .editor-panel,
body[data-page="payment-terms"] .terms-panel,
body[data-page="payment-terms"] .editor-panel,
body[data-page="contract-templates"] .contracts-panel,
body[data-page="contract-templates"] .editor-panel,
body[data-page="company-profile"] .company-panel {
  padding: var(--settings-panel-pad);
}

body[data-page="module-preferences"] .module-prefs-shell {
  padding: var(--settings-panel-pad);
  gap: var(--settings-tight-gap);
}

body[data-page="commercial-policies"] .panel-head,
body[data-page="payment-terms"] .panel-head,
body[data-page="contract-templates"] .panel-head,
body[data-page="company-profile"] .company-panel-head,
body[data-page="module-preferences"] .prefs-workspace-head {
  margin-bottom: 12px;
}

body[data-page="commercial-policies"] .panel-head,
body[data-page="payment-terms"] .panel-head,
body[data-page="contract-templates"] .panel-head {
  align-items: flex-start;
}

body[data-page="commercial-policies"] .panel-head > div:first-child,
body[data-page="payment-terms"] .panel-head > div:first-child,
body[data-page="contract-templates"] .panel-head > div:first-child {
  min-width: 0;
}

body[data-page="commercial-policies"] .panel-actions,
body[data-page="payment-terms"] .panel-actions,
body[data-page="contract-templates"] .panel-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex: 0 0 auto;
}

body[data-page="commercial-policies"] .panel-title,
body[data-page="payment-terms"] .panel-title,
body[data-page="payment-terms"] .editor-panel .panel-title,
body[data-page="contract-templates"] .panel-title,
body[data-page="contract-templates"] .editor-panel .panel-title,
body[data-page="company-profile"] .company-panel-title,
body[data-page="module-preferences"] .prefs-nav-title,
body[data-page="module-preferences"] .prefs-workspace-title {
  font-size: 17px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
}

body[data-page="company-profile"] .company-preview-title {
  font-size: 24px;
  line-height: 1.12;
  letter-spacing: 0;
}

body[data-page="commercial-policies"] .panel-subtitle,
body[data-page="payment-terms"] .panel-subtitle,
body[data-page="contract-templates"] .panel-subtitle,
body[data-page="company-profile"] .company-panel-subtitle,
body[data-page="company-profile"] .company-section-note,
body[data-page="module-preferences"] .prefs-nav-subtitle,
body[data-page="module-preferences"] .prefs-workspace-subtitle,
body[data-page="module-preferences"] .prefs-panel p {
  color: var(--settings-muted);
  font-size: 12.5px;
  line-height: 1.48;
}

body[data-page="commercial-policies"] .policy-item,
body[data-page="payment-terms"] .term-item,
body[data-page="contract-templates"] .contract-template-item,
body[data-page="module-preferences"] .prefs-item {
  border-color: var(--settings-border-soft);
  border-radius: var(--settings-inner-radius);
  background: var(--settings-surface-muted);
}

body[data-page="commercial-policies"] .policy-item,
body[data-page="payment-terms"] .term-item,
body[data-page="contract-templates"] .contract-template-item {
  padding: 12px;
}

body[data-page="commercial-policies"] .policy-item.active,
body[data-page="payment-terms"] .term-item.active,
body[data-page="contract-templates"] .contract-template-item.active,
body[data-page="module-preferences"] .prefs-item.active {
  border-color: rgba(18, 62, 105, 0.34);
  background: #ffffff;
  box-shadow: inset 3px 0 0 var(--settings-accent), 0 10px 22px rgba(15, 23, 42, 0.07);
}

body[data-page="commercial-policies"] .policy-item-title,
body[data-page="payment-terms"] .term-item-title,
body[data-page="contract-templates"] .contract-template-title {
  font-size: 14px;
  line-height: 1.25;
}

body[data-page="commercial-policies"] .policy-item-desc,
body[data-page="commercial-policies"] .policy-item-meta,
body[data-page="payment-terms"] .term-item-desc,
body[data-page="payment-terms"] .term-item-meta,
body[data-page="contract-templates"] .contract-template-desc,
body[data-page="contract-templates"] .contract-template-meta {
  font-size: 11.5px;
  line-height: 1.45;
}

body[data-page="commercial-policies"] .policy-badge,
body[data-page="payment-terms"] .term-badge,
body[data-page="contract-templates"] .contract-badge,
body[data-page="company-profile"] .company-badge,
body[data-page="company-profile"] .company-status,
body[data-page="module-preferences"] .module-prefs-ops-pill,
body[data-page="module-preferences"] .prefs-workspace-status {
  min-height: 26px;
  border-color: var(--settings-border);
  font-size: 11px;
}

body[data-page="commercial-policies"] .editor-grid,
body[data-page="payment-terms"] .editor-grid,
body[data-page="contract-templates"] .editor-grid,
body[data-page="company-profile"] .company-fields,
body[data-page="company-profile"] .company-logo-grid,
body[data-page="module-preferences"] .prefs-grid {
  gap: var(--settings-tight-gap);
}

body[data-page="commercial-policies"] .group-block,
body[data-page="commercial-policies"] .charge-block,
body[data-page="payment-terms"] .group-block,
body[data-page="contract-templates"] .group-block,
body[data-page="contract-templates"] .clause-card,
body[data-page="company-profile"] .company-section,
body[data-page="company-profile"] .company-logo-card,
body[data-page="company-profile"] .company-preview-card,
body[data-page="company-profile"] .company-preview-mark,
body[data-page="company-profile"] .company-address-readout,
body[data-page="module-preferences"] .prefs-menu-wrap,
body[data-page="module-preferences"] .prefs-field,
body[data-page="module-preferences"] .prefs-toggle,
body[data-page="module-preferences"] .prefs-checks label {
  border-color: var(--settings-border-soft);
  border-radius: var(--settings-inner-radius);
  background: var(--settings-surface-muted);
}

body[data-page="commercial-policies"] .group-block,
body[data-page="commercial-policies"] .charge-block,
body[data-page="payment-terms"] .group-block,
body[data-page="contract-templates"] .group-block,
body[data-page="company-profile"] .company-section {
  padding: 14px;
}

body[data-page="commercial-policies"] .settings-block-spaced,
body[data-page="payment-terms"] .settings-block-spaced,
body[data-page="contract-templates"] .settings-block-spaced {
  margin-top: 14px;
}

body[data-page="payment-terms"] .settings-grid-spaced,
body[data-page="payment-terms"] .settings-table-head,
body[data-page="payment-terms"] .settings-stack-list {
  margin-top: 10px;
}

body[data-page="payment-terms"] .settings-stack-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

body[data-page="commercial-policies"] .field,
body[data-page="payment-terms"] .field,
body[data-page="contract-templates"] .field,
body[data-page="company-profile"] .company-field,
body[data-page="module-preferences"] .prefs-field {
  gap: 5px;
}

body[data-page="commercial-policies"] .field label,
body[data-page="commercial-policies"] .section-title,
body[data-page="payment-terms"] .field label,
body[data-page="payment-terms"] .section-title,
body[data-page="contract-templates"] .field label,
body[data-page="contract-templates"] .section-title,
body[data-page="company-profile"] .company-field label,
body[data-page="company-profile"] .company-section-title,
body[data-page="company-profile"] .company-summary-label,
body[data-page="module-preferences"] .prefs-label,
body[data-page="module-preferences"] .module-prefs-stat-label,
body[data-page="module-preferences"] .prefs-nav-search-label {
  color: var(--settings-muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.2;
}

body[data-page="commercial-policies"] .field input,
body[data-page="commercial-policies"] .field textarea,
body[data-page="payment-terms"] .field input,
body[data-page="payment-terms"] .field textarea,
body[data-page="payment-terms"] .field select,
body[data-page="contract-templates"] .field input,
body[data-page="contract-templates"] .field textarea,
body[data-page="contract-templates"] .field select,
body[data-page="payment-terms"] .installment-seq-controls input,
body[data-page="payment-terms"] .installment-row input,
body[data-page="company-profile"] .company-field input,
body[data-page="company-profile"] .company-field textarea,
body[data-page="module-preferences"] .prefs-nav-search input,
body[data-page="module-preferences"] .prefs-field input,
body[data-page="module-preferences"] .prefs-field select,
body[data-page="module-preferences"] .prefs-field .select-sm,
body[data-page="module-preferences"] .prefs-panel input,
body[data-page="module-preferences"] .prefs-panel select {
  min-height: 40px;
  border-color: var(--settings-border);
  border-radius: 10px;
  background: #ffffff;
  font-size: 13px;
}

body[data-page="commercial-policies"] textarea,
body[data-page="payment-terms"] textarea,
body[data-page="contract-templates"] textarea,
body[data-page="company-profile"] textarea {
  line-height: 1.45;
}

body[data-page="commercial-policies"] .settings-check-field,
body[data-page="payment-terms"] .settings-check-field,
body[data-page="contract-templates"] .settings-check-field {
  gap: 8px;
}

body[data-page="commercial-policies"] .settings-check-title,
body[data-page="payment-terms"] .settings-check-title,
body[data-page="contract-templates"] .settings-check-title {
  text-transform: none;
}

body[data-page="commercial-policies"] .settings-check-label,
body[data-page="payment-terms"] .settings-check-label,
body[data-page="contract-templates"] .settings-check-label {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--settings-text);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  text-transform: none;
}

body[data-page="commercial-policies"] .settings-checkbox,
body[data-page="payment-terms"] .settings-checkbox,
body[data-page="contract-templates"] .settings-checkbox {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}

body[data-page="vehicles"] .settings-stack-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 10px;
}

body[data-page="vehicles"] .group-block {
  padding: 14px;
}

body[data-page="vehicles"] .settings-block-spaced {
  margin-top: 14px;
}

body[data-page="vehicles"] .settings-check-field {
  gap: 8px;
}

body[data-page="vehicles"] .settings-check-label {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--settings-text);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  text-transform: none;
}

body[data-page="vehicles"] .settings-checkbox {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}

body[data-page="commercial-policies"] .group-grid,
body[data-page="commercial-policies"] .charge-grid,
body[data-page="payment-terms"] .group-grid,
body[data-page="contract-templates"] .group-grid {
  gap: 10px;
  margin-top: 10px;
}

body[data-page="company-profile"] .company-form,
body[data-page="company-profile"] .company-side,
body[data-page="company-profile"] .company-summary-list {
  gap: 14px;
}

body[data-page="module-preferences"] .module-prefs-ops {
  padding: 10px;
  border-radius: var(--settings-inner-radius);
}

body[data-page="module-preferences"] .module-prefs-stat {
  border-radius: 10px;
  padding: 7px 9px;
}

body[data-page="module-preferences"] .prefs-menu {
  gap: 5px;
}

body[data-page="module-preferences"] .prefs-workspace-head {
  padding: 12px 14px;
}

body[data-page="module-preferences"] .prefs-panel {
  padding: 12px 14px 14px;
}

@media (max-width: 1120px) {
  body[data-page="commercial-policies"] .page-grid,
  body[data-page="payment-terms"] .page-grid,
  body[data-page="contract-templates"] .page-grid,
  body[data-page="company-profile"] .company-grid,
  body[data-page="module-preferences"] .prefs-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page="company-profile"] .company-side,
  body[data-page="module-preferences"] .prefs-nav {
    position: static;
  }
}

@media (max-width: 720px) {
  body[data-page="company-profile"] .company-fields,
  body[data-page="company-profile"] .company-logo-grid,
  body[data-page="company-profile"] .company-preview-brand,
  body[data-page="commercial-policies"] .editor-grid,
  body[data-page="commercial-policies"] .group-grid,
  body[data-page="commercial-policies"] .charge-grid,
  body[data-page="payment-terms"] .editor-grid,
  body[data-page="payment-terms"] .group-grid,
  body[data-page="payment-terms"] .installment-head,
  body[data-page="payment-terms"] .installment-row,
  body[data-page="contract-templates"] .editor-grid,
  body[data-page="contract-templates"] .group-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page="commercial-policies"] .policies-panel,
  body[data-page="commercial-policies"] .editor-panel,
  body[data-page="payment-terms"] .terms-panel,
  body[data-page="payment-terms"] .editor-panel,
  body[data-page="contract-templates"] .contracts-panel,
  body[data-page="contract-templates"] .editor-panel,
  body[data-page="company-profile"] .company-panel,
  body[data-page="module-preferences"] .module-prefs-shell {
    padding: 14px;
  }

  body[data-page="commercial-policies"] .editor-actions,
  body[data-page="payment-terms"] .editor-actions,
  body[data-page="contract-templates"] .editor-actions,
  body[data-page="company-profile"] .company-form-actions {
    align-items: stretch;
  }

  body[data-page="commercial-policies"] .panel-head,
  body[data-page="payment-terms"] .panel-head,
  body[data-page="contract-templates"] .panel-head {
    flex-direction: column;
    align-items: stretch;
  }

  body[data-page="commercial-policies"] .panel-actions,
  body[data-page="payment-terms"] .panel-actions,
  body[data-page="contract-templates"] .panel-actions {
    justify-content: flex-start;
  }

  body[data-page="commercial-policies"] .panel-actions .btn,
  body[data-page="payment-terms"] .panel-actions .btn,
  body[data-page="contract-templates"] .panel-actions .btn {
    width: 100%;
  }

  body[data-page="commercial-policies"] .editor-actions-group,
  body[data-page="payment-terms"] .editor-actions-group,
  body[data-page="contract-templates"] .editor-actions-group,
  body[data-page="company-profile"] .company-form-actions-group {
    width: 100%;
  }

  body[data-page="commercial-policies"] .editor-actions-group .btn,
  body[data-page="payment-terms"] .editor-actions-group .btn,
  body[data-page="contract-templates"] .editor-actions-group .btn,
  body[data-page="company-profile"] .company-form-actions-group .btn {
    flex: 1 1 140px;
  }

  body[data-page="company-profile"] .company-logo-card {
    min-height: 136px;
    padding: 12px;
  }

  body[data-page="company-profile"] .company-logo-card img {
    max-height: 96px;
  }
}
