/* Shubh Ventures — UI upgrade v1.01
   Smoother motion, refined surfaces, new brand logo. Layered on top of sv-theme.css. */

:root{
  --u-ease:cubic-bezier(.22,1,.36,1);
  --u-spring:cubic-bezier(.34,1.56,.64,1);
  --u-fast:.18s;
  --u-mid:.32s;
}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.01ms !important;transition-duration:.01ms !important}}

/* ---------- smooth everything ---------- */
a,button,[role=button],input,select,textarea,.nav-link,.tone{
  transition:background-color var(--u-fast) var(--u-ease),border-color var(--u-fast) var(--u-ease),color var(--u-fast) var(--u-ease),
             box-shadow var(--u-mid) var(--u-ease),transform var(--u-mid) var(--u-ease);
}
main .card{transition:box-shadow var(--u-mid) var(--u-ease),transform var(--u-mid) var(--u-ease),border-color var(--u-fast) var(--u-ease)}
button:not(:disabled):active,[role=button]:not(g):not(rect):not(path):not(circle):not(svg):active{transform:scale(.97)}
:focus-visible{outline:none !important;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 35%,transparent) !important;border-radius:10px}

/* ripple */
.u-ripple-host{overflow:hidden}
.u-ripple-rel{position:relative}
.u-ripple{position:absolute;border-radius:50%;pointer-events:none;transform:scale(0);opacity:.35;background:currentColor;animation:u-ripple .6s var(--u-ease) forwards}
@keyframes u-ripple{to{transform:scale(1);opacity:0}}

/* ---------- scrollbars ---------- */
*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--muted) 40%,transparent) transparent}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--muted) 35%,transparent);border-radius:10px;border:3px solid transparent;background-clip:padding-box}
::-webkit-scrollbar-thumb:hover{background-color:color-mix(in srgb,var(--muted) 60%,transparent)}

/* ---------- page enter motion ---------- */
.u-enter > *{animation:u-rise .5s var(--u-ease) both}
.u-enter > *:nth-child(2){animation-delay:.04s}
.u-enter > *:nth-child(3){animation-delay:.08s}
.u-enter > *:nth-child(4){animation-delay:.12s}
.u-enter > *:nth-child(5){animation-delay:.16s}
.u-enter > *:nth-child(n+6){animation-delay:.2s}
@keyframes u-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ---------- cards: soft lift ---------- */
main [class*="grid"] > [class*="rounded"][class*="border"]{transition:box-shadow var(--u-mid) var(--u-ease),transform var(--u-mid) var(--u-ease)}
main a[class*="rounded"][class*="border"]:hover,
main [class*="grid"] > [class*="rounded"][class*="border"]:not(:has(input,textarea,select)):hover{
  transform:translateY(-2px);
  box-shadow:0 14px 34px -18px color-mix(in srgb,var(--accent) 45%,transparent),0 2px 6px -2px rgba(15,23,42,.08) !important;
}

/* ---------- sidebar ---------- */
aside .nav-link{position:relative;border-radius:11px !important}
aside .nav-link:hover{transform:translateX(3px)}
aside .nav-link[aria-current="page"],aside .nav-link.active,aside .nav-link:not(.nav-link-idle){
  background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 16%,transparent),color-mix(in srgb,var(--accent) 4%,transparent)) !important;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent);
}
aside .nav-link:not(.nav-link-idle)::before{
  content:"";position:absolute;left:-12px;top:22%;bottom:22%;width:4px;border-radius:0 4px 4px 0;
  background:linear-gradient(180deg,var(--accent),#38bdf8);box-shadow:0 0 12px var(--accent);
}
aside .nav-link svg{transition:transform var(--u-mid) var(--u-spring) !important}
aside .nav-link:hover svg{transform:scale(1.12) rotate(-4deg)}

/* ---------- brand logo ---------- */
img.u-logo-mark{object-fit:contain !important;background:#fff !important;padding:2px !important;border-radius:12px !important;
  box-shadow:0 6px 16px -8px color-mix(in srgb,var(--accent) 60%,transparent),0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent) !important}
aside img.u-logo-mark{width:42px !important;height:42px !important}

/* login: large, clear logo */
.sv-login img.u-logo-login{
  width:188px !important;height:auto !important;max-width:60vw;aspect-ratio:auto;border-radius:26px !important;
  background:#fff !important;padding:12px !important;object-fit:contain !important;
  box-shadow:0 30px 60px -30px color-mix(in srgb,var(--accent) 70%,transparent),0 0 0 1px rgba(37,99,235,.10) !important;
  animation:u-logo-in .9s var(--u-spring) both,u-float 6s ease-in-out 1s infinite !important;
}
.sv-login img.u-logo-login + *{margin-top:14px}
@keyframes u-logo-in{from{opacity:0;transform:scale(.85) translateY(10px)}to{opacity:1;transform:none}}
@keyframes u-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
#sv-login-hero .brand img.u-logo-hero{width:58px !important;height:58px !important;border-radius:16px !important;background:#fff !important;padding:3px !important;object-fit:contain !important}
.sv-login-card{backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);
  box-shadow:0 40px 80px -40px rgba(30,58,138,.35),0 0 0 1px color-mix(in srgb,var(--accent) 10%,transparent) !important;
  animation:u-rise .6s var(--u-ease) .1s both}
.sv-login-card button[type=submit]{background:linear-gradient(135deg,var(--accent),#1d4ed8 55%,#0ea5e9) !important;background-size:180% 180% !important;
  box-shadow:0 12px 24px -12px var(--accent) !important}
.sv-login-card button[type=submit]:hover{background-position:100% 0 !important;transform:translateY(-1px)}

/* ---------- header ---------- */
header.sticky,div.sticky > header,header[class*="sticky"]{backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3)}

/* ---------- inputs ---------- */
main input:not([type=checkbox]):not([type=radio]),main select,main textarea{border-radius:12px !important}
main input:not([type=checkbox]):not([type=radio]):focus,main select:focus,main textarea:focus{
  border-color:var(--accent) !important;box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 16%,transparent) !important}

/* ---------- tables / list rows ---------- */
main tbody tr{transition:background-color var(--u-fast) var(--u-ease)}
main tbody tr:hover{background:color-mix(in srgb,var(--accent) 5%,transparent)}

/* ---------- version chip ---------- */
#u-version{position:fixed;left:14px;bottom:8px;z-index:5;font:600 10px/1 Inter,system-ui,sans-serif;letter-spacing:.08em;
  color:var(--muted);opacity:.7;pointer-events:none}
@media (min-width:1024px){#u-version{left:auto;right:92px;bottom:10px}}
html.sv-route-login #u-version{display:none}
