/* Fodé Sanogo Officiel — direction « Cahier de parcours »
   Intégration issue du handoff visuel du 14/10/2026. */
:root{
  --ink:#0B1220;
  --blue:#1F5EFF;
  --blue-dark:#1747CC;
  --yellow:#F4C430;
  --paper:#F7F4EC;
  --surface:#FFFDF8;
  --white:#FFFDF8;
  --text:#3A4352;
  --muted:#5E6878;
  --line:#DCD6C6;
  --field:#8A8270;
  --track:#E8E2D2;
  --success:#1E6B47;
  --warning:#7A5400;
  --error:#B42318;
  --fs-radius:4px;
}

html{background:var(--paper)}
body{background:var(--paper);color:var(--ink);font-size:17px;line-height:1.6}
body,p,li,input,textarea,select,button{font-family:'DM Sans',Arial,sans-serif}
h1,h2,h3,h4{font-family:'Manrope','DM Sans',sans-serif;letter-spacing:-.03em;text-wrap:balance}
h1{font-size:clamp(2.25rem,3.9vw,3.5rem);line-height:1.05}
h2{font-size:clamp(2rem,2.8vw,2.55rem);line-height:1.15}
h3{font-size:clamp(1.25rem,1.8vw,1.45rem);line-height:1.25}
p{color:var(--text);text-wrap:pretty}
.eyebrow{color:var(--blue);font:500 12px/1.4 'IBM Plex Mono',monospace;letter-spacing:.08em}
.wrap{max-width:1280px;padding:64px clamp(20px,4vw,80px)}

