/* ========================================================================
   Tiki Tar & Shell India — admin theme
   Direct reference: tikitarshell.com
     • yellow top navbar with navy text
     • red accents for titles & active state (red underline below active item)
     • clean white body
     • bold uppercase section titles with decorative red underline
   ======================================================================== */
@import url("https://fonts.googleapis.com/css2?family=Lato:wght@400;700;900&family=Inter:wght@400;500;600;700&display=swap");

:root {
  /* Shell primary palette — taken from tikitarshell.com */
  --shell-yellow:        #FBCE07;   /* top-bar background */
  --shell-yellow-600:    #e1b602;
  --shell-red:           #DD1D21;   /* title color, active underline, CTAs */
  --shell-red-600:       #c21519;
  --shell-red-700:       #a1090d;

  /* Ink */
  --ink:                 #10243d;   /* deep navy — headings, nav text */
  --ink-2:               #243549;
  --slate:               #4b5b70;
  --slate-2:             #6b7b8f;
  --hairline:            #e5e8ec;
  --surface:             #f6f7f9;
  --card:                #ffffff;

  /* Map to Tabler */
  --tblr-primary:                 var(--shell-red);
  --tblr-primary-rgb:             221, 29, 33;
  --tblr-link-color:               var(--shell-red);
  --tblr-link-color-rgb:           221, 29, 33;
  --tblr-link-hover-color:         var(--shell-red-700);
  --tblr-body-bg:                  var(--surface);
  --tblr-body-color:               var(--ink-2);
  --tblr-heading-color:            var(--ink);
  --tblr-border-color:             var(--hairline);
  --tblr-border-radius:            8px;
  --tblr-font-sans-serif:          "Inter", "Lato", ui-sans-serif, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --tblr-heading-font-family:      "Lato", "Inter", ui-sans-serif, sans-serif;
  --tblr-font-weight-bold:         700;
}

html, body { -webkit-font-smoothing: antialiased; background: var(--surface); }
body { letter-spacing: -0.005em; color: var(--ink-2); }

/* =========================================================================
   TOP NAVBAR — yellow, matches brand site header
   ========================================================================= */
.navbar.navbar-light {
  background: var(--shell-yellow);
  border-bottom: 0;
  box-shadow: none;
  position: relative;
  min-height: 64px;
  padding-top: 8px;
  padding-bottom: 8px;
}
.navbar.navbar-light::after {
  /* thin navy hairline under the yellow (matches brand site divider) */
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 1px;
  background: rgba(16,36,61,.18);
}
.navbar.navbar-light .navbar-brand,
.navbar.navbar-light .nav-link,
.navbar.navbar-light .text-muted {
  color: var(--ink) !important;
}
.navbar.navbar-light .text-muted { opacity: .78; }

/* Brand lockup on the top bar: company name + tagline */
.topbar-brand {
  display: flex;
  flex-direction: column;
  line-height: 1.05;
  font-family: "Lato", sans-serif;
}
.topbar-brand .topbar-company {
  font-weight: 900;
  font-size: 15px;
  letter-spacing: .04em;
  color: var(--ink);
}
.topbar-brand .topbar-tagline {
  font-weight: 400;
  font-size: 11.5px;
  color: var(--ink-2);
  opacity: .85;
  margin-top: 2px;
}

/* Top-bar buttons / help — keep navy text, subtle hover                    */
.navbar.navbar-light .btn-outline-secondary {
  background: transparent;
  border-color: rgba(16,36,61,.22);
  color: var(--ink) !important;
}
.navbar.navbar-light .btn-outline-secondary:hover {
  background: rgba(255,255,255,.35);
  border-color: var(--ink);
  color: var(--ink) !important;
}
.navbar.navbar-light .avatar {
  background: var(--shell-red) !important;
  color: #fff !important;
}

/* =========================================================================
   VERTICAL SIDEBAR — white, navy text, red underline on active
   (mirrors brand site's horizontal nav applied vertically)
   ========================================================================= */
.navbar-vertical.navbar-dark,
.navbar-vertical[data-bs-theme="dark"] {
  background: var(--surface) !important;   /* light cream/off-white bg — sits behind the white item cards */
  border-right: 1px solid var(--hairline);
  padding: 0;
}
/* Tabler applies a box-shadow to .navbar-expand-lg.navbar-vertical that
   reads as a dark line against the light sidebar — kill it. */
