/* NEXUS premium theme — global polish. Loads after inline <style>, BEFORE mobile.css (mobile wins on small screens). */
:root{
  --cvx-primary:#1F4E78; --cvx-ring:rgba(31,78,120,.18); --cvx-border:#e7ebf1;
  --cvx-shadow-sm:0 1px 2px rgba(16,24,40,.04),0 1px 3px rgba(16,24,40,.05);
  --cvx-shadow-md:0 2px 4px rgba(16,24,40,.05),0 8px 20px rgba(16,24,40,.07);
}
body{ font-family:'Inter','Noto Sans Devanagari',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
body.bg-gray-50{ background:#f4f6f9; }
h1{ letter-spacing:-.01em; }

/* design-system components */
.card{ border:1px solid var(--cvx-border); border-radius:14px; box-shadow:var(--cvx-shadow-sm); transition:box-shadow .18s ease, transform .18s ease; }
.card:hover{ box-shadow:var(--cvx-shadow-md); }
.kpi-value{ font-size:24px; }
.kpi-label{ color:#6b7688; }
.data-table th{ background:#f7f9fc; color:#5b6675; }
.data-table tr:hover td{ background:#f5f8fc; }
.data-table td,.data-table th{ border-bottom:1px solid #eef1f5; }
.btn{ border-radius:9px; font-weight:600; transition:all .16s ease; }
.btn-primary{ background:linear-gradient(180deg,#2a5a89,#1F4E78); border-color:#1F4E78; box-shadow:0 1px 2px rgba(31,78,120,.25); }
.btn-primary:hover{ background:linear-gradient(180deg,#22507c,#173b5c); transform:translateY(-1px); box-shadow:0 4px 12px rgba(31,78,120,.28); }
.btn:focus-visible{ outline:none; box-shadow:0 0 0 3px var(--cvx-ring); }
.badge{ border-radius:999px; }

/* generic Tailwind card containers used across pages */
.bg-white.rounded-xl,.bg-white.rounded-2xl,.bg-white.rounded-lg.border,.bg-white.border.rounded-lg{ box-shadow:var(--cvx-shadow-sm); border-color:var(--cvx-border); }
.bg-white.rounded-xl{ border-radius:14px; }

/* Tailwind primary buttons */
button.bg-primary,a.bg-primary{ transition:all .16s ease; box-shadow:0 1px 2px rgba(31,78,120,.22); }
button.bg-primary:hover,a.bg-primary:hover{ filter:brightness(1.07); transform:translateY(-1px); box-shadow:0 4px 12px rgba(31,78,120,.26); }

/* inputs */
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea{ border-radius:9px; border:1px solid #d7dde7; transition:border-color .15s ease, box-shadow .15s ease; }
input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{ outline:none; border-color:var(--cvx-primary); box-shadow:0 0 0 3px var(--cvx-ring); }

/* sidebar */
#cv-sidebar{ background:#fff; border-right:1px solid var(--cvx-border); }
#cv-sidebar nav a{ transition:background .14s ease,color .14s ease; }
#cv-sidebar nav a.bg-primary{ background:linear-gradient(180deg,#2a5a89,#1F4E78)!important; box-shadow:0 2px 8px rgba(31,78,120,.25); }
#cv-sidebar nav a:not(.bg-primary):hover{ background:#eef3f9; color:#1F4E78; }
.sb-label{ color:#9aa4b2; }

/* desktop spacing + scrollbars */
@media (min-width:1024px){ main.flex-1{ padding-left:1.75rem; padding-right:1.75rem; } }
@media (min-width:769px){
  *{ scrollbar-width:thin; scrollbar-color:#c4ccd8 transparent; }
  ::-webkit-scrollbar{ width:10px; height:10px; }
  ::-webkit-scrollbar-thumb{ background:#c8d0db; border-radius:8px; border:2px solid transparent; background-clip:content-box; }
  ::-webkit-scrollbar-thumb:hover{ background:#aab4c2; background-clip:content-box; }
}
