/* ==========================================================================
   JMARA AURORA — Thème ProGest (JMARA CONSULT)
   Couche de design globale : chargée en dernier, ne modifie aucune logique.
   Pour désactiver : supprimer les 2 lignes jmara-theme dans css.blade.php
   et javascripts.blade.php (ou lancer le script de restauration).
   ========================================================================== */

:root {
  --jm-navy-950: #060f2b;
  --jm-navy-900: #0a1a3f;
  --jm-navy-800: #0f2a6b;
  --jm-navy-700: #173a8f;
  --jm-blue: #2563eb;
  --jm-indigo: #4f46e5;
  --jm-violet: #8b5cf6;
  --jm-cyan: #06b6d4;
  --jm-teal: #14b8a6;
  --jm-emerald: #10b981;
  --jm-orange: #ff8a00;
  --jm-orange-2: #ff5e3a;
  --jm-amber: #f59e0b;
  --jm-rose: #f43f5e;

  --jm-bg: #f3f5fb;
  --jm-surface: #ffffff;
  --jm-ink: #0f172a;
  --jm-ink-2: #334155;
  --jm-muted: #64748b;
  --jm-line: #e6eaf2;
  --jm-line-2: #eef1f7;

  --jm-grad-brand: linear-gradient(135deg, #0f2a6b 0%, #2563eb 55%, #06b6d4 100%);
  --jm-grad-accent: linear-gradient(135deg, #ff8a00 0%, #ff5e3a 100%);
  --jm-grad-violet: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  --jm-grad-success: linear-gradient(135deg, #10b981 0%, #14b8a6 100%);
  --jm-grad-danger: linear-gradient(135deg, #f43f5e 0%, #e11d48 100%);
  --jm-grad-info: linear-gradient(135deg, #06b6d4 0%, #3b82f6 100%);
  --jm-grad-warning: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);

  --jm-radius: 16px;
  --jm-radius-sm: 10px;
  --jm-shadow-sm: 0 1px 2px rgba(15, 23, 42, .04), 0 1px 3px rgba(15, 23, 42, .06);
  --jm-shadow: 0 4px 6px -2px rgba(15, 23, 42, .04), 0 10px 24px -6px rgba(15, 23, 42, .10);
  --jm-shadow-lg: 0 20px 45px -12px rgba(15, 42, 107, .28);
  --jm-ease: cubic-bezier(.22, 1, .36, 1);
  --jm-font: "Plus Jakarta Sans", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

@media screen {

/* ---------- Base ---------- */
html.tw-bg-white, body.jm-theme { background: var(--jm-bg) !important; }
body.jm-theme, body.jm-theme .tw-font-sans,
body.jm-theme input, body.jm-theme select, body.jm-theme textarea, body.jm-theme button {
  font-family: var(--jm-font) !important;
}
body.jm-theme { color: var(--jm-ink); -webkit-font-smoothing: antialiased; }
body.jm-theme main,
body.jm-theme main.tw-bg-gray-100,
body.jm-theme #scrollable-container {
  background:
    radial-gradient(1200px 500px at 110% -10%, rgba(37, 99, 235, .07), transparent 60%),
    radial-gradient(900px 400px at -10% 110%, rgba(255, 138, 0, .06), transparent 60%),
    var(--jm-bg) !important;
}
body.jm-theme ::selection { background: rgba(255, 138, 0, .25); }
body.jm-theme a { transition: color .2s var(--jm-ease); }

/* Fine scrollbars for inner panels */
body.jm-theme #scrollable-container::-webkit-scrollbar,
body.jm-theme .jm-sidebar ::-webkit-scrollbar,
body.jm-theme .table-responsive::-webkit-scrollbar,
body.jm-theme .dataTables_scrollBody::-webkit-scrollbar { width: 8px; height: 8px; }
body.jm-theme #scrollable-container::-webkit-scrollbar-thumb,
body.jm-theme .table-responsive::-webkit-scrollbar-thumb,
body.jm-theme .dataTables_scrollBody::-webkit-scrollbar-thumb { background: #c7d0e0; border-radius: 8px; }
body.jm-theme .jm-sidebar ::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, .15); border-radius: 8px; }
body.jm-theme .jm-sidebar ::-webkit-scrollbar-track { background: transparent; }

/* ==========================================================================
   SIDEBAR
   ========================================================================== */
body.jm-theme aside.jm-sidebar {
  width: 268px !important;
  background:
    radial-gradient(420px 260px at 0% 0%, rgba(37, 99, 235, .35), transparent 70%),
    radial-gradient(380px 300px at 100% 100%, rgba(255, 138, 0, .16), transparent 70%),
    linear-gradient(180deg, var(--jm-navy-950) 0%, var(--jm-navy-900) 45%, #0d2459 100%) !important;
  border-right: 0 !important;
  box-shadow: 6px 0 30px rgba(6, 15, 43, .18) !important;
  color: #cbd5e1;
  position: relative;
  z-index: 30;
  height: 100vh !important; max-height: 100vh; position: sticky; top: 0;
}
.jm-sidebar #jmara_menu_wrapper { min-height: 0; }
.jm-sidebar .jm-brand {
  display: flex; align-items: center; gap: 12px;
  padding: 18px 18px 16px; text-decoration: none !important;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}
.jm-sidebar .jm-brand-logo {
  width: 42px; height: 42px; border-radius: 12px; background: #fff;
  display: grid; place-items: center; flex-shrink: 0; overflow: hidden;
  box-shadow: 0 6px 18px rgba(255, 138, 0, .35), 0 0 0 2px rgba(255, 255, 255, .08);
}
.jm-sidebar .jm-brand-logo img { width: 100%; height: 100%; object-fit: contain; }
.jm-sidebar .jm-brand-name {
  font-weight: 800; font-size: 1.15rem; letter-spacing: .2px; line-height: 1.1;
  background: linear-gradient(90deg, #fff 0%, #ffd29a 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.jm-sidebar .jm-brand-sub { font-size: .66rem; letter-spacing: 1.8px; color: rgba(255, 255, 255, .5); font-weight: 600; text-transform: uppercase; }
.jm-sidebar .jm-online { margin-left: auto; width: 9px; height: 9px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 0 0 rgba(34, 197, 94, .6); animation: jm-pulse 2.2s infinite; }

.jm-sidebar .jm-search { padding: 14px 14px 8px; position: relative; }
.jm-sidebar .jm-search input {
  width: 100%; box-sizing: border-box; height: 38px;
  background: rgba(255, 255, 255, .06) !important; color: #fff !important;
  border: 1px solid rgba(255, 255, 255, .08) !important; border-radius: 11px !important;
  padding: 0 52px 0 36px !important; font-size: .8rem !important; outline: none;
  transition: all .25s var(--jm-ease);
}
.jm-sidebar .jm-search input::placeholder { color: rgba(255, 255, 255, .42); }
.jm-sidebar .jm-search input:focus { background: rgba(255, 255, 255, .1) !important; border-color: rgba(255, 138, 0, .6) !important; box-shadow: 0 0 0 4px rgba(255, 138, 0, .12); }
.jm-sidebar .jm-search svg { position: absolute; left: 26px; top: 50%; margin-top: -1px; transform: translateY(-50%); color: rgba(255, 255, 255, .45); width: 16px; height: 16px; }
.jm-sidebar .jm-search kbd {
  position: absolute; right: 22px; top: 50%; margin-top: 3px; transform: translateY(-50%);
  font: 600 .62rem/1 var(--jm-font); color: rgba(255, 255, 255, .5);
  background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .1);
  padding: 4px 6px; border-radius: 6px; box-shadow: none;
}

.jm-sidebar #jmara_menu_wrapper { overflow-y: auto; flex: 1; padding-bottom: 12px; }
.jm-sidebar #side-bar { border: 0 !important; padding: 6px 12px !important; background: transparent !important; }
.jm-sidebar #side-bar > * + * { margin-top: 3px !important; }

/* top-level links */
.jm-sidebar #side-bar > a,
.jm-sidebar #side-bar > div > a.drop_down {
  color: rgba(226, 232, 240, .78) !important; background: transparent !important;
  border-radius: 11px !important; padding: 9px 12px !important; font-weight: 600 !important;
  font-size: .84rem !important; position: relative;
  transition: background .25s var(--jm-ease), color .2s, transform .25s var(--jm-ease) !important;
}
.jm-sidebar #side-bar > a svg,
.jm-sidebar #side-bar > div > a.drop_down > svg:first-child,
.jm-sidebar #side-bar > a i,
.jm-sidebar #side-bar > div > a.drop_down > i {
  color: rgba(148, 163, 184, .95); transition: color .2s, transform .35s var(--jm-ease);
}
.jm-sidebar #side-bar > a:hover,
.jm-sidebar #side-bar > div > a.drop_down:hover,
.jm-sidebar #side-bar > div > a.drop_down:focus {
  background: rgba(255, 255, 255, .07) !important; color: #fff !important; transform: translateX(3px);
}
.jm-sidebar #side-bar > a:hover svg,
.jm-sidebar #side-bar > div > a.drop_down:hover > svg:first-child { color: #ffb15c; transform: scale(1.1); }
.jm-sidebar #side-bar .svg.tw-ml-auto { color: rgba(148, 163, 184, .7) !important; }

/* active top-level */
.jm-sidebar #side-bar > a.tw-bg-gray-200 {
  background: var(--jm-grad-accent) !important; color: #fff !important;
  box-shadow: 0 8px 22px -6px rgba(255, 94, 58, .65);
}
.jm-sidebar #side-bar > a.tw-bg-gray-200 svg { color: #fff !important; }

/* group with active child */
.jm-sidebar #side-bar > div.tw-bg-gray-200 {
  background: rgba(255, 255, 255, .05) !important; border-radius: 14px !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .06);
}
.jm-sidebar #side-bar > div.tw-bg-gray-200 > a.drop_down {
  color: #fff !important; background: rgba(37, 99, 235, .28) !important;
}
.jm-sidebar #side-bar > div.tw-bg-gray-200 > a.drop_down > svg:first-child { color: #ffb15c !important; }

