/* Account, staff and policy refinements. Requires sbs-brand.css, loaded before this file. */

/* Shared account palette aliases for the standalone auth templates. */
body:has(.brand-panel),
body:has(.auth-container) {
  --bg-color: var(--sbs-warm);
  --card-bg: var(--sbs-cream);
  --text-main: var(--sbs-ink);
  --text-muted: var(--sbs-muted);
  --primary: var(--sbs-wine-700);
  --primary-hover: var(--sbs-red-600);
  --border: var(--sbs-line);
  --input-bg: var(--sbs-cream);
  background-color: var(--sbs-warm) !important;
  background-image: radial-gradient(circle at 12% 10%, rgba(197,22,46,.055), transparent 34%),
    radial-gradient(circle at 90% 92%, rgba(91,7,24,.035), transparent 36%) !important;
  color: var(--sbs-ink) !important;
}

/* Shared login / account registration brand panel and legible form surfaces. */
body:has(.brand-panel) .brand-panel {
  background: linear-gradient(150deg, var(--sbs-wine-950), var(--sbs-wine-800)) !important;
}
body:has(.brand-panel) .brand-panel::before {
  background: radial-gradient(circle, rgba(225,45,63,.20), transparent 68%) !important;
}
body:has(.brand-panel) .brand-panel::after {
  background: radial-gradient(circle, rgba(143,16,37,.22), transparent 68%) !important;
}
body:has(.brand-panel) .bp-logo-icon {
  background: linear-gradient(135deg, var(--sbs-red-600), var(--sbs-wine-700)) !important;
  box-shadow: 0 4px 14px rgba(36,3,10,.24) !important;
}
body:has(.brand-panel) .bp-logo-text,
body:has(.brand-panel) .bp-body h2,
body:has(.brand-panel) .bp-stat-num { color: var(--sbs-cream) !important; }
body:has(.brand-panel) .bp-logo-text span { color: #ffadb3 !important; }
body:has(.brand-panel) .bp-body h2 em {
  background: linear-gradient(90deg, #ffd2d3, #ff747e) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
body:has(.brand-panel) .bp-body p,
body:has(.brand-panel) .bp-stat-label,
body:has(.brand-panel) .perk-text { color: rgba(255,249,247,.74) !important; }
body:has(.brand-panel) .perk-text strong { color: var(--sbs-cream) !important; }
body:has(.brand-panel) .bp-tag {
  background: rgba(197,22,46,.16) !important;
  border-color: rgba(255,173,179,.3) !important;
  color: #ffe2e2 !important;
}
body:has(.brand-panel) .bp-tag i { color: #ff929b !important; }
body:has(.brand-panel) .perk-icon {
  color: #ffadb3 !important;
  background: rgba(197,22,46,.15) !important;
  border-color: rgba(255,173,179,.3) !important;
}
body:has(.brand-panel) .form-panel { background: var(--sbs-cream) !important; }
body:has(.brand-panel) .fp-header h1 { color: var(--sbs-wine-900) !important; }
body:has(.brand-panel) .fp-header p,
body:has(.brand-panel) .form-footer { color: var(--sbs-muted) !important; }
body:has(.brand-panel) .field label,
body:has(.brand-panel) .remember,
body:has(.brand-panel) .terms { color: var(--sbs-ink) !important; }
body:has(.brand-panel) .section-title { color: var(--sbs-wine-700) !important; }
body:has(.brand-panel) .pw-strength-bar { background-color: var(--sbs-rose) !important; }
body:has(.brand-panel) .pw-strength-label:not([style]) { color: var(--sbs-muted) !important; }
body:has(.brand-panel) .section-title::after,
body:has(.brand-panel) .step-line { background: var(--sbs-rose) !important; }
body:has(.brand-panel) .step { color: #967a80 !important; }
body:has(.brand-panel) .step-num { color: var(--sbs-muted) !important; background: var(--sbs-warm) !important; border-color: var(--sbs-line) !important; }
body:has(.brand-panel) .step.active { color: var(--sbs-red-600) !important; }
body:has(.brand-panel) .step.active .step-num {
  color: var(--sbs-cream) !important;
  background: var(--sbs-wine-700) !important;
  border-color: var(--sbs-wine-700) !important;
  box-shadow: none !important;
}
body:has(.brand-panel) .step.done,
body:has(.brand-panel) .step.done .step-num { color: #24714e !important; }
body:has(.brand-panel) .step.done .step-num { background: #e7f3ec !important; border-color: #c8e4d3 !important; }
body:has(.brand-panel) .input-wrap .icon,
body:has(.brand-panel) .select-arrow,
body:has(.brand-panel) .pw-toggle,
body:has(.brand-panel) .input-wrap .pw-toggle i { color: #987e83 !important; }
body:has(.brand-panel) .input-wrap input,
body:has(.brand-panel) .input-wrap select {
  background: var(--sbs-cream) !important;
  border-color: rgba(91,7,24,.22) !important;
  color: var(--sbs-ink) !important;
}
body:has(.brand-panel) .input-wrap input:focus,
body:has(.brand-panel) .input-wrap select:focus {
  border-color: var(--sbs-red-600) !important;
  box-shadow: 0 0 0 3px rgba(197,22,46,.11) !important;
}
body:has(.brand-panel) .terms a,
body:has(.brand-panel) .form-footer a,
body:has(.brand-panel) .link-muted { color: var(--sbs-wine-700) !important; }
body:has(.brand-panel) .terms a:hover,
body:has(.brand-panel) .form-footer a:hover,
body:has(.brand-panel) .link-muted:hover { color: var(--sbs-red-600) !important; }
body:has(.brand-panel) .terms input[type="checkbox"] { accent-color: var(--sbs-red-600) !important; }
body:has(.brand-panel) .btn-submit {
  background: linear-gradient(120deg, var(--sbs-wine-700), var(--sbs-red-600)) !important;
  color: var(--sbs-cream) !important;
  box-shadow: 0 7px 18px rgba(91,7,24,.16) !important;
}
body:has(.brand-panel) .btn-submit:hover {
  background: var(--sbs-wine-800) !important;
  box-shadow: 0 8px 20px rgba(91,7,24,.2) !important;
}

/* Reset, verification and recovery cards. Preserve actual success/error colors. */
body:has(.auth-container) .auth-container {
  background: var(--sbs-cream) !important;
  border-color: var(--sbs-line) !important;
  box-shadow: 0 18px 48px rgba(58,6,16,.09) !important;
}
body:has(.auth-container) .logo {
  background: linear-gradient(110deg, var(--sbs-wine-800), var(--sbs-red-600)) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
body:has(.auth-container) .title,
body:has(.auth-container) .success-title,
body:has(.auth-container) .error-title { color: var(--sbs-wine-900) !important; }
body:has(.auth-container) .subtitle,
body:has(.auth-container) .success-desc,
body:has(.auth-container) .footer-link { color: var(--sbs-muted) !important; }
body:has(.auth-container) .label { color: var(--sbs-wine-900) !important; }
body:has(.auth-container) .input {
  background: var(--sbs-cream) !important;
  border-color: rgba(91,7,24,.22) !important;
  color: var(--sbs-ink) !important;
}
body:has(.auth-container) .input:focus {
  border-color: var(--sbs-red-600) !important;
  box-shadow: 0 0 0 3px rgba(197,22,46,.11) !important;
}
body:has(.auth-container) .footer-link a { color: var(--sbs-wine-700) !important; }
body:has(.auth-container) .footer-link a:hover { color: var(--sbs-red-600) !important; }
body:has(.auth-container) .icon-wrapper {
  color: var(--sbs-red-600) !important;
  background: rgba(197,22,46,.09) !important;
  border-color: rgba(197,22,46,.2) !important;
}
body:has(.auth-container) .email-badge {
  color: var(--sbs-wine-900) !important;
  background: var(--sbs-warm) !important;
  border-color: var(--sbs-line) !important;
}
body:has(.auth-container) .btn-submit,
body:has(.auth-container) .btn-check {
  background: linear-gradient(120deg, var(--sbs-wine-700), var(--sbs-red-600)) !important;
  color: var(--sbs-cream) !important;
  box-shadow: 0 7px 18px rgba(91,7,24,.15) !important;
}
body:has(.auth-container) .btn-resend {
  background: var(--sbs-cream) !important;
  border-color: var(--sbs-line) !important;
  color: var(--sbs-wine-800) !important;
}
body:has(.auth-container) .btn-resend:hover { background: var(--sbs-warm) !important; }

/* Admin authentication and one-time setup cards. */
body:has(.card) {
  background: radial-gradient(circle at 12% 8%, rgba(197,22,46,.055), transparent 34%), var(--sbs-warm) !important;
  color: var(--sbs-ink) !important;
}
body:has(.card) .card {
  background: var(--sbs-cream) !important;
  border-color: var(--sbs-line) !important;
  box-shadow: 0 18px 48px rgba(58,6,16,.10) !important;
}
body:has(.card) .card::before { background: linear-gradient(135deg, var(--sbs-wine-700), var(--sbs-red-600)) !important; }
body:has(.card) .logo h2,
body:has(.card) h1 { color: var(--sbs-wine-900) !important; }
body:has(.card) .logo h2 {
  background: linear-gradient(100deg, var(--sbs-wine-800), var(--sbs-red-600)) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
body:has(.card) .logo p,
body:has(.card) label,
body:has(.card) .hint { color: var(--sbs-muted) !important; }
body:has(.card) .mark {
  background: linear-gradient(135deg, var(--sbs-wine-700), var(--sbs-red-600)) !important;
  color: var(--sbs-cream) !important;
}
body:has(.card) input {
  background: var(--sbs-cream) !important;
  border-color: var(--sbs-line) !important;
  color: var(--sbs-ink) !important;
}
body:has(.card) input:focus { border-color: var(--sbs-red-600) !important; box-shadow: 0 0 0 3px rgba(197,22,46,.11) !important; }
body:has(.card) .btn {
  background: linear-gradient(120deg, var(--sbs-wine-700), var(--sbs-red-600)) !important;
  color: var(--sbs-cream) !important;
  box-shadow: 0 7px 18px rgba(91,7,24,.16) !important;
}
body:has(#setup-form) button {
  background: linear-gradient(120deg, var(--sbs-wine-700), var(--sbs-red-600)) !important;
  color: var(--sbs-cream) !important;
}
body:has(.card) .foot { color: var(--sbs-muted) !important; }
body:has(.card) a { color: var(--sbs-wine-700) !important; }

/* Initial setup .message keeps its existing success/error semantics. */
body:has(#setup-form) .message.success { background: rgba(34,120,78,.1) !important; color: #216b4b !important; }
body:has(#setup-form) .message.error { background: rgba(197,22,46,.09) !important; color: #a31329 !important; }

/* Venue staff sign-in: wine header, cream login card; status feedback stays semantic. */
body:has(#login-screen) {
  --purple: var(--sbs-wine-700);
  --blue: var(--sbs-red-600);
  --dark: var(--sbs-warm);
  --card: var(--sbs-cream);
  --border: var(--sbs-line);
  background: var(--sbs-warm) !important;
  color: var(--sbs-ink) !important;
}
body:has(#login-screen) .header {
  background: linear-gradient(130deg, var(--sbs-wine-950), var(--sbs-wine-800)) !important;
  border-color: rgba(255,249,247,.14) !important;
  color: var(--sbs-cream) !important;
}
body:has(#login-screen) .header-badge { background: var(--sbs-red-600) !important; color: var(--sbs-cream) !important; }
body:has(#login-screen) .header-sub { color: rgba(255,249,247,.72) !important; }
body:has(#login-screen) #stats-bar { background: rgba(255,249,247,.1) !important; color: rgba(255,249,247,.78) !important; }
body:has(#login-screen) .login-card {
  background: var(--sbs-cream) !important;
  border-color: var(--sbs-line) !important;
  color: var(--sbs-wine-900) !important;
  box-shadow: 0 14px 36px rgba(58,6,16,.09) !important;
}
body:has(#login-screen) .login-card h2 { color: var(--sbs-wine-900) !important; }
body:has(#login-screen) .login-card p,
body:has(#login-screen) .field label { color: var(--sbs-muted) !important; }
body:has(#login-screen) .field input {
  background: var(--sbs-cream) !important;
  border-color: var(--sbs-line) !important;
  color: var(--sbs-ink) !important;
}
body:has(#login-screen) .field input:focus { border-color: var(--sbs-red-600) !important; }
body:has(#login-screen) .btn-primary {
  background: linear-gradient(120deg, var(--sbs-wine-700), var(--sbs-red-600)) !important;
  color: var(--sbs-cream) !important;
}
body:has(#login-screen) .tab.active { border-bottom-color: var(--sbs-red-500) !important; }
body:has(#login-screen) .scan-frame { border-color: rgba(197,22,46,.8) !important; }
body:has(#login-screen) .scan-line { background: linear-gradient(90deg, transparent, var(--sbs-red-500), transparent) !important; }

/* Admin desk: map the page's own theme variables so widgets and dynamically rendered rows inherit it. */
body:has(.topbar-title) {
  --bg: #24030a;
  --bg2: #3a0610;
  --card: rgba(255,249,247,.055);
  --text: #fff9f7;
  --muted: rgba(255,249,247,.67);
  --purple: #c5162e;
  --blue: #e12d3f;
  --grad: linear-gradient(125deg, #720a1d, #c5162e);
  --border: rgba(255,249,247,.15);
  --red: #ff858e;
  --green: #54c58a;
  --yellow: #f2c46e;
  --faint: rgba(255,249,247,.44);
  background: #24030a !important;
  color: #fff9f7 !important;
}
body:has(.topbar-title) .topbar { background: rgba(58,6,16,.92) !important; border-color: var(--border) !important; }
body:has(.topbar-title) .topbar-title {
  background: linear-gradient(100deg, #fff9f7, #ff9aa2) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
}
body:has(.topbar-title) .sidebar { background: #24030a !important; border-color: var(--border) !important; }
body:has(.topbar-title) .nav-item.active { background: rgba(197,22,46,.19) !important; color: #fff9f7 !important; }
body:has(.topbar-title) .nav-item.active i,
body:has(.topbar-title) .reminder-heading i,
body:has(.topbar-title) .reminder-state i { color: #ff858e !important; }
body:has(.topbar-title) .stat-icon.purple,
body:has(.topbar-title) .stat-icon.blue { background: rgba(197,22,46,.16) !important; color: #ff929b !important; }
body:has(.topbar-title) .stat-card,
body:has(.topbar-title) .panel,
body:has(.topbar-title) .scanner-box,
body:has(.topbar-title) .ticket-result,
body:has(.topbar-title) .recent-checkins,
body:has(.topbar-title) .modal { background-color: var(--bg2) !important; border-color: var(--border) !important; }
body:has(.topbar-title) .scan-frame { border-color: rgba(225,45,63,.8) !important; box-shadow: 0 0 0 2000px rgba(0,0,0,.45) !important; }
body:has(.topbar-title) .scan-line { background: linear-gradient(90deg, transparent, var(--sbs-red-500), transparent) !important; }
body:has(.topbar-title) #toast.info { border-color: rgba(225,45,63,.35) !important; color: #ffadb3 !important; }
body:has(.topbar-title) .reminder-intro { background: linear-gradient(120deg,rgba(197,22,46,.14),rgba(58,6,16,.4) 56%,rgba(16,185,129,.07)) !important; border-color: rgba(225,45,63,.23) !important; }
body:has(.topbar-title) .reminder-mark { background: rgba(197,22,46,.18) !important; color: #ff929b !important; }
body:has(.topbar-title) .reminder-heading .buyers-icon { color: #54c58a !important; }
body:has(.topbar-title) .reminder-state.error { color: #ff929b !important; }

/* Account dashboard: warm workspace, wine sidebar, calm red accents, retained status colors. */
body:has(.app-container) {
  --bg-dark: #faf5f3;
  --bg-sidebar: #3a0610;
  --card-dark: #fff9f7;
  --border-dark: rgba(91,7,24,.15);
  --text-primary: #26050b;
  --text-secondary: #765a60;
  --accent: #720a1d;
  --accent-hover: #c5162e;
  --success: #26734f;
  --warning: #986512;
  --danger: #ae152a;
  background: var(--bg-dark) !important;
  color: var(--text-primary) !important;
}
body:has(.app-container) .sidebar { background: var(--bg-sidebar) !important; border-color: rgba(255,249,247,.14) !important; color: var(--sbs-cream) !important; }
body:has(.app-container) .sidebar-logo-text,
body:has(.app-container) .sidebar-profile,
body:has(.app-container) .sidebar-footer { color: var(--sbs-cream) !important; }
body:has(.app-container) .sidebar-profile,
body:has(.app-container) .sidebar-footer { border-color: rgba(255,249,247,.14) !important; }
body:has(.app-container) .sidebar .nav-item { color: rgba(255,249,247,.75) !important; }
body:has(.app-container) .sidebar .nav-item:hover { background: rgba(255,249,247,.08) !important; color: var(--sbs-cream) !important; }
body:has(.app-container) .sidebar .nav-item.active { background: rgba(197,22,46,.24) !important; color: var(--sbs-cream) !important; }
body:has(.app-container) .sidebar .nav-item.active i { color: #ff9aa2 !important; }
body:has(.app-container) .top-header { background: var(--sbs-cream) !important; border-color: var(--sbs-line) !important; }
body:has(.app-container) .header-home-link { color: var(--sbs-wine-800) !important; background: var(--sbs-cream) !important; border-color: var(--sbs-line) !important; }
body:has(.app-container) .metric-card,
body:has(.app-container) .ticket-card,
body:has(.app-container) .list-card,
body:has(.app-container) .empty-state-card,
body:has(.app-container) .completion-card,
body:has(.app-container) .avatar-upload-row {
  background-color: var(--sbs-cream) !important;
  border-color: var(--sbs-line) !important;
  color: var(--sbs-ink) !important;
}
body:has(.app-container) .ticket-card::before,
body:has(.app-container) .ticket-card::after { background-color: var(--sbs-warm) !important; border-color: var(--sbs-line) !important; }
body:has(.app-container) .metric-icon.tickets,
body:has(.app-container) .metric-icon.applications,
body:has(.app-container) .metric-icon.sponsorships,
body:has(.app-container) .metric-icon.role,
body:has(.app-container) .empty-state-icon {
  background: rgba(197,22,46,.08) !important;
  border-color: rgba(197,22,46,.16) !important;
  color: var(--sbs-red-600) !important;
}
body:has(.app-container) .ticket-header { background: var(--sbs-wine-900) !important; border-color: rgba(255,249,247,.18) !important; color: var(--sbs-cream) !important; }
body:has(.app-container) .ticket-header h3,
body:has(.app-container) .ticket-header strong { color: var(--sbs-cream) !important; }
body:has(.app-container) .ticket-footer { background: var(--sbs-warm) !important; border-color: var(--sbs-line) !important; }
body:has(.app-container) .ticket-badge.approved { background: #e8f3ed !important; color: #216b4b !important; border-color: #cbe3d4 !important; }
body:has(.app-container) .ticket-badge.pending { background: #faf0dc !important; color: #84580d !important; border-color: #ead9b0 !important; }
body:has(.app-container) .form-input { background: var(--sbs-cream) !important; border-color: var(--sbs-line) !important; color: var(--sbs-ink) !important; }
body:has(.app-container) .form-input:focus { border-color: var(--sbs-red-600) !important; box-shadow: 0 0 0 3px rgba(197,22,46,.1) !important; }
body:has(.app-container) .btn-premium { background: var(--sbs-red-600) !important; border-color: var(--sbs-red-600) !important; color: var(--sbs-cream) !important; }
body:has(.app-container) .btn-premium:hover { background: var(--sbs-wine-700) !important; border-color: var(--sbs-wine-700) !important; }
body:has(.app-container) .btn-premium.btn-outline { background: transparent !important; border-color: var(--sbs-wine-700) !important; color: var(--sbs-wine-800) !important; }
body:has(.app-container) .progress-bar-bg { background: #ead9d9 !important; }
body:has(.app-container) .progress-bar-fill { background: var(--sbs-red-600) !important; }
body:has(.app-container) .notification-item.unread { border-left-color: var(--sbs-red-600) !important; background: rgba(197,22,46,.045) !important; }
body:has(.app-container) .notification-icon-wrapper { background: rgba(197,22,46,.08) !important; color: var(--sbs-wine-700) !important; }
body:has(.app-container) #tickets-container > div { background: var(--sbs-wine-900) !important; }
body:has(.app-container) #tickets-container > div > div:first-child { background: var(--sbs-wine-900) !important; }
body:has(.app-container) #tickets-container > div > div:nth-child(2) { background: var(--sbs-wine-800) !important; border-color: rgba(255,249,247,.14) !important; }
body:has(.app-container) #tickets-container button { background: var(--sbs-red-600) !important; color: var(--sbs-cream) !important; }

/* Promoter login and workspace use the same editorial light/dark pairing. */
body:has(.promoter-login) { background: var(--sbs-warm) !important; color: var(--sbs-ink) !important; }
body:has(.promoter-login) .promoter-login {
  background: radial-gradient(circle at 18% 20%, rgba(197,22,46,.16), transparent 30%),
    radial-gradient(circle at 82% 78%, rgba(91,7,24,.16), transparent 34%),
    linear-gradient(135deg, var(--sbs-wine-950), var(--sbs-wine-800)) !important;
}
body:has(.promoter-login) .login-card { background: var(--sbs-cream) !important; border-color: var(--sbs-line) !important; }
body:has(.promoter-login) .brand { color: var(--sbs-wine-900) !important; }
body:has(.promoter-login) .brand-mark,
body:has(.promoter-login) form button,
body:has(.promoter-login) .button-primary {
  background: linear-gradient(120deg, var(--sbs-wine-700), var(--sbs-red-600)) !important;
  color: var(--sbs-cream) !important;
  box-shadow: 0 7px 18px rgba(91,7,24,.15) !important;
}
body:has(.promoter-login) .brand strong,
body:has(.promoter-login) .eyebrow,
body:has(.promoter-login) .panel-kicker { color: var(--sbs-red-600) !important; }
body:has(.promoter-login) .login-copy,
body:has(.promoter-login) .support-note { color: var(--sbs-muted) !important; }
body:has(.promoter-login) input,
body:has(.promoter-login) select { background: var(--sbs-cream) !important; border-color: var(--sbs-line) !important; color: var(--sbs-ink) !important; }
body:has(.promoter-login) input:focus,
body:has(.promoter-login) select:focus { border-color: var(--sbs-red-600) !important; box-shadow: 0 0 0 3px rgba(197,22,46,.1) !important; }
body:has(.promoter-login) .dashboard { color: var(--sbs-ink) !important; }
body:has(.promoter-login) .topbar { background: var(--sbs-wine-950) !important; color: var(--sbs-cream) !important; }
body:has(.promoter-login) .event-name { color: #ffadb3 !important; }
body:has(.promoter-login) .profile-copy span { color: rgba(255,249,247,.68) !important; }
body:has(.promoter-login) .button-secondary { border-color: rgba(255,249,247,.45) !important; color: var(--sbs-cream) !important; }
body:has(.promoter-login) .panel { background: var(--sbs-cream) !important; border-color: var(--sbs-line) !important; }
body:has(.promoter-login) .coupon-item,
body:has(.promoter-login) .summary-card,
body:has(.promoter-login) th { background: var(--sbs-warm) !important; border-color: var(--sbs-line) !important; color: var(--sbs-ink) !important; }
body:has(.promoter-login) .calculation-note { border-left-color: var(--sbs-red-600) !important; background: rgba(197,22,46,.055) !important; color: var(--sbs-muted) !important; }
body:has(.promoter-login) .summary-card small { color: var(--sbs-muted) !important; }
body:has(.promoter-login) .button-primary { border-color: transparent !important; }

/* Legal pages: deep wine masthead, readable warm paper panels and wine navigation. */
body:has(.policy-card) { background: var(--sbs-warm) !important; color: var(--sbs-ink) !important; }
body:has(.policy-card) .top-bar {
  background: rgba(36,3,10,.98) !important;
  border-bottom-color: rgba(255,249,247,.14) !important;
}
body:has(.policy-card) .top-bar-logo,
body:has(.policy-card) .top-bar-logo span { color: var(--sbs-cream) !important; }
body:has(.policy-card) .top-bar-logo span em { color: #ff929b !important; }
body:has(.policy-card) .top-bar-back,
body:has(.policy-card) .top-bar-back svg { color: #ffadb3 !important; }
body:has(.policy-card) .top-bar-back:hover { color: var(--sbs-cream) !important; }
body:has(.policy-card) .hero {
  background: radial-gradient(ellipse 55% 65% at 50% 0%, rgba(197,22,46,.22), transparent 72%),
    linear-gradient(135deg, var(--sbs-wine-950), var(--sbs-wine-800)) !important;
  border-bottom-color: rgba(255,249,247,.14) !important;
}
body:has(.policy-card) .hero::before { background: radial-gradient(ellipse 60% 60% at 50% 0%, rgba(197,22,46,.16), transparent 72%) !important; }
body:has(.policy-card) .hero-badge {
  background: rgba(197,22,46,.17) !important;
  border-color: rgba(255,173,179,.3) !important;
  color: #ffdfe0 !important;
}
body:has(.policy-card) .hero p { color: rgba(255,249,247,.75) !important; }
body:has(.policy-card) .tab-nav { background: var(--sbs-cream) !important; border-color: var(--sbs-line) !important; }
body:has(.policy-card) .tab-btn { color: var(--sbs-muted) !important; }
body:has(.policy-card) .tab-btn:hover { color: var(--sbs-wine-800) !important; background: rgba(197,22,46,.055) !important; }
body:has(.policy-card) .tab-btn.active {
  background: linear-gradient(120deg, var(--sbs-wine-700), var(--sbs-red-600)) !important;
  color: var(--sbs-cream) !important;
  box-shadow: 0 5px 14px rgba(91,7,24,.14) !important;
}
body:has(.policy-card) .policy-card {
  background: var(--sbs-cream) !important;
  border-color: var(--sbs-line) !important;
  box-shadow: 0 12px 32px rgba(58,6,16,.06) !important;
}
body:has(.policy-card) .policy-card h2 { color: var(--sbs-wine-900) !important; }
body:has(.policy-card) .policy-card h2 .icon {
  background: rgba(197,22,46,.085) !important;
  border-color: rgba(197,22,46,.2) !important;
  color: var(--sbs-red-600) !important;
}
body:has(.policy-card) .policy-card .subtitle,
body:has(.policy-card) .policy-body p,
body:has(.policy-card) .policy-body ul li,
body:has(.policy-card) .contact-row .label { color: var(--sbs-muted) !important; }
body:has(.policy-card) .policy-divider { background: linear-gradient(90deg, rgba(197,22,46,.38), transparent) !important; }
body:has(.policy-card) .policy-body h3 { color: var(--sbs-wine-900) !important; }
body:has(.policy-card) .policy-body h3::before,
body:has(.policy-card) .policy-body ul li::before { color: var(--sbs-red-600) !important; background: var(--sbs-red-600) !important; }
body:has(.policy-card) .policy-body .highlight-box {
  background: rgba(197,22,46,.055) !important;
  border-color: rgba(197,22,46,.17) !important;
  border-left-color: var(--sbs-red-600) !important;
  color: var(--sbs-wine-900) !important;
}
body:has(.policy-card) .policy-body a { color: var(--sbs-wine-700) !important; }
body:has(.policy-card) .policy-body a:hover { color: var(--sbs-red-600) !important; }
body:has(.policy-card) .contact-row { background: rgba(197,22,46,.045) !important; border-color: rgba(197,22,46,.15) !important; }
body:has(.policy-card) .contact-row a { color: var(--sbs-wine-700) !important; }
body:has(.policy-card) .mini-footer { background: var(--sbs-wine-950) !important; border-color: rgba(255,249,247,.12) !important; color: rgba(255,249,247,.64) !important; }
body:has(.policy-card) .mini-footer a { color: #ffadb3 !important; }
body:has(.policy-card) .mini-footer a:hover { color: var(--sbs-cream) !important; }

@media (max-width: 600px) {
  body:has(.brand-panel) .form-panel { background: var(--sbs-cream) !important; }
  body:has(.auth-container) .auth-container { border-radius: 15px !important; }
  body:has(.policy-card) .top-bar { background: var(--sbs-wine-950) !important; }
  body:has(.policy-card) .policy-card { background: var(--sbs-cream) !important; }
}