@import url("https://fonts.googleapis.com/css2?family=Exo+2:wght@400;500;600;700&display=swap");

/* Katana Ops Fluent overrides layered on top of dx.light.css */

:root {
  --dx-primary: #b30000;
  --katana-ink: #1f2933;
  --katana-steel: #5c6470;
  --katana-bg: #f5f3ef;
  --bs-primary: #b30000;
  --bs-primary-rgb: 179, 0, 0;
  --DS-color-surface-primary-default-rest: #b30000;
  --DS-color-border-primary-default-rest: #b30000;
  --DS-color-content-primary-default-rest: #b30000;
  --dxbl-primary: #b30000;
  --dxbl-primary-rgb: 179, 0, 0;
  --dxbl-accent: #b30000;
  --dxbl-accent-rgb: 179, 0, 0;
  --dxbl-link-color: #b30000;
  --dxbl-link-hover-color: #8f0000;
}

body {
  font-family: "Exo 2", "Segoe UI", sans-serif;
  color: var(--katana-ink);
  background-color: var(--katana-bg);
}

/* Header + sidebar mood (force overrides for XAF layout) */
.dxbl-theme-fluent .header,
.dxbl-theme-fluent .xaf-detail-view-header {
  background: linear-gradient(90deg, #8f0000, #b30000) !important;
  color: #ffffff !important;
}
.dxbl-theme-fluent .header .dxbl-btn,
.dxbl-theme-fluent .header .xaf-image,
.dxbl-theme-fluent .header .view-caption-root,
.dxbl-theme-fluent .header .xaf-view-caption-sm,
.dxbl-theme-fluent .header .xaf-object-caption {
  color: #ffffff !important;
}
.dxbl-theme-fluent .header .dxbl-btn:hover {
  filter: brightness(0.9);
}

/* Header logo size */
.dxbl-theme-fluent .header .header-logo {
  width: 140px;
  height: 36px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: left center;
}

.dxbl-theme-fluent .xaf-sidebar.sidebar,
.dxbl-theme-fluent .xaf-sidebar .dxbl-scroll-viewer,
.dxbl-theme-fluent .xaf-sidebar .dxbl-scroll-viewer-content {
  background: linear-gradient(180deg, #1f2933 0%, #242f3a 100%) !important;
  color: rgba(255, 255, 255, 0.8) !important;
}
.dxbl-theme-fluent .xaf-sidebar .dxbl-accordion-group-header,
.dxbl-theme-fluent .xaf-sidebar .xaf-nav-link,
.dxbl-theme-fluent .xaf-sidebar a {
  color: rgba(255, 255, 255, 0.85) !important;
}
.dxbl-theme-fluent .xaf-sidebar .dxbl-accordion-group-header:hover,
.dxbl-theme-fluent .xaf-sidebar .xaf-nav-link:hover {
  color: #ffffff !important;
}
.dxbl-theme-fluent .xaf-sidebar .dxbl-accordion-group-header.dxbl-selected,
.dxbl-theme-fluent .xaf-sidebar .dxbl-accordion-group-header.dxbl-focused,
.dxbl-theme-fluent .xaf-sidebar .dxbl-accordion-group-header[aria-expanded="true"] {
  background-color: rgba(179, 0, 0, 0.25) !important;
  color: #ffffff !important;
}

/* Sidebar leaf item states */
.dxbl-theme-fluent .xaf-sidebar .xaf-nav-link,
.dxbl-theme-fluent .xaf-sidebar .xaf-navigation-link-click-area {
  border-radius: 6px;
}
.dxbl-theme-fluent .xaf-sidebar .xaf-nav-link:hover,
.dxbl-theme-fluent .xaf-sidebar .xaf-navigation-link-click-area:hover {
  background-color: rgba(255, 255, 255, 0.12) !important;
  color: #ffffff !important;
}
.dxbl-theme-fluent .xaf-sidebar a.dxbl-accordion-item-content:hover,
.dxbl-theme-fluent .xaf-sidebar a.dxbl-accordion-item-content:hover .dxbl-text,
.dxbl-theme-fluent .xaf-sidebar a.dxbl-accordion-item-content:hover .xaf-nav-link {
  background-color: rgba(255, 255, 255, 0.12) !important;
  color: #ffffff !important;
}
.dxbl-theme-fluent .xaf-sidebar .xaf-nav-link.dxbl-selected,
.dxbl-theme-fluent .xaf-sidebar .xaf-nav-link.dxbl-focused,
.dxbl-theme-fluent .xaf-sidebar .xaf-nav-link.dxbl-selected + .xaf-navigation-link-click-area,
.dxbl-theme-fluent .xaf-sidebar .xaf-nav-link.dxbl-focused + .xaf-navigation-link-click-area {
  background-color: rgba(179, 0, 0, 0.85) !important;
  color: #ffffff !important;
}
.dxbl-theme-fluent .xaf-sidebar .xaf-navigation-link-click-area.dxbl-selected,
.dxbl-theme-fluent .xaf-sidebar .xaf-navigation-link-click-area[aria-selected="true"],
.dxbl-theme-fluent .xaf-sidebar .xaf-navigation-link-click-area[aria-current="true"] {
  background-color: rgba(179, 0, 0, 0.85) !important;
}
.dxbl-theme-fluent .xaf-sidebar a[aria-selected="true"].dxbl-accordion-item-content,
.dxbl-theme-fluent .xaf-sidebar a[aria-selected="true"].dxbl-accordion-item-content .dxbl-text,
.dxbl-theme-fluent .xaf-sidebar a[aria-selected="true"].dxbl-accordion-item-content .xaf-nav-link {
  background-color: rgba(179, 0, 0, 0.85) !important;
  color: #ffffff !important;
}
.dxbl-theme-fluent .xaf-sidebar a[aria-selected="true"].dxbl-accordion-item-content .xaf-nav-link span {
  color: #ffffff !important;
}
.dxbl-theme-fluent .xaf-sidebar .xaf-nav-link.dxbl-selected span,
.dxbl-theme-fluent .xaf-sidebar .xaf-nav-link.dxbl-focused span {
  color: #ffffff !important;
}
.dxbl-theme-fluent .xaf-sidebar .xaf-nav-link.dxbl-selected .xaf-image,
.dxbl-theme-fluent .xaf-sidebar .xaf-nav-link.dxbl-focused .xaf-image {
  color: #ffffff !important;
}

.xaf-view, .xaf-object, .xaf-panel {
  background-color: transparent;
}

.view-caption-root {
  padding: 0.5rem 1rem !important;
}

.dxbl-btn-primary, .dxbl-btn.btn-primary {
  background-color: var(--dx-primary) !important;
  border-color: var(--dx-primary) !important;
}

.dxbl-btn-primary:hover, .dxbl-btn.btn-primary:hover {
  filter: brightness(0.94);
}

.dxbl-link, a {
  color: var(--dx-primary);
}

.dxbl-link:hover, a:hover {
  color: #8f0000;
}

.dxbl-grid .dxbl-grid-header, .dxbl-toolbar {
  color: var(--katana-ink);
}

/* Navigation selection */
.dxbl-listbox-item.dxbl-selected,
.dxbl-menu-item.dxbl-selected,
.dxbl-treeview-item.dxbl-selected {
  background-color: rgba(179, 0, 0, 0.08);
  color: var(--dx-primary);
}

/* Checkboxes and radios */
.dxbl-checkbox-box,
.dxbl-radio-box {
  border-color: rgba(31, 41, 51, 0.3);
}
.dxbl-checkbox.dxbl-checked .dxbl-checkbox-box,
.dxbl-radio.dxbl-checked .dxbl-radio-box {
  background-color: var(--dx-primary);
  border-color: var(--dx-primary);
}
.dxbl-checkbox.dxbl-checked .dxbl-checkbox-box::after,
.dxbl-radio.dxbl-checked .dxbl-radio-box::after {
  color: #ffffff;
}

/* Focus and highlights */
.dxbl-focused,
.dxbl-focus,
.dxbl-outline {
  outline-color: rgba(179, 0, 0, 0.4);
}

/* Primary links in grids */
.dxbl-grid a,
.xaf-listview a {
  color: var(--dx-primary);
}
.dxbl-grid a:hover,
.xaf-listview a:hover {
  color: #8f0000;
}

/* Cards, panels, and layout shells */
.dxbl-card, .dxbl-panel, .xaf-view .dxbl-panel, .xaf-object {
  background-color: #ffffff;
  border: 1px solid rgba(31, 41, 51, 0.08);
  border-radius: 12px;
  box-shadow: 0 12px 30px rgba(31, 41, 51, 0.08);
}

/* Headings */
.view-caption-root, .dxbl-form-layout-caption, .dxbl-caption {
  color: var(--katana-ink);
  font-weight: 600;
  letter-spacing: 0.01em;
}

/* Tabs */
.dxbl-tabs .dxbl-tab {
  border-radius: 999px;
  padding: 0.4rem 1rem;
  border: 1px solid rgba(31, 41, 51, 0.12);
}
.dxbl-tabs .dxbl-tab.dxbl-active, .dxbl-tabs .dxbl-tab.dxbl-tab-active {
  background-color: var(--dx-primary);
  border-color: var(--dx-primary);
  color: #ffffff;
}

/* Inputs */
.dxbl-textbox, .dxbl-combobox, .dxbl-spin-edit, .dxbl-dropdown, .dxbl-date-edit,
input[type="text"], input[type="email"], input[type="password"], textarea, select {
  border-radius: 8px;
  border: 1px solid rgba(31, 41, 51, 0.18);
}
.dxbl-textbox:focus, .dxbl-combobox:focus, .dxbl-spin-edit:focus, .dxbl-dropdown:focus, .dxbl-date-edit:focus,
input[type="text"]:focus, input[type="email"]:focus, input[type="password"]:focus, textarea:focus, select:focus {
  border-color: var(--dx-primary);
  box-shadow: 0 0 0 2px rgba(179, 0, 0, 0.15);
  outline: none;
}

/* Grid accents */
.dxbl-grid .dxbl-grid-header {
  background-color: var(--accent-soft);
}
.dxbl-grid .dxbl-grid-row.dxbl-selected, .dxbl-grid .dxbl-grid-row.dxbl-focused {
  background-color: rgba(179, 0, 0, 0.08);
}

/* Badges */
.dxbl-badge, .dxbl-tag {
  background-color: var(--accent-soft);
  color: var(--dx-primary);
  border-radius: 999px;
}
