/*
 * BS Business Suite — Responsive System 1.0.45
 * Scoped to plugin screens and WooCommerce account areas touched by the suite.
 * It does not change business logic, database values, commissions or totals.
 */

.bsbs-suite-admin,
.bsbs-order-screen,
.bsbs-responsive-account {
  --bsbs-gap-1: 6px;
  --bsbs-gap-2: 10px;
  --bsbs-gap-3: 14px;
  --bsbs-gap-4: 18px;
  --bsbs-radius: 12px;
  --bsbs-border: #dcdcde;
  --bsbs-muted: #646970;
  --bsbs-surface: #fff;
  --bsbs-soft: #f6f7f7;
  --bsbs-primary: #2271b1;
  --bsbs-danger: #b32d2e;
}

.bsbs-suite-admin *,
.bsbs-suite-admin *::before,
.bsbs-suite-admin *::after,
.bsbs-order-screen [id^="bs"],
.bsbs-order-screen [class^="bs"],
.bsbs-order-screen [class*=" bs"],
.bsbs-responsive-account .woocommerce-MyAccount-content *,
.bsbs-responsive-account .woocommerce-MyAccount-content *::before,
.bsbs-responsive-account .woocommerce-MyAccount-content *::after {
  box-sizing: border-box;
}

/* Prevent long values, URLs and identifiers from breaking narrow layouts. */
.bsbs-suite-admin .wrap,
.bsbs-suite-admin .bsbs-shell,
.bsbs-suite-admin [class$="-wrap"],
.bsbs-suite-admin [class$="-wrapper"],
.bsbs-responsive-account .woocommerce-MyAccount-content,
.bsbs-responsive-account .woocommerce-MyAccount-content > div {
  min-width: 0;
  max-width: 100%;
}

.bsbs-suite-admin p,
.bsbs-suite-admin td,
.bsbs-suite-admin th,
.bsbs-suite-admin label,
.bsbs-suite-admin a,
.bsbs-responsive-account .woocommerce-MyAccount-content p,
.bsbs-responsive-account .woocommerce-MyAccount-content td,
.bsbs-responsive-account .woocommerce-MyAccount-content th,
.bsbs-responsive-account .woocommerce-MyAccount-content label,
.bsbs-responsive-account .woocommerce-MyAccount-content a {
  overflow-wrap: anywhere;
  word-break: normal;
}

.bsbs-suite-admin img,
.bsbs-order-screen [id^="bs"] img,
.bsbs-order-screen [class^="bs"] img,
.bsbs-responsive-account .woocommerce-MyAccount-content img,
.bsbs-suite-admin video,
.bsbs-responsive-account .woocommerce-MyAccount-content video {
  max-width: 100%;
  height: auto;
}

/* Generic forms. */
.bsbs-suite-admin input[type="text"],
.bsbs-suite-admin input[type="email"],
.bsbs-suite-admin input[type="tel"],
.bsbs-suite-admin input[type="url"],
.bsbs-suite-admin input[type="number"],
.bsbs-suite-admin input[type="date"],
.bsbs-suite-admin input[type="datetime-local"],
.bsbs-suite-admin input[type="time"],
.bsbs-suite-admin input[type="password"],
.bsbs-suite-admin input[type="search"],
.bsbs-suite-admin select,
.bsbs-suite-admin textarea,
.bsbs-order-screen [id^="bs"] input:not([type="checkbox"]):not([type="radio"]),
.bsbs-order-screen [id^="bs"] select,
.bsbs-order-screen [id^="bs"] textarea,
.bsbs-responsive-account .woocommerce-MyAccount-content input:not([type="checkbox"]):not([type="radio"]),
.bsbs-responsive-account .woocommerce-MyAccount-content select,
.bsbs-responsive-account .woocommerce-MyAccount-content textarea {
  max-width: 100%;
}

.bsbs-suite-admin textarea,
.bsbs-responsive-account .woocommerce-MyAccount-content textarea {
  resize: vertical;
}

.bsbs-suite-admin .button,
.bsbs-suite-admin button,
.bsbs-suite-admin input[type="submit"],
.bsbs-order-screen [id^="bs"] .button,
.bsbs-order-screen [id^="bs"] button,
.bsbs-responsive-account .woocommerce-MyAccount-content .button,
.bsbs-responsive-account .woocommerce-MyAccount-content button {
  min-height: 36px;
  white-space: normal;
  line-height: 1.25;
}

.bsbs-suite-admin .bsbs-button-row,
.bsbs-suite-admin .bsacs-acc-actions,
.bsbs-suite-admin .bsacs-pm-actions,
.bsbs-suite-admin .bsam-actions,
.bsbs-suite-admin .bsbs-fin-actions,
.bsbs-suite-admin .bscc-modal-actions,
.bsbs-suite-admin .bscc-toolbar,
.bsbs-suite-admin .bscc-grid-toolbar,
.bsbs-responsive-account .bsap-summary-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--bsbs-gap-2);
}

