/* SliceWP keeps its data, forms and interactions; Studio A owns this page's skin. */
body.gdg-affiliate-portal {
  --affiliate-success: #216447;
  --affiliate-success-bg: #e9f5ed;
  --affiliate-error: #9c3030;
  --affiliate-error-bg: #fff0ef;
  --affiliate-warning: #805517;
  --affiliate-warning-bg: #fff5dc;
  --slicewp-litepicker-month-header-color: var(--ink);
  --slicewp-litepicker-button-prev-month-color: var(--ink);
  --slicewp-litepicker-button-next-month-color: var(--ink);
  --slicewp-litepicker-button-prev-month-color-hover: var(--blue);
  --slicewp-litepicker-button-next-month-color-hover: var(--blue);
  --slicewp-litepicker-month-weekday-color: var(--muted);
  --slicewp-litepicker-month-week-number-color: var(--muted);
  --slicewp-litepicker-day-color: var(--body);
  --slicewp-litepicker-day-color-hover: var(--blue);
  --slicewp-litepicker-is-today-color: var(--blue);
  --slicewp-litepicker-is-in-range-color: var(--soft-accent);
  --slicewp-litepicker-is-start-color: var(--on-accent);
  --slicewp-litepicker-is-start-color-bg: var(--blue);
  --slicewp-litepicker-is-end-color: var(--on-accent);
  --slicewp-litepicker-is-end-color-bg: var(--blue);
}
html[data-theme='dark'] body.gdg-affiliate-portal {
  --affiliate-success: #a5dfb9;
  --affiliate-success-bg: #18382c;
  --affiliate-error: #ffc2bb;
  --affiliate-error-bg: #462827;
  --affiliate-warning: #f4d38c;
  --affiliate-warning-bg: #3b3020;
}
.gdg-affiliate-portal .affiliate-portal { background: var(--paper); color: var(--body); padding: 36px 24px 64px; }
.affiliate-portal-wrap { max-width: 1180px; margin-inline: auto; }
.affiliate-back, .affiliate-account-link { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; text-underline-offset: .2em; }
.affiliate-back { margin-bottom: 24px; }
.affiliate-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 32px; }
.gdg-affiliate-portal .affiliate-heading h1 { font-size: 2.5rem; line-height: 1.15; letter-spacing: -.025em; margin: 0 0 12px; }
.affiliate-heading p { margin: 0; max-width: 68ch; }
.affiliate-account-link { flex-shrink: 0; color: var(--body); }
.affiliate-layout, .affiliate-workspace { min-width: 0; }
.affiliate-portal--entry .affiliate-workspace { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 36px; }
.gdg-affiliate-portal .affiliate-sign-in-title { margin: 0 0 24px; font-size: 1.75rem; }

/* Plugin panels, native icons and tab state remain intact. */
body.gdg-affiliate-portal #slicewp-affiliate-account { display: grid; grid-template-columns: 210px minmax(0, 1fr); align-items: start; gap: 28px; }
body.gdg-affiliate-portal #slicewp-affiliate-account-nav-tab { min-width: 0; }
body.gdg-affiliate-portal #slicewp-affiliate-account-tab { width: 100%; min-width: 0; }
body.gdg-affiliate-portal .slicewp-nav-tab-wrapper { flex-direction: column; width: 100%; gap: 6px; margin-top: 0 !important; }
body.gdg-affiliate-portal .slicewp-nav-tab-wrapper::after { display: none; }
body.gdg-affiliate-portal .slicewp-nav-tab-wrapper .slicewp-nav-tab a { display: flex; align-items: center; gap: 10px; padding: 12px 14px; min-height: 48px; border: 1px solid transparent; border-radius: var(--radius-md); color: var(--body); line-height: 1.4; }
body.gdg-affiliate-portal .slicewp-nav-tab-wrapper .slicewp-nav-tab a:hover { color: var(--ink); background: var(--surface); }
body.gdg-affiliate-portal .slicewp-nav-tab-wrapper .slicewp-nav-tab.slicewp-active a { color: var(--blue); background: var(--surface); border-color: var(--line); font-weight: 600; }
body.gdg-affiliate-portal .slicewp-nav-tab-wrapper .slicewp-nav-tab svg { margin: 0; width: 20px; height: 20px; flex-shrink: 0; }
body.gdg-affiliate-portal .slicewp-nav-tab-wrapper .slicewp-nav-tab span { display: inline; }
body.gdg-affiliate-portal .slicewp-tab { margin: 0; }
body.gdg-affiliate-portal .slicewp-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: none; color: var(--body); }
body.gdg-affiliate-portal .slicewp-card-inner { padding: 24px; }
body.gdg-affiliate-portal .slicewp-card-header { color: var(--ink); padding: 20px 24px; border-color: var(--line); }
body.gdg-affiliate-portal .slicewp-card-footer { border-color: var(--line); background: transparent; padding: 14px 24px; }
body.gdg-affiliate-portal .slicewp-card-title { color: var(--body); font-weight: 500; }
body.gdg-affiliate-portal .slicewp-card-affiliate-dashboard .slicewp-card-inner { padding: 20px; gap: 8px; }
body.gdg-affiliate-portal .slicewp-card-affiliate-dashboard .slicewp-kpi-value { font-size: 1.75rem; font-weight: 600; color: var(--ink); font-variant-numeric: tabular-nums; gap: 10px; flex-wrap: wrap; }
body.gdg-affiliate-portal .slicewp-card-affiliate-dashboard .slicewp-card-inner .slicewp-kpi-direction { background: var(--paper); color: var(--body); font-weight: 400; }
body.gdg-affiliate-portal .slicewp-card-affiliate-dashboard .slicewp-card-inner .slicewp-kpi-direction.slicewp-positive { color: var(--affiliate-success); background: var(--affiliate-success-bg); }
body.gdg-affiliate-portal .slicewp-card-affiliate-dashboard .slicewp-card-inner .slicewp-kpi-direction.slicewp-negative { color: var(--affiliate-error); background: var(--affiliate-error-bg); }
body.gdg-affiliate-portal .slicewp-section-heading { color: var(--ink); font-weight: 600; margin-top: 28px; }

