/* ============================================================
   ClientsHub — Company Admin page
   Only page-specific pieces; layout/components come from styles.css
   ============================================================ */

.admin-main {
  max-width: 1360px;
  margin: 0 auto;
  padding: 1.5rem;
}
@media (max-width: 575.98px) {
  .admin-main { padding: 1rem; }
}

/* Sub-caption shown under a card's tab strip */
.tab-sub {
  color: var(--ch-muted);
  font-size: .8rem;
  margin: 0;
  padding: .85rem 1.15rem 0;
}

/* Business-email hint under the email field */
.business-email-note { margin-top: .35rem; }
.business-email-note a { color: var(--ch-brand); font-weight: 600; }

/* One-time temporary password notice */
.temporary-password {
  margin: 0 1.15rem 1rem;
  padding: .85rem 1rem;
  border: 1px dashed var(--ch-brand);
  border-radius: var(--ch-radius);
  background: var(--ch-hover);
}
.temporary-password strong { display: block; margin-bottom: .25rem; font-size: .9rem; }
.temporary-password code {
  padding: .45rem .6rem;
  border: 1px solid var(--ch-border);
  border-radius: var(--ch-radius-sm);
  background: var(--ch-surface);
  color: var(--ch-brand);
  font-family: var(--ch-font-mono);
  font-size: .85rem;
  word-break: break-all;
}

/* PayKamer payout helper */
.paykamer-callout {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  padding: 1rem 1.15rem;
  border: 1px solid var(--ch-border);
  border-left: 3px solid var(--ch-brand);
  border-radius: var(--ch-radius);
  background: var(--ch-surface);
}
.paykamer-icon { font-size: 1.35rem; color: var(--ch-brand); margin-top: .15rem; }

/* Inline row editors in the users table */
.row-role { min-width: 116px; }
.row-bonus { max-width: 92px; }

/* Self-service explainers on the company-admin controls and KPI cards. */
.admin-main .help-btn {
  width: 18px;
  height: 18px;
  font-size: .68rem;
  flex: 0 0 auto;
}
.admin-main .form-label[data-help-key],
.admin-main .kpi-card > span[data-help-key] {
  display: inline-flex;
  align-items: center;
}
.admin-main .kpi-card > span[data-help-key] { align-self: flex-start; }

/* Company-management blocks at the top of the admin page. */
.admin-section {
  margin-bottom: 1.5rem;
}
.company-mgmt-card .card-body {
  display: flex;
  flex-direction: column;
  gap: .75rem;
}
.company-accordion-button {
  width: 100%;
  padding: 0;
  background: transparent;
  box-shadow: none;
  border: 0;
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--ch-text);
}
.company-accordion-button::after {
  display: none;
}
.company-accordion-button:hover,
.company-accordion-button:not(.collapsed) {
  background: transparent;
  color: var(--ch-text);
  box-shadow: none;
}
.company-mgmt-card .form-text {
  margin-top: .25rem;
}
.company-service-table td:last-child,
.company-service-table th:last-child {
  white-space: nowrap;
}

.affiliate-visibility-switch {
  display: flex;
  align-items: flex-start;
  gap: .65rem;
  padding-left: 0;
}
.affiliate-visibility-switch .form-check-input {
  flex: 0 0 auto;
  width: 2.7rem;
  height: 1.45rem;
  margin: .1rem 0 0;
}
.affiliate-visibility-switch .form-check-label {
  display: grid;
  gap: .2rem;
}
.affiliate-visibility-switch .form-check-label span {
  color: var(--ch-text-muted);
  font-size: .78rem;
}
