/* Admin appearance follows the user-approved neutral reference.
   Presentation only: navigation, visibility and business state remain in index.html. */
:root {
  --primary: #ff4b23;
  --primary-dark: #d63b18;
  --primary-light: #ff4b23;
  --primary-bg: #fff0e9;
  --primary-bg-hover: #ffe6dc;
  --bg: #f6f7fa;
  --bg-secondary: #f2f4f7;
  --surface-soft: #f2f4f7;
  --control-bg: #f7f8fa;
  --surface-strong: #eceff3;
  --card-bg: #ffffff;
  --card-border: #e0e4ec;
  --border: #e0e4ec;
  --border-light: #edf0f4;
  --text-primary: #202734;
  --text-secondary: #667085;
  --text-tertiary: #808897;
  --campaign: #d94a27;
  --campaign-soft: #fff0e9;
  --sidebar-bg: #111827;
  --sidebar-hover: rgba(255,255,255,.055);
  --sidebar-active: #fff0e9;
  --success: #42755a;
  --success-bg: #eef6f0;
  --danger: #b34f4f;
  --danger-bg: #fbefef;
  --warning: #927024;
  --warning-bg: #fbf6e9;
  --info: #586d86;
  --info-bg: #f0f4f8;
  --radius-sm: 6px;
  --radius: 8px;
  --radius-lg: 10px;
  --radius-xl: 12px;
  --card-shadow: none;
  --card-shadow-hover: none;
  --shadow-sm: none;
  --shadow-md: 0 6px 20px rgba(17,24,39,.07);
  --shadow-lg: 0 16px 44px rgba(17,24,39,.12);
  --bs-primary: #ff4b23;
  --bs-primary-rgb: 255,75,35;
  --bs-body-color: #202734;
  --bs-body-bg: #f6f7fa;
  --bs-border-color: #e0e4ec;
  --bs-link-color: #b43d1f;
  --bs-link-hover-color: #963017;
}
body { background: var(--bg); color: var(--text-primary); line-height: 1.5; text-rendering: optimizeLegibility; }

