/* Shared navy, indigo, and teal palette based on the owner and sales insight screens. */
:root {
  --bs-primary: #596bd6;
  --bs-primary-rgb: 89, 107, 214;
  --bs-info: #6679dc;
  --bs-info-rgb: 102, 121, 220;
  --bs-success: #168f7d;
  --bs-success-rgb: 22, 143, 125;
  --bs-warning: #d89b37;
  --bs-warning-rgb: 216, 155, 55;
  --bs-danger: #d94f6e;
  --bs-danger-rgb: 217, 79, 110;
  --bs-link-color: #435d9a;
  --bs-link-hover-color: #596bd6;
  --app-ink: #202b45;
  --app-muted: #68758d;
  --app-line: #e4e9f2;
  --app-surface: #fff;
  --app-wash: #f4f6fb;
  --app-primary-start: #253653;
  --app-primary-end: #6876df;
  --app-info-start: #287faa;
  --app-info-end: #5878d8;
  --app-success-start: #168f7d;
  --app-success-end: #2aab92;
  --app-warning-start: #e4ae4a;
  --app-warning-end: #bd8121;
  --app-danger-start: #d94f6e;
  --app-danger-end: #b83d5c;
  --app-pink-start: #7658c7;
  --app-pink-end: #a078df;
  --app-blue: #5878d8;
  --app-violet: #596bd6;
  --app-gradient: linear-gradient(118deg, #233252 0%, #3f5397 56%, #6876df 100%);
  --app-info-gradient: linear-gradient(118deg, #287faa 0%, #5878d8 100%);
  --app-success-gradient: linear-gradient(118deg, #168f7d 0%, #2aab92 100%);
  --app-warning-gradient: linear-gradient(118deg, #e4ae4a 0%, #bd8121 100%);
  --app-danger-gradient: linear-gradient(118deg, #d94f6e 0%, #b83d5c 100%);
  --app-pink-gradient: linear-gradient(118deg, #7658c7 0%, #a078df 100%);
  --app-shadow: 0 10px 30px rgba(35, 49, 78, .055);
  --app-shadow-hover: 0 16px 36px rgba(35, 49, 78, .1);
  --theme-blue: #253653;
  --theme-purple: #6876df;
  --sidebar-text: #46536d;
  --sidebar-muted: #8792a6;
  --sidebar-border: #e7ebf3;
  --sidebar-hover: #f5f7fc;
  --sidebar-active: #eef1ff;
}

body { color: var(--app-ink); }
.login-body {
  background:
    radial-gradient(ellipse at 18% 20%, rgba(63, 83, 151, .17), transparent 28rem),
    radial-gradient(ellipse at 84% 78%, rgba(104, 118, 223, .15), transparent 30rem),
    #f4f6fb;
}
.login-body .form-control:focus { border-color: #a8b5ec; box-shadow: 0 0 0 4px rgba(89, 107, 214, .11); }
.platform-test-banner {
  color: #405172;
  background: linear-gradient(110deg, #f2f5fc, #f7f8fd);
  border-color: #e0e6f1;
  box-shadow: 0 6px 20px rgba(35, 49, 78, .06);
}
.platform-test-banner > span > i { color: #596bd6; }
.platform-test-banner button { color: #4b5fa8; border-color: #e0e6f1; }
.content {
  background:
    radial-gradient(ellipse at 94% 2%, rgba(104, 118, 223, .07), transparent 27rem),
    radial-gradient(ellipse at 15% 90%, rgba(58, 86, 140, .045), transparent 28rem),
    var(--app-wash);
}
.sidebar { color: var(--sidebar-text); border-right-color: var(--sidebar-border); }
.sidebar-link.active { color: #304779; background: linear-gradient(100deg, #eef1ff, #f0f4fb); }
.sidebar-link.active > i:first-child,
.sidebar-link:hover > i:first-child { color: #5669c8; }
.sidebar-sublink.active { color: #435d9a; background: #f0f3ff; }
.sidebar-link.active::before { background: var(--app-gradient); }

.content .app-page-hero,
.content .dashboard-hero,
.content .brand-hero-card,
.content .platform-hero,
.content .product-sales-hero {
  background:
    radial-gradient(circle at 84% 8%, rgba(151, 165, 255, .26), transparent 30%),
    linear-gradient(118deg, #233252 0%, #3f5397 56%, #6876df 100%);
  box-shadow: 0 18px 42px rgba(37, 53, 92, .18);
}
/* app-ui.css greys every paragraph (.content p); these headers are dark, so their text stays light. */
.content .app-page-hero p,
.content .dashboard-hero p,
.content .brand-hero-card p,
.content .platform-hero p,
.content .product-sales-hero p,
.content .feature-hero-copy p,
.content .inventory-hero-copy p,
.content .supplier-hero-copy p,
.content .returns-hero-copy p,
.content .warranty-hero-copy p,
.content .vendor-hero-copy p { color: rgba(236, 240, 255, .86); }
.content .app-page-kicker::before,
.content .dashboard-kicker::before { background: #38c4a5; box-shadow: 0 0 0 4px rgba(56, 196, 165, .16); }
.content .summary-card,
.content .stat-card,
.content .stats-card,
.content .custom-card,
.content .overview-card,
.content .filter-card,
.content .period-filter-card,
.content .history-panel { border-color: var(--app-line); }
.content .form-control:focus,
.content .form-select:focus,
.content .filter-input:focus,
.content input[type="date"]:focus { border-color: #a8b5ec; box-shadow: 0 0 0 4px rgba(89, 107, 214, .11); }
.content .table > thead > tr > th { color: #6f7d95; background: #f6f8fc; }
.content .table tbody tr:hover { background: #f5f7fc; }
.content .btn-outline-primary:hover,
.content .btn-outline-dark:hover,
.content .btn-secondary:hover,
.content .tab-btn:hover { color: #435d9a; border-color: #dce3f4; background: #f1f4fb; }
.content .tab-btn.active,
.content .period-preset-btn.active,
.content .nav-pills .nav-link.active,
.content .nav-tabs .nav-link.active { background: var(--app-gradient) !important; }

/* Bring page-specific accents onto the shared indigo family while keeping status colors semantic. */
.content .catalog-eyebrow,
.content .bill-reference,
.content .billing-tab.active,
.content .billing-empty-icon,
.content .billing-panel-heading-icon,
.content .brand-panel-icon,
.content .brand-chart-empty i,
.content .dashboard-insight-empty i { color: #596bd6; }
.content .dashboard-insight-heading > a,
.content .dashboard-product-detail-link,
.content .billing-dialog-code {
  color: #4b5fa8;
  background-color: #eff2ff;
  border-color: #e1e7fb;
}
.content .billing-tab.active { border-bottom-color: #596bd6; }
.content .catalog-stat-icon,
.content .brand-panel-icon,
.content .billing-empty-icon,
.content .billing-panel-heading-icon { background-color: #eff2ff; }
.content .settings-tab:hover { color: #435d9a; background: #f2f4fc; }
.content .settings-tab.active { color: #435d9a; background: linear-gradient(110deg, #eef1ff, #f7f8fc); box-shadow: inset 3px 0 #6876df; }
.content .settings-tab.active .settings-tab-icon { color: #fff; background: var(--app-gradient); }
.content .dashboard-insight-chart { border-color: var(--app-line); box-shadow: var(--app-shadow); }
.content .dashboard-insight-heading > a:hover,
.content .dashboard-product-detail-link:hover { color: #344d82; background-color: #e7ecff; }
.platform-page .platform-stat-card.violet > i { color: #7658c7; background: #f2edff; }
.platform-page .platform-stat-card.blue > i { color: #287faa; background: #eaf5fb; }
.content .dashboard-page .card.bg-purple { --dashboard-accent: #7658c7; --dashboard-soft: #f2edff; --dashboard-gradient: var(--app-pink-gradient); }
.content .dashboard-page .card.bg-mix { --dashboard-accent: #3c75c0; --dashboard-soft: #eaf4fc; --dashboard-gradient: var(--app-info-gradient); }
.content .settings-card-icon.purple { color: #fff; background: var(--app-pink-gradient); }
.content .settings-card-icon.blue { color: #fff; background: var(--app-info-gradient); }
.content .settings-tab-icon { color: #596bd6; background: #eff2ff; }
.content .settings-tab.active .settings-tab-icon { color: #fff; background: var(--app-gradient); }
.content .settings-employee-create .settings-form-footer .catalog-primary { background: var(--app-success-gradient); box-shadow: 0 8px 18px rgba(22, 143, 125, .2); }
.content .customer-primary-action { background: var(--app-success-gradient); box-shadow: 0 8px 19px rgba(22, 143, 125, .2); }
.content .customer-primary-action:hover { box-shadow: 0 12px 23px rgba(22, 143, 125, .26); }
.content .customer-toolbar-action { color: #456fac; background: #edf5fc; border-color: #dcebf7; }
.content .customer-toolbar-action:hover { color: #2c628f; background: #e4f1fa; }

/* Shared dashboard-like surfaces for page cards, metric tiles, and content panels. */
.content .card:not([class*="bg-"]):not([class*="dash-"]):not(.auth-card-hero),
.content .chart-box,
.content .table-box,
.content .platform-billing-summary > article,
.content [class*="-card "]:not([class*="dash-"]):not(.brand-hero-card):not(.brand-performance-card):not(.period-performance-card):not([class*="bg-"]),
.content [class$="-card"]:not([class*="dash-"]):not(.brand-hero-card):not(.brand-performance-card):not(.period-performance-card):not([class*="bg-"]),
.content [class*="-panel "]:not([class*="dash-"]):not(.history-panel-header),
.content [class$="-panel"]:not([class*="dash-"]):not(.history-panel-header),
.content [class*="-metric "]:not([class*="dash-"]),
.content [class$="-metric"]:not([class*="dash-"]),
.content .summary-card,
.content .stat-card,
.content .stats-card,
.content .custom-card,
.content .overview-card,
.content .period-filter-card,
.content .history-panel,
.content .filter-card {
  --shared-card-tint: #f4f5ff;
  --shared-card-edge: #e5eaf4;
  background: linear-gradient(145deg, #fff 46%, var(--shared-card-tint)) !important;
  border: 1px solid var(--shared-card-edge) !important;
  border-radius: 17px !important;
  box-shadow: 0 9px 24px rgba(32, 46, 77, .05) !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

/* Keep dashboard-like pastel tints, with color cues following the existing page accents. */
.content [class*="-card "][class*="green"]:not([class*="dash-"]),
.content [class$="-card"][class*="green"]:not([class*="dash-"]),
.content [class*="-card "][class*="success"]:not([class*="dash-"]),
.content [class$="-card"][class*="success"]:not([class*="dash-"]),
.content [class*="-panel "][class*="success"],
.content [class$="-panel"][class*="success"],
.content [class*="-metric "][class*="success"],
.content [class$="-metric"][class*="success"] {
  --shared-card-tint: #ecf8f2 !important;
  --shared-card-edge: #dcefe7 !important;
}
.content [class*="-card "][class*="blue"]:not([class*="dash-"]),
.content [class$="-card"][class*="blue"]:not([class*="dash-"]),
.content [class*="-card "][class*="cyan"]:not([class*="dash-"]),
.content [class$="-card"][class*="cyan"]:not([class*="dash-"]),
.content [class*="-panel "][class*="blue"],
.content [class$="-panel"][class*="blue"],
.content [class*="-metric "][class*="blue"],
.content [class$="-metric"][class*="blue"] {
  --shared-card-tint: #eef5ff !important;
  --shared-card-edge: #dfe9f7 !important;
}
.content [class*="-card "][class*="warning"]:not([class*="dash-"]),
.content [class$="-card"][class*="warning"]:not([class*="dash-"]),
.content [class*="-card "][class*="orange"]:not([class*="dash-"]),
.content [class$="-card"][class*="orange"]:not([class*="dash-"]),
.content [class*="-metric "][class*="warning"],
.content [class$="-metric"][class*="warning"] {
  --shared-card-tint: #fff6e9 !important;
  --shared-card-edge: #f3e8d2 !important;
}
.content [class*="-card "][class*="danger"]:not([class*="dash-"]),
.content [class$="-card"][class*="danger"]:not([class*="dash-"]),
.content [class*="-card "][class*="rose"]:not([class*="dash-"]),
.content [class$="-card"][class*="rose"]:not([class*="dash-"]),
.content [class*="-metric "][class*="danger"],
.content [class$="-metric"][class*="danger"] {
  --shared-card-tint: #fff1f4 !important;
  --shared-card-edge: #f2dfe5 !important;
}
.content [class*="-card "][class*="pink"]:not([class*="dash-"]),
.content [class$="-card"][class*="pink"]:not([class*="dash-"]),
.content [class*="-card "][class*="purple"]:not([class*="dash-"]),
.content [class$="-card"][class*="purple"]:not([class*="dash-"]),
.content [class*="-card "][class*="violet"]:not([class*="dash-"]),
.content [class$="-card"][class*="violet"]:not([class*="dash-"]),
.content [class*="-metric "][class*="pink"],
.content [class$="-metric"][class*="pink"] {
  --shared-card-tint: #f7f0ff !important;
  --shared-card-edge: #e9e2f6 !important;
}

/* Brand performance tiles use the dashboard's tinted KPI style and keep their colored icon/value. */
.content .brand-performance-card {
  --brand-metric-accent: #625bd1;
  --brand-metric-soft: #f0efff;
  color: #39445a !important;
  background: linear-gradient(145deg, #fff 45%, var(--brand-metric-soft)) !important;
  border: 1px solid #e6eaf2 !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 22px rgba(38, 52, 83, .045) !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.content .brand-performance-card:nth-child(2) { --brand-metric-accent: #168f7d; --brand-metric-soft: #eaf8f2; }
.content .brand-performance-card:nth-child(3) { --brand-metric-accent: #4d70ce; --brand-metric-soft: #edf2ff; }
.content .brand-performance-card:nth-child(4) { --brand-metric-accent: #a25fc3; --brand-metric-soft: #f7effb; }
.content .brand-performance-card .brand-performance-icon { color: var(--brand-metric-accent); background: var(--brand-metric-soft); border-color: transparent; box-shadow: none; }
.content .brand-performance-card .brand-performance-label { color: #77839a; }
.content .brand-performance-card .brand-performance-value { color: var(--brand-metric-accent); }
.content .brand-performance-card .brand-performance-period { color: #98a1b1; }
.content .brand-performance-card::after { border-color: rgba(98, 91, 209, .1); box-shadow: 0 0 0 18px rgba(98, 91, 209, .025); }
.content .brand-performance-card:hover { border-color: #d7def0 !important; box-shadow: 0 14px 31px rgba(32, 46, 77, .085) !important; transform: translateY(-2px); }

.content .card:not([class*="bg-"]):not([class*="dash-"]):not(.auth-card-hero):hover,
.content .chart-box:hover,
.content .table-box:hover,
.content .platform-billing-summary > article:hover,
.content [class*="-card "]:not([class*="dash-"]):not(.brand-hero-card):not(.brand-performance-card):not(.period-performance-card):not([class*="bg-"]):hover,
.content [class$="-card"]:not([class*="dash-"]):not(.brand-hero-card):not(.brand-performance-card):not(.period-performance-card):not([class*="bg-"]):hover,
.content [class*="-panel "]:not([class*="dash-"]):hover,
.content [class$="-panel"]:not([class*="dash-"]):hover,
.content [class*="-metric "]:not([class*="dash-"]):hover,
.content [class$="-metric"]:not([class*="dash-"]):hover,
.content .summary-card:hover,
.content .stat-card:hover,
.content .stats-card:hover,
.content .custom-card:hover,
.content .overview-card:hover,
.content .period-filter-card:hover,
.content .history-panel:hover,
.content .filter-card:hover {
  border-color: #d7def0 !important;
  box-shadow: 0 14px 31px rgba(32, 46, 77, .085) !important;
  transform: translateY(-2px);
}

@media (prefers-reduced-motion: reduce) {
  .content *, .sidebar-link { scroll-behavior: auto !important; }
}