/* children */
.jm-sidebar .chiled { padding-left: 40px !important; margin-top: 6px !important; margin-bottom: 8px !important; }
.jm-sidebar .chiled > .tw-absolute { background: linear-gradient(180deg, rgba(255, 138, 0, .55), rgba(37, 99, 235, .25)) !important; left: 22px !important; }
.jm-sidebar .chiled .tw-space-y-3\.5 > * + * { margin-top: 2px !important; }
.jm-sidebar .chiled a {
  color: rgba(203, 213, 225, .72) !important; font-size: .8rem !important; font-weight: 500 !important;
  padding: 6px 10px !important; border-radius: 8px; position: relative;
  transition: all .2s var(--jm-ease) !important;
}
.jm-sidebar .chiled a:hover { color: #fff !important; background: rgba(255, 255, 255, .06); padding-left: 14px !important; }
.jm-sidebar .chiled a.tw-text-primary-700 { color: #fff !important; background: linear-gradient(90deg, rgba(255, 138, 0, .28), rgba(255, 138, 0, .04)); font-weight: 700 !important; }
.jm-sidebar .chiled a.tw-text-primary-700::before {
  content: ""; position: absolute; left: -21px; top: 50%; width: 9px; height: 9px; margin-top: -4.5px;
  border-radius: 50%; background: var(--jm-orange); box-shadow: 0 0 0 4px rgba(255, 138, 0, .22), 0 0 12px rgba(255, 138, 0, .8);
}
.jm-sidebar .tw-text-xs.tw-uppercase { color: rgba(148, 163, 184, .6) !important; font-size: .62rem !important; letter-spacing: 1.6px !important; padding-top: 14px !important; }

/* sidebar user card */
.jm-sidebar .jm-side-foot {
  margin: 8px 12px 14px; padding: 12px; border-radius: 14px;
  background: linear-gradient(135deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .03));
  border: 1px solid rgba(255, 255, 255, .08); display: flex; align-items: center; gap: 10px;
}
.jm-sidebar .jm-avatar {
  width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center;
  background: var(--jm-grad-accent); color: #fff; font-weight: 800; font-size: .85rem; flex-shrink: 0;
}
.jm-sidebar .jm-side-foot .jm-u-name { color: #fff; font-weight: 700; font-size: .8rem; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.jm-sidebar .jm-side-foot .jm-u-role { color: rgba(255, 255, 255, .5); font-size: .68rem; }
.jm-sidebar .jm-side-foot a.jm-logout { margin-left: auto; color: rgba(255, 255, 255, .55); padding: 6px; border-radius: 8px; display: grid; place-items: center; }
.jm-sidebar .jm-side-foot a.jm-logout:hover { color: #fff; background: rgba(244, 63, 94, .5); }

/* mobile drawer */
body.jm-theme .side-bar.small-view-side-active { height: 100vh; position: fixed !important; top: 0; left: 0; animation: jm-slide-in .35s var(--jm-ease); }
body.jm-theme .overlay { background: rgba(6, 15, 43, .55) !important; backdrop-filter: blur(4px); }

/* ==========================================================================
   TOPBAR
   ========================================================================== */
body.jm-theme .jm-topbar {
  background: rgba(255, 255, 255, .78) !important;
  backdrop-filter: saturate(180%) blur(14px); -webkit-backdrop-filter: saturate(180%) blur(14px);
  border-bottom: 1px solid var(--jm-line) !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .6), 0 6px 20px -12px rgba(15, 42, 107, .25);
  position: relative; z-index: 25;
}
body.jm-theme .jm-topbar::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px;
  background: linear-gradient(90deg, var(--jm-navy-800), var(--jm-blue), var(--jm-cyan), var(--jm-orange), var(--jm-orange-2));
  background-size: 300% 100%; animation: jm-flow 12s linear infinite; opacity: .85;
}
body.jm-theme .jm-topbar button,
body.jm-theme .jm-topbar summary,
body.jm-theme .jm-topbar a.tw-inline-flex,
body.jm-theme .jm-topbar .tw-inline-flex.tw-text-white,
body.jm-theme .jm-topbar > div > div > div > .tw-flex > *:not(details):not(form) {
  background: #fff !important; color: var(--jm-ink-2) !important;
  border: 1px solid var(--jm-line) !important; box-shadow: var(--jm-shadow-sm) !important;
  --tw-ring-color: transparent !important; border-radius: 11px !important;
  transition: all .25s var(--jm-ease) !important;
}
body.jm-theme .jm-topbar button:hover,
body.jm-theme .jm-topbar summary:hover,
body.jm-theme .jm-topbar a.tw-inline-flex:hover {
  color: var(--jm-navy-800) !important; border-color: rgba(37, 99, 235, .35) !important;
  transform: translateY(-1px); box-shadow: 0 8px 18px -8px rgba(37, 99, 235, .45) !important;
}
body.jm-theme .jm-topbar svg { color: currentColor; }
/* POS button = accent */
body.jm-theme .jm-topbar a[href*="/pos/create"] {
  background: var(--jm-grad-accent) !important; color: #fff !important; border-color: transparent !important;
  box-shadow: 0 8px 20px -8px rgba(255, 94, 58, .8) !important;
}
body.jm-theme .jm-topbar a[href*="/pos/create"]:hover { color: #fff !important; filter: brightness(1.05); }
body.jm-theme .jm-topbar .tw-text-white { color: var(--jm-ink-2) !important; }
body.jm-theme .jm-topbar details > ul,
body.jm-theme .jm-topbar .tw-dw-dropdown-content {
  border-radius: 14px !important; border: 1px solid var(--jm-line) !important;
  box-shadow: var(--jm-shadow-lg) !important; animation: jm-pop .22s var(--jm-ease);
  color: var(--jm-ink-2);
}
body.jm-theme .jm-topbar .tw-dw-dropdown-content a { color: var(--jm-ink-2) !important; }
body.jm-theme .jm-topbar .tw-dw-dropdown-content a:hover { background: #f1f5ff !important; color: var(--jm-navy-800) !important; }

/* ==========================================================================
   PAGE HEADERS & CONTENT
   ========================================================================== */
body.jm-theme .content-header { padding: 22px 24px 6px !important; animation: jm-rise .5s var(--jm-ease) both; }
body.jm-theme .content-header h1 {
  font-weight: 800 !important; letter-spacing: -.02em; color: var(--jm-navy-900) !important;
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
}
body.jm-theme .content-header h1::before {
  content: ""; width: 6px; height: 1.1em; border-radius: 6px; background: var(--jm-grad-accent);
  box-shadow: 0 4px 12px rgba(255, 94, 58, .45); flex-shrink: 0;
}
body.jm-theme .content-header h1 small { color: var(--jm-muted) !important; font-weight: 500; font-size: .9rem; }
body.jm-theme section.content { padding: 14px 24px 26px !important; }
body.jm-theme section.content > * { animation: jm-rise .55s var(--jm-ease) both; }
body.jm-theme section.content > *:nth-child(2) { animation-delay: .06s; }
body.jm-theme section.content > *:nth-child(3) { animation-delay: .12s; }
body.jm-theme section.content > *:nth-child(4) { animation-delay: .18s; }

/* Cards (tailwind widgets + AdminLTE boxes) */
body.jm-theme section.content .tw-bg-white.tw-rounded-xl,
body.jm-theme section.content .tw-bg-white.tw-shadow-sm,
body.jm-theme .box,
body.jm-theme .nav-tabs-custom,
body.jm-theme .panel {
  background: var(--jm-surface) !important;
  border: 1px solid var(--jm-line) !important; border-radius: var(--jm-radius) !important;
  box-shadow: var(--jm-shadow) !important; --tw-ring-color: transparent !important;
  transition: box-shadow .35s var(--jm-ease), transform .35s var(--jm-ease), border-color .35s;
}
body.jm-theme section.content .tw-bg-white.tw-rounded-xl:hover,
body.jm-theme .box:hover { box-shadow: 0 14px 34px -14px rgba(15, 42, 107, .22) !important; border-color: #dbe2ee !important; }
body.jm-theme .box { border-top: 1px solid var(--jm-line) !important; }
body.jm-theme .box-header { padding: 16px 20px !important; }
/* AdminLTE colored boxes keep a colored background */
body.jm-theme .box.bg-orange, body.jm-theme .box.bg-yellow { background: linear-gradient(135deg, #ff8a00, #ff5e3a) !important; color: #fff !important; border-color: transparent !important; }
body.jm-theme .box.bg-green { background: var(--jm-grad-success) !important; color: #fff !important; border-color: transparent !important; }
body.jm-theme .box.bg-red { background: var(--jm-grad-danger) !important; color: #fff !important; border-color: transparent !important; }
body.jm-theme .box.bg-aqua, body.jm-theme .box.bg-blue, body.jm-theme .box.bg-light-blue { background: var(--jm-grad-info) !important; color: #fff !important; border-color: transparent !important; }
body.jm-theme .box.bg-navy, body.jm-theme .box.bg-primary { background: var(--jm-grad-brand) !important; color: #fff !important; border-color: transparent !important; }
body.jm-theme .box.bg-purple { background: var(--jm-grad-violet) !important; color: #fff !important; border-color: transparent !important; }
body.jm-theme .box.bg-lightgray, body.jm-theme .box.bg-gray { background: #f4f6fb !important; }
body.jm-theme .box[class*=" bg-"]:not(.bg-lightgray):not(.bg-gray) *:not(input):not(select):not(textarea):not(option):not(.btn):not(.btn *) { color: #fff !important; }

body.jm-theme .box-header.with-border { border-bottom: 1px solid var(--jm-line-2) !important; }
body.jm-theme .box-title, body.jm-theme .box-header h3 { font-weight: 700 !important; color: var(--jm-navy-900) !important; font-size: 1.05rem !important; }
body.jm-theme .box-header a[data-toggle="collapse"] { color: var(--jm-navy-800) !important; font-weight: 700; text-decoration: none; display: inline-flex; align-items: center; gap: 8px; }
body.jm-theme .box-header a[data-toggle="collapse"] .fa-filter {
  width: 30px; height: 30px; display: inline-grid; place-items: center; border-radius: 9px;
  background: var(--jm-grad-brand); color: #fff; font-size: .8rem; box-shadow: 0 6px 14px -6px rgba(37, 99, 235, .8);
}
body.jm-theme .box-body { padding: 18px 20px !important; }
body.jm-theme .box-footer { border-top: 1px solid var(--jm-line-2) !important; background: #fafbfe !important; border-radius: 0 0 var(--jm-radius) var(--jm-radius); }
body.jm-theme .box.box-primary, body.jm-theme .box.box-solid { border-top: 1px solid var(--jm-line) !important; }

/* ==========================================================================
   BUTTONS
   ========================================================================== */
body.jm-theme .btn, body.jm-theme .tw-dw-btn {
  border-radius: 10px !important; font-weight: 600 !important; letter-spacing: .1px;
  transition: transform .2s var(--jm-ease), box-shadow .25s var(--jm-ease), filter .2s, background .25s !important;
  position: relative; overflow: hidden;
}
body.jm-theme .btn:not(.btn-xs):not(.btn-sm):not(.dropdown-toggle):not(.btn-link) { padding-left: 16px; padding-right: 16px; }
body.jm-theme .btn:hover, body.jm-theme .tw-dw-btn:hover { transform: translateY(-1px); }
body.jm-theme .btn:active, body.jm-theme .tw-dw-btn:active { transform: translateY(0) scale(.98); }
body.jm-theme .btn:focus { outline: none !important; box-shadow: 0 0 0 4px rgba(37, 99, 235, .18) !important; }

body.jm-theme .btn-primary, body.jm-theme .tw-dw-btn-primary, body.jm-theme .bg-primary.btn {
  background: var(--jm-grad-brand) !important; background-size: 160% 160% !important;
  border: 0 !important; color: #fff !important; box-shadow: 0 8px 20px -10px rgba(37, 99, 235, .9) !important;
}
body.jm-theme .btn-primary:hover, body.jm-theme .tw-dw-btn-primary:hover { background-position: 100% 0 !important; box-shadow: 0 12px 26px -10px rgba(37, 99, 235, .95) !important; }
body.jm-theme .btn-success, body.jm-theme .tw-dw-btn-success { background: var(--jm-grad-success) !important; border: 0 !important; color: #fff !important; box-shadow: 0 8px 20px -10px rgba(16, 185, 129, .9) !important; }
body.jm-theme .btn-danger, body.jm-theme .tw-dw-btn-error { background: var(--jm-grad-danger) !important; border: 0 !important; color: #fff !important; box-shadow: 0 8px 20px -10px rgba(244, 63, 94, .9) !important; }
body.jm-theme .btn-warning, body.jm-theme .tw-dw-btn-warning { background: var(--jm-grad-warning) !important; border: 0 !important; color: #fff !important; box-shadow: 0 8px 20px -10px rgba(249, 115, 22, .9) !important; }
body.jm-theme .btn-info, body.jm-theme .tw-dw-btn-info { background: var(--jm-grad-info) !important; border: 0 !important; color: #fff !important; box-shadow: 0 8px 20px -10px rgba(6, 182, 212, .9) !important; }
body.jm-theme .btn-default {
  background: #fff !important; border: 1px solid #dfe5ef !important; color: var(--jm-ink-2) !important; box-shadow: var(--jm-shadow-sm) !important;
}
body.jm-theme .btn-default:hover { border-color: rgba(37, 99, 235, .4) !important; color: var(--jm-navy-800) !important; }

/* Big "Ajouter" buttons (tw-dw-btn bg-gradient) */
body.jm-theme .tw-dw-btn.tw-bg-gradient-to-r,
body.jm-theme a.tw-dw-btn.tw-bg-gradient-to-r {
  background: var(--jm-grad-accent) !important; border: 0 !important; color: #fff !important;
  box-shadow: 0 10px 24px -10px rgba(255, 94, 58, .9) !important; border-radius: 12px !important;
}
body.jm-theme .tw-dw-btn.tw-bg-gradient-to-r:hover { box-shadow: 0 14px 30px -10px rgba(255, 94, 58, 1) !important; filter: saturate(1.15); }

/* "Actions" dropdown buttons in tables */
body.jm-theme .tw-dw-btn-outline, body.jm-theme .btn-xs.dropdown-toggle, body.jm-theme .btn-info.btn-xs.dropdown-toggle {
  background: #eef4ff !important; color: var(--jm-navy-700) !important; border: 1px solid #d6e3ff !important;
  box-shadow: none !important; border-radius: 8px !important;
}
body.jm-theme .tw-dw-btn-outline:hover, body.jm-theme .btn-xs.dropdown-toggle:hover { background: var(--jm-navy-800) !important; color: #fff !important; border-color: transparent !important; }

/* Ripple */
.jm-ripple { position: absolute; border-radius: 50%; transform: scale(0); background: rgba(255, 255, 255, .45); animation: jm-ripple .6s linear; pointer-events: none; }

/* DataTables export buttons */
body.jm-theme .dt-buttons { display: inline-flex !important; flex-wrap: wrap; gap: 6px; }
body.jm-theme .dt-buttons .tw-dw-btn, body.jm-theme .dt-buttons a, body.jm-theme .dt-buttons button {
  background: #fff !important; border: 1px solid #dfe5ef !important; color: var(--jm-ink-2) !important;
  border-radius: 9px !important; font-size: .74rem !important; padding: 6px 11px !important; height: auto !important; min-height: 0 !important;
  box-shadow: var(--jm-shadow-sm) !important; margin: 0 !important; width: auto !important;
}
body.jm-theme .dt-buttons .tw-dw-btn:hover, body.jm-theme .dt-buttons a:hover, body.jm-theme .dt-buttons button:hover {
  background: var(--jm-navy-800) !important; color: #fff !important; border-color: transparent !important;
}

/* ==========================================================================
   FORMS
   ========================================================================== */
body.jm-theme .form-control,
body.jm-theme .select2-container--default .select2-selection--single,
body.jm-theme .select2-container--default .select2-selection--multiple,
body.jm-theme .input-group-addon {
  border: 1px solid #dbe2ee !important; border-radius: 10px !important; background-color: #fff;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, .03);
  transition: border-color .2s, box-shadow .25s var(--jm-ease), background .2s !important;
}
body.jm-theme .form-control, body.jm-theme .select2-container--default .select2-selection--single { min-height: 38px; }
body.jm-theme .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 36px !important; }
body.jm-theme .select2-container--default .select2-selection--single .select2-selection__arrow { height: 36px !important; }
body.jm-theme .form-control:hover { border-color: #c3cde0 !important; }
body.jm-theme .form-control:focus,
body.jm-theme .select2-container--focus .select2-selection,
body.jm-theme .select2-container--open .select2-selection {
  border-color: var(--jm-blue) !important; box-shadow: 0 0 0 4px rgba(37, 99, 235, .14) !important; outline: none;
}
body.jm-theme .input-group .form-control:not(:first-child),
body.jm-theme .input-group .select2-container:not(:first-child) .select2-selection { border-top-left-radius: 0 !important; border-bottom-left-radius: 0 !important; }
body.jm-theme .input-group .form-control:not(:last-child) { border-top-right-radius: 0 !important; border-bottom-right-radius: 0 !important; }
body.jm-theme .input-group-addon:first-child { border-top-right-radius: 0 !important; border-bottom-right-radius: 0 !important; border-right: 0 !important; background: #f6f8fc !important; color: var(--jm-muted); }
body.jm-theme .input-group-addon:last-child { border-top-left-radius: 0 !important; border-bottom-left-radius: 0 !important; border-left: 0 !important; background: #f6f8fc !important; }
body.jm-theme label, body.jm-theme .control-label { font-weight: 600 !important; color: var(--jm-ink-2); font-size: .82rem; }
body.jm-theme .select2-dropdown { border: 1px solid var(--jm-line) !important; border-radius: 12px !important; box-shadow: var(--jm-shadow-lg) !important; overflow: hidden; animation: jm-pop .18s var(--jm-ease); }
body.jm-theme .select2-results__option--highlighted[aria-selected] { background: var(--jm-grad-brand) !important; color: #fff !important; }
body.jm-theme .select2-search__field { border-radius: 8px !important; border: 1px solid #dbe2ee !important; }
body.jm-theme .select2-container--default .select2-selection--multiple .select2-selection__choice {
  background: #eef4ff !important; border: 1px solid #d6e3ff !important; color: var(--jm-navy-800) !important; border-radius: 7px !important;
}
body.jm-theme input[type="checkbox"], body.jm-theme input[type="radio"] { accent-color: var(--jm-orange); }

/* ==========================================================================
   TABLES
   ========================================================================== */
body.jm-theme .table { border-collapse: separate !important; border-spacing: 0; }
body.jm-theme .table > thead > tr > th,
body.jm-theme table.dataTable thead th {
  background: linear-gradient(180deg, #f7f9fd, #eef2fa) !important; color: var(--jm-navy-900) !important;
  font-size: .72rem !important; text-transform: uppercase; letter-spacing: .6px; font-weight: 700 !important;
  border-bottom: 1px solid #dfe5f0 !important; border-top: 0 !important; padding-top: 13px !important; padding-bottom: 13px !important;
  white-space: nowrap;
}
body.jm-theme .table > thead > tr > th:first-child { border-top-left-radius: 12px; }
body.jm-theme .table > thead > tr > th:last-child { border-top-right-radius: 12px; }
body.jm-theme .table-bordered, body.jm-theme .table-bordered > thead > tr > th, body.jm-theme .table-bordered > tbody > tr > td, body.jm-theme .table-bordered > tfoot > tr > td {
  border-color: var(--jm-line-2) !important;
}
body.jm-theme .table-bordered { border-radius: 12px; overflow: hidden; border: 1px solid var(--jm-line) !important; }
body.jm-theme .table > tbody > tr > td { border-top: 1px solid var(--jm-line-2) !important; vertical-align: middle !important; color: var(--jm-ink-2); font-size: .84rem; padding-top: 11px !important; padding-bottom: 11px !important; }
body.jm-theme .table-striped > tbody > tr:nth-of-type(odd) { background: #fafbfe !important; }
body.jm-theme .table > tbody > tr { transition: background .18s, box-shadow .18s; }
body.jm-theme .table-hover > tbody > tr:hover,
body.jm-theme table.dataTable > tbody > tr:hover {
  background: #f1f6ff !important; box-shadow: inset 3px 0 0 var(--jm-orange);
}
body.jm-theme .table > tfoot > tr > td, body.jm-theme .table > tfoot > tr > th { background: #f6f8fc !important; font-weight: 700; color: var(--jm-navy-900); }
body.jm-theme tr.footer-total, body.jm-theme .footer-total { background: linear-gradient(90deg, #eef4ff, #fff5eb) !important; }

/* DataTables scroll: hidden sizing header must stay flat */
body.jm-theme .dataTables_scrollBody .table > thead > tr > th, body.jm-theme .dataTables_scrollBody .table > thead > tr > td,
body.jm-theme .dataTables_scrollBody .table > tfoot > tr > th, body.jm-theme .dataTables_scrollBody .table > tfoot > tr > td,
body.jm-theme .dataTables_scrollBody .table > thead > tr, body.jm-theme .dataTables_scrollBody .table > tfoot > tr,
body.jm-theme .dataTables_scrollHead .table > tbody > tr > td, body.jm-theme .dataTables_scrollFoot .table > tbody > tr > td {
  padding-top: 0 !important; padding-bottom: 0 !important; height: 0 !important; border: 0 !important; background: transparent !important;
}
body.jm-theme .dataTables_scrollHead { border-radius: 12px 12px 0 0; }

/* DataTables toolbar row: clean flex layout */
body.jm-theme .dataTables_wrapper > .row:first-child {
  display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin: 0 0 14px !important;
}
body.jm-theme .dataTables_wrapper > .row:first-child::before,
body.jm-theme .dataTables_wrapper > .row:first-child::after { display: none; }
body.jm-theme .dataTables_wrapper > .row:first-child > [class*="col-"] { float: none; width: auto; padding: 0; min-height: 0; }
body.jm-theme .dataTables_wrapper > .row:first-child > .col-sm-8 { flex: 0 1 auto; text-align: left; }
body.jm-theme .dataTables_wrapper > .row:first-child > .col-sm-3 { margin-left: auto; }
body.jm-theme .dataTables_wrapper .dataTables_length label { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; margin: 0; color: var(--jm-muted); font-weight: 600 !important; }
body.jm-theme .dataTables_wrapper .dataTables_filter label { margin: 0; }

/* DataTables controls */
body.jm-theme .dataTables_wrapper .dataTables_filter input {
  border: 1px solid #dbe2ee !important; border-radius: 11px !important; padding: 7px 12px 7px 34px !important; height: 38px;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3'/%3E%3C/svg%3E") no-repeat 11px center !important;
  transition: all .25s var(--jm-ease); min-width: 220px;
}
body.jm-theme .dataTables_wrapper .dataTables_filter input:focus { border-color: var(--jm-blue) !important; box-shadow: 0 0 0 4px rgba(37, 99, 235, .14) !important; min-width: 280px; }
body.jm-theme .dataTables_wrapper .dataTables_length select { border-radius: 9px !important; border: 1px solid #dbe2ee !important; }
body.jm-theme .dataTables_wrapper .dataTables_info { color: var(--jm-muted) !important; font-size: .8rem; }
body.jm-theme .pagination > li > a, body.jm-theme .pagination > li > span {
  border: 0 !important; margin: 0 2px; border-radius: 9px !important; color: var(--jm-ink-2) !important; background: transparent !important; font-weight: 600; min-width: 34px; text-align: center;
}
body.jm-theme .pagination > li > a:hover { background: #eef4ff !important; color: var(--jm-navy-800) !important; }
body.jm-theme .pagination > .active > a, body.jm-theme .pagination > .active > span, body.jm-theme .pagination > .active > a:hover {
  background: var(--jm-grad-brand) !important; color: #fff !important; box-shadow: 0 6px 14px -6px rgba(37, 99, 235, .9);
}
body.jm-theme div.dataTables_processing {
  border: 0 !important; border-radius: 14px !important; box-shadow: var(--jm-shadow-lg) !important; background: rgba(255, 255, 255, .95) !important;
  color: var(--jm-navy-800) !important; font-weight: 700;
}

/* ==========================================================================
   BADGES / LABELS
   ========================================================================== */
body.jm-theme .label, body.jm-theme .badge, body.jm-theme .bg-green, body.jm-theme .bg-yellow, body.jm-theme .bg-red {
  border-radius: 999px !important; font-weight: 700 !important; letter-spacing: .2px; padding: 4px 10px !important; font-size: .7rem !important;
}
body.jm-theme .label-success, body.jm-theme .bg-green.label, body.jm-theme span.bg-green { background: #dcfce7 !important; color: #047857 !important; box-shadow: inset 0 0 0 1px #a7f3d0; }
body.jm-theme .label-warning, body.jm-theme .bg-yellow.label, body.jm-theme span.bg-yellow { background: #fff4e0 !important; color: #c2410c !important; box-shadow: inset 0 0 0 1px #fed7aa; }
body.jm-theme .label-danger, body.jm-theme .bg-red.label, body.jm-theme span.bg-red { background: #ffe4e8 !important; color: #be123c !important; box-shadow: inset 0 0 0 1px #fecdd3; }
body.jm-theme .label-info, body.jm-theme span.bg-aqua, body.jm-theme span.bg-info { background: #e0f7fb !important; color: #0e7490 !important; box-shadow: inset 0 0 0 1px #a5f3fc; }
body.jm-theme .label-primary { background: #e6eeff !important; color: #1d4ed8 !important; box-shadow: inset 0 0 0 1px #c7d7fe; }
body.jm-theme .label-default { background: #f1f5f9 !important; color: #475569 !important; }
body.jm-theme .payment-status-label .label::before,
body.jm-theme .label-success::before, body.jm-theme .label-warning::before, body.jm-theme .label-danger::before {
  content: ""; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: currentColor; margin-right: 6px; vertical-align: middle; position: relative; top: -1px;
}

/* ==========================================================================
   DROPDOWNS / MODALS / ALERTS / TABS
   ========================================================================== */
body.jm-theme .dropdown-menu {
  border: 1px solid var(--jm-line) !important; border-radius: 13px !important; box-shadow: var(--jm-shadow-lg) !important;
  padding: 6px !important; animation: jm-pop .18s var(--jm-ease);
}
body.jm-theme .dropdown-menu > li > a { border-radius: 8px; padding: 7px 12px !important; color: var(--jm-ink-2) !important; font-weight: 500; transition: all .15s; }
body.jm-theme .dropdown-menu > li > a:hover { background: #eef4ff !important; color: var(--jm-navy-800) !important; padding-left: 16px !important; }
body.jm-theme .dropdown-menu > li > a > i { width: 18px; color: var(--jm-blue); }

body.jm-theme .modal-backdrop.in { opacity: .45 !important; background: var(--jm-navy-950) !important; }
body.jm-theme .modal.in { backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); }
body.jm-theme .modal-content { border: 0 !important; border-radius: 20px !important; box-shadow: 0 30px 70px -20px rgba(6, 15, 43, .55) !important; overflow: hidden; }
body.jm-theme .modal.fade .modal-dialog { transform: translateY(24px) scale(.97); transition: transform .35s var(--jm-ease), opacity .3s; }
body.jm-theme .modal.in .modal-dialog { transform: none; }
body.jm-theme .modal-header {
  background: var(--jm-grad-brand); color: #fff; border-bottom: 0 !important; padding: 16px 22px !important;
}
body.jm-theme .modal-header .modal-title, body.jm-theme .modal-header h4 { color: #fff !important; font-weight: 700 !important; }
body.jm-theme .modal-header .close { color: #fff !important; opacity: .8; text-shadow: none; font-size: 26px; }
body.jm-theme .modal-header .close:hover { opacity: 1; transform: rotate(90deg); transition: transform .3s; }
body.jm-theme .modal-body { padding: 20px 22px !important; }
body.jm-theme .modal-footer { border-top: 1px solid var(--jm-line-2) !important; background: #fafbfe; padding: 14px 22px !important; }

body.jm-theme .alert { border: 0 !important; border-radius: 13px !important; box-shadow: var(--jm-shadow-sm); border-left: 4px solid currentColor !important; }
body.jm-theme .alert-success { background: #ecfdf5 !important; color: #047857 !important; }
body.jm-theme .alert-danger { background: #fff1f2 !important; color: #be123c !important; }
body.jm-theme .alert-warning { background: #fff7ed !important; color: #c2410c !important; }
body.jm-theme .alert-info { background: #ecfeff !important; color: #0e7490 !important; }

body.jm-theme .nav-tabs-custom > .nav-tabs { border-bottom: 1px solid var(--jm-line) !important; padding: 6px 8px 0; }
body.jm-theme .nav-tabs-custom > .nav-tabs > li { border-top: 0 !important; margin-right: 4px; }
body.jm-theme .nav-tabs-custom > .nav-tabs > li > a { color: var(--jm-muted) !important; font-weight: 600; border-radius: 10px 10px 0 0 !important; }
body.jm-theme .nav-tabs-custom > .nav-tabs > li.active > a { color: var(--jm-navy-800) !important; box-shadow: inset 0 -3px 0 var(--jm-orange); background: transparent !important; }
body.jm-theme .nav-pills > li.active > a { background: var(--jm-grad-brand) !important; border-radius: 10px; }

/* Toastr */
body.jm-theme #toast-container > div { border-radius: 14px !important; box-shadow: var(--jm-shadow-lg) !important; opacity: 1 !important; backdrop-filter: blur(6px); }
body.jm-theme #toast-container > .toast-success { background-color: #059669 !important; }
body.jm-theme #toast-container > .toast-error { background-color: #e11d48 !important; }
body.jm-theme #toast-container > .toast-warning { background-color: #ea580c !important; }
body.jm-theme #toast-container > .toast-info { background-color: #0891b2 !important; }

/* SweetAlert */
body.jm-theme .swal-modal { border-radius: 20px !important; box-shadow: 0 30px 70px -20px rgba(6, 15, 43, .55); }
body.jm-theme .swal-button { border-radius: 10px !important; font-weight: 700 !important; padding: 10px 22px !important; }
body.jm-theme .swal-button--confirm { background: var(--jm-grad-brand) !important; }
body.jm-theme .swal-button--danger { background: var(--jm-grad-danger) !important; }

/* Daterangepicker */
body.jm-theme .daterangepicker { border-radius: 14px !important; border: 1px solid var(--jm-line) !important; box-shadow: var(--jm-shadow-lg) !important; font-family: var(--jm-font) !important; }
body.jm-theme .daterangepicker td.active, body.jm-theme .daterangepicker td.active:hover { background: var(--jm-blue) !important; border-radius: 8px !important; }
body.jm-theme .daterangepicker .ranges li.active { background: var(--jm-grad-brand) !important; border-radius: 8px; }

/* Footer */
body.jm-theme .main-footer, body.jm-theme footer { color: var(--jm-muted) !important; background: transparent !important; border-top: 0 !important; }

/* Scroll-to-top */
body.jm-theme .scrolltop .scroll { background: var(--jm-grad-accent) !important; border-radius: 12px !important; box-shadow: 0 10px 22px -8px rgba(255, 94, 58, .9); }

/* ==========================================================================
   DASHBOARD
   ========================================================================== */
body.jm-theme .jm-hero, body.jm-theme .jm-hero-band {
  background: linear-gradient(100deg, #0a1a3f 0%, #0f2a6b 40%, #1d4ed8 80%, #0891b2 100%) !important;
}
body.jm-theme .jm-hero { position: relative; overflow: hidden; }
body.jm-theme .jm-hero-2 { background: transparent !important; }
@media (max-width: 1279px) { body.jm-theme .jm-hero-2 { background: linear-gradient(100deg, #0a1a3f 0%, #0f2a6b 40%, #1d4ed8 80%, #0891b2 100%) !important; } }
body.jm-theme .jm-hero::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image: radial-gradient(rgba(255, 255, 255, .12) 1px, transparent 1px); background-size: 22px 22px;
  mask-image: linear-gradient(180deg, rgba(0, 0, 0, .9), transparent 85%); -webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, .9), transparent 85%);
}
body.jm-theme .jm-hero::after {
  content: ""; position: absolute; width: 380px; height: 380px; right: -120px; top: -180px; border-radius: 50%;
  background: conic-gradient(from 0deg, rgba(255, 138, 0, .0), rgba(255, 138, 0, .35), rgba(6, 182, 212, .3), rgba(255, 138, 0, 0));
  filter: blur(40px); animation: jm-spin 18s linear infinite; pointer-events: none;
}
body.jm-theme .jm-hero > * { position: relative; z-index: 1; }
body.jm-theme .jm-hero h1 { font-weight: 800 !important; letter-spacing: -.03em; animation: jm-rise .6s var(--jm-ease) both; }
body.jm-theme .jm-hero h1 .jm-wave { display: inline-block; animation: jm-wave 2.4s ease-in-out 1s 2; transform-origin: 70% 70%; }
body.jm-theme .jm-hero .jm-hero-sub { color: rgba(255, 255, 255, .7); font-size: .95rem; font-weight: 500; margin-top: 6px; }
body.jm-theme .jm-hero .jm-hero-sub b { color: #ffc27a; }
body.jm-theme .jm-hero #dashboard_date_filter, body.jm-theme .jm-hero .select2-selection {
  background: rgba(255, 255, 255, .12) !important; color: #fff !important; border: 1px solid rgba(255, 255, 255, .22) !important;
  backdrop-filter: blur(8px); border-radius: 11px !important;
}
body.jm-theme .jm-hero .select2-selection__rendered { color: #fff !important; }
body.jm-theme .jm-hero .select2-selection__arrow b { border-color: #fff transparent transparent transparent !important; }
body.jm-theme .jm-hero #dashboard_date_filter:hover { background: rgba(255, 255, 255, .22) !important; }

/* KPI cards */
body.jm-theme .jm-kpi {
  position: relative; overflow: hidden; border: 0 !important; border-radius: 18px !important;
  background: rgba(255, 255, 255, .97) !important;
  box-shadow: 0 10px 30px -12px rgba(6, 15, 43, .35) !important; --tw-ring-color: transparent !important;
  transition: transform .4s var(--jm-ease), box-shadow .4s var(--jm-ease) !important;
  animation: jm-rise .6s var(--jm-ease) both;
}
body.jm-theme .jm-kpi::before {
  content: ""; position: absolute; left: 0; top: 0; right: 0; height: 4px; background: var(--jm-kpi-grad, var(--jm-grad-brand));
}
body.jm-theme .jm-kpi::after {
  content: ""; position: absolute; right: -40px; bottom: -40px; width: 130px; height: 130px; border-radius: 50%;
  background: var(--jm-kpi-grad, var(--jm-grad-brand)); opacity: .08; transition: transform .6s var(--jm-ease), opacity .4s;
}
body.jm-theme .jm-kpi:hover { transform: translateY(-5px) !important; box-shadow: 0 22px 40px -14px rgba(6, 15, 43, .45) !important; }
body.jm-theme .jm-kpi:hover::after { transform: scale(1.5); opacity: .14; }
body.jm-theme .jm-kpi .tw-rounded-full {
  border-radius: 14px !important; background: var(--jm-kpi-grad, var(--jm-grad-brand)) !important; color: #fff !important;
  box-shadow: 0 10px 20px -8px var(--jm-kpi-shadow, rgba(37, 99, 235, .8)); width: 50px !important; height: 50px !important;
  transition: transform .5s var(--jm-ease);
}
body.jm-theme .jm-kpi:hover .tw-rounded-full { transform: rotate(-8deg) scale(1.08); }
body.jm-theme .jm-kpi .tw-text-sm.tw-text-gray-500 { color: var(--jm-muted) !important; font-weight: 600 !important; font-size: .78rem !important; text-transform: uppercase; letter-spacing: .5px; }
body.jm-theme .jm-kpi .tw-font-mono { font-family: var(--jm-font) !important; font-weight: 800 !important; font-size: 1.22rem !important; color: var(--jm-navy-900) !important; letter-spacing: -.02em; }
body.jm-theme .jm-kpi .tw-font-mono.jm-updated { animation: jm-flash 1s var(--jm-ease); }
body.jm-theme .jm-kpi.k1 { --jm-kpi-grad: linear-gradient(135deg, #2563eb, #06b6d4); --jm-kpi-shadow: rgba(37, 99, 235, .8); }
body.jm-theme .jm-kpi.k2 { --jm-kpi-grad: linear-gradient(135deg, #6366f1, #8b5cf6); --jm-kpi-shadow: rgba(99, 102, 241, .8); }
body.jm-theme .jm-kpi.k3 { --jm-kpi-grad: linear-gradient(135deg, #0ea5e9, #14b8a6); --jm-kpi-shadow: rgba(14, 165, 233, .8); }
body.jm-theme .jm-kpi.k4 { --jm-kpi-grad: linear-gradient(135deg, #10b981, #22c55e); --jm-kpi-shadow: rgba(16, 185, 129, .8); }
body.jm-theme .jm-kpi.k5 { --jm-kpi-grad: linear-gradient(135deg, #f59e0b, #f97316); --jm-kpi-shadow: rgba(245, 158, 11, .8); }
body.jm-theme .jm-kpi.k6 { --jm-kpi-grad: linear-gradient(135deg, #f43f5e, #ec4899); --jm-kpi-shadow: rgba(244, 63, 94, .8); }
body.jm-theme .jm-kpi.k7 { --jm-kpi-grad: linear-gradient(135deg, #0f2a6b, #2563eb); --jm-kpi-shadow: rgba(15, 42, 107, .8); }
body.jm-theme .jm-kpi.k8 { --jm-kpi-grad: linear-gradient(135deg, #ff8a00, #ff5e3a); --jm-kpi-shadow: rgba(255, 94, 58, .8); }
body.jm-theme .jm-kpi:nth-child(2) { animation-delay: .06s; }
body.jm-theme .jm-kpi:nth-child(3) { animation-delay: .12s; }
body.jm-theme .jm-kpi:nth-child(4) { animation-delay: .18s; }
body.jm-theme .jm-kpi:nth-child(5) { animation-delay: .24s; }

/* Dashboard chart widgets */
body.jm-theme #scrollable-container > .tw-px-5 .tw-bg-white.tw-rounded-xl,
body.jm-theme .jm-widget {
  border: 1px solid var(--jm-line) !important; border-radius: 18px !important; box-shadow: var(--jm-shadow) !important; --tw-ring-color: transparent !important;
}
body.jm-theme .jm-widget .tw-rounded-full.tw-ring-1, body.jm-theme .jm-widget-ic {
  background: var(--jm-grad-accent) !important; color: #fff !important; border: 0 !important; --tw-ring-color: transparent !important;
  box-shadow: 0 8px 18px -8px rgba(255, 94, 58, .9);
}

/* Quick actions bar (injected by JS on dashboard) */
.jm-quick { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.jm-quick a {
  display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 12px;
  background: rgba(255, 255, 255, .1); color: #fff !important; text-decoration: none !important;
  border: 1px solid rgba(255, 255, 255, .18); font-weight: 600; font-size: .82rem;
  backdrop-filter: blur(8px); transition: all .3s var(--jm-ease);
}
.jm-quick a:hover { background: #fff; color: var(--jm-navy-900) !important; transform: translateY(-2px); box-shadow: 0 12px 24px -10px rgba(0, 0, 0, .5); }
.jm-quick a i { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 8px; font-size: .78rem; color: #fff; }
.jm-quick a:nth-child(1) i { background: var(--jm-grad-accent); }
.jm-quick a:nth-child(2) i { background: var(--jm-grad-info); }
.jm-quick a:nth-child(3) i { background: var(--jm-grad-violet); }
.jm-quick a:nth-child(4) i { background: var(--jm-grad-success); }
.jm-quick a:nth-child(5) i { background: var(--jm-grad-warning); }
.jm-quick a:nth-child(6) i { background: var(--jm-grad-danger); }

/* Top progress bar */
#jm-progress {
  position: fixed; top: 0; left: 0; height: 3px; width: 0; z-index: 99999; pointer-events: none;
  background: linear-gradient(90deg, var(--jm-orange), var(--jm-orange-2), var(--jm-cyan));
  box-shadow: 0 0 12px rgba(255, 138, 0, .8); transition: width .4s var(--jm-ease), opacity .4s;
}

/* Reveal on scroll */
.jm-reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s var(--jm-ease), transform .7s var(--jm-ease); }
.jm-reveal.jm-in { opacity: 1; transform: none; }

/* Keyboard hint toast */
.jm-kbd-hint {
  position: fixed; bottom: 22px; right: 22px; z-index: 9999; background: var(--jm-navy-900); color: #fff;
  padding: 10px 14px; border-radius: 12px; font-size: .78rem; box-shadow: var(--jm-shadow-lg); animation: jm-rise .4s var(--jm-ease);
}
.jm-kbd-hint kbd { background: rgba(255, 255, 255, .14); border-radius: 5px; padding: 2px 6px; margin: 0 2px; }

} /* end @media screen */

/* ==========================================================================
   ANIMATIONS
   ========================================================================== */
@keyframes jm-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes jm-pop { from { opacity: 0; transform: translateY(-6px) scale(.97); } to { opacity: 1; transform: none; } }
@keyframes jm-slide-in { from { transform: translateX(-100%); } to { transform: none; } }
@keyframes jm-flow { from { background-position: 0% 0; } to { background-position: 300% 0; } }
@keyframes jm-spin { to { transform: rotate(360deg); } }
@keyframes jm-pulse { 0% { box-shadow: 0 0 0 0 rgba(34, 197, 94, .6); } 70% { box-shadow: 0 0 0 9px rgba(34, 197, 94, 0); } 100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); } }
@keyframes jm-ripple { to { transform: scale(4); opacity: 0; } }
@keyframes jm-flash { 0% { color: var(--jm-orange); text-shadow: 0 0 18px rgba(255, 138, 0, .6); } 100% { color: inherit; text-shadow: none; } }
@keyframes jm-wave { 0%, 60%, 100% { transform: rotate(0); } 10%, 30% { transform: rotate(14deg); } 20% { transform: rotate(-8deg); } 40% { transform: rotate(-4deg); } 50% { transform: rotate(10deg); } }

@media (prefers-reduced-motion: reduce) {
  body.jm-theme *, body.jm-theme *::before, body.jm-theme *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}

/* Never affect printing */
@media print {
  #jm-progress, .jm-quick, .jm-kbd-hint { display: none !important; }
}

/* ==========================================================================
   POS TACTILE — style "caisse restaurant" (écran sombre, touches couleur)
   Actif uniquement sur l'écran POS (body.lockscreen = layout POS)
   ========================================================================== */
@media screen {
body.jm-theme.lockscreen {
  --pk-bg: #0f1218; --pk-bar: #0a0d12; --pk-panel: #171b24; --pk-panel-2: #1e2430; --pk-line: #2a3242;
  --pk-text: #e8edf5; --pk-muted: #8b97ac; --pk-lcd: #39ff88;
  --pk-blue: #1d6fe0; --pk-green: #15a34a; --pk-red: #dc2626; --pk-amber: #e8930c; --pk-purple: #7c3aed;
  --pk-teal: #0d9488; --pk-slate: #3b4658; --pk-pink: #db2777; --pk-cyan: #0891b2; --pk-orange: #ea580c; --pk-indigo: #4f46e5; --pk-lime: #4d8c12;
  --pk-radius: 7px;
  background: var(--pk-bg) !important; color: var(--pk-text);
}
body.jm-theme.lockscreen main, body.jm-theme.lockscreen main.tw-bg-gray-100,
body.jm-theme.lockscreen #scrollable-container { background: var(--pk-bg) !important; }
body.jm-theme.lockscreen section.content { padding: 8px 10px 0 !important; }
body.jm-theme.lockscreen section.content > * { animation: none; }
body.jm-theme.lockscreen .tw-mb-14 { margin-bottom: 0 !important; }
body.jm-theme.lockscreen #add_pos_sell_form > .row.mb-12, body.jm-theme.lockscreen #edit_pos_sell_form > .row.mb-12 { margin-bottom: 90px !important; }

/* ---------- barre du haut ---------- */
body.jm-theme.lockscreen .pos-header { padding: 0 !important; }
body.jm-theme.lockscreen .pos-header > div {
  background: var(--pk-bar) !important; border-radius: 0 !important; margin: 0 !important; box-shadow: 0 1px 0 var(--pk-line) !important;
  padding: 8px 12px !important; color: var(--pk-text);
}
body.jm-theme.lockscreen .pos-header strong, body.jm-theme.lockscreen .pos-header p { color: var(--pk-muted) !important; text-transform: uppercase; font-size: .72rem; letter-spacing: .8px; margin: 0; }
body.jm-theme.lockscreen .pos-header select.form-control,
body.jm-theme.lockscreen .pos-header .select2-selection {
  background: var(--pk-panel-2) !important; color: var(--pk-text) !important; border-color: var(--pk-line) !important; border-radius: var(--pk-radius) !important; height: 38px;
}
body.jm-theme.lockscreen .pos-header a, body.jm-theme.lockscreen .pos-header button {
  background: var(--pk-panel-2) !important; border: 1px solid var(--pk-line) !important; border-radius: var(--pk-radius) !important;
  color: var(--pk-text) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 2px 0 rgba(0,0,0,.4) !important; transition: transform .08s, filter .15s !important;
}
body.jm-theme.lockscreen .pos-header a:hover, body.jm-theme.lockscreen .pos-header button:hover { filter: brightness(1.25); }
body.jm-theme.lockscreen #pos_header_more_options > a, body.jm-theme.lockscreen #pos_header_more_options > button { width: 44px !important; height: 40px !important; }
body.jm-theme.lockscreen #pos_header_more_options > button#add_expense { width: auto !important; padding: 0 14px !important; }
body.jm-theme.lockscreen .pos-header svg, body.jm-theme.lockscreen .pos-header i { stroke: currentColor; }
body.jm-theme.lockscreen .pos-header button#add_expense, body.jm-theme.lockscreen .pos-header button#add_expense * { color: var(--pk-text) !important; }
body.jm-theme.lockscreen .pos-header a:active, body.jm-theme.lockscreen .pos-header button:active { transform: translateY(2px); box-shadow: none !important; }
body.jm-theme.lockscreen .pos-header .tw-bg-\[\#646EE4\], body.jm-theme.lockscreen .pos-header [class*="tw-bg-[#"] { background: var(--pk-indigo) !important; border-color: transparent !important; }
body.jm-theme.lockscreen .pos-header img { filter: none; }
.jm-pos-clock { display: inline-flex; flex-direction: column; align-items: flex-end; line-height: 1.05; margin-left: 10px; padding: 4px 12px; border-radius: var(--pk-radius); background: #05070a; border: 1px solid var(--pk-line); font-variant-numeric: tabular-nums; }
.jm-pos-clock b { color: var(--pk-lcd); font: 700 1.25rem/1 ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; text-shadow: 0 0 10px rgba(57,255,136,.45); }
.jm-pos-clock span { color: var(--pk-muted); font-size: .64rem; text-transform: uppercase; letter-spacing: .8px; margin-top: 3px; }

/* ---------- panneau ticket (gauche) ---------- */
body.jm-theme.lockscreen form .tw-rounded-2xl.tw-bg-white {
  background: var(--pk-panel) !important; border: 1px solid var(--pk-line) !important; border-radius: 10px !important;
  box-shadow: 0 10px 30px rgba(0,0,0,.35) !important; color: var(--pk-text); padding: 0 !important; overflow: hidden;
}
body.jm-theme.lockscreen form .tw-rounded-2xl.tw-bg-white > .box-body { padding: 10px 12px 4px !important; }
.jm-ticket-head {
  display: flex; align-items: center; gap: 10px; padding: 10px 14px; background: linear-gradient(180deg, #1f2533, #191e29);
  border-bottom: 1px solid var(--pk-line); color: var(--pk-text);
}
.jm-ticket-head .t { font-weight: 800; letter-spacing: 1.5px; text-transform: uppercase; font-size: .82rem; }
.jm-ticket-head .n { margin-left: auto; background: var(--pk-blue); color: #fff; font-weight: 800; font-size: .74rem; padding: 3px 10px; border-radius: 999px; }
.jm-ticket-head .u { color: var(--pk-muted); font-size: .74rem; }

/* champs dans le panneau ticket (hors modals) */
body.jm-theme.lockscreen form .box-body .form-control,
body.jm-theme.lockscreen form .box-body .input-group-addon,
body.jm-theme.lockscreen form .box-body .select2-selection,
body.jm-theme.lockscreen form .box-body .input-group-btn .btn {
  background: var(--pk-panel-2) !important; color: var(--pk-text) !important; border-color: var(--pk-line) !important; box-shadow: none !important;
}
body.jm-theme.lockscreen form .box-body .form-control::placeholder { color: #6b778c !important; }
body.jm-theme.lockscreen form .box-body .select2-selection__rendered { color: var(--pk-text) !important; }
body.jm-theme.lockscreen form .box-body .input-group-addon i, body.jm-theme.lockscreen form .box-body .input-group-btn .btn i { color: #9fb3d1 !important; }
body.jm-theme.lockscreen form .box-body .form-control:focus { border-color: var(--pk-blue) !important; box-shadow: 0 0 0 3px rgba(29,111,224,.35) !important; }
body.jm-theme.lockscreen form .box-body label, body.jm-theme.lockscreen form .box-body .tw-text-gray-700 { color: var(--pk-muted) !important; }
body.jm-theme.lockscreen #search_product { height: 44px; font-size: 1rem !important; }

/* tableau du ticket */
body.jm-theme.lockscreen .pos_product_div { background: #11151d; border: 1px solid var(--pk-line); border-radius: 8px; padding: 0 !important; min-height: 260px; }
body.jm-theme.lockscreen #pos_table { margin: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; }
body.jm-theme.lockscreen #pos_table > thead > tr > th {
  background: #0c0f15 !important; color: var(--pk-muted) !important; border: 0 !important; border-bottom: 1px solid var(--pk-line) !important;
  font-size: .68rem !important; letter-spacing: 1.2px; padding: 9px 8px !important; border-radius: 0 !important;
}
body.jm-theme.lockscreen #pos_table > tbody > tr { background: transparent !important; box-shadow: none !important; animation: jm-pos-in .25s var(--jm-ease); }
body.jm-theme.lockscreen #pos_table > tbody > tr:nth-of-type(odd) { background: rgba(255,255,255,.02) !important; }
body.jm-theme.lockscreen #pos_table > tbody > tr:hover { background: rgba(29,111,224,.10) !important; box-shadow: inset 3px 0 0 var(--pk-blue) !important; }
body.jm-theme.lockscreen #pos_table > tbody > tr > td { border: 0 !important; border-bottom: 1px dashed var(--pk-line) !important; color: var(--pk-text) !important; padding: 8px !important; vertical-align: middle !important; }
body.jm-theme.lockscreen #pos_table .text-link { color: #fff !important; font-weight: 700; font-size: .9rem; line-height: 1.3; }
body.jm-theme.lockscreen #pos_table .text-link .fa-info-circle { color: var(--pk-muted) !important; }
body.jm-theme.lockscreen #pos_table > tbody > tr > td img[alt="product-img"] { display: none !important; }
body.jm-theme.lockscreen #pos_table > tbody > tr > td > br, body.jm-theme.lockscreen #pos_table small.text-muted { display: none; }
body.jm-theme.lockscreen #pos_table .input-number { display: flex !important; flex-wrap: nowrap; align-items: center; width: 100%; }
body.jm-theme.lockscreen #pos_table .input-number .input-group-btn { display: block !important; width: auto !important; flex: 0 0 auto; }
body.jm-theme.lockscreen #pos_table .input-number .pos_quantity { flex: 1 1 auto; width: auto !important; min-width: 48px; }
body.jm-theme.lockscreen #pos_table .input-number .btn { width: 38px; height: 38px; padding: 0 !important; border-radius: var(--pk-radius) !important; }
body.jm-theme.lockscreen #pos_table .quantity-down { background: #3a1d22 !important; border-color: #5b2a31 !important; }
body.jm-theme.lockscreen #pos_table .quantity-up { background: #15301f !important; border-color: #21492f !important; }
body.jm-theme.lockscreen #pos_table .quantity-down i { color: #ff7b7b !important; } body.jm-theme.lockscreen #pos_table .quantity-up i { color: #5ee08f !important; }
body.jm-theme.lockscreen #pos_table .pos_quantity { text-align: center; font-weight: 800; font-size: 1rem !important; height: 38px; margin: 0 4px; border-radius: var(--pk-radius) !important; }
body.jm-theme.lockscreen #pos_table .sub_unit { margin-top: 6px; height: 30px; font-size: .78rem !important; }
body.jm-theme.lockscreen #pos_table .pos_unit_price_inc_tax { min-width: 104px; text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; }
body.jm-theme.lockscreen #pos_table .pos_line_total_text { color: #fff; font-weight: 800; font-size: .95rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
body.jm-theme.lockscreen #pos_table .pos_remove_row {
  width: 36px; height: 36px; display: inline-grid; place-items: center; border-radius: var(--pk-radius); background: rgba(220,38,38,.15); color: #ff6b6b !important; font-size: 1rem;
}
body.jm-theme.lockscreen #pos_table .pos_remove_row:hover { background: var(--pk-red); color: #fff !important; }
body.jm-theme.lockscreen #pos_table > thead .fa-times { color: var(--pk-muted) !important; }

/* totaux */
body.jm-theme.lockscreen .pos_form_totals { margin-top: 8px; }
body.jm-theme.lockscreen .pos_form_totals .table { background: transparent !important; border: 0 !important; margin-bottom: 6px; }
body.jm-theme.lockscreen .pos_form_totals .table td { border: 0 !important; color: var(--pk-text) !important; background: transparent !important; padding: 6px 8px !important; }
body.jm-theme.lockscreen .pos_form_totals b { color: var(--pk-muted) !important; font-size: .8rem !important; text-transform: uppercase; letter-spacing: .6px; }
body.jm-theme.lockscreen .pos_form_totals span, body.jm-theme.lockscreen .pos_form_totals .tw-font-semibold, body.jm-theme.lockscreen .pos_form_totals .tw-font-bold:not(b) {
  color: #fff !important; font-variant-numeric: tabular-nums; font-weight: 800 !important;
}
body.jm-theme.lockscreen .pos_form_totals .fa-edit { color: var(--pk-amber) !important; }
body.jm-theme.lockscreen .pos_form_totals .text-info, body.jm-theme.lockscreen form .box-body .text-info { color: #60a5fa !important; }

/* ---------- produits (droite) ---------- */
.jm-catbar { display: grid; grid-auto-flow: column; grid-template-rows: repeat(2, 46px); grid-auto-columns: minmax(112px, max-content); gap: 6px; overflow-x: auto; padding: 2px 2px 8px; margin: 0 0 6px; scrollbar-width: thin; scroll-behavior: smooth; }
.jm-catbar::-webkit-scrollbar { height: 6px; } .jm-catbar::-webkit-scrollbar-thumb { background: var(--pk-line); border-radius: 6px; }
.jm-catbar button {
  min-width: 112px; height: 46px; padding: 0 12px; border: 0; border-radius: var(--pk-radius); color: #fff;
  font: 800 .78rem/1.15 var(--jm-font); text-transform: uppercase; letter-spacing: .4px; cursor: pointer;
  background: var(--c, var(--pk-slate)); box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 3px 0 rgba(0,0,0,.45);
  transition: transform .08s, filter .15s, box-shadow .15s; white-space: normal; max-width: 170px; overflow: hidden; font-size: .72rem;
}
.jm-catbar button:hover { filter: brightness(1.12); }
.jm-catbar button:active { transform: translateY(3px); box-shadow: inset 0 1px 0 rgba(255,255,255,.22); }
.jm-catbar button.on { outline: 3px solid #fff; outline-offset: -3px; filter: brightness(1.15); }

body.jm-theme.lockscreen .tw-dw-drawer-content > label {
  background: var(--pk-panel-2) !important; border: 1px solid var(--pk-line); border-radius: var(--pk-radius) !important; height: 40px !important; font-size: .82rem !important;
  text-transform: uppercase; letter-spacing: .6px; color: #cfd8e6 !important; opacity: 1 !important;
}
body.jm-theme.lockscreen .tw-dw-drawer-content > label * { color: #cfd8e6 !important; stroke: #cfd8e6; }
body.jm-theme.lockscreen #product_list_body { padding: 2px; }
body.jm-theme.lockscreen #product_list_body .product_list { padding: 3px !important; }
body.jm-theme.lockscreen #product_list_body .product_box {
  position: relative; height: 92px; padding: 8px 8px 6px !important; margin: 0 !important; border: 0 !important; border-radius: var(--pk-radius) !important;
  background: var(--c, var(--pk-slate)) !important; color: #fff; cursor: pointer; overflow: hidden;
  display: flex !important; flex-direction: column; justify-content: space-between; text-align: left;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 3px 0 rgba(0,0,0,.45) !important;
  transition: transform .08s, filter .15s, box-shadow .12s !important; animation: none !important;
}
body.jm-theme.lockscreen #product_list_body .product_box::after { content: ""; position: absolute; inset: 0 0 55% 0; background: linear-gradient(180deg, rgba(255,255,255,.12), transparent); pointer-events: none; }
body.jm-theme.lockscreen #product_list_body .product_box:hover { filter: brightness(1.12); }
body.jm-theme.lockscreen #product_list_body .product_box:active, body.jm-theme.lockscreen #product_list_body .product_box.jm-hit {
  transform: translateY(3px); box-shadow: inset 0 1px 0 rgba(255,255,255,.22) !important; filter: brightness(1.3);
}
body.jm-theme.lockscreen #product_list_body .product_box.jm-noimg .image-container { display: none !important; }
body.jm-theme.lockscreen #product_list_body .product_box .image-container { height: 34px !important; min-height: 0 !important; margin: 0 0 4px !important; border-radius: 4px; background-color: rgba(255,255,255,.9); }
body.jm-theme.lockscreen #product_list_body .product_box .text_div { display: flex; flex-direction: column; justify-content: space-between; height: 100%; padding: 0 !important; text-align: left !important; }
body.jm-theme.lockscreen #product_list_body .product_box .text_div small {
  height: auto !important; max-height: none !important; width: auto !important; text-overflow: clip !important;
  color: #fff !important; font-size: .76rem !important; font-weight: 800; line-height: 1.2; text-transform: uppercase; letter-spacing: .2px;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; white-space: normal !important; text-shadow: 0 1px 1px rgba(0,0,0,.35);
}
body.jm-theme.lockscreen #product_list_body .product_box.jm-hasimg .text_div small:first-child { -webkit-line-clamp: 2; font-size: .7rem !important; }
body.jm-theme.lockscreen #product_list_body .product_box .text_div small + small { font-size: .64rem !important; font-weight: 600; opacity: .78; -webkit-line-clamp: 1; text-transform: none; }
body.jm-theme.lockscreen #product_list_body h4 { color: var(--pk-muted); }
body.jm-theme.lockscreen #suggestion_page_loader i { color: var(--pk-muted); }

/* ---------- touches de fonction (bas) ---------- */
body.jm-theme.lockscreen .pos-form-actions {
  background: var(--pk-bar) !important; border-top: 1px solid var(--pk-line) !important; border-radius: 0 !important;
  box-shadow: 0 -10px 30px rgba(0,0,0,.45) !important; padding: 8px 4px !important; left: 0 !important; right: 0 !important; width: 100% !important; cursor: default !important;
}
body.jm-theme.lockscreen .pos-form-actions > div { gap: 8px !important; align-items: stretch !important; }
body.jm-theme.lockscreen .pos-form-actions button,
body.jm-theme.lockscreen .pos-form-actions .pos-express-finalize {
  min-height: 62px !important; min-width: 118px; border-radius: var(--pk-radius) !important; border: 0 !important;
  font: 800 .8rem/1.15 var(--jm-font) !important; text-transform: uppercase; letter-spacing: .5px; color: #fff !important;
  display: inline-flex !important; flex-direction: column; align-items: center; justify-content: center; gap: 5px !important; padding: 6px 12px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 4px 0 rgba(0,0,0,.5) !important; transition: transform .08s, filter .15s, box-shadow .1s !important;
}
body.jm-theme.lockscreen .pos-form-actions button i { font-size: 1.2rem; color: #fff !important; }
body.jm-theme.lockscreen .pos-form-actions button:hover { filter: brightness(1.12); transform: none; }
body.jm-theme.lockscreen .pos-form-actions button:active { transform: translateY(4px) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.22) !important; }
body.jm-theme.lockscreen .pos-form-actions [data-pay_method="suspend"] { background: var(--pk-amber) !important; }
body.jm-theme.lockscreen .pos-form-actions [data-pay_method="credit_sale"] { background: var(--pk-purple) !important; }
body.jm-theme.lockscreen .pos-form-actions #pos-finalize { background: var(--pk-blue) !important; min-width: 150px; }
body.jm-theme.lockscreen .pos-form-actions [data-pay_method="cash"] { background: var(--pk-green) !important; min-width: 150px; }
body.jm-theme.lockscreen .pos-form-actions [data-pay_method="card"] { background: var(--pk-cyan) !important; }
body.jm-theme.lockscreen .pos-form-actions #pos-cancel, body.jm-theme.lockscreen .pos-form-actions #pos-delete { background: var(--pk-red) !important; }
body.jm-theme.lockscreen .pos-form-actions #recent-transactions { background: var(--pk-slate) !important; height: auto !important; border-radius: var(--pk-radius) !important; width: auto !important; }
body.jm-theme.lockscreen .pos-form-actions .hide { display: none !important; }
@media (min-width: 768px) { body.jm-theme.lockscreen .pos-form-actions .md\:tw-hidden { display: none !important; } }
/* écran total façon afficheur LCD */
body.jm-theme.lockscreen .pos-form-actions .pos-total {
  background: #04060a !important; border: 1px solid #1c2a22; border-radius: var(--pk-radius); padding: 6px 16px !important; min-height: 62px;
  box-shadow: inset 0 0 20px rgba(57,255,136,.08), inset 0 2px 6px rgba(0,0,0,.8); align-items: center;
}
body.jm-theme.lockscreen .pos-form-actions .pos-total > div { color: #6fae89 !important; font-size: .68rem !important; letter-spacing: 1.4px; text-transform: uppercase; }
body.jm-theme.lockscreen .pos-form-actions #total_payable {
  color: var(--pk-lcd) !important; font: 700 2rem/1 ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace !important;
  text-shadow: 0 0 14px rgba(57,255,136,.55); font-variant-numeric: tabular-nums; letter-spacing: 1px;
}
body.jm-theme.lockscreen .pos-form-actions .pos-total b { color: #6fae89 !important; }
body.jm-theme.lockscreen .pos-form-actions .pos-total.jm-bump #total_payable { animation: jm-lcd .35s ease; }

/* toast / modals restent clairs et lisibles */
body.jm-theme.lockscreen form .box-body .modal .form-control, body.jm-theme.lockscreen form .box-body .modal .input-group-addon,
body.jm-theme.lockscreen form .box-body .modal .select2-selection, body.jm-theme.lockscreen form .box-body .modal .input-group-btn .btn,
body.jm-theme.lockscreen .modal .form-control, body.jm-theme.lockscreen .modal .input-group-addon,
body.jm-theme.lockscreen .modal .select2-selection, body.jm-theme.lockscreen .modal .input-group-btn .btn {
  background: #fff !important; color: var(--jm-ink) !important; border-color: #dbe2ee !important;
}
body.jm-theme.lockscreen form .box-body .modal .select2-selection__rendered, body.jm-theme.lockscreen .modal .select2-selection__rendered { color: var(--jm-ink) !important; }
body.jm-theme.lockscreen form .box-body .modal .input-group-addon i { color: var(--jm-muted) !important; }
body.jm-theme.lockscreen form .box-body .modal .form-control::placeholder { color: #94a3b8 !important; }
body.jm-theme.lockscreen form .box-body .modal label, body.jm-theme.lockscreen .modal label { color: var(--jm-ink-2) !important; }
body.jm-theme.lockscreen .modal-content { color: var(--jm-ink); }
}
@media screen and (max-width: 1279px) {
  body.jm-theme.lockscreen .pos-form-actions button, body.jm-theme.lockscreen .pos-form-actions .pos-express-finalize { min-width: 84px !important; width: auto !important; font-size: .68rem !important; padding: 6px 8px !important; }
  body.jm-theme.lockscreen .pos-form-actions #pos-finalize, body.jm-theme.lockscreen .pos-form-actions [data-pay_method="cash"] { min-width: 104px !important; }
  body.jm-theme.lockscreen .pos-form-actions #total_payable { font-size: 1.35rem !important; }
  body.jm-theme.lockscreen .pos-form-actions .pos-total { padding: 6px 10px !important; flex-shrink: 0; }
  body.jm-theme.lockscreen .pos-form-actions .pos-total > div { flex-direction: row !important; gap: 6px; }
  body.jm-theme.lockscreen .pos-form-actions > div { padding-left: 6px !important; padding-right: 6px !important; }
  body.jm-theme.lockscreen #pos_header_more_options > button#add_expense { font-size: .66rem !important; white-space: nowrap; padding: 0 8px !important; }
  body.jm-theme.lockscreen #pos_header_more_options { gap: 6px !important; }
}
@keyframes jm-pos-in { from { opacity: 0; transform: translateX(-8px); background: rgba(57,255,136,.12); } to { opacity: 1; transform: none; } }
@keyframes jm-lcd { 0% { opacity: .2; } 100% { opacity: 1; } }