.navbar-expand-lg.navbar-vertical,
aside.navbar-vertical {
  box-shadow: none !important;
}
/* Undo Tabler's dark-mode overrides */
.navbar-vertical .navbar-brand,
.navbar-vertical .nav-link,
.navbar-vertical .nav-heading {
  color: var(--ink) !important;
}

/* Hamburger icon — dark-theme sidebar makes it white; force dark so it's
   visible on our light/white sidebar background. Also give it a tap-friendly
   size on mobile. */
.navbar-vertical .navbar-toggler {
  border-color: var(--hairline);
  padding: 6px 10px;
}
.navbar-vertical .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%2310243d' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.5' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}
.navbar-vertical .navbar-brand {
  padding: 18px 14px 20px !important;
  border-bottom: 1px solid var(--hairline);
  background: #fff;
  margin-bottom: 0;
}

/* Stack of white "category" cards — matches the brand-site category list  */
.navbar-vertical .navbar-nav {
  padding: 12px 14px;
  gap: 6px;
}
.navbar-vertical .navbar-nav .nav-item {
  list-style: none;
}
.navbar-vertical .navbar-nav .nav-link {
  color: var(--ink) !important;
  background: #fff;
  border: 1px solid var(--hairline);
  border-radius: 4px;
  margin: 0;
  padding: 14px 18px;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: .06em;
  text-transform: uppercase;
  position: relative;
  display: flex;
  align-items: center;
  transition: background .15s ease, color .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.navbar-vertical .navbar-nav .nav-link:hover {
  color: var(--ink) !important;
  background: #fffef2;                     /* faint yellow tint on hover */
  border-color: #e6d77a;
  box-shadow: 0 2px 6px -3px rgba(16,36,61,.12);
}
.navbar-vertical .navbar-nav .nav-link:hover .nav-link-icon {
  color: var(--shell-red-600);
}

/* Active state — solid Shell yellow with the right-pointing triangle      */
.navbar-vertical .navbar-nav .nav-item.active > .nav-link,
.navbar-vertical .navbar-nav .nav-link.active {
  color: var(--ink) !important;
  background: var(--shell-yellow);
  border-color: var(--shell-yellow);
  box-shadow: 0 2px 8px -3px rgba(251,206,7,.55);
}
.navbar-vertical .navbar-nav .nav-link.active::after {
  /* Right-pointing triangle notch on the right edge (brand site style).
     Using CSS border trick: square rotated + positioned half outside.     */
  content: "";
  position: absolute;
  right: -10px;
  top: 50%;
  width: 0; height: 0;
  transform: translateY(-50%);
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 10px solid var(--shell-yellow);
  filter: drop-shadow(1px 0 0 rgba(16,36,61,.02));
}
.navbar-vertical .navbar-nav .nav-link.active .nav-link-icon {
  color: var(--shell-red);
}

.navbar-vertical .navbar-nav .nav-link-icon {
  color: var(--slate);
  opacity: 1;
  margin-right: 12px;
  font-size: 16px;
  transition: color .15s ease;
}

/* Section heading ('MASTER DETAILS')                                      */
.navbar-vertical .nav-heading {
  color: var(--slate-2) !important;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .16em;
  padding: 18px 8px 8px;
  text-transform: uppercase;
  margin: 0;
  border: 0;
  background: transparent;
}

/* =========================================================================
   PAGE HEADER — brand-site treatment: red uppercase title with decorative
   underline (short red line + line + short red line)
   ========================================================================= */
.page-header { background: transparent; padding-top: 28px; padding-bottom: 12px; }
.page-header .page-pretitle {
  color: var(--slate-2);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.page-header .page-title {
  font-family: "Lato", sans-serif;
  font-size: 28px;
  font-weight: 900;
  color: var(--shell-red);
  letter-spacing: .04em;
  text-transform: uppercase;
  margin: 4px 0 0 !important;
  padding-bottom: 14px;
  position: relative;
  display: inline-block;
}
.page-header .page-title::before,
.page-header .page-title::after {
  content: "";
  position: absolute;
  bottom: 4px;
  height: 2px;
  background: var(--shell-red);
}
.page-header .page-title::before {
  left: 0;
  width: 36px;
}
.page-header .page-title::after {
  left: 46px;
  right: 0;
  background: linear-gradient(90deg, rgba(221,29,33,.4), rgba(221,29,33,0));
}

/* Subtitle that rides inside .page-title (e.g. "65000 kg · Batch 2026/…")
   — drop to a new line, reset the title's uppercase/letter-spacing/weight,
   and render in muted slate. */
.page-header .page-title .text-muted {
  display: block;
  margin-top: 8px;
  margin-left: 0 !important;
  font-family: "Inter", "Lato", sans-serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  color: var(--slate) !important;
}

/* =========================================================================
   BUTTONS
   ========================================================================= */
.btn-primary,
.btn-brand {
  background: var(--shell-red);
  border-color: var(--shell-red);
  color: #fff !important;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
  font-size: 12.5px;
  padding: 8px 16px;
}
.btn-primary:hover,
.btn-brand:hover {
  background: var(--shell-red-600);
  border-color: var(--shell-red-600);
  color: #fff !important;
}
.btn-primary:active,
.btn-brand:active {
  background: var(--shell-red-700);
  border-color: var(--shell-red-700);
}
.btn-outline-secondary {
  border-color: var(--hairline);
  color: var(--ink);
  background: #fff;
  font-weight: 600;
}
.btn-outline-secondary:hover {
  background: var(--surface);
  border-color: #cfd4da;
  color: var(--ink);
}

/* =========================================================================
   STAT CARDS — white, red top stripe, clean
   ========================================================================= */
.stat-card {
  background: var(--card);
  border: 1px solid var(--hairline);
  border-radius: 10px;
  padding: 20px 22px;
  display: flex;
  align-items: center;
  gap: 16px;
  position: relative;
  overflow: hidden;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.stat-card::before {
  content: "";
  position: absolute;
  left: 0; right: 0; top: 0;
  height: 3px;
  background: var(--stat-accent, var(--shell-red));
}
.stat-card:hover {
  border-color: #cfd4da;
  box-shadow: 0 8px 24px -14px rgba(16,36,61,.22);
  transform: translateY(-1px);
}
.stat-card .stat-icon {
  width: 48px; height: 48px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  flex: none;
}
.stat-card .stat-value {
  font-family: "Lato", sans-serif;
  font-size: 30px;
  font-weight: 900;
  line-height: 1;
  color: var(--ink);
  letter-spacing: -.01em;
}
.stat-card .stat-label {
  color: var(--slate);
  font-size: 12px;
  font-weight: 700;
  margin-top: 6px;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.stat-card.tone-red    { --stat-accent: var(--shell-red); }
.stat-card.tone-yellow { --stat-accent: var(--shell-yellow); }
.stat-card.tone-navy   { --stat-accent: var(--ink); }
.stat-card.tone-green  { --stat-accent: #15803d; }
.stat-card.tone-amber  { --stat-accent: #d97706; }

.stat-icon.tone-red    { background: rgba(221,29,33,.10); color: var(--shell-red); }
.stat-icon.tone-yellow { background: rgba(251,206,7,.20); color: #8a6d00; }
.stat-icon.tone-navy   { background: rgba(16,36,61,.08);  color: var(--ink); }
.stat-icon.tone-green  { background: rgba(21,128,61,.10); color: #15803d; }
.stat-icon.tone-amber  { background: rgba(217,119,6,.10); color: #b45309; }
.stat-icon.tone-slate  { background: rgba(75,91,112,.10); color: var(--slate); }

/* =========================================================================
   CARDS — minimal, crisp
   ========================================================================= */
.card {
  background: var(--card);
  border: 1px solid var(--hairline);
  border-radius: 10px;
  box-shadow: 0 1px 2px rgba(16,36,61,.03);
}
.card-header {
  border-bottom: 1px solid #eef0f3;
  background: #fff;
  padding: 14px 18px;
  border-top-left-radius: 10px !important;
  border-top-right-radius: 10px !important;
}
.card-title {
  font-family: "Lato", sans-serif;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .08em;
  color: var(--ink);
  text-transform: uppercase;
  margin: 0;
}
.card .h2 {
  font-family: "Lato", sans-serif;
  font-size: 32px;
  font-weight: 900;
  color: var(--ink);
  letter-spacing: -.01em;
}
.card .text-muted { color: var(--slate) !important; }

/* Brand-colored links */
.link-brand {
  color: var(--shell-red);
  font-weight: 700;
  text-decoration: none;
  letter-spacing: .02em;
  font-size: 12.5px;
  text-transform: uppercase;
}
.link-brand:hover { color: var(--shell-red-700); text-decoration: underline; }

/* =========================================================================
   TABLES
   ========================================================================= */
table.dataTable thead th,
.table thead th {
  font-family: "Lato", sans-serif;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .10em;
  color: var(--ink);
  text-transform: uppercase;
  background: #fafbfc;
  border-bottom: 2px solid var(--hairline) !important;
  padding-top: 14px;
  padding-bottom: 14px;
}
table.dataTable tbody tr     { transition: background .12s ease; }
table.dataTable tbody tr:hover { background: #fffaf9; }
table.dataTable tbody td     { vertical-align: middle; padding-top: 12px; padding-bottom: 12px; }

/* DataTables toolbar ---------------------------------------------------- */
/* When controls are lifted into the card header, collapse the original row */
.dataTables_wrapper > .row:first-child:empty,
.dataTables_wrapper > .row:first-child:not(:has(> *)),
.dataTables_wrapper > .row:first-child > .col-sm-12:empty,
.dataTables_wrapper > .row:first-child:has(> .col-sm-12:only-child:empty) {
	display: none !important;
}
/* Fallback: hide any DT-native top row that only has our emptied columns */
.dataTables_wrapper .row:first-child .dataTables_length:empty,
.dataTables_wrapper .row:first-child .dataTables_filter:empty { display: none; }

.dataTables_wrapper .dataTables_length { display: flex; align-items: center; gap: 8px; color: var(--slate); font-size: 13px; }
.dataTables_wrapper .dataTables_length select {
  border: 1px solid #cfd4da;
  border-radius: 8px;
  padding: 8px 28px 8px 12px;
  font-size: 13.5px;
  min-width: 72px;
  background-color: #fff;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat: no-repeat;
  background-position: right 10px center;
  appearance: none;
  -webkit-appearance: none;
}
.dataTables_wrapper .dataTables_length select:focus {
  border-color: var(--shell-red);
  box-shadow: 0 0 0 3px rgba(221,29,33,.15);
  outline: none;
}

/* Search box: bigger, leading search icon, red focus ring ---------------- */
.dataTables_wrapper .dataTables_filter { text-align: right; }
.dataTables_wrapper .dataTables_filter label {
  position: relative;
  margin: 0;
  display: inline-block;
  font-size: 0;
}
.dataTables_wrapper .dataTables_filter input {
  border: 1px solid #cfd4da;
  border-radius: 10px;
  padding: 10px 14px 10px 40px;
  font-size: 14px;
  width: 280px;
  max-width: 100%;
  background-color: #fff;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%236b7b8f' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><circle cx='10' cy='10' r='7'/><line x1='21' y1='21' x2='15.65' y2='15.65'/></svg>");
  background-repeat: no-repeat;
  background-position: 14px center;
  transition: border-color .15s ease, box-shadow .15s ease, width .2s ease;
}
.dataTables_wrapper .dataTables_filter input::placeholder { color: #8a97a8; }
.dataTables_wrapper .dataTables_filter input:focus {
  border-color: var(--shell-red);
  box-shadow: 0 0 0 3px rgba(221,29,33,.15);
  outline: none;
  width: 340px;
}

/* ------ Card-header variants (when DT controls are hoisted up) ------ */
.card-header {
	gap: 10px;
}
.card-header .dt-header-controls {
	margin-left: auto;
	gap: 8px;
}

/* Length picker — hide the "Show ... entries" label text, keep only the select */
.card-header .dataTables_length,
.card-header .dt-length {
	margin: 0;
	display: flex;
	align-items: center;
}
.card-header .dataTables_length label,
.card-header .dt-length label {
	margin: 0;
	font-size: 0;           /* hides the "Show" / "entries" text nodes */
	line-height: 1;
	display: inline-flex;
	align-items: center;
}
.card-header .dataTables_length select,
.card-header .dt-length select {
	height: 36px;
	padding: 6px 26px 6px 12px;
	font-size: 13px;
	font-weight: 600;
	color: var(--ink);
	min-width: 72px;
	background-position: right 10px center;
	background-size: 11px;
	border-radius: 8px;
}

/* Search input — compact height, consistent with select + button */
.card-header .dataTables_filter,
.card-header .dt-search { margin: 0; }
.card-header .dataTables_filter label,
.card-header .dt-search label { margin: 0; font-size: 0; display: block; }
.card-header .dataTables_filter input,
.card-header .dt-search input {
	height: 36px;
	padding: 6px 12px 6px 34px;
	font-size: 13px;
	width: 220px;
	background-position: 10px center;
	background-size: 16px;
	border-radius: 8px;
}
.card-header .dataTables_filter input:focus,
.card-header .dt-search input:focus { width: 260px; }

/* Header-level CTA button — match the 36-px control height */
.card-header .btn-brand,
.card-header .btn-primary {
	height: 36px;
	padding: 0 14px;
	font-size: 12.5px;
	display: inline-flex;
	align-items: center;
	line-height: 1;
}

/* Page-header action buttons (top-right of the page, not inside a card) */
.page-header .btn {
	height: 36px;
	padding: 0 14px;
	font-size: 12.5px;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	line-height: 1;
	letter-spacing: .03em;
	border-radius: 8px;
}
.page-header .btn.btn-brand,
.page-header .btn.btn-primary {
	background: var(--shell-red);
	border-color: var(--shell-red);
	color: #fff;
	text-transform: uppercase;
}
.page-header .btn.btn-brand:hover,
.page-header .btn.btn-primary:hover {
	background: var(--shell-red-600);
	border-color: var(--shell-red-600);
	color: #fff;
}
.page-header .btn.btn-outline-secondary {
	background: #fff;
	border: 1px solid var(--hairline);
	color: var(--ink);
	font-weight: 600;
	text-transform: none;
}
.page-header .btn.btn-outline-secondary:hover {
	background: var(--surface);
	border-color: #cfd4da;
	color: var(--shell-red);
}
.page-header .btn i { font-size: 16px; }

/* Free up the original DT toolbar row since we hoisted its contents */
.dataTables_wrapper .row:has(.dataTables_length .dt-header-controls-hoisted),
.dataTables_wrapper .row:has(.dataTables_filter .dt-header-controls-hoisted) {
	display: none;
}

/* Pagination bottom ---------------------------------------------------- */
.dataTables_wrapper .dataTables_info {
  color: var(--slate);
  font-size: 13px;
  padding-top: 14px;
}
.dataTables_wrapper .pagination .page-link {
  border-radius: 8px;
  margin: 0 2px;
  border: 1px solid var(--hairline);
  color: var(--ink-2);
  font-weight: 600;
  min-width: 34px;
  text-align: center;
}
.dataTables_wrapper .pagination .page-item.active .page-link {
  background: var(--shell-red);
  border-color: var(--shell-red);
  color: #fff;
}
.dataTables_wrapper .pagination .page-link:hover {
  background: #fff7f7;
  border-color: #f5c9cb;
  color: var(--shell-red);
}

/* Row action buttons ---------------------------------------------------- */
/* Icon-only: perfect 34x34 square                                       */
.btn-icon {
  width: 34px;
  height: 34px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  border-radius: 8px;
  line-height: 1;
}
.btn-icon i { font-size: 18px; line-height: 1; }

/* Icon + text: pill-sized, natural width, consistent height             */
.table .btn.btn-sm {
  height: 34px;
  padding: 0 12px;
  font-size: 12.5px;
  font-weight: 700;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  line-height: 1;
  letter-spacing: .03em;
}
.table .btn.btn-sm > i { font-size: 16px; line-height: 1; }
.table .btn.btn-icon   { padding: 0; }          /* override for icon-only */

.table .btn.btn-outline-secondary:hover { border-color: var(--shell-red); color: var(--shell-red); background: #fff7f7; }
.table .btn.btn-outline-danger:hover    { border-color: var(--shell-red); background: var(--shell-red); color: #fff; }
.table td .btn + .btn { margin-left: 4px; }

/* =========================================================================
   FORMS / Select2
   ========================================================================= */
.form-control, .form-select {
  border: 1px solid #cfd4da;
  border-radius: 8px;
  padding: 10px 14px;
  font-size: 14px;
  min-height: 42px;
  background-color: #fff;
}
.form-control:focus, .form-select:focus {
  border-color: var(--shell-red);
  box-shadow: 0 0 0 3px rgba(221,29,33,.15);
  outline: none;
}
.form-label { font-weight: 600; font-size: 13px; color: var(--ink); margin-bottom: 6px; }

.select2-container--default .select2-selection--single {
  border: 1px solid #cfd4da;
  border-radius: 8px;
  height: 42px;
  padding: 6px 8px;
}
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 28px; font-size: 14px; padding-left: 6px; }
.select2-container--default .select2-selection--single .select2-selection__arrow    { height: 40px; }
.select2-container--default.select2-container--focus .select2-selection--single {
  border-color: var(--shell-red);
  box-shadow: 0 0 0 3px rgba(221,29,33,.15);
}

/* Date-range picker button in page header — bigger, softer ------------- */
#reportrange {
  border: 1px solid #cfd4da !important;
  border-radius: 10px;
  padding: 10px 16px;
  font-size: 14px;
  font-weight: 600;
  color: var(--ink) !important;
  background: #fff;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
}
#reportrange i { font-size: 18px; color: var(--shell-red); }
#reportrange:hover { border-color: var(--shell-red) !important; color: var(--shell-red) !important; background: #fff7f7; }
#reportrange .caret,
#reportrange::after {
  content: "";
  width: 10px; height: 10px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  margin-left: 4px;
  margin-top: -4px;
  opacity: .6;
}
/* daterangepicker dropdown polish */
.daterangepicker {
  border: 1px solid var(--hairline);
  border-radius: 10px;
  box-shadow: 0 12px 32px -10px rgba(16,36,61,.18);
  font-family: inherit;
}
.daterangepicker td.active, .daterangepicker td.active:hover { background: var(--shell-red); }
.daterangepicker .ranges li.active { background: var(--shell-red); }
.daterangepicker .btn-primary { background: var(--shell-red); border-color: var(--shell-red); }

/* =========================================================================
   STATUS PILLS — subtle tinted backgrounds, strong text
   ========================================================================= */
.badge {
  font-weight: 700;
  letter-spacing: .06em;
  padding: 5px 10px;
  text-transform: uppercase;
  font-size: 10.5px;
  border-radius: 999px;               /* pill shape reads less like a button  */
  line-height: 1.25;
  border: 1px solid transparent;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.badge::before {                       /* small colored dot = status marker   */
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  opacity: .8;
  flex: none;
}

.badge.bg-danger,
.badge.bg-red,
.label-danger { background: #fdecec !important; color: #a1090d !important; border-color: #f5c9cb; }
.badge.bg-success,
.label-success { background: #e7f5ec !important; color: #126838 !important; border-color: #bfe1cc; }
.badge.bg-warning,
.badge.bg-yellow,
.label-warning { background: #fff7d6 !important; color: #7a5a00 !important; border-color: #f0dd80; }
.badge.bg-info,
.label-info    { background: #e6f1fc !important; color: #0b4d8a !important; border-color: #b9d6f3; }
.badge.bg-secondary,
.label-secondary { background: #eef1f5 !important; color: #3a4858 !important; border-color: #d8dee6; }

/* =========================================================================
   FOCUS RING — red, accessible
   ========================================================================= */
:focus-visible {
  outline: 3px solid rgba(221,29,33,.25);
  outline-offset: 2px;
}

/* Global transitions on interactive elements */
a, button, .nav-link, .stat-card, .badge {
  transition-property: color, background-color, border-color, box-shadow, transform;
  transition-duration: .15s;
  transition-timing-function: ease;
}

/* =========================================================================
   FLUID LAYOUT — remove Tabler's fixed max-width on wide screens so the
   content area stretches to fill the viewport with no horizontal scroll.
   ========================================================================= */
.page-wrapper .container-xl {
  max-width: 100%;
}

/* =========================================================================
   RESPONSIVE — mobile / tablet tweaks
   ========================================================================= */

/* Below lg (< 992px): sidebar collapses, content goes full-width */
@media (max-width: 991.98px) {
  /* Make the sidebar collapse background visible */
  aside.navbar-vertical {
    background: #fff !important;
    border-bottom: 1px solid var(--hairline);
  }
  /* Shrink the company name on small screens */
  .topbar-brand .topbar-company { font-size: 12px; }
  .topbar-brand .topbar-tagline { font-size: 10px; }
  /* Stack the page header controls vertically */
  .page-header .col-auto { width: 100%; margin-top: 8px; }
  /* Table cells: let text wrap instead of horizontal scroll */
  .table td, .table th { white-space: normal; }
}

/* Below sm (< 576px): extra tight for phone screens */
@media (max-width: 575.98px) {
  .topbar-brand .topbar-company { font-size: 11px; letter-spacing: .02em; }
  .topbar-brand .topbar-tagline { display: none; }
  .page-title { font-size: 16px !important; }
  .page-pretitle { font-size: 11px !important; }
  .card-header { flex-direction: column; align-items: flex-start !important; gap: 6px !important; }
  .dt-header-controls { width: 100%; }
}

/* =========================================================================
   PRINT
   ========================================================================= */
@media print {
  .d-print-none, .navbar, aside.navbar-vertical { display: none !important; }
  .page-wrapper { margin: 0 !important; }
}
