/* Shubh Ventures — UI upgrade v1.02 (layered on sv-theme.css + sv-ui101.css) */

:root { --u2-r-card: 18px; --u2-r-ctl: 12px; --u2-line: color-mix(in srgb, var(--muted, #64748b) 16%, transparent); }

/* typography & numbers */
body { font-feature-settings: 'cv11', 'ss01', 'ss03'; letter-spacing: -.003em; }
main h1 { letter-spacing: -.022em; font-weight: 700; }
main h2, main h3 { letter-spacing: -.012em; }
td, th, .tabular, [class*="amount"], [class*="stat"] { font-variant-numeric: tabular-nums; }
::selection { background: color-mix(in srgb, var(--accent) 26%, transparent); }

/* page backdrop: a very soft brand wash at the top */
main { position: relative; }
main::before { content: ''; position: absolute; inset: 0 0 auto 0; height: 260px; z-index: -1; pointer-events: none;
  background: radial-gradient(60% 100% at 10% 0%, color-mix(in srgb, var(--accent) 7%, transparent), transparent 70%),
              radial-gradient(50% 90% at 90% 0%, color-mix(in srgb, #8b5cf6 6%, transparent), transparent 70%); }

/* cards */
main .card, main .card-solid { border-radius: var(--u2-r-card); border-color: var(--u2-line);
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 8px 24px -16px rgba(15, 23, 42, .16); }
main .card.hoverable:hover, main a.card:hover { transform: translateY(-2px); box-shadow: 0 2px 4px rgba(15, 23, 42, .05), 0 18px 36px -18px rgba(15, 23, 42, .28); border-color: color-mix(in srgb, var(--accent) 28%, var(--u2-line)); }

/* buttons */
.btn-primary { border-radius: var(--u2-r-ctl); font-weight: 600; letter-spacing: .005em;
  background-image: linear-gradient(180deg, rgba(255, 255, 255, .14), rgba(255, 255, 255, 0)); box-shadow: 0 1px 0 rgba(255, 255, 255, .18) inset, 0 6px 16px -8px var(--accent-glow, rgba(79, 70, 229, .6)); }
.btn-primary:hover:not(:disabled) { filter: brightness(1.06); transform: translateY(-1px); }
.btn-secondary, .btn-ghost { border-radius: var(--u2-r-ctl); font-weight: 500; }
.btn-secondary:hover:not(:disabled) { border-color: color-mix(in srgb, var(--accent) 35%, var(--u2-line)); }
.btn-icon { border-radius: 11px; }
button:disabled, .btn-primary:disabled { cursor: not-allowed; }

/* form controls */
.input, main select, main textarea { border-radius: var(--u2-r-ctl); transition: border-color .15s, box-shadow .2s, background-color .15s; }
.input:hover:not(:focus):not(:disabled) { border-color: color-mix(in srgb, var(--accent) 22%, var(--u2-line)); }
.input: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; }
.label { font-weight: 600; letter-spacing: .01em; }

/* badges */
.tone { border-radius: 999px; font-weight: 600; letter-spacing: .01em; }

/* tables */
main table { border-collapse: separate; border-spacing: 0; }
main thead th { font-size: 11.5px; text-transform: uppercase; letter-spacing: .06em; font-weight: 600; }
main tbody tr { transition: background-color .15s ease; }
main tbody tr:hover { background: color-mix(in srgb, var(--accent) 4.5%, transparent); }

/* sidebar */
aside .nav-link { border-radius: 11px; position: relative; }
aside .nav-link-active { font-weight: 600; }
aside .nav-link-active::before { content: ''; position: absolute; left: -8px; top: 22%; bottom: 22%; width: 3px; border-radius: 3px; background: var(--accent); }

/* header */
header { -webkit-backdrop-filter: saturate(170%) blur(14px); backdrop-filter: saturate(170%) blur(14px); }

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

/* entrance */
@keyframes u2-rise { from { opacity: 0; transform: translateY(8px); } }
main > * > .card, main > div > div > .card { animation: u2-rise .42s cubic-bezier(.22, 1, .36, 1) both; }
@media (prefers-reduced-motion: reduce) { main .card { animation: none !important; } }

/* dark mode refinements */
html.dark main .card, html[data-theme="dark"] main .card, html.theme-dark main .card { box-shadow: 0 1px 0 rgba(255, 255, 255, .03) inset, 0 12px 30px -18px rgba(0, 0, 0, .6); }
html.dark main::before, html[data-theme="dark"] main::before, html.theme-dark main::before { opacity: .7; }