button,.button{min-height:48px;padding:12px 22px;border-radius:var(--fs-radius);background:var(--blue);color:white;font-weight:600;box-shadow:none;transition:background .16s ease,color .16s ease,transform .16s ease}
button:hover,.button:hover{background:var(--blue-dark);color:white;filter:none;box-shadow:none;transform:translateY(-1px)}
.dark{background:var(--ink);color:var(--surface)}
.dark:hover{background:#141D30}
.outline{border:1.5px solid var(--ink);background:transparent;color:var(--ink)}
.outline:hover{border-color:var(--ink);background:var(--ink);color:var(--surface)}
.textbutton{background:transparent;color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.textbutton:hover{background:transparent;color:var(--blue);box-shadow:none}

.finance-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0}.finance-kpis>div{background:var(--surface);border:1px solid var(--line);padding:20px}.finance-kpis span{display:block;color:var(--muted);font:500 11px/1.3 'IBM Plex Mono',monospace;letter-spacing:.08em}.finance-kpis b{display:block;margin-top:8px;font-size:clamp(1.35rem,2.4vw,2rem)}.finance-tools{margin-top:22px}.finance-tools .fields{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.finance-tools label{font-size:.85rem}.finance-tools input,.finance-tools select{width:100%;margin-top:5px}.finance-tools .finance-search{grid-column:span 2}.finance-presets{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.finance-test{background:#f4c430!important;color:#251f00!important;border-color:#7a5400!important}.finance-pending{margin:18px 0}.finance-table{margin-top:18px}.finance-table td small{display:block;color:var(--muted)}.finance-definition{border-left:4px solid var(--blue)}
@media(max-width:900px){.finance-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-tools .fields{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-tools .finance-search{grid-column:span 2}}
@media(max-width:560px){.finance-kpis{grid-template-columns:1fr}.finance-tools .fields{grid-template-columns:1fr}.finance-tools .finance-search{grid-column:auto}}
.danger-action{border:1.5px solid var(--error);background:transparent;color:var(--error)}
button:focus-visible,.button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
button:disabled,.button:disabled{background:var(--line);color:var(--muted);opacity:1}

.announcement{display:none}
.site-header{position:relative;z-index:12;max-width:none;height:76px;padding:0 max(clamp(20px,4vw,80px),calc((100vw - 1440px)/2));border-bottom:1px solid var(--line);background:rgba(247,244,236,.97)}
.site-header .brand-logo{width:220px;max-width:29vw}
.site-header>nav{align-self:stretch;align-items:center;gap:30px}
.site-header>nav a{position:relative;display:flex;align-items:center;height:100%;padding:0;font-size:15px;color:var(--text)}
.site-header>nav a:not(.nav-diagnostic)::after{content:'';position:absolute;right:100%;bottom:20px;left:0;height:2px;background:var(--ink);transition:right .16s ease}
.site-header>nav a:hover::after{right:0}
.site-header>nav a[aria-current="page"]::after{right:0}
.site-header>nav a[aria-current="page"]{color:var(--ink);font-weight:700}
.site-header .nav-diagnostic{height:auto;min-height:40px;padding:8px 14px;border-radius:999px;background:var(--yellow);color:var(--ink)}
.site-header .nav-diagnostic:hover{color:var(--ink)}
.mobile-menu-toggle,.mobile-menu,.mobile-diagnostic-bar{display:none}

.premium-hero{max-width:1440px;min-height:650px;grid-template-columns:minmax(0,7fr) minmax(390px,5fr);gap:48px;padding:64px clamp(20px,4vw,80px);background:var(--paper);border:0}
.premium-hero::before,.premium-hero .hero-copy::before{display:none}
.premium-hero .hero-copy{padding:0;justify-content:center}
.hero-kicker{max-width:640px;padding-bottom:16px;border-color:var(--line)}
.premium-hero h1{max-width:760px;margin:28px 0 24px;font-size:clamp(3rem,4.7vw,4.25rem);line-height:1.02;letter-spacing:-.035em}
.premium-hero h1 em{color:var(--ink);font-style:normal;background:linear-gradient(transparent 62%,var(--yellow) 62%)}
.premium-hero h1 em::after{display:none}
.premium-hero>div:first-child>p{max-width:650px;color:var(--text);font-size:19px}
.premium-hero .hero-trust{max-width:650px;margin-top:38px;border:0;border-top:1px solid var(--line);background:transparent}
.premium-hero .hero-trust span{padding:16px 20px 0 0;border-right:0;border-left:1px solid var(--line)}
.premium-hero .hero-trust span:first-child{border-left:0}
.premium-hero .hero-trust b{color:var(--blue);font-size:14px}
.premium-portrait{min-height:560px;height:100%;margin:0;border:1px solid var(--ink);border-radius:var(--fs-radius);box-shadow:none}
.premium-portrait::before{inset:12px;border-color:#ffffff70}
.premium-portrait .portrait-tag{right:auto;bottom:28px;left:-28px;width:260px;padding:16px;border:1px solid var(--ink);border-radius:0;background:var(--surface);color:var(--ink)}
.premium-portrait .portrait-tag small{color:var(--muted)}
.premium-portrait .portrait-tag b{background:var(--yellow);color:var(--ink)}
.premium-ribbon{max-width:1280px;margin:0 auto;padding:22px clamp(20px,4vw,80px);justify-content:space-between;border-block:1px solid var(--line);background:transparent;color:var(--ink)}
.premium-ribbon div{display:grid;grid-template-columns:auto 1fr;gap:0 10px;align-items:center}
.premium-ribbon span{grid-row:1/3;color:var(--blue);font:500 12px 'IBM Plex Mono',monospace}
.premium-ribbon small{color:var(--muted)}

.home-section{padding-top:88px;padding-bottom:88px}
.home-section-marker{border-bottom:1px solid var(--line)}
.home-section-marker span{color:var(--blue);font-size:24px}
.sectionhead{align-items:end;padding-bottom:24px;border-bottom:1px solid var(--line)}
.sectionhead h1,.sectionhead h2,#formations .sectionhead h2,.shop-band .sectionhead h2,.home-media .sectionhead h2{max-width:800px;font-size:clamp(2rem,3vw,2.75rem)}
h1.screen-title{font-size:clamp(2rem,2.8vw,2.55rem);line-height:1.15;margin:14px 0 24px}
.dashboard-head h1{font-size:clamp(2.35rem,4vw,3.6rem);margin:9px 0 10px}
.sectionhead p{max-width:390px;color:var(--text)}
.home-band,.shop-band,.booking-band{background:var(--paper);border-block:1px solid var(--line)}
.shop-band::after{display:none}
.home-media{background:var(--ink)}
.home-media::before{display:none}
.home-media .home-video-channel{padding:32px;border-color:#2A3550;background:#141D30}
.home-media .youtube-home-channel{border-color:var(--line);background:var(--surface)}
.home-media+.home-section .support-layout{box-shadow:none}
.home-media+.home-section .support-main{background:var(--ink)}
.home-media+.home-section .support-main::after{display:none}
.home-media+.home-section .support-main h2{font-size:clamp(2.2rem,3.3vw,3.25rem)}
.home-media+.home-section .support-tools{background:var(--yellow)}
.booking-layout{border:1px solid var(--line);box-shadow:none}
.booking-copy{background:var(--ink)}
.booking-copy h2{font-size:clamp(2.15rem,3vw,3.25rem)}

.card,.panel,.module-edit,.lesson-edit,.quiz-edit,.assignment-edit,.assignment-card{border:1px solid var(--line);border-radius:var(--fs-radius);background:var(--surface);box-shadow:none}
.card{transition:border-color .16s ease,transform .16s ease}
.card:hover{transform:translateY(-2px);border-color:var(--ink)}
.card-top{border-radius:0}
.card-body{padding:24px}
.card h3{font-size:1.35rem}
.price{border-top-style:dashed}
.badge,.status{border:1px solid currentColor;border-radius:3px;background:transparent;font-weight:700}
.format-badge{background:transparent;color:var(--ink)}
.preview-card-badge,.public-module.is-preview .badge{border-color:var(--yellow);background:var(--yellow);color:var(--ink)}
.empty{border:1.5px dashed var(--field);border-radius:var(--fs-radius);background:transparent}

label{font-size:15px;font-weight:600}
input,textarea,select{min-height:48px;padding:12px 14px;border:1.5px solid var(--field);border-radius:var(--fs-radius);background:var(--surface);font-size:16px}
textarea{min-height:120px}
input:focus,textarea:focus,select:focus{border:2px solid var(--blue)}
.check-option{min-height:56px;border:1.5px solid var(--field);border-radius:var(--fs-radius);background:var(--surface)}
.check-option:has(input:checked){border:2px solid var(--blue);background:#E6EDFF}
.notice{border:1px solid #B8C9F6;border-left:4px solid var(--blue);border-radius:var(--fs-radius);background:#E6EDFF;color:var(--text)}
.success{border-left:4px solid var(--success);border-radius:var(--fs-radius);background:#E4F0E8;color:var(--success)}
.error{border-left:4px solid var(--error);border-radius:var(--fs-radius);background:#FBE9E6;color:var(--error)}
.progress{height:8px;border-radius:4px;background:var(--track)}
.progress span{border-radius:4px;background:var(--blue)}

.academy-filters{padding:24px;border:1px solid var(--line);border-left:1px solid var(--line);border-radius:var(--fs-radius);background:var(--surface);box-shadow:none}
.academy-filters input,.academy-filters select{background:var(--surface)}
.public-module,.program-section .public-module{border-radius:var(--fs-radius);background:var(--surface);box-shadow:none}
.public-module.is-preview{border-color:var(--yellow);background:#FBF0CF}

.course-landing{padding-top:20px;background:var(--paper)}
.course-landing-hero{grid-template-columns:minmax(0,7fr) minmax(360px,5fr);gap:48px;padding:38px 0 56px}
.course-landing-copy h1{max-width:720px;font-size:clamp(2.7rem,4vw,3.5rem);line-height:1.04;letter-spacing:-.035em}
.course-sales-promise{font-size:19px;color:var(--text)}
.course-proof-strip{margin-top:36px}
.course-proof-strip>div{min-height:74px;padding:15px;border-radius:var(--fs-radius);background:var(--surface)}
.course-presentation-media,.course-presentation-media img,.course-presentation-media video{min-height:470px;border-radius:var(--fs-radius);box-shadow:none}
.course-presentation-media{border:1px solid var(--ink)}
.course-price-card{right:-18px;bottom:28px;border:1px solid #2A3550;border-radius:var(--fs-radius);box-shadow:none}
.course-trust-row{justify-content:flex-start;background:transparent}
.course-landing-grid{grid-template-columns:minmax(0,8fr) minmax(280px,4fr);gap:48px;padding-top:64px}
.landing-section{padding-bottom:56px;margin-bottom:56px}
.landing-section h2{font-size:clamp(2rem,2.8vw,2.75rem);line-height:1.12}
.course-outcomes li{min-height:72px;padding:16px;border-radius:var(--fs-radius);background:var(--surface)}
.audience-section{padding:36px;border-left:4px solid var(--blue);border-radius:0;background:#E6EDFF}
.audience-section h2{font-size:clamp(1.75rem,2.3vw,2.25rem)}
.landing-steps>div{border-radius:var(--fs-radius);box-shadow:none}
.course-landing-aside{top:24px}
.instructor-card{border-color:#2A3550;background:var(--ink)}
.landing-offer{border-top:4px solid var(--yellow);box-shadow:none}

.workspace{grid-template-columns:256px minmax(0,1fr);gap:32px;align-items:start}
.sidebar{top:20px;padding:20px;border:1px solid #2A3550;border-radius:var(--fs-radius);background:var(--ink)}
.sidebar a{min-height:44px;padding:10px 12px;border-radius:0;border-left:3px solid transparent;color:#C9D0DC}
.sidebar a:hover,.sidebar a.active{border-left-color:var(--yellow);background:#141D30;color:var(--surface)}
.statbar{gap:12px}
.stat{border-radius:var(--fs-radius);background:var(--surface)}
.dashboard-focus,.creator-focus{border-color:#2A3550;background:var(--ink);color:var(--surface)}
.dashboard-focus p,.creator-focus p{color:#C9D0DC}
.dashboard-focus .eyebrow,.creator-focus .eyebrow{color:var(--yellow)}
.dashboard-focus .button,.creator-focus button{background:var(--yellow);color:var(--ink)}
.quick-link{border-radius:var(--fs-radius)}
.catalog-item{border-radius:var(--fs-radius);box-shadow:none}
.catalog-item:hover{box-shadow:none}
.catalog-toolbar,.editor-steps,.editor-summary{border-radius:var(--fs-radius)}
.editor-steps button{border-radius:0;background:transparent;color:var(--text)}
.editor-steps button.active{background:var(--ink);color:var(--surface)}
.module-edit{background:#F2EFE6}
.module-open{background:var(--yellow);color:var(--ink)}
.module-open:hover{background:#ddb125;color:var(--ink)}
.prospect-card,.prospect-tools{border-radius:var(--fs-radius)}
.topic-tags span{border:1px solid #B8C9F6;border-radius:999px;background:#E6EDFF;color:var(--blue-dark)}
table{font-size:15px}
th{font-family:'IBM Plex Mono',monospace;letter-spacing:.05em}
th,td{height:56px;border-color:var(--line)}

dialog{border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 24px 60px -20px rgba(11,18,32,.5)}
dialog::backdrop{background:rgba(11,18,32,.55);backdrop-filter:none}
#toast{border-radius:var(--fs-radius);box-shadow:0 8px 24px -8px rgba(11,18,32,.5)}

footer{max-width:none;margin-top:0;padding:56px max(clamp(20px,4vw,80px),calc((100vw - 1440px)/2));grid-template-columns:minmax(0,1.25fr) minmax(180px,.6fr) minmax(220px,.65fr);column-gap:clamp(36px,6vw,96px);border-top:0;background:var(--ink);color:#C9D0DC}
footer .brand{color:var(--surface)}
footer .footer-brand p{color:#C9D0DC;line-height:1.65}
footer .footer-links a{color:#F7F8FB}
footer .footer-signature{justify-self:end;color:#F7F8FB}
footer a:hover{color:var(--yellow)}

@media(max-width:1000px){
  .site-header>nav{gap:16px}
  .premium-hero,.course-landing-hero{grid-template-columns:1fr 1fr;gap:32px}
  .workspace{grid-template-columns:220px minmax(0,1fr);gap:22px}
  footer{grid-template-columns:minmax(0,1fr) minmax(180px,.7fr)}
  footer .footer-signature{grid-column:1/-1;justify-self:start}
}

@media(max-width:760px){
  body{font-size:17px;padding-bottom:0}
  h1{font-size:30px}h2{font-size:26px}h3{font-size:20px}
  .announcement{display:none}
  .site-header{position:sticky;top:0;height:60px;min-height:60px;padding:8px 16px;gap:8px}
  .site-header .brand-logo{width:150px;max-width:42vw}
  .site-header>nav{display:none}
  .site-header #member-nav .member-login{display:none}
  .site-header #member-nav .button{min-height:44px;padding:8px 12px}
  .mobile-menu-toggle{display:inline-flex;order:3;min-height:40px;padding:8px 12px;border:1.5px solid var(--ink);background:transparent;color:var(--ink)}
  .mobile-menu-toggle:hover{background:var(--ink);color:var(--surface)}
  .mobile-menu{position:relative;z-index:11;padding:8px 20px 22px;border-bottom:1px solid var(--line);background:var(--surface)}
  .mobile-menu:not([hidden]){display:block}
  .mobile-menu nav{display:grid}
  .mobile-menu a{display:flex;gap:14px;align-items:center;min-height:52px;border-bottom:1px solid var(--line);font:700 20px 'Manrope',sans-serif}
  .mobile-menu a span{color:var(--blue);font:500 11px 'IBM Plex Mono',monospace}
  .mobile-diagnostic-bar{position:sticky;top:60px;right:auto;bottom:auto;left:auto;z-index:11;display:flex;justify-content:space-between;align-items:center;height:44px;padding:0 16px;background:var(--yellow);color:var(--ink);font-weight:700}
  .wrap{padding:48px 20px}
  .premium-hero{grid-template-columns:1fr;min-height:0;padding:42px 20px;gap:34px}
  .premium-hero h1{font-size:36px}
  .hero-kicker small{display:none}
  .premium-hero .hero-trust{grid-template-columns:1fr;gap:0}
  .premium-hero .hero-trust span{border-left:0;border-bottom:1px solid var(--line);padding:12px 0}
  .premium-portrait{min-height:430px}
  .premium-portrait .portrait-tag{right:16px;bottom:16px;left:16px;width:auto}
  .premium-ribbon{display:none}
  .home-section{padding-top:64px;padding-bottom:64px}
  .sectionhead{align-items:start}
  .home-media .home-video-channel{padding:20px}
  .course-landing-hero{grid-template-columns:1fr;padding-top:24px}
  .course-landing-copy h1{font-size:36px}
  .course-proof-strip{grid-template-columns:1fr}
  .course-presentation-media,.course-presentation-media img,.course-presentation-media video{min-height:300px}
  .course-price-card{position:relative;right:auto;bottom:auto;margin:-28px 14px 0}
  .course-landing-grid{grid-template-columns:1fr;padding-top:48px}
  .course-outcomes,.landing-steps{grid-template-columns:1fr}
  .course-landing-aside{position:static;grid-template-columns:1fr}
  .workspace{grid-template-columns:1fr}
  .sidebar{position:static;display:flex;flex-wrap:nowrap;gap:4px;overflow-x:auto;scrollbar-width:none}
  .sidebar .eyebrow,.sidebar h3,.sidebar p{display:none}
  .sidebar a{flex:0 0 auto;white-space:nowrap;border-left:0;border-bottom:3px solid transparent}
  .sidebar a:hover,.sidebar a.active{border-left:0;border-bottom-color:var(--yellow)}
  .statbar{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-grid{grid-template-columns:1fr}
  .catalog-item{grid-template-columns:1fr}
  .catalog-actions{justify-content:flex-start}
  .fields,.signup-grid,.interest-grid{grid-template-columns:1fr}
  .tablewrap{max-width:calc(100vw - 40px)}
  footer{padding-bottom:36px}
  .footer-links a{display:flex;align-items:center;min-height:44px}
  .hf-auth-heading .textbutton,.hf-auth-label-row .textbutton,.hf-auth-form-panel .auth-links .textbutton{display:inline-flex;align-items:center;min-height:44px;padding-block:8px}
}

.certificate-ready-modal{max-width:620px;padding:12px 18px 18px;text-align:center}.certificate-ready-mark{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 20px;border-radius:50%;background:var(--yellow);color:var(--ink);font:700 34px/1 var(--font-sans,Arial,sans-serif)}.certificate-ready-modal h2{margin:10px 0 14px;font-size:clamp(28px,5vw,44px);line-height:1.05}.certificate-ready-modal p{max-width:520px;margin:0 auto 24px;color:var(--muted);font-size:17px;line-height:1.65}.certificate-ready-modal p strong{color:var(--ink)}.certificate-ready-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}.certificate-ready-actions .button,.certificate-ready-actions button{min-height:48px}.certificate-ready-modal>small{display:block;color:var(--muted)}
.route-loader{position:fixed;z-index:80;top:76px;right:0;left:0;display:flex;align-items:center;justify-content:center;gap:10px;height:38px;border-bottom:1px solid #b7c8ef;background:#edf3ff;color:var(--blue);font:600 12px/1 'IBM Plex Mono',monospace;letter-spacing:.03em;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .16s ease,transform .16s ease,visibility .16s}.route-loader.is-visible{opacity:1;visibility:visible;transform:translateY(0)}.route-loader span{width:14px;height:14px;border:2px solid #9eb7ef;border-top-color:var(--blue);border-radius:50%;animation:route-loader-spin .7s linear infinite}main[aria-busy="true"]{cursor:progress}@keyframes route-loader-spin{to{transform:rotate(360deg)}}
@media(max-width:760px){.route-loader{top:60px}}
@media(prefers-reduced-motion:reduce){.route-loader,.route-loader span{transition:none;animation:none}.route-loader span{border-color:var(--blue)}}

@media(max-width:430px){
  .site-header .brand-logo{width:138px}
  .site-header #member-nav .button{font-size:12px;padding:8px 10px}
  .mobile-menu-toggle{font-size:12px;padding:8px 10px}
  .premium-hero h1,.course-landing-copy h1{font-size:34px}
  .premium-portrait{min-height:390px}
  .statbar{grid-template-columns:1fr 1fr}
}

/* Tunnel de paiement : écran complet, dimensions du prototype Parcours A. */
body:has(.checkout-page)>.announcement,
body:has(.checkout-page)>.site-header,
body:has(.checkout-page)>.mobile-menu,
body:has(.checkout-page)>.mobile-diagnostic-bar,
body:has(.checkout-page)>footer{display:none!important}
.checkout-page{min-height:100vh;background:var(--paper)}
.checkout-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;padding:12px clamp(20px,4vw,80px);border-bottom:1px solid var(--line);background:var(--paper)}
.checkout-header img{display:block;width:auto;height:32px}
.checkout-header .payment-stepper{display:flex;align-items:center;gap:6px;margin:0;border:0;background:transparent;list-style:none;font-size:14px;font-weight:600}
.checkout-header .payment-stepper li{min-height:0;padding:0;border:0;color:var(--muted)}
.checkout-header .payment-stepper .is-complete{color:var(--success)}
.checkout-header .payment-stepper .is-current{color:var(--ink);box-shadow:inset 0 -2px 0 var(--blue)}
.checkout-page .checkout-shell{width:min(100%,1440px);max-width:1440px;margin:0 auto;padding:clamp(24px,4vw,56px) clamp(20px,4vw,80px) clamp(48px,6vw,96px)}
.checkout-page .checkout-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);gap:clamp(24px,3vw,48px);align-items:start}
.checkout-form{display:flex;flex-direction:column;gap:24px;min-width:0}
.checkout-form>.back{width:max-content}
.checkout-form>h1{margin:0;font-size:clamp(26px,2.6vw,34px)}
.checkout-product{display:flex;align-items:center;gap:16px;padding:18px;border:1px solid var(--line);border-radius:4px;background:var(--surface)}
.checkout-product img{width:96px;aspect-ratio:16/10;object-fit:cover;border-radius:3px;background:#ECE6D6}
.checkout-product>div{flex:1;min-width:0}.checkout-product h2{margin:4px 0;font:700 18px/1.3 'DM Sans',sans-serif}.checkout-product p{margin:0;font-size:14px;color:var(--muted)}
.checkout-product>strong{font:800 18px/1.2 'Manrope',sans-serif;white-space:nowrap}
.checkout-option{display:grid;gap:10px}.checkout-option>.eyebrow{color:var(--muted)}
.checkout-page .order-bump-option{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;border:1.5px dashed var(--field);background:var(--paper)}
.checkout-page .order-bump-option input{flex:0 0 auto;width:22px;height:22px;margin:0}
.checkout-page .order-bump-option span{display:grid;gap:4px}.checkout-page .order-bump-option small{font-size:15px;color:var(--text)}
.checkout-promo label{display:grid;gap:8px}.checkout-promo label>div{display:flex;gap:8px}.checkout-promo input{flex:1;font-family:'IBM Plex Mono',monospace;text-transform:uppercase}
.price-promo{display:inline-flex;align-items:flex-end;flex-wrap:wrap;gap:4px 8px}.price-promo del{width:100%;font-size:.72em;font-weight:600;color:var(--muted);text-decoration-thickness:1px}.price-promo strong{color:var(--success,#137A48)}.price-promo small{width:100%;font:700 10px/1.25 'IBM Plex Mono',monospace;letter-spacing:.04em;color:var(--success,#137A48);text-transform:uppercase}.price-promo.is-compact{display:inline-flex;gap:2px 6px}.price-promo.is-compact del{width:auto;font-size:.8em}.price-promo.is-compact small{font-size:9px}.checkout-product .price-promo{justify-content:flex-end;text-align:right}.checkout-promo input[aria-invalid="true"]{border-color:#B42318;box-shadow:0 0 0 2px rgba(180,35,24,.12)}.checkout-promo input[aria-invalid="false"]{border-color:var(--success,#137A48);box-shadow:0 0 0 2px rgba(19,122,72,.12)}
.checkout-provider{display:grid;gap:8px;padding:16px 18px;border:1px solid var(--line);border-radius:4px;background:var(--surface)}
.checkout-provider span{font-size:15px;line-height:1.5;color:var(--text)}
.checkout-page .payment-summary{position:sticky;top:24px;display:flex;flex-direction:column;padding:0;border:1px solid var(--ink);border-top:1px solid var(--ink);border-radius:4px;background:var(--surface)}
.checkout-page .payment-summary>.eyebrow{padding:18px 20px;border-bottom:1px solid var(--line);color:var(--muted)}
.checkout-page .payment-summary .summary-line{padding:16px 20px;border-bottom:0}
.checkout-page .payment-summary .summary-total{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:16px 20px;border-top:1px solid var(--ink);font:700 17px 'DM Sans',sans-serif}
.checkout-page .payment-summary .summary-total strong{font:800 28px 'Manrope',sans-serif}
.checkout-page .payment-summary>button,.checkout-page .payment-summary>.notice{margin:0 20px 12px}
.checkout-page .payment-summary>small{padding:0 20px 20px;font-size:14px;line-height:1.5;color:var(--muted)}
@media(max-width:760px){
  .checkout-header{align-items:flex-start}.checkout-header .payment-stepper{gap:4px;font-size:12px}
  .checkout-page .checkout-grid{grid-template-columns:1fr}.checkout-product{align-items:flex-start;flex-wrap:wrap}.checkout-product>strong{margin-left:112px}
  .checkout-page .payment-summary{position:static}.checkout-promo label>div{align-items:stretch}.checkout-promo button{flex:0 0 auto}
}

/* Handoff frame contract: 1440 / 1024 / 390 canvases. */
:root{--handoff-frame:1280px;--public-frame:1280px;--reader-width:380px;--learner-rail:260px;--studio-rail:256px}
body{container-type:inline-size}
.wrap{width:min(100%,var(--handoff-frame));margin-inline:auto}
.public-frame,.course-landing,.academy-page{max-width:var(--public-frame);margin-inline:auto}
.course-landing .split{grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);align-items:start}
.course-landing .product-preview{aspect-ratio:4/3;min-height:0}
.auth-surface,.checkout-shell{min-height:calc(100vh - 72px);align-content:center}
.checkout-shell{max-width:1120px;margin-inline:auto}
.learner-shell{grid-template-columns:var(--learner-rail) minmax(0,1fr)}
.workspace{grid-template-columns:var(--studio-rail) minmax(0,1fr)}
.reader-shell{max-width:calc(var(--reader-width) + 760px);margin-inline:auto}
.command-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:12px}
.command-grid>*{grid-column:span 2}
.prospect-table{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,420px);gap:24px}
@container (max-width:1100px){.course-landing .split{grid-template-columns:1fr 360px}.command-grid>*{grid-column:span 4}}
@container (max-width:760px){.wrap{padding-inline:20px}.course-landing .split,.prospect-table,.learner-shell,.workspace{grid-template-columns:1fr}.command-grid{grid-template-columns:repeat(2,1fr)}.command-grid>*{grid-column:span 1}.reader-shell{max-width:none}}

/* Public handoff screens */
.public-frame{background:var(--paper,#F7F4EC)}.public-hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:clamp(28px,4cqi,56px);padding:clamp(32px,5cqi,72px) clamp(20px,4cqi,80px)}
.public-hero h1,.course-hero h1{font-family:Manrope,sans-serif;font-size:clamp(38px,4cqi,60px);line-height:1.04;letter-spacing:-.04em;margin:12px 0 20px}.public-hero h1 em{font-style:normal;background:linear-gradient(transparent 62%,var(--yellow) 62%)}
.public-hero-visual,.course-visual{position:relative}.public-hero-visual img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:4px}.path-card{position:absolute;left:-24px;bottom:28px;width:240px;padding:16px;background:var(--paper);border:1px solid var(--ink);display:grid;gap:10px}.hero-facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);margin-top:20px}.hero-facts>div{display:grid;gap:4px;padding:14px 16px 4px 0}.hero-facts b,.landing-steps b{color:var(--blue);font-family:'IBM Plex Mono',monospace}.hero-facts small{color:var(--muted)}
.public-section{padding:clamp(48px,6cqi,96px) clamp(20px,4cqi,80px);border-top:1px solid var(--line)}.public-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.public-page-head{padding:64px clamp(20px,4cqi,80px) 32px;max-width:760px}.public-page-head h1{font:800 clamp(38px,4cqi,60px)/1.05 Manrope;margin:12px 0}.public-page-head p{font-size:18px;line-height:1.6;color:var(--muted)}
.course-hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:clamp(28px,4cqi,56px);padding:36px 0 48px}.course-visual>img,.course-visual video,.course-visual iframe{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px}.course-price-card{position:absolute;right:-18px;bottom:18px;width:260px;background:var(--ink);color:var(--paper);padding:18px;display:grid;gap:8px}.course-price-card strong{font:800 28px Manrope}.course-trust-row{display:flex;flex-wrap:wrap;gap:24px;border-block:1px solid var(--line);padding:18px 0}.course-landing-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px;padding:48px 0}.landing-section{padding:32px 0;border-top:1px solid var(--line)}.landing-section h2{font:800 clamp(28px,3cqi,42px)/1.1 Manrope}.public-module{border-top:1px solid var(--line);padding:18px 0}.public-module summary{display:flex;justify-content:space-between;gap:16px;cursor:pointer;font-weight:700}.public-module summary b{font:12px 'IBM Plex Mono';color:var(--blue);margin-right:10px}.public-module>div{padding:14px 0 0 48px;color:var(--muted)}.landing-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.course-faq details{border-top:1px solid var(--line);padding:18px 0}.course-faq summary{font-weight:700;cursor:pointer}
@container (max-width:760px){.public-hero,.course-hero,.course-landing-grid{grid-template-columns:1fr}.public-hero{padding-inline:20px}.path-card{left:12px}.hero-facts,.landing-steps{grid-template-columns:1fr}.course-price-card{position:static;width:auto;margin-top:-18px}.course-landing-grid{gap:12px}.public-page-head{padding-inline:20px}}

/* ========================================================================== */
/* Écrans hi-fi — handoff « Cahier de parcours »                              */
/* ========================================================================== */

/* Le shell enseigne toujours l'état courant, même sur réseau instable. */
.offline-banner,.session-warning{
  position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:center;
  gap:12px;min-height:44px;padding:8px 20px;border-bottom:1px solid #d7b35b;
  background:#FBF0CF;color:var(--warning);font-weight:700
}
.offline-banner[hidden],.session-warning[hidden]{display:none}
.error-summary{margin:0 0 24px;padding:18px 20px;border-left:4px solid var(--error);background:#FBE9E6;color:var(--error)}
.error-summary:focus{outline:3px solid var(--yellow);outline-offset:2px}
.skeleton{position:relative;overflow:hidden;background:#EFEADD;color:transparent;border-radius:4px}
.skeleton::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,#fff9,transparent);animation:fso-shimmer 1.4s linear infinite}
@keyframes fso-shimmer{to{transform:translateX(100%)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Statuts : symbole + libellé + couleur, jamais une couleur seule. */
.status,.status-badge{display:inline-flex;align-items:center;gap:6px;width:max-content;max-width:100%;padding:4px 8px;border:1px solid currentColor;border-radius:3px;font-size:12px;font-weight:700;line-height:1.35;text-transform:none;letter-spacing:0}
.status[data-status="published"],.status.is-success,.status-badge.is-success{background:#E4F0E8;color:var(--success)}
.status[data-status="draft"],.status.is-neutral,.status-badge.is-neutral{background:var(--surface);color:var(--muted)}
.status[data-status="pending"],.status.is-warning,.status-badge.is-warning{background:#FBF0CF;color:var(--warning)}
.status[data-status="refused"],.status.is-error,.status-badge.is-error{background:#FBE9E6;color:var(--error)}

/* Accueil — composition éditoriale 7/5 et parcours en six chapitres. */
.premium-hero .hero-copy{max-width:780px}
.premium-hero .hero-actions{margin-top:30px}
.premium-portrait{aspect-ratio:4/5}
.home-section-marker{display:grid;grid-template-columns:52px 1fr;align-items:end;gap:16px;margin-bottom:32px;padding-bottom:14px}
.home-section-marker span{font:800 30px/1 'Manrope',sans-serif}
.home-section-marker small{font:500 12px/1.3 'IBM Plex Mono',monospace;letter-spacing:.09em}
.support-layout{display:grid;grid-template-columns:minmax(0,7fr) minmax(280px,5fr);border:1px solid #2A3550;border-radius:4px;overflow:hidden}
.support-main,.support-tools{padding:clamp(28px,4vw,54px)}
.support-main{background:var(--ink);color:var(--surface)}
.support-main p{color:#C9D0DC}.support-main .eyebrow{color:var(--yellow)}
.support-tools{background:var(--yellow)}.support-tools .eyebrow{color:var(--ink)}

/* Catalogue, boutique et filtres. */
.academy-page>.pagehead,.academy-results-head,.academy-grid{max-width:1280px}
.academy-filters{position:sticky;top:12px;z-index:8}
.filter-pills{display:flex;gap:8px;flex-wrap:wrap;grid-column:1/-1}
.filter-pills button,.filter-chip{min-height:40px;padding:8px 14px;border:1.5px solid var(--ink);border-radius:999px;background:transparent;color:var(--ink);font-size:14px}
.filter-pills button[aria-pressed="true"],.filter-chip.is-active{background:var(--ink);color:var(--surface)}
.filter-pills button[aria-pressed="true"]::before,.filter-chip.is-active::before{content:"✓ ";color:var(--yellow)}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.product-card .catalog-cover,.product-cover{aspect-ratio:3/4;height:auto;background-color:var(--ink);color:var(--surface)}
.product-card .price{border-top-style:dashed}
.product-preview{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.7fr);gap:28px}
.product-preview-pages{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.product-preview-pages>div{aspect-ratio:3/4;padding:18px;border:1px solid var(--line);background:var(--surface)}

/* Diagnostic et résultat. */
.diagnostic-shell{max-width:760px;margin:0 auto;padding:48px 20px 72px}
.diagnostic-shell>h1{font-size:32px}
.diagnostic-header{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:68px;padding:12px clamp(20px,4vw,80px);border-bottom:1px solid var(--line);background:var(--surface)}
.diagnostic-header img{width:180px;max-width:48vw}.diagnostic-save{color:var(--success);font-size:14px;font-weight:700}
.diagnostic-segments,.quiz-segments{display:grid;grid-template-columns:repeat(10,1fr);gap:6px;margin:18px 0 38px}
.diagnostic-segments span,.quiz-segments span{height:8px;border-radius:4px;background:var(--track)}
.diagnostic-segments .is-done,.diagnostic-segments .is-complete,.diagnostic-segments .is-current,.quiz-segments .is-done,.quiz-segments .is-complete,.quiz-segments .is-current{background:var(--blue)}
.diagnostic .check-option{min-height:60px;margin:10px 0;padding:16px 18px}
.diagnostic-result-grid{display:grid;grid-template-columns:minmax(0,8fr) minmax(280px,4fr);gap:32px}
.diagnostic-facts,.week-plan{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}
.week-plan{grid-template-columns:repeat(4,1fr)}
.diagnostic-facts>div,.week-plan>article{padding:18px;border:1px solid var(--line);background:var(--surface)}

/* Réservation en quatre étapes et tickets rendez-vous. */
.booking-journey{display:grid;grid-template-columns:minmax(0,8fr) minmax(300px,4fr);gap:32px}
.booking-stepper,.payment-stepper{display:flex;gap:0;margin:0 0 32px;border:1px solid var(--line);background:var(--surface)}
.booking-stepper>*,.payment-stepper>*{flex:1;min-height:64px;padding:12px 16px;border-right:1px solid var(--line)}
.booking-stepper>*:last-child,.payment-stepper>*:last-child{border-right:0}
.booking-stepper .active,.booking-stepper .is-current,.payment-stepper .active,.payment-stepper .is-current{background:var(--ink);color:var(--surface)}
.booking-stepper .is-complete,.payment-stepper .is-complete{color:var(--success);font-weight:700}
.appointment-ticket{display:grid;grid-template-columns:104px minmax(0,1fr) auto;gap:20px;align-items:center;padding:20px;border:1px solid var(--line);background:var(--surface)}
.appointment-ticket-date,.appointment-date{align-self:stretch;display:grid;place-items:center;padding-right:20px;border-right:1px dashed var(--field);font-family:'IBM Plex Mono',monospace;text-align:center}
.appointment-ticket-date strong,.appointment-date strong{display:block;font:800 34px 'Manrope',sans-serif}

/* Vidéothèque et lecteur différé. */
.video-tabs{display:flex;gap:0;margin:30px 0;border-bottom:1px solid var(--line)}
.video-tabs button{border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:var(--muted)}
.video-tabs button[aria-selected="true"]{border-color:var(--blue);color:var(--ink)}
.protected-video{position:relative;display:grid;place-items:center;aspect-ratio:16/9;overflow:hidden;border:1px solid #2A3550;border-radius:4px;background:repeating-linear-gradient(135deg,#0B1220,#0B1220 12px,#141D30 12px,#141D30 24px);color:var(--surface)}
.protected-video-load{display:grid;place-items:center;gap:10px;text-align:center}.protected-video-load button{width:72px;height:72px;padding:0;border-radius:50%;background:var(--yellow);color:var(--ink);font-size:24px}
.protected-video-load small{color:#C9D0DC}

/* Authentification pleine page et tunnel de paiement. */
.auth-layout{max-width:1180px;padding-top:64px;padding-bottom:80px}
.auth-layout .auth-intro{min-height:620px;padding:48px;background:var(--ink);color:var(--surface)}
.auth-layout .auth-intro p{color:#C9D0DC}.auth-layout .auth-intro .eyebrow{color:var(--yellow)}
.auth-layout .panel{min-height:620px;border-left:0}
.checkout-shell{max-width:1120px;margin:0 auto;padding:48px 20px 80px}
.checkout-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(300px,5fr);gap:32px;align-items:start}
.payment-summary{position:sticky;top:24px;border-top:4px solid var(--yellow)}
.summary-line{display:flex;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px dashed var(--line)}
.summary-total{font:800 28px 'Manrope',sans-serif}.order-bump-option{border-radius:4px}
.payment-state{max-width:720px;margin:48px auto;padding:48px;border:1px solid var(--line);background:var(--surface);text-align:center}
.payment-state-mark{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 24px;border:2px solid currentColor;border-radius:50%;font-size:32px}
.payment-state.is-success{color:var(--success)}.payment-state.is-error{color:var(--error)}.payment-state.is-warning{color:var(--warning)}

/* Page de vente : programme, preuve, FAQ et achat mobile. */
.module-accordion{border-top:1px solid var(--line)}
.module-accordion summary{display:grid;grid-template-columns:48px 1fr auto;gap:16px;align-items:center;min-height:64px;padding:12px 0;border-bottom:1px solid var(--line);cursor:pointer;list-style:none}
.module-accordion summary::-webkit-details-marker{display:none}
.module-accordion summary::after{content:"▼";font:500 12px 'IBM Plex Mono',monospace}
.module-accordion[open] summary::after{content:"▲"}
.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}
.faq-list summary{min-height:60px;padding:16px 42px 16px 0;font-weight:700;cursor:pointer}
.sticky-buy-bar{display:none}

/* Espace apprenant et cours. */
.focus-header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:68px;padding:12px clamp(20px,4vw,80px);border-bottom:1px solid var(--line);background:var(--surface)}
.focus-header .progress{max-width:260px;margin:0}
.learner-course-card{display:grid;grid-template-columns:180px minmax(0,1fr) auto;gap:22px;align-items:center;padding:20px;border:1px solid var(--line);background:var(--surface)}
.learner-course-card img{width:100%;aspect-ratio:16/9;object-fit:cover}
.lesson-workspace{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:0;max-width:1440px;margin:0 auto;background:var(--surface)}
.lesson-content{min-width:0;padding:32px clamp(20px,4vw,64px) 72px}
.lesson-workspace>.lesson-menu{position:sticky;top:0;max-height:100vh;overflow:auto;padding:28px;border-left:1px solid var(--line);background:#F2EFE6}
.lesson-menu .learner-module.is-locked{background:repeating-linear-gradient(135deg,transparent,transparent 10px,#DCD6C655 10px,#DCD6C655 20px)}
.lesson-menu button{min-height:44px;border-radius:0;border-left:3px solid transparent}.lesson-menu button.active{border-left-color:var(--blue)}
.progress-segments{display:grid;grid-template-columns:repeat(var(--segments,5),1fr);gap:6px}.progress-segments span{height:8px;background:var(--track)}.progress-segments .done{background:var(--blue)}
.assignment-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:24px 0}.assignment-timeline span{position:relative;padding-top:18px;border-top:3px solid var(--line);font-size:13px}.assignment-timeline .done{border-color:var(--success);font-weight:700}
.quiz-shell{max-width:760px;margin:0 auto}.quiz-question{padding:32px;border:1px solid var(--line);background:var(--surface)}
.quiz-segments{grid-template-columns:repeat(auto-fit,minmax(44px,1fr));gap:10px;margin-bottom:30px}
.quiz-segments span,.quiz-segments .is-done,.quiz-segments .is-complete,.quiz-segments .is-current{display:grid;grid-template-rows:8px auto;gap:6px;height:auto;min-width:0;background:transparent;color:var(--muted);font:600 12px/1.2 var(--mono)}
.quiz-segments span::before{content:"";display:block;height:8px;border-radius:4px;background:var(--track)}
.quiz-segments .is-done::before,.quiz-segments .is-complete::before,.quiz-segments .is-current::before{background:var(--blue)}
.quiz-segments .is-current{color:var(--blue)}
.quiz-feedback-modal{display:grid;justify-items:center;gap:14px;max-width:560px;padding:18px 12px 8px;text-align:center}.quiz-feedback-modal h2,.quiz-feedback-modal p{margin:0}.quiz-feedback-mark{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#E4F0E8;color:var(--success);font-size:34px;font-weight:800}.quiz-feedback-modal.is-incorrect .quiz-feedback-mark{background:#FBE9E6;color:var(--error)}.quiz-feedback-explanation{width:100%;padding:18px;border:1px solid var(--line);background:#F7F4EC;text-align:left}.quiz-feedback-explanation p{margin-top:8px;line-height:1.6}.quiz-feedback-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.quiz-score-value{color:var(--blue);font-size:42px;line-height:1}.quiz-feedback-modal button,.quiz-feedback-modal .button{min-width:190px;margin-top:6px}
.certificate-card{position:relative;max-width:920px;margin:32px auto;padding:64px;border:2px solid var(--ink);background:var(--surface);text-align:center}
.certificate-card::before{content:"";position:absolute;inset:10px;border:1px solid var(--yellow);pointer-events:none}
.certificate-card .certificate-name{display:inline;background:linear-gradient(transparent 62%,var(--yellow) 62%)}
.lesson-description{margin:0 0 24px;color:var(--muted);font-size:16px;line-height:1.7;white-space:pre-line}.certificate-download-card{display:grid;gap:6px;width:100%;margin-top:28px;padding:18px;border:1px solid var(--ink);border-left:4px solid var(--yellow);background:var(--surface);color:var(--ink);text-align:left}.certificate-download-card span{color:var(--blue);font:700 11px/1.4 'IBM Plex Mono',monospace;letter-spacing:.08em}.certificate-download-card strong{font:700 15px/1.35 'Manrope',sans-serif}.certificate-download-card small{color:var(--muted);font-size:12px}.certificate-download-card:hover{background:#fff9df;transform:translateY(-1px)}
.rich-editor{margin:18px 0}.rich-editor-label{display:block;margin-bottom:7px;font-size:14px;font-weight:700}.rich-toolbar{display:flex;flex-wrap:wrap;gap:4px;padding:8px;border:1px solid #9CA6B8;border-bottom:0;background:#F2EFE6}.rich-toolbar button{min-width:38px;min-height:38px;padding:7px 10px;border:1px solid transparent;background:var(--surface);color:var(--ink);font-size:12px}.rich-toolbar button:hover,.rich-toolbar button:focus-visible{border-color:var(--blue);transform:none}.rich-toolbar .rich-color{min-width:32px;border:5px solid var(--surface);box-shadow:inset 0 0 0 2px #fff}.rich-toolbar .rich-color.is-blue{background:#245BDF}.rich-toolbar .rich-color.is-red{background:#9D312C}.rich-toolbar .rich-color.is-green{background:#167A62}.rich-toolbar .rich-source-toggle{margin-left:auto;border-color:var(--ink);font-family:var(--mono);font-weight:700}.rich-editor-surface,.rich-editor-source{width:100%;min-height:130px;padding:18px;border:1px solid #9CA6B8;background:var(--surface);color:var(--ink);line-height:1.7;overflow-wrap:anywhere}.rich-editor-source{display:block;resize:vertical;border-radius:0;font:13px/1.65 var(--mono);white-space:pre;overflow:auto}.rich-editor-source[hidden],.rich-editor-surface[hidden]{display:none}.rich-editor-surface.is-tall,.rich-editor-source.is-tall{min-height:260px}.rich-editor-surface:focus,.rich-editor-source:focus{outline:3px solid var(--blue);outline-offset:2px}.rich-editor-surface:empty::before{content:attr(data-placeholder);color:#737B89;pointer-events:none}.rich-source-help{display:block;margin-top:6px;color:var(--muted)}.rich-editor-surface h2,.rich-content h2{margin:24px 0 12px;font-size:clamp(24px,3vw,34px)}.rich-editor-surface h3,.rich-content h3{margin:20px 0 10px;font-size:22px}.rich-editor-surface p,.rich-content p{margin:0 0 16px}.rich-editor-surface ul,.rich-editor-surface ol,.rich-content ul,.rich-content ol{margin:12px 0 20px;padding-left:28px}.rich-editor-surface li,.rich-content li{margin:6px 0}.rich-editor-surface blockquote,.rich-content blockquote{margin:18px 0;padding:12px 18px;border-left:4px solid var(--yellow);background:#FFF9DF}.rich-editor-surface mark,.rich-content mark{background:#FFDC24;color:#101114;padding:0 .12em}.lesson-focus .lesson-description{margin:24px 0 8px;padding-top:24px;border-top:1px solid var(--line);white-space:normal}.lesson-focus .lesson-text{margin-top:8px}.rich-content a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.order-list{display:grid;border-top:1px solid var(--line)}
.order-card{border-bottom:1px solid var(--line)}.order-card summary{display:grid;grid-template-columns:1fr auto auto;gap:18px;align-items:center;min-height:72px;padding:12px 0;cursor:pointer}
.preference-switch{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:64px}.preference-switch input{width:44px;height:26px}
.danger-zone{border:1px solid var(--error);border-top:4px solid var(--error);background:#FBE9E6}

/* Les hooks progressifs réutilisent parfois une carte existante : préserver sa
   composition avant d'ajouter le traitement visuel de la maquette. */
.panel.week-plan.diagnostic-facts,.dashboard-focus.learner-course-card,.panel.quote-timeline,.studio-attention.studio-attention-list{display:block}
.assignment-review-layout .assignment-review{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);gap:24px}
.announcement-live-preview{position:sticky;top:24px;border-top:4px solid var(--yellow);background:var(--ink);color:var(--surface)}
.announcement-live-preview p{color:#C9D0DC}.announcement-live-preview .eyebrow{color:var(--yellow)}
.prospect-table [data-prospect]{cursor:pointer}.prospect-table [data-prospect]:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}

/* Studio : densité, hiérarchie et actions opérationnelles. */
.workspace>.sidebar{min-height:calc(100vh - 40px)}
.workspace-main{padding-bottom:72px}
.studio-title,.editor-heading,.dashboard-head{padding-bottom:24px;border-bottom:1px solid var(--line)}
.studio-attention{border-top:4px solid var(--yellow)}
.studio-attention-list{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.studio-attention-list>a{min-height:128px;padding:18px;border:1px solid var(--line);background:var(--surface)}
.studio-table{min-width:880px}.studio-table th{background:#F2EFE6}.studio-table tbody tr:hover{background:#FBF9F2}
.studio-table td:first-child{font-weight:700}.studio-table .actions{margin:0;flex-wrap:nowrap}
.side-panel{position:fixed;top:0;right:0;z-index:50;width:min(560px,100%);height:100vh;overflow:auto;padding:32px;background:var(--surface);border-left:1px solid var(--line);box-shadow:0 24px 60px -20px rgba(11,18,32,.5)}
.editor-steps{position:sticky;top:0;z-index:7}.editor-steps button{min-height:64px}
.readiness-checklist{display:grid;gap:0;margin-top:22px;border-top:1px solid var(--line)}
.readiness-checklist>div{display:grid;grid-template-columns:28px 1fr auto;gap:12px;align-items:center;min-height:58px;border-bottom:1px solid var(--line)}
.module-workspace{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.6fr);gap:24px}
.module-index{position:sticky;top:88px;align-self:start;max-height:calc(100vh - 112px);overflow:auto}
.module-content-section{border-radius:4px}
.assignment-review{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);gap:24px}
.availability-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.availability-calendar>*{min-height:76px;padding:8px;border:1px solid var(--line);background:var(--surface)}
.quote-timeline{display:flex;gap:0}.quote-timeline span{flex:1;padding:12px;border-top:3px solid var(--line);font-size:12px}.quote-timeline .done{border-color:var(--success)}

@media(max-width:1050px){
  .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .booking-journey,.checkout-grid,.diagnostic-result-grid{grid-template-columns:1fr}
  .payment-summary{position:static}.lesson-workspace{grid-template-columns:minmax(0,1fr) 320px}
  .studio-attention-list{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:760px){
  .support-layout,.product-preview,.lesson-workspace,.module-workspace,.assignment-review{grid-template-columns:1fr}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .academy-filters{position:static}
  .diagnostic-header{padding:10px 20px}.diagnostic-header .diagnostic-exit{display:none}
  .week-plan,.diagnostic-facts{grid-template-columns:1fr}
  .booking-stepper,.payment-stepper{overflow-x:auto}.booking-stepper>*,.payment-stepper>*{flex:0 0 150px}
  .appointment-ticket{grid-template-columns:76px minmax(0,1fr)}.appointment-ticket>.actions{grid-column:1/-1}
  .checkout-shell{padding:24px 20px 72px}.payment-state{padding:32px 20px}
  .sticky-buy-bar{position:fixed;right:0;bottom:46px;left:0;z-index:19;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:10px 20px;border-top:1px solid var(--line);background:var(--surface);box-shadow:0 -8px 24px -16px rgba(11,18,32,.5)}
  .sticky-buy-bar strong{font:800 17px 'Manrope',sans-serif}.sticky-buy-bar .button,.sticky-buy-bar button{min-height:44px;padding:8px 14px}
  .focus-header{align-items:flex-start;flex-direction:column}.focus-header .progress{max-width:none}
  .learner-course-card{grid-template-columns:100px 1fr}.learner-course-card>.actions{grid-column:1/-1}
  .lesson-workspace>.lesson-menu{position:static;max-height:none;border-top:1px solid var(--line);border-left:0}
  .assignment-timeline{grid-template-columns:1fr}.assignment-timeline span{padding:10px 0 10px 18px;border-top:0;border-left:3px solid var(--line)}
  .certificate-card{padding:42px 24px}.order-card summary{grid-template-columns:1fr auto}.order-card summary>*:nth-child(3){grid-column:1/-1}
  .workspace>.sidebar{min-height:0}
  .studio-attention-list{grid-template-columns:1fr}.studio-table{min-width:760px}
  .editor-steps{position:static;overflow-x:auto;flex-wrap:nowrap}.editor-steps button{flex:0 0 170px}
  .module-index{position:static;max-height:none}
  .assignment-review-layout .assignment-review{grid-template-columns:1fr}
}

@media(max-width:430px){
  .product-grid{grid-template-columns:1fr}
  .diagnostic-segments{gap:3px}.diagnostic-segments span{height:6px}
  .auth-layout .auth-intro,.auth-layout .panel{min-height:0;padding:28px 20px}
  .sticky-buy-bar{padding-inline:14px}
}

/* Accueil reproduit depuis l’écran 01 du prototype Parcours A. */
.hf-public-frame{width:min(100%,1440px);margin-inline:auto;background:var(--paper);container-type:inline-size}
.hf-hero{display:flex;flex-wrap:wrap;gap:clamp(28px,4cqi,56px);padding:clamp(32px,5cqi,72px) clamp(20px,4cqi,80px) clamp(40px,5cqi,72px)}
.hf-hero-copy{display:flex;flex:1 1 520px;min-width:0;flex-direction:column;gap:24px;justify-content:center}
.hf-hero h1{margin:0;font:800 clamp(36px,4cqi,58px)/1.05 'Manrope',sans-serif;letter-spacing:-.03em}
.hf-hero h1 em{font-style:normal;background:linear-gradient(transparent 62%,var(--yellow) 62%)}
.hf-hero-copy>p{max-width:580px;margin:0;font-size:clamp(17px,1.4cqi,19px);line-height:1.6}
.hf-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:8px;border-top:1px solid var(--ink)}
.hf-facts>div{display:flex;flex-direction:column;gap:4px;padding:14px 16px 4px 0}.hf-facts b{color:var(--blue);font:500 12px 'IBM Plex Mono',monospace}.hf-facts small{color:var(--muted);font-size:15px}
.hf-portrait{position:relative;flex:1 1 340px;min-width:0;max-width:520px}.hf-portrait>img{display:block;width:100%;aspect-ratio:4/5;border-radius:3px;object-fit:cover}
.hf-path{position:absolute;bottom:32px;left:clamp(-28px,-2cqi,-8px);display:grid;width:240px;gap:8px;padding:14px 16px;border:1px solid var(--ink);background:var(--surface)}
.hf-path i{display:flex;align-items:center}.hf-path i::before,.hf-path i::after{content:"";flex:1;height:1.5px;background:var(--ink)}.hf-path i b{width:10px;height:10px;border:1.5px solid var(--ink);border-radius:50%}.hf-path i b:first-child{border-color:var(--blue);background:var(--blue)}
.hf-section{padding:clamp(48px,6cqi,96px) clamp(20px,4cqi,80px);border-top:1px solid var(--line)}
.hf-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:32px}.hf-section-head h2,.hf-shop h2,.hf-booking h2{margin:8px 0 0;font-size:clamp(26px,2.4cqi,34px)}
.hf-course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.hf-course-card{display:flex;overflow:hidden;flex-direction:column;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--ink)}.hf-course-card:hover{color:var(--ink)}
.hf-course-card>img{width:100%;aspect-ratio:16/9;object-fit:cover}.hf-card-copy{display:grid;gap:10px;padding:18px 20px}.hf-card-copy>small{color:var(--muted);font:500 12px 'IBM Plex Mono',monospace}.hf-card-copy h3{margin:0;font-size:21px}
.hf-card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding:14px 20px;border-top:1px dashed var(--line)}.hf-card-foot span{color:var(--muted);font:500 13px 'IBM Plex Mono',monospace}.hf-card-foot strong{font:800 18px 'Manrope',sans-serif}
.hf-shop{display:flex;flex-wrap:wrap;gap:40px}.hf-shop-intro{display:flex;flex:1 1 280px;max-width:380px;flex-direction:column;align-items:flex-start;gap:12px}.hf-shop-intro p{margin:0}.hf-product-grid{display:grid;flex:2 1 520px;min-width:0;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.hf-product{display:grid;grid-template-columns:100px minmax(0,1fr);border:1px solid var(--line);border-radius:4px;background:var(--surface)}.hf-product-cover{display:flex;min-height:180px;flex-direction:column;justify-content:space-between;padding:12px;background:var(--ink);color:var(--surface)}.hf-product-cover small{color:var(--yellow);font:500 11px 'IBM Plex Mono',monospace}.hf-product-cover strong{font:800 14px/1.2 'Manrope',sans-serif}.hf-product>div:last-child{display:flex;flex-direction:column;gap:6px;padding:14px 16px}.hf-product h3{margin:0;font-size:17px}.hf-product .actions{margin-top:auto}
.hf-media-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:32px}.hf-media-title{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--ink)}.hf-media-title small{color:var(--muted);font:500 12px 'IBM Plex Mono',monospace}
.hf-tiktok-grid{display:grid;grid-template-columns:1fr;gap:10px}.hf-youtube-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.hf-tiktok,.hf-youtube{display:flex;min-height:0;flex-direction:column;align-items:stretch;gap:8px;padding:0;border:0;background:transparent;color:var(--ink);text-align:left}.hf-tiktok{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:16px;padding:10px;border:1px solid var(--line);border-radius:4px;background:var(--surface)}.hf-tiktok:hover{border-color:var(--blue);background:var(--surface)}.hf-youtube:hover{background:transparent;color:var(--blue);transform:none}.hf-tiktok>span,.hf-youtube>span{position:relative;display:grid;overflow:hidden;place-items:center;background-position:center;background-size:cover;isolation:isolate}.hf-tiktok>span{aspect-ratio:9/13}.hf-youtube>span{aspect-ratio:16/9}.hf-tiktok .tiktok-card-preview{z-index:0}.hf-tiktok i,.hf-youtube i{position:relative;z-index:1;display:grid;width:44px;height:44px;place-items:center;border-radius:50%;background:var(--surface);color:var(--ink);font-style:normal;pointer-events:none}.hf-youtube i{background:var(--ink);color:var(--surface)}.hf-tiktok strong,.hf-youtube strong{position:relative;z-index:1;font-size:14px;line-height:1.3}
.hf-video-pager{min-width:0}.hf-tiktok-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.hf-tiktok{display:flex;min-width:0;min-height:0;flex-direction:column;align-items:stretch;gap:10px;padding:9px}.hf-tiktok>span{width:100%;aspect-ratio:9/13}.hf-tiktok strong,.hf-youtube strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;font-size:13px;line-height:1.35}.hf-tiktok strong{min-height:calc(3 * 1.35em);padding:2px 3px 4px}.hf-youtube-grid{grid-template-columns:1fr}.hf-youtube{width:100%;height:100%}.hf-video-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:14px}.hf-video-pagination button{display:grid;width:38px;height:34px;min-height:0;padding:0;place-items:center}.hf-video-pagination button:disabled{cursor:default;opacity:.35}.hf-video-pagination>span{color:var(--muted);font:500 11px 'IBM Plex Mono',monospace}.hf-video-pagination .textbutton{margin-left:auto;font-size:12px}
.hf-coaching{display:flex;flex-wrap:wrap;gap:48px;padding:clamp(48px,6cqi,96px) clamp(20px,4cqi,80px);background:var(--ink);color:var(--surface)}.hf-coaching>div{display:flex;flex:1 1 420px;min-width:0;flex-direction:column;align-items:flex-start;gap:18px}.hf-coaching .eyebrow{color:var(--yellow)}.hf-coaching h2{margin:0;font-size:clamp(28px,3cqi,42px)}.hf-coaching p{max-width:560px;margin:0;color:#C9D0DC}.hf-coaching ol{flex:1 1 360px;margin:0;padding:0;list-style:none}.hf-coaching li{display:grid;grid-template-columns:48px 1fr;gap:12px;padding:18px 0;border-top:1px solid #2A3550}.hf-coaching li:last-child{border-bottom:1px solid #2A3550}.hf-coaching li>b{color:var(--yellow);font:500 13px 'IBM Plex Mono',monospace}.hf-coaching li span{display:grid;gap:4px}.hf-coaching li small{color:#A9B2C2}
.hf-free-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:28px;border-top:1px solid var(--ink)}.hf-free-tools a{display:flex;min-width:0;flex-direction:column;gap:8px;padding:20px 20px 20px 0;border-bottom:1px solid var(--line);color:var(--ink)}.hf-free-tools a small{color:var(--muted);font:500 12px 'IBM Plex Mono',monospace}.hf-free-tools a strong{font:700 20px 'Manrope',sans-serif}.hf-free-tools a span{font-size:15px;color:var(--text)}.hf-free-tools a b{color:var(--blue)}
.hf-booking{display:grid;grid-template-columns:minmax(240px,380px) minmax(0,1fr);gap:40px;align-items:start}.hf-booking>div:first-child{position:sticky;top:96px}.hf-booking p{font-size:15px;color:var(--muted)}.hf-booking>#booking-calendar{min-width:0;padding:24px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
@media(max-width:760px){.hf-hero{padding-inline:20px}.hf-path{right:12px;left:12px;width:auto}.hf-facts,.hf-free-tools,.hf-media-grid,.hf-booking{grid-template-columns:1fr}.hf-section-head{align-items:flex-start;flex-direction:column}.hf-booking>div:first-child{position:static}.hf-booking>#booking-calendar{padding:16px}.hf-coaching{gap:28px}.hf-product-grid{grid-template-columns:1fr}}
@media(max-width:1000px){.hf-tiktok-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.hf-tiktok-grid{grid-template-columns:1fr}.hf-tiktok{display:grid;grid-template-columns:96px minmax(0,1fr);min-height:159px;gap:12px}.hf-tiktok>span{width:auto}.hf-video-pagination{justify-content:flex-start}.hf-video-pagination .textbutton{margin-left:auto}}

/* Ces règles ferment les styles génériques du stepper qui ne s’appliquent pas
   au header compact du tunnel. */
.checkout-page .checkout-shell{min-height:0;align-content:normal}
.checkout-header .payment-stepper{margin:0;border:0;background:transparent}
.checkout-header .payment-stepper>*{flex:0 0 auto;min-height:0;padding:0;border:0;background:transparent;color:var(--muted)}
.checkout-header .payment-stepper .is-current{background:transparent;color:var(--ink);box-shadow:inset 0 -2px 0 var(--blue)}
.checkout-page .payment-summary>button{width:auto}
.wrap.academy-page,.wrap.boutique-page{width:min(100%,1440px);max-width:1440px}
.academy-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.wrap.workspace{width:min(100%,1440px);max-width:1440px;padding-inline:clamp(20px,4cqi,80px);grid-template-columns:256px minmax(0,1fr)}
@media(max-width:1050px){.academy-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.wrap.workspace{padding-inline:40px;grid-template-columns:256px minmax(0,1fr)}}
@media(max-width:760px){.academy-grid{grid-template-columns:1fr}.wrap.workspace{padding-inline:20px;grid-template-columns:1fr}}

/* Page de vente — sections 01 à 09 de l’écran 03. */
.hf-course-page{width:min(100%,1440px);margin-inline:auto;background:var(--paper);container-type:inline-size}
.hf-course-inner{padding:28px clamp(20px,4cqi,80px) 0}
.hf-course-hero{display:grid;grid-template-columns:minmax(0,7fr) minmax(360px,5fr);gap:clamp(32px,4cqi,56px);align-items:start;padding:24px 0 64px}
.hf-course-copy{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:20px}.hf-course-copy .course-tags{margin:0}.hf-course-copy h1{max-width:760px;margin:0;font-size:clamp(40px,4.4cqi,62px);line-height:1.03}.hf-course-copy>p{max-width:680px;margin:0;font-size:19px;line-height:1.6}
.hf-course-counts{display:grid;width:100%;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--ink)}.hf-course-counts>div{display:flex;flex-direction:column;padding:14px 16px 14px 0}.hf-course-counts strong{font:800 28px 'Manrope',sans-serif}.hf-course-counts span{font-size:14px;color:var(--muted)}
.hf-course-price{display:flex;align-items:baseline;gap:12px}.hf-course-price strong{font:800 32px 'Manrope',sans-serif}.hf-course-price span{font-size:15px;color:var(--muted)}
.hf-course-visual{position:relative}.hf-course-visual .course-presentation-media,.hf-course-visual img,.hf-course-visual video,.hf-course-visual iframe{width:100%;min-height:0;aspect-ratio:16/9}.hf-course-visual img{object-fit:contain;background:#0b1220}.hf-course-visual video,.hf-course-visual iframe{object-fit:cover}.hf-course-visual .course-presentation-media{display:block}
.hf-course-section{padding:clamp(48px,6cqi,96px) 0;border-top:1px solid var(--line)}.hf-course-section>h2{max-width:900px;margin:10px 0 28px;font-size:clamp(28px,3cqi,42px)}.hf-course-section>p{max-width:850px;font-size:18px}.hf-audience{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);gap:clamp(32px,5cqi,78px);align-items:center;padding:clamp(38px,4cqi,58px) clamp(24px,4cqi,56px);background:#E6EDFF;border-top:0;border-left:5px solid var(--blue)}.hf-audience-heading h2{max-width:520px;margin:10px 0 0;font-size:clamp(28px,3cqi,42px)}.hf-audience-copy{padding:4px 0 4px clamp(22px,2.4cqi,36px);border-left:1px solid #9eb2e8}.hf-audience-copy>span{display:block;margin-bottom:12px;color:var(--blue);font:700 11px 'IBM Plex Mono',monospace;letter-spacing:.13em}.hf-audience-copy>p{max-width:700px;margin:0;font-size:clamp(18px,1.55cqi,22px);line-height:1.58;color:var(--ink)}
.hf-program .hf-section-head{align-items:flex-end}.hf-program .module-accordion{margin:0;border-top:1px solid var(--line)}.hf-program .module-accordion summary{grid-template-columns:48px minmax(0,1fr) auto}.hf-program .module-accordion summary>span:nth-child(2){display:grid;gap:3px}.hf-program .module-accordion summary small{font-size:14px;color:var(--muted)}.hf-program .module-accordion>div{padding:16px 48px 24px}.hf-program .module-accordion ol{color:var(--text)}
.hf-trainer{display:grid;grid-template-columns:minmax(260px,4fr) minmax(0,8fr);gap:40px;align-items:center}.hf-trainer img{width:100%;aspect-ratio:4/3;object-fit:cover}.hf-trainer h2{margin:8px 0 16px}.hf-trust{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--ink)}.hf-trust span{padding:18px 18px 18px 0;font-weight:700}
.hf-course-offer{display:grid;grid-template-columns:minmax(0,7fr) minmax(280px,5fr);gap:40px;padding:clamp(40px,5cqi,72px) clamp(24px,4cqi,56px);background:var(--ink);color:var(--surface)}.hf-course-offer .eyebrow{color:var(--yellow)}.hf-course-offer h2{margin:10px 0 16px;font-size:clamp(30px,3cqi,44px)}.hf-course-offer p{color:#C9D0DC}.hf-course-offer>div:last-child{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px}.hf-course-offer>div:last-child>strong{font:800 32px 'Manrope',sans-serif}.hf-course-offer>div:last-child>span{color:#C9D0DC}.hf-course-offer .outline{border-color:var(--surface);color:var(--surface)}
.hf-course-page .faq-list{padding-bottom:96px}.hf-course-page .faq-list details{max-width:920px}.hf-course-page .faq-list details p{padding-bottom:16px}
@media(max-width:760px){.hf-course-inner{padding-top:20px}.hf-course-hero,.hf-course-offer,.hf-trainer,.hf-audience{grid-template-columns:1fr}.hf-course-copy h1{font-size:36px}.hf-course-counts{grid-template-columns:repeat(3,1fr)}.hf-course-counts strong{font-size:22px}.hf-course-counts span{font-size:12px}.hf-course-visual{order:-1}.hf-course-visual .course-presentation-media,.hf-course-visual img,.hf-course-visual video{aspect-ratio:16/10}.hf-audience{gap:24px;padding-block:34px}.hf-audience-copy{padding:20px 0 0;border-left:0;border-top:1px solid #9eb2e8}.hf-trust{grid-template-columns:1fr 1fr}.hf-program .module-accordion summary{grid-template-columns:36px minmax(0,1fr)}.hf-program .module-accordion summary>.badge{grid-column:2}.hf-program .module-accordion>div{padding-left:36px}}

/* Connexion — copie fidèle de l’écran 09 du handoff. */
.hf-auth-page{width:min(100%,1440px);margin-inline:auto;padding:56px clamp(20px,4vw,80px) 80px;background:var(--paper)}
.hf-auth-shell{display:flex;max-width:1120px;min-height:520px;margin-inline:auto;overflow:hidden;border:1px solid var(--ink);border-radius:4px;background:var(--surface)}
.hf-auth-brand{display:flex;flex:1 1 440px;min-width:0;flex-direction:column;gap:20px;padding:40px;background:var(--ink);color:var(--surface)}
.hf-auth-brand>img{width:auto;height:36px;align-self:flex-start}
.hf-auth-brand h1{max-width:460px;margin:22px 0 4px;color:var(--surface);font:800 clamp(28px,2.4vw,36px)/1.15 'Manrope',sans-serif;letter-spacing:-.025em}
.hf-auth-brand ul{margin:0;padding:0;list-style:none}
.hf-auth-brand li{display:flex;gap:12px;padding:13px 0;border-top:1px solid #2A3550;font-size:15px;line-height:1.5}
.hf-auth-brand li:last-child{border-bottom:1px solid #2A3550}.hf-auth-brand li span{color:var(--yellow);font-weight:700}
.hf-auth-brand>small{margin-top:auto;color:#A9B2C2;font:500 12px 'IBM Plex Mono',monospace}
.hf-auth-form-panel{display:flex;flex:1.2 1 540px;min-width:0;max-width:640px;flex-direction:column;padding:40px;background:#F7F4EC}
.hf-auth-form-panel>.eyebrow{display:none}.hf-auth-form-panel>h2{margin:0 0 22px;font-size:28px}.hf-auth-form-panel>p{max-width:560px;margin:0 0 22px}
.hf-auth-heading{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin-bottom:24px}.hf-auth-heading h2{margin:0;font-size:28px}.hf-auth-heading .textbutton{flex:none;margin:0;padding:0;background:transparent;color:var(--ink);font-size:15px;font-weight:500;text-decoration:underline;text-underline-offset:3px}
.hf-auth-form-panel #auth-form{display:flex;flex-direction:column;gap:0}.hf-auth-form-panel #auth-form>label{margin:0 0 8px;font-size:15px;font-weight:600}.hf-auth-form-panel #auth-form>input,.hf-auth-form-panel #auth-form>select{height:48px;margin:0 0 20px;border:1.5px solid #8A8270;border-radius:4px;background:var(--surface)}
.hf-auth-form-panel #auth-form>button{min-height:56px;margin-top:4px!important;border-radius:4px;font-size:17px}
.hf-auth-label-row{display:flex;align-items:center;justify-content:space-between;gap:18px}.hf-auth-label-row .textbutton{min-height:auto;padding:0;background:transparent;color:var(--ink);font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.hf-auth-form-panel .auth-links{display:flex;justify-content:flex-end;margin-top:16px}.hf-auth-form-panel .auth-links .textbutton{min-height:auto;padding:0;background:transparent;color:var(--muted);font-size:14px;text-decoration:underline;text-underline-offset:3px}
.hf-auth-form-panel .form-error:not(:empty){margin:0 0 16px;padding:12px 14px;border:1px solid var(--error);border-radius:4px;background:#FBE9E6}.hf-auth-form-panel .form-error .error{margin:0;color:var(--ink);font-size:15px}
.hf-auth-shell.is-signup{max-width:1240px}.hf-auth-shell.is-signup .hf-auth-form-panel{max-width:760px}.hf-auth-shell.is-signup .hf-auth-form-panel>.eyebrow{display:block;margin-bottom:8px}.hf-auth-shell.is-signup .hf-auth-form-panel>h2{margin-bottom:10px}
.hf-auth-shell.is-account-action{max-width:980px}.hf-auth-shell.is-account-action .hf-auth-form-panel>.eyebrow{display:block;margin-bottom:8px}
@media(max-width:800px){.hf-auth-page{padding:28px 20px 56px}.hf-auth-shell{flex-direction:column;min-height:0}.hf-auth-brand{flex-basis:auto;padding:28px}.hf-auth-brand h1{margin-top:12px;font-size:27px}.hf-auth-brand li{padding:10px 0;font-size:14px}.hf-auth-brand>small{display:none}.hf-auth-form-panel{flex-basis:auto;max-width:none;padding:30px 28px 36px}.hf-auth-heading{align-items:flex-start;flex-direction:column;gap:8px}.hf-auth-shell.is-signup .signup-grid,.hf-auth-shell.is-signup .interest-grid{grid-template-columns:1fr}}
@media(max-width:430px){.hf-auth-page{padding-inline:14px}.hf-auth-brand{padding:24px 20px}.hf-auth-brand>img{height:31px}.hf-auth-brand h1{font-size:24px}.hf-auth-brand li{font-size:13px}.hf-auth-form-panel{padding:26px 20px 30px}.hf-auth-heading h2,.hf-auth-form-panel>h2{font-size:25px}.hf-auth-heading .textbutton{text-align:left}.hf-auth-label-row{gap:8px}.hf-auth-label-row .textbutton{font-size:13px}.hf-auth-form-panel #auth-form>button{min-height:52px}}

/* Inscription — écran 09 du parcours public. */
.hf-auth-page.is-signup-page{padding:0}
.hf-auth-page.is-signup-page .hf-auth-shell{max-width:1440px;min-height:760px;margin:0;border:0;border-radius:0}
.hf-auth-page.is-signup-page .hf-auth-brand{flex:1 1 380px;padding:clamp(32px,4vw,64px)}
.hf-auth-page.is-signup-page .hf-auth-brand>.eyebrow{color:var(--yellow)}
.hf-auth-page.is-signup-page .hf-auth-brand h1{max-width:430px;margin:0;font-size:clamp(30px,3vw,40px)}
.hf-auth-page.is-signup-page .hf-auth-brand li{padding:14px 0}
.hf-auth-after{display:flex;flex-direction:column;gap:4px;margin-top:auto;padding:14px 16px;border:1px solid #2A3550;border-radius:4px}
.hf-auth-after small{color:#A9B2C2;font:500 11px 'IBM Plex Mono',monospace}.hf-auth-after strong{font-size:15px}
.hf-auth-page.is-signup-page .hf-auth-form-panel{flex:1.3 1 620px;max-width:none;padding:clamp(32px,4vw,64px);background:var(--paper)}
.hf-auth-page.is-signup-page .hf-auth-form-panel>.eyebrow,.hf-auth-page.is-signup-page .hf-auth-form-panel>p{display:none}
.hf-auth-page.is-signup-page .hf-auth-heading{margin-bottom:18px}
.hf-auth-info{display:flex;gap:10px;margin-bottom:24px;padding:12px 14px;border:1px solid #1747CC;border-radius:4px;background:#E6EDFF;font-size:15px}
.hf-auth-info b{color:#1747CC}
.hf-auth-page .hf-auth-form-panel #auth-form.signup-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
.hf-auth-page .signup-form>.hf-auth-field,.hf-auth-page .signup-form>.signup-grid>label{display:flex;min-width:0;flex-direction:column;gap:6px;margin:0}
.hf-auth-page .signup-form>.hf-auth-field label,.hf-auth-page .signup-form>.signup-grid>label{font-size:15px;font-weight:600}
.hf-auth-page .signup-form>.hf-auth-field input,.hf-auth-page .signup-form>.signup-grid input,.hf-auth-page .signup-form>.signup-grid select{width:100%;height:48px;margin:0;border:1.5px solid #8A8270;border-radius:4px;background:var(--surface)}
.hf-auth-page .signup-form>.hf-auth-field small{color:var(--muted);font-size:13px}
.hf-auth-page .signup-form>.signup-grid{display:contents}
.hf-auth-page .signup-form>.interest-fieldset{grid-column:1/-1;margin:2px 0 0;padding:0;border:0}
.hf-auth-page .signup-form>.interest-fieldset legend{padding:0 0 10px;font-size:15px}.hf-auth-page .signup-form>.interest-fieldset legend span{font-weight:400}
.hf-auth-page .signup-form .interest-grid{display:flex;flex-wrap:wrap;gap:8px}
.hf-auth-page .signup-form .interest-option{min-height:44px;margin:0;padding:0 14px;border:1.5px solid #8A8270;border-radius:22px;background:var(--surface);font-size:14px}
.hf-auth-page .signup-form .interest-option:has(input:checked){border-color:var(--ink);background:var(--ink);color:var(--surface)}
.hf-auth-page .signup-form .interest-option input{width:16px;height:16px;margin:0}
.hf-auth-page .signup-form>label:not(.consent-box){grid-column:1/-1;display:flex;flex-direction:column;gap:6px;margin:0;font-size:15px;font-weight:600}
.hf-auth-page .signup-form>label:not(.consent-box) textarea{min-height:96px;margin:0;border:1.5px solid #8A8270;border-radius:4px;background:var(--surface)}
.hf-auth-page .signup-form>.consent-box{grid-column:1/-1;min-height:48px;margin:0;padding:10px 0;border:0;border-radius:0;background:transparent;font-size:15px}
.hf-auth-page .signup-form>.consent-box:first-of-type{border-top:1px solid var(--line)}
.hf-auth-page .signup-form>.consent-box input{flex:none;width:22px;height:22px;margin:0}
.hf-auth-page .signup-form>.form-error,.hf-auth-page .signup-form>button,.hf-auth-page .signup-form>.hf-auth-submit-help{grid-column:1/-1}
.hf-auth-page .signup-form>button{min-height:56px;margin:0!important;font-size:17px}.hf-auth-page .signup-form>button:disabled{background:#DCD6C6;color:#5E6878;cursor:not-allowed}
.hf-auth-submit-help{margin-top:-10px;color:var(--muted);font-size:14px}.hf-auth-submit-help[hidden]{display:none}
.hf-auth-page.is-signup-page .auth-links{display:none}
@media(max-width:800px){.hf-auth-page.is-signup-page .hf-auth-brand{padding:28px 24px}.hf-auth-page.is-signup-page .hf-auth-brand h1{font-size:28px}.hf-auth-after{margin-top:8px}.hf-auth-page.is-signup-page .hf-auth-form-panel{padding:32px 24px 48px}.hf-auth-page .hf-auth-form-panel #auth-form.signup-form{grid-template-columns:1fr}.hf-auth-page .signup-form>.interest-fieldset,.hf-auth-page .signup-form>label:not(.consent-box),.hf-auth-page .signup-form>.consent-box,.hf-auth-page .signup-form>.form-error,.hf-auth-page .signup-form>button,.hf-auth-page .signup-form>.hf-auth-submit-help{grid-column:1}}

/* Studio — cadre commun et écrans 19 à 22 du handoff. */
body[data-area="studio"]{background:var(--paper)}
body[data-area="studio"]>.announcement,
body[data-area="studio"]>.mobile-menu,
body[data-area="studio"]>.mobile-diagnostic-bar{display:none!important}
body[data-area="studio"] #main{min-height:calc(100vh - 76px)}
.manual-enrollment-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0 0 24px;background:var(--line,#d9d2c2);border:1px solid var(--line,#d9d2c2)}
.manual-enrollment-steps div{display:flex;gap:12px;align-items:center;background:var(--paper,#fffdf7);padding:18px}.manual-enrollment-steps b{font-family:var(--mono,monospace);color:var(--blue,#245bdf)}.manual-enrollment-steps span{font-weight:700}
@media(max-width:760px){.manual-enrollment-steps{grid-template-columns:1fr 1fr}.manual-enrollment-steps div{padding:14px}}
.studio-frame.workspace{display:grid;width:min(100%,1440px);max-width:1440px;min-height:calc(100vh - 76px);margin:0 auto;padding:0;grid-template-columns:256px minmax(0,1fr);gap:0;align-items:stretch;background:var(--paper)}
.studio-frame>.studio-sidebar{position:sticky;top:0;display:flex;min-height:calc(100vh - 76px);height:calc(100vh - 76px);overflow:auto;flex-direction:column;padding:0;border:0;border-radius:0;background:var(--ink);color:var(--surface)}
.studio-sidebar-head{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;min-height:104px;padding:22px 20px;border-bottom:1px solid #2A3550}
.studio-sidebar-head>img{width:42px;height:42px;object-fit:contain;object-position:left}
.studio-sidebar-head>div{display:grid;gap:2px}.studio-sidebar-head strong{font:800 20px 'Manrope',sans-serif;color:var(--surface)}.studio-sidebar-head span{color:#A9B2C2;font:500 10px 'IBM Plex Mono',monospace;letter-spacing:.09em}
.studio-menu-toggle{display:none;min-height:44px;padding:0 12px;border:1.5px solid var(--surface);border-radius:4px;background:transparent;color:var(--surface);font-size:14px}
.studio-nav{display:flex;flex-direction:column;padding:10px 8px}
.studio-sidebar .studio-nav a{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:8px;align-items:center;min-height:48px;padding:8px 10px;border:0;border-left:3px solid transparent;color:#C9D0DC;font-size:14px;line-height:1.25}
.studio-sidebar .studio-nav a:hover,.studio-sidebar .studio-nav a.active{border-left-color:var(--yellow);background:#141D30;color:var(--surface)}
.studio-nav-index{color:#7F899A;font:500 10px 'IBM Plex Mono',monospace}.studio-nav a.active .studio-nav-index{color:var(--yellow)}.studio-nav b{display:grid;min-width:22px;height:22px;place-items:center;border-radius:11px;background:var(--yellow);color:var(--ink);font:700 11px 'IBM Plex Mono',monospace}
.studio-sidebar-foot{display:grid;margin-top:auto;padding:12px 8px 18px;border-top:1px solid #2A3550}
.studio-sidebar .studio-sidebar-foot a{display:flex;justify-content:space-between;min-height:40px;padding:8px 12px;border:0;color:#A9B2C2;font-size:12px}.studio-sidebar .studio-sidebar-foot a:hover{border:0;background:#141D30;color:var(--surface)}
.studio-frame>.workspace-main{display:flex;min-width:0;flex-direction:column;gap:24px;padding:40px 40px 72px}
.studio-dashboard-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px}.studio-dashboard-head h1{margin:5px 0 0;font-size:34px;line-height:1.1}.studio-date{color:var(--muted);font:500 12px 'IBM Plex Mono',monospace}.studio-head-actions{display:flex;flex-wrap:wrap;gap:8px}.studio-head-actions .button,.studio-head-actions button{min-height:48px}
.studio-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--ink);background:var(--surface)}
.studio-kpis>div{display:flex;min-width:0;min-height:122px;flex-direction:column;gap:4px;padding:16px 18px;border-right:1px solid var(--line)}.studio-kpis>div:last-child{border-right:0}.studio-kpis span{color:var(--muted);font:500 10px 'IBM Plex Mono',monospace;letter-spacing:.05em}.studio-kpis b{font:800 28px 'Manrope',sans-serif}.studio-kpis strong{padding-top:10px;font-size:14px}.studio-kpis small{margin-top:auto;color:var(--muted);font-size:12px}.studio-kpis .is-ready{color:var(--success)}.studio-kpis .is-waiting{color:#7A5400}
.studio-now{display:grid;gap:10px}.studio-section-title,.studio-panel-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.studio-section-title h2,.studio-panel-head h2{margin:0;font-size:18px}.studio-section-title>span{color:var(--muted);font:500 11px 'IBM Plex Mono',monospace}
.studio-frame .studio-attention-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--ink)}
.studio-frame .studio-attention-list>a{display:flex;min-height:130px;flex-direction:column;gap:7px;padding:14px 16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent;color:var(--ink)}.studio-frame .studio-attention-list>a:last-child{border-right:0}.studio-frame .studio-attention-list>a:hover{background:var(--surface)}.studio-frame .studio-attention-list small{margin-top:auto;color:var(--blue);font-size:12px}.studio-alert{align-self:flex-start;padding:3px 8px;border:1px solid var(--line);border-radius:3px;font-size:11px;font-weight:700}.studio-alert.warning{border-color:#7A5400;background:#FBF0CF;color:#7A5400}.studio-alert.info{border-color:#1747CC;background:#E6EDFF;color:#1747CC}.studio-alert.neutral{border-color:#8A8270;color:#3A4352}.studio-all-clear{grid-column:1/-1;display:grid;gap:4px;padding:20px 0;border-bottom:1px solid var(--line)}
.studio-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.studio-overview-panel{min-width:0;border:1px solid var(--line);border-radius:4px;background:var(--surface)}.studio-panel-head{padding:14px 18px;border-bottom:1px solid var(--line)}.studio-panel-head h2{font-size:15px}.studio-panel-head a{color:var(--blue);font-size:13px}.studio-overview-panel>.muted{padding:0 18px 16px}.studio-compact-list{display:grid}.studio-compact-list>a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;align-items:center;min-height:55px;padding:10px 18px;border-bottom:1px solid var(--line);color:var(--ink);font-size:13px}.studio-compact-list>a:last-child{border-bottom:0}.studio-compact-list>a:hover{background:#FBF9F2}.studio-compact-list small{grid-column:1/-1;color:var(--muted);font-size:11px}.studio-compact-list strong{font-size:12px}
.studio-frame .studio-title{align-items:flex-end;margin:0;padding:0 0 20px}.studio-frame .studio-title h1,.studio-frame .studio-title h2{margin:5px 0 0;font-size:34px}.studio-frame .studio-title p{margin:6px 0 0}.studio-frame .catalog-toolbar{padding:0 0 16px;border:0;border-bottom:1px solid var(--ink);background:transparent}.studio-frame .search-field input{height:48px;border:1.5px solid #8A8270;background:var(--surface)}
.studio-frame .studio-catalog{gap:0}.studio-frame .catalog-item{grid-template-columns:34px minmax(0,1fr) minmax(280px,auto);gap:14px;padding:16px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}.studio-frame .catalog-copy h3{margin:7px 0 4px;font-size:17px}.studio-frame .catalog-actions{display:flex;min-width:0;flex-wrap:wrap;justify-content:flex-end}.studio-frame .catalog-actions>*{min-height:44px}
.studio-frame[data-studio-screen="editer"]>.workspace-main{padding-top:22px}.studio-frame .editor-heading{margin:0;padding-bottom:18px}.studio-frame .editor-heading h2{margin:5px 0;font-size:26px}.studio-frame .editor-steps{margin:0;border-radius:4px}.studio-frame .editor-layout{grid-template-columns:minmax(0,1fr) 270px}.studio-frame .editor-section.panel,.studio-frame .editor-review{padding:28px;border-radius:4px}.studio-frame .editorbar{border-radius:4px;box-shadow:none}
@media(max-width:1050px){.studio-frame.workspace{grid-template-columns:228px minmax(0,1fr)}.studio-frame>.workspace-main{padding:32px 28px 64px}.studio-kpis{grid-template-columns:repeat(3,1fr)}.studio-kpis>div:nth-child(3){border-right:0}.studio-kpis>div:nth-child(-n+3){border-bottom:1px solid var(--line)}.studio-overview-grid{grid-template-columns:1fr 1fr}.studio-overview-panel:last-child{grid-column:1/-1}.studio-frame .studio-attention-list{grid-template-columns:1fr 1fr}.studio-frame .studio-attention-list>a:nth-child(2n){border-right:0}.studio-frame .catalog-item{grid-template-columns:28px minmax(0,1fr)}.studio-frame .catalog-actions{grid-column:2;justify-content:flex-start}.studio-frame .editor-layout{grid-template-columns:1fr}.studio-frame .editor-summary{position:static}}
@media(max-width:760px){body[data-area="studio"] #main{min-height:0}.studio-frame.workspace{display:block;min-height:calc(100vh - 60px)}.studio-frame>.studio-sidebar{position:sticky;top:60px;z-index:11;display:block;width:100%;height:auto;min-height:0;overflow:visible}.studio-sidebar-head{min-height:64px;padding:8px 16px}.studio-sidebar-head>img{width:36px;height:36px}.studio-sidebar-head>div strong{font-size:18px}.studio-menu-toggle{display:inline-flex}.studio-nav,.studio-sidebar-foot{display:none}.studio-sidebar.is-open .studio-nav,.studio-sidebar.is-open .studio-sidebar-foot{display:flex}.studio-sidebar.is-open .studio-sidebar-foot{display:grid}.studio-nav{max-height:calc(100vh - 64px);overflow:auto;border-top:1px solid #2A3550}.studio-frame>.workspace-main{padding:24px 20px 56px}.studio-dashboard-head{align-items:flex-start;flex-direction:column}.studio-dashboard-head h1,.studio-frame .studio-title h1,.studio-frame .studio-title h2{font-size:28px}.studio-head-actions{width:100%}.studio-head-actions>*{flex:1 1 auto}.studio-kpis{grid-template-columns:1fr 1fr}.studio-kpis>div{min-height:108px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.studio-kpis>div:nth-child(2n){border-right:0}.studio-kpis>div:last-child{grid-column:1/-1;border-bottom:0}.studio-frame .studio-attention-list,.studio-overview-grid{grid-template-columns:1fr}.studio-frame .studio-attention-list>a{min-height:108px;border-right:0}.studio-overview-panel:last-child{grid-column:auto}.studio-frame .studio-title{align-items:flex-start}.studio-frame .catalog-toolbar{align-items:stretch;flex-direction:column}.studio-frame .filter-pills{overflow:auto}.studio-frame .catalog-item{grid-template-columns:24px minmax(0,1fr)}.studio-frame .catalog-actions{grid-column:1/-1}.studio-frame .editor-steps{display:flex}.studio-frame .editor-steps button{flex:0 0 168px}}

/* Écran 22 — espace de travail maître/détail d’un module. */
.studio-frame[data-studio-screen="editer"]:has(.module-workspace-form)>.workspace-main{padding:0}
.module-workspace-form{display:flex;min-height:100vh;flex-direction:column}.module-workspace-v2{display:flex;min-height:0;flex:1;flex-direction:column}
.module-shell-head{display:grid;grid-template-columns:auto minmax(180px,1fr) auto;gap:18px;align-items:center;min-height:70px;padding:12px 28px;border-bottom:1px solid var(--line);background:var(--surface)}.module-shell-head>span{overflow:hidden;color:var(--muted);font:500 11px 'IBM Plex Mono',monospace;text-overflow:ellipsis;white-space:nowrap}.module-shell-head>div{display:flex;align-items:center;gap:10px}.module-shell-head button{min-height:44px}
.module-master-detail{display:grid;min-height:0;flex:1;grid-template-columns:minmax(280px,34%) minmax(0,1fr)}
.module-master{display:flex;min-width:0;flex-direction:column;gap:16px;padding:26px 24px;border-right:1px solid var(--line);background:#FBF9F2}.module-master>label{margin:0}.module-master input,.module-master textarea{background:var(--surface)}
.module-preview-switch{display:flex;align-items:center;gap:12px;min-height:54px;padding:9px 0;border-block:1px solid var(--line)}.module-preview-switch input{flex:none;width:42px;height:24px;margin:0}.module-preview-switch span{display:grid;gap:2px}.module-preview-switch small{color:var(--muted);font-size:12px}
.module-elements-head{display:flex;justify-content:space-between;align-items:center;margin-top:4px}.module-elements-head>span{color:var(--muted);font:500 11px 'IBM Plex Mono',monospace}.module-elements-head>b{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:var(--ink);color:var(--surface);font:600 10px 'IBM Plex Mono',monospace}
.module-element-list{display:flex;flex-direction:column;border-top:1px solid var(--ink)}.module-element-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border-bottom:1px solid var(--line);background:transparent}.module-element-row.active{box-shadow:inset 3px 0 0 var(--blue);background:#E6EDFF}.module-element-select{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:center;min-width:0;min-height:54px;padding:8px 6px 8px 10px;border:0;border-radius:0;background:transparent;color:var(--ink);text-align:left}.module-element-select:hover{transform:none;background:var(--surface)}.module-element-select>span{padding:2px 5px;border:1px solid #8A8270;border-radius:2px;color:var(--muted);font:500 9px 'IBM Plex Mono',monospace}.module-element-row.active .module-element-select>span{border-color:var(--ink);color:var(--ink)}.module-element-select>strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.module-element-select>small{grid-column:2;color:var(--error);font-size:10px;font-weight:700}.module-element-actions{display:flex;gap:2px;padding-right:5px}.module-element-actions button{min-width:27px;min-height:30px;padding:2px 6px}.module-element-list>p{padding:15px 4px;color:var(--muted);font-size:13px}
.module-add-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.module-add-row button{min-width:0;min-height:44px;padding:7px 5px;border-style:dashed;font-size:12px}
.module-detail{min-width:0;padding:30px 32px 100px;background:var(--paper)}.module-detail-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--ink)}.module-detail-head h2{margin:5px 0 0;font-size:24px}.module-detail-head .textbutton{min-height:44px;background:transparent;color:var(--ink)}
.module-detail .lesson-edit,.module-detail .assignment-edit,.module-detail .quiz-edit{margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.module-detail .lesson-toolbar,.module-detail .assignment-edit>.row,.module-detail .quiz-edit>.row{display:none}.module-detail .video-choice>div{border-radius:4px;background:var(--surface)}.module-detail .resources-editor{margin-top:20px}.module-empty-detail{display:grid;max-width:560px;gap:8px;padding:32px;border:1.5px dashed #8A8270;background:var(--surface)}.module-empty-detail h2,.module-empty-detail p{margin:0}
.module-workspace-form>.editorbar{position:sticky;z-index:12;bottom:0;margin:0;padding:12px 24px;border-width:1px 0 0;border-radius:0;background:rgba(255,253,248,.96)}.module-workspace-form>.editorbar .editorbar-actions #publish-item,.module-workspace-form>.editorbar .editorbar-actions #archive-item,.module-workspace-form>.editorbar .editorbar-actions #delete-item{display:none}
@media(max-width:1050px){.module-master-detail{grid-template-columns:280px minmax(0,1fr)}.module-shell-head{padding-inline:20px}.module-detail{padding-inline:24px}.module-detail .video-choice{grid-template-columns:1fr}}
@media(max-width:760px){.studio-frame[data-studio-screen="editer"]:has(.module-workspace-form)>.workspace-main{padding:0}.module-shell-head{grid-template-columns:auto minmax(0,1fr);padding:10px 16px}.module-shell-head>span{grid-column:1/-1;grid-row:2}.module-shell-head>div{justify-content:flex-end}.module-shell-head>div .caption{display:none}.module-master-detail{display:block}.module-master{padding:20px;border-right:0;border-bottom:1px solid var(--line)}.module-element-list{max-height:260px;overflow:auto}.module-detail{padding:24px 20px 120px}.module-detail-head{align-items:flex-start;flex-direction:column}.module-add-row{position:sticky;bottom:0;padding-top:8px;background:#FBF9F2}.module-workspace-form>.editorbar{align-items:stretch;flex-direction:column;padding:10px 16px}.module-workspace-form>.editorbar>div:first-child{display:none}.module-workspace-form>.editorbar .editorbar-actions{display:grid;grid-template-columns:1fr 1fr}.module-workspace-form>.editorbar .editorbar-actions button{min-width:0}}

/* Écran 23 — file de correction maître/détail. */
.studio-frame[data-studio-screen="devoirs"]>.workspace-main{padding:0}.assignment-workspace-v2{display:grid;min-height:100vh;grid-template-columns:minmax(360px,48%) minmax(360px,52%)}
.assignment-queue{min-width:0;padding:36px 32px}.assignment-queue h1{margin:0 0 20px;font-size:34px}.assignment-filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}.assignment-filters button{min-height:40px;padding:0 12px;border:1.5px solid #8A8270;border-radius:20px;background:transparent;color:var(--ink);font-size:12px}.assignment-filters button:hover,.assignment-filters button.active{transform:none;border-color:var(--ink);background:var(--ink);color:var(--surface)}
.assignment-queue-list{display:flex;flex-direction:column;border-top:1px solid var(--ink)}.assignment-queue-list>button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 14px;align-items:center;min-height:76px;padding:12px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);text-align:left}.assignment-queue-list>button:hover{transform:none;background:var(--surface)}.assignment-queue-list>button.active{box-shadow:inset 3px 0 0 var(--blue);background:#E6EDFF}.assignment-queue-list>button>span{display:grid;gap:3px}.assignment-queue-list small{color:var(--muted);font-size:12px}.assignment-queue-list time{color:var(--muted);font:500 10px 'IBM Plex Mono',monospace}.assignment-queue-list>button>b{grid-column:2;justify-self:end;padding:2px 7px;border:1px solid #8A8270;border-radius:3px;font-size:10px}
.assignment-detail{display:flex;min-width:0;min-height:100vh;flex-direction:column;gap:18px;padding:34px 32px;border-left:1px solid var(--ink);background:var(--surface)}.assignment-detail-title{display:grid;gap:4px}.assignment-detail-title>span{color:var(--muted);font:500 11px 'IBM Plex Mono',monospace}.assignment-detail-title h2{margin:0;font-size:22px}.assignment-detail-title small{color:var(--muted)}.assignment-file{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-block:1px solid var(--line)}.assignment-file>span{padding:3px 6px;background:var(--ink);color:var(--surface);font:500 10px 'IBM Plex Mono',monospace}.assignment-file>strong{font-size:14px}.assignment-review-form{display:flex;width:100%;flex-direction:column;gap:16px;margin:0;padding:0;border:0}.assignment-review-form>label{margin:0}.assignment-score{max-width:210px}.assignment-score>span{display:flex;height:48px;border:1.5px solid #8A8270;border-radius:4px;overflow:hidden}.assignment-score input{min-width:0;height:100%;border:0;border-radius:0;font:800 18px 'Manrope',sans-serif}.assignment-score b{display:flex;align-items:center;padding:0 12px;border-left:1px solid var(--line);font:500 13px 'IBM Plex Mono',monospace;white-space:nowrap}.assignment-detail-actions{display:flex;flex-wrap:wrap;gap:10px;padding-top:12px;border-top:1px solid var(--line)}.assignment-saved-grade{display:grid;gap:8px;padding:18px;border:1px solid var(--line);background:var(--paper)}.assignment-saved-grade>span{color:var(--muted);font:500 11px 'IBM Plex Mono',monospace}.assignment-saved-grade>strong{font:800 28px 'Manrope',sans-serif}.assignment-detail-empty{justify-content:center}.assignment-detail-empty h2,.assignment-detail-empty p{margin:0}
@media(max-width:1050px){.assignment-workspace-v2{grid-template-columns:minmax(320px,43%) minmax(0,57%)}.assignment-queue,.assignment-detail{padding-inline:24px}.assignment-file{grid-template-columns:auto 1fr}.assignment-file .button{grid-column:1/-1}}
@media(max-width:760px){.assignment-workspace-v2{display:block}.assignment-queue{padding:24px 20px}.assignment-queue h1{font-size:28px}.assignment-filters{flex-wrap:nowrap;overflow:auto;padding-bottom:4px}.assignment-filters button{flex:0 0 auto}.assignment-queue-list{max-height:380px;overflow:auto}.assignment-detail{min-height:0;padding:28px 20px 72px;border-top:1px solid var(--ink);border-left:0}.assignment-file{grid-template-columns:auto 1fr}.assignment-file .button{grid-column:1/-1}.assignment-detail-actions{display:grid;grid-template-columns:1fr}.assignment-detail-actions button{width:100%}}

/* Écrans 24 à 26 — produits, vidéos sociales et annonces. */
.studio-frame[data-studio-screen="produits"]>.workspace-main{padding:0;gap:0}.product-workspace-v2{display:grid;min-height:100vh;grid-template-columns:minmax(440px,1.08fr) minmax(380px,.92fr)}.product-master-v2{min-width:0;padding:36px 32px 64px}.product-master-v2 .studio-title{padding-bottom:16px}.product-master-v2 .catalog-toolbar{display:grid;gap:10px}.product-list-v2{border-top:1px solid var(--ink)}.product-row-v2{position:relative;border-bottom:1px solid var(--line)}.product-row-v2.active{box-shadow:inset 3px 0 0 var(--blue);background:#E6EDFF}.product-row-v2.is-archived{opacity:.7}.product-pick{display:grid;width:100%;min-height:84px;grid-template-columns:44px minmax(150px,1fr) auto auto auto;gap:14px;align-items:center;padding:12px;border:0;border-radius:0;background:transparent;color:var(--ink);text-align:left}.product-pick:hover{transform:none;background:rgba(255,253,248,.72)}.product-mini-cover{align-self:stretch;display:flex;width:44px;min-height:58px;align-items:flex-start;padding:5px;background:var(--ink);color:var(--yellow);font:600 8px 'IBM Plex Mono',monospace;overflow-wrap:anywhere}.product-row-copy{display:grid;gap:3px}.product-row-copy strong{font-size:14px}.product-row-copy small{color:var(--muted);font:500 10px 'IBM Plex Mono',monospace}.product-pick>b{font-size:13px;white-space:nowrap}.product-status{font-size:11px}.product-upsell-state{color:var(--blue);font:600 9px 'IBM Plex Mono',monospace;white-space:nowrap}.product-row-actions{display:none;flex-wrap:wrap;gap:2px;padding:0 12px 10px 68px}.product-row-v2.active .product-row-actions{display:flex}.product-row-actions .textbutton{min-height:38px;padding:6px 9px;background:transparent;color:var(--ink);font-size:11px}.product-row-actions .danger{color:var(--error)}
.product-detail-v2{display:flex;min-width:0;min-height:100vh;flex-direction:column;gap:14px;padding:32px;border-left:1px solid var(--ink);background:var(--surface)}.product-detail-v2>label{margin:0}.product-detail-v2 input,.product-detail-v2 textarea{background:var(--surface)}.product-detail-fields,.product-assets-v2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.product-assets-v2>div{display:grid;gap:6px}.product-assets-v2>div>span{font-size:14px;font-weight:600}.product-image-preview{display:flex;height:76px;align-items:flex-end;padding:7px;border:1.5px dashed #8A8270;border-radius:4px;background-position:center;background-size:cover}.product-image-preview span{padding:2px 5px;background:rgba(11,18,32,.82);color:var(--surface);font:500 9px 'IBM Plex Mono',monospace}.product-file-state{display:flex;height:76px;flex-direction:column;justify-content:center;gap:3px;padding:9px 11px;border:1px solid var(--line);border-radius:4px}.product-file-state strong{font-size:13px}.product-file-state small{color:var(--muted);font-size:10px}.product-upsell-summary{display:grid;gap:4px;padding:14px;border:1px solid var(--ink);border-radius:4px}.product-upsell-summary strong{font-size:14px}.product-upsell-summary small{color:var(--muted);font-size:12px}.product-detail-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}.product-detail-actions>span{margin-right:auto;font-size:13px;font-weight:600}.product-detail-empty{justify-content:center}.product-order-bump-v2.panel{margin:0;padding:14px;border-color:var(--line);box-shadow:none}.product-order-bump-v2 .sectionhead{display:block;margin:0 0 10px}.product-order-bump-v2 .sectionhead h3{margin:3px 0;font-size:15px}.product-order-bump-v2 .sectionhead p{font-size:11px}.product-order-bump-v2 form.fields{grid-template-columns:1fr 1fr;gap:8px}.product-order-bump-v2 form.fields label{font-size:11px}.product-order-bump-v2 form.fields input,.product-order-bump-v2 form.fields select{height:42px;font-size:12px}.product-order-bump-v2 form.fields button{grid-column:1/-1;min-height:44px}.product-order-bump-v2 #order-bump-list{font-size:11px}
.studio-management-head{display:grid;gap:4px;margin:0}.studio-management-head h1,.studio-management-head h2{margin:0;font-size:34px}.studio-frame[data-studio-screen="videos"]>.workspace-main,.studio-frame[data-studio-screen="annonces"]>.workspace-main{padding:36px 32px 72px}.social-video-compose{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:20px;align-items:start;padding:18px;border:1px solid var(--ink);border-radius:4px;background:var(--surface)}.social-video-form.panel{display:flex;min-width:0;flex-direction:column;gap:12px;margin:0;padding:0;border:0;box-shadow:none}.social-video-form h3{margin:0}.social-video-form label{margin:0}.social-video-form button{align-self:flex-start}.social-video-preview{display:grid;gap:7px}.social-video-preview>div{display:flex;aspect-ratio:9/12;flex-direction:column;justify-content:flex-end;gap:3px;padding:11px;border-radius:3px;background:repeating-linear-gradient(135deg,#1A2438 0 8px,#141D30 8px 16px);color:var(--surface)}.social-video-preview small{color:var(--yellow);font:500 9px 'IBM Plex Mono',monospace}.social-video-preview strong{font-size:14px}.social-video-library{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.social-video-group{min-width:0}.social-video-group-head{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:8px;border-bottom:1px solid var(--ink)}.social-video-group-head span{color:var(--muted);font:500 10px 'IBM Plex Mono',monospace}.social-video-items{display:grid}.social-video-admin-row.panel{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:11px;align-items:center;margin:0;padding:8px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none}.social-video-admin-row>div{min-width:0}.social-video-admin-row h3{overflow:hidden;margin:0 0 3px;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.social-video-admin-row a{font-size:11px}.social-video-admin-row button{min-height:44px}.social-admin-thumb{width:40px;height:52px;border-radius:2px;background-color:var(--ink);background-position:center;background-size:cover}
.announcement-compose-v2{display:grid;grid-template-columns:minmax(420px,1.2fr) minmax(300px,.8fr);gap:24px;align-items:start}.announcement-form-v2.panel{margin:0;padding:18px;border-color:var(--ink);box-shadow:none}.announcement-form-v2 textarea{min-height:86px}.announcement-site-preview.panel{position:sticky;top:24px;display:grid;gap:5px;margin:0;padding:14px 16px;border:0;border-radius:3px;background:var(--ink);color:var(--surface);box-shadow:none}.announcement-site-preview .eyebrow{color:#8FB0FF}.announcement-site-preview h3,.announcement-site-preview p{margin:0}.announcement-site-preview p{color:#C9D0DC;font-size:13px}.announcement-preview-code{justify-self:start;margin-top:5px;padding:3px 8px;border-radius:3px;background:var(--yellow);color:var(--ink);font:600 11px 'IBM Plex Mono',monospace}.announcement-list-v2{gap:0;border-top:1px solid var(--ink)}.announcement-list-v2>.panel{margin:0;padding:14px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none}.announcement-list-v2>.panel>p{margin-block:6px}.announcement-list-v2 .row{align-items:center}
@media(max-width:1100px){.product-workspace-v2{grid-template-columns:minmax(360px,1fr) minmax(330px,.9fr)}.product-master-v2,.product-detail-v2{padding-inline:24px}.product-pick{grid-template-columns:44px minmax(130px,1fr) auto}.product-status,.product-upsell-state{display:none}.social-video-library{grid-template-columns:1fr}.announcement-compose-v2{grid-template-columns:1fr}.announcement-site-preview.panel{position:static}}
@media(max-width:760px){.product-workspace-v2{display:block}.product-master-v2{padding:24px 20px}.product-detail-v2{min-height:0;padding:28px 20px 64px;border-top:1px solid var(--ink);border-left:0}.product-pick{grid-template-columns:40px minmax(0,1fr) auto;padding-inline:8px}.product-mini-cover{width:40px}.product-row-actions{padding-left:56px}.product-detail-fields,.product-assets-v2{grid-template-columns:1fr}.product-order-bump-v2 form.fields{grid-template-columns:1fr}.studio-frame[data-studio-screen="videos"]>.workspace-main,.studio-frame[data-studio-screen="annonces"]>.workspace-main{padding:24px 20px 60px}.studio-management-head h1,.studio-management-head h2{font-size:28px}.social-video-compose{grid-template-columns:1fr;padding:14px}.social-video-preview{max-width:210px}.social-video-library{grid-template-columns:1fr}.social-video-admin-row.panel{grid-template-columns:40px minmax(0,1fr)}.social-video-admin-row>button{grid-column:2;justify-self:start}.announcement-compose-v2{display:block}.announcement-site-preview.panel{margin-top:16px}.announcement-form-v2 .fields{grid-template-columns:1fr}}

/* Écrans 27 et 28 — disponibilités, réservations et devis. */
.studio-frame[data-studio-screen="creneaux"]>.workspace-main,.studio-frame[data-studio-screen="devis"]>.workspace-main{padding:36px 32px 72px}.studio-calls-overview{display:grid;grid-template-columns:minmax(340px,1fr) minmax(340px,1fr);gap:24px;align-items:start}.studio-calendar-v2,.studio-availability-settings{min-width:0;padding:16px;border:1px solid var(--line);border-radius:4px;background:var(--surface)}.studio-calendar-v2{display:grid;gap:12px}.studio-calendar-v2>header{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:10px;align-items:center;text-align:center}.studio-calendar-v2>header button{width:44px;height:44px;padding:0;border:1.5px solid var(--line);background:transparent;color:var(--ink)}.studio-calendar-v2>header button:hover{transform:none;border-color:var(--ink)}.studio-calendar-v2>header strong{text-transform:capitalize}.studio-calendar-week,.studio-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.studio-calendar-week{text-align:center}.studio-calendar-week span{color:var(--muted);font:500 10px 'IBM Plex Mono',monospace}.studio-calendar-day{display:flex;aspect-ratio:1;min-height:42px;flex-direction:column;align-items:center;justify-content:center;gap:1px;border:1px solid transparent;border-radius:3px;color:var(--muted);font-size:13px}.studio-calendar-day b{font-weight:600}.studio-calendar-day small{color:var(--muted);font:500 8px 'IBM Plex Mono',monospace}.studio-calendar-day.outside{opacity:.32}.studio-calendar-day.has-open{border:1.5px solid var(--blue);color:var(--ink)}.studio-calendar-day.has-open small{color:#1747CC}.studio-calendar-day.today{background:var(--ink);color:var(--surface)}.studio-calendar-day.today small{color:var(--yellow)}.studio-calendar-v2>p{margin:0;color:var(--muted);font-size:11px}
.studio-availability-settings{display:flex;flex-direction:column;gap:12px}.availability-form-v2.panel{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;border:0;box-shadow:none}.availability-form-v2 h3{margin:0;font-size:16px}.availability-form-v2>p{margin:0}.availability-form-v2 fieldset{margin:0;padding:0;border:0}.availability-form-v2 fieldset legend{margin-bottom:8px;font-size:13px;font-weight:600}.availability-form-v2 .weekday-grid{display:flex;flex-wrap:wrap;gap:6px}.availability-form-v2 .weekday-grid label{position:relative;min-height:40px;margin:0;padding:0 12px;border:1.5px solid #8A8270;border-radius:20px;font-size:12px;line-height:37px}.availability-form-v2 .weekday-grid label:has(input:checked){border-color:var(--ink);background:var(--ink);color:var(--surface);font-weight:700}.availability-form-v2 .weekday-grid input{position:absolute;opacity:0;pointer-events:none}.availability-form-v2 .fields{grid-template-columns:repeat(2,1fr);gap:9px}.availability-form-v2 label{font-size:12px}.availability-form-v2 input,.availability-form-v2 select{height:44px;font-size:13px}.availability-form-v2>button{align-self:flex-end;min-height:44px;background:var(--ink)}.studio-active-rules,.studio-slot-inventory,.studio-availability-settings .manual-slot{margin:0;border-top:1px solid var(--line)}.studio-active-rules>summary,.studio-slot-inventory>summary,.studio-availability-settings .manual-slot>summary{min-height:44px;padding:12px 0;font-size:12px;font-weight:700}.studio-active-rules .availability-list,.studio-slot-inventory .slot-admin-grid{display:grid;gap:6px;padding:0 0 10px}.studio-active-rules .panel,.studio-slot-inventory .slot-card{margin:0;padding:9px;border-radius:3px;font-size:11px}.studio-availability-settings .manual-slot .panel{margin:0;padding:12px;border-color:var(--line);box-shadow:none}
.studio-reservations-v2{display:grid;gap:9px}.studio-booking-list{border-top:1px solid var(--ink)}.studio-booking-row.panel{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(260px,1.7fr) auto;gap:10px 20px;align-items:center;margin:0;padding:14px 12px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none}.studio-booking-row.panel:nth-child(odd){background:var(--surface)}.studio-booking-row>span.status{justify-self:start}.studio-booking-row h3{margin:0;font-size:14px}.studio-booking-row p{grid-column:2;margin:0;color:var(--muted);font-size:12px}.studio-booking-row>button,.studio-booking-row>.button{grid-column:3;grid-row:1/3;justify-self:end;min-height:44px}.studio-booking-list:empty::after{content:'Aucune réservation pour le moment.';display:block;padding:18px 0;color:var(--muted)}
.quote-compose-v2{display:grid;grid-template-columns:minmax(440px,1fr) minmax(280px,340px);gap:32px;align-items:start}.quote-form-v2.panel{display:flex;flex-direction:column;gap:15px;margin:0;padding:0;border:0;background:transparent;box-shadow:none}.quote-form-v2>h3,.quote-form-v2>.caption{display:none}.quote-form-title{display:grid;gap:4px}.quote-form-title h1{margin:0;font-size:34px}.quote-form-v2>label{margin:0}.quote-form-v2>label:last-of-type{max-width:320px}.quote-form-v2>button{align-self:flex-start;min-height:52px;margin-top:2px}.quote-call-context{display:grid;gap:10px;padding:16px;border:1px solid var(--line);border-radius:4px;background:var(--surface)}.quote-call-context p{margin:0 0 8px;color:#3A4352;line-height:1.55}.quote-call-context ol{display:grid;gap:6px;margin:0;padding:0;list-style:none;font-size:13px}.quote-list-v2{gap:0;border-top:1px solid var(--ink)}.quote-admin-row.panel{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:8px 20px;align-items:center;margin:0;padding:16px 12px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none}.quote-admin-row>.row{display:contents}.quote-admin-row>.row>div{min-width:0}.quote-admin-row h3{margin:4px 0;font-size:15px}.quote-admin-row>p{grid-column:1;margin:0;color:var(--muted);font-size:12px}.quote-admin-row>.caption{display:none}.quote-pipeline{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none}.quote-pipeline li{padding:3px 8px;border:1px dashed #8A8270;border-radius:3px;color:var(--muted);font-size:10px;font-weight:600}.quote-pipeline li.done{border-style:solid;border-color:var(--ink);background:var(--ink);color:var(--surface)}
@media(max-width:1050px){.studio-calls-overview{grid-template-columns:1fr}.studio-calendar-v2{max-width:620px}.quote-compose-v2{grid-template-columns:minmax(0,1fr) 280px}.studio-booking-row.panel{grid-template-columns:minmax(140px,.7fr) minmax(220px,1.3fr)}.studio-booking-row>button,.studio-booking-row>.button{grid-column:1/-1;grid-row:auto;justify-self:start}.studio-booking-row p{grid-column:2}}
@media(max-width:760px){.studio-frame[data-studio-screen="creneaux"]>.workspace-main,.studio-frame[data-studio-screen="devis"]>.workspace-main{padding:24px 20px 60px}.studio-calls-overview,.quote-compose-v2{display:block}.studio-availability-settings,.quote-call-context{margin-top:16px}.studio-calendar-day{min-height:38px;font-size:12px}.studio-calendar-day small{display:none}.availability-form-v2 .fields{grid-template-columns:1fr 1fr}.studio-booking-row.panel{display:flex;align-items:flex-start;flex-direction:column;gap:7px;padding:14px 8px}.studio-booking-row p{grid-column:auto}.studio-booking-row>button,.studio-booking-row>.button{width:100%;justify-content:center}.quote-form-title h1{font-size:28px}.quote-admin-row.panel{grid-template-columns:1fr}.quote-admin-row>p{grid-column:1}.quote-pipeline{overflow:auto;flex-wrap:nowrap;padding-bottom:3px}.quote-pipeline li{flex:0 0 auto}}

/* Écrans 29 et 30 — commandes, prospects et campagnes. */
.studio-frame[data-studio-screen="commandes"]>.workspace-main,.studio-frame[data-studio-screen="prospects"]>.workspace-main{padding:36px 32px 72px}
.order-tools-v2{display:grid;grid-template-columns:minmax(260px,420px) minmax(0,1fr);gap:20px;align-items:end;padding:16px 0;border-bottom:1px solid var(--ink)}.order-tools-v2>label{margin:0;font-size:12px}.order-status-filters{display:flex;justify-content:flex-end;gap:6px;overflow:auto}.order-status-filters button{flex:0 0 auto;min-height:40px;padding:7px 11px;border:1px solid var(--line);border-radius:20px;background:transparent;color:var(--ink);font-size:11px}.order-status-filters button:hover,.order-status-filters button.active{border-color:var(--ink);background:var(--ink);color:var(--surface);transform:none}.order-status-filters span{margin-left:4px;font-family:'IBM Plex Mono',monospace}
.orders-table-v2,.prospect-table-v2{border-bottom:1px solid var(--ink)}.orders-table-v2 table,.prospect-table-v2 table{min-width:1080px}.orders-table-v2 th,.prospect-table-v2 th{height:42px;padding:9px 10px;background:#F2EFE6;color:var(--ink);font:500 10px 'IBM Plex Mono',monospace;letter-spacing:.05em}.orders-table-v2 td,.prospect-table-v2 td{height:62px;padding:10px;border-color:var(--line);font-size:12px;vertical-align:middle}.orders-table-v2 tbody tr:nth-child(even),.prospect-table-v2 tbody tr:nth-child(even){background:var(--surface)}.orders-table-v2 tbody tr:hover,.prospect-table-v2 tbody tr:hover{background:#FBF0CF}.orders-table-v2 td small,.prospect-table-v2 td small{display:block;margin-top:2px;color:var(--muted);font-size:10px}.orders-table-v2 code,.order-detail-v2 code{font:500 11px 'IBM Plex Mono',monospace;overflow-wrap:anywhere}.orders-table-v2 .textbutton,.prospect-table-v2 .textbutton{min-height:44px;padding:8px 0;white-space:nowrap}.order-security-note{max-width:900px;margin-top:18px}.order-detail-v2{display:grid;gap:18px}.order-detail-v2 h2{margin:0}.order-detail-total{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:18px 0;border-block:1px solid var(--ink)}.order-detail-total span{color:var(--muted)}.order-detail-total strong{font:800 27px 'Manrope',sans-serif}.order-detail-v2 dl,.prospect-drawer dl{display:grid;gap:0;margin:0}.order-detail-v2 dl>div,.prospect-drawer dl>div{display:grid;grid-template-columns:145px minmax(0,1fr);gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}.order-detail-v2 dt,.prospect-drawer dt{color:var(--muted);font-size:12px}.order-detail-v2 dd,.prospect-drawer dd{margin:0;font-weight:600}
.prospect-kpis{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--ink)}.prospect-kpis>div{display:grid;gap:2px;min-height:112px;padding:18px 20px;border-right:1px solid var(--line)}.prospect-kpis>div:last-child{border-right:0}.prospect-kpis span{color:var(--muted);font:500 10px 'IBM Plex Mono',monospace;letter-spacing:.05em}.prospect-kpis b{font:800 30px 'Manrope',sans-serif}.prospect-kpis small{color:var(--muted);font-size:11px}.prospect-kpis .needs-action{background:#FBF0CF}.prospect-tools-v2{display:grid;grid-template-columns:minmax(260px,1fr) 210px 240px;gap:12px;align-items:end;padding:18px 0}.prospect-tools-v2 label{margin:0;font-size:12px}.prospect-table-v2 table{min-width:1000px}.prospect-table-v2 td:first-child strong{display:block;font-size:13px}.prospect-table-v2 td:nth-child(3){max-width:240px}.prospect-export-note{margin-top:14px}.prospect-drawer{display:grid;gap:16px}.prospect-drawer h2{margin:0}.prospect-drawer>p{margin:0}.prospect-drawer-status{display:flex;flex-wrap:wrap;gap:7px}.prospect-sensitive{margin-top:12px;padding:18px;border:1px solid var(--error);border-top:4px solid var(--error);background:#FBE9E6}.prospect-sensitive h3{margin:8px 0}.prospect-sensitive p{font-size:14px}.prospect-sensitive .eyebrow{color:var(--error)}
@media(max-width:1050px){.order-tools-v2{grid-template-columns:1fr}.order-status-filters{justify-content:flex-start}.prospect-tools-v2{grid-template-columns:1fr 1fr}.prospect-search-v2{grid-column:1/-1}}
@media(max-width:760px){.studio-frame[data-studio-screen="commandes"]>.workspace-main,.studio-frame[data-studio-screen="prospects"]>.workspace-main{padding:24px 20px 60px}.order-tools-v2,.prospect-tools-v2{display:block}.order-tools-v2>*,.prospect-tools-v2>*{margin-bottom:12px}.order-status-filters{padding-bottom:4px}.prospect-kpis{grid-template-columns:1fr}.prospect-kpis>div{min-height:86px;border-right:0;border-bottom:1px solid var(--line)}.prospect-kpis>div:last-child{border-bottom:0}.orders-table-v2,.prospect-table-v2{max-width:calc(100vw - 40px)}.order-detail-total{align-items:flex-start;flex-direction:column}.order-detail-v2 dl>div,.prospect-drawer dl>div{grid-template-columns:1fr;gap:3px}}

/* Accessibilité tactile : ces règles restent en dernier afin de primer sur les variantes hi-fi. */
@media(max-width:760px){
  .hf-auth-heading .textbutton,.hf-auth-label-row .textbutton,.hf-auth-form-panel .auth-links .textbutton{display:inline-flex;align-items:center;min-height:44px;padding-block:8px}
}

.announcement-admin-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.announcement-admin-actions .danger,.danger-action{color:var(--error)}
.announcement-list-v2 .status.is-scheduled{border-color:#C18B00;color:#8A6200;background:#FFF7D6}
.announcement-list-v2 .status.is-expired{border-color:#A66B5B;color:#8C493A;background:#FBE9E6}
.announcement-list-v2 .status.is-archived{border-color:var(--line);color:var(--muted);background:#F2EFE6}
.announcement-cancel{margin-left:8px}
/* Manual enrollment */
.manual-enrollment-panel{border-top:4px solid #245bdf}.manual-enrollment-panel .fields{grid-template-columns:repeat(2,minmax(0,1fr))}.manual-enrollment-panel .fields>label:last-of-type{grid-column:1/-1}.manual-enrollment-panel textarea{min-height:96px}.manual-enrollment-panel label span{font-size:.8em;color:#646a77;font-weight:400}.manual-enrollment-panel .cash-confirmation{grid-column:1/-1;display:flex;align-items:flex-start;gap:10px;padding:14px;border:1px solid #c8d4ee;background:#f6f8fd}.manual-enrollment-panel .cash-confirmation input{width:20px;height:20px;margin:0;flex:0 0 auto}.manual-enrollment-panel .cash-confirmation span{font-size:13px;color:#101b3d;font-weight:700}.manual-enrollment-panel button[data-resend-invitation],.manual-enrollment-panel button[data-revoke-invitation]{margin-right:8px}.invitation-page{max-width:760px;padding-top:80px}.invitation-page h1{max-width:620px}.invitation-page .actions{display:flex;gap:12px;flex-wrap:wrap}@media(max-width:700px){.manual-enrollment-panel .fields{grid-template-columns:1fr}.manual-enrollment-panel .fields>label:last-of-type{grid-column:auto}.manual-enrollment-panel .cash-confirmation{grid-column:auto}}
.pricing-editor{margin:24px 0;padding:24px;border:1px solid var(--line,#d8d2c5);background:#f7f5ef;display:grid;gap:20px}.pricing-editor h4{font-size:1.15rem;margin:4px 0}.pricing-editor p{margin:0}.pricing-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pricing-modes>label{display:flex;gap:12px;align-items:flex-start;padding:16px;border:1px solid #c9c2b4;background:#fff;cursor:pointer}.pricing-modes>label:has(input:checked){border:2px solid #245bdf;padding:15px;background:#f2f6ff}.pricing-modes input{margin-top:4px}.pricing-modes span{display:grid;gap:5px}.pricing-modes small{color:#596273;line-height:1.45}.pricing-preview{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:16px;background:#0b1424;color:#fff}.pricing-preview>span{font-size:.72rem;letter-spacing:.13em;text-transform:uppercase}.pricing-preview del{opacity:.72}.pricing-preview strong{font-size:1.35rem}.pricing-preview b,.promo-badge{background:#fac62b;color:#0b1424;padding:4px 8px;font-size:.78rem;text-transform:uppercase}.pricing-preview a{color:#fac62b;margin-left:auto}.price-promo{display:inline-flex;align-items:center;gap:9px;flex-wrap:wrap}.price-promo del{opacity:.62;font-weight:500}.price-promo strong{font-size:1.12em}.price-promo.is-compact{gap:7px}.price-promo .promo-badge{white-space:nowrap}@media(max-width:720px){.pricing-modes{grid-template-columns:1fr}.pricing-editor{padding:18px}.pricing-preview a{width:100%;margin-left:0}}
 .tracking-consent{position:fixed;z-index:80;left:20px;right:20px;bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 22px;background:var(--ink);color:var(--surface);border:1px solid var(--yellow);box-shadow:0 12px 30px rgba(11,20,36,.22)}
 .tracking-consent[hidden]{display:none}.tracking-consent p{margin:5px 0 0;color:#d9dfeb;max-width:760px}.tracking-consent .actions{margin:0;display:flex;gap:8px}.tracking-consent .outline{border-color:var(--surface);color:var(--surface)}.footer-consent-link{color:inherit;padding:0;text-decoration:underline}
 .studio-frame[data-studio-screen="parametres"]>.workspace-main{padding:36px 32px 72px}.settings-panel{display:grid;gap:0;margin:0;padding:0;overflow:hidden;border-color:var(--ink);box-shadow:none}.settings-tabs{display:flex;gap:0;overflow-x:auto;border-bottom:1px solid var(--ink);background:#F2EFE6}.settings-tabs button{flex:1 0 auto;min-height:52px;padding:10px 18px;border:0;border-right:1px solid var(--line);border-radius:0;background:transparent;color:#3A4352;font-size:13px}.settings-tabs button:last-child{border-right:0}.settings-tabs button:hover{transform:none;background:var(--surface)}.settings-tabs button.active{box-shadow:inset 0 -4px 0 var(--blue);background:var(--surface);color:var(--ink)}.settings-tabs button:focus-visible{position:relative;z-index:1;outline:3px solid var(--yellow);outline-offset:-3px}.settings-panels{min-height:510px}.settings-panels>section{display:grid;gap:18px;padding:30px}.settings-panels>section[hidden]{display:none}.settings-panel h2{margin:5px 0 4px;font-size:25px}.settings-panel h3{margin:6px 0 0;font-size:16px}.settings-panel label>small,.settings-secret>small{display:block;margin-top:5px;color:var(--muted);font-size:12px}.settings-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid var(--line)}.settings-section-head p{max-width:660px;margin:0;color:var(--muted)}.settings-summary{flex:0 0 auto;padding:5px 9px;border:1px solid var(--line);border-radius:3px;background:#F2EFE6;font:600 10px 'IBM Plex Mono',monospace;text-transform:uppercase}.settings-master-toggle{display:flex;align-items:flex-start;gap:12px;margin:0;padding:15px;border:1px solid var(--line);background:#FBF9F2}.settings-master-toggle input{flex:0 0 auto;width:20px!important;height:20px;margin:2px 0 0}.settings-master-toggle span{display:grid;gap:2px}.settings-master-toggle small{color:var(--muted);font-weight:400}.settings-provider-keys{display:grid;gap:14px;padding-top:4px}.settings-provider-keys[hidden],.settings-provider-empty[hidden]{display:none}.settings-provider-empty{padding:20px;border:1px dashed #8A8270;background:#FBF9F2}.settings-provider-empty p{margin:5px 0 0;color:var(--muted)}.settings-secret{display:grid;gap:6px;padding:14px;border:1px solid var(--line);background:var(--surface)}.settings-secret-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-secret-head label{margin:0}.settings-secret-status{flex:0 0 auto;color:var(--muted);font:600 10px 'IBM Plex Mono',monospace;text-transform:uppercase}.settings-secret-status.is-configured{color:var(--success)}.settings-secret-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.settings-secret-control input{margin:0}.settings-secret-toggle{min-width:96px;margin:0;padding-inline:14px}.settings-clear{display:flex;align-items:center;gap:8px;margin:3px 0 0;color:var(--error);font-size:12px}.settings-clear input{width:18px;height:18px;margin:0}.settings-help{margin:0;padding:12px 14px;border-left:3px solid var(--blue);background:#E6EDFF;color:#26344F;font-size:13px}.settings-security-note{max-width:680px;padding:18px;border:1px solid var(--line);background:#FBF9F2}.settings-security-note ul{margin:10px 0 0;padding-left:20px;color:#3A4352}.settings-password{max-width:560px}.settings-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 30px;border-top:1px solid var(--ink);background:#F2EFE6}.settings-actions .form-error{margin:0}.settings-actions>button{flex:0 0 auto;min-width:230px}.settings-panel .fields{grid-template-columns:repeat(2,minmax(0,1fr))}
 @media(max-width:760px){.tracking-consent{left:10px;right:10px;bottom:10px;display:block}.tracking-consent .actions{margin-top:14px}.studio-frame[data-studio-screen="parametres"]>.workspace-main{padding:24px 20px 60px}.settings-tabs{padding:0 4px}.settings-tabs button{flex:0 0 auto;min-width:118px}.settings-panels{min-height:0}.settings-panels>section{padding:22px 16px}.settings-section-head{display:grid;gap:10px}.settings-summary{justify-self:start}.settings-panel .fields{grid-template-columns:1fr}.settings-secret-control{grid-template-columns:1fr}.settings-secret-toggle{width:100%}.settings-actions{align-items:stretch;flex-direction:column;padding:16px}.settings-actions>button{width:100%;min-width:0}}

/* Paiements manuels : configuration, instructions client et validation propriétaire. */
.manual-payment-settings{display:grid;gap:18px}.manual-payment-settings>hr{width:100%;margin:8px 0;border:0;border-top:1px solid var(--ink)}.manual-settings-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.manual-settings-methods label{margin:0}.manual-settings-methods textarea{min-height:112px}.manual-checkout{display:grid;gap:18px;margin-top:24px;padding:20px;border:1px solid var(--ink);border-top:4px solid var(--yellow);background:#fff}.manual-checkout h3,.manual-checkout p{margin:0}.manual-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.manual-methods label{display:flex;align-items:center;gap:12px;min-height:64px;margin:0;padding:16px;border:1px solid var(--line);background:#fbf9f2;cursor:pointer}.manual-methods label:has(input:checked){border:2px solid var(--blue);padding:15px;background:#eef3ff}.manual-methods input{flex:0 0 auto;width:18px;height:18px;margin:0}.manual-methods span{display:grid;gap:5px}.manual-payment-proof{display:grid;gap:16px;padding:20px;border:1px solid var(--ink);border-top:5px solid var(--yellow);background:#fff}.manual-payment-proof h2,.manual-payment-proof p{margin:0}.manual-payment-proof .actions{display:flex;flex-wrap:wrap;gap:10px}.manual-selected-method{font-size:1.1rem}.manual-instructions{white-space:normal;line-height:1.65;color:#3a4352}.payment-proof-modal{display:grid;gap:18px;max-width:580px}.payment-proof-modal h2,.payment-proof-modal p{margin:0}.payment-proof-modal .actions{display:flex;flex-wrap:wrap;gap:10px}.payment-proof-modal .wide{width:100%}.course-card-summary{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4}.manual-review{display:grid;gap:12px;padding-top:18px;border-top:1px solid var(--ink)}.manual-review p{margin:0}.manual-review form{display:grid;gap:12px}.manual-review textarea{min-height:90px}.manual-review .actions{display:flex;flex-wrap:wrap;gap:10px}
@media(max-width:760px){.manual-settings-methods,.manual-methods{grid-template-columns:1fr}.manual-checkout,.manual-payment-proof{padding:16px}.manual-payment-proof .actions>*{width:100%;justify-content:center}.manual-review .actions{display:grid}.manual-review .actions button{width:100%}}

/* Quiz groupés, évaluation finale et parcours séquentiel. */
.assessment-edit,.assessment-question-list{display:grid;gap:18px}.assessment-settings{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:16px}.assessment-question{overflow:hidden;padding:0;border-left:4px solid var(--blue)}.assessment-question.needs-attention{border-left-color:var(--error)}.assessment-question.is-complete{border-left-color:var(--success)}.assessment-question>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;cursor:pointer;list-style:none}.assessment-question>summary::-webkit-details-marker{display:none}.assessment-question>summary::after{content:'+';font-size:24px;line-height:1}.assessment-question[open]>summary::after{content:'−'}.assessment-question>summary>div{min-width:0;flex:1}.assessment-question h4,.assessment-summary h4{overflow:hidden;margin:4px 0;text-overflow:ellipsis;white-space:nowrap}.question-state{margin-left:auto;padding:4px 8px;border:1px solid currentColor;border-radius:999px;color:var(--success);font-size:11px;font-weight:700}.needs-attention .question-state{color:var(--error)}.assessment-question-body{display:grid;gap:15px;padding:0 20px 20px;border-top:1px solid var(--line)}.question-issue{margin:14px 0 0;padding:9px 12px;border-left:3px solid var(--error);background:#fbe9e6;color:var(--error);font-size:13px;font-weight:700}.question-actions{display:flex;justify-content:flex-end;margin-top:14px}.assessment-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.assessment-answers{display:grid;gap:9px}.assessment-answer{display:grid;grid-template-columns:150px minmax(0,1fr) auto;align-items:center;gap:9px}.assessment-answer .correct-answer{display:flex;align-items:center;gap:7px;margin:0;font-size:12px}.assessment-answer input{margin:0}.assessment-summary{margin:10px 0;padding:17px}.assessment-summary .actions{margin:0}.final-assessment-editor{display:grid;gap:18px;margin-top:24px;border-top:5px solid var(--yellow)}.final-assessment-editor>p{max-width:720px;margin:0;color:var(--muted)}
.learner-module{margin-top:12px;border:1px solid var(--line);background:var(--surface)}.learner-module-toggle{width:100%;display:flex!important;align-items:center!important;justify-content:space-between;gap:12px;padding:15px!important;border:0!important;background:#f7f4eb!important;color:var(--ink)!important;text-align:left!important}.learner-module-toggle:hover{transform:none!important;background:#f0ecdf!important}.learner-module-toggle>span:first-child{display:grid;gap:4px}.learner-module-toggle small{font:600 10px 'IBM Plex Mono',monospace;letter-spacing:.12em;color:var(--blue)}.learner-module-toggle strong{font-size:14px}.learner-module-body{display:grid;gap:4px;padding:8px}.learner-module-body[hidden]{display:none}.learner-module-body button{width:100%;text-align:left}.learner-module-body button:disabled{cursor:not-allowed;opacity:.46;background:#eeeae0;color:#6b6f78}.learner-module.is-complete{border-color:#75a687}.learner-final{display:grid;gap:9px;margin-top:18px;padding-top:17px;border-top:1px solid var(--ink)}.learner-final button{width:100%}.final-assignment-focus{border:0;padding:0}.course-landing-actions:has([data-preview]) [data-preview],.landing-offer [data-preview]{background:var(--blue);color:#fff;border-color:var(--blue)}.course-landing-actions:has([data-preview]) [data-start]{background:transparent;color:var(--ink);border:1px solid var(--ink)}
@media(max-width:760px){.assessment-settings,.assessment-answer{grid-template-columns:1fr}.assessment-question>summary,.assessment-summary{display:grid}.question-state{margin-left:0}.assessment-answer .danger{justify-self:start}.learner-module-toggle{min-height:58px}}

/* Lecteur de cours immersif — vidéo prioritaire et sommaire persistant. */
.learner-course-screen{width:min(100% - 24px,1440px);margin:12px auto 0;border:1px solid var(--line);background:var(--surface);box-shadow:0 18px 48px rgba(11,18,32,.08)}
.learner-course-toolbar{position:sticky;top:0;z-index:8;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(230px,280px);align-items:center;gap:20px;min-height:64px;padding:10px 28px;border-bottom:1px solid var(--line);background:rgba(255,253,248,.97);backdrop-filter:blur(12px)}
.learner-course-back{min-height:42px;margin:0;padding:9px 14px;border:1px solid var(--ink);border-radius:4px;color:var(--ink);font-weight:700}
.learner-course-title{display:grid;gap:1px;min-width:0}.learner-course-title span{color:var(--muted);font:500 10px/1.4 var(--mono);letter-spacing:.08em}.learner-course-title strong{overflow:hidden;font:700 15px/1.35 var(--display);text-overflow:ellipsis;white-space:nowrap}
.learner-course-progress{display:grid;gap:5px}.learner-course-progress>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:12px}.learner-course-progress>div:first-child strong{font:600 12px/1.4 var(--mono)}.learner-course-progress .progress{height:6px;margin:0}
.learner-course-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;align-items:start;min-height:calc(100vh - 78px)}
.learner-course-layout>.lesson-focus{min-width:0;border:0;border-radius:0;background:var(--surface)}
.lesson-video-stage{display:grid;place-items:center;min-width:0;scroll-margin-top:78px;background:#0b1220}.lesson-video-stage:focus{outline:3px solid var(--blue);outline-offset:-3px}.lesson-video-stage .video-lesson{width:100%;margin:0}.lesson-video-stage iframe,.lesson-video-stage video{display:block;width:100%;aspect-ratio:16/9;border-radius:0;background:#0b1220}
.lesson-video-stage .video-placeholder{display:grid;place-items:center;align-content:center;gap:12px;aspect-ratio:16/9;background:repeating-linear-gradient(135deg,#0b1220,#0b1220 14px,#131d31 14px,#131d31 28px);color:white}
.lesson-copy{max-width:880px;padding:34px 40px 64px}.lesson-copy>.eyebrow{margin-bottom:10px}.lesson-copy>h1{margin:0 0 14px;font-size:clamp(30px,3vw,42px)}.lesson-copy .lesson-description{margin:0 0 20px;padding:0;border:0;font-size:17px}.lesson-copy .lesson-text{margin:20px 0;font-size:16px;line-height:1.85}.lesson-assessment-copy{max-width:none;padding:48px clamp(24px,6vw,80px)}.lesson-complete-action{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding-top:18px;border-top:1px solid var(--ink)}.lesson-complete-status{display:inline-flex;align-items:center;min-height:56px;padding:0 18px;border:1px solid #18764c;border-radius:4px;background:#e8f3eb;color:#12643f;font-weight:750}
.learner-course-layout>.learner-sidebar{position:sticky;top:64px;max-height:calc(100vh - 64px);overflow:auto;padding:0;border:0;border-left:1px solid var(--line);border-radius:0;background:#f7f4ec}
.learner-sidebar-heading{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:14px 18px;border-bottom:1px solid var(--ink);background:#fffdf8}.learner-sidebar-heading h2{margin:0;font-size:16px}.learner-sidebar-heading span{font:600 12px/1.4 var(--mono)}
.learner-course-layout .learner-module{margin:0;border:0;border-bottom:1px solid var(--line);background:transparent}.learner-course-layout .learner-module.is-complete{border-color:var(--line)}.learner-course-layout .learner-module-toggle{min-height:62px;padding:12px 18px!important;background:transparent!important}.learner-course-layout .learner-module-toggle:hover{background:#efeade!important}.learner-course-layout .learner-module-body{gap:0;padding:0}.learner-course-layout .learner-module-body button{min-height:48px;margin:0;padding:10px 18px;border-left:3px solid transparent}.learner-course-layout .learner-module-body button.active{border-left-color:var(--blue);background:#e4ebff;color:var(--ink);font-weight:700}.learner-course-layout .learner-final,.learner-course-layout .certificate-download-card{margin:18px}.learner-course-layout .learner-module.is-locked{background:repeating-linear-gradient(135deg,transparent,transparent 9px,rgba(220,214,198,.42) 9px,rgba(220,214,198,.42) 18px)}.learner-course-layout .learner-module.is-locked .learner-module-toggle{cursor:not-allowed;opacity:.78}.learner-course-layout .learner-module.is-locked .learner-module-toggle:hover{background:transparent!important}.learner-module-unlock{display:block;margin-top:2px;color:#667085;font-size:12px;font-weight:500;letter-spacing:0;text-transform:none}
@media(min-width:761px){body:has(.learner-course-screen)>.site-header,body:has(.learner-course-screen)>footer{display:none}}
@media(max-width:1000px) and (min-width:761px){.learner-course-layout{grid-template-columns:minmax(0,1fr) 320px}.learner-course-toolbar{padding-inline:18px}.lesson-copy{padding-inline:28px}}
@media(max-width:760px){.learner-course-screen{width:100%;margin:0;border:0;box-shadow:none}.learner-course-toolbar{position:static;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:10px 14px}.learner-course-back{padding-inline:10px}.learner-course-title strong{font-size:13px}.learner-course-progress{grid-column:1/-1}.learner-course-layout{grid-template-columns:1fr;min-height:0}.learner-course-layout>.learner-sidebar{position:static;max-height:none;border-top:1px solid var(--ink);border-left:0}.lesson-copy,.lesson-assessment-copy{padding:24px 18px 96px}.lesson-copy>h1{font-size:29px}.lesson-copy .lesson-description{font-size:16px}.lesson-video-stage iframe,.lesson-video-stage video,.lesson-video-stage .video-placeholder{min-height:210px}.learner-sidebar-heading{position:static}.learner-course-layout .learner-module-toggle{min-height:58px}.learner-course-layout .learner-module-body button{min-height:50px}.lesson-complete-action{align-items:stretch}.lesson-complete-action>*{width:100%;justify-content:center}}

/* Mobile app shell — navigation au pouce, surfaces bord à bord et zones sûres. */
.mobile-app-nav{display:none}
@media(max-width:760px){
  :root{--mobile-bar-height:70px}
  html{scroll-padding-top:72px}
  body{min-width:320px;-webkit-tap-highlight-color:transparent}
  body[data-area="learner"],body:has(>.mobile-app-nav:not([hidden])){padding-bottom:calc(var(--mobile-bar-height) + env(safe-area-inset-bottom,0px))}
  body[data-area="learner"],body:has(>.mobile-app-nav:not([hidden])){background:#F7F4EC}
  body[data-area="learner"]>.mobile-diagnostic-bar,body:has(>.mobile-app-nav:not([hidden]))>.mobile-diagnostic-bar{display:none}
  body[data-area="learner"]>.site-header,body:has(>.mobile-app-nav:not([hidden]))>.site-header{border-bottom:1px solid var(--line);box-shadow:0 4px 18px rgba(16,17,20,.05)}
  body[data-area="learner"]>.site-header .mobile-menu-toggle,body:has(>.mobile-app-nav:not([hidden]))>.site-header .mobile-menu-toggle{display:none}
  body[data-area="learner"]>.site-header #member-nav .button,body:has(>.mobile-app-nav:not([hidden]))>.site-header #member-nav .button{border:0;background:transparent;color:var(--blue);padding-inline:4px}
  body[data-area="learner"]>footer,body:has(>.mobile-app-nav:not([hidden]))>footer{display:none}
  .mobile-app-nav:not([hidden]){position:fixed;right:0;bottom:0;left:0;z-index:70;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));height:calc(var(--mobile-bar-height) + env(safe-area-inset-bottom,0px));padding:6px 6px env(safe-area-inset-bottom,0px);border-top:1px solid #D9D4C8;background:rgba(255,253,248,.97);box-shadow:0 -10px 30px rgba(16,17,20,.08);backdrop-filter:blur(14px)}
  .mobile-app-nav a{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;min-width:0;min-height:56px;padding:4px 2px;border-radius:12px;color:#606675;font-weight:700;text-align:center}
  .mobile-app-nav a>span{display:grid;width:24px;height:24px;place-items:center;line-height:1}
  .mobile-app-nav a>span svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .mobile-app-nav a>small{max-width:100%;overflow:hidden;font-size:10px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
  .mobile-app-nav a[aria-current="page"]{background:#EDF2FF;color:var(--blue)}
  .mobile-app-nav a[aria-current="page"]::before{position:absolute;top:2px;width:20px;height:3px;border-radius:99px;background:var(--blue);content:""}

  body[data-area="learner"] .wrap{padding:20px 16px 32px}
  body[data-area="learner"] .workspace{display:block}
  body[data-area="learner"] .workspace>.sidebar{display:none}
  body[data-area="learner"] .workspace-main{width:100%}
  body[data-area="learner"] .statbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 18px;padding:0;overflow:visible}
  body[data-area="learner"] .statbar .stat{min-width:0;min-height:88px;padding:14px;border-radius:14px}
  body[data-area="learner"] .statbar .stat b{font-size:25px}
  body[data-area="learner"] .dashboard-head{gap:12px;margin-bottom:18px}
  body[data-area="learner"] .dashboard-head h1{margin:6px 0 8px;font-size:clamp(30px,9vw,38px)}
  body[data-area="learner"] .dashboard-head p{margin-bottom:0;font-size:15px}
  body[data-area="learner"] .account-state{align-self:flex-start}
  body[data-area="learner"] .dashboard-grid{gap:12px}
  body[data-area="learner"] .panel{padding:20px;border-radius:16px;box-shadow:0 7px 24px rgba(16,17,20,.04)}
  body[data-area="learner"] .stack{gap:12px}
  body[data-area="learner"] .screen-title{margin:4px 0 18px;font-size:30px}
  body[data-area="learner"] .quick-grid{grid-template-columns:1fr 1fr}
  body[data-area="learner"] .quick-grid>*{min-height:76px;padding:13px;font-size:13px;text-align:left;justify-content:flex-start}
  body[data-area="learner"] .grid{gap:12px}
  body[data-area="learner"] .card{border-radius:16px}
  body[data-area="learner"] .card-body{padding:20px}

  body[data-area="learner"] .learner-shell{padding:14px 12px 30px}
  body[data-area="learner"] .focus-header{margin:2px 4px 12px}
  body[data-area="learner"] .learner-shell>.split{display:flex;flex-direction:column;gap:12px}
  body[data-area="learner"] .learner-sidebar{order:-1;padding:16px 18px;border-radius:16px}
  body[data-area="learner"] .learner-sidebar>h3{margin:0 0 2px;font-size:18px}
  body[data-area="learner"] .learner-sidebar>.muted{margin:0 0 8px;font-size:12px}
  body[data-area="learner"] .learner-sidebar>.progress{margin:8px 0 12px}
  body[data-area="learner"] .learner-module{padding:10px 0}
  body[data-area="learner"] .learner-module-toggle{min-height:48px;padding-block:5px}
  body[data-area="learner"] .learner-module-body button{min-height:48px}
  body[data-area="learner"] .lesson-focus{padding:20px 16px 28px;border-radius:16px}
  body[data-area="learner"] .lesson-focus h2{font-size:27px}
  body[data-area="learner"] .lesson-text{font-size:16px;line-height:1.75}
  body[data-area="learner"] .lesson-focus .actions{display:grid}
  body[data-area="learner"] .lesson-focus .actions>*{width:100%}
  body[data-area="learner"] .video-lesson{margin-inline:-16px}
  body[data-area="learner"] .video-lesson iframe,body[data-area="learner"] .video-lesson video{border-radius:0}
  body[data-area="learner"] .preview-learning .panel>iframe,body[data-area="learner"] .preview-learning .panel>video{display:block;margin-inline:-16px;width:calc(100% + 32px);border-radius:0}
  body[data-area="learner"] .learner-course-layout>.learner-sidebar{display:none}
  body[data-area="learner"] .learner-course-layout>.lesson-focus{order:-1;padding:0;border-radius:0}
  body[data-area="learner"] .learner-course-layout .lesson-video-stage{margin:0}
  body[data-area="learner"] .learner-course-layout .video-lesson{margin-inline:0}
  body:has(>.mobile-app-nav:not([hidden])) .sticky-buy-bar{bottom:calc(var(--mobile-bar-height) + env(safe-area-inset-bottom,0px));z-index:60}
  body:has(>.mobile-app-nav:not([hidden])) .hf-course-page{padding-bottom:76px}
  body[data-area="learner"] .quiz-shell fieldset{margin-inline:0;padding:12px}
  body[data-area="learner"] .quiz-segments{overflow-x:auto;scrollbar-width:none}
  body[data-area="learner"] .check-option{min-height:62px;padding:14px}

  dialog{width:100%;max-width:none;max-height:min(92dvh,760px);margin:auto 0 0;padding:26px 20px calc(24px + env(safe-area-inset-bottom,0px));border:0;border-radius:22px 22px 0 0;overflow:auto;overscroll-behavior:contain}
  dialog[open]{animation:mobile-sheet-in .2s ease-out}
  dialog .close{position:sticky;z-index:2;top:-18px;float:right;border:1px solid var(--line);border-radius:50%;background:var(--surface)}
  dialog h2{font-size:27px}
  dialog .actions{display:grid}
  dialog .actions>*{width:100%}
  #modal:has(.video-player-modal),#modal:has(.module-review-modal),#modal:has(.auth-premium),#modal:has(.announcement-modal){width:100%;max-height:94dvh;padding:24px 18px calc(22px + env(safe-area-inset-bottom,0px))}
  .module-review-modal textarea{min-height:96px}
  #toast{right:12px;left:12px;max-width:none;transform:none;text-align:center}
  body:has(>.mobile-app-nav:not([hidden])) #toast{bottom:calc(var(--mobile-bar-height) + 12px + env(safe-area-inset-bottom,0px))}
  .tracking-consent{right:10px;bottom:calc(var(--mobile-bar-height) + 10px + env(safe-area-inset-bottom,0px));left:10px;max-height:70dvh;overflow:auto;border-radius:16px}
  body:not([data-area="learner"]) .tracking-consent{bottom:10px}

  .tablewrap{max-width:100%;margin-inline:0;border:0}
  body[data-area="learner"] .tablewrap table,body[data-area="learner"] .tablewrap tbody,body[data-area="learner"] .tablewrap tr,body[data-area="learner"] .tablewrap td{display:block;width:100%}
  body[data-area="learner"] .tablewrap thead{display:none}
  body[data-area="learner"] .tablewrap tr{margin-bottom:10px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
  body[data-area="learner"] .tablewrap td{padding:5px 0;border:0}
  body[data-area="learner"] .tablewrap td:first-child{font-weight:700}
  body[data-area="learner"] .tablewrap td:nth-child(2){color:var(--muted)}

  .checkout-header{position:sticky;top:0;z-index:20;padding:10px 14px;background:rgba(247,244,236,.96);backdrop-filter:blur(12px)}
  .checkout-header img{height:27px}
  .checkout-header .payment-stepper li:not(.is-current):not(.is-complete){display:none}
  .checkout-page .checkout-shell{padding:20px 14px 36px}
  .checkout-product{display:grid;grid-template-columns:76px minmax(0,1fr);padding:12px}
  .checkout-product img{width:76px}
  .checkout-product>strong,.checkout-product>.price-promo{grid-column:2;margin:0;justify-self:start;text-align:left}
  .checkout-page .payment-summary{border-radius:14px;overflow:hidden}
  .checkout-page .payment-summary>button{min-height:54px}
}
@keyframes mobile-sheet-in{from{transform:translateY(28px);opacity:.6}to{transform:translateY(0);opacity:1}}

@media(max-width:390px){
  .site-header{padding-inline:12px}
  .site-header .brand-logo{width:128px}
  .mobile-app-nav a>small{font-size:9px}
  body[data-area="learner"] .quick-grid{grid-template-columns:1fr}
  body[data-area="learner"] .panel{padding:18px 16px}
}
