/* LionVoice app dashboard — Geeknius parity (light primary) */
@import url("https://fonts.googleapis.com/css2?family=Hind:wght@400;700&family=Manrope:wght@400;600;700;800;900&family=Poppins:wght@500;600;700&display=swap");

:root{
  --lv-ink:#394153;
  --lv-muted:#4a5568;
  --lv-bg:#e8f9fc;
  --lv-bg2:#f4fcfe;
  --lv-card:#ffffffcc;
  --lv-card-solid:#fff;
  --lv-line:rgba(57,65,83,.12);
  --lv-cyan:#0dd7f7;
  --lv-cyan-dark:#0abfdc;
  --lv-magenta:#c45cff;
  --lv-ok:#12d18b;
  --lv-bad:#e05a6a;
  --lv-warn:#e0a24a;
  --lv-radius:18px;
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{min-height:100%}
body{
  background:#f5fbfe;
  color:var(--lv-ink);
  font-family:"Manrope",system-ui,sans-serif;
  line-height:1.55;
  overflow-x:hidden;
}
body::after{
  content:"";
  position:fixed;
  inset:-5%;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse 70% 55% at 50% 50%, rgba(13,215,247,.85), transparent 62%),
    radial-gradient(ellipse 65% 50% at 50% 50%, rgba(196,92,255,.7), transparent 60%),
    radial-gradient(ellipse 60% 55% at 50% 50%, rgba(122,92,255,.62), transparent 58%),
    radial-gradient(ellipse 55% 50% at 50% 50%, rgba(196,149,106,.55), transparent 58%);
  background-size:160% 160%, 170% 150%, 150% 170%, 165% 160%;
  background-repeat:no-repeat;
  animation:lvDashGrad 6s ease-in-out infinite;
  will-change:background-position,opacity;
  filter:saturate(1.35);
  opacity:.95;
}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.26;
  background-image:radial-gradient(rgba(13,215,247,.45) 1px, transparent 1px);
  background-size:22px 22px;
}
/* Blobs jump corner→corner so the shift is obvious within ~1–2s */
@keyframes lvDashGrad{
  0%{
    background-position:-20% -10%, 120% -20%, 110% 120%, -30% 110%;
    opacity:.88;
  }
  25%{
    background-position:110% -15%, -25% 40%, -20% -10%, 120% 30%;
    opacity:1;
  }
  50%{
    background-position:115% 110%, 30% 120%, -25% 90%, 40% -20%;
    opacity:.9;
  }
  75%{
    background-position:-15% 115%, 120% 70%, 100% 20%, -20% 40%;
    opacity:1;
  }
  100%{
    background-position:-20% -10%, 120% -20%, 110% 120%, -30% 110%;
    opacity:.88;
  }
}
@media (prefers-reduced-motion:reduce){
  body::after{animation:none;opacity:.9;background-position:10% 20%,90% 15%,75% 85%,15% 80%}
}
header,nav,main,footer{position:relative;z-index:1}

