:root {
  --brand: #ff7300;
  --brand-dark: #db5b00;
  --brand-ink: #a64400;
  --brand-soft: #fff2e8;
  --brand-border: #ffd4b5;
  --brand-on: #25170b;
  --panel-2: #f5f6f8;
  --bg: #f7f8fa;
  --text: #20252b;
  --line: #e4e7eb;
  --mint: #fff2e8;
}
body { background: var(--bg); }
.sidebar { background: #fff; }
.brand-logo, .sidebar .brand-logo { width: 210px; max-width: 100%; height: auto; object-fit: contain; }
.login-brand { width: 300px; max-width: 100%; }
.login-brand img { width: 100%; height: auto; object-fit: contain; }
.login-side { background: #252b31; }
.login-side::after { background: linear-gradient(180deg, transparent 38%, #20252b22 60%, #20252bd9 100%); }
.login-visual-foot { text-shadow: 0 1px 8px #20252b; }
.login-field input:focus { border-color: var(--brand-ink); box-shadow: 0 0 0 3px #ff73001a; }

/* Preserve semantic statuses and categorical chart colors; theme interaction accents. */
button.primary, .email-btn.primary, .login-form .primary,
:is(#campaignHeadingActions, #memberHeadingActions, #tierHeadingActions, #locationHeadingActions) button {
  background: var(--brand) !important;
  border-color: var(--brand) !important;
  color: var(--brand-on) !important;
  box-shadow: none;
}
button.primary:hover, .email-btn.primary:hover, .login-form .primary:hover,
:is(#campaignHeadingActions, #memberHeadingActions, #tierHeadingActions, #locationHeadingActions) button:hover {
  background: #ff8a29 !important;
  border-color: #ff8a29 !important;
}
:is(#appView, #loginView) input[type=checkbox], .email-dialog input[type=checkbox] { accent-color: var(--brand-ink); }
input:focus-visible, select:focus-visible, textarea:focus-visible {
  border-color: var(--brand-ink) !important;
  outline: 2px solid var(--brand-border);
  outline-offset: 2px;
  box-shadow: none !important;
}
.menu button { color: #20252b; }
.menu button.active, .pulse-admin .menu button.active,
body:has(#defaultView.dashboard-view) .menu button.active {
  color: var(--brand-ink) !important;
  background: var(--brand-soft) !important;
  box-shadow: none;
}
.menu button:hover, body:has(#defaultView.dashboard-view) .menu button:hover { background: #fff7f0; }
.menu button.active .symbol, .submenu button.active { color: var(--brand-ink); }
:is(#appView, #campaignWizard) .choice-card.active,
:is(#appView, #campaignWizard) .campaign-status-filters button[aria-pressed=true],
#appView #customersView .member-tier-filter[aria-pressed=true] {
  background: var(--brand-soft);
  border-color: var(--brand-border);
  color: var(--brand-ink);
}
#appView .company-tabs button[aria-selected=true],
#memberWizard .member-tab.active, .pos-tabs button[aria-selected=true] {
  color: var(--brand-ink);
  border-bottom-color: var(--brand);
}
#appView :is(.company-symbol, .security-avatar, .operation-icon),
#memberWizard .customer-avatar {
  background: var(--brand-soft);
  color: var(--brand-ink);
}
#appView :is(.security-role-heading, .location-level svg, .location-preview-heading svg, .commercial-price),
#memberWizard .member-wallet-summary strong { color: var(--brand-ink); }
#companySummaryValue { color: var(--brand-ink); }
.campaign-card-footer button:hover { background: var(--brand-soft); border-color: var(--brand-border); }
.commercial-meter:not(.warning):not(.limit) span { background: var(--brand); }
.commercial-catalog-tabs button[aria-pressed=true] { background: var(--brand-soft); color: var(--brand-ink); }
.email-step-summary { background: var(--brand-soft); color: var(--brand-ink); }
.email-template-card .email-cover:not(:has(.email-cover-photo)) { background: var(--brand-soft); }
.email-metric:first-child { border-top-color: var(--brand); }
.email-funnel-row:first-of-type i { background: var(--brand); }
.fe-editor { --fe-accent: var(--brand-ink); }
.fe-preview-tabs button[aria-pressed=true] { background: var(--brand-soft); color: var(--brand-ink); border-color: var(--brand-border); }
.pos-state input, .pos-permissions input { accent-color: var(--brand-ink); }
.pos-copy-status, .pos-endpoint b { color: var(--brand-ink); }
#adminPulseView { --pulse-teal: var(--brand); --pulse-coral: #3175aa; }
.pulse-icon { background: var(--brand-soft); color: var(--brand-ink); }
.earned { color: var(--brand-ink); }
.redeemed { color: #3175aa; }
@media (max-width: 780px) { .login-brand { width: 240px; } }