/* Scrollable tabs without wrapping into unreadable multi-line blocks. */
.bsbs-suite-admin .nav-tab-wrapper,
.bsbs-suite-admin .bsbs-tabs,
.bsbs-responsive-account .bsap-tabs,
.bsbs-responsive-account .woocommerce-MyAccount-navigation ul {
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

.bsbs-suite-admin .nav-tab-wrapper,
.bsbs-responsive-account .bsap-tabs {
  display: flex;
  flex-wrap: nowrap;
  gap: 4px;
  padding-bottom: 3px;
}

.bsbs-suite-admin .nav-tab-wrapper .nav-tab,
.bsbs-responsive-account .bsap-tabs a {
  flex: 0 0 auto;
  white-space: nowrap;
}

/* Shared table wrappers. */
.bsbs-suite-admin .bsbs-table-scroll,
.bsbs-suite-admin .bsbs-fin-table-wrap,
.bsbs-suite-admin .bsam-table-wrap,
.bsbs-suite-admin .bsarc-table-wrap,
.bsbs-suite-admin .bsacs-ledger-wrap,
.bsbs-suite-admin .bsacs-pending-scroll,
.bsbs-suite-admin .bscc-grid-table-wrap,
.bsbs-suite-admin .bscc-global-table-shell,
.bsbs-suite-admin .table-responsive,
.bsbs-responsive-account .bsap-table-wrapper,
.bsbs-responsive-account .bsap-order-table-wrap,
.bsbs-responsive-account .bsts-order-table-wrap,
.bsbs-order-screen .bsbs-table-scroll,
.bsbs-responsive-account .bsbs-table-scroll {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-inline: contain;
}

.bsbs-suite-admin .bsbs-table-scroll,
.bsbs-order-screen .bsbs-table-scroll,
.bsbs-responsive-account .bsbs-table-scroll {
  border: 1px solid var(--bsbs-border);
  border-radius: var(--bsbs-radius);
  background: var(--bsbs-surface);
}

.bsbs-suite-admin .bsbs-responsive-data-table,
.bsbs-order-screen .bsbs-responsive-data-table,
.bsbs-responsive-account .bsbs-responsive-data-table {
  width: 100%;
  max-width: 100%;
  border-collapse: collapse;
}

.bsbs-suite-admin .bsbs-responsive-scroll-table,
.bsbs-order-screen .bsbs-responsive-scroll-table,
  .bsbs-responsive-account .bsbs-responsive-scroll-table {
  min-width: 720px;
}

.bsbs-suite-admin .bsbs-responsive-data-table thead th,
.bsbs-order-screen .bsbs-responsive-data-table thead th,
.bsbs-responsive-account .bsbs-responsive-data-table thead th {
  vertical-align: middle;
}

/* Filters and top toolbars. */
.bsbs-suite-admin .bsacs-filterbar,
.bsbs-suite-admin .bsbs-fin-filters,
.bsbs-suite-admin .bsap-summary-filters,
.bsbs-suite-admin .tablenav,
.bsbs-suite-admin .bscc-grid-toolbar,
.bsbs-suite-admin .bscc-toolbar {
  max-width: 100%;
}

.bsbs-suite-admin .bsacs-filterbar,
.bsbs-suite-admin .bsbs-fin-filters,
.bsbs-suite-admin .bsap-summary-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: var(--bsbs-gap-2);
}

.bsbs-suite-admin .bsacs-filter-item,
.bsbs-suite-admin .bsbs-fin-filters > *,
.bsbs-suite-admin .bsap-summary-filters > * {
  min-width: 0;
}

/* Existing grids: preserve desktop density and progressively reduce columns. */
.bsbs-suite-admin .bsbs-kpis,
.bsbs-suite-admin .bsbs-fin-kpis,
.bsbs-suite-admin .bsacs-summary-grid,
.bsbs-suite-admin .bsacs-close-grid,
.bsbs-suite-admin .bsam-grid,
.bsbs-suite-admin .bsarc-grid,
.bsbs-responsive-account .bsap-grid,
.bsbs-responsive-account .bsap-advisor-grid,
.bsbs-responsive-account .bsap-kpi-strip,
.bsbs-responsive-account .bsap-period-grid {
  max-width: 100%;
}

/* Modals are sized for desktop, tablet and mobile, including iOS safe areas. */
.bsbs-suite-admin .bsacs-modal,
.bsbs-suite-admin .bsam-modal,
.bsbs-suite-admin .bscc-modal,
.bsbs-order-screen .bsts-modal,
.bsbs-responsive-account .bsts-modal {
  padding: max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
}

