/* =============================================================================
   OrangeEx — modern theme overlay for the AdminLTE backoffice.
   Loaded AFTER adminlte.min.css so it overrides the stock look. Restyles the
   shell (sidebar, navbar), cards, tables, forms, buttons and modals to match
   the Next.js frontend (Inter type, orange→amber brand, soft shadows, rounded
   corners) without editing every page.
   ========================================================================== */

@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap");

:root {
  --oe-brand-from: #f97316;   /* orange  */
  --oe-brand-to:   #f59e0b;   /* amber   */
  --oe-brand-soft: #facc15;
  --oe-primary:    #2563eb;   /* action blue (matches frontend primary.main) */
  --oe-primary-d:  #1d4ed8;
  --oe-ink:        #0f172a;   /* slate-900 text */
  --oe-muted:      #64748b;   /* slate-500      */
  --oe-line:       #e2e8f0;   /* slate-200 borders */
  --oe-bg:         #f1f5f9;   /* app background */
  --oe-card:       #ffffff;
  --oe-radius:     14px;
  --oe-radius-sm:  10px;
  --oe-shadow:     0 1px 2px rgba(15, 23, 42, .06), 0 8px 24px rgba(15, 23, 42, .05);
  --oe-shadow-sm:  0 1px 2px rgba(15, 23, 42, .06);
  --oe-font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* ---- Base ---------------------------------------------------------------- */
body,
.wrapper {
  font-family: var(--oe-font) !important;
  color: var(--oe-ink);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.content-wrapper {
  background: var(--oe-bg) !important;
}

a {
  color: var(--oe-primary);
}
a:hover {
  color: var(--oe-primary-d);
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--oe-ink);
}

/* ---- Sidebar ------------------------------------------------------------- */
.main-sidebar,
.main-sidebar.sidebar-dark-primary {
  background: linear-gradient(180deg, #0b1220 0%, #0f172a 60%, #111c30 100%) !important;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .02), 4px 0 24px rgba(2, 6, 23, .35);
}

/* Brand header */
.brand-link {
  display: flex !important;
  align-items: center;
  gap: .65rem;
  border-bottom: 1px solid rgba(255, 255, 255, .06) !important;
  padding: .9rem 1rem !important;
  background: transparent;
}
.brand-link .brand-mark {
  width: 36px;
  height: 36px;
  border-radius: 11px;
  display: grid;
  place-items: center;
  color: #fff;
  font-weight: 800;
  font-size: 19px;
  background: linear-gradient(135deg, var(--oe-brand-from), var(--oe-brand-soft));
  box-shadow: 0 6px 14px rgba(249, 115, 22, .4);
  flex-shrink: 0;
}
.brand-link .brand-text {
  font-weight: 800 !important;
  letter-spacing: .2px;
  font-size: 1.15rem;
  background: linear-gradient(90deg, var(--oe-brand-from), var(--oe-brand-to));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* User panel */
.main-sidebar .user-panel {
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}
.main-sidebar .user-panel .image img {
  border: 2px solid rgba(249, 115, 22, .55);
  box-shadow: 0 4px 10px rgba(0, 0, 0, .3);
}
.main-sidebar .user-panel .info a {
  color: #e2e8f0 !important;
  font-weight: 600;
  font-size: .92rem;
}

/* Sidebar nav items */
.nav-sidebar .nav-link {
  color: #94a3b8 !important;
  border-radius: 10px !important;
  margin: 2px 10px;
  padding: .6rem .85rem;
  font-weight: 500;
  transition: all .18s ease;
}
.nav-sidebar .nav-link .nav-icon {
  color: #64748b;
  transition: color .18s ease;
}
.nav-sidebar .nav-link:hover {
  color: #f8fafc !important;
  background: rgba(148, 163, 184, .12) !important;
}
.nav-sidebar .nav-link:hover .nav-icon {
  color: var(--oe-brand-soft);
}
.nav-sidebar > .nav-item > .nav-link.active,
.nav-sidebar .nav-treeview > .nav-item > .nav-link.active {
  background: linear-gradient(135deg, var(--oe-brand-from), var(--oe-brand-to)) !important;
  color: #fff !important;
  box-shadow: 0 6px 16px rgba(249, 115, 22, .35);
}
.nav-sidebar > .nav-item > .nav-link.active .nav-icon {
  color: #fff;
}

/* Section headers between nav groups */
.nav-sidebar .nav-header {
  color: #64748b !important;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 1rem 1.4rem .35rem;
  margin: 0;
}
.nav-sidebar .nav-header:first-child {
  padding-top: .4rem;
}

/* User panel: name, role chip, online dot */
.main-sidebar .user-panel .image {
  position: relative;
}
.main-sidebar .user-panel .oe-online-dot {
  position: absolute;
  right: 8px;
  bottom: 2px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #22c55e;
  border: 2px solid #0f172a;
  box-shadow: 0 0 0 2px rgba(34, 197, 94, .25);
}
.main-sidebar .user-panel .oe-user-name {
  color: #f8fafc !important;
  font-weight: 700;
  font-size: .95rem;
  line-height: 1.1;
}
.main-sidebar .user-panel .oe-role-chip {
  display: inline-block;
  margin-top: 4px;
  padding: 1px 9px;
  font-size: .64rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--oe-brand-soft);
  background: rgba(249, 115, 22, .14);
  border: 1px solid rgba(249, 115, 22, .35);
  border-radius: 999px;
}

/* Count badges on nav links */
.nav-sidebar .oe-nav-badge {
  background: rgba(148, 163, 184, .18);
  color: #cbd5e1;
  font-weight: 700;
  border-radius: 999px;
  padding: .2em .6em;
  font-size: .72rem;
}
.nav-sidebar .nav-link.active .oe-nav-badge {
  background: rgba(255, 255, 255, .25);
  color: #fff;
}

/* Logout hovers red */
.nav-sidebar .nav-link.oe-logout:hover {
  background: rgba(239, 68, 68, .14) !important;
  color: #fca5a5 !important;
}
.nav-sidebar .nav-link.oe-logout:hover .nav-icon {
  color: #f87171;
}

/* Sidebar footer */
.oe-sidebar-footer {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .8rem 1.4rem;
  margin-top: .5rem;
  border-top: 1px solid rgba(255, 255, 255, .06);
  color: #64748b;
  font-size: .72rem;
  font-weight: 500;
}
.oe-sidebar-footer .oe-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 0 3px rgba(34, 197, 94, .18);
}
.oe-sidebar-footer .oe-ver {
  margin-left: auto;
  color: #475569;
  font-weight: 700;
}

/* ---- Top navbar --------------------------------------------------------- */
.main-header.navbar {
  background: rgba(255, 255, 255, .85) !important;
  backdrop-filter: saturate(180%) blur(8px);
  border-bottom: 1px solid var(--oe-line) !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}
.main-header.navbar .nav-link {
  color: var(--oe-muted) !important;
  border-radius: 10px;
  transition: background .18s ease, color .18s ease;
}
.main-header.navbar .nav-link:hover {
  color: var(--oe-ink) !important;
  background: rgba(37, 99, 235, .08);
}
.main-header .navbar-nav .nav-item h6 {
  margin: 0;
  padding: .35rem .7rem;
  font-weight: 700;
  color: var(--oe-primary);
  background: rgba(37, 99, 235, .08);
  border-radius: 999px;
  font-size: .85rem;
}

/* ---- Content header / breadcrumb ---------------------------------------- */
.content-header h1 {
  font-size: 1.6rem;
  font-weight: 800;
}
.breadcrumb {
  background: transparent;
  border-radius: 999px;
  padding: .35rem .25rem;
}
.breadcrumb-item.active {
  color: var(--oe-muted);
}

/* ---- Cards -------------------------------------------------------------- */
.card {
  border: 1px solid var(--oe-line) !important;
  border-radius: var(--oe-radius) !important;
  box-shadow: var(--oe-shadow) !important;
  overflow: hidden;
}
.card.card-outline {
  border-top-width: 3px !important;
}
.card-header {
  background: #f8fafc !important;
  border-bottom: 1px solid var(--oe-line) !important;
  font-weight: 700;
}
.card-header .card-title {
  font-weight: 700;
}
.card-footer {
  background: #f8fafc !important;
  border-top: 1px solid var(--oe-line) !important;
}
/* Card accent strips keep their semantic colour but go flat+modern */
.card-primary:not(.card-outline) > .card-header {
  background: linear-gradient(135deg, var(--oe-primary), var(--oe-primary-d)) !important;
}
.card-success:not(.card-outline) > .card-header {
  background: linear-gradient(135deg, #16a34a, #15803d) !important;
}
.card-warning:not(.card-outline) > .card-header {
  background: linear-gradient(135deg, var(--oe-brand-from), var(--oe-brand-to)) !important;
  color: #fff;
}

/* ---- small-box (dashboard stat tiles) ----------------------------------- */
.small-box {
  border-radius: var(--oe-radius) !important;
  box-shadow: var(--oe-shadow) !important;
  overflow: hidden;
}
.small-box > .inner h3 {
  font-weight: 800;
  letter-spacing: -.02em;
}
.small-box .icon > i {
  opacity: .25;
}
.small-box.bg-info {
  background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
}
.small-box.bg-success {
  background: linear-gradient(135deg, #16a34a, #15803d) !important;
}
.small-box.bg-warning {
  background: linear-gradient(135deg, var(--oe-brand-from), var(--oe-brand-to)) !important;
  color: #fff !important;
}
.small-box.bg-warning > .inner { color: #fff; }
.small-box .small-box-footer {
  background: rgba(0, 0, 0, .12);
  font-weight: 600;
}

/* ---- Buttons ------------------------------------------------------------ */
.btn {
  border-radius: var(--oe-radius-sm) !important;
  font-weight: 600;
  letter-spacing: .01em;
  box-shadow: none;
  transition: transform .12s ease, box-shadow .18s ease, filter .18s ease;
}
.btn:hover {
  transform: translateY(-1px);
}
.btn:active {
  transform: translateY(0);
}
.btn-primary {
  background: linear-gradient(135deg, var(--oe-primary), var(--oe-primary-d)) !important;
  border: none !important;
  box-shadow: 0 6px 16px rgba(37, 99, 235, .3);
}
.btn-primary:hover {
  filter: brightness(1.05);
  box-shadow: 0 10px 22px rgba(37, 99, 235, .38);
}
.btn-success {
  background: linear-gradient(135deg, #16a34a, #15803d) !important;
  border: none !important;
  box-shadow: 0 6px 16px rgba(22, 163, 74, .28);
}
.btn-warning {
  background: linear-gradient(135deg, var(--oe-brand-from), var(--oe-brand-to)) !important;
  border: none !important;
  color: #fff !important;
  box-shadow: 0 6px 16px rgba(249, 115, 22, .3);
}
.btn-danger {
  background: linear-gradient(135deg, #ef4444, #dc2626) !important;
  border: none !important;
  box-shadow: 0 6px 16px rgba(239, 68, 68, .28);
}
.btn-info {
  background: linear-gradient(135deg, #0ea5e9, #0284c7) !important;
  border: none !important;
  box-shadow: 0 6px 16px rgba(14, 165, 233, .28);
}
.btn-secondary {
  background: #f1f5f9 !important;
  border: 1px solid var(--oe-line) !important;
  color: var(--oe-ink) !important;
}
.btn-outline-primary,
.btn-outline-secondary {
  border-radius: var(--oe-radius-sm) !important;
}
.btn-sm {
  border-radius: 8px !important;
}

/* ---- Forms -------------------------------------------------------------- */
.form-control,
.custom-select,
.select2-container--default .select2-selection--single {
  border-radius: var(--oe-radius-sm) !important;
  border: 1px solid var(--oe-line) !important;
  color: var(--oe-ink);
  transition: border-color .15s ease, box-shadow .15s ease;
}
.form-control:focus,
.custom-select:focus {
  border-color: var(--oe-primary) !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, .15) !important;
}
label {
  font-weight: 600;
  color: #334155;
  font-size: .9rem;
}
.input-group-text {
  border-radius: var(--oe-radius-sm);
  border: 1px solid var(--oe-line);
  background: #f8fafc;
}

/* ---- Tables ------------------------------------------------------------- */
.card .table,
.table {
  color: var(--oe-ink);
}
.table thead th {
  background: #f8fafc;
  border-bottom: 1px solid var(--oe-line) !important;
  border-top: none !important;
  font-weight: 700;
  font-size: .82rem;
  text-transform: none;
  letter-spacing: .01em;
  color: #334155;
  white-space: nowrap;
}
.table td,
.table th {
  border-top: 1px solid #eef2f7 !important;
  vertical-align: middle;
}
.table-hover tbody tr {
  transition: background .12s ease;
}
.table-hover tbody tr:hover {
  background: #f8fafc !important;
}
.table-bordered,
.table-bordered td,
.table-bordered th {
  border-color: #eef2f7 !important;
}

/* DataTables chrome */
.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select {
  border-radius: var(--oe-radius-sm) !important;
  border: 1px solid var(--oe-line) !important;
  padding: .3rem .6rem;
}
.dataTables_wrapper .dataTables_paginate .paginate_button {
  border-radius: 8px !important;
  margin: 0 2px;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
  background: linear-gradient(135deg, var(--oe-primary), var(--oe-primary-d)) !important;
  border: none !important;
  color: #fff !important;
}
.page-item.active .page-link {
  background: linear-gradient(135deg, var(--oe-primary), var(--oe-primary-d));
  border: none;
}
.page-link {
  border-radius: 8px !important;
  color: var(--oe-primary);
  border-color: var(--oe-line);
}

/* DataTables toolbar: export buttons + search, given breathing room */
.dataTables_wrapper .dt-buttons {
  display: inline-flex;
  gap: 6px;
  margin-bottom: .85rem;
}
.dataTables_wrapper .dt-button,
.dataTables_wrapper .dt-buttons .btn {
  border-radius: 9px !important;
  border: 1px solid var(--oe-line) !important;
  background: #fff !important;
  color: #334155 !important;
  font-weight: 600;
  font-size: .82rem;
  padding: .35rem .8rem !important;
  box-shadow: var(--oe-shadow-sm);
  transition: all .15s ease;
}
.dataTables_wrapper .dt-button:hover {
  background: #f8fafc !important;
  border-color: #cbd5e1 !important;
  transform: translateY(-1px);
  color: var(--oe-primary) !important;
}
.dataTables_wrapper .dataTables_filter {
  margin-bottom: .85rem;
}
.dataTables_wrapper .dataTables_filter label {
  font-weight: 600;
  color: var(--oe-muted);
}
.dataTables_wrapper .dataTables_filter input {
  margin-left: .5rem;
  min-width: 220px;
}
.dataTables_wrapper .dataTables_info {
  color: var(--oe-muted);
  font-size: .85rem;
  padding-top: .85rem;
}

/* Action buttons inside data tables → compact, uniform icon buttons */
.table td .btn,
.table th .btn {
  padding: .3rem .55rem !important;
  font-size: .8rem;
  border-radius: 9px !important;
  line-height: 1;
  margin: 2px;
  box-shadow: none !important;
}
.table td .btn:hover,
.table th .btn:hover {
  transform: translateY(-1px);
  filter: brightness(1.03);
}
.table td .btn i {
  vertical-align: middle;
}
/* Secondary/edit action buttons read as neutral, not heavy grey */
.table td .btn.bg-gradient-secondary,
.table td .btn-secondary {
  background: #f1f5f9 !important;
  color: #475569 !important;
  border: 1px solid var(--oe-line) !important;
}
.table td .btn.bg-gradient-secondary:hover {
  background: #e2e8f0 !important;
  color: var(--oe-primary) !important;
}

/* Code / drill-down links in tables */
.table td a:not(.btn) {
  color: var(--oe-primary);
  font-weight: 600;
  text-decoration: none !important;
}
.table td a:not(.btn):hover {
  color: var(--oe-primary-d);
  text-decoration: underline !important;
}
.table td[style*="underline"] {
  text-decoration: none !important;
}
.table-striped tbody tr:nth-of-type(odd) {
  background: #fbfcfe;
}

/* Role badges (party master) */
.badge.oe-role-badge {
  font-size: .72rem;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.badge.oe-role-broker  { background: #ede9fe; color: #5b21b6; }
.badge.oe-role-dealer  { background: #dbeafe; color: #1e40af; }
.badge.oe-role-client  { background: #dcfce7; color: #166534; }

/* Card tools (collapse/remove + add buttons in card headers) */
.card-header .card-tools .btn-tool {
  color: var(--oe-muted);
}
.card-header .card-tools .btn-tool:hover {
  color: var(--oe-ink);
}

/* ---- Badges / chips ----------------------------------------------------- */
.badge {
  border-radius: 999px;
  font-weight: 600;
  padding: .35em .7em;
  letter-spacing: .01em;
}
.badge-success { background: #dcfce7; color: #166534; }
.badge-danger  { background: #fee2e2; color: #991b1b; }
.badge-warning { background: #fef3c7; color: #92400e; }
.badge-info    { background: #e0f2fe; color: #075985; }
.badge-primary { background: #dbeafe; color: #1e40af; }
.badge-secondary { background: #f1f5f9; color: #475569; }

/* ---- Modals ------------------------------------------------------------- */
.modal-content {
  border: none !important;
  border-radius: var(--oe-radius) !important;
  box-shadow: 0 30px 70px rgba(15, 23, 42, .3) !important;
  overflow: hidden;
}
/* Branded accent strip across the top of every modal */
.modal-content::before {
  content: "";
  display: block;
  height: 4px;
  background: linear-gradient(90deg, var(--oe-brand-from), var(--oe-brand-to));
}
.modal-header {
  position: relative;
  background: #f8fafc;
  border-bottom: 1px solid var(--oe-line) !important;
  padding: 1.1rem 1.5rem;
}
.modal-header .modal-title {
  font-weight: 800;
  letter-spacing: -.01em;
  color: var(--oe-ink);
}
/* Circular, hoverable close button */
.modal-header .close {
  position: absolute;
  top: 50%;
  right: 1.25rem;
  transform: translateY(-50%);
  margin: 0;
  padding: 0;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: #eef2f7;
  color: var(--oe-muted);
  opacity: 1;
  text-shadow: none;
  font-weight: 600;
  line-height: 34px;
  transition: background .15s ease, color .15s ease, transform .15s ease;
}
.modal-header .close:hover {
  background: #fee2e2;
  color: #dc2626;
  opacity: 1;
  transform: translateY(-50%) rotate(90deg);
}
.modal-body,
.modal-content .card-body {
  padding: 1.5rem;
}
.modal-footer {
  background: #f8fafc;
  border-top: 1px solid var(--oe-line) !important;
  padding: 1rem 1.5rem;
  gap: .5rem;
}

/* ---- Form refinements --------------------------------------------------- */
.form-group {
  margin-bottom: 1.1rem;
}
.form-group > label {
  margin-bottom: .35rem;
  font-size: .82rem;
  font-weight: 600;
  color: #475569;
}
.form-control {
  padding: .5rem .8rem;
  height: auto;
  min-height: 42px;
}
select.form-control:not([multiple]) {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right .8rem center;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding-right: 2.2rem;
}
.form-control[readonly] {
  background: #f8fafc;
  color: var(--oe-muted);
}
/* Keep validation feedback visible despite the themed border override */
.form-control.is-invalid {
  border-color: #dc2626 !important;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, .12) !important;
}
.form-control.is-valid {
  border-color: #16a34a !important;
}

/* form-switch rendered as a real toggle (Bootstrap 4 lacks native switches) */
.form-switch {
  padding-left: 0;
  display: flex;
  align-items: center;
}
.form-switch .form-check-input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  flex: 0 0 auto;
  width: 2.5em;
  height: 1.4em;
  margin: 0 .6rem 0 0;
  border: none;
  border-radius: 999px;
  background: #cbd5e1;
  position: relative;
  cursor: pointer;
  transition: background .2s ease;
}
.form-switch .form-check-input::before {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: calc(1.4em - 4px);
  height: calc(1.4em - 4px);
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(15, 23, 42, .35);
  transition: transform .2s ease;
}
.form-switch .form-check-input:checked {
  background: linear-gradient(135deg, var(--oe-primary), var(--oe-primary-d));
}
.form-switch .form-check-input:checked::before {
  transform: translateX(1.1em);
}
.form-switch .form-check-label {
  margin: 0;
  cursor: pointer;
  font-weight: 600;
  color: #334155;
}

/* ---- Misc --------------------------------------------------------------- */
/* ---- Alerts ------------------------------------------------------------- */
.alert {
  border: 1px solid transparent;
  border-left-width: 4px;
  border-radius: var(--oe-radius-sm);
  padding: .85rem 1rem .85rem 2.6rem;
  position: relative;
  font-weight: 500;
  box-shadow: var(--oe-shadow-sm);
}
/* Leading status icon (Font Awesome 5 is already loaded) */
.alert::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1rem;
}
.alert-success {
  background: #f0fdf4;
  border-color: #bbf7d0;
  border-left-color: #16a34a;
  color: #166534;
}
.alert-success::before { content: "\f058"; color: #16a34a; }      /* check-circle */
.alert-danger {
  background: #fef2f2;
  border-color: #fecaca;
  border-left-color: #dc2626;
  color: #991b1b;
}
.alert-danger::before { content: "\f06a"; color: #dc2626; }        /* exclamation-circle */
.alert-warning {
  background: #fffbeb;
  border-color: #fde68a;
  border-left-color: #f59e0b;
  color: #92400e;
}
.alert-warning::before { content: "\f071"; color: #f59e0b; }       /* exclamation-triangle */
.alert-info {
  background: #eff6ff;
  border-color: #bfdbfe;
  border-left-color: #2563eb;
  color: #1e40af;
}
.alert-info::before { content: "\f05a"; color: #2563eb; }          /* info-circle */
.alert .close {
  opacity: .7;
  text-shadow: none;
}
.alert .close:hover { opacity: 1; }

/* AdminLTE Toasts (showToastMessage / $(document).Toasts) */
.toasts-top-right,
.toasts-top-left,
.toasts-bottom-right,
.toasts-bottom-left { z-index: 1080; }
.toast {
  border: none !important;
  border-radius: var(--oe-radius-sm) !important;
  box-shadow: 0 12px 32px rgba(15, 23, 42, .22) !important;
  overflow: hidden;
  backdrop-filter: none;
  background: #fff;
}
.toast .toast-header {
  font-weight: 700;
  color: var(--oe-ink);
  border-bottom: 1px solid var(--oe-line);
  border-left: 4px solid var(--oe-primary);
}
.toast.bg-success .toast-header,
.toast.bg-danger .toast-header,
.toast.bg-warning .toast-header,
.toast.bg-info .toast-header { color: #fff; }
.toast .toast-body {
  color: #334155;
  font-weight: 500;
}
.dropdown-menu {
  border-radius: var(--oe-radius-sm);
  border: 1px solid var(--oe-line);
  box-shadow: var(--oe-shadow);
}
.dropdown-item:active,
.dropdown-item.active {
  background: var(--oe-primary);
}
.custom-control-input:checked ~ .custom-control-label::before {
  background: var(--oe-primary);
  border-color: var(--oe-primary);
}
hr {
  border-top-color: var(--oe-line);
}
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 999px; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }
