:root{
  /* ===== Kafaat Glass (Blue) ===== */
  --k-blue-1: 37,99,235;   /* blue-600 */
  --k-blue-2: 14,165,233;  /* sky-500 */
  --k-blue-3: 99,102,241;  /* indigo-500 */

  --accent: rgb(37,99,235);
  --accent-soft: rgba(37,99,235,.16);
  --accent-ring: rgba(37,99,235,.28);

  --glass-bg: rgba(255,255,255,.58);
  --glass-border: rgba(37,99,235,.18);
  --glass-shadow: 0 18px 60px rgba(2, 6, 23, .12);
  --glass-highlight: rgba(255,255,255,.36);
}
[data-bs-theme="dark"]{
  --accent: rgb(96,165,250);
  --accent-soft: rgba(96,165,250,.14);
  --accent-ring: rgba(96,165,250,.35);

  --glass-bg: rgba(15,23,42,.55);
  --glass-border: rgba(148,163,184,.18);
  --glass-shadow: 0 22px 80px rgba(0,0,0,.40);
  --glass-highlight: rgba(255,255,255,.08);
}
html, body{
  font-family: "Cairo", system-ui, -apple-system, Segoe UI, sans-serif;
}
.bg-soft{
  background:
    radial-gradient(1200px 820px at 18% 12%, rgba(var(--k-blue-1), .18), transparent 55%),
    radial-gradient(980px 680px at 88% 22%, rgba(var(--k-blue-2), .16), transparent 56%),
    radial-gradient(860px 640px at 36% 92%, rgba(var(--k-blue-3), .14), transparent 58%),
    #f5f8ff;
}
[data-bs-theme="dark"] .bg-soft{
  background:
    radial-gradient(1200px 820px at 18% 12%, rgba(var(--k-blue-1), .22), transparent 55%),
    radial-gradient(980px 680px at 88% 22%, rgba(var(--k-blue-2), .18), transparent 56%),
    radial-gradient(860px 640px at 36% 92%, rgba(var(--k-blue-3), .14), transparent 58%),
    #070d1a;
}
.glass{
  position: relative;
  overflow: hidden;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  box-shadow: var(--glass-shadow);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-radius: 18px;
}
.glass::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg,
    rgba(var(--k-blue-1), .16),
    rgba(var(--k-blue-2), .10) 45%,
    rgba(255,255,255,0) 75%);
  opacity: .85;
  pointer-events:none;
}
[data-bs-theme="dark"] .glass::before{
  opacity: .55;
}
.glass > *{
  position: relative;
  z-index: 1;
}
.glass-nav{
  background: rgba(255,255,255,.50);
  border-bottom: 1px solid rgba(var(--k-blue-1), .14);
  box-shadow: 0 10px 30px rgba(2,6,23,.08);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
[data-bs-theme="dark"] .glass-nav{
  background: rgba(15,23,42,.45);
  border-bottom-color: rgba(148,163,184,.18);
  box-shadow: 0 14px 34px rgba(0,0,0,.28);
}
.brand-logo{
  height: 72px;
  width: auto;
  border-radius: 12px;
  border: 1px solid rgba(37,99,235,.18);
  box-shadow: 0 18px 44px rgba(2,6,23,.10);
}

/* ===== Navbar: one-line scroll + premium brand ===== */
.nav-scroll{ flex-wrap: nowrap !important; overflow-x: auto; white-space: nowrap; gap: .1rem; }
.nav-scroll::-webkit-scrollbar{ height: 6px; }
.nav-scroll::-webkit-scrollbar-thumb{ background: rgba(var(--k-blue-1), .25); border-radius: 10px; }
.nav-scroll .nav-link{ font-weight: 800; font-size: .98rem; padding: .45rem .70rem; border-radius: 14px; }
.nav-scroll .nav-link:hover{ background: rgba(var(--k-blue-1), .10); }
[data-bs-theme="dark"] .nav-scroll .nav-link:hover{ background: rgba(148,163,184,.12); }

.brand-plate{
  border-radius: 18px;
  padding: 6px 10px;
  background: rgba(255,255,255,.55);
  border: 1px solid rgba(var(--k-blue-1), .16);
  box-shadow: 0 14px 40px rgba(2,6,23,.10);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
[data-bs-theme="dark"] .brand-plate{
  background: rgba(15,23,42,.45);
  border-color: rgba(148,163,184,.20);
  box-shadow: 0 18px 55px rgba(0,0,0,.35);
}

.brand-title{ font-weight: 900; letter-spacing: .2px; }
.brand-sub{ font-weight: 700; }
@media (max-width: 992px){
  .brand-logo{ height: 56px; }
  .brand-sub{ display:none; }
}
.brand-fallback{
  width: 56px;
  height: 56px;
  border-radius: 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 900;
  color: rgba(255,255,255,.95);
  background: linear-gradient(135deg, rgba(var(--k-blue-1), .95), rgba(var(--k-blue-2), .85));
  box-shadow: 0 18px 40px rgba(2,6,23,.16);
}
[data-bs-theme="dark"] .brand-fallback{
  box-shadow: 0 20px 46px rgba(0,0,0,.40);
}
.brand-dot{
  display:inline-block;
  width:14px; height:14px;
  border-radius: 7px;
  background: linear-gradient(135deg, rgba(var(--k-blue-1),1), rgba(var(--k-blue-2),1));
}
.table>thead th{white-space:nowrap}

.user-badge{max-width: 320px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}


/* ===== Dashboard enhancements ===== */
.dash-card{
  border-radius: 18px;
  transition: transform .18s ease, box-shadow .18s ease;
  overflow: hidden;
}
.dash-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0,0,0,.12) !important;
}
.dash-card .card-body{ position: relative; }
.dash-card .card-body::before{
  content:"";
  position:absolute;
  top:-60px;
  left:-60px;
  width:220px;
  height:220px;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, rgba(37,99,235,.12), rgba(37,99,235,0));
  pointer-events:none;
  filter: blur(.2px);
}
.dash-card .card-body::after{
  content:"";
  position:absolute;
  bottom:-90px;
  right:-90px;
  width:280px;
  height:280px;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, rgba(var(--k-blue-2),.12), rgba(var(--k-blue-2),0));
  pointer-events:none;
}
.dash-anim{ animation: dashPop .45s ease both; }
@keyframes dashPop{
  from{ transform: translateY(8px); opacity:0; }
  to{ transform: translateY(0); opacity:1; }
}


/* =================== Dashboard Premium =================== */
.fw-black{ font-weight: 900 !important; }

.dash-shell{ min-height: calc(100vh - 1px); }

.dash-hero{
  border-radius: 24px;
}

.dash-logo-wrap{
  width: 96px;
  height: 96px;
  border-radius: 22px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(255,255,255,.55);
  border: 1px solid rgba(255,255,255,.35);
  box-shadow: 0 18px 45px rgba(0,0,0,.10);
  overflow:hidden;
}
[data-bs-theme="dark"] .dash-logo-wrap{
  background: rgba(30,30,38,.40);
  border-color: rgba(255,255,255,.12);
}
.dash-logo{
  height: 82px;
  width: auto;
  filter: drop-shadow(0 10px 22px rgba(0,0,0,.18));
}
.dash-logo-fallback{
  width: 46px;
  height: 46px;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(var(--k-blue-1),.35), rgba(var(--k-blue-2),.28));
}

.dash-title{ letter-spacing: .2px; }

.dash-k{
  color: rgba(107,114,128,1);
  font-size: 13px;
  font-weight: 800;
}
.dash-v{
  font-size: 42px;
  font-weight: 900;
  line-height: 1.1;
}
.dash-hint{
  color: rgba(107,114,128,.95);
  font-size: 12px;
  margin-top: 2px;
}

.dash-link{
  border-radius: 22px;
  transition: transform .18s ease, box-shadow .18s ease;
  position: relative;
  overflow: hidden;
}
.dash-link:hover{
  transform: translateY(-4px);
  box-shadow: 0 18px 50px rgba(0,0,0,.12) !important;
}

/* ===== KPI Lux (Glow + gradients + hover) ===== */
.kpi-lux{
  --kpi-accent: var(--k-blue-1);
  position: relative;
  overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  border: 1px solid rgba(var(--kpi-accent), .18) !important;
  background: linear-gradient(135deg,
    rgba(var(--kpi-accent), .10),
    rgba(255,255,255,.00) 55%),
    var(--bs-body-bg) !important;
}
.kpi-lux::before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(260px 180px at 15% 18%, rgba(var(--kpi-accent), .24), transparent 60%),
    radial-gradient(320px 220px at 92% 92%, rgba(var(--k-blue-2), .16), transparent 58%);
  opacity: .85;
  pointer-events:none;
}
[data-bs-theme="dark"] .kpi-lux::before{ opacity:.55; }
.kpi-lux > *{ position:relative; z-index:1; }
.kpi-lux:hover{
  transform: translateY(-6px);
  box-shadow: 0 22px 70px rgba(2,6,23,.14);
  border-color: rgba(var(--kpi-accent), .30) !important;
}
[data-bs-theme="dark"] .kpi-lux:hover{ box-shadow: 0 26px 85px rgba(0,0,0,.45); }

.kpi-lux .kpi-icon{
  background: linear-gradient(135deg,
    rgba(var(--kpi-accent), .22),
    rgba(var(--k-blue-2), .10));
  border-color: rgba(var(--kpi-accent), .28);
  box-shadow: 0 14px 36px rgba(2,6,23,.10);
}
[data-bs-theme="dark"] .kpi-lux .kpi-icon{ box-shadow: 0 16px 46px rgba(0,0,0,.35); }

.kpi-a1{ --kpi-accent: var(--k-blue-1); }
.kpi-a2{ --kpi-accent: var(--k-blue-2); }
.kpi-a3{ --kpi-accent: var(--k-blue-3); }
.kpi-a4{ --kpi-accent: 16,185,129; }
.kpi-a5{ --kpi-accent: 245,158,11; }
.kpi-a6{ --kpi-accent: 239,68,68; }
.dash-link .card-body{
  padding: 18px 18px 16px;
}
.dash-link .card-body::before{
  content:"";
  position:absolute;
  inset:-60px;
  background:
    radial-gradient(circle at 20% 20%, rgba(37,99,235,.12), transparent 55%),
    radial-gradient(circle at 80% 40%, rgba(var(--k-blue-2),.10), transparent 55%),
    radial-gradient(circle at 55% 90%, rgba(var(--k-blue-3),.08), transparent 55%);
  pointer-events:none;
}
.dash-link-title{
  font-weight: 900;
  font-size: 18px;
  margin-bottom: 4px;
  color: inherit;
}
.dash-link-sub{
  color: rgba(107,114,128,1);
  font-size: 13px;
  font-weight: 700;
}

/* =================== Splash Screen =================== */
.kafaat-splash{
  position: fixed;
  inset: 0;
  z-index: 9999;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(15, 23, 42, .55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.kafaat-splash.hide{ animation: splashOut .6s ease forwards; }

@keyframes splashOut{
  to{ opacity: 0; transform: scale(1.02); }
}

.kafaat-splash-card{
  width: min(520px, calc(100vw - 32px));
  border-radius: 26px;
  padding: 28px 26px 22px;
  text-align:center;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(255,255,255,.40);
  box-shadow: 0 30px 90px rgba(0,0,0,.25);
}
[data-bs-theme="dark"] .kafaat-splash-card{
  background: rgba(17,24,39,.86);
  border-color: rgba(255,255,255,.10);
}

.kafaat-splash-logo{
  height: 110px;
  width: auto;
  margin-bottom: 10px;
  animation: logoPulse 1.2s ease-in-out infinite;
  filter: drop-shadow(0 18px 38px rgba(0,0,0,.25));
}
@keyframes logoPulse{
  0%,100%{ transform: translateY(0) scale(1); }
  50%{ transform: translateY(-4px) scale(1.03); }
}

.kafaat-splash-title{
  font-weight: 900;
  font-size: 18px;
}
.kafaat-splash-sub{
  color: rgba(107,114,128,1);
  font-weight: 800;
  font-size: 13px;
  margin-top: 2px;
  margin-bottom: 14px;
}

.kafaat-splash-bar{
  height: 10px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(148,163,184,.35);
  border: 1px solid rgba(148,163,184,.25);
}
.kafaat-splash-bar span{
  display:block;
  height: 100%;
  width: 42%;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(37,99,235,.75), rgba(var(--k-blue-2),.70), rgba(var(--k-blue-3),.55));
  animation: barMove 1.2s ease-in-out infinite;
}
@keyframes barMove{
  0%{ transform: translateX(-60%); }
  50%{ transform: translateX(70%); }
  100%{ transform: translateX(160%); }
}
.kafaat-splash-note{
  margin-top: 10px;
  font-size: 12px;
  font-weight: 800;
  color: rgba(107,114,128,1);
}

/* ======================================================
   Global Loading / Branding Overlay (used across pages)
   ====================================================== */
.kafaat-overlay{
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(248,250,252,.92);
  backdrop-filter: blur(2px);
}
.kafaat-overlay-card{
  background: rgba(255,255,255,.96);
  border-radius: 22px;
  padding: 26px 22px;
  box-shadow: 0 14px 50px rgba(15,23,42,.18);
  text-align: center;
  width: min(440px, 92vw);
  border: 1px solid rgba(148,163,184,.32);
}
.kafaat-overlay-logo{
  width: 96px;
  height: 96px;
  object-fit: contain;
  margin-bottom: 10px;
}
.kafaat-overlay-title{
  font-weight: 900;
  font-size: 18px;
}
.kafaat-overlay-sub{
  margin-top: 4px;
  margin-bottom: 14px;
  font-size: 13px;
  font-weight: 800;
  color: rgba(71,85,105,1);
}
.kafaat-overlay-bar{
  height: 10px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(148,163,184,.35);
  border: 1px solid rgba(148,163,184,.25);
}
.kafaat-overlay-bar span{
  display: block;
  height: 100%;
  width: 42%;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(37,99,235,.75), rgba(var(--k-blue-2),.70), rgba(var(--k-blue-3),.55));
  animation: barMove 1.2s ease-in-out infinite;
}
.kafaat-overlay-rights{
  margin-top: 12px;
  font-size: 12px;
  font-weight: 900;
  color: rgba(100,116,139,1);
}
.kafaat-overlay-made{
  margin-top: 4px;
  font-size: 12px;
  font-weight: 800;
  color: rgba(107,114,128,1);
  line-height: 1.35;
}

/* Readability fixes for dark theme */
[data-bs-theme="dark"] .table { color: var(--bs-body-color); }
[data-bs-theme="dark"] .table a { color: var(--bs-link-color); }


/* ===== Glass Inputs ===== */
.form-control,
.form-select,
.form-control:disabled,
.form-select:disabled{
  background: rgba(255,255,255,.62);
  border-color: rgba(var(--k-blue-1), .16);
}
[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select,
[data-bs-theme="dark"] .form-control:disabled,
[data-bs-theme="dark"] .form-select:disabled{
  background: rgba(15,23,42,.42);
  border-color: rgba(148,163,184,.18);
  color: rgba(226,232,240,1);
}
.form-control:focus,
.form-select:focus{
  border-color: rgba(var(--k-blue-1), .38);
  box-shadow: 0 0 0 .22rem var(--accent-ring);
}
.table{
  --bs-table-bg: transparent;
}

/* ===== Buttons (Blue accent) ===== */
.btn-primary{
  --bs-btn-bg: rgba(var(--k-blue-1), .95);
  --bs-btn-border-color: rgba(var(--k-blue-1), .90);
  --bs-btn-hover-bg: rgba(var(--k-blue-1), 1);
  --bs-btn-hover-border-color: rgba(var(--k-blue-1), 1);
  --bs-btn-active-bg: rgba(var(--k-blue-1), .90);
  --bs-btn-active-border-color: rgba(var(--k-blue-1), .95);
  --bs-btn-focus-shadow-rgb: var(--k-blue-1);
}
.btn-outline-primary{
  --bs-btn-color: rgba(var(--k-blue-1), 1);
  --bs-btn-border-color: rgba(var(--k-blue-1), .55);
  --bs-btn-hover-bg: rgba(var(--k-blue-1), .10);
  --bs-btn-hover-border-color: rgba(var(--k-blue-1), .75);
  --bs-btn-active-bg: rgba(var(--k-blue-1), .14);
  --bs-btn-active-border-color: rgba(var(--k-blue-1), .85);
}

/* ===== Navbar polish ===== */
.navbar.glass-nav .navbar-brand,
.navbar.glass-nav .nav-link{
  font-weight: 800;
}
.navbar.glass-nav .nav-link.active{
  color: var(--accent) !important;
}


/* ===== Dark mode overrides for legacy bg-white/table-light ===== */
[data-bs-theme="dark"] .bg-white{ background-color: var(--bs-body-bg) !important; }
[data-bs-theme="dark"] .table-light{
  --bs-table-bg: var(--bs-body-bg);
  --bs-table-color: var(--bs-body-color);
  --bs-table-border-color: var(--bs-border-color);
}



/* =======================================================================
   Kafaat Royal Luxe Theme (Global)
   Applies to all app pages EXCEPT receipt print pages (those use their own CSS)
   ======================================================================= */
html{
  scroll-behavior: smooth;
}
body{
  color-rendering: optimizeLegibility;
}
::selection{
  background: rgba(var(--k-blue-1), .22);
  color: inherit;
}

/* Scrollbars */
*{
  scrollbar-width: thin;
  scrollbar-color: rgba(var(--k-blue-1), .35) transparent;
}
*::-webkit-scrollbar{ width: 10px; height: 10px; }
*::-webkit-scrollbar-track{ background: transparent; }
*::-webkit-scrollbar-thumb{
  background: linear-gradient(180deg, rgba(var(--k-blue-1), .35), rgba(var(--k-blue-2), .25));
  border-radius: 99px;
  border: 2px solid transparent;
  background-clip: padding-box;
}

/* Desktop navbar flow: keep brand plate on the left, links in one line */
@media (min-width: 992px){
  .glass-nav .container{
    flex-direction: row !important;
    align-items: center;
    gap: .6rem;
  }
  .glass-nav .navbar-brand.brand-plate{
    margin-inline-start: auto;
  }
  .glass-nav .navbar-collapse{
    flex: 1 1 auto;
    min-width: 0;
  }
}

.glass-nav{
  border-bottom-width: 1px;
  box-shadow:
    0 14px 40px rgba(2,6,23,.08),
    inset 0 1px 0 rgba(255,255,255,.28);
}
.glass-nav::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(var(--k-blue-1), .06), rgba(var(--k-blue-2), .05), rgba(var(--k-blue-3), .05));
  opacity: .9;
}
.glass-nav > *{ position: relative; z-index: 1; }

.brand-plate{
  position: relative;
  overflow: hidden;
  padding: 8px 12px;
  border-radius: 18px;
  min-width: min(420px, 42vw);
}
.brand-plate::before{
  content:"";
  position:absolute;
  inset:-1px;
  background:
    radial-gradient(220px 120px at 100% 0%, rgba(var(--k-blue-2), .14), transparent 60%),
    radial-gradient(240px 120px at 0% 100%, rgba(var(--k-blue-1), .12), transparent 65%);
  pointer-events:none;
}
.brand-logo{
  height: 82px;
  border-radius: 14px;
}
.brand-title{
  font-size: 1.45rem;
  line-height: 1.05;
}
.brand-sub{
  font-size: .9rem;
  opacity: .95;
}
.user-badge{
  border-radius: 999px !important;
  padding: .55rem .9rem !important;
  box-shadow: 0 8px 24px rgba(2,6,23,.06);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.nav-scroll .nav-link{
  position: relative;
  border: 1px solid transparent;
  transition: transform .14s ease, box-shadow .14s ease, background-color .14s ease, border-color .14s ease;
}
.nav-scroll .nav-link:hover{
  transform: translateY(-1px);
  border-color: rgba(var(--k-blue-1), .14);
  box-shadow: 0 8px 18px rgba(2,6,23,.06);
}
.nav-scroll .nav-link.active,
.nav-scroll .nav-link[aria-current="page"]{
  background: linear-gradient(135deg, rgba(var(--k-blue-1), .16), rgba(var(--k-blue-2), .10));
  border-color: rgba(var(--k-blue-1), .18);
  color: var(--accent);
  font-weight: 900;
}

/* Global page surface */
main.container,
main .container{
  position: relative;
}
main.container::before{
  content:"";
  position:absolute;
  inset: 0 auto auto 0;
  width: 0; height: 0;
}

/* Typography */
h1, h2, h3, h4, h5{
  letter-spacing: .15px;
  font-weight: 900;
}
.page-title, .section-title{
  font-weight: 900;
}

/* Cards / Panels */
.card, .card-soft{
  border-radius: 18px !important;
  border: 1px solid rgba(var(--k-blue-1), .12) !important;
  background: color-mix(in oklab, var(--bs-body-bg) 88%, white 12%);
  box-shadow:
    0 14px 40px rgba(2,6,23,.06),
    inset 0 1px 0 rgba(255,255,255,.30);
  overflow: hidden;
}
[data-bs-theme="dark"] .card,
[data-bs-theme="dark"] .card-soft{
  background: color-mix(in oklab, var(--bs-body-bg) 94%, white 6%);
  box-shadow:
    0 18px 60px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.05);
}
.card-header{
  background:
    linear-gradient(135deg, rgba(var(--k-blue-1), .05), rgba(var(--k-blue-2), .03)) !important;
  border-bottom: 1px solid rgba(var(--k-blue-1), .10) !important;
  font-weight: 900;
}
.card-footer{
  background: transparent !important;
  border-top: 1px solid rgba(var(--k-blue-1), .08) !important;
}
.card:hover{
  box-shadow:
    0 18px 55px rgba(2,6,23,.09),
    inset 0 1px 0 rgba(255,255,255,.34);
}

/* Tables */
.table{
  --bs-table-bg: transparent;
  border-collapse: separate;
  border-spacing: 0;
}
.table > :not(caption) > * > *{
  border-color: rgba(var(--k-blue-1), .10) !important;
  vertical-align: middle;
}
.table thead th{
  position: sticky;
  top: 0;
  z-index: 2;
  background:
    linear-gradient(135deg, rgba(var(--k-blue-1), .10), rgba(var(--k-blue-2), .06)) !important;
  color: var(--bs-body-color);
  font-weight: 900;
  font-size: .95rem;
  border-bottom-width: 1px !important;
}
.table tbody tr{
  transition: transform .1s ease, background-color .12s ease;
}
.table tbody tr:hover{
  background: rgba(var(--k-blue-1), .04) !important;
}
[data-bs-theme="dark"] .table tbody tr:hover{
  background: rgba(148,163,184,.07) !important;
}
.table-responsive{
  border-radius: 16px;
  border: 1px solid rgba(var(--k-blue-1), .08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18);
}

/* Forms */
.form-control, .form-select, textarea.form-control, .input-group-text{
  border-radius: 14px !important;
  border-color: rgba(var(--k-blue-1), .16) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.25);
}
.form-control, .form-select{
  background-color: color-mix(in oklab, var(--bs-body-bg) 94%, white 6%);
  min-height: 44px;
  font-weight: 700;
}
textarea.form-control{
  min-height: 110px;
}
.form-control:focus, .form-select:focus{
  border-color: rgba(var(--k-blue-1), .30) !important;
  box-shadow: 0 0 0 .22rem rgba(var(--k-blue-1), .14) !important;
  background-color: var(--bs-body-bg);
}
.input-group-text{
  background:
    linear-gradient(135deg, rgba(var(--k-blue-1), .08), rgba(var(--k-blue-2), .05));
  font-weight: 800;
}
.form-label{
  font-weight: 900;
  margin-bottom: .35rem;
}
.form-text{
  color: var(--bs-secondary-color) !important;
}

/* Buttons */
.btn{
  border-radius: 13px;
  font-weight: 900;
  letter-spacing: .15px;
  transition: transform .14s ease, box-shadow .14s ease, filter .14s ease;
}
.btn:hover{
  transform: translateY(-1px);
}
.btn:active{
  transform: translateY(0);
}
.btn-primary{
  border-color: transparent !important;
  background-image: linear-gradient(135deg, rgba(var(--k-blue-1), .96), rgba(var(--k-blue-2), .92));
  box-shadow: 0 12px 26px rgba(var(--k-blue-1), .22);
}
.btn-primary:hover{
  filter: saturate(1.05) brightness(1.02);
  box-shadow: 0 16px 34px rgba(var(--k-blue-1), .28);
}
.btn-outline-primary{
  border-color: rgba(var(--k-blue-1), .22);
  color: var(--accent);
  background: rgba(var(--k-blue-1), .03);
}
.btn-outline-primary:hover{
  background: rgba(var(--k-blue-1), .09);
  border-color: rgba(var(--k-blue-1), .32);
  color: var(--accent);
}
.btn-outline-secondary{
  border-color: rgba(100,116,139,.26);
  background: rgba(255,255,255,.35);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
[data-bs-theme="dark"] .btn-outline-secondary{
  background: rgba(15,23,42,.38);
}
.btn-outline-danger:hover,
.btn-danger:hover{
  box-shadow: 0 12px 28px rgba(220,38,38,.18);
}

/* Alerts / badges */
.alert{
  border-radius: 16px;
  border-width: 1px;
  box-shadow: 0 10px 28px rgba(2,6,23,.05);
}
.badge{
  border-radius: 999px;
  font-weight: 800;
}

/* List groups / nav tabs */
.list-group-item{
  border-color: rgba(var(--k-blue-1), .08);
}
.list-group-item:hover{
  background: rgba(var(--k-blue-1), .03);
}
.nav-tabs, .nav-pills{
  gap: .35rem;
}
.nav-tabs .nav-link, .nav-pills .nav-link{
  border-radius: 12px !important;
  font-weight: 900;
}
.nav-tabs .nav-link.active, .nav-pills .nav-link.active{
  background: linear-gradient(135deg, rgba(var(--k-blue-1), .14), rgba(var(--k-blue-2), .08));
  border-color: rgba(var(--k-blue-1), .18) !important;
  color: var(--accent);
  box-shadow: 0 8px 20px rgba(var(--k-blue-1), .10);
}

/* Pagination */
.pagination .page-link{
  border-radius: 12px !important;
  margin-inline: 2px;
  border-color: rgba(var(--k-blue-1), .14);
  color: var(--accent);
  font-weight: 800;
}
.pagination .page-item.active .page-link{
  border-color: transparent;
  background-image: linear-gradient(135deg, rgba(var(--k-blue-1), .95), rgba(var(--k-blue-2), .90));
  box-shadow: 0 10px 22px rgba(var(--k-blue-1), .22);
}

/* Accordions / modals / dropdowns */
.accordion-item, .modal-content, .dropdown-menu{
  border-radius: 16px !important;
  border: 1px solid rgba(var(--k-blue-1), .12) !important;
  box-shadow: 0 16px 44px rgba(2,6,23,.08);
  overflow: hidden;
}
.dropdown-menu{
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  background: rgba(255,255,255,.82);
}
[data-bs-theme="dark"] .dropdown-menu{
  background: rgba(15,23,42,.82);
}
.dropdown-item{
  border-radius: 10px;
  margin: 2px 6px;
}
.dropdown-item:hover{
  background: rgba(var(--k-blue-1), .08);
}

/* Footer */
footer.glass{
  margin-top: 2rem;
  border-radius: 22px 22px 0 0;
  border-top: 1px solid rgba(var(--k-blue-1), .12);
}

/* Utility surfaces */
.panel-lux{
  border-radius: 18px;
  border: 1px solid rgba(var(--k-blue-1), .12);
  background: linear-gradient(180deg, rgba(255,255,255,.58), rgba(255,255,255,.38));
  box-shadow: 0 14px 36px rgba(2,6,23,.07);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
[data-bs-theme="dark"] .panel-lux{
  background: linear-gradient(180deg, rgba(15,23,42,.55), rgba(15,23,42,.35));
}

/* Common action strips and stats blocks */
.stats-grid .card .card-title,
.card .card-title,
.metric-title{
  font-size: 1.02rem !important;
  font-weight: 900 !important;
}
.metric-value, .big-number{
  font-weight: 900 !important;
  letter-spacing: .2px;
}

/* Respect print pages */
@media print{
  .glass-nav, footer.glass, .kafaat-overlay{ display:none !important; }
}