.bsbs-suite-admin .bsacs-modal-dialog,
.bsbs-suite-admin .bsam-modal-box,
.bsbs-suite-admin .bscc-modal-inner,
.bsbs-order-screen .bsts-modal__panel,
.bsbs-responsive-account .bsts-modal__panel {
  max-width: min(960px, calc(100vw - 24px));
  max-height: calc(100dvh - 24px);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

/* WordPress form tables become vertical forms on phones. */
@media (max-width: 782px) {
  .bsbs-suite-admin .form-table,
  .bsbs-suite-admin .form-table tbody,
  .bsbs-suite-admin .form-table tr,
  .bsbs-suite-admin .form-table th,
  .bsbs-suite-admin .form-table td,
  .bsbs-order-screen [id^="bs"] .form-table,
  .bsbs-order-screen [id^="bs"] .form-table tbody,
  .bsbs-order-screen [id^="bs"] .form-table tr,
  .bsbs-order-screen [id^="bs"] .form-table th,
  .bsbs-order-screen [id^="bs"] .form-table td,
  .bsbs-responsive-account .woocommerce-MyAccount-content .form-table,
  .bsbs-responsive-account .woocommerce-MyAccount-content .form-table tbody,
  .bsbs-responsive-account .woocommerce-MyAccount-content .form-table tr,
  .bsbs-responsive-account .woocommerce-MyAccount-content .form-table th,
  .bsbs-responsive-account .woocommerce-MyAccount-content .form-table td {
    display: block;
    width: 100%;
    max-width: 100%;
  }

  .bsbs-suite-admin .form-table th,
  .bsbs-order-screen [id^="bs"] .form-table th,
  .bsbs-responsive-account .woocommerce-MyAccount-content .form-table th {
    padding: 14px 0 5px;
  }

  .bsbs-suite-admin .form-table td,
  .bsbs-order-screen [id^="bs"] .form-table td,
  .bsbs-responsive-account .woocommerce-MyAccount-content .form-table td {
    padding: 0 0 13px;
  }

  .bsbs-suite-admin input[type="text"],
  .bsbs-suite-admin input[type="email"],
  .bsbs-suite-admin input[type="tel"],
  .bsbs-suite-admin input[type="url"],
  .bsbs-suite-admin input[type="number"],
  .bsbs-suite-admin input[type="date"],
  .bsbs-suite-admin input[type="datetime-local"],
  .bsbs-suite-admin input[type="time"],
  .bsbs-suite-admin input[type="password"],
  .bsbs-suite-admin input[type="search"],
  .bsbs-suite-admin select,
  .bsbs-suite-admin textarea,
  .bsbs-order-screen [id^="bs"] input:not([type="checkbox"]):not([type="radio"]),
  .bsbs-order-screen [id^="bs"] select,
  .bsbs-order-screen [id^="bs"] textarea,
  .bsbs-responsive-account .woocommerce-MyAccount-content input:not([type="checkbox"]):not([type="radio"]),
  .bsbs-responsive-account .woocommerce-MyAccount-content select,
  .bsbs-responsive-account .woocommerce-MyAccount-content textarea {
    width: 100% !important;
    min-height: 44px;
    font-size: 16px; /* Avoid iOS auto-zoom. */
  }

  .bsbs-suite-admin input[type="checkbox"],
  .bsbs-suite-admin input[type="radio"],
  .bsbs-order-screen [id^="bs"] input[type="checkbox"],
  .bsbs-order-screen [id^="bs"] input[type="radio"],
  .bsbs-responsive-account .woocommerce-MyAccount-content input[type="checkbox"],
  .bsbs-responsive-account .woocommerce-MyAccount-content input[type="radio"] {
    width: 20px;
    height: 20px;
  }

  .bsbs-suite-admin .button,
  .bsbs-suite-admin button,
  .bsbs-suite-admin input[type="submit"],
  .bsbs-order-screen [id^="bs"] .button,
  .bsbs-order-screen [id^="bs"] button,
  .bsbs-responsive-account .woocommerce-MyAccount-content .button,
  .bsbs-responsive-account .woocommerce-MyAccount-content button {
    min-height: 44px;
    padding-top: 8px;
    padding-bottom: 8px;
  }

  .bsbs-suite-admin .bsbs-hero,
  .bsbs-suite-admin .bsbs-fin-panel-head,
  .bsbs-responsive-account .bsap-summary-head {
    flex-direction: column;
    align-items: stretch;
  }

  .bsbs-suite-admin .bsbs-kpis,
  .bsbs-suite-admin .bsbs-fin-kpis,
  .bsbs-suite-admin .bsacs-summary-grid,
  .bsbs-suite-admin .bsacs-close-grid,
  .bsbs-suite-admin .bsam-grid,
  .bsbs-suite-admin .bsarc-grid,
  .bsbs-responsive-account .bsap-grid,
  .bsbs-responsive-account .bsap-advisor-grid,
  .bsbs-responsive-account .bsap-kpi-strip,
  .bsbs-responsive-account .bsap-period-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  /* Card mode for custom data tables. Native WP list tables remain scrollable. */
  .bsbs-suite-admin table.bsbs-responsive-card-table,
  .bsbs-order-screen table.bsbs-responsive-card-table,
  .bsbs-responsive-account table.bsbs-responsive-card-table {
    display: block !important;
    min-width: 0 !important;
    width: 100% !important;
    border: 0 !important;
    background: transparent !important;
    overflow: visible !important;
  }

  .bsbs-suite-admin table.bsbs-responsive-card-table thead,
  .bsbs-order-screen table.bsbs-responsive-card-table thead,
  .bsbs-responsive-account table.bsbs-responsive-card-table thead {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  .bsbs-suite-admin table.bsbs-responsive-card-table tbody,
  .bsbs-order-screen table.bsbs-responsive-card-table tbody,
  .bsbs-responsive-account table.bsbs-responsive-card-table tbody {
    display: grid !important;
    gap: 12px;
  }

  .bsbs-suite-admin table.bsbs-responsive-card-table tbody tr,
  .bsbs-order-screen table.bsbs-responsive-card-table tbody tr,
  .bsbs-responsive-account table.bsbs-responsive-card-table tbody tr {
    display: block !important;
    margin: 0 !important;
    padding: 7px 12px !important;
    border: 1px solid var(--bsbs-border) !important;
    border-radius: var(--bsbs-radius) !important;
    background: var(--bsbs-surface) !important;
    box-shadow: 0 1px 3px rgba(0,0,0,.05);
  }

  .bsbs-suite-admin table.bsbs-responsive-card-table tbody td,
  .bsbs-order-screen table.bsbs-responsive-card-table tbody td,
  .bsbs-responsive-account table.bsbs-responsive-card-table tbody td {
    display: grid !important;
    grid-template-columns: minmax(105px, 38%) minmax(0, 1fr);
    align-items: start;
    gap: 10px;
    width: 100% !important;
    min-width: 0 !important;
    padding: 9px 0 !important;
    border: 0 !important;
    border-bottom: 1px dashed #dcdcde !important;
    text-align: left !important;
    white-space: normal !important;
  }

  .bsbs-suite-admin table.bsbs-responsive-card-table tbody td:last-child,
  .bsbs-order-screen table.bsbs-responsive-card-table tbody td:last-child,
  .bsbs-responsive-account table.bsbs-responsive-card-table tbody td:last-child {
    border-bottom: 0 !important;
  }

  .bsbs-suite-admin table.bsbs-responsive-card-table tbody td::before,
  .bsbs-order-screen table.bsbs-responsive-card-table tbody td::before,
  .bsbs-responsive-account table.bsbs-responsive-card-table tbody td::before {
    content: attr(data-bsbs-label);
    min-width: 0;
    color: var(--bsbs-muted);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.35;
    text-transform: uppercase;
    letter-spacing: .025em;
  }

  .bsbs-suite-admin table.bsbs-responsive-card-table tbody td[colspan],
  .bsbs-order-screen table.bsbs-responsive-card-table tbody td[colspan],
  .bsbs-responsive-account table.bsbs-responsive-card-table tbody td[colspan] {
    grid-template-columns: 1fr;
  }

  .bsbs-suite-admin table.bsbs-responsive-card-table tbody td[colspan]::before,
  .bsbs-order-screen table.bsbs-responsive-card-table tbody td[colspan]::before,
  .bsbs-responsive-account table.bsbs-responsive-card-table tbody td[colspan]::before,
  .bsbs-suite-admin table.bsbs-responsive-card-table tbody td[data-bsbs-label="" ]::before,
  .bsbs-responsive-account table.bsbs-responsive-card-table tbody td[data-bsbs-label="" ]::before {
    display: none;
  }

  .bsbs-suite-admin table.bsbs-responsive-card-table .button,
  .bsbs-suite-admin table.bsbs-responsive-card-table button,
  .bsbs-order-screen table.bsbs-responsive-card-table .button,
  .bsbs-responsive-account table.bsbs-responsive-card-table .button,
  .bsbs-order-screen table.bsbs-responsive-card-table button,
  .bsbs-responsive-account table.bsbs-responsive-card-table button {
    width: 100%;
    margin: 3px 0;
    text-align: center;
  }

  /* Large WP/native tables remain usable with horizontal touch scrolling. */
  .bsbs-suite-admin .bsbs-responsive-scroll-table,
  .bsbs-order-screen .bsbs-responsive-scroll-table,
  .bsbs-responsive-account .bsbs-responsive-scroll-table {
    min-width: 760px;
  }

  .bsbs-suite-admin .bsbs-responsive-scroll-table th,
  .bsbs-suite-admin .bsbs-responsive-scroll-table td,
  .bsbs-order-screen .bsbs-responsive-scroll-table th,
  .bsbs-responsive-account .bsbs-responsive-scroll-table th,
  .bsbs-order-screen .bsbs-responsive-scroll-table td,
  .bsbs-responsive-account .bsbs-responsive-scroll-table td {
    white-space: nowrap;
  }

  .bsbs-suite-admin .tablenav,
  .bsbs-suite-admin .tablenav .alignleft,
  .bsbs-suite-admin .tablenav .alignright,
  .bsbs-suite-admin .tablenav-pages {
    float: none;
    width: 100%;
    height: auto;
  }

  .bsbs-suite-admin .tablenav .actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    width: 100%;
    padding: 0;
  }

  .bsbs-suite-admin .bsacs-modal-dialog,
  .bsbs-suite-admin .bsam-modal-box,
  .bsbs-suite-admin .bscc-modal-inner,
  .bsbs-order-screen .bsts-modal__panel,
  .bsbs-responsive-account .bsts-modal__panel {
    width: calc(100vw - 24px) !important;
    height: auto;
    max-height: calc(100dvh - 24px);
    border-radius: 14px;
  }
}

@media (max-width: 600px) {
  .bsbs-suite-admin .wrap,
  .bsbs-suite-admin .bsbs-shell,
  .bsbs-suite-admin .bsbs-fin-wrap,
  .bsbs-suite-admin .bsam-wrap,
  .bsbs-suite-admin .bsarc-wrap,
  .bsbs-suite-admin .bscc-wrap {
    margin-left: 0;
    margin-right: 8px;
  }

  .bsbs-suite-admin h1 { font-size: 23px; line-height: 1.2; }
  .bsbs-suite-admin h2 { font-size: 19px; line-height: 1.25; }
  .bsbs-suite-admin h3 { font-size: 16px; line-height: 1.3; }

  .bsbs-suite-admin .bsbs-kpis,
  .bsbs-suite-admin .bsbs-fin-kpis,
  .bsbs-suite-admin .bsacs-summary-grid,
  .bsbs-suite-admin .bsacs-close-grid,
  .bsbs-suite-admin .bsam-grid,
  .bsbs-suite-admin .bsarc-grid,
  .bsbs-responsive-account .bsap-grid,
  .bsbs-responsive-account .bsap-advisor-grid,
  .bsbs-responsive-account .bsap-kpi-strip,
  .bsbs-responsive-account .bsap-period-grid {
    grid-template-columns: 1fr !important;
  }

  .bsbs-suite-admin .bsbs-action-grid {
    grid-template-columns: 1fr !important;
  }

  .bsbs-suite-admin table.bsbs-responsive-card-table tbody td,
  .bsbs-order-screen table.bsbs-responsive-card-table tbody td,
  .bsbs-responsive-account table.bsbs-responsive-card-table tbody td {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .bsbs-suite-admin table.bsbs-responsive-card-table tbody td::before,
  .bsbs-order-screen table.bsbs-responsive-card-table tbody td::before,
  .bsbs-responsive-account table.bsbs-responsive-card-table tbody td::before {
    margin-bottom: 1px;
  }

  .bsbs-suite-admin .bsbs-button-row > *,
  .bsbs-suite-admin .bsacs-acc-actions > *,
  .bsbs-suite-admin .bsacs-pm-actions > *,
  .bsbs-suite-admin .bsam-actions > *,
  .bsbs-suite-admin .bsbs-fin-actions > *,
  .bsbs-suite-admin .bscc-modal-actions > *,
  .bsbs-responsive-account .bsap-summary-actions > * {
    width: 100%;
    text-align: center;
  }

  .bsbs-responsive-account .woocommerce-MyAccount-navigation,
  .bsbs-responsive-account .woocommerce-MyAccount-content {
    float: none !important;
    width: 100% !important;
  }

  .bsbs-responsive-account .woocommerce-MyAccount-navigation {
    margin-bottom: 16px;
  }
}

/* Narrow landscape phones: use available horizontal space without oversized cards. */
@media (max-height: 500px) and (orientation: landscape) {
  .bsbs-suite-admin .bsacs-modal-dialog,
  .bsbs-suite-admin .bsam-modal-box,
  .bsbs-suite-admin .bscc-modal-inner,
  .bsbs-order-screen .bsts-modal__panel,
  .bsbs-responsive-account .bsts-modal__panel {
    max-height: calc(100dvh - 12px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .bsbs-suite-admin *,
  .bsbs-order-screen [id^="bs"] *,
  .bsbs-responsive-account .woocommerce-MyAccount-content * {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* ========================================================================
 * BS Business Suite 1.0.45 — Professional admin consolidation
 * Pure presentation layer. No balances, commissions, orders or metadata are
 * recalculated here.
 * ====================================================================== */

.bsbs-suite-admin {
  --bsbs-primary-strong: #135e96;
  --bsbs-success: #157347;
  --bsbs-warning: #8a5a00;
  --bsbs-danger-strong: #b42318;
  --bsbs-text: #1d2327;
  --bsbs-shadow: 0 2px 10px rgba(0, 0, 0, .045);
}

.bsbs-suite-admin #wpbody-content {
  min-width: 0;
  overflow-x: clip;
}

.bsbs-suite-admin .wrap {
  color: var(--bsbs-text);
}

.bsbs-suite-admin .wrap > h1,
.bsbs-suite-admin .bsbs-shell > h1,
.bsbs-suite-admin .bsarc-page-head h1 {
  margin-bottom: 6px;
  font-weight: 700;
  letter-spacing: -.015em;
}

.bsbs-suite-admin .wrap > h1 + p,
.bsbs-suite-admin .bsbs-shell > h1 + p,
.bsbs-suite-admin .bsarc-page-head .description {
  max-width: 880px;
  color: var(--bsbs-muted);
  font-size: 14px;
  line-height: 1.5;
}

.bsbs-suite-admin .postbox,
.bsbs-suite-admin .bsacs-summary-card,
.bsbs-suite-admin .bsacs-pending-box,
.bsbs-suite-admin .bsam-card,
.bsbs-suite-admin .bsarc-card,
.bsbs-suite-admin .bsarc-editor-panel,
.bsbs-suite-admin .bscc-card,
.bsbs-suite-admin .card {
  border-color: var(--bsbs-border);
  border-radius: 14px;
  box-shadow: var(--bsbs-shadow);
}

.bsbs-suite-admin .postbox > .inside {
  padding: 16px 18px;
}

.bsbs-suite-admin .nav-tab-wrapper {
  border-bottom-color: var(--bsbs-border);
}

.bsbs-suite-admin .nav-tab {
  border-radius: 8px 8px 0 0;
  color: #3c434a;
}

.bsbs-suite-admin .nav-tab.nav-tab-active {
  color: var(--bsbs-primary-strong);
  font-weight: 700;
}

.bsbs-suite-admin .button,
.bsbs-suite-admin button,
.bsbs-suite-admin input[type="submit"] {
  border-radius: 7px;
}

.bsbs-suite-admin .button-primary {
  font-weight: 600;
}

.bsbs-suite-admin input[type="text"],
.bsbs-suite-admin input[type="email"],
.bsbs-suite-admin input[type="tel"],
.bsbs-suite-admin input[type="url"],
.bsbs-suite-admin input[type="number"],
.bsbs-suite-admin input[type="date"],
.bsbs-suite-admin input[type="datetime-local"],
.bsbs-suite-admin input[type="time"],
.bsbs-suite-admin input[type="password"],
.bsbs-suite-admin input[type="search"],
.bsbs-suite-admin select,
.bsbs-suite-admin textarea {
  border-radius: 7px;
}

/* Generic filter disclosure, injected by the responsive JavaScript. */
.bsbs-suite-admin .bsbs-filter-toggle {
  display: none;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 42px;
  margin: 10px 0;
  padding: 9px 12px;
  border: 1px solid var(--bsbs-border);
  border-radius: 9px;
  background: #fff;
  color: var(--bsbs-text);
  font-weight: 700;
  cursor: pointer;
}

.bsbs-suite-admin .bsbs-filter-toggle::after {
  content: '＋';
  font-size: 18px;
  color: var(--bsbs-primary);
}

.bsbs-suite-admin .bsbs-filter-toggle[aria-expanded="true"]::after {
  content: '−';
}

.bsbs-suite-admin .bsbs-active-filter-summary {
  display: block;
  margin: -3px 0 10px;
  color: var(--bsbs-muted);
  font-size: 12px;
  line-height: 1.4;
}

/* Movement screen: prevent nested scroll areas and keep financial data legible. */
.bsbs-suite-admin #bsacs-ledger-container,
.bsbs-suite-admin #bsacs-ledger-box,
.bsbs-suite-admin .bsacs-ledger-postbox,
.bsbs-suite-admin .bsacs-ledger-wrap,
.bsbs-suite-admin .bsacs-ledger-table,
.bsbs-suite-admin .bsacs-ledger-table tr,
.bsbs-suite-admin .bsacs-ledger-table td {
  min-width: 0;
  max-width: 100%;
}

.bsbs-suite-admin .bsacs-ledger-table td,
.bsbs-suite-admin .bsacs-ledger-table th {
  overflow-wrap: anywhere;
}

.bsbs-suite-admin .bsacs-movement-copy,
.bsbs-suite-admin .bsacs-order-context,
.bsbs-suite-admin .bsacs-account-state,
.bsbs-suite-admin .bsacs-row-details {
  min-width: 0;
}

.bsbs-suite-admin .bsacs-row-details summary {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
}

/* Reports: card labels should be human-readable, not compressed technical text. */
.bsbs-suite-admin .bsacs-report-table td::before,
.bsbs-suite-admin .bsacs-report-table [data-bsbs-label]::before {
  white-space: normal;
  text-transform: none;
  letter-spacing: 0;
}

/* Referral/capture: clear hierarchy and compact daily operation. */
.bsbs-suite-admin .bsarc-page-head {
  max-width: 900px;
}

.bsbs-suite-admin .bsarc-editor-panel > summary:focus-visible {
  outline: 2px solid var(--bsbs-primary);
  outline-offset: -3px;
}

.bsbs-suite-admin .bsarc-coupon-card {
  box-shadow: 0 1px 5px rgba(0, 0, 0, .035);
}

.bsbs-suite-admin .bsarc-coupon-card .bsarc-actions form,
.bsbs-suite-admin .bsarc-table-wrap form {
  margin: 0;
}

.bsbs-suite-admin .bsarc-table-wrap .button {
  white-space: nowrap;
}

/* Advisor manager: edit forms read as one coherent block on narrow screens. */
.bsbs-suite-admin .bsam-inline,
.bsbs-suite-admin .bsam-actions,
.bsbs-suite-admin .bsam-actions form {
  min-width: 0;
}

/* Module cards and dashboards. */
.bsbs-suite-admin .bsbs-action-card,
.bsbs-suite-admin .bsbs-kpi,
.bsbs-suite-admin .bsbs-hero {
  box-shadow: var(--bsbs-shadow);
}

.bsbs-suite-admin .bsbs-action-card a {
  border-radius: 7px;
  padding-left: 8px;
  padding-right: 8px;
}

.bsbs-suite-admin .bsbs-action-card a:hover {
  background: #f6f7f7;
}

@media (max-width: 782px) {
  .bsbs-suite-admin #wpcontent {
    padding-left: 10px !important;
  }

  .bsbs-suite-admin #wpbody-content {
    padding-bottom: 40px;
  }

  .bsbs-suite-admin .wrap,
  .bsbs-suite-admin .bsbs-shell,
  .bsbs-suite-admin .bsarc-wrap,
  .bsbs-suite-admin .bsam-wrap,
  .bsbs-suite-admin .bscc-wrap,
  .bsbs-suite-admin .bsbs-fin-wrap {
    width: auto !important;
    max-width: none !important;
    margin: 0 8px 0 0 !important;
  }

  .bsbs-suite-admin .wrap > h1,
  .bsbs-suite-admin .bsbs-shell > h1,
  .bsbs-suite-admin .bsarc-page-head h1 {
    font-size: 22px !important;
    line-height: 1.2 !important;
  }

  .bsbs-suite-admin .postbox > .inside {
    padding: 13px !important;
  }

  .bsbs-suite-admin .bsbs-filter-toggle {
    display: flex;
  }

  .bsbs-suite-admin .bsbs-collapsible-filter:not(.is-open) {
    display: none !important;
  }

  .bsbs-suite-admin .bsbs-collapsible-filter.is-open {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
    padding: 12px !important;
    margin: 0 0 14px !important;
    border: 1px solid var(--bsbs-border) !important;
    border-radius: 11px !important;
    background: #fff !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .035) !important;
  }

  .bsbs-suite-admin .bsbs-collapsible-filter.is-open > *,
  .bsbs-suite-admin .bsbs-collapsible-filter.is-open label,
  .bsbs-suite-admin .bsbs-collapsible-filter.is-open input,
  .bsbs-suite-admin .bsbs-collapsible-filter.is-open select,
  .bsbs-suite-admin .bsbs-collapsible-filter.is-open .button {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
  }

  /* Ledger cards: never use absolute labels or fixed offsets. */
  .bsbs-suite-admin .bsacs-ledger-wrap {
    overflow: visible !important;
    border: 0 !important;
    background: transparent !important;
  }

  .bsbs-suite-admin .bsacs-ledger-table {
    min-width: 0 !important;
    width: 100% !important;
    display: block !important;
    border: 0 !important;
    background: transparent !important;
  }

  .bsbs-suite-admin .bsacs-ledger-table thead {
    display: none !important;
  }

  .bsbs-suite-admin .bsacs-ledger-table tbody {
    display: grid !important;
    gap: 12px !important;
  }

  .bsbs-suite-admin .bsacs-ledger-table tr {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid var(--bsbs-border) !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: var(--bsbs-shadow) !important;
  }

  .bsbs-suite-admin .bsacs-ledger-table td {
    display: grid !important;
    grid-template-columns: minmax(110px, 35%) minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: start !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: none !important;
    padding: 10px 12px !important;
    position: static !important;
    border: 0 !important;
    border-bottom: 1px dashed var(--bsbs-border) !important;
    white-space: normal !important;
    text-align: left !important;
  }

  .bsbs-suite-admin .bsacs-ledger-table td::before {
    content: attr(data-label) !important;
    position: static !important;
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    color: var(--bsbs-muted) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
  }

  .bsbs-suite-admin .bsacs-ledger-table td[data-label="Movimiento"],
  .bsbs-suite-admin .bsacs-ledger-table td[data-label="Pedido / cliente"],
  .bsbs-suite-admin .bsacs-ledger-table td[data-label="Detalle"],
  .bsbs-suite-admin .bsacs-ledger-table td[data-label="Acciones"] {
    grid-template-columns: 1fr !important;
    gap: 5px !important;
  }

  .bsbs-suite-admin .bsacs-ledger-table td:last-child {
    border-bottom: 0 !important;
  }

  .bsbs-suite-admin .bsacs-movement-main {
    display: flex !important;
    gap: 8px !important;
    min-width: 0 !important;
  }

  .bsbs-suite-admin .bsacs-movement-copy strong,
  .bsbs-suite-admin .bsacs-movement-copy small,
  .bsbs-suite-admin .bsacs-order-context strong,
  .bsbs-suite-admin .bsacs-order-context span,
  .bsbs-suite-admin .bsacs-order-context small {
    overflow-wrap: anywhere !important;
  }

  .bsbs-suite-admin .bsacs-row-details,
  .bsbs-suite-admin .bsacs-row-details-grid,
  .bsbs-suite-admin .bsacs-row-details-grid div {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .bsbs-suite-admin .bsacs-row-details-grid div {
    grid-template-columns: 1fr !important;
    gap: 2px !important;
  }

  .bsbs-suite-admin .bsacs-ledger-table .button,
  .bsbs-suite-admin .bsacs-ledger-table button {
    width: 100% !important;
    margin: 3px 0 !important;
  }

  /* Referral screens use cards instead of wide, unreadable mini tables. */
  .bsbs-suite-admin .bsarc-table-wrap {
    overflow: visible !important;
  }

  .bsbs-suite-admin .bsarc-table-wrap table {
    min-width: 0 !important;
  }

  .bsbs-suite-admin .bsarc-summary {
    grid-template-columns: 1fr !important;
  }

  .bsbs-suite-admin .bsarc-code-badge {
    display: inline-block;
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .bsbs-suite-admin .bsarc-coupon-head {
    align-items: flex-start;
  }

  .bsbs-suite-admin .bsarc-actions form {
    width: 100%;
  }

  .bsbs-suite-admin .bsarc-actions form .button,
  .bsbs-suite-admin .bsarc-actions > .button {
    width: 100% !important;
  }

  /* Summary reports: keep labels and values together without horizontal scroll. */
  .bsbs-suite-admin .bsacs-report-scroll {
    overflow: visible !important;
    border: 0 !important;
    background: transparent !important;
  }

  .bsbs-suite-admin .bsacs-report-table {
    min-width: 0 !important;
  }

  .bsbs-suite-admin table.bsacs-report-table.bsbs-responsive-card-table tbody td::before {
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
  }

  /* Advisor manager: one advisor per clean card and no nested horizontal scroll. */
  .bsbs-suite-admin .bsam-table-wrap {
    overflow: visible !important;
  }

  .bsbs-suite-admin .bsam-table {
    min-width: 0 !important;
  }

  .bsbs-suite-admin .bsam-inline {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  .bsbs-suite-admin .bsam-inline input,
  .bsbs-suite-admin .bsam-inline select,
  .bsbs-suite-admin .bsam-inline .button {
    width: 100% !important;
  }

  .bsbs-suite-admin .bsam-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }

  .bsbs-suite-admin .bsam-actions form,
  .bsbs-suite-admin .bsam-actions .button {
    width: 100% !important;
  }

  /* Avoid huge explanatory blocks on operational screens. */
  .bsbs-suite-admin .description,
  .bsbs-suite-admin .bsarc-help,
  .bsbs-suite-admin .bsam-help {
    line-height: 1.45 !important;
  }
}

@media (max-width: 480px) {
  .bsbs-suite-admin .bsacs-ledger-table td {
    grid-template-columns: 1fr !important;
    gap: 4px !important;
  }

  .bsbs-suite-admin .bsacs-ledger-table td::before {
    margin-bottom: 1px !important;
  }

  .bsbs-suite-admin .bsam-actions {
    grid-template-columns: 1fr !important;
  }
}