header{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:1rem 1.6rem;
  border-bottom:1px solid var(--lv-line);
  position:sticky;top:0;z-index:50;
  background:rgba(232,249,252,.86);backdrop-filter:blur(14px);
}
.lv-brand{
  display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--lv-ink);
}
.lv-brand img{
  width:34px;height:34px;object-fit:contain;
  filter:brightness(0) saturate(100%);opacity:.92;
}
.lv-brand .mark{
  font-family:"Manrope",sans-serif;font-weight:900;letter-spacing:-1.5px;
  font-size:28px;line-height:1;color:var(--lv-ink);
}
.lv-brand .mark span{color:var(--lv-ink)}
.lv-brand .mark::after{content:".";color:var(--lv-cyan)}
header .who{font-size:13px;color:var(--lv-muted);display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
header .who form{display:inline}

nav{
  display:flex;gap:.15rem;padding:0 1.2rem;flex-wrap:wrap;
  border-bottom:1px solid var(--lv-line);
  position:sticky;top:69px;z-index:49;
  background:rgba(255,255,255,.72);backdrop-filter:blur(12px);
}
nav a{
  padding:.85rem .85rem;color:var(--lv-muted);text-decoration:none;
  font-size:13px;font-weight:700;letter-spacing:.01em;
  border-bottom:2px solid transparent;
}
nav a:hover{color:var(--lv-ink)}
nav a.on{color:var(--lv-ink);border-color:var(--lv-cyan)}

main{max-width:1100px;margin:1.6rem auto 2.4rem;padding:0 1.2rem}

.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:1.2rem}
.card{
  background:var(--lv-card);border:1px solid var(--lv-line);
  border-radius:var(--lv-radius);padding:1.15rem 1.2rem;
  backdrop-filter:blur(8px);box-shadow:0 10px 30px rgba(12,18,32,.04);
}
.card .k{font-size:11px;color:var(--lv-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.card .v{font-size:1.55rem;font-weight:900;letter-spacing:-.5px;color:var(--lv-ink);margin-top:.25rem}
.card .v.gold{color:var(--lv-magenta)}

table{
  width:100%;border-collapse:collapse;
  background:var(--lv-card-solid);border:1px solid var(--lv-line);
  border-radius:16px;overflow:hidden;
  box-shadow:0 10px 30px rgba(12,18,32,.04);
}
th,td{padding:.75rem .9rem;text-align:left;font-size:.86rem;border-bottom:1px solid var(--lv-line);color:var(--lv-ink)}
th{color:var(--lv-muted);font-weight:800;background:rgba(13,215,247,.06);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}
tr:last-child td{border-bottom:0}

button,.btn{
  padding:.7rem 1.15rem;border:0;border-radius:999px;
  background:var(--lv-cyan);color:#0c1220;font-weight:700;cursor:pointer;
  text-decoration:none;display:inline-flex;align-items:center;gap:8px;
  font-family:"Poppins",sans-serif;font-size:13px;transition:.2s;
}
button:hover,.btn:hover{background:var(--lv-cyan-dark);color:#fff}
.btn.sec,.btn-sec{
  background:transparent;color:var(--lv-ink);
  border:1px solid rgba(57,65,83,.22);
}
.btn.sec:hover,.btn-sec:hover{border-color:var(--lv-cyan);color:var(--lv-cyan);background:transparent}
.btn.danger{
  background:rgba(224,90,106,.1);color:var(--lv-bad);
  border:1px solid rgba(224,90,106,.28);
}
.btn.danger:hover{background:rgba(224,90,106,.18)}

input,select,textarea{
  padding:.7rem .85rem;border-radius:12px;
  border:1px solid rgba(57,65,83,.18);
  background:#fff;color:var(--lv-ink);
  font-family:"Manrope",sans-serif;font-size:.92rem;
}
label.f + input, label.f + select, label.f + textarea,
.card input, .card select, form > input, form > select{width:100%;max-width:100%}
textarea{width:100%;min-height:120px;line-height:1.5}
textarea.big{min-height:260px;font-family:ui-monospace,Menlo,monospace;font-size:.85rem}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--lv-cyan);box-shadow:0 0 0 3px rgba(13,215,247,.15)}
select{
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230dd7f7' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
  background-repeat:no-repeat;background-position:right .7rem center;background-size:1.05em;padding-right:2.4rem;cursor:pointer;
}
select option{background:#fff;color:var(--lv-ink)}

*{scrollbar-width:thin;scrollbar-color:var(--lv-cyan) rgba(13,215,247,.08)}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:rgba(13,215,247,.06);border-radius:99px}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#0dd7f7,#c45cff);border-radius:99px;border:2px solid #e8f9fc}

.mono{font-family:ui-monospace,Menlo,monospace;font-size:.82rem;color:var(--lv-cyan-dark);word-break:break-all}
.note{
  background:rgba(13,215,247,.1);border:1px solid rgba(13,215,247,.28);
  padding:.9rem 1.1rem;border-radius:14px;font-size:.9rem;margin-bottom:1rem;color:var(--lv-ink);
}
.note.ok{background:rgba(18,209,139,.1);border-color:rgba(18,209,139,.3)}
.note.bad{background:rgba(224,90,106,.08);border-color:rgba(224,90,106,.28);color:#9b2c3a}
.empty{color:var(--lv-muted);text-align:center;padding:2rem;font-size:.92rem}
footer{color:var(--lv-muted);font-size:.75rem;text-align:center;padding:1.6rem}
footer a{color:var(--lv-cyan-dark)}
.lv-muted{color:var(--lv-muted)}
small{color:var(--lv-muted);font-size:.82rem;line-height:1.4}
::placeholder{color:#5b6578;opacity:1}
input::placeholder,textarea::placeholder,select::placeholder{color:#5b6578;opacity:1}

.pill{padding:.15rem .65rem;border-radius:999px;font-size:.74rem;display:inline-block;font-weight:700}
.pill.ok{background:rgba(18,209,139,.14);color:#0b8a5a}
.pill.warn{background:rgba(224,162,74,.16);color:#9a6a12}
.pill.bad{background:rgba(224,90,106,.14);color:#9b2c3a}

h3{font-size:1.05rem;font-weight:800;letter-spacing:-.3px;color:var(--lv-ink);margin:0 0 .8rem}
h2.sect{
  font-size:1.35rem;color:var(--lv-ink);margin:1.5rem 0 .85rem;
  font-weight:900;letter-spacing:-.6px;
}
h2.sect::after{
  content:"";display:block;width:42px;height:3px;margin-top:8px;
  background:linear-gradient(90deg,var(--lv-magenta),var(--lv-cyan));border-radius:99px;
}
.row{display:flex;gap:.65rem;flex-wrap:wrap;align-items:center}
.bar{height:8px;border-radius:99px;background:rgba(57,65,83,.08);overflow:hidden}
.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--lv-cyan),var(--lv-magenta));border-radius:99px}
label.f{
  display:block;font-size:.72rem;color:var(--lv-muted);margin:.95rem 0 .35rem;
  text-transform:uppercase;letter-spacing:.07em;font-weight:800;
}
details summary{cursor:pointer;color:var(--lv-cyan-dark);font-size:.9rem;margin:.5rem 0;font-weight:700}
.lv-btn-play.playing::after{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--lv-ok);margin-left:6px}

.lv-hero-strip{
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;align-items:flex-end;
  margin-bottom:1.2rem;
}
.lv-hero-strip h1{
  font-size:clamp(1.6rem,3vw,2.2rem);font-weight:900;letter-spacing:-1px;line-height:1.1;
}
.lv-hero-strip p{color:var(--lv-muted);max-width:46ch;margin-top:.35rem;font-size:.95rem}
.lv-chip{
  display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;
  background:rgba(13,215,247,.12);border:1px solid rgba(13,215,247,.25);
  font-size:12px;font-weight:700;color:var(--lv-ink);
}
.lv-chip .dot{width:7px;height:7px;border-radius:50%;background:var(--lv-ok);box-shadow:0 0 0 3px rgba(18,209,139,.2)}

@media (max-width:720px){
  header{padding:.8rem 1rem}
  .lv-brand .mark{font-size:22px}
  nav{padding:0 .5rem;top:62px}
  nav a{padding:.7rem .55rem;font-size:12px}
  main{padding:0 .8rem;margin:1.1rem auto}
}
