/* LeadVoz Insights V1.9.0 — client portal polish */
:root{
  --lv-brand:#111417;
  --lv-brand-soft:#eef1f3;
  --lv-ink:#0b0f14;
  --lv-muted:#66707a;
  --lv-border:#e7eaed;
  --lv-bg:#f4f6f8;
  --lv-card:#ffffff;
  --lv-radius:20px;
  --lv-shadow:0 14px 42px rgba(16,24,32,.07);
}
html{background:var(--lv-bg)}
body{background:
  radial-gradient(circle at 85% -10%,rgba(17,20,23,.045),transparent 28%),
  var(--lv-bg)!important;
}
body:not(.lv-auth-page) .app{min-height:100dvh}
body:not(.lv-auth-page) .main{padding:30px 38px 54px!important}
body:not(.lv-auth-page) .sidebar{
  background:linear-gradient(180deg,#0b0f13 0%,#11161b 70%,#0b0f13 100%)!important;
  border-right:1px solid rgba(255,255,255,.055);
  padding:25px 18px 18px!important;
}
.sidebar .logo{
  min-height:48px;display:flex;align-items:center;gap:10px;
  font-size:22px!important;letter-spacing:-.65px!important;margin-bottom:20px!important;
  padding:0 9px;
}
.lv-brand-logo{width:38px;height:38px;border-radius:11px;object-fit:contain;background:#fff;padding:4px;box-shadow:0 6px 18px rgba(0,0,0,.18)}
.lv-brand-copy{display:flex;flex-direction:column;min-width:0;line-height:1.08}
.lv-brand-title{font-size:19px;font-weight:800;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}
.lv-brand-sub{font-size:10px;color:#7f8a94;font-weight:600;letter-spacing:.045em;margin-top:4px;text-transform:uppercase}
.nav a{
  position:relative!important;display:flex!important;align-items:center!important;gap:10px!important;
  min-height:44px;border-radius:13px!important;padding:10px 12px!important;margin:3px 0!important;
  color:#9ea7b0!important;font-size:13px!important;font-weight:590;letter-spacing:-.05px;
  transition:background .16s ease,color .16s ease,transform .16s ease!important;
}
.nav a:hover{background:rgba(255,255,255,.055)!important;color:#fff!important;transform:none!important}
.nav a.active{background:rgba(255,255,255,.095)!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.035)}
.nav a.active:after{content:"";position:absolute;right:8px;width:4px;height:18px;border-radius:999px;background:var(--lv-brand);box-shadow:0 0 16px var(--lv-brand)}
.lv-nav-icon{width:20px;height:20px;display:grid;place-items:center;flex:0 0 20px;color:currentColor;opacity:.92}
.lv-nav-icon svg{width:18px;height:18px;display:block;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.nav .section{font-size:9px!important;color:#59636d!important;margin:20px 11px 7px!important;letter-spacing:.15em!important;font-weight:800}
.sidebar .profile,.sidebar .sidebar-bottom .profile{
  border-top:1px solid rgba(255,255,255,.075)!important;padding:14px 9px 3px!important;
  color:#d5d9dd!important;font-size:12px!important;line-height:1.45;background:transparent!important;
}
.sidebar .profile button{width:100%;margin-top:10px!important;border-radius:10px!important;padding:8px 10px!important;background:rgba(255,255,255,.055)!important}
.topbar,.top{margin-bottom:24px!important}
.left-title h1,.top h1{font-size:29px!important;letter-spacing:-.9px!important;font-weight:820!important;color:var(--lv-ink)!important}
.left-title p,.top p{color:var(--lv-muted)!important}
.control{border-color:var(--lv-border)!important;border-radius:12px!important;background:rgba(255,255,255,.85)!important;box-shadow:0 3px 12px rgba(16,24,32,.025)}
.card{border:1px solid var(--lv-border)!important;border-radius:var(--lv-radius)!important;box-shadow:var(--lv-shadow)!important;background:rgba(255,255,255,.96)!important}
.kpi{position:relative;overflow:hidden;padding:19px!important}
.kpi:after{content:"";position:absolute;width:88px;height:88px;border-radius:50%;right:-35px;top:-38px;background:color-mix(in srgb,var(--lv-brand) 10%,transparent);pointer-events:none}
.kpi .label{font-weight:650;letter-spacing:.01em;color:#76808a!important}
.kpi .value{font-size:31px!important;letter-spacing:-1.15px!important;color:var(--lv-ink)}
.panel{padding:21px!important}.panel h2,.panel-head h2{font-weight:760!important;letter-spacing:-.25px}
.table-card, .table{border-radius:var(--lv-radius)!important;box-shadow:var(--lv-shadow)!important}
thead th{background:#f8fafb!important;color:#7c858f!important}
tbody tr{transition:background .15s ease}tbody tr:hover{background:#fafbfc}
.btn,.cta{border-radius:11px!important}
.badge{font-weight:650}

/* Client-only premium experience */
.lv-client-portal .nav .section{display:none!important}
.lv-client-portal .sidebar{background:linear-gradient(180deg,#0a0f14 0%,#10161c 100%)!important}
.lv-client-portal .sidebar .profile [data-user-role]{display:inline-block;margin-top:2px;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#66727d!important}
.lv-client-portal .client-select{display:none!important}
.lv-client-portal .left-title p strong{font-weight:700}
.lv-client-portal .mobile-brand{display:flex!important;align-items:center;gap:8px;min-width:0}
.lv-client-portal .mobile-brand .lv-brand-logo{width:30px;height:30px;border-radius:9px}
.lv-client-portal .mobile-brand .lv-brand-title{font-size:15px;max-width:190px;color:#111417}
.lv-client-portal .mobile-brand .lv-brand-sub{display:none}
.lv-client-welcome{
  display:none;grid-template-columns:minmax(0,1.45fr) minmax(240px,.55fr);gap:14px;
  margin:0 0 16px;
}
.lv-client-portal .lv-client-welcome{display:grid}
.lv-welcome-main,.lv-welcome-side{
  border:1px solid var(--lv-border);border-radius:24px;background:#fff;box-shadow:var(--lv-shadow);
}
.lv-welcome-main{position:relative;overflow:hidden;padding:29px 30px}
.lv-welcome-main:after{content:"";position:absolute;width:250px;height:250px;border-radius:50%;right:-90px;top:-130px;background:color-mix(in srgb,var(--lv-brand) 13%,white);opacity:.62}
.lv-welcome-eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#89939d;font-weight:800;margin-bottom:8px}
.lv-welcome-main h2{position:relative;z-index:1;margin:0 0 8px;font-size:29px;line-height:1.12;letter-spacing:-.9px;max-width:720px}
.lv-welcome-main p{position:relative;z-index:1;margin:0;color:#68727c;font-size:14px;line-height:1.58;max-width:670px}
.lv-welcome-actions{position:relative;z-index:1;display:flex;gap:8px;flex-wrap:wrap;margin-top:19px}
.lv-quick-link{display:inline-flex;align-items:center;gap:7px;text-decoration:none;font-size:12px;font-weight:720;color:#20262c;border:1px solid #e3e7ea;background:#fff;padding:9px 12px;border-radius:10px}
.lv-quick-link.primary{color:#fff;background:var(--lv-brand);border-color:var(--lv-brand)}
.lv-welcome-side{padding:24px;display:flex;flex-direction:column;justify-content:center}
.lv-status-line{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:760;margin-bottom:12px}
.lv-status-dot{width:9px;height:9px;border-radius:50%;background:#19a566;box-shadow:0 0 0 5px rgba(25,165,102,.10)}
.lv-welcome-side strong{font-size:27px;letter-spacing:-.8px;margin:2px 0 4px}
.lv-welcome-side small{color:#7c858e;line-height:1.45}
.lv-powered-chip{display:inline-flex;align-items:center;gap:6px;margin-top:14px;color:#8a949d;font-size:10px;font-weight:650}
.lv-powered-chip:before{content:"LV";display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:#111417;color:#fff;font-size:8px;font-weight:850}
.lv-client-portal .demo-banner{display:none!important}

/* Login / auth polish */
body:has(.shell){background:radial-gradient(circle at 18% 4%,#ffffff 0,#f4f6f8 45%,#edf1f4 100%)!important}
.shell{border-color:#e3e7ea!important;box-shadow:0 32px 100px rgba(12,19,25,.14)!important}
.shell .hero{background:
  radial-gradient(circle at 80% 22%,rgba(255,255,255,.07),transparent 30%),
  linear-gradient(155deg,#080c10 0%,#111820 58%,#080c10 100%)!important}
.shell .hero .brand{letter-spacing:-.9px}
.shell .hero h2{letter-spacing:-1.5px}
.shell .pill{background:rgba(255,255,255,.03)}
.shell .form-side input{background:#fbfcfd;border-color:#dfe4e8}
.shell .form-side input:focus{border-color:#8d98a3;box-shadow:0 0 0 4px rgba(17,20,23,.055)}
.shell .cta{min-height:45px;font-size:13px;box-shadow:0 8px 22px rgba(17,20,23,.16)}

@media(max-width:1100px){
  body:not(.lv-auth-page) .main{padding-left:26px!important;padding-right:26px!important}
  .lv-client-welcome{grid-template-columns:1fr}
  .lv-welcome-side{min-height:145px}
}
@media(max-width:760px){
  body:not(.lv-auth-page) .main{padding:78px 14px 28px!important}
  .mobile-topbar{height:62px!important;background:rgba(255,255,255,.94)!important;backdrop-filter:blur(14px);box-shadow:0 8px 24px rgba(16,24,32,.045)}
  .mobile-menu-btn{border-radius:12px!important;width:40px!important;height:40px!important;font-size:0!important;position:relative}
  .mobile-menu-btn:before,.mobile-menu-btn:after,.mobile-menu-btn{--m:#fff}
  .mobile-menu-btn:before{content:"";position:absolute;left:11px;right:11px;top:13px;height:2px;background:#fff;box-shadow:0 6px 0 #fff,0 12px 0 #fff;border-radius:2px}
  .lv-welcome-main{padding:23px 20px}.lv-welcome-main h2{font-size:25px}.lv-welcome-side{padding:20px}
  .grid-kpi{gap:10px!important}.card{border-radius:17px!important}.kpi{padding:17px!important}
  .topbar{gap:12px!important}.controls{gap:7px!important}
  .sidebar{width:min(294px,86vw)!important;padding-left:16px!important;padding-right:16px!important}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
