/* ============================================================================
   LYVOFY — CSS applicatif (espace membre, auth, Academy Tutor) v1
   Source : app.src.css ; tools/build.py produit app.css (+ tokens de design/tokens.css).
   ============================================================================ */
:root {
  /* Surfaces */
  --lyv-bg: #080B14;
  --lyv-bg-2: #101624;
  --lyv-bg-3: #151C2E;
  --lyv-card: rgba(255, 255, 255, 0.055);
  --lyv-card-strong: rgba(255, 255, 255, 0.085);
  --lyv-border: rgba(255, 255, 255, 0.10);
  --lyv-border-strong: rgba(255, 255, 255, 0.18);
  --lyv-light: #F7F9FC;
  --lyv-light-2: #EEF2F8;

  /* Marque */
  --lyv-primary: #7C5CFF;          /* décoratif, bordures, halos */
  --lyv-primary-300: #A18CFF;      /* texte/liens sur fond sombre (7.2:1) */
  --lyv-primary-600: #6A48F5;      /* fonds de bouton (blanc 5.4:1) */
  --lyv-blue: #4D8DFF;
  --lyv-blue-600: #3D63D6;
  --lyv-accent: #2DE2A6;           /* progression, succès */
  --lyv-grad: linear-gradient(135deg, #7C5CFF 0%, #4D8DFF 100%);
  --lyv-grad-btn: linear-gradient(135deg, #6A48F5 0%, #3D63D6 100%);
  --lyv-grad-text: linear-gradient(100deg, #B9A8FF 0%, #7FB0FF 55%, #2DE2A6 110%);

  /* Texte */
  --lyv-text: #F7F8FC;
  --lyv-text-2: #9CA8BA;
  --lyv-text-3: #8A97AB;
  --lyv-ink: #101828;              /* texte sur fond clair */
  --lyv-ink-2: #475467;

  /* États */
  --lyv-success: #2DE2A6;
  --lyv-warning: #F5B94A;
  --lyv-danger: #FF6B81;
  --lyv-info: #7FB0FF;

  /* Typo */
  --lyv-font-head: "Manrope", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --lyv-font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --lyv-font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Consolas, monospace;
  --lyv-fs-xs: 0.8125rem;
  --lyv-fs-sm: 0.9375rem;
  --lyv-fs-md: 1.0625rem;
  --lyv-fs-lg: 1.25rem;
  --lyv-fs-xl: clamp(1.5rem, 1.2rem + 1.2vw, 2rem);
  --lyv-fs-2xl: clamp(1.875rem, 1.4rem + 2vw, 2.75rem);
  --lyv-fs-3xl: clamp(2.375rem, 1.6rem + 3.6vw, 4.25rem);

  /* Formes & rythme */
  --lyv-radius: 18px;
  --lyv-radius-sm: 12px;
  --lyv-radius-pill: 999px;
  --lyv-blur: blur(14px);
  --lyv-shadow: 0 20px 60px -24px rgba(0, 0, 0, 0.65);
  --lyv-glow: 0 0 0 1px rgba(124, 92, 255, 0.35), 0 18px 50px -18px rgba(124, 92, 255, 0.55);
  --lyv-space-1: 4px;
  --lyv-space-2: 8px;
  --lyv-space-3: 12px;
  --lyv-space-4: 16px;
  --lyv-space-5: 24px;
  --lyv-space-6: 32px;
  --lyv-space-7: 48px;
  --lyv-space-8: 72px;
  --lyv-space-9: 112px;
  --lyv-container: 1200px;
  --lyv-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --lyv-focus: 0 0 0 3px #080B14, 0 0 0 5px #A18CFF;
}

/* ---------- Base applicative ---------- */
body.lyv-app-page .lyv-hdr,body.lyv-app-page .lyv-ftr,body.lyv-app-page .lyv-skip,
body.lyv-auth-page .lyv-hdr,body.lyv-auth-page .lyv-ftr{display:none!important}
body.lyv-app-page,body.lyv-auth-page{background:var(--lyv-bg)}
.lyv-app,.lyv-auth,.lyv-notes,.lyv-tutor-scope{font-family:var(--lyv-font-body);color:var(--lyv-text);font-size:1rem;line-height:1.6}
.lyv-app *,.lyv-auth *{box-sizing:border-box}
/* body + classe : l'emporte sur « body.lyv-site :where(a){color:inherit} » du CSS global (liens visibles dans notes, auth, alertes). */
body .lyv-app a,body .lyv-auth a{color:var(--lyv-primary-300)}
.lyv-app h1,.lyv-app h2,.lyv-app h3,.lyv-auth h1,.lyv-auth h2{font-family:var(--lyv-font-head);color:var(--lyv-text);letter-spacing:-.02em;line-height:1.2}
/* Marges de base via :where() (spécificité 0,1,0) : les classes de composant (.lyv-card__title, .lyv-ph__sub,
   .lyv-field__help, .lyv-auth__alt, .lyv-note…) fixent leurs propres marges au lieu d'être écrasées. */
:is(.lyv-app,.lyv-auth) :where(h1,h2,h3){margin:0 0 .5em}
:is(.lyv-app,.lyv-auth) :where(p){margin:0 0 1em}
.lyv-i{width:20px;height:20px;flex:none}
.lyv-muted{color:var(--lyv-text-2)}
.lyv-small{font-size:.9375rem}
.lyv-xs{font-size:.8125rem}
.lyv-mono{font-family:var(--lyv-font-mono)}
.lyv-num{font-family:var(--lyv-font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.lyv-center{text-align:center}
.lyv-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.lyv-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.lyv-app :focus-visible,.lyv-auth :focus-visible{outline:none;box-shadow:var(--lyv-focus);border-radius:10px}

/* ---------- Boutons ---------- */
.lyv-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:11px 20px;border-radius:var(--lyv-radius-pill);font:600 .9375rem/1.2 var(--lyv-font-body);text-decoration:none!important;border:1px solid transparent;cursor:pointer;transition:transform .2s var(--lyv-ease),box-shadow .2s,background .2s,border-color .2s;white-space:nowrap}
.lyv-btn .lyv-i{width:18px;height:18px}
.lyv-btn--primary{background:var(--lyv-grad-btn);color:#fff!important;box-shadow:0 10px 26px -12px rgba(106,72,245,.85)}
.lyv-btn--primary:hover{transform:translateY(-1px)}
.lyv-btn--ghost{background:rgba(255,255,255,.05);border-color:var(--lyv-border-strong);color:var(--lyv-text)!important}
.lyv-btn--ghost:hover{background:rgba(255,255,255,.09)}
.lyv-btn--danger{background:rgba(255,107,129,.12);border-color:rgba(255,107,129,.45);color:#FFB3BF!important}
.lyv-btn--danger:hover{background:rgba(255,107,129,.2)}
.lyv-btn--sm{min-height:36px;padding:7px 14px;font-size:.875rem}
.lyv-btn--block{width:100%}
.lyv-btn[disabled],.lyv-btn.is-loading{opacity:.6;pointer-events:none}
.lyv-btn.is-loading::after{content:"";width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:lyv-spin .7s linear infinite}
@keyframes lyv-spin{to{transform:rotate(360deg)}}
.lyv-btns{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.lyv-link{font-weight:600;text-decoration:none}
.lyv-link:hover{text-decoration:underline}

/* ---------- Formulaires ---------- */
.lyv-form{display:grid;gap:16px}
.lyv-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.lyv-field{display:grid;gap:6px;min-width:0}
.lyv-field label{font-weight:600;font-size:.875rem;color:var(--lyv-text)}
.lyv-field__row{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.lyv-field__row a{font-size:.8125rem}
.lyv-input.lyv-input{width:100%;height:auto;min-height:46px;padding:11px 14px;border-radius:12px;border:1px solid var(--lyv-border-strong);background:rgba(255,255,255,.04);color:var(--lyv-text);font:400 1rem/1.4 var(--lyv-font-body);transition:border-color .2s,background .2s,box-shadow .2s;appearance:none;-webkit-appearance:none}
select.lyv-input.lyv-input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239CA8BA' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:18px;padding-right:40px}
select.lyv-input option{background:#101624;color:var(--lyv-text)}
textarea.lyv-input.lyv-input{min-height:110px;resize:vertical}
.lyv-input.lyv-input::placeholder{color:#7C889B;opacity:1}
.lyv-input.lyv-input:hover{border-color:rgba(255,255,255,.28)}
.lyv-input.lyv-input:focus{outline:none;border-color:#A18CFF;background:rgba(124,92,255,.07);box-shadow:0 0 0 3px rgba(124,92,255,.25)}
.lyv-input.lyv-input[aria-invalid="true"]{border-color:var(--lyv-danger)}
.lyv-input.lyv-input:disabled{opacity:.6}
.lyv-input.lyv-input--code{font:600 1.375rem/1 var(--lyv-font-mono);letter-spacing:.4em;text-align:center}
.lyv-field__help{margin:0;font-size:.8125rem;color:var(--lyv-text-3)}
.lyv-field__err{margin:0;font-size:.8125rem;color:#FF9AAB}
.lyv-check,.lyv-radio{display:flex;gap:10px;align-items:flex-start;font-size:.9375rem;color:var(--lyv-text-2);cursor:pointer}
.lyv-check input,.lyv-radio input{flex:none;width:18px;height:18px;margin-top:2px;accent-color:#7C5CFF}
/* Cases et boutons radio aux couleurs de la marque (au lieu du carré blanc natif sur fond sombre). */
:is(.lyv-app,.lyv-auth) input:is([type=checkbox],[type=radio]){-webkit-appearance:none;appearance:none;flex:none;width:18px;height:18px;margin:2px 0 0;padding:0;border:1.5px solid rgba(255,255,255,.34);border-radius:5px;background:rgba(255,255,255,.04) center/14px no-repeat;cursor:pointer;transition:background-color .15s,border-color .15s}
:is(.lyv-app,.lyv-auth) input[type=radio]{border-radius:50%}
:is(.lyv-app,.lyv-auth) input:is([type=checkbox],[type=radio]):hover{border-color:#A18CFF}
:is(.lyv-app,.lyv-auth) input[type=checkbox]:checked{background-color:#6A48F5;border-color:#7C5CFF;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 10.5l3.2 3.2L15 7'/%3E%3C/svg%3E")}
:is(.lyv-app,.lyv-auth) input[type=radio]:checked{border-color:#7C5CFF;background:radial-gradient(circle,#A18CFF 0 4px,rgba(124,92,255,.18) 4.5px)}
:is(.lyv-app,.lyv-auth) input:is([type=checkbox],[type=radio]):focus-visible{outline:none;box-shadow:var(--lyv-focus)}
:is(.lyv-app,.lyv-auth) input:is([type=checkbox],[type=radio]):disabled{opacity:.5;cursor:not-allowed}
.lyv-check small{display:block;color:var(--lyv-text-3);font-size:.8125rem}
.lyv-check strong{color:var(--lyv-text)}
.lyv-consents{border:0;padding:0;margin:0;display:grid;gap:10px}
.lyv-pw{position:relative}
.lyv-pw .lyv-input{padding-right:48px}
.lyv-pw__toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:9px;border:0;background:transparent;color:var(--lyv-text-2);cursor:pointer;display:grid;place-items:center}
.lyv-pw__toggle[aria-pressed="true"]{color:var(--lyv-primary-300)}
.lyv-meter{height:4px;border-radius:9px;background:rgba(255,255,255,.08);overflow:hidden}
.lyv-meter i{display:block;height:100%;width:0;border-radius:inherit;transition:width .3s,background .3s}
.lyv-disclose{border:1px solid var(--lyv-border);border-radius:12px;padding:0 14px}
.lyv-disclose>summary{cursor:pointer;padding:12px 0;font-weight:600;color:var(--lyv-text);list-style:none}
.lyv-disclose>summary::-webkit-details-marker{display:none}
.lyv-disclose>summary::before{content:"+";display:inline-block;width:18px;color:var(--lyv-primary-300)}
.lyv-disclose[open]>summary::before{content:"–"}
.lyv-disclose[open]{padding-bottom:14px}
.lyv-inline{display:inline}

/* ---------- Alertes, badges ---------- */
.lyv-alert{padding:13px 16px;border-radius:12px;font-size:.9375rem;margin:0 0 16px;border:1px solid}
.lyv-alert--ok{background:rgba(45,226,166,.08);border-color:rgba(45,226,166,.35);color:#B6F5DE}
.lyv-alert--err{background:rgba(255,107,129,.08);border-color:rgba(255,107,129,.4);color:#FFC2CC}
.lyv-alert pre,.lyv-codes{font:500 .9375rem/1.8 var(--lyv-font-mono);color:var(--lyv-text);margin:8px 0 0;white-space:pre-wrap}
.lyv-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--lyv-radius-pill);font:600 .75rem/1.3 var(--lyv-font-body);letter-spacing:.02em;background:rgba(255,255,255,.07);border:1px solid var(--lyv-border);color:var(--lyv-text-2);white-space:nowrap}
.lyv-badge--primary{background:rgba(124,92,255,.16);border-color:rgba(124,92,255,.4);color:#CFC4FF}
.lyv-badge--accent{background:rgba(45,226,166,.12);border-color:rgba(45,226,166,.35);color:var(--lyv-accent)}
.lyv-badge--warn{background:rgba(245,185,74,.12);border-color:rgba(245,185,74,.35);color:var(--lyv-warning)}
/* Type de commission : directe (violet) / indirecte (bleu), distinguables aussi par le libellé. */
.lyv-badge--dir{background:rgba(124,92,255,.12);border-color:rgba(124,92,255,.35);color:#CFC4FF}
.lyv-badge--ind{background:rgba(77,141,255,.12);border-color:rgba(77,141,255,.4);color:#A9C6FF}
.lyv-dot{width:8px;height:8px;border-radius:50%;background:currentColor;display:inline-block}
.lyv-dot--live{color:var(--lyv-accent);box-shadow:0 0 0 0 rgba(45,226,166,.6);animation:lyv-live 2s infinite}
@keyframes lyv-live{70%{box-shadow:0 0 0 8px rgba(45,226,166,0)}100%{box-shadow:0 0 0 0 rgba(45,226,166,0)}}
.lyv-note{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:14px;background:rgba(127,176,255,.07);border:1px solid rgba(127,176,255,.25);color:var(--lyv-text-2);font-size:.9375rem;margin:0 0 20px}
.lyv-note p{margin:0}
.lyv-note strong{color:var(--lyv-text)}
.lyv-note .lyv-i{margin-top:2px;color:#7FB0FF}
.lyv-note--warn{background:rgba(245,185,74,.07);border-color:rgba(245,185,74,.3)}
.lyv-note--warn .lyv-i{color:var(--lyv-warning)}
.lyv-note--small{font-size:.8125rem;margin-top:20px}

/* ---------- Auth ---------- */
.lyv-auth{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(0,520px) minmax(0,460px);gap:40px;justify-content:center;align-items:center;padding:48px 20px;position:relative;isolation:isolate}
.lyv-auth::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(700px 500px at 20% 0%,rgba(124,92,255,.22),transparent 70%),radial-gradient(600px 400px at 90% 100%,rgba(77,141,255,.14),transparent 70%)}
.lyv-auth__card{background:rgba(16,22,36,.82);border:1px solid var(--lyv-border);border-radius:24px;padding:36px;box-shadow:var(--lyv-shadow);-webkit-backdrop-filter:var(--lyv-blur);backdrop-filter:var(--lyv-blur)}
.lyv-auth__logo{display:inline-flex;margin-bottom:26px;text-decoration:none}
.lyv-auth__title{font-size:1.75rem;font-weight:800}
.lyv-auth__sub{color:var(--lyv-text-2)}
.lyv-auth__alt{margin:22px 0 0;text-align:center;color:var(--lyv-text-2);font-size:.9375rem}
.lyv-auth__aside{padding:12px}
.lyv-auth__aside h2{font-size:1.5rem}
.lyv-auth-page .lyv-auth:only-child{grid-template-columns:minmax(0,480px)}
.lyv-logo-mark{display:inline-flex;align-items:center;gap:10px;font:800 1.0625rem var(--lyv-font-head);letter-spacing:.14em;color:var(--lyv-text)}
.lyv-auth .lyv-eyebrow{font:600 .75rem var(--lyv-font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--lyv-primary-300)}
.lyv-checks{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:10px}
.lyv-checks li{position:relative;padding-left:30px;color:var(--lyv-text-2)}
.lyv-checks li::before{content:"";position:absolute;left:0;top:.2em;width:20px;height:20px;border-radius:6px;background:rgba(45,226,166,.14) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%232DE2A6' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 10.5l3 3 6-7'/%3E%3C/svg%3E") center/16px no-repeat}
@media (max-width:900px){.lyv-auth{grid-template-columns:minmax(0,520px);padding:24px 16px}.lyv-auth__aside{display:none}.lyv-auth__card{padding:26px 20px;border-radius:20px}}
@media (max-width:420px){.lyv-form__grid{grid-template-columns:1fr}}

/* ---------- Shell de l'espace membre ---------- */
.lyv-app{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh;min-height:100dvh;background:linear-gradient(90deg,rgba(10,14,25,.9) 259px,var(--lyv-border) 259px,var(--lyv-border) 260px,transparent 260px)}
@media (max-width:1024px){.lyv-app{background:none}}
.lyv-side{position:sticky;top:0;height:100vh;height:100dvh;display:flex;flex-direction:column;gap:18px;padding:22px 14px;border-right:1px solid var(--lyv-border);background:rgba(10,14,25,.9)}
.admin-bar .lyv-side{top:32px;height:calc(100vh - 32px)}
.lyv-side__top{display:flex;align-items:center;justify-content:space-between;padding:0 8px}
.lyv-side__logo{text-decoration:none}
.lyv-side__close{display:none}
.lyv-side__nav{display:grid;gap:2px;overflow:auto}
.lyv-nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;color:var(--lyv-text-2)!important;text-decoration:none!important;font-weight:500;font-size:.9375rem;transition:background .2s,color .2s}
.lyv-nav-item:hover{background:rgba(255,255,255,.05);color:var(--lyv-text)!important}
.lyv-nav-item.is-active{background:linear-gradient(90deg,rgba(124,92,255,.22),rgba(124,92,255,.06));color:#fff!important;box-shadow:inset 2px 0 0 #7C5CFF}
.lyv-nav-item.is-active .lyv-i{color:#B9A8FF}
.lyv-side__user{margin-top:auto;display:flex;align-items:center;gap:10px;padding:12px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid var(--lyv-border)}
.lyv-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--lyv-grad);color:#fff;font-weight:700;flex:none}
.lyv-side__who{display:grid;min-width:0;flex:1}
.lyv-side__who strong{font-size:.9375rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lyv-side__who small{color:var(--lyv-text-3);font-size:.75rem}
.lyv-side__out{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:var(--lyv-text-2)!important}
.lyv-side__out:hover{background:rgba(255,255,255,.06);color:#fff!important}
.lyv-app__main{padding:36px clamp(16px,3vw,44px) 60px;max-width:1280px;width:100%;outline:none}
.lyv-bottom{display:none}
.lyv-scrim{display:none}
.lyv-ph{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 26px}
.lyv-ph__title{font-size:clamp(1.5rem,1.2rem + 1.2vw,2.125rem);font-weight:800;margin:0}
.lyv-ph__sub{color:var(--lyv-text-2);margin:6px 0 0}

@media (max-width:1024px){
  .lyv-app{grid-template-columns:minmax(0,1fr)}
  .lyv-side{position:fixed;inset:0 auto 0 0;z-index:120;width:min(86vw,320px);height:100%;transform:translateX(-102%);transition:transform .3s var(--lyv-ease);box-shadow:var(--lyv-shadow);background:#0B1020}
  .admin-bar .lyv-side{top:0;height:100%}
  .lyv-side.is-open{transform:none}
  .lyv-side__close{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;border:1px solid var(--lyv-border);background:transparent;color:var(--lyv-text)}
  .lyv-scrim:not([hidden]){display:block;position:fixed;inset:0;z-index:110;background:rgba(3,5,10,.6)}
  .lyv-app__main{padding:22px 16px 110px}
  .lyv-bottom{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:100;background:rgba(8,11,20,.94);-webkit-backdrop-filter:var(--lyv-blur);backdrop-filter:var(--lyv-blur);border-top:1px solid var(--lyv-border);padding:6px 6px calc(6px + env(safe-area-inset-bottom))}
  .lyv-bottom a,.lyv-bottom button{display:grid;justify-items:center;gap:3px;padding:7px 2px;border:0;background:transparent;border-radius:12px;color:var(--lyv-text-3)!important;text-decoration:none;font:500 .6875rem var(--lyv-font-body);cursor:pointer;min-height:48px}
  .lyv-bottom .is-active{color:#fff!important;background:rgba(124,92,255,.16)}
  .lyv-bottom .lyv-i{width:22px;height:22px}
}
@media (prefers-reduced-motion:reduce){.lyv-side{transition:none}}

/* ---------- Cartes, grilles, KPI ---------- */
.lyv-card{background:var(--lyv-card);border:1px solid var(--lyv-border);border-radius:var(--lyv-radius);padding:22px;margin:0 0 20px;min-width:0}
.lyv-card--glow{border-color:rgba(124,92,255,.45);box-shadow:var(--lyv-glow)}
.lyv-card--glass{-webkit-backdrop-filter:var(--lyv-blur);backdrop-filter:var(--lyv-blur);background:linear-gradient(160deg,rgba(124,92,255,.12),rgba(255,255,255,.04))}
.lyv-card__title{font-size:1.0625rem;font-weight:700;margin:0 0 14px}
.lyv-card__head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.lyv-card__head .lyv-card__title{margin:0}
.lyv-grid{display:grid;gap:20px}
.lyv-grid>.lyv-card{margin:0}
.lyv-g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.lyv-g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.lyv-grid+.lyv-card,.lyv-grid+section,.lyv-grid+.lyv-kpis{margin-top:20px}
.lyv-ico{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:12px;background:rgba(124,92,255,.14);border:1px solid rgba(124,92,255,.3);color:var(--lyv-primary-300);margin-bottom:12px}
.lyv-big{display:block;font:800 2.25rem/1 var(--lyv-font-head);letter-spacing:-.03em;background:var(--lyv-grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:6px}
.lyv-kv{list-style:none;padding:0;margin:0 0 16px;display:grid;gap:10px}
.lyv-kv li{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding-bottom:10px;border-bottom:1px dashed var(--lyv-border);flex-wrap:wrap}
.lyv-kv li:last-child{border-bottom:0;padding-bottom:0}
.lyv-kv span{color:var(--lyv-text-2);font-size:.9375rem}
.lyv-kv strong{font-weight:600}
.lyv-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:0 0 20px}
.lyv-kpis--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.lyv-kpis--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.lyv-kpis--6{grid-template-columns:repeat(6,minmax(0,1fr))}
.lyv-kpi{background:var(--lyv-card);border:1px solid var(--lyv-border);border-radius:16px;padding:16px;display:grid;gap:4px;min-width:0}
.lyv-kpi__l{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--lyv-text-3);font-weight:600}
.lyv-kpi__v{font:700 1.375rem/1.2 var(--lyv-font-mono);letter-spacing:-.02em;color:var(--lyv-text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.lyv-kpi small{color:var(--lyv-text-3);font-size:.75rem}
.lyv-kpi--accent{border-color:rgba(45,226,166,.35);background:linear-gradient(160deg,rgba(45,226,166,.1),rgba(255,255,255,.03))}
.lyv-kpi--accent .lyv-kpi__v{color:var(--lyv-accent)}
.lyv-kpi--ind{border-color:rgba(77,141,255,.35);background:linear-gradient(160deg,rgba(77,141,255,.1),rgba(255,255,255,.03))}
.lyv-stats .lyv-stat{display:grid;gap:4px}
.lyv-stat span{font-size:.8125rem;color:var(--lyv-text-3)}
.lyv-stat strong{font:700 1.75rem var(--lyv-font-mono)}
@media (max-width:1280px){.lyv-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:1024px){.lyv-g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.lyv-g2,.lyv-g3{grid-template-columns:1fr}.lyv-kpis,.lyv-kpis--4,.lyv-kpis--3{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.lyv-kpi{padding:13px}.lyv-kpi__v{font-size:1.125rem}.lyv-card{padding:18px}}

/* Accès */
.lyv-access{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.lyv-access h2{margin:8px 0 4px;font-size:1.25rem}
.lyv-access p{margin:0}

/* Dashboard membre */
.lyv-dash{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px}
.lyv-dash>.lyv-card{margin:0}
.lyv-dash__continue{grid-column:span 8}
.lyv-dash__progress{grid-column:span 4}
.lyv-dash__live,.lyv-dash__res{grid-column:span 4}
.lyv-dash__recent,.lyv-dash__new{grid-column:span 4}
.lyv-dash__partner,.lyv-dash__res{grid-column:span 12}
.lyv-dash__res .lyv-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
@media (max-width:1100px){.lyv-dash__continue,.lyv-dash__progress,.lyv-dash__live,.lyv-dash__recent,.lyv-dash__new{grid-column:span 6}}
@media (max-width:760px){.lyv-dash{grid-template-columns:1fr}.lyv-dash>*{grid-column:auto!important}.lyv-dash__res .lyv-links{grid-template-columns:1fr}}
.lyv-progress-big{display:flex;gap:18px;align-items:center}
.lyv-progress-big .lyv-kv{flex:1;margin:0}
.lyv-ring{--p:0;width:64px;height:64px;border-radius:50%;background:conic-gradient(var(--lyv-accent) calc(var(--p)*1%),rgba(255,255,255,.08) 0);display:grid;place-items:center;flex:none}
.lyv-ring::before{content:attr(data-label);width:calc(100% - 14px);height:calc(100% - 14px);border-radius:50%;background:#0e1424;display:grid;place-items:center;font:600 .8125rem var(--lyv-font-mono);color:var(--lyv-text)}
.lyv-ring--lg{width:104px;height:104px}
.lyv-ring--lg::before{font-size:1.125rem}
.lyv-live{margin:0 0 12px}
.lyv-live .lyv-dot{margin:0 10px 0 2px;vertical-align:.1em}
.lyv-links{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.lyv-links a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid var(--lyv-border);color:var(--lyv-text)!important;text-decoration:none;font-weight:500}
.lyv-links a:hover{border-color:rgba(124,92,255,.45)}
.lyv-links .lyv-i{color:var(--lyv-primary-300)}
.lyv-bar{display:block;height:8px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}
.lyv-bar>i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2DE2A6,#4D8DFF)}
.lyv-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:10px;border-radius:14px;text-decoration:none!important;color:var(--lyv-text)!important;transition:background .2s}
.lyv-row:hover{background:rgba(255,255,255,.04)}
.lyv-row__thumb{width:72px;height:44px;border-radius:9px;overflow:hidden;background:linear-gradient(135deg,rgba(124,92,255,.5),rgba(77,141,255,.3));display:grid;place-items:center;color:#fff}
.lyv-row__thumb img{width:100%;height:100%;object-fit:cover}
.lyv-row--big .lyv-row__thumb{width:132px;height:76px}
.lyv-row__txt{display:grid;gap:5px;min-width:0}
.lyv-row__txt strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.9375rem}
.lyv-row__txt small{color:var(--lyv-text-3);font-size:.8125rem}
.lyv-row__pct{font:600 .875rem var(--lyv-font-mono);color:var(--lyv-text-2);min-width:4.5ch;text-align:right}
.lyv-themes{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.lyv-themes li{display:grid;grid-template-columns:minmax(120px,220px) minmax(0,1fr) 56px;gap:14px;align-items:center}
@media (max-width:560px){.lyv-themes li{grid-template-columns:minmax(0,1fr) 48px}.lyv-themes .lyv-bar{grid-column:1/-1;order:3}}

/* ---------- Academy ---------- */
.lyv-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:0 0 20px;padding:14px;border-radius:16px;background:rgba(255,255,255,.03);border:1px solid var(--lyv-border)}
.lyv-filters .lyv-field{flex:1 1 150px}
.lyv-filters .lyv-input.lyv-input{min-height:42px;padding-top:9px;padding-bottom:9px}
.lyv-filters__new{padding-bottom:10px}
.lyv-courses{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.lyv-course{background:var(--lyv-card);border:1px solid var(--lyv-border);border-radius:var(--lyv-radius);overflow:hidden;transition:transform .3s var(--lyv-ease),border-color .3s}
.lyv-course:hover{transform:translateY(-4px);border-color:rgba(124,92,255,.45)}
.lyv-course[hidden]{display:none}
.lyv-course__link{display:block;color:var(--lyv-text)!important;text-decoration:none!important;height:100%}
.lyv-course__thumb{position:relative;aspect-ratio:16/9;background:linear-gradient(135deg,rgba(124,92,255,.55),rgba(77,141,255,.3)),#151c2e;display:grid;place-items:center}
.lyv-course__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.lyv-course__ph .lyv-i{width:44px;height:44px;color:#fff;opacity:.9}
.lyv-course__new{position:absolute;left:12px;top:12px}
.lyv-course__body{padding:16px;display:grid;gap:8px}
.lyv-course__cat{font:600 .6875rem var(--lyv-font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--lyv-primary-300)}
.lyv-course__title{font-size:1.0625rem;margin:0;line-height:1.3}
.lyv-course__meta{display:flex;flex-wrap:wrap;gap:4px 12px;margin:0;font-size:.8125rem;color:var(--lyv-text-3)}
.lyv-course__prog{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;font:500 .75rem var(--lyv-font-mono);color:var(--lyv-text-2)}

/* ---------- Tableaux ---------- */
.lyv-table-wrap{overflow-x:auto;border:1px solid var(--lyv-border);border-radius:14px;margin:0 0 12px;-webkit-overflow-scrolling:touch}
.lyv-table{width:100%;border-collapse:collapse;font-size:.9375rem;border:0!important;margin:0}
.lyv-table th,.lyv-table td{border:0!important;border-bottom:1px solid var(--lyv-border)!important}
.lyv-table tr:last-child td{border-bottom:0!important}
.lyv-table th,.lyv-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--lyv-border);vertical-align:middle}
.lyv-table th{font:600 .6875rem var(--lyv-font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--lyv-text-3);background:rgba(255,255,255,.025);white-space:nowrap}
.lyv-table td{color:var(--lyv-text-2)}
.lyv-table tr:last-child td{border-bottom:0}
.lyv-table tbody tr:hover td{background:rgba(255,255,255,.02)}
@media (max-width:760px){
  .lyv-table-wrap:has(.lyv-table--cards){border:0;overflow:visible}
  .lyv-table--cards thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .lyv-table--cards,.lyv-table--cards tbody,.lyv-table--cards tr,.lyv-table--cards td{display:block;width:100%}
  .lyv-table--cards tr{background:var(--lyv-card);border:1px solid var(--lyv-border);border-radius:14px;padding:6px 14px;margin:0 0 10px}
  .lyv-table--cards td{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px dashed var(--lyv-border);text-align:right}
  .lyv-table--cards td::before{content:attr(data-th);font:600 .75rem var(--lyv-font-body);letter-spacing:.04em;text-transform:uppercase;color:var(--lyv-text-3);text-align:left}
  .lyv-table--cards td:last-child{border-bottom:0}
}

/* ---------- Onglets, segments ---------- */
.lyv-tabs{display:flex;gap:4px;padding:4px;margin:0 0 22px;border-radius:var(--lyv-radius-pill);background:rgba(255,255,255,.04);border:1px solid var(--lyv-border);width:max-content;max-width:100%;overflow-x:auto;scrollbar-width:none}
.lyv-tabs::-webkit-scrollbar{display:none}
.lyv-tabs a{padding:8px 16px;border-radius:var(--lyv-radius-pill);color:var(--lyv-text-2)!important;text-decoration:none!important;font-weight:500;font-size:.9375rem;white-space:nowrap}
.lyv-tabs a:hover{color:var(--lyv-text)!important}
.lyv-tabs a.is-active{background:rgba(124,92,255,.22);color:#fff!important}
.lyv-seg{display:inline-flex;gap:2px;padding:3px;border-radius:10px;background:rgba(255,255,255,.05);border:1px solid var(--lyv-border)}
.lyv-seg a{padding:6px 12px;border-radius:8px;font:600 .8125rem var(--lyv-font-body);color:var(--lyv-text-2)!important;text-decoration:none!important}
.lyv-seg a[aria-current]{background:rgba(124,92,255,.25);color:#fff!important}
.lyv-seg--wide{margin:0 0 14px;flex-wrap:wrap}

/* ---------- Graphique ---------- */
.lyv-chart{margin:0}
.lyv-chart svg{display:block;width:100%;height:220px;overflow:visible}
.lyv-chart rect{fill:#7C5CFF;opacity:.9;transition:opacity .2s}
.lyv-chart rect.i{fill:#4D8DFF}
.lyv-chart rect:hover{opacity:1;filter:brightness(1.25)}
.lyv-chart__legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin:12px 0 0;padding:0;list-style:none;font-size:.8125rem;color:var(--lyv-text-2)}
.lyv-chart__legend li{display:flex;align-items:center;gap:8px;margin:0}
.lyv-chart__legend strong{font-family:var(--lyv-font-mono);color:var(--lyv-text)}
.lyv-sw{display:inline-block;width:12px;height:12px;border-radius:3px;flex:none}
.lyv-sw--d{background:#7C5CFF}
.lyv-sw--i{background:#4D8DFF}
.lyv-chart line{stroke:rgba(255,255,255,.14);stroke-width:.3;vector-effect:non-scaling-stroke}
.lyv-chart line.grid{stroke-dasharray:2 2;stroke:rgba(255,255,255,.07)}
.lyv-chart figcaption{display:flex;justify-content:space-between;gap:10px;margin-top:10px;font:500 .75rem var(--lyv-font-mono);color:var(--lyv-text-3)}
.lyv-sr-table{margin-top:10px;font-size:.8125rem}
.lyv-sr-table summary{cursor:pointer;color:var(--lyv-text-3)}

/* ---------- Mon lien ---------- */
.lyv-copy{display:flex;gap:10px;margin:0 0 12px}
.lyv-copy .lyv-input{flex:1;min-width:0;font-size:.9375rem}
.lyv-gen{display:grid;gap:12px;margin:0 0 12px}
.lyv-gen .lyv-copy{margin:0}
@media (max-width:520px){.lyv-copy{flex-direction:column}}
.lyv-qrcard{display:grid;justify-items:center;align-content:start;gap:14px;text-align:center}
.lyv-qr{width:188px;height:188px;padding:12px;border-radius:16px;background:#fff;display:grid;place-items:center}
.lyv-qr svg,.lyv-qr canvas{width:100%;height:100%}
.lyv-2fa{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin:0 0 16px}
.lyv-2fa .lyv-qr{width:160px;height:160px}
.lyv-reasons{margin:0 0 16px;padding-left:18px;color:var(--lyv-warning);font-size:.9375rem}

/* ---------- Wizard Partner ---------- */
.lyv-wizard{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px;align-items:start}
.lyv-wizard__steps{list-style:none;margin:0;padding:0;display:grid;gap:4px;position:sticky;top:24px}
.lyv-wizard__steps li a,.lyv-wizard__steps li span{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;color:var(--lyv-text-3)!important;text-decoration:none!important;font-weight:500;font-size:.9375rem}
.lyv-wizard__steps b{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;font:600 .75rem var(--lyv-font-mono);background:rgba(255,255,255,.06);border:1px solid var(--lyv-border)}
.lyv-wizard__steps .is-done a{color:var(--lyv-text-2)!important}
.lyv-wizard__steps .is-done b{background:rgba(45,226,166,.15);border-color:rgba(45,226,166,.4);color:var(--lyv-accent)}
.lyv-wizard__steps .is-current a{background:rgba(124,92,255,.16);color:#fff!important}
.lyv-wizard__steps .is-current b{background:#7C5CFF;border-color:#7C5CFF;color:#fff}
.lyv-wizard__panel h2{font-size:1.375rem}
.lyv-wizard__panel .lyv-form{margin-top:18px}
@media (max-width:900px){.lyv-wizard{grid-template-columns:1fr}.lyv-wizard__steps{position:static;display:flex;overflow-x:auto;gap:6px;padding-bottom:4px}.lyv-wizard__steps li{flex:none}}
.lyv-module{border:1px solid var(--lyv-border);border-radius:14px;padding:0 16px;margin:0 0 10px;background:rgba(255,255,255,.02)}
.lyv-module summary{cursor:pointer;padding:14px 0;font-weight:600;color:var(--lyv-text)}
.lyv-module summary b{color:var(--lyv-primary-300);margin-right:6px}
.lyv-module ul{color:var(--lyv-text-2);margin:0 0 12px;padding-left:18px}
.lyv-module .lyv-check{padding-bottom:14px}
.lyv-quiz{border:1px solid var(--lyv-border);border-radius:14px;padding:14px 16px;margin:0 0 12px;display:grid;gap:8px}
.lyv-quiz legend{font-weight:600;color:var(--lyv-text);padding:0 6px}
.lyv-timeline{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:8px}
.lyv-timeline li{display:flex;align-items:center;gap:10px;color:var(--lyv-text-3)}
.lyv-timeline b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;font:600 .75rem var(--lyv-font-mono);border:1px solid var(--lyv-border)}
.lyv-timeline .is-done{color:var(--lyv-text-2)}
.lyv-timeline .is-done b{background:rgba(45,226,166,.15);color:var(--lyv-accent)}
.lyv-timeline .is-current{color:var(--lyv-text)}
.lyv-timeline .is-current b{background:#7C5CFF;border-color:#7C5CFF;color:#fff}
.lyv-state h2{margin-top:12px}

/* ---------- Checklist Ads ---------- */
.lyv-checklist{list-style:none;margin:0;padding:0;display:grid;gap:8px;counter-reset:c}
.lyv-checklist li{padding:12px 14px;border-radius:12px;border:1px solid var(--lyv-border);background:rgba(255,255,255,.02)}
.lyv-checklist li:has(input:checked){border-color:rgba(45,226,166,.35);background:rgba(45,226,166,.05)}

/* ---------- Marketing Hub ---------- */
.lyv-tabs--scroll{width:100%}
/* Onglets qui débordent sur petit écran : fondu à droite pour signaler le défilement. */
@media (max-width:760px){.lyv-tabs{padding-right:28px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 30px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 30px),transparent)}}
.lyv-assets{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.lyv-asset{background:var(--lyv-card);border:1px solid var(--lyv-border);border-radius:var(--lyv-radius);overflow:hidden;display:flex;flex-direction:column}
.lyv-asset__preview{position:relative;aspect-ratio:16/10;background:linear-gradient(135deg,rgba(124,92,255,.35),rgba(77,141,255,.2)),#121a2c;display:grid;place-items:center;color:#fff}
.lyv-asset__preview img{width:100%;height:100%;object-fit:cover}
.lyv-asset__preview .lyv-i{width:40px;height:40px}
.lyv-asset__ok{position:absolute;right:10px;top:10px}
.lyv-asset__body{padding:16px;display:grid;gap:10px;flex:1;align-content:start}
.lyv-asset__body h3{font-size:1.0625rem;margin:0}
.lyv-asset__meta{margin:0;font-size:.8125rem;color:var(--lyv-text-3)}
.lyv-asset__dl{display:grid;gap:4px;margin:0;font-size:.8125rem}
.lyv-asset__dl div{display:flex;gap:8px}
.lyv-asset__dl dt{color:var(--lyv-text-3);min-width:96px}
.lyv-asset__dl dd{margin:0;color:var(--lyv-text-2)}
.lyv-copyblock{position:relative;padding:12px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid var(--lyv-border)}
.lyv-copyblock span{display:block;font:600 .6875rem var(--lyv-font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--lyv-text-3);margin-bottom:4px}
.lyv-copyblock p{margin:0 0 8px;font-size:.9375rem;color:var(--lyv-text);max-height:9.5em;overflow:auto}

/* ---------- États vides / chargement / modale ---------- */
.lyv-empty{text-align:center;padding:40px 20px;border:1px dashed var(--lyv-border-strong);border-radius:var(--lyv-radius);background:rgba(255,255,255,.015)}
.lyv-empty__ico{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:16px;background:rgba(124,92,255,.14);color:var(--lyv-primary-300);margin-bottom:12px}
.lyv-empty__ico .lyv-i{width:26px;height:26px}
.lyv-empty h3{font-size:1.125rem;margin-bottom:6px}
.lyv-empty p{color:var(--lyv-text-2);max-width:46ch;margin:0 auto 16px}
.lyv-skel{display:block;border-radius:10px;background:linear-gradient(90deg,rgba(255,255,255,.04),rgba(255,255,255,.09),rgba(255,255,255,.04));background-size:200% 100%;animation:lyv-sk 1.4s infinite}
@keyframes lyv-sk{to{background-position:-200% 0}}
.lyv-modal{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:16px;background:rgba(3,5,10,.7)}
.lyv-modal[hidden]{display:none}
.lyv-modal__box{width:min(520px,100%);background:#101624;border:1px solid var(--lyv-border-strong);border-radius:20px;padding:24px;box-shadow:var(--lyv-shadow)}
.lyv-verify{text-align:center;max-width:560px}
.lyv-verify form{margin:16px 0}
@media (prefers-reduced-motion:reduce){.lyv-skel,.lyv-dot--live{animation:none}.lyv-course,.lyv-btn{transition:none}}

/* ---------- Pagination / blog ---------- */
.lyv-pagination ul{list-style:none;display:flex;gap:6px;justify-content:center;padding:0;margin:28px 0 0}
.lyv-pagination a,.lyv-pagination span{display:grid;place-items:center;min-width:40px;height:40px;border-radius:10px;border:1px solid var(--lyv-border);color:var(--lyv-text-2);text-decoration:none}
.lyv-pagination .current{background:#7C5CFF;border-color:#7C5CFF;color:#fff}
.lyv-post h3{font-size:1.125rem;margin:10px 0 8px}
.lyv-post h3 a{color:var(--lyv-text);text-decoration:none}
.lyv-post__img img{width:100%;height:auto;border-radius:12px;margin-bottom:10px;aspect-ratio:16/9;object-fit:cover}

/* ---------- Notes de leçon ---------- */
.lyv-notes{margin:28px 0;padding:20px;border-radius:16px;background:#101624;border:1px solid var(--lyv-border)}
.lyv-notes h2{font:700 1.0625rem var(--lyv-font-head);color:var(--lyv-text);margin:0 0 10px}

/* ---------- Tutor LMS : surface de lecture claire (DA « fond clair #F7F9FC / texte #101828 ») ----------
   L'en-tête LYVOFY reste sombre ; la zone cours/leçon/quiz utilise le thème natif de Tutor, recoloré aux
   couleurs de la marque. Choix de lisibilité et de maintenabilité (pas de sur-surcharge du CSS Tutor). */
body.lyv-site.lyv-tutor{background:#F7F9FC;
  --tutor-color-primary:#6A48F5;--tutor-color-primary-rgb:106,72,245;--tutor-color-primary-hover:#5B3FE0;--tutor-body-color:#344054;
  --tutor-actions-brand-primary:#6A48F5;--tutor-button-primary:#6A48F5;--tutor-button-primary-hover:#5B3FE0;--tutor-border-brand:#6A48F5;--tutor-icon-brand:#6A48F5;
  --tutor-font-family:"Inter",system-ui,sans-serif}
body.lyv-site.lyv-tutor #main-container,body.lyv-site.lyv-tutor .site-main{background:#F7F9FC!important;color:#101828}
body.lyv-site.lyv-tutor .ct-container-full,body.lyv-site.lyv-tutor .ct-container{max-width:1200px!important;margin:0 auto!important;padding:32px 20px 64px!important}
body.lyv-site.lyv-tutor h1,body.lyv-site.lyv-tutor h2,body.lyv-site.lyv-tutor h3,body.lyv-site.lyv-tutor .tutor-course-details-title{font-family:var(--lyv-font-head);color:#101828;letter-spacing:-.02em}
body.lyv-site.lyv-tutor .lyv-ftr{margin-top:0}
body.lyv-site.single-lesson .lyv-hdr,body.lyv-site.single-lesson .lyv-ftr,body.lyv-site.single-tutor_quiz .lyv-hdr,body.lyv-site.single-tutor_quiz .lyv-ftr{display:none!important}
body.lyv-site.lyv-tutor .tutor-btn-primary,body.lyv-site.lyv-tutor .tutor-btn.tutor-btn-primary{background:linear-gradient(135deg,#6A48F5,#3D63D6)!important;border-color:transparent!important;border-radius:999px!important;color:#fff!important}
body.lyv-site.lyv-tutor .tutor-btn-outline-primary{border-radius:999px!important}
body.lyv-site.lyv-tutor .tutor-progress-value{background:linear-gradient(90deg,#2DE2A6,#4D8DFF)!important}
body.lyv-site.lyv-tutor .lyv-notes{background:#fff;border-color:#E4E7EC;color:#344054}
body.lyv-site.lyv-tutor .lyv-notes h2{color:#101828}
body.lyv-site.lyv-tutor .lyv-notes .lyv-input{background:#fff;color:#101828;border-color:#D0D5DD}