/* Preserve hidden inputs, checkbox layout, copy controls and conditional actions. */
body.gdg-affiliate-portal .slicewp-form { margin: 0; }
body.gdg-affiliate-portal .slicewp-field-wrapper { margin-bottom: 24px; }
body.gdg-affiliate-portal .slicewp-field-label-wrapper label { font-size: 1rem; font-weight: 550; color: var(--ink); }
body.gdg-affiliate-portal .slicewp-field-description { color: var(--body); font-size: .9375rem; }
body.gdg-affiliate-portal :is(.affiliate-workspace,.slicewp-global-overlay) :is(input[type=text],input[type=email],input[type=password],input[type=url],input[type=number],textarea,select) { background: var(--surface); color: var(--ink); border: 1px solid var(--muted); border-radius: var(--radius-sm); box-shadow: none; padding: 11px 13px; min-height: 48px; font: inherit; max-width: 100%; }
body.gdg-affiliate-portal .slicewp-field-wrapper :is(input[type=text],input[type=email],input[type=password],input[type=url],textarea,select) { width: 100%; }
body.gdg-affiliate-portal .slicewp-field-wrapper .slicewp-field-input-password input { padding-right: 56px; }
body.gdg-affiliate-portal .slicewp-field-wrapper .slicewp-field-input-password .slicewp-show-hide-password { width: 44px; height: 44px; right: 3px; margin-top: -22px; color: var(--body); }
body.gdg-affiliate-portal .affiliate-workspace input::placeholder { color: var(--muted); opacity: 1; }
body.gdg-affiliate-portal .affiliate-workspace input[readonly] { background: var(--paper); }
body.gdg-affiliate-portal .slicewp-field-wrapper :is(input[type=checkbox],input[type=radio]) { accent-color: var(--blue); width: 18px; height: 18px; }
body.gdg-affiliate-portal .slicewp-button-primary { background: var(--blue); border: 1px solid var(--blue); color: var(--on-accent); border-radius: var(--radius-sm); font: inherit; font-weight: 550; min-height: 46px; padding: 11px 18px; box-shadow: none; text-decoration: none; }
body.gdg-affiliate-portal .slicewp-button-primary:hover { background: var(--blue-hover); border-color: var(--blue-hover); color: var(--on-accent); }
body.gdg-affiliate-portal .slicewp-button-primary:disabled { opacity: .6; cursor: wait; }
body.gdg-affiliate-portal #slicewp-affiliate-login-form > button[type=submit] { width: 100%; justify-content: center; }
body.gdg-affiliate-portal .slicewp-lost-password { margin-top: 20px; text-align: center; }
body.gdg-affiliate-portal :is(.affiliate-portal,.slicewp-global-overlay) :is(a,button,input,select,textarea):focus-visible { outline: 2px solid var(--blue) !important; outline-offset: 3px; }
body.gdg-affiliate-portal .slicewp-field-wrapper input:focus { border-color: var(--blue); }