/* Dark navigation, quiet workspace. */
.sidebar { background: var(--sidebar-bg); border-right: 1px solid #202c40; box-shadow: none; }
.sidebar-header { padding: 22px 24px; border-bottom-color: rgba(255,255,255,.075); }
.sidebar-logo { color: #ff4b23; }
.sidebar-logo-icon, .login-logo-icon { background: var(--primary); color: #fff; }
.sidebar-logo-text { font-weight: 750; letter-spacing: -.3px; }
.sidebar-nav { padding: 18px 12px; scrollbar-color: #394459 transparent; }
.nav-section { margin-bottom: 24px; }
.sidebar .nav-section-title { color: #818c9f; letter-spacing: .7px; font-size: 10px; }
.sidebar .nav-link { color: #c0c8d6; padding: 10px 13px; margin-bottom: 3px; line-height: 1.4; border-radius: 8px; }
.sidebar .nav-link:hover { color: #f5f7fb; background: var(--sidebar-hover); }
.sidebar .nav-link.active { color: #c74323; background: var(--sidebar-active); font-weight: 600; }
.sidebar .nav-link i { flex: 0 0 20px; opacity: .9; }
.sidebar .nav-link.active .nav-badge { color: #9d3a24; background: #ffe0d4; }
.sidebar .nav-badge { color: #ffdddd; background: #7b3940; }
.sidebar-footer { padding: 14px 16px; border-top-color: rgba(255,255,255,.075); }
.user-info { background: rgba(255,255,255,.045); padding: 10px 12px; }
.user-avatar { background: #303c50; color: #f2f4f8; }
.user-name { color: #f0f3f8; }
.user-role { color: #9aa7bb; }
#logoutBtn { color: #b2becf !important; border-color: #344054 !important; background: transparent; }
#logoutBtn:hover { color: #fff !important; background: rgba(255,255,255,.06); }
.main-content { min-width: 0; background: var(--bg); }
.page-header { background: var(--bg); gap: 20px; padding: 24px 32px; border-bottom-color: var(--border); }
.page-header > :first-child { min-width: 0; }
.page-header > .d-flex { flex-wrap: wrap; align-items: flex-end; justify-content: flex-end; row-gap: 8px; }
.page-title { font-size: 24px; font-weight: 650; letter-spacing: -.35px; line-height: 1.3; }
.page-subtitle { margin-top: 5px; color: var(--text-secondary); font-size: 13px; }
.page-content { padding: 24px 32px 32px; }
[id^="pageLoadSlot-"]:is(:has(> #campaignsList), :has(> #promoTextsForm), :has(> #girascoinsMainTabs)) { padding: 24px 32px 32px; }
[id^="pageLoadSlot-"]:is(:has(> #promoTextsForm), :has(> #girascoinsMainTabs)) > .page-header { padding: 0 0 24px; border-bottom: 0; }

/* White cards with light borders; icons do not compete with meaningful statuses. */
.card, .table-container, .stat-card, .rule-card, .offer-card, .offer-preview,
.stop-analytics-filter-card, .stop-analytics-kpi, .stop-analytics-chart-card,
.stop-analytics-insight, .order-analytics-filter-card, .order-analytics-card {
  background: var(--card-bg); border-color: var(--card-border); border-radius: var(--radius-lg); box-shadow: none;
}
.card:hover, .stat-card:hover, .rule-card:hover, .offer-card:hover { box-shadow: none; }
.card-header { background: #fff; border-bottom-color: var(--border); }
.card-footer { background: var(--control-bg); border-top-color: var(--border); }
.card-footer:has([onclick^="viewOrder("]) > .d-flex { flex-wrap: wrap; gap: 10px; }
.card-footer:has([onclick^="viewOrder("]) > .d-flex > div:first-child { display: flex; align-items: center; }
.card-footer:has([onclick^="viewOrder("]) small { white-space: nowrap; }
.card-img-top { border-radius: 9px 9px 0 0; }
.stat-card { padding: 20px; }
.stat-value { color: var(--text-primary); letter-spacing: -.5px; }
.stat-card .stat-icon, .stat-card .stat-icon:is(.blue,.green,.orange,.purple),
.referral-analytics-icon:is(.orange,.blue,.green,.purple,.cyan,.amber),
.stop-analytics-kpi-icon, .order-analytics-kpi-icon,
.order-analytics-kpi.audience .order-analytics-kpi-icon {
  background: #f0f2f6 !important; color: #727c8e !important; border-radius: 8px;
}
.stat-card .stat-icon > i { color: inherit !important; }
.category-group { margin-bottom: 16px; }
.category-group > .category-content { border-color: var(--border) !important; border-radius: 0 0 8px 8px !important; }
.category-header { background: #f7f8fa !important; color: var(--text-primary) !important; border: 1px solid var(--border); border-radius: 8px 8px 0 0 !important; padding: 12px 16px !important; font-weight: 600; }
.category-header:hover { opacity: 1; background: #eaedf2 !important; }
.category-header .badge { background: #fff !important; color: var(--text-secondary) !important; border-radius: 6px; }
.subcategory-header { background: var(--control-bg) !important; color: var(--text-primary); border-radius: 6px !important; }
.offer-preview-right, .offer-card-right { background: var(--surface-soft); }
.offer-card-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%,360px),1fr)); gap: 16px; }
.image-upload-zone { background: var(--control-bg); border-color: #d9dfe7; }
.image-upload-zone:hover { background: #fff7f2; border-color: #eab39f; }
.image-upload-zone.has-image { border-color: #e0a58d; }
.rule-type, .referral-rank-badge, .customer-benefit-reversed { background: var(--surface-soft); color: var(--text-secondary); }
.rule-meta { flex-wrap: wrap; gap: 8px 16px; }

/* Restrained controls: orange outlines for the primary action, neutral secondary actions. */
.btn { border-radius: 6px; font-weight: 500; font-size: 13px; padding: 9px 14px; transition: background-color .15s ease, border-color .15s ease, color .15s ease; }
.btn-primary {
  --bs-btn-color: #b43d1f; --bs-btn-bg: #fff0e9; --bs-btn-border-color: #e7a18b;
  --bs-btn-hover-color: #963017; --bs-btn-hover-bg: #ffe6dc; --bs-btn-hover-border-color: #dc8d73;
  --bs-btn-active-color: #963017; --bs-btn-active-bg: #ffe1d3; --bs-btn-active-border-color: #dc8d73;
  --bs-btn-disabled-color: #b43d1f; --bs-btn-disabled-bg: #fff0e9; --bs-btn-disabled-border-color: #e7a18b;
  background: #fff0e9; border-color: #e7a18b; color: #b43d1f; font-weight: 600;
}
.btn-primary:hover, .btn-primary:focus-visible { background: #ffe6dc; border-color: #dc8d73; color: #963017; transform: none; box-shadow: none; }
.btn-primary:active, .btn-primary.active, .btn-check:checked + .btn-primary { background: #ffe1d3; border-color: #dc8d73; color: #963017; transform: none; }
.btn-outline-primary { --bs-btn-color: #b43d1f; --bs-btn-border-color: #e5aa96; --bs-btn-disabled-color: #b43d1f; --bs-btn-disabled-border-color: #e5aa96; --bs-btn-active-color: #a6381c; --bs-btn-active-bg: #fff0e9; --bs-btn-active-border-color: #df977d; color: #b43d1f; border-color: #e5aa96; background: #fff; }
.btn-outline-primary:hover, .btn-outline-primary.active, .btn-check:checked + .btn-outline-primary { background: var(--primary-bg); border-color: #df977d; color: #a6381c; }
.btn-outline-secondary, .btn-light { background: #fff; border-color: #dbe0e7; color: var(--text-secondary); }
.btn-outline-secondary:hover, .btn-light:hover { background: #f2f4f7; border-color: #cbd2dd; color: var(--text-primary); }
.btn-outline-secondary.active, .btn-check:checked + .btn-outline-secondary { color: #b43d1f; background: var(--primary-bg); border-color: #e5aa96; }
.btn-secondary { --bs-btn-color: #556070; --bs-btn-bg: #f2f4f7; --bs-btn-border-color: #dbe0e7; --bs-btn-hover-color: #303b4d; --bs-btn-hover-bg: #e9edf3; --bs-btn-hover-border-color: #cad2df; --bs-btn-active-color: #303b4d; --bs-btn-active-bg: #e9edf3; --bs-btn-active-border-color: #cad2df; }
.btn-success { --bs-btn-color: #38694d; --bs-btn-bg: #eef6f0; --bs-btn-border-color: #bbd2c3; --bs-btn-hover-color: #2d573e; --bs-btn-hover-bg: #e0eee4; --bs-btn-hover-border-color: #9cbea8; --bs-btn-active-color: #2d573e; --bs-btn-active-bg: #e0eee4; --bs-btn-active-border-color: #9cbea8; }
.btn-danger { --bs-btn-color: #a74343; --bs-btn-bg: #fbefef; --bs-btn-border-color: #e1b8b8; --bs-btn-hover-color: #923939; --bs-btn-hover-bg: #f7e0e0; --bs-btn-hover-border-color: #d39999; --bs-btn-active-color: #923939; --bs-btn-active-bg: #f7e0e0; --bs-btn-active-border-color: #d39999; }
.btn-warning { --bs-btn-color: #806020; --bs-btn-bg: #fbf6e9; --bs-btn-border-color: #e1cf9d; --bs-btn-hover-color: #694c14; --bs-btn-hover-bg: #f5ebce; --bs-btn-hover-border-color: #d4bc7e; --bs-btn-active-color: #694c14; --bs-btn-active-bg: #f5ebce; --bs-btn-active-border-color: #d4bc7e; }
.btn-info { --bs-btn-color: #506581; --bs-btn-bg: #f0f4f8; --bs-btn-border-color: #c6d2df; --bs-btn-hover-color: #3d516c; --bs-btn-hover-bg: #e3ebf2; --bs-btn-hover-border-color: #afbfce; --bs-btn-active-color: #3d516c; --bs-btn-active-bg: #e3ebf2; --bs-btn-active-border-color: #afbfce; }
.btn:is(.btn-secondary,.btn-success,.btn-danger,.btn-warning,.btn-info) { --bs-btn-disabled-color: var(--bs-btn-color); --bs-btn-disabled-bg: var(--bs-btn-bg); --bs-btn-disabled-border-color: var(--bs-btn-border-color); }
.btn-outline-success { --bs-btn-color: #42755a; --bs-btn-border-color: #b6cfbf; --bs-btn-hover-color: #325c44; --bs-btn-hover-bg: #eef6f0; --bs-btn-hover-border-color: #9fbeaa; --bs-btn-active-color: #325c44; --bs-btn-active-bg: #e3eee6; --bs-btn-active-border-color: #9fbeaa; }
.btn-outline-danger { --bs-btn-color: #b34f4f; --bs-btn-border-color: #dfb5b5; --bs-btn-active-color: #963e3e; --bs-btn-active-bg: #fbefef; --bs-btn-active-border-color: #d59d9d; color: #b34f4f; border-color: #dfb5b5; background: #fff; }
.btn-outline-danger:hover { color: #963e3e; background: #fbefef; border-color: #d59d9d; }
.btn-outline-warning { --bs-btn-color: #806020; --bs-btn-border-color: #e1cf9d; --bs-btn-hover-color: #694c14; --bs-btn-hover-bg: #fbf6e9; --bs-btn-hover-border-color: #d4bc7e; --bs-btn-active-color: #694c14; --bs-btn-active-bg: #f5ebce; --bs-btn-active-border-color: #d4bc7e; }
.btn-outline-info { --bs-btn-color: #506581; --bs-btn-border-color: #c6d2df; --bs-btn-hover-color: #3d516c; --bs-btn-hover-bg: #f0f4f8; --bs-btn-hover-border-color: #afbfce; --bs-btn-active-color: #3d516c; --bs-btn-active-bg: #e3ebf2; --bs-btn-active-border-color: #afbfce; }
.btn:is(.btn-outline-success,.btn-outline-danger,.btn-outline-warning,.btn-outline-info) { --bs-btn-disabled-color: var(--bs-btn-color); --bs-btn-disabled-border-color: var(--bs-btn-border-color); }
.btn-sm { padding: 6px 10px; font-size: 12px; border-radius: 6px; }
.btn-lg { padding: 12px 18px; font-size: 15px; }
.btn-group .btn:first-child { border-radius: 6px 0 0 6px; }
.btn-group .btn:last-child { border-radius: 0 6px 6px 0; }
.btn-group .btn:only-child { border-radius: 6px; }
.btn:disabled, .btn.disabled, .giras-scope .gs-btn:disabled { opacity: .55; cursor: default; transform: none; box-shadow: none; }
:is(.btn,.gs-btn)[aria-busy="true"] { cursor: progress; }

/* Forms keep distinct validation and disabled states. */
.form-control, .form-select, .product-search-input { background-color: #fff; border-color: #dbe0e8; color: var(--text-primary); border-radius: 6px; font-size: 13px; padding: 10px 12px; min-width: 0; }
.form-control:focus, .form-select:focus, .product-search-input:focus { background-color: #fff; border-color: #df947c; box-shadow: 0 0 0 3px rgba(255,75,35,.09); }
.form-control::placeholder, .product-search-input::placeholder { color: #929aaa; }
.form-control:disabled, .form-select:disabled { background-color: #eef1f5; color: var(--text-secondary); opacity: 1; }
.form-control[readonly] { background-color: var(--control-bg); }
.form-control.is-invalid, .form-select.is-invalid { border-color: var(--danger); }
.form-control.is-valid, .form-select.is-valid { border-color: var(--success); }
.form-control-sm, .form-select-sm { padding: 7px 10px; font-size: 12px; }
.form-label { font-weight: 500; color: var(--text-primary); line-height: 1.4; }
.form-text { color: var(--text-secondary); line-height: 1.5; }
.input-group-text { border-color: #dbe0e8; background: var(--control-bg); color: var(--text-secondary); border-radius: 6px; }
.form-check-input { border-color: #bac3d0; }
.form-check-input:focus { border-color: #df947c; box-shadow: 0 0 0 3px rgba(255,75,35,.09); }
.form-check-input:checked, .form-switch .form-check-input:checked { background-color: #df6748; border-color: #df6748; }
.form-check-input:disabled { opacity: .55; cursor: default; }
.form-check-label { line-height: 1.5; }
.product-search-dropdown { border-color: var(--border); border-radius: 8px; box-shadow: var(--shadow-md); }
.product-search-item:hover, .product-search-item.selected { background: #f6f7fa; }
.product-search-item-price { color: var(--text-primary); }

/* Tables and secondary navigation. */
.table-container { overflow-x: auto; }
.table-header { gap: 12px; flex-wrap: wrap; padding: 16px 20px; border-bottom-color: var(--border); }
.table-title { font-weight: 600; }
.table { --bs-table-color: var(--text-primary); --bs-table-bg: #fff; --bs-table-hover-bg: #f7f8fa; --bs-table-striped-bg: #fafbfc; --bs-table-border-color: var(--border); }
.table thead th { background: var(--control-bg); color: var(--text-secondary); font-size: 11px; letter-spacing: .3px; padding: 12px 16px; }
.table tbody td { padding: 13px 16px; border-bottom-color: var(--border-light) !important; font-size: 13px; }
.table tbody tr:hover { background: #f7f8fa; }
.table:not(.table-success,.table-warning,.table-danger,.table-info) > tbody > tr:not(.table-success,.table-warning,.table-danger,.table-info):hover > :not(.table-success,.table-warning,.table-danger,.table-info) { --bs-table-bg-state: #f7f8fa; }
.table-responsive { scrollbar-color: #cbd1dd transparent; }
.list-group { --bs-list-group-bg: #fff; --bs-list-group-color: var(--text-primary); --bs-list-group-border-color: var(--border); --bs-list-group-action-hover-bg: var(--control-bg); --bs-list-group-action-active-bg: var(--surface-soft); --bs-list-group-active-color: #a6381c; --bs-list-group-active-bg: #fff0e9; --bs-list-group-active-border-color: #e4ae99; border-radius: 8px; }
.dropdown-menu { --bs-dropdown-border-color: var(--border); --bs-dropdown-link-color: var(--text-primary); --bs-dropdown-link-hover-bg: var(--control-bg); --bs-dropdown-link-active-color: #a6381c; --bs-dropdown-link-active-bg: #fff0e9; border-radius: 8px; padding: 6px; box-shadow: var(--shadow-md); }
.dropdown-item { border-radius: 4px; padding: 8px 12px; }
.pagination { --bs-pagination-color: #667085; --bs-pagination-border-color: var(--border); --bs-pagination-hover-bg: #f2f4f7; --bs-pagination-hover-color: #303b4d; --bs-pagination-active-color: #a6381c; --bs-pagination-active-bg: #fff0e9; --bs-pagination-active-border-color: #e4ae99; --bs-pagination-disabled-bg: var(--control-bg); }
.accordion { --bs-accordion-border-color: var(--border); --bs-accordion-border-radius: 8px; --bs-accordion-btn-bg: #fff; --bs-accordion-active-bg: #fff7f2; --bs-accordion-active-color: #a6381c; --bs-accordion-btn-focus-box-shadow: 0 0 0 3px rgba(255,75,35,.09); }
.nav-tabs { border-bottom-color: var(--border); gap: 6px; }
.nav-tabs .nav-link { color: var(--text-secondary); background: transparent; border-radius: 6px 6px 0 0; padding: 11px 16px; }
.nav-tabs .nav-link:hover { color: #a6381c; background: #fff7f2; }
.nav-tabs .nav-link.active { color: #b43d1f; background: #fff0e9; border-bottom-color: #e36b4a; font-weight: 500; }
.nav-pills { gap: 6px; }
.nav-pills .nav-link { color: var(--text-secondary); background: #fff; border: 1px solid var(--border); border-radius: 6px; }
.nav-pills .nav-link:hover { color: #a6381c; background: #fff7f2; }
.nav-pills .nav-link.active, #cutoffModal .nav-pills .nav-link.active { color: #b43d1f; background: #fff0e9; border-color: #e7ad96; }
#cutoffModal .nav-pills .nav-link:hover { background: #fff7f2; color: #a6381c; border-color: #e7ad96; }

/* Dialogs and meaningful status colors. */
.modal-content { border: 1px solid var(--border); border-radius: 12px; box-shadow: var(--shadow-lg); }
.modal-header { background: #fff; border-radius: 11px 11px 0 0; border-bottom-color: var(--border); padding: 20px 24px; gap: 14px; }
.modal-title { color: var(--text-primary); font-weight: 650; font-size: 18px; }
.modal-body { padding: 24px; }
.modal-footer { background: #fafbfc; border-top-color: var(--border); border-radius: 0 0 11px 11px; gap: 8px; }
.btn-close { border-radius: 5px; flex-shrink: 0; }
.alert { border: 1px solid transparent; border-radius: 8px; line-height: 1.5; }
.alert-info { background: var(--info-bg); border-color: #d5dee8; color: #506581; }
.alert-success { background: var(--success-bg); border-color: #c9dccf; color: #3c6b50; }
.alert-warning { background: var(--warning-bg); border-color: #e7dab2; color: #806020; }
.alert-danger { background: var(--danger-bg); border-color: #e7c4c4; color: #a74343; }
.badge { border-radius: 5px; font-weight: 600; letter-spacing: 0; line-height: 1.35; }
.segment-badge { background: var(--surface-soft); color: var(--text-secondary); border-radius: 5px; }
.bg-light { background: var(--control-bg) !important; }
.badge.bg-primary, .badge.text-bg-primary { background-color: #fff0e9 !important; color: #a6381c !important; }
.badge.bg-success, .badge.text-bg-success { background-color: #eaf4ed !important; color: #3c6b50 !important; }
.badge.bg-danger, .badge.text-bg-danger { background-color: #f8e9e9 !important; color: #a74343 !important; }
.badge.bg-warning, .badge.text-bg-warning { background-color: #f8f0d9 !important; color: #806020 !important; }
.badge.bg-info, .badge.text-bg-info { background-color: #eaf0f6 !important; color: #506581 !important; }
.badge.bg-secondary, .badge.text-bg-secondary { background-color: #edf0f4 !important; color: #606b7e !important; }
.toast { border: 1px solid var(--border); border-radius: 10px; box-shadow: var(--shadow-md); }
.toast-header { border-bottom-color: var(--border); border-radius: 9px 9px 0 0; }
#notificationPermissionBtn .card { max-width: 270px; border-color: var(--border) !important; box-shadow: var(--shadow-md) !important; }
#notificationPermissionBtn .card-body { padding: 16px !important; }
#notificationPermissionBtn h5 { font-size: 14px; }
#notificationPermissionBtn h5 i { color: var(--text-secondary) !important; }
#notificationPermissionBtn .btn { padding: 8px 14px; font-size: 13px; }
body.modal-open #notificationPermissionBtn, body:has(.gs-modal-backdrop) #notificationPermissionBtn { display: none; }
code { background: var(--surface-soft); color: #5c6676; border-radius: 4px; }
hr { border-color: var(--border); }
#loginPage { background: var(--bg); padding: 24px; }
.login-card { max-width: 420px; padding: 40px; border: 1px solid var(--border); box-shadow: var(--shadow-md); }
.login-logo-icon { border-radius: 10px; }
.login-title { font-size: 24px; font-weight: 650; }
.login-card .btn { padding: 12px 18px; }

/* Customer messages use neutral surfaces and an orange selection marker. */
.support-workspace { grid-template-columns: minmax(220px,280px) minmax(0,1fr) minmax(230px,280px); border-color: var(--border); border-radius: 10px; box-shadow: none; }
.support-list-pane, .support-context-pane { background: #fafbfc; }
.support-list-toolbar, .support-thread-header, .support-composer, .support-thread-notice { background: #fff; border-color: var(--border); }
.support-thread-pane { background: #f5f7fa; }
.support-list-item:hover { background: #f2f4f7; }
.support-list-item.active { background: #fff5ef; box-shadow: inset 2px 0 #e36b4a; }
.support-avatar.bot { border-color: #d7dee8; color: #667085; }
.support-avatar.user, .support-order-fact { background: var(--surface-soft); }
.support-avatar.operator { background: #5e6a7b; color: #fff; }
.support-message-row.operator .support-bubble { background: #e9edf3; color: var(--text-primary); }
.support-message-row.bot .support-bubble { background: #fff; border-color: #dce2ea; }
.support-message-read-status.delivered { color: #8b95a3; }
.support-message-read-status.read { color: #637f9b; }
.support-system-card { border-color: #cfd6e1; }
.support-context-card, .support-order-details { border-color: var(--border); border-radius: 8px; }
.support-order-summary:hover { background: var(--control-bg); }
.support-emoji-picker, .support-quick-reply-picker { border-color: var(--border); border-radius: 8px; box-shadow: var(--shadow-md); }
.support-emoji-item:hover, .support-quick-reply-item:hover { background: var(--surface-soft); }
.support-thread-notice-icon.info { background: var(--info-bg); color: var(--info); }
.support-new-messages { color: #a6381c; background: #fff0e9; border: 1px solid #e7ad96; box-shadow: none; }

/* Analytics preserve chart datasets and semantic trends. */
.stop-analytics-dashboard { --analytics-ink: var(--text-primary); }
.order-analytics-page { --oa-orange: #b43d1f; --oa-orange-soft: #fff0e9; --oa-navy: #303b4d; --oa-surface: #f7f8fa; }
.order-analytics-page .page-content { background: var(--bg); }
.order-analytics-tabs { background: #fff; border-color: var(--border); border-radius: 8px; box-shadow: none; }
.order-analytics-tab { border-radius: 5px; }
.order-analytics-tab:hover { background: var(--control-bg); }
.order-analytics-tab.active { color: #b43d1f; background: #fff0e9; box-shadow: none; }
.order-analytics-platform-card { background: #fafbfc; border-color: var(--border); border-radius: 8px; }
.order-analytics-funnel-stage { border-color: var(--border); background: #fff; box-shadow: none; }
.order-analytics-quality-hero { background: #f1f3f6; color: var(--text-primary); }
.order-analytics-quality-hero-label, .order-analytics-quality-hero-copy { color: var(--text-secondary); }
.order-analytics-channel-chip, .order-analytics-campaign-chip,
.order-analytics-auth-summary-item, .order-analytics-funnel-outcome,
.order-analytics-acquisition-volume { background: var(--control-bg); }
.stop-analytics-change.neutral, .order-analytics-change.neutral { background: var(--surface-soft); color: var(--text-secondary); }
.order-analytics-story-row:hover { background: var(--control-bg); }

/* Scoped gifts and push workspaces follow the shared accent and surfaces. */
#giftSettlementsRoot { --gift-accent: #b43d1f; }
#giftSettlementsRoot .card, #giftSettlementsRoot .gift-context, #giftSettlementsRoot .gift-details,
#giftSettlementsRoot .gift-quick-card { border-color: var(--border); border-radius: 10px; box-shadow: none; }
#giftSettlementsRoot .btn-primary { background: #fff0e9; border-color: #e7a18b; color: #b43d1f; }
#giftSettlementsRoot .btn-primary:hover { background: #ffe6dc; border-color: #dc8d73; color: #963017; }
#giftSettlementsRoot .btn-outline-primary { background: #fff; color: #b43d1f; border-color: #e5aa96; }
#giftSettlementsRoot .btn-outline-primary:hover { color: #963017; background: #fff0e9; }
#giftSettlementsRoot .form-check-input:checked { background-color: #df6748; border-color: #df6748; }
#giftSettlementsRoot .form-control:focus, #giftSettlementsRoot .form-select:focus { border-color: #df947c; box-shadow: 0 0 0 3px rgba(255,75,35,.09); }
#giftSettlementsRoot button:focus-visible, #giftSettlementsRoot summary:focus-visible { outline: 2px solid #d94a27; outline-offset: 3px; }
#giftSettlementsRoot .gift-admin-nav { background: #f2f4f7; border-radius: 8px; }
#giftSettlementsRoot .gift-admin-nav button { border-radius: 5px; }
#giftSettlementsRoot .gift-admin-nav button[aria-current="page"] { background: #fff0e9; color: #b43d1f; box-shadow: none; }
#giftSettlementsRoot .gift-quick-card:hover { border-color: #cbd3df; background: #fafbfc; }
#giftSettlementsRoot .gift-quick-icon { background: #f0f2f6; color: #727c8e; border-radius: 8px; }
#giftSettlementsRoot .gift-quick-copy .gift-quick-status { color: #667085; }
#giftSettlementsRoot .gift-catalog-table { border-color: var(--border); border-radius: 8px; }
#giftSettlementsRoot .gift-catalog-table thead { background: var(--control-bg); }
.giras-scope {
  --bg-page: #f6f7fa; --bg-surface: #fff; --bg-elevated: #fff; --bg-muted: #f2f4f7; --bg-tinted: #f7f8fa;
  --ink-1: #202734; --ink-2: #667085; --ink-3: #808897; --ink-4: #929aaa;
  --accent: #d94a27; --accent-hover: #b43d1f; --accent-soft: #fff0e9; --accent-tint: #ffe6dc;
  --line-1: #e0e4ec; --line-2: #d9dfe8;
  --shadow-sm: none; --shadow-md: 0 6px 20px rgba(17,24,39,.07); --shadow-lg: 0 16px 44px rgba(17,24,39,.12);
  --r-sm: 5px; --r-md: 6px; --r-lg: 8px; --r-xl: 10px;
}
.giras-scope .gs-card, .giras-scope .gs-status-card { border-radius: 8px; box-shadow: none; }
.giras-scope .gs-btn { height: auto; min-height: 36px; line-height: 1.3; padding: 8px 14px; }
.giras-scope .gs-btn-primary { background: #fff0e9; border: 1px solid #e7a18b; color: #b43d1f; }
.giras-scope .gs-btn-primary:hover { background: #ffe6dc; color: #963017; }
.giras-scope .gs-btn-danger { background: #fbefef; border: 1px solid #e1b8b8; color: #a74343; }
.giras-scope .gs-btn-danger:hover { background: #f7e0e0; color: #923939; }
.giras-scope .gs-placeholder-btn:is(.is-blue,.is-green,.is-dark,.is-amber) { background: #f2f4f7; border: 1px solid #dbe0e8; color: #667085; }
.giras-scope .gs-input, .giras-scope .gs-textarea { background: #fff; }
.giras-scope .gs-input:focus, .giras-scope .gs-textarea:focus { border-color: #df947c; box-shadow: 0 0 0 3px rgba(255,75,35,.09); }
.giras-scope .gs-input.is-invalid, .giras-scope .gs-textarea.is-invalid { border-color: var(--danger); }
.giras-scope .gs-info-banner { background: #f0f4f8; border-color: #d5dee8; color: #506581; }
.giras-scope .gs-info-banner .gs-info-banner-icon { background: #e4ebf3; color: #506581; }
.giras-scope .gs-news-type-info, .giras-scope .gs-news-status-draft { background: var(--bg-muted); color: var(--ink-2); }
.giras-scope .gs-news-status-expired { background: var(--bg-muted); color: var(--ink-3); }
.giras-scope .gs-news-type-marketing { background: var(--accent-soft); color: #b43d1f; }
.giras-scope .gs-filter-chip.active, .giras-scope .gs-tab-button.active { color: #b43d1f; border-bottom-color: #e36b4a; }
.giras-scope .gs-filter-chip.active .gs-filter-chip-count { color: #b43d1f; background: #fff0e9; }
.gs-modal { border: 1px solid var(--line-1); border-radius: 10px; }
.gs-modal-header, .gs-modal-footer { background: #fafbfc; }
.gs-modal-backdrop { background: rgba(17,24,39,.4); }

/* These selectors outrank the promotional editor's later local style block. */
#promoTextsForm .pt-section { border-color: var(--border); border-radius: 10px; box-shadow: none; }
#promoTextsForm .pt-section-title { color: var(--text-primary); }
#promoTextsForm .pt-section-lead { color: var(--text-secondary); border-bottom-color: var(--border); }
#promoTextsForm .pt-field input:focus { border-color: #df947c; box-shadow: 0 0 0 3px rgba(255,75,35,.09); }
#promoTextsForm .pt-field input.is-invalid { border-color: var(--danger); }
#promoTextsForm details.pt-rare > summary { background: var(--control-bg); border-color: #d9dfe7; border-radius: 8px; }
#promoTextsForm details.pt-rare > summary:hover { background: var(--surface-soft); }
#promoTextsForm details.pt-rare[open] > summary { background: #fff; border-color: var(--border); border-radius: 8px 8px 0 0; }
#promoTextsForm details.pt-rare > .pt-rare-body { border-color: var(--border); border-radius: 0 0 8px 8px; }

/* City context and product layout remain visual representations of the existing catalog. */
.catalog-page-header { flex-direction: column; align-items: stretch; gap: 18px; }
.catalog-page-header .catalog-city-toolbar { justify-content: flex-start; align-items: flex-end; width: 100%; flex-wrap: wrap; gap: 8px; }
.catalog-city-toolbar .form-select { max-width: 100%; background-color: #fff; }
.catalog-products-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(min(100%,220px),1fr)); gap: 16px; padding: 16px; }
.catalog-product-item { min-width: 0; }
.catalog-product-name { color: var(--text-primary); font-size: 14px; font-weight: 600; line-height: 1.4; min-height: 2.8em; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; white-space: normal; overflow-wrap: anywhere; }
.catalog-city-label { display: inline-flex; max-width: 100%; align-items: center; gap: 4px; margin-top: 5px; padding: 2px 6px; border: 1px solid #e1e5ec; border-radius: 4px; background: #f4f6f8; color: #697386; font-size: 10.5px; font-weight: 500; line-height: 1.35; white-space: normal; overflow-wrap: anywhere; }
.catalog-city-label.unavailable { color: #a74343; background: #fbefef; border-color: #e7c4c4; }

/* Accessible focus does not affect images, chart canvas or Leaflet tiles. */
:is(.btn,.nav-link,.dropdown-item,.page-link,.btn-close,.accordion-button,
    .product-search-clear,.support-list-item,.support-order-summary,
    .support-emoji-item,.support-quick-reply-item,.order-analytics-tab,
    .gs-btn,.gs-icon-btn,.gs-filter-chip,.gs-tab-button,.gs-modal-close):focus-visible {
  outline: 2px solid #d94a27; outline-offset: 3px;
}
.border { border-color: var(--border) !important; }
.shadow-lg { box-shadow: var(--shadow-lg) !important; }
::-webkit-scrollbar-thumb { background: #cbd1dd; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #a9b2c3; }

/* Responsive sizing preserves the existing 64px mobile navigation behavior. */
@media (max-width: 1280px) {
  .support-workspace { grid-template-columns: 260px minmax(0,1fr); }
}
@media (max-width: 1199.98px) {
  :root { --sidebar-width: 224px; }
  .sidebar-header { padding: 22px 20px; }
  .sidebar-nav { padding: 16px 10px; }
  .page-header { padding: 20px 24px; }
  .page-content { padding: 24px; }
  [id^="pageLoadSlot-"]:is(:has(> #campaignsList), :has(> #promoTextsForm), :has(> #girascoinsMainTabs)) { padding: 24px; }
  .support-page-content { padding-left: 24px; padding-right: 24px; }
  .support-workspace { grid-template-columns: 260px minmax(0,1fr); }
}
@media (max-width: 767.98px) {
  :root { --sidebar-width: 64px; }
  .sidebar-header { padding: 14px 13px; }
  .sidebar-logo-icon { width: 34px; height: 34px; }
  .sidebar-nav { padding: 12px 8px; }
  .sidebar .nav-link { padding: 10px 8px; }
  .sidebar-footer { padding: 8px; }
  .sidebar-footer .user-info { padding: 8px 6px; }
  .main-content { margin-left: var(--sidebar-width); }
  .page-header { flex-wrap: wrap; align-items: flex-start; padding: 18px 16px; gap: 14px; }
  .page-header > .d-flex { width: 100%; justify-content: flex-start; }
  .page-header > .d-flex > .form-select { max-width: 100%; }
  .page-title { font-size: 22px; }
  .page-content { padding: 18px 16px 28px; }
  .page-content > .d-flex { flex-wrap: wrap; }
  .page-content > .mb-3 > .btn-group:has(> [onclick*="setOrdersPointFilter"]) { display: flex; flex-wrap: wrap; }
  #pushes-tabs-nav { flex-wrap: wrap; }
  #pushes-new div[style*="display:flex"] { flex-wrap: wrap; gap: 8px; }
  #pushes-new div:has(> div[style*="grid-template-columns:2fr"]) { min-width: 0; overflow-x: auto; }
  #pushes-new div[style*="grid-template-columns:2fr"] { min-width: 560px; }
  #promoTextsForm .pt-field > div:first-child { flex-wrap: wrap; gap: 6px; }
  #promoTextsForm .pt-section > div:has(> [data-fp-key]) { flex-direction: column; align-items: stretch !important; }
  #promoTextsForm .pt-section > div:has(> [data-fp-key]) > div { min-width: 0 !important; width: 100%; text-align: left !important; }
  #promoTextsForm .pt-section > div:has(> div[style*="min-width:160px"]):not(:has(input)) { display: none !important; }
  #notificationPermissionBtn { position: static !important; margin: 16px 16px 16px calc(var(--sidebar-width) + 16px) !important; }
  #notificationPermissionBtn .card { max-width: none; }
  [id^="pageLoadSlot-"]:is(:has(> #campaignsList), :has(> #promoTextsForm), :has(> #girascoinsMainTabs)) { padding: 18px 16px 28px; }
  .modal-header, .modal-body, .modal-footer { padding: 18px; }
  .modal-header { align-items: flex-start; }
  .modal-footer { justify-content: flex-start; }
  .login-card { padding: 28px 24px; }
  .table-container > .table { min-width: 540px; }
  .table-header { padding: 14px 16px; }
  .table tbody td, .table thead th { padding: 11px 12px; }
  .support-page-shell { height: auto; overflow: visible; }
  .support-page-content { padding: 16px; }
  .support-workspace { height: auto; grid-template-columns: minmax(0,1fr); }
  .support-list-pane { max-height: 310px; border-right: 0; border-bottom: 1px solid var(--border); }
  .support-thread-pane { min-height: 540px; }
  .support-thread-messages { max-height: 60dvh; min-height: 250px; }
  .support-thread-header { flex-wrap: wrap; padding: 14px; }
  .support-bubble { max-width: 86%; }
  .support-quick-reply-picker, .support-emoji-picker { left: 12px; max-width: calc(100% - 24px); }
  .support-composer-hint { margin-left: 0; }
  .gs-modal-backdrop { padding: 12px; }
  .gs-modal { max-height: calc(100dvh - 24px); }
  .gs-field-row.cols-2 { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 479.98px) {
  .page-header > .d-flex > .btn-group { flex-wrap: wrap; }
  .referral-analytics-strip { grid-template-columns: minmax(0,1fr); }
  .offer-preview-right { width: 100px; }
  .offer-card-right { width: 90px; }
  .support-composer-row { gap: 5px; flex-wrap: wrap; }
  .support-composer-action { width: 38px; height: 38px; flex-basis: 38px; }
  .support-composer textarea { flex: 1 1 120px; }
  .support-thread-actions { justify-content: flex-start; }
  .nav-tabs .nav-link { padding: 10px 11px; }
}
@media (prefers-reduced-motion: reduce) {
  .btn, .card, .nav-link, .support-list-item, .gs-btn, .gs-modal { transition: none; animation: none; }
}