/* Readable tables with native horizontal scrolling limited to the table. */
body.gdg-affiliate-portal .slicewp-list-table-wrapper { border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: none; background: var(--surface); }
body.gdg-affiliate-portal table.slicewp-list-table { box-shadow: none; background: var(--surface); font-size: .9375rem; }
body.gdg-affiliate-portal table.slicewp-list-table :is(th,td) { color: var(--body); padding: 14px 16px; font-variant-numeric: tabular-nums; border-color: var(--line) !important; }
body.gdg-affiliate-portal table.slicewp-list-table th { color: var(--ink); background: var(--paper) !important; font-weight: 600; }
body.gdg-affiliate-portal table.slicewp-list-table td { word-break: normal; overflow-wrap: anywhere; }
body.gdg-affiliate-portal :is(.slicewp-list-table-before,.slicewp-list-table-after,.slicewp-list-table-filters form,.slicewp-affiliate-dashboard-filters form) { flex-wrap: wrap; gap: 12px; }
body.gdg-affiliate-portal .slicewp-pagination-link { background: var(--surface); color: var(--blue); min-width: 40px; min-height: 40px; }
body.gdg-affiliate-portal .slicewp-status-pill { background: var(--paper); color: var(--ink); }
body.gdg-affiliate-portal .slicewp-status-pill:is(.slicewp-status-active,.slicewp-status-complete,.slicewp-status-paid) { background: var(--affiliate-success-bg); color: var(--affiliate-success); }
body.gdg-affiliate-portal .slicewp-status-pill:is(.slicewp-status-pending,.slicewp-status-unpaid) { background: var(--affiliate-warning-bg); color: var(--affiliate-warning); }
body.gdg-affiliate-portal .slicewp-status-pill:is(.slicewp-status-rejected,.slicewp-status-failed) { background: var(--affiliate-error-bg); color: var(--affiliate-error); }
body.gdg-affiliate-portal .slicewp-user-notice { border-width: 1px; border-radius: var(--radius-md); }
body.gdg-affiliate-portal .slicewp-user-notice.slicewp-error { background: var(--affiliate-error-bg); border-color: var(--affiliate-error); color: var(--affiliate-error); }
body.gdg-affiliate-portal .slicewp-user-notice.slicewp-warning { background: var(--affiliate-warning-bg); border-color: var(--affiliate-warning); color: var(--affiliate-warning); }
body.gdg-affiliate-portal .slicewp-user-notice.slicewp-updated { background: var(--affiliate-success-bg); border-color: var(--affiliate-success); color: var(--affiliate-success); }
body.gdg-affiliate-portal .slicewp-user-notice.slicewp-info { background: var(--soft-accent); border-color: var(--blue); color: var(--ink); }

/* Pickers and overlays may live outside the main content, but stay page-scoped. */
body.gdg-affiliate-portal :is(.slicewp-date-picker-input,.slicewp-date-picker-modal,.slicewp-litepicker .container__months,.slicewp-global-overlay-inner,.slicewp-chart-tooltip) { background: var(--surface); color: var(--ink); border-color: var(--line); }
body.gdg-affiliate-portal .slicewp-date-picker-input { min-height: 46px; box-shadow: none; border-color: var(--muted); }
body.gdg-affiliate-portal .slicewp-date-picker-predefined-date-ranges { border-color: var(--line); }
body.gdg-affiliate-portal .slicewp-chart-before { flex-wrap: wrap; gap: 16px; }
body.gdg-affiliate-portal .slicewp-chart-legend ul { flex-wrap: wrap; }
body.gdg-affiliate-portal .slicewp-chart-legend li[role=button]:focus-visible { outline: 2px solid var(--blue); outline-offset: 4px; }
body.gdg-affiliate-portal .slicewp-chart-tooltip { box-shadow: none; }
body.gdg-affiliate-portal .slicewp-global-overlay-close { min-width: 44px; min-height: 44px; }
body.gdg-affiliate-portal .slicewp-global-overlay-inner { width: calc(100% - 32px); }
body.gdg-affiliate-portal .slicewp-loader { color: var(--blue); }
body.gdg-affiliate-portal .slicewp-loading-overlay { background: color-mix(in srgb, var(--surface) 90%, transparent); }
@media (max-width: 900px) {
  body.gdg-affiliate-portal #slicewp-affiliate-account { grid-template-columns: 1fr; }
  body.gdg-affiliate-portal .slicewp-nav-tab-wrapper { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .gdg-affiliate-portal .affiliate-portal { padding: 24px 18px 40px; }
  .gdg-affiliate-portal .affiliate-heading h1 { font-size: 2rem; }
  .affiliate-heading { flex-direction: column; align-items: start; gap: 12px; }
  .affiliate-portal--entry .affiliate-workspace { padding: 24px; }
  body.gdg-affiliate-portal .slicewp-nav-tab-wrapper { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.gdg-affiliate-portal .slicewp-nav-tab-wrapper .slicewp-nav-tab a { padding: 10px; }
  body.gdg-affiliate-portal .slicewp-card-inner { padding: 18px; }
}
@media (max-width: 390px) {
  .gdg-affiliate-portal .affiliate-portal { padding-inline: 10px; }
  .affiliate-portal--entry .affiliate-workspace { padding: 22px 0; background: transparent; border: 0; }
}
@media (prefers-reduced-motion: reduce) {
  body.gdg-affiliate-portal :is(.slicewp-global-overlay,.slicewp-global-overlay-inner,.slicewp-date-picker-input) { transition: none; }
}
