:root{
  --emerald-950:#04372f;--emerald-900:#064d42;--emerald-850:#005d50;--emerald-800:#087064;--emerald-700:#158276;
  --mint-200:#cfe9e2;--mint-100:#e8f5f1;--mint-50:#f3faf7;
  --gold-700:#b77a1f;--gold-600:#c89239;--gold-500:#d8aa55;--gold-300:#ead19e;--gold-100:#f8eedb;
  --ink:#14231f;--ink-2:#334540;--muted:#7b8681;--line:#ece5d9;--cream:#fffdf8;--ivory:#fbf8f0;--white:#fff;
  --success:#16755d;--success-bg:#e8f6f0;--warn:#ae7827;--warn-bg:#fff5e3;--danger:#b0463d;
  --shadow:0 18px 42px rgba(29,62,53,.08);--shadow-lg:0 28px 70px rgba(22,70,58,.13);--radius:22px;--radius-sm:14px;--container:1320px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}.arabic{font-family:"Noto Naskh Arabic","Amiri","Traditional Arabic",serif;letter-spacing:0}.container{width:min(calc(100% - 44px),var(--container));margin:auto}.container.narrow{width:min(calc(100% - 44px),830px)}.container.narrow-wide{width:min(calc(100% - 44px),1080px)}.skip-link{position:absolute;left:-10000px}.skip-link:focus{left:12px;top:12px;background:#fff;padding:9px 13px;z-index:9999}.muted{color:var(--muted)}

/* typography */
h1,h2,h3,h4,p{margin-top:0}.premium-hero h1,.catalog-hero h1,.detail-copy h1,.about-hero h1,.auth-form-card h1,.content-page h1,.checkout-copy h1,.student-hero-grid h1,.teacher-heading h1,.admin-heading h1,.lesson-main h1{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.035em}.premium-hero h1 span,.catalog-hero h1 span,.about-hero h1 span,.student-hero-grid h1 span,.teacher-heading h1 span,.admin-heading h1 span{color:var(--emerald-800)}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--emerald-800);font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.eyebrow.small{font-size:10px;letter-spacing:.13em}.eyebrow.tiny{font-size:9px;letter-spacing:.12em;color:var(--gold-700)}.eyebrow.light{color:#e9f8f3}.eyebrow-dot{width:9px;height:9px;border-radius:50%;background:var(--gold-500);box-shadow:0 0 0 5px rgba(216,170,85,.16)}.section-heading{text-align:left;margin-bottom:34px}.section-heading.centered{text-align:center;max-width:760px}.section-heading h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(32px,4vw,50px);line-height:1.08;margin:10px 0 0}.section-heading h2 span{color:var(--emerald-800)}.section-heading p{color:var(--muted);font-size:16px}

/* header */
.site-header{height:84px;background:rgba(255,253,248,.95);backdrop-filter:blur(18px);border-bottom:1px solid rgba(230,218,198,.75);position:sticky;top:0;z-index:80}.nav-wrap{height:100%;display:flex;justify-content:space-between;align-items:center;gap:30px}.brand{display:flex;align-items:center;gap:12px}.brand img{width:47px;height:53px;object-fit:cover;border-radius:5px;box-shadow:0 5px 15px rgba(89,62,20,.1)}.brand span{display:flex;flex-direction:column}.brand b{font-family:Georgia,"Times New Roman",serif;font-size:18px;color:var(--emerald-950)}.brand small{font-size:11px;color:var(--muted);margin-top:2px}.main-nav{display:flex;align-items:center;gap:32px;font-family:Georgia,"Times New Roman",serif;font-weight:700;font-size:14px;color:#163e36}.main-nav>a:not(.btn):hover,.nav-link-button:hover{color:var(--gold-700)}.nav-dashboard{background:var(--emerald-850);color:#fff!important;padding:10px 15px;border-radius:12px;box-shadow:0 8px 20px rgba(0,93,80,.18)}.inline-form{margin:0}.nav-link-button{border:0;background:none;color:#163e36;cursor:pointer;font-family:inherit;font-weight:700}.mobile-toggle{display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:12px;background:#fff;align-items:center;justify-content:center;flex-direction:column;gap:4px}.mobile-toggle span{width:18px;height:2px;background:var(--emerald-950)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:12px;padding:11px 18px;border:1px solid transparent;font-weight:800;cursor:pointer;transition:.2s;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn-primary{color:#fff;background:linear-gradient(135deg,var(--emerald-850),#006d60);border-color:#0d7769;box-shadow:0 8px 20px rgba(0,93,80,.18),inset 0 0 0 1px rgba(216,170,85,.22)}.btn-primary:hover{background:linear-gradient(135deg,var(--emerald-900),var(--emerald-800));box-shadow:0 12px 26px rgba(0,93,80,.24)}.btn-outline-gold{background:rgba(255,255,255,.7);border-color:var(--gold-300);color:var(--emerald-950);box-shadow:0 7px 18px rgba(72,47,13,.05)}.btn-outline-gold:hover{background:#fff;border-color:var(--gold-500)}.btn-soft{background:var(--ivory);border-color:var(--line);color:var(--emerald-900)}.btn-cream{background:#fffaf0;color:var(--emerald-950);border-color:#f1dcae;box-shadow:0 8px 20px rgba(0,0,0,.08)}.btn-dark{background:var(--ink);color:#fff}.btn-lg{padding:14px 22px;font-size:15px}.btn-sm{padding:8px 12px;font-size:12px}.btn-block{width:100%}.text-link{font-weight:800;color:var(--emerald-800);font-size:13px}

/* common background */
.page-glow{position:relative;overflow:hidden}.page-glow:after{content:"";position:absolute;right:-190px;top:40px;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(189,229,218,.68) 0,rgba(232,245,241,.42) 44%,transparent 69%);pointer-events:none;z-index:0}.page-glow>*{position:relative;z-index:1}.section{padding:72px 0}.soft-mint-section{background:linear-gradient(180deg,#fbfaf4,#f3f8f3);border-block:1px solid var(--line)}

/* hero */
.premium-hero{position:relative;padding:54px 0 28px;overflow:hidden;background:radial-gradient(circle at 84% 30%,rgba(210,239,232,.8),transparent 28%),linear-gradient(120deg,#fffefa 0%,#fbf9f3 58%,#f8fbf7 100%);border-bottom:1px solid var(--line)}.premium-hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:70px;align-items:center;min-height:550px}.premium-copy{padding:30px 0;position:relative;z-index:2}.premium-copy h1{font-size:clamp(53px,5.2vw,78px);line-height:1.05;margin:22px 0 20px;color:#202725}.premium-copy>p{max-width:620px;color:#66716d;font-size:17px;line-height:1.65;margin-bottom:26px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.hero-trust{display:flex;align-items:center;gap:14px;margin-top:30px}.avatar-stack{display:flex}.avatar-stack span{width:35px;height:35px;border-radius:50%;border:2px solid #fff7e7;background:#fff;display:grid;place-items:center;margin-left:-7px;box-shadow:0 4px 12px rgba(52,43,27,.09);font-family:serif;color:var(--emerald-800)}.avatar-stack span:first-child{margin-left:0}.avatar-stack span:nth-child(2){color:#985a78}.hero-trust p{margin:0;font-size:13px}.hero-trust small{color:var(--muted)}.premium-visual{position:relative;height:460px}.premium-course-card{position:absolute;width:min(100%,480px);right:30px;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.92);border:1px solid rgba(233,223,208,.88);border-radius:28px;padding:30px;box-shadow:var(--shadow-lg);z-index:3}.pc-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:20px}.pc-head small,.pc-lesson small{color:var(--gold-700);font-size:10px;font-weight:900;letter-spacing:.12em}.pc-head h3{font-family:Georgia,"Times New Roman",serif;font-size:23px;margin:5px 0 0;color:var(--emerald-950)}.play-round{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--emerald-850);color:#fff;box-shadow:0 6px 18px rgba(0,93,80,.24);border:1px solid rgba(216,170,85,.7)}.play-round.large{width:64px;height:64px;font-size:20px}.pc-lesson{display:flex;align-items:center;gap:18px;padding:24px 0 18px}.lesson-num{width:56px;height:62px;border-radius:14px;background:var(--mint-100);display:grid;place-items:center;color:var(--emerald-850);font:700 24px Georgia}.pc-lesson b{display:block;margin:5px 0;color:var(--emerald-950)}.pc-lesson p{font-size:24px;line-height:1.2;color:var(--emerald-800);margin:0}.progress-meta{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted);margin:5px 0 8px}.progress-meta b{color:var(--emerald-950)}.progress{height:7px;border-radius:99px;background:#eceae4;overflow:hidden}.progress i{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,var(--emerald-900),#139484)}.premium-course-card>.btn{margin-top:20px}.float-note{position:absolute;display:flex;gap:12px;align-items:center;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:16px;padding:13px 16px;box-shadow:0 16px 40px rgba(30,75,62,.12);z-index:4}.float-note b{display:block;font-size:12px}.float-note small{display:block;color:var(--muted);font-size:9.5px;margin-top:1px}.note-icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--mint-100);color:var(--emerald-800);font-weight:900}.note-icon.gold{background:var(--gold-100);color:var(--gold-700)}.note-complete{right:-5px;top:44px}.note-audio{left:1px;bottom:22px}.arabic-watermark{position:absolute;right:-40px;bottom:0;font-size:100px;color:rgba(192,146,63,.11);transform:rotate(-7deg)}.hero-orbit{position:absolute;border:1px solid rgba(216,170,85,.22);border-radius:50%;right:-170px;top:35px;width:600px;height:600px}.hero-orbit-b{right:-110px;top:105px;width:490px;height:490px}.hero-stats{background:rgba(255,255,255,.84);border:1px solid #eee5d6;border-radius:20px;box-shadow:0 12px 28px rgba(47,66,55,.07);display:grid;grid-template-columns:repeat(4,1fr);padding:20px 25px;position:relative;z-index:5}.hero-stats>div{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:10px;padding:4px 30px;border-right:1px solid var(--line)}.hero-stats>div:last-child{border-right:0}.stat-icon{font-size:24px;color:var(--gold-600)}.hero-stats b{font:700 23px Georgia;color:var(--emerald-850)}.hero-stats small{font-size:11px;color:var(--muted)}

/* home panels */
.home-triptych{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}.showcase-panel{background:#fffefb;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:var(--shadow)}.showcase-panel h2{font-family:Georgia,"Times New Roman",serif;font-size:25px;color:var(--emerald-950);margin:8px 0 18px}.mini-course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.mini-course{border:1px solid var(--line);border-radius:15px;padding:14px 12px;background:#fff;min-width:0}.mini-course-icon{width:38px;height:38px;border-radius:50%;background:var(--emerald-850);color:#fff;display:grid;place-items:center;margin-bottom:10px}.mini-course:nth-child(2) .mini-course-icon{background:linear-gradient(145deg,var(--gold-500),var(--gold-700))}.mini-course b,.mini-course small,.mini-course i{display:block}.mini-course b{font-family:Georgia,"Times New Roman",serif;color:var(--emerald-950);font-size:14px}.mini-course small{font-size:10px;color:var(--muted);min-height:48px;margin:5px 0}.mini-course i{font-size:10px;color:var(--emerald-800);font-style:normal;font-weight:800}.showcase-panel>.text-link{display:inline-block;margin-top:12px}.testimonial-card{border:1px solid var(--line);border-radius:16px;padding:20px;background:linear-gradient(145deg,#fff,#fcfaf5);position:relative}.testimonial-card .quote-mark{font:700 42px Georgia;color:var(--emerald-800);position:absolute;left:14px;top:2px}.testimonial-card>p{padding-left:20px;color:#53605c;font-family:Georgia,"Times New Roman",serif;line-height:1.6}.testimonial-author{display:flex;align-items:center;gap:10px}.avatar-gold{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;background:var(--gold-100);border:1px solid var(--gold-300);color:var(--emerald-900);font-weight:900}.testimonial-author b,.testimonial-author small{display:block}.testimonial-author small{color:var(--gold-600)}.journey-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;position:relative}.journey-steps:before{content:"";height:1px;border-top:1px dashed var(--gold-500);position:absolute;left:16%;right:16%;top:20px}.journey-steps div{position:relative;text-align:center}.journey-steps span{width:42px;height:42px;background:var(--mint-100);border:1px solid #cfe6de;border-radius:50%;display:grid;place-items:center;margin:0 auto 9px;color:var(--emerald-850);font-weight:900}.journey-steps b,.journey-steps small{display:block}.journey-steps b{font-family:Georgia,"Times New Roman",serif;font-size:12px}.journey-steps small{font-size:9px;color:var(--muted);margin-top:4px}.journey-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;background:var(--mint-100);padding:9px 12px;border-radius:12px;font-size:11px;font-weight:800}.arabic-feature-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;max-width:980px}.arabic-reading-card{border-radius:24px;padding:34px;background:linear-gradient(145deg,#075b50,#0b7365);color:#fff;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.arabic-reading-card:after{content:"";position:absolute;inset:auto -60px -120px auto;width:280px;height:280px;border:1px solid rgba(216,170,85,.25);border-radius:50%}.arabic-reading-card small{color:#d7ede7}.arabic-reading-card p{font-size:38px;text-align:center;margin:18px 0}.audio-line{display:flex;align-items:center;gap:14px}.audio-line span{width:38px;height:38px;border-radius:50%;background:#fff;color:var(--emerald-850);display:grid;place-items:center}.audio-line i{height:5px;background:rgba(255,255,255,.3);border-radius:99px;flex:1;position:relative}.audio-line i:before{content:"";position:absolute;left:0;top:0;width:63%;height:100%;background:var(--gold-500);border-radius:inherit}.feature-list{display:grid;gap:12px}.feature-list>div{display:flex;gap:12px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:16px}.feature-list>div>span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--gold-100);color:var(--gold-700);font-weight:900}.feature-list b,.feature-list small{display:block}.feature-list small{color:var(--muted);margin-top:3px}.cta-section{padding:35px 0 70px;background:var(--cream)}.cta-card{background:linear-gradient(135deg,var(--emerald-900),#087267);color:#fff;border-radius:24px;padding:34px 40px;display:flex;align-items:center;justify-content:space-between;gap:30px;box-shadow:var(--shadow-lg);border:1px solid rgba(216,170,85,.35)}.cta-card h2{font:700 34px Georgia;margin:8px 0}.cta-card p{margin:0;color:#cde5de}

/* catalog */
.catalog-hero{padding:52px 0 18px;background:linear-gradient(135deg,#fffefb,#faf8f1)}.catalog-intro-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:end}.catalog-hero h1{font-size:58px;line-height:1;margin:16px 0 15px}.catalog-hero p{color:#66706c;max-width:520px}.catalog-search{height:54px;background:#fff;border:1px solid #e8e1d4;border-radius:13px;display:flex;align-items:center;gap:12px;padding:0 18px;box-shadow:var(--shadow)}.catalog-search span{font-size:24px;color:var(--emerald-800)}.catalog-search input{border:0;outline:0;background:transparent;width:100%;color:var(--ink)}.filter-row{display:flex;gap:12px;align-items:center;margin-top:28px;flex-wrap:wrap}.filter-symbol{width:45px;height:45px;background:#fff;border:1px solid var(--line);border-radius:12px;display:grid;place-items:center;color:var(--emerald-800);font-weight:900}.filter-row label{height:45px;background:#fff;border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;gap:12px;padding:0 14px;min-width:210px}.filter-row label b{font-size:12px;color:var(--emerald-950)}.filter-row select{border:0;background:transparent;outline:0;color:var(--muted);flex:1}.catalog-section{padding-top:34px}.result-heading{margin-bottom:15px;color:var(--muted)}.course-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.course-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 10px 25px rgba(37,59,52,.05);transition:.2s}.course-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.course-cover{height:184px;display:block;position:relative;background:var(--mint-50);overflow:hidden}.course-cover img{width:100%;height:100%;object-fit:cover}.course-level{position:absolute;left:12px;top:12px;background:rgba(255,255,255,.9);border:1px solid #e5ded1;border-radius:99px;padding:5px 10px;font-size:10px;font-weight:800;color:var(--emerald-900)}.bookmark{position:absolute;right:12px;top:12px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.92);color:var(--emerald-800)}.course-body{padding:15px}.course-category{color:var(--gold-700);font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.course-body h3{font:700 19px Georgia;margin:5px 0 7px;color:var(--emerald-950)}.course-body p{font-size:12px;color:var(--muted);min-height:58px}.course-meta{display:flex;gap:13px;color:#6e7975;font-size:10px;border-top:1px solid #eee8de;padding-top:10px;margin-bottom:13px}.empty-state{padding:45px 30px;text-align:center;background:#fff;border:1px dashed var(--gold-300);border-radius:18px}.empty-state.wide{grid-column:1/-1}.empty-icon{font-size:28px;color:var(--emerald-800);margin-bottom:8px}

/* detail */
.course-detail-page{padding:24px 0 70px;background:linear-gradient(135deg,#fffdf8,#faf9f4)}.breadcrumbs{display:flex;gap:9px;align-items:center;font-size:11px;color:var(--muted);margin:8px 0 18px;flex-wrap:wrap}.breadcrumbs a{color:var(--emerald-800)}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px}.detail-hero-card{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);display:grid;grid-template-columns:1.35fr .65fr;overflow:hidden}.detail-copy{padding:30px}.detail-copy h1{font-size:51px;line-height:1.02;margin:15px 0 6px}.detail-arabic{font-size:25px;color:var(--emerald-800);margin:3px 0 10px;text-align:left}.detail-subtitle{color:#65706c;font-size:14px;line-height:1.65}.teacher-meta{display:grid;grid-template-columns:auto 1.6fr 1fr .8fr .9fr;gap:14px;align-items:center;border-top:1px solid var(--line);padding-top:16px;margin-top:18px}.teacher-meta>div:not(.rating){display:flex;flex-direction:column}.teacher-meta small{font-size:9px;color:var(--muted)}.teacher-meta b{font-size:11px;color:var(--emerald-950)}.rating span{display:block;color:var(--gold-600);font-size:10px}.detail-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:18px;margin-top:18px}.detail-price{font:700 30px Georgia;color:var(--emerald-850)}.detail-price small{font:700 11px Inter}.detail-actions{display:flex;gap:9px;align-items:center}.detail-actions form{margin:0}.detail-visual{position:relative;min-height:390px;background:var(--mint-50)}.detail-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.84) sepia(.06)}.detail-visual .play-round{position:absolute;left:50%;top:50%;transform:translate(-50%,-60%)}.detail-visual>small{position:absolute;top:61%;left:0;right:0;text-align:center;color:var(--emerald-950);font-weight:800}.detail-sidebar{display:grid;gap:17px;align-content:start}.summary-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:21px;box-shadow:var(--shadow)}.summary-card h3{font:700 18px Georgia;color:var(--emerald-950)}.sticky-card{position:sticky;top:103px}.summary-list{display:grid;gap:13px;margin:18px 0}.summary-list span{display:grid;grid-template-columns:22px 1fr auto;gap:7px;align-items:center;font-size:12px;color:#5f6c68}.summary-list i{color:var(--gold-600);font-style:normal}.summary-list b{color:var(--emerald-950)}.check-list{padding:0;margin:0;list-style:none;display:grid;gap:9px}.check-list li{font-size:12px;color:#5c6965}.check-list li:before{content:"✓";color:var(--gold-600);font-weight:900;margin-right:8px}.testimonial-mini .panel-head{display:flex;justify-content:space-between;align-items:center}.testimonial-mini .panel-head span{color:var(--gold-600);font-size:8px}.testimonial-mini>p{font-size:12px;color:var(--muted);font-style:italic}.curriculum-section{margin-top:24px}.section-line-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.section-line-head h2{font:700 22px Georgia;color:var(--emerald-950);margin:0}.section-line-head span{font-size:11px;color:var(--muted)}.accordion-list details{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:9px;overflow:hidden}.accordion-list summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:12px 16px}.accordion-list summary::-webkit-details-marker{display:none}.module-index{width:36px;height:36px;border-radius:9px;background:var(--mint-100);display:grid;place-items:center;color:var(--emerald-800);font:700 15px Georgia}.accordion-list summary b{font-family:Georgia,"Times New Roman",serif;color:var(--emerald-950)}.accordion-list summary small{display:block;color:var(--muted);font-size:9px}.chev{color:var(--emerald-800)}.module-lessons{border-top:1px solid var(--line);padding:5px 16px 10px}.curriculum-lesson{display:grid;grid-template-columns:24px 1fr auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #f1ede6}.curriculum-lesson:last-child{border-bottom:0}.curriculum-lesson b{font-size:11px}.curriculum-lesson small{display:block;font-size:9px;color:var(--muted)}.lesson-kind{width:20px;height:20px;border-radius:50%;background:var(--mint-100);display:grid;place-items:center;font-size:8px;color:var(--emerald-800)}.curriculum-lesson.locked{opacity:.56;pointer-events:none}

/* lesson */
.learning-page .site-footer,.dashboard-page .site-footer,.auth-page .site-footer{display:none}.lesson-page{padding:20px 0 40px;background:linear-gradient(135deg,#fffdf8,#faf9f4);min-height:calc(100vh - 84px)}.lesson-breadcrumbs{display:flex;gap:8px;align-items:center;font-size:10px;color:var(--muted);margin-bottom:15px}.lesson-breadcrumbs a{color:var(--emerald-800)}.lesson-grid{display:grid;grid-template-columns:260px minmax(0,1fr) 250px;gap:22px;align-items:start}.lesson-sidebar,.tool-card,.lesson-text-card{background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow)}.lesson-sidebar{position:sticky;top:104px;max-height:calc(100vh - 120px);overflow:auto}.lesson-sidebar-head{padding:20px;border-bottom:1px solid var(--line)}.lesson-sidebar-head h2{font:700 20px Georgia;color:var(--emerald-950)}.lesson-nav{padding:12px}.lesson-module h4{font-size:9px;color:var(--emerald-800);letter-spacing:.05em;padding:6px 8px;margin:4px 0}.lesson-nav-item{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:8px;padding:9px;border-radius:10px;margin-bottom:4px}.lesson-nav-item:hover{background:var(--mint-50)}.lesson-nav-item.active{background:linear-gradient(90deg,var(--gold-100),#fff);border:1px solid #f0dfbd}.lesson-index{width:26px;height:26px;border-radius:7px;background:var(--mint-100);display:grid;place-items:center;color:var(--emerald-800);font-size:9px;font-weight:900}.lesson-nav-item.active .lesson-index{background:var(--emerald-850);color:#fff}.lesson-nav-item b{display:block;font-size:10.5px}.lesson-nav-item small{display:block;color:var(--muted);font-size:8.5px}.lesson-nav-item i{font-style:normal;color:var(--emerald-800);font-size:9px}.sidebar-bottom-link{display:block;margin:12px;padding:12px;border:1px solid var(--gold-300);border-radius:10px;text-align:center;font-size:10px;color:var(--emerald-900);font-weight:800}.lesson-menu-button{display:none}.lesson-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:12px}.lesson-main h1{font-size:36px;line-height:1.05;margin:6px 0;color:var(--emerald-950)}.lesson-title-row p{color:var(--muted);font-size:13px}.level-pill{background:#fff;border:1px solid var(--line);border-radius:11px;padding:9px 12px;font-size:10px;color:var(--emerald-900);box-shadow:var(--shadow)}.media-stage{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}.media-stage iframe{width:100%;height:405px;border:0;display:block}.video-embed-shell{position:relative;width:100%;overflow:hidden;background:#101715}.lesson-video-frame{display:block;width:100%;height:405px;border:0}.drive-video-shell{isolation:isolate}.drive-open-blocker{position:absolute;z-index:20;top:13px;right:13px;width:58px;height:48px;background:transparent;border:0;box-shadow:none;pointer-events:auto;cursor:default;user-select:none;-webkit-user-select:none;touch-action:none}.drive-video-shell:fullscreen .drive-open-blocker{display:block}.drive-video-frame{background:#111}.media-stage-drive .fake-player{position:relative;z-index:30}.media-placeholder{height:330px;background:radial-gradient(circle at center,#f6fbf8,#e8f4ef);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;position:relative;overflow:hidden}.media-placeholder:before,.media-placeholder:after{content:"✦";position:absolute;color:var(--gold-500);font-size:34px;top:44%;left:16%}.media-placeholder:after{left:auto;right:16%}.media-placeholder p{font-size:39px;margin:0;color:#1f2d2a}.media-placeholder small{color:var(--emerald-900)}.fake-player{height:50px;background:linear-gradient(90deg,var(--emerald-900),var(--emerald-800));display:flex;align-items:center;gap:12px;color:#fff;padding:0 16px;font-size:11px}.fake-player i{height:5px;background:rgba(255,255,255,.23);border-radius:99px;flex:1;position:relative}.fake-player i b{position:absolute;left:0;top:0;height:100%;width:62%;background:var(--mint-200);border-radius:99px}.lesson-text-card{margin-top:14px;padding:18px}.lesson-text-card h2{font:700 17px Georgia;color:var(--emerald-950);border-bottom:1px solid var(--line);padding-bottom:10px}.lesson-text{color:#495651;font-size:14px}.arabic-reading{text-align:center;padding:14px}.arabic-reading p{font-size:34px;margin:4px 0 8px}.arabic-reading b,.arabic-reading span{display:block}.arabic-reading span{color:var(--muted);margin-top:6px}.explanation-box{display:flex;gap:12px;background:#fcfaf5;border:1px solid #eee6d9;padding:14px;border-radius:13px}.explanation-box>span{color:var(--gold-600);font-size:24px}.explanation-box b{font-family:Georgia,"Times New Roman",serif}.explanation-box p{margin:3px 0 0;color:var(--muted);font-size:11px}.resource-card{margin-top:12px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}.resource-card>span{background:#c64637;color:#fff;border-radius:7px;padding:6px;font-size:9px;font-weight:900}.resource-card b,.resource-card small{display:block}.resource-card small{font-size:9px;color:var(--muted)}.lesson-footer-actions{display:flex;justify-content:space-between;align-items:center;margin-top:14px}.lesson-tools{display:grid;gap:14px;position:sticky;top:104px}.tool-card{padding:18px}.tool-card h3{font:700 17px Georgia;color:var(--emerald-950);padding-bottom:10px;border-bottom:1px solid var(--line)}.vocab-item{padding:10px 0;border-bottom:1px solid var(--line)}.vocab-item p{font-size:23px;color:var(--emerald-900);margin:0}.vocab-item b,.vocab-item small{display:block}.vocab-item b{font-size:10px}.vocab-item small{font-size:9px;color:var(--muted)}.tool-link{border:0;background:none;color:var(--emerald-800);font-size:10px;font-weight:800;padding:10px 0;cursor:pointer}.resource-mini{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.resource-mini>span{background:#c64637;color:#fff;border-radius:6px;padding:4px;font-size:8px}.resource-mini b,.resource-mini small{display:block;font-size:9px}.resource-mini small{color:var(--muted)}

/* app dashboard */
.app-shell{background:linear-gradient(135deg,#fffdf8,#fbfaf5 62%,#f4faf7);min-height:calc(100vh - 84px);padding:26px 0 40px}.app-layout{display:grid;grid-template-columns:205px minmax(0,1fr);gap:34px}.app-sidebar{position:sticky;top:106px;align-self:start}.app-sidebar nav{display:flex;flex-direction:column;gap:5px}.app-sidebar nav a{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:8px;padding:10px 11px;border-radius:10px;color:#3d514b;font-family:Georgia,"Times New Roman",serif;font-size:12px}.app-sidebar nav a span{color:var(--gold-600)}.app-sidebar nav a.active{background:linear-gradient(135deg,var(--emerald-850),var(--emerald-900));color:#fff;box-shadow:0 8px 22px rgba(0,93,80,.17)}.app-sidebar nav a.active span{color:var(--gold-300)}.app-sidebar nav a i{min-width:22px;height:20px;border-radius:99px;background:var(--gold-100);display:grid;place-items:center;color:var(--gold-700);font:800 9px Inter}.sidebar-label{font-size:8px;letter-spacing:.16em;color:var(--gold-700);font-weight:900;margin:14px 10px 5px}.sidebar-help{margin-top:25px;border:1px solid var(--line);border-radius:15px;padding:14px;background:#fff;display:grid;grid-template-columns:30px 1fr;gap:5px 8px}.sidebar-help>span{grid-row:1/4;width:30px;height:30px;border-radius:50%;background:var(--gold-100);color:var(--gold-700);display:grid;place-items:center}.sidebar-help b{font:700 12px Georgia}.sidebar-help small{color:var(--muted);font-size:8.5px}.sidebar-help a{grid-column:1/-1;margin-top:6px;border:1px solid var(--gold-300);border-radius:9px;padding:7px;text-align:center;color:var(--emerald-900);font-size:9px;font-weight:800}.app-content{min-width:0}.student-hero-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:28px;align-items:center}.student-hero-grid h1{font-size:43px;line-height:1.06;margin:14px 0}.student-hero-grid>div>p{color:var(--muted);max-width:480px}.motto{font-size:20px;color:var(--emerald-800);margin-top:20px;text-align:left}.continue-learning-card{background:#fff;border:1px solid var(--line);border-radius:25px;box-shadow:var(--shadow);padding:25px 28px;display:grid;grid-template-columns:1fr 160px;gap:18px;min-height:235px;position:relative;overflow:hidden}.continue-learning-card:after{content:"";position:absolute;right:-90px;top:-100px;width:310px;height:310px;border-radius:50%;background:radial-gradient(circle,#e6f5ef,transparent 66%)}.continue-learning-card>div{position:relative;z-index:2}.continue-learning-card small{color:var(--gold-700);font-size:9px;letter-spacing:.12em;font-weight:900}.continue-learning-card h2{font:700 23px Georgia;color:var(--emerald-950);margin:12px 0 4px}.continue-learning-card p.arabic{font-size:22px;color:var(--emerald-800);text-align:left}.continue-learning-card .btn{margin-top:16px}.continue-illustration{display:flex;flex-direction:column;align-items:center;justify-content:center}.continue-illustration>span{width:52px;height:52px;border-radius:14px;background:var(--mint-100);display:grid;place-items:center;font:700 24px Georgia;color:var(--emerald-850)}.book-symbol{font-size:70px;color:var(--gold-500);margin-top:15px}.dashboard-columns{display:grid;grid-template-columns:1.1fr .95fr .95fr;gap:16px;margin-top:24px}.dashboard-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow);min-width:0}.panel-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.panel-head h3,.panel-head h2{font:700 18px Georgia;color:var(--emerald-950);margin:3px 0}.panel-head p{font-size:10px;color:var(--muted);margin:0}.panel-head>a{font-size:9px;color:var(--emerald-800);font-weight:800}.course-progress-row{display:grid;grid-template-columns:48px 1fr auto;gap:11px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.course-progress-row:last-child{border:0}.course-thumb{width:48px;height:48px;border-radius:11px;background:linear-gradient(145deg,var(--mint-100),#faf2df);display:grid;place-items:center;color:var(--emerald-800);font:700 18px Georgia}.course-progress-row b,.course-progress-row small{display:block}.course-progress-row b{font-size:11px}.course-progress-row small{color:var(--muted);font-size:8px}.course-progress-row strong{font:700 12px Georgia;color:var(--emerald-850)}.progress.compact{height:4px;margin-top:8px}.live-badge{font-size:8px;color:#c44637;background:#fff0ed;border:1px solid #ffd2cb;border-radius:99px;padding:4px 7px}.live-feature{display:grid;grid-template-columns:65px 1fr;gap:14px;align-items:center;padding:18px 0}.date-chip{width:64px;height:64px;border-radius:14px;background:var(--mint-100);display:grid;place-items:center;align-content:center;color:var(--emerald-850)}.date-chip b{font:700 28px Georgia;line-height:1}.date-chip span{font-size:9px}.live-feature h4{font:700 17px Georgia;color:var(--emerald-950);margin:0 0 3px}.live-feature p,.live-feature span{font-size:9px;color:var(--muted);margin:0}.task-row{display:grid;grid-template-columns:35px 1fr auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.task-row>span{width:34px;height:34px;border-radius:9px;background:var(--gold-100);color:var(--gold-700);display:grid;place-items:center}.task-row b,.task-row small{display:block}.task-row b{font-size:10px}.task-row small{font-size:8px;color:var(--muted)}.task-row i{font-style:normal;font-size:8px;background:var(--warn-bg);color:var(--warn);border-radius:99px;padding:4px 7px}.bottom-dashboard-grid{display:grid;grid-template-columns:1.3fr .9fr;gap:16px;margin-top:16px}.feedback-line{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin-top:10px}.feedback-line b,.feedback-line small{display:block}.feedback-line small{font-size:8px;color:var(--muted)}.feedback-line p{font-size:10px;margin:4px 0;color:#55635e}.feedback-line strong{color:var(--gold-700)}.stats-dashboard-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);display:grid;grid-template-columns:repeat(3,1fr);padding:18px}.stats-dashboard-card>div{text-align:center;border-right:1px solid var(--line)}.stats-dashboard-card>div:last-child{border:0}.stats-dashboard-card span,.stats-dashboard-card b,.stats-dashboard-card small{display:block}.stats-dashboard-card span{color:var(--gold-600)}.stats-dashboard-card b{font:700 22px Georgia;color:var(--emerald-850)}.stats-dashboard-card small{font-size:8px;color:var(--muted)}.quote-strip{margin-top:14px;background:linear-gradient(90deg,#f7fbf9,#e9f5f0);border:1px solid #dceae4;border-radius:16px;text-align:center;padding:10px}.quote-strip p{color:var(--emerald-800);font-size:18px;margin:0}.quote-strip span{font-size:9px;color:var(--muted)}

/* teacher/admin */
.teacher-heading,.admin-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:25px;margin-bottom:18px}.teacher-heading h1,.admin-heading h1{font-size:38px;margin:0}.teacher-heading p,.admin-heading p{color:var(--muted);font-size:12px}.kpi-row{display:grid;gap:15px}.kpi-row.four{grid-template-columns:repeat(4,1fr)}.kpi-row.five{grid-template-columns:repeat(5,1fr)}.kpi-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:var(--shadow);display:flex;align-items:center;gap:12px}.kpi-card>span{width:43px;height:43px;border-radius:12px;background:var(--gold-100);display:grid;place-items:center;color:var(--gold-700);font-size:18px}.kpi-card b,.kpi-card small{display:block}.kpi-card b{font:700 25px Georgia;color:var(--emerald-850)}.kpi-card small{font-size:9px;color:var(--muted)}.kpi-card.vertical{display:grid;grid-template-columns:43px 1fr;grid-template-rows:auto auto}.kpi-card.vertical>span{grid-row:1/3}.kpi-card.vertical>small{font-size:8px;font-weight:800;color:var(--emerald-800)}.kpi-card.vertical>b{font-size:22px}.teacher-main-grid{display:grid;grid-template-columns:1.05fr 1fr .75fr;gap:16px;margin-top:16px}.schedule-row{display:grid;grid-template-columns:56px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.schedule-row>span{background:var(--mint-100);border-radius:9px;padding:7px;text-align:center;color:var(--emerald-800);font-size:10px;font-weight:800}.schedule-row b,.schedule-row small{display:block}.schedule-row b{font-size:10px}.schedule-row small{font-size:8px;color:var(--muted)}.schedule-row>a,.mini-action{border:1px solid var(--gold-300);border-radius:8px;padding:6px 8px;font-size:8px;color:var(--emerald-900);font-weight:800}.mini-action{display:inline-block;background:#fff;color:var(--emerald-900);font-weight:800}.mini-action.dark{background:var(--emerald-850);color:#fff;border-color:var(--emerald-850)}.presence-card{text-align:center}.presence-card .panel-head{text-align:left}.donut{--value:70;width:115px;height:115px;border-radius:50%;margin:15px auto;background:conic-gradient(var(--emerald-800) calc(var(--value)*1%),#e8eee9 0);display:grid;place-items:center;position:relative}.donut:after{content:"";width:80px;height:80px;border-radius:50%;background:#fff;position:absolute}.donut span{z-index:1;font:700 24px Georgia;color:var(--emerald-850)}.presence-card p{font-size:9px;color:var(--muted)}.teacher-lower-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:16px;margin-top:16px}.teacher-course-row{display:grid;grid-template-columns:36px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.teacher-course-row>span{width:36px;height:36px;border-radius:10px;background:var(--mint-100);display:grid;place-items:center;color:var(--emerald-800);font-family:Georgia;font-weight:700}.teacher-course-row b,.teacher-course-row small{display:block}.teacher-course-row b{font-size:10px}.teacher-course-row small{font-size:8px;color:var(--muted)}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:9px}.data-table th{text-align:left;color:#789087;font-size:7px;letter-spacing:.1em;text-transform:uppercase;padding:9px;border-bottom:1px solid var(--line)}.data-table td{padding:10px 9px;border-bottom:1px solid var(--line);white-space:nowrap}.badge{display:inline-flex;align-items:center;border-radius:99px;padding:4px 8px;font-size:8px;font-weight:800}.badge.success{background:var(--success-bg);color:var(--success)}.badge.pending{background:var(--warn-bg);color:var(--warn)}.badge.neutral{background:#f0f2ef;color:#68736f}.admin-middle-grid{display:grid;grid-template-columns:1fr 1fr .85fr;gap:16px;margin-top:16px}.admin-list-row{display:grid;grid-template-columns:36px 1fr 1fr;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.admin-list-row.payment-row{grid-template-columns:36px 1fr .7fr auto}.initial-circle{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--mint-100);color:var(--emerald-800);font-size:9px;font-weight:900}.initial-circle.gold{background:var(--gold-100);color:var(--gold-700)}.admin-list-row b,.admin-list-row small{display:block}.admin-list-row b{font-size:9px}.admin-list-row small{font-size:7px;color:var(--muted)}.ranking-row{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.ranking-row>span{font:700 14px Georgia;color:var(--gold-600)}.ranking-row b,.ranking-row small{display:block}.ranking-row b{font-size:9px}.ranking-row small{font-size:7px;color:var(--muted)}.admin-bottom-grid{display:grid;grid-template-columns:1fr 280px;gap:16px;margin-top:16px}.activity-chart{height:170px;display:flex;align-items:flex-end;gap:16px;padding:16px 8px 0;border-bottom:1px solid var(--line)}.chart-day{flex:1;text-align:center}.bar-zone{height:130px;display:flex;justify-content:center;align-items:flex-end;gap:5px}.bar{width:12px;min-height:3px;border-radius:5px 5px 0 0}.bar.enroll{background:var(--emerald-850)}.bar.complete{background:#63c5ad}.chart-day>span{font-size:7px;color:var(--muted)}.chart-legend{display:flex;gap:14px;justify-content:center;font-size:8px;margin-top:9px;color:var(--muted)}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:5px}.dot.teal{background:var(--emerald-850)}.dot.mint{background:#63c5ad}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.quick-grid a{border:1px solid var(--line);border-radius:10px;padding:12px 8px;font-size:8px;font-weight:800;text-align:center}.quick-grid span{display:block;color:var(--gold-600);font-size:19px;margin-bottom:6px}

/* forms/auth/content */
.auth-shell{padding:48px 0;min-height:calc(100vh - 84px);background:linear-gradient(135deg,#fffdf8,#f8f8f2)}.auth-grid{display:grid;grid-template-columns:1.05fr .95fr;max-width:1080px;gap:0;min-height:620px}.auth-visual-card{background:linear-gradient(145deg,var(--emerald-900),#0d7668);color:#fff;border-radius:25px 0 0 25px;padding:45px;display:flex;align-items:flex-end;position:relative;overflow:hidden}.auth-visual-card:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(216,170,85,.3);border-radius:50%;right:-200px;top:-100px}.auth-ornament{position:absolute;top:55px;left:45px;color:rgba(255,255,255,.14);font-size:80px}.auth-visual-card h2{font:700 42px Georgia;line-height:1.1;margin:14px 0}.auth-visual-card p{color:#cde3dd;max-width:460px}.auth-features{display:flex;flex-wrap:wrap;gap:8px}.auth-features span{font-size:9px;border:1px solid rgba(255,255,255,.22);border-radius:99px;padding:6px 9px}.auth-form-card{background:#fff;border:1px solid var(--line);border-left:0;border-radius:0 25px 25px 0;padding:55px 52px;box-shadow:var(--shadow)}.auth-form-card h1{font-size:46px;margin:12px 0 6px}.auth-form-card>p{color:var(--muted);font-size:13px}.form-stack{display:grid;gap:14px;margin-top:24px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-stack label{font-size:10px;font-weight:800;color:var(--emerald-950)}.form-stack input,.form-stack select,.form-stack textarea{width:100%;margin-top:6px;border:1px solid #ded8cc;border-radius:11px;padding:12px 13px;background:#fffefb;outline:0;color:var(--ink)}.form-stack input:focus,.form-stack textarea:focus{border-color:var(--emerald-700);box-shadow:0 0 0 3px rgba(21,130,118,.08)}.form-error,.errorlist{color:var(--danger);font-size:10px;list-style:none;padding:0}.auth-switch{font-size:11px!important;text-align:center;margin-top:18px}.auth-switch a{color:var(--emerald-800);font-weight:800}.content-page{padding:55px 0 80px;background:linear-gradient(135deg,#fffdf8,#faf9f4);min-height:calc(100vh - 84px)}.page-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.page-title-row h1,.submission-card h1{font-size:45px;margin:10px 0 4px}.page-title-row p{color:var(--muted)}.assignment-board{display:grid;gap:10px}.assignment-row{display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px}.assignment-icon{width:42px;height:42px;border-radius:11px;background:var(--gold-100);display:grid;place-items:center;color:var(--gold-700)}.assignment-main small{font-size:8px;color:var(--gold-700);font-weight:800}.assignment-main h3{font:700 16px Georgia;margin:3px 0}.assignment-main p{font-size:10px;color:var(--muted);margin:0}.assignment-status{display:flex;align-items:center;gap:10px}.premium-form-card{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:36px}.back-link{display:inline-block;color:var(--emerald-800);font-size:11px;font-weight:800;margin-bottom:14px}.submission-card .lead{color:var(--muted);font-size:13px}.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.upload-box{border:1px dashed var(--gold-300)!important;border-radius:13px;padding:18px;text-align:center;cursor:pointer}.upload-box span,.upload-box b,.upload-box small{display:block}.upload-box span{font-size:24px;color:var(--gold-600)}.upload-box small{color:var(--muted);font-weight:400}.upload-box input{font-size:9px}.checkout-section{padding:70px 0;background:linear-gradient(135deg,#fffdf8,#f7f8f2);min-height:calc(100vh - 84px)}.checkout-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:55px;align-items:center;max-width:1000px}.checkout-copy h1{font-size:49px;line-height:1.06;margin:14px 0}.checkout-copy p{color:var(--muted)}.checkout-benefits{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.checkout-benefits span{background:#fff;border:1px solid var(--line);border-radius:11px;padding:11px;color:var(--emerald-900);font-size:10px}.payment-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:var(--shadow-lg)}.payment-head{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding-bottom:18px}.wave-mark{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#22bce0;color:#fff;font-size:22px;font-weight:900}.payment-head small{font-size:8px;color:var(--gold-700);font-weight:900}.payment-head h2{font:700 27px Georgia;margin:4px 0;color:var(--emerald-950)}.payment-step{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:start;margin-top:16px}.payment-step b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--gold-100);color:var(--gold-700)}.payment-step p{font-size:10px;color:var(--muted);margin:4px 0}.secure-note{color:var(--muted);font-size:8px;display:block;margin-top:10px}.about-hero{padding:74px 0;background:linear-gradient(135deg,#fffdf8,#f4f8f5)}.about-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:50px;align-items:center}.about-hero h1{font-size:54px;line-height:1.05;margin:18px 0}.about-hero>p,.about-grid>div>p{color:var(--muted);font-size:16px}.arabic-manifesto{background:linear-gradient(145deg,var(--emerald-900),var(--emerald-800));color:#fff;border-radius:22px;padding:35px;text-align:center;box-shadow:var(--shadow-lg)}.arabic-manifesto p{font-size:36px;margin:0 0 8px}.arabic-manifesto span{color:#d7ebe5;font-size:11px}.content-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px}.content-grid h2{font:700 36px Georgia;line-height:1.1;color:var(--emerald-950)}.content-grid p{color:var(--muted)}.value-stack{display:grid;gap:10px}.value-stack article{display:grid;grid-template-columns:50px 1fr;gap:12px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px}.value-stack article>span{font:700 20px Georgia;color:var(--gold-600)}.value-stack h3{font:700 16px Georgia;margin:0}.value-stack p{font-size:10px;margin:3px 0}

/* toast/footer */
.toast-stack{position:fixed;right:18px;top:100px;z-index:300;display:grid;gap:8px}.toast{min-width:280px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;box-shadow:var(--shadow);display:flex;justify-content:space-between;gap:12px;font-size:11px}.toast.success{border-left:4px solid var(--success)}.toast.warning{border-left:4px solid var(--gold-600)}.toast.error{border-left:4px solid var(--danger)}.toast button{border:0;background:none;font-size:18px;cursor:pointer}.site-footer{background:var(--emerald-950);color:#e2eee9;position:relative;border-top:3px solid var(--gold-500)}.footer-pattern{height:15px;background-image:linear-gradient(30deg,transparent 48%,rgba(216,170,85,.13) 49%,rgba(216,170,85,.13) 51%,transparent 52%),linear-gradient(-30deg,transparent 48%,rgba(216,170,85,.13) 49%,rgba(216,170,85,.13) 51%,transparent 52%);background-size:24px 24px}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;padding:45px 0 30px}.brand-footer b{color:#fff}.brand-footer small{color:#afc8c0}.footer-brand p{max-width:420px;color:#afc8c0;font-size:12px}.footer-grid h4{font:700 14px Georgia;color:var(--gold-300)}.footer-grid>div:not(.footer-brand){display:flex;flex-direction:column;gap:8px}.footer-grid a,.footer-grid span{font-size:11px;color:#c8dad4}.footer-note{font-size:9px;color:#8daca2}.footer-bottom{border-top:1px solid rgba(255,255,255,.09);display:flex;justify-content:space-between;padding:15px 0 20px;font-size:9px;color:#9db9b0}

/* misc */
.mini-empty{padding:20px 10px;text-align:center;color:var(--muted);font-size:9px}.lead{font-size:17px}.top-gap{margin-top:18px}

/* responsive */
@media(max-width:1180px){.course-grid{grid-template-columns:repeat(3,1fr)}.premium-hero-grid{gap:30px}.home-triptych{grid-template-columns:1fr}.mini-course-grid{grid-template-columns:repeat(3,1fr)}.lesson-grid{grid-template-columns:230px 1fr}.lesson-tools{grid-column:2;position:static;grid-template-columns:1fr 1fr}.app-layout{grid-template-columns:180px 1fr;gap:20px}.dashboard-columns{grid-template-columns:1fr 1fr}.dashboard-columns>*:last-child{grid-column:1/-1}.teacher-main-grid{grid-template-columns:1fr 1fr}.teacher-main-grid>*:last-child{grid-column:1/-1}.admin-middle-grid{grid-template-columns:1fr 1fr}.admin-middle-grid>*:last-child{grid-column:1/-1}.kpi-row.five{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.site-header{height:74px}.container{width:min(calc(100% - 28px),var(--container))}.mobile-toggle{display:flex}.main-nav{display:none;position:absolute;right:14px;top:70px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);padding:15px;flex-direction:column;align-items:stretch;gap:9px;min-width:220px}.main-nav.open{display:flex}.brand img{width:39px;height:44px}.brand b{font-size:15px}.premium-hero-grid,.catalog-intro-grid,.detail-layout,.about-grid,.auth-grid,.checkout-grid,.student-hero-grid{grid-template-columns:1fr}.premium-copy h1{font-size:52px}.premium-visual{height:420px}.premium-course-card{right:50%;transform:translate(50%,-50%)}.hero-stats{grid-template-columns:1fr 1fr}.hero-stats>div:nth-child(2){border-right:0}.hero-stats>div{border-bottom:1px solid var(--line)}.hero-stats>div:nth-child(3),.hero-stats>div:nth-child(4){border-bottom:0}.course-grid{grid-template-columns:repeat(2,1fr)}.detail-hero-card{grid-template-columns:1fr}.detail-visual{min-height:260px}.detail-sidebar{grid-template-columns:1fr 1fr}.sticky-card{position:static}.lesson-grid{grid-template-columns:1fr}.lesson-sidebar{position:fixed;left:-310px;top:74px;bottom:0;width:290px;z-index:120;border-radius:0;max-height:none;transition:.2s}.lesson-sidebar.open{left:0}.lesson-menu-button{display:inline-flex;border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 10px;margin-bottom:10px}.lesson-tools{grid-column:1}.app-layout{grid-template-columns:1fr}.app-sidebar{position:static}.app-sidebar nav{display:flex;overflow:auto;flex-direction:row;padding-bottom:8px}.app-sidebar nav a{min-width:max-content}.app-sidebar .sidebar-label,.sidebar-help{display:none}.dashboard-columns,.bottom-dashboard-grid,.teacher-main-grid,.teacher-lower-grid,.admin-middle-grid,.admin-bottom-grid{grid-template-columns:1fr}.dashboard-columns>*:last-child,.teacher-main-grid>*:last-child,.admin-middle-grid>*:last-child{grid-column:auto}.kpi-row.four,.kpi-row.five{grid-template-columns:repeat(2,1fr)}.auth-visual-card{border-radius:24px 24px 0 0;min-height:380px}.auth-form-card{border-left:1px solid var(--line);border-radius:0 0 24px 24px}.footer-grid{grid-template-columns:1fr 1fr}.content-grid{grid-template-columns:1fr}.arabic-feature-grid{grid-template-columns:1fr}}
@media(max-width:620px){.premium-hero{padding-top:25px}.premium-copy h1{font-size:43px}.premium-copy>p{font-size:15px}.premium-visual{height:370px}.premium-course-card{padding:20px}.note-complete{right:0;top:16px}.note-audio{left:0;bottom:0}.hero-stats{grid-template-columns:1fr;padding:8px 18px}.hero-stats>div{border-right:0!important;border-bottom:1px solid var(--line)!important;padding:12px}.hero-stats>div:last-child{border-bottom:0!important}.mini-course-grid{grid-template-columns:1fr}.journey-steps{grid-template-columns:1fr}.journey-steps:before{display:none}.arabic-feature-grid{grid-template-columns:1fr}.course-grid{grid-template-columns:1fr}.filter-row label{min-width:100%;}.detail-copy h1{font-size:40px}.detail-copy{padding:20px}.teacher-meta{grid-template-columns:auto 1fr 1fr}.teacher-meta>div:nth-last-child(-n+2){display:none}.detail-bottom,.detail-actions{align-items:stretch;flex-direction:column}.detail-sidebar{grid-template-columns:1fr}.lesson-tools{grid-template-columns:1fr}.media-placeholder{height:250px}.media-placeholder p{font-size:28px}.lesson-main h1{font-size:30px}.lesson-title-row{flex-direction:column}.app-content{min-width:0}.student-hero-grid h1,.teacher-heading h1,.admin-heading h1{font-size:34px}.continue-learning-card{grid-template-columns:1fr}.continue-illustration{display:none}.dashboard-columns,.bottom-dashboard-grid{grid-template-columns:1fr}.kpi-row.four,.kpi-row.five{grid-template-columns:1fr}.teacher-heading,.admin-heading,.page-title-row{flex-direction:column}.stats-dashboard-card{grid-template-columns:1fr;gap:12px}.stats-dashboard-card>div{border-right:0;border-bottom:1px solid var(--line);padding-bottom:10px}.stats-dashboard-card>div:last-child{border-bottom:0}.admin-middle-grid{grid-template-columns:1fr}.auth-form-card{padding:34px 22px}.auth-visual-card{padding:30px 22px}.auth-visual-card h2{font-size:34px}.form-row,.upload-grid,.checkout-benefits{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:5px}.cta-card{flex-direction:column;align-items:flex-start}.catalog-hero h1{font-size:45px}.catalog-search{margin-top:10px}}


/* =========================================================
   BACK-OFFICE CRUD - identité Émeraude & Or
   ========================================================= */
.backoffice-shell{min-height:calc(100vh - 84px);padding:30px 0 60px;background:linear-gradient(135deg,#fffdf8 0,#faf8f1 58%,#f2faf7 100%)}
.backoffice-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:28px;align-items:start}
.backoffice-sidebar{position:sticky;top:108px;background:rgba(255,255,255,.88);border:1px solid var(--line);border-radius:20px;padding:15px;box-shadow:var(--shadow);max-height:calc(100vh - 130px);overflow:auto}
.bo-profile{display:flex;align-items:center;gap:10px;padding:8px 8px 16px;border-bottom:1px solid var(--line);margin-bottom:10px}.bo-profile>span{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,var(--emerald-900),var(--emerald-700));color:#fff;font:700 18px Georgia;border:2px solid var(--gold-300)}.bo-profile b,.bo-profile small{display:block}.bo-profile b{font:700 12px Georgia;color:var(--emerald-950)}.bo-profile small{font-size:9px;color:var(--muted)}
.backoffice-sidebar nav{display:grid;gap:3px}.backoffice-sidebar nav a,.bo-home{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;font-size:11px;color:var(--ink-2);font-weight:700}.backoffice-sidebar nav a span,.bo-home span{width:22px;text-align:center;color:var(--gold-700);font-size:14px}.backoffice-sidebar nav a:hover,.backoffice-sidebar nav a.active,.bo-home.active{background:linear-gradient(90deg,var(--mint-100),#f6fbf8);color:var(--emerald-900)}.bo-home{margin-bottom:6px}.bo-label{font-size:8px;font-weight:900;letter-spacing:.14em;color:var(--gold-700);padding:15px 10px 6px}.backoffice-content{min-width:0}.bo-heading{margin:5px 0 24px}.bo-heading.row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.bo-heading h1{font:700 clamp(31px,4vw,48px)/1.05 Georgia;color:var(--emerald-950);letter-spacing:-.035em;margin:8px 0}.bo-heading h1 span{color:var(--emerald-800)}.bo-heading p{max-width:720px;color:var(--muted);margin:0}.bo-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:22px}.bo-kpis article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;align-items:center;gap:14px;box-shadow:0 10px 25px rgba(29,62,53,.05)}.bo-kpis article>span{width:45px;height:45px;border-radius:13px;background:var(--gold-100);color:var(--gold-700);display:grid;place-items:center;font-size:20px}.bo-kpis b,.bo-kpis small{display:block}.bo-kpis b{font:700 25px Georgia;color:var(--emerald-950)}.bo-kpis small{color:var(--muted);font-size:10px}.bo-resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.bo-resource-card{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 10px 25px rgba(29,62,53,.05);transition:.2s}.bo-resource-card:hover{transform:translateY(-2px);border-color:var(--gold-300);box-shadow:var(--shadow)}.bo-resource-card>span{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:var(--mint-100);color:var(--emerald-800);font-size:20px}.bo-resource-card h3{font:700 16px Georgia;margin:0 0 4px;color:var(--emerald-950)}.bo-resource-card p{font-size:9px;color:var(--muted);margin:0}.bo-resource-card i{font-style:normal;color:var(--gold-700)}
.bo-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:rgba(255,255,255,.8);border:1px solid var(--line);border-radius:15px;padding:10px;margin-bottom:14px}.bo-search{flex:1;min-width:250px;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:0 11px}.bo-search span{color:var(--emerald-700);font-size:19px}.bo-search input,.bo-toolbar select{border:0;outline:0;background:transparent;padding:10px;width:100%;color:var(--ink)}.bo-toolbar select{width:auto;min-width:170px;background:#fff;border:1px solid var(--line);border-radius:10px}
.bo-table-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.bo-table{width:100%;border-collapse:collapse;font-size:10px}.bo-table th{padding:13px 14px;text-align:left;background:#f7faf7;color:var(--emerald-900);font-size:8px;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--line)}.bo-table td{padding:13px 14px;border-bottom:1px solid #f0ece4;vertical-align:middle;color:var(--ink-2)}.bo-table tbody tr:hover{background:#fffdf7}.bo-table tbody tr:last-child td{border-bottom:0}.actions-col{text-align:right!important}.row-actions{display:flex;gap:7px;justify-content:flex-end;flex-wrap:wrap}.row-actions a{font-weight:800;color:var(--emerald-800);font-size:9px}.row-actions a.danger{color:var(--danger)}.bo-empty{display:grid;place-items:center;min-height:190px;text-align:center;color:var(--muted)}.bo-empty>span{font-size:28px;color:var(--gold-500)}.bo-empty b{font:700 17px Georgia;color:var(--emerald-950)}.bo-empty p{margin:0}.bo-pagination{display:flex;justify-content:center;align-items:center;gap:16px;padding:18px;font-size:10px}.bo-pagination a{color:var(--emerald-800);font-weight:800}.bo-pagination span{color:var(--muted)}
.bo-form-card,.bo-detail-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:25px;box-shadow:var(--shadow)}.bo-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}.bo-field{display:flex;flex-direction:column;gap:6px}.bo-field:has(textarea),.bo-field:has(input[type=file]){grid-column:1/-1}.bo-field label{font-size:10px;font-weight:800;color:var(--emerald-950)}.bo-field label sup{color:var(--gold-700)}.crud-input,.crud-file{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 11px;background:#fffdf9;outline:0;color:var(--ink)}.crud-input:focus{border-color:var(--emerald-700);box-shadow:0 0 0 3px rgba(21,130,118,.08)}textarea.crud-input{min-height:120px;resize:vertical}.crud-file{font-size:10px}.bo-field small{font-size:8px;color:var(--muted)}.bo-field em{font-style:normal;font-size:9px;color:var(--danger)}.checkbox-field{justify-content:flex-end;padding-bottom:8px}.checkbox-field label{order:2}.checkbox-field .crud-checkbox{width:18px;height:18px;accent-color:var(--emerald-800)}.bo-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.form-alert{border-radius:10px;padding:11px;margin-bottom:15px;font-size:10px}.form-alert.error{background:#fff0ee;color:var(--danger)}
.bo-actions{display:flex;gap:9px}.danger-text{color:var(--danger)!important}.btn-danger{background:var(--danger);color:#fff;border-color:#a63d35}.bo-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.bo-detail-grid>div{padding:15px;border-bottom:1px solid var(--line)}.bo-detail-grid>div:nth-child(odd){border-right:1px solid var(--line)}.bo-detail-grid small{display:block;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--gold-700);margin-bottom:5px}.bo-detail-grid p{margin:0;color:var(--ink-2);font-size:11px;overflow-wrap:anywhere}.bo-action-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:linear-gradient(90deg,var(--mint-50),#fffaf0);border:1px solid var(--line);border-radius:14px;padding:11px 14px;margin-bottom:12px}.bo-action-strip b{margin-right:auto;font:700 12px Georgia;color:var(--emerald-950)}.bo-action-strip form{margin:0}.bo-confirm-wrap{min-height:65vh;display:grid;place-items:center}.bo-confirm-card{max-width:570px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:35px;box-shadow:var(--shadow-lg);text-align:center}.bo-warning{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;background:#fff0ee;color:var(--danger);font:800 28px Georgia}.bo-confirm-card h1{font:700 34px Georgia;color:var(--emerald-950);margin:9px 0}.bo-confirm-card p{color:var(--muted)}
.profile-section{padding:55px 0 80px;background:linear-gradient(135deg,#fffdf8,#f3faf7);min-height:70vh}.profile-hero{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px;box-shadow:var(--shadow);margin-bottom:14px}.profile-avatar{width:85px;height:85px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,var(--emerald-900),var(--emerald-700));color:#fff;font:700 35px Georgia;border:3px solid var(--gold-300)}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-hero h1,.profile-card h1{font:700 35px Georgia;color:var(--emerald-950);margin:6px 0}.profile-hero p{color:var(--muted);margin:0}.profile-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.profile-grid article,.profile-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 10px 24px rgba(29,62,53,.05)}.profile-grid small,.profile-grid b{display:block}.profile-grid small{color:var(--gold-700);font-size:8px;text-transform:uppercase;font-weight:900}.profile-grid b{font:700 14px Georgia;color:var(--emerald-950);margin-top:5px}.profile-card h2{font:700 22px Georgia;color:var(--emerald-950)}.profile-card p{color:var(--muted)}.profile-actions{display:flex;gap:10px;flex-wrap:wrap}.account-form{display:grid;gap:13px}.account-form label{display:grid;gap:6px;font-size:10px;font-weight:800;color:var(--emerald-950)}.account-form input,.account-form select,.account-form textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fffdf9}.account-form em{color:var(--danger);font-size:9px;font-style:normal}.account-form small{color:var(--muted);font-size:8px;font-weight:400}.auth-simple{max-width:620px;margin:auto}.success-state{text-align:center}.success-orb{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--success-bg);color:var(--success);font-size:28px;margin:0 auto 15px}.error-page{min-height:65vh;display:grid;place-items:center;text-align:center;padding:50px}.error-page>div{max-width:600px}.error-page span{font:700 90px Georgia;color:var(--gold-500);opacity:.55}.error-page h1{font:700 42px Georgia;color:var(--emerald-950);margin:0}.error-page p{color:var(--muted);margin:12px 0 24px}
@media(max-width:1100px){.backoffice-layout{grid-template-columns:210px 1fr}.bo-resource-grid{grid-template-columns:repeat(2,1fr)}.bo-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.backoffice-layout{grid-template-columns:1fr}.backoffice-sidebar{position:static;max-height:none}.backoffice-sidebar nav{display:flex;overflow:auto}.backoffice-sidebar nav a{min-width:max-content}.bo-label,.bo-profile{display:none}.bo-resource-grid{grid-template-columns:1fr 1fr}.bo-form-grid,.bo-detail-grid{grid-template-columns:1fr}.bo-detail-grid>div:nth-child(odd){border-right:0}.profile-grid{grid-template-columns:1fr 1fr}.profile-hero{grid-template-columns:auto 1fr}.profile-hero>.btn{grid-column:1/-1}}
@media(max-width:560px){.bo-heading.row{align-items:flex-start;flex-direction:column}.bo-kpis,.bo-resource-grid,.profile-grid{grid-template-columns:1fr}.bo-form-grid{grid-template-columns:1fr}.bo-field{grid-column:1!important}.bo-form-actions{flex-direction:column-reverse}.bo-form-actions .btn{width:100%}.bo-table{min-width:760px}.bo-actions{width:100%}.bo-actions .btn{flex:1}.profile-hero{grid-template-columns:1fr;text-align:center}.profile-avatar{margin:auto}.profile-actions{flex-direction:column}.profile-actions .btn{width:100%}}

@media(max-width:620px){.drive-open-blocker{top:9px;right:9px;width:52px;height:44px}}

/* =========================================================
   Notifications + verrouillage paiement
   ========================================================= */
.notification-menu-wrap{position:relative;display:flex;align-items:center}.notification-bell{position:relative;width:42px;height:42px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.86);display:grid;place-items:center;color:var(--emerald-900);cursor:pointer;box-shadow:0 6px 18px rgba(29,62,53,.05);transition:.2s}.notification-bell:hover,.notification-menu-wrap.open .notification-bell{border-color:var(--gold-300);background:#fff;transform:translateY(-1px)}.notification-bell svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.notification-badge{position:absolute;top:-6px;right:-6px;min-width:19px;height:19px;border-radius:999px;padding:0 5px;display:grid;place-items:center;background:linear-gradient(145deg,var(--gold-500),var(--gold-700));color:#fff;font-size:9px;font-weight:900;border:2px solid #fff;box-shadow:0 4px 10px rgba(155,111,31,.23)}
.notification-dropdown{position:absolute;right:0;top:calc(100% + 12px);width:min(390px,90vw);background:rgba(255,255,255,.98);border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 60px rgba(13,64,53,.18);z-index:200;opacity:0;visibility:hidden;transform:translateY(-7px);transition:.18s;overflow:hidden}.notification-menu-wrap.open .notification-dropdown{opacity:1;visibility:visible;transform:translateY(0)}.notification-dropdown-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 17px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#fffdf8,#f4faf7)}.notification-dropdown-head b,.notification-dropdown-head small{display:block}.notification-dropdown-head b{font:700 17px Georgia;color:var(--emerald-950)}.notification-dropdown-head small{font-size:9px;color:var(--muted);margin-top:2px}.notification-dropdown-head>a{font-size:10px;font-weight:900;color:var(--emerald-800)}.notification-dropdown-list{max-height:390px;overflow:auto}.notification-dropdown-item{display:grid;grid-template-columns:34px 1fr 8px;gap:10px;align-items:start;padding:12px 14px;border-bottom:1px solid #f1ede5;transition:.15s}.notification-dropdown-item:hover{background:#fbfdfb}.notification-dropdown-item.unread{background:linear-gradient(90deg,rgba(228,246,239,.65),#fff)}.notification-mini-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--mint-100);color:var(--emerald-800);font-weight:900}.notification-mini-icon.success{background:#e9f8f0;color:#13835c}.notification-mini-icon.warning{background:#fff1dd;color:#b87513}.notification-mini-icon.action{background:#fff6df;color:#a76b09}.notification-dropdown-item>span:nth-child(2) b,.notification-dropdown-item>span:nth-child(2) small,.notification-dropdown-item>span:nth-child(2) em{display:block}.notification-dropdown-item>span:nth-child(2) b{font-size:10px;color:var(--emerald-950);line-height:1.35}.notification-dropdown-item>span:nth-child(2) small{font-size:8.5px;color:var(--ink-2);line-height:1.45;margin-top:3px}.notification-dropdown-item>span:nth-child(2) em{font-style:normal;font-size:7.5px;color:var(--muted);margin-top:4px}.notification-dropdown-item>i{width:7px;height:7px;background:var(--gold-600);border-radius:50%;margin-top:7px}.notification-dropdown-empty{padding:28px 18px;text-align:center;color:var(--muted)}.notification-dropdown-empty span,.notification-dropdown-empty b,.notification-dropdown-empty small{display:block}.notification-dropdown-empty span{font-size:25px;color:var(--gold-500)}.notification-dropdown-empty b{font:700 14px Georgia;color:var(--emerald-950);margin:5px 0}.notification-dropdown-empty small{font-size:9px}.notification-mark-all{padding:9px 13px;background:#fcfaf5;border-top:1px solid var(--line)}.notification-mark-all button{width:100%;border:0;background:transparent;color:var(--emerald-800);font-size:9px;font-weight:900;cursor:pointer;padding:5px}
.notifications-page{padding:52px 0 85px;min-height:70vh;background:linear-gradient(135deg,#fffefa,#f4faf7)}.notification-page-wrap{max-width:980px}.page-heading-row{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:22px}.page-heading-row h1{font:700 clamp(39px,5vw,58px)/1.05 Georgia;color:var(--emerald-950);margin:10px 0}.page-heading-row h1 span{color:var(--emerald-800)}.page-heading-row p{color:var(--muted);max-width:650px}.notification-list-page{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);overflow:hidden}.notification-row-page{display:grid;grid-template-columns:44px 1fr 9px 26px;gap:13px;align-items:center;padding:17px 19px;border-bottom:1px solid var(--line);transition:.16s}.notification-row-page:last-child{border-bottom:0}.notification-row-page:hover{background:#fffdf8}.notification-row-page.unread{background:linear-gradient(90deg,#eef9f4,#fff)}.notification-type{width:42px;height:42px;border-radius:13px;background:var(--mint-100);display:grid;place-items:center;color:var(--emerald-800);font-weight:900}.notification-type.success{background:#eaf8f0;color:#13835c}.notification-type.warning{background:#fff1dc;color:#b87513}.notification-type.action{background:#fff5dc;color:#a2690e}.notification-copy b,.notification-copy span,.notification-copy small{display:block}.notification-copy b{font:700 15px Georgia;color:var(--emerald-950)}.notification-copy span{font-size:10px;color:var(--ink-2);margin-top:3px}.notification-copy small{font-size:8px;color:var(--muted);margin-top:5px}.notification-unread-dot{width:8px;height:8px;border-radius:50%;background:var(--gold-600)}.notification-arrow{color:var(--emerald-800);font-weight:900}
.payment-lock-banner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;background:linear-gradient(135deg,#fff8e9,#fffdf7);border:1px solid #edd49d;border-radius:16px;padding:15px 17px;margin-bottom:14px;box-shadow:0 8px 22px rgba(125,91,24,.06)}.payment-lock-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#fff1cb;font-size:18px}.payment-lock-banner b{font:700 14px Georgia;color:var(--emerald-950)}.payment-lock-banner p{font-size:9px;color:var(--muted);margin:4px 0 0;line-height:1.5}.summary-lock{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;align-items:center;background:#fff6e3;border:1px solid #f0d9a5;border-radius:12px;padding:11px;margin:12px 0}.summary-lock>span{grid-row:1/3;font-size:18px}.summary-lock b{font-size:11px;color:var(--emerald-950)}.summary-lock small{font-size:8px;color:var(--muted)}.curriculum-lesson.locked{opacity:.67;cursor:not-allowed;background:#fbfaf7}.curriculum-lesson.locked:hover{transform:none}.lesson-nav-item.locked{opacity:.58;cursor:not-allowed}.course-progress-link{color:inherit}.locked-access-row{background:#fffaf0;border-radius:12px;padding:8px!important;margin:2px 0}.lock-thumb{background:#fff1cf!important}.locked-access-row strong{font-size:9px!important;color:#aa711a!important}.access-lock-line{display:inline-flex;margin-top:6px;padding:4px 7px;border-radius:999px;background:#fff0cf;color:#986718;font-size:7.5px;font-weight:900}
@media(max-width:760px){.notification-dropdown{position:fixed;left:12px;right:12px;top:72px;width:auto}.page-heading-row{align-items:flex-start;flex-direction:column}.payment-lock-banner{grid-template-columns:auto 1fr}.payment-lock-banner .btn{grid-column:1/-1;width:100%}.notification-row-page{grid-template-columns:38px 1fr 7px 18px;padding:14px 12px}}
.payment-access-rule,.payment-pending-state{display:flex;align-items:center;gap:12px;border-radius:14px;padding:13px 14px;margin:16px 0}.payment-access-rule{background:#fff7e5;border:1px solid #edd39b}.payment-access-rule>span{font-size:20px}.payment-access-rule b,.payment-access-rule small,.payment-pending-state b,.payment-pending-state small{display:block}.payment-access-rule b,.payment-pending-state b{font-size:11px;color:var(--emerald-950)}.payment-access-rule small,.payment-pending-state small{font-size:8.5px;color:var(--muted);margin-top:2px}.payment-pending-state{background:var(--mint-50);border:1px solid #cfe8de;color:var(--emerald-800)}.payment-pending-state>span{width:34px;height:34px;border-radius:10px;background:var(--mint-100);display:grid;place-items:center;font-weight:900}
.bo-payment-required{font-size:9px;font-weight:900;color:#9b6918;background:#fff4d8;border:1px solid #edd49d;border-radius:9px;padding:7px 10px;margin-left:auto}
.pending-access-card{background:linear-gradient(135deg,#fffaf0,#f8fbf7)!important}.pending-lock-message{display:inline-flex;align-items:center;gap:7px;margin:10px 0 14px;padding:7px 10px;border-radius:999px;background:#fff0ca;color:#936313;font-size:9px;font-weight:900;border:1px solid #edd39a}
.access-expiry-note{display:block;margin:10px 0 14px;color:var(--muted,#6f7b76);font-weight:700}.access-valid{margin-top:14px;background:rgba(213,238,228,.5)}

/* =========================================================
   Journal de sécurité
   ========================================================= */
.audit-level{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:9px;font-weight:900;white-space:nowrap}.audit-info{background:#e9f7f1;color:#0f6e5f}.audit-warning{background:#fff1d9;color:#9b6511}.audit-critical{background:#fde7e7;color:#a82e2e}.audit-json{white-space:pre-wrap;overflow:auto;margin:0;padding:18px;border-radius:14px;background:#0c211c;color:#e9f7f1;font:12px/1.6 Consolas,Monaco,monospace}

/* =========================================================
   Sécurité : IP suspectes, risques & carte
   ========================================================= */
.security-page-heading{align-items:flex-end}.security-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:18px 0}.security-kpi-grid article{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px;box-shadow:0 9px 24px rgba(22,70,58,.05)}.security-kpi-grid article>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--mint-100);color:var(--emerald-800);font-weight:900}.security-kpi-grid small,.security-kpi-grid b{display:block}.security-kpi-grid small{font-size:8px;letter-spacing:.08em;color:var(--muted);font-weight:900}.security-kpi-grid b{font:700 22px Georgia;color:var(--emerald-950);margin-top:2px}.security-toolbar{flex-wrap:wrap}.security-map-card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:16px;margin:18px 0}.security-map-card.compact{margin-top:18px}.security-map-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:4px 3px 13px}.security-map-head h2{font:700 20px Georgia;color:var(--emerald-950);margin:4px 0 0}.security-map-legend{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:9px;color:var(--muted);font-weight:800}.security-map-legend span{display:flex;align-items:center;gap:5px}.risk-dot{width:9px;height:9px;border-radius:50%;display:inline-block}.risk-dot.info{background:#2f855a}.risk-dot.warning{background:#c79a20}.risk-dot.high{background:#d97706}.risk-dot.critical{background:#b42318}.security-map{height:410px;border-radius:15px;overflow:hidden;background:#edf4f1;border:1px solid #dce8e2}.incident-map{height:300px}.security-map-empty{min-height:220px;display:grid;place-items:center;text-align:center;align-content:center;gap:4px;background:linear-gradient(135deg,var(--mint-50),#fffaf0);border-radius:15px;border:1px dashed #d7e5de;color:var(--muted)}.security-map-empty>span{font-size:30px;color:var(--emerald-700)}.security-map-empty b{color:var(--emerald-950);font:700 15px Georgia}.security-map-empty p{font-size:10px;max-width:550px;margin:0}.risk-pill{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:8.5px;font-weight:900;white-space:nowrap}.risk-pill.large{font-size:10px;padding:8px 13px}.risk-info{background:#e7f5ec;color:#27704c}.risk-warning{background:#fff3d7;color:#966b12}.risk-high{background:#ffead2;color:#ad5c06}.risk-critical{background:#fde3e1;color:#a52720}.incident-status{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:8px;font-weight:900}.incident-status.open{background:#fff0da;color:#a35e0b}.incident-status.resolved{background:#e8f5ef;color:#176952}.security-location{display:block;font-size:10px;color:var(--emerald-950)}.security-location+small{display:block;font-size:7.5px;color:var(--muted);margin-top:2px}.security-table-card .bo-table td{vertical-align:middle}.security-disclaimer{margin:14px 0;padding:12px 14px;border-radius:13px;background:#fff8e9;border:1px solid #eed8aa;color:#79643f;font-size:9px;line-height:1.55}.security-disclaimer b{color:#72551d}.security-map-popup{min-width:205px}.security-map-popup b,.security-map-popup code,.security-map-popup span,.security-map-popup small,.security-map-popup a{display:block}.security-map-popup b{font:700 13px Georgia;color:#083f36;margin-bottom:5px}.security-map-popup code{font-size:9px;margin-bottom:6px}.security-map-popup .popup-risk{display:inline-flex;width:max-content;padding:3px 7px;border-radius:999px;background:#f2f2f2;font-size:8px;font-weight:900}.security-map-popup .popup-risk.warning{background:#fff3d7;color:#966b12}.security-map-popup .popup-risk.high{background:#ffead2;color:#ad5c06}.security-map-popup .popup-risk.critical{background:#fde3e1;color:#a52720}.security-map-popup p{font-size:9px;margin:7px 0}.security-map-popup small{font-size:8px;color:#6f7b76;margin-top:3px}.security-map-popup a{font-size:9px;font-weight:900;color:#087064;margin-top:8px}.incident-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:16px 0}.incident-summary-grid>div{background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px}.incident-summary-grid small,.incident-summary-grid b{display:block}.incident-summary-grid small{font-size:7.5px;color:var(--muted);font-weight:900;letter-spacing:.08em}.incident-summary-grid b{font:700 13px Georgia;color:var(--emerald-950);margin-top:5px}.security-detail-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:16px}.target-identifiers{display:flex;flex-wrap:wrap;gap:7px}.target-identifiers code{background:var(--mint-50);border:1px solid #d8e9e2;padding:7px 9px;border-radius:9px;color:var(--emerald-900);font-size:9px}.incident-actions-heading{margin-top:24px}.network-flags{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:14px;padding-top:13px;border-top:1px solid var(--line);font-size:9px}.network-flags span{background:#fff0dd;color:#9b5a0d;padding:5px 8px;border-radius:999px;font-weight:900}
@media(max-width:1050px){.security-kpi-grid{grid-template-columns:repeat(3,1fr)}.incident-summary-grid{grid-template-columns:repeat(3,1fr)}.security-detail-grid{grid-template-columns:1fr}}
@media(max-width:700px){.security-kpi-grid{grid-template-columns:repeat(2,1fr)}.incident-summary-grid{grid-template-columns:repeat(2,1fr)}.security-map-head{align-items:flex-start;flex-direction:column}.security-map{height:330px}.security-page-heading{align-items:flex-start}.security-page-heading .btn{width:100%}}
.bo-kpi-link{display:block;color:inherit}.bo-kpi-link article{height:100%;transition:.2s ease}.bo-kpi-link:hover article{transform:translateY(-2px);border-color:var(--gold-300)}

/* ============================================================
   V3.9 - Pilotage administrateur : inscriptions, paiements et
   suivi des gestionnaires financiers
   ============================================================ */
.finance-analytics-page .app-content{min-width:0}.analytics-heading{margin-bottom:16px}.analytics-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;margin-bottom:16px}.analytics-toolbar>div:first-child b,.analytics-toolbar>div:first-child small{display:block}.analytics-toolbar>div:first-child b{font-size:12px;color:var(--emerald-900)}.analytics-toolbar>div:first-child small{font-size:8px;color:var(--muted);margin-top:3px}.period-tabs{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.period-tabs a{padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--emerald-900);font-size:8px;font-weight:800}.period-tabs a:hover,.period-tabs a.active{background:var(--emerald-850);border-color:var(--emerald-850);color:#fff;box-shadow:0 8px 20px rgba(0,79,69,.12)}.analytics-kpis .kpi-card em{grid-column:2;font-size:7px;font-style:normal;color:var(--muted)}.analytics-grid{display:grid;gap:16px;margin-top:16px}.analytics-grid-main{grid-template-columns:1.55fr .85fr}.analytics-grid-status{grid-template-columns:1fr 1fr 1fr}.analytics-span-2{min-width:0}.analytics-card{min-width:0;overflow:hidden}.analytics-card .panel-head p{margin:3px 0 0;font-size:8px;color:var(--muted)}.chart-canvas-wrap{position:relative;width:100%;min-height:220px}.chart-large{height:280px}.chart-donut{height:210px;min-height:210px}.chart-bars{height:240px;min-height:240px}.chart-canvas-wrap canvas{display:block;width:100%;height:100%}.analytics-legend{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;font-size:8px;color:var(--muted);padding-top:8px}.legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}.legend-dot.emerald{background:#00685b}.legend-dot.gold{background:#c89a45}.legend-dot.mint{background:#63c5ad}.donut-layout{display:grid;grid-template-columns:minmax(150px,1fr) minmax(130px,.8fr);align-items:center;gap:8px}.status-legend{display:grid;gap:8px}.status-legend>div{display:grid;grid-template-columns:9px 1fr auto;gap:7px;align-items:center;font-size:8px;color:var(--muted)}.status-legend i{width:8px;height:8px;border-radius:50%}.status-legend b{color:var(--emerald-900);font-size:10px}.manager-monitor-card,.manager-activity-card{margin-top:16px}.panel-chip{display:inline-flex;padding:5px 9px;border-radius:999px;background:var(--mint-100);color:var(--emerald-850);font-size:8px;font-weight:800}.analytics-table{min-width:840px}.analytics-table td,.analytics-table th{padding:11px 10px}.manager-cell{display:flex;align-items:center;gap:9px}.manager-cell>span:last-child b,.manager-cell>span:last-child small{display:block}.manager-cell>span:last-child small{font-size:7px;color:var(--muted);margin-top:2px}.audit-action{display:inline-flex;padding:5px 8px;border-radius:8px;background:#f3f8f5;color:var(--emerald-850);font-size:8px;font-weight:800}
@media(max-width:1180px){.analytics-grid-main{grid-template-columns:1fr}.analytics-grid-status{grid-template-columns:1fr 1fr}.analytics-grid-status>*:last-child{grid-column:1/-1}.chart-large{height:260px}}
@media(max-width:900px){.analytics-toolbar{align-items:flex-start;flex-direction:column}.period-tabs{justify-content:flex-start}.analytics-grid-status{grid-template-columns:1fr}.analytics-grid-status>*:last-child{grid-column:auto}.donut-layout{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.period-tabs{display:grid;grid-template-columns:repeat(2,1fr);width:100%}.period-tabs a{text-align:center}.donut-layout{grid-template-columns:1fr}.chart-large{height:240px}.chart-donut{height:190px}.analytics-kpis{grid-template-columns:1fr!important}}
.manager-overview-home{margin-top:16px}.manager-overview-home .panel-head p{margin:3px 0 0;font-size:8px;color:var(--muted)}.manager-home-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0}.manager-mini-kpi{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(135deg,#fff,#f7fbf8)}.manager-mini-kpi>span{width:34px;height:34px;border-radius:10px;background:var(--mint-100);display:grid;place-items:center;color:var(--emerald-850);font-weight:900}.manager-mini-kpi small,.manager-mini-kpi b{display:block}.manager-mini-kpi small{font-size:7px;color:var(--muted);font-weight:800}.manager-mini-kpi b{font-size:16px;color:var(--emerald-900);margin-top:2px}.manager-home-activity{display:grid;grid-template-columns:repeat(2,1fr);gap:0 18px}.manager-home-activity>div{display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center;padding:9px 0;border-top:1px solid var(--line)}.manager-home-activity p{margin:0}.manager-home-activity b,.manager-home-activity small{display:block}.manager-home-activity b{font-size:9px}.manager-home-activity small,.manager-home-activity time{font-size:7px;color:var(--muted)}
@media(max-width:900px){.manager-home-grid{grid-template-columns:repeat(2,1fr)}.manager-home-activity{grid-template-columns:1fr}}
@media(max-width:620px){.manager-home-grid{grid-template-columns:1fr}}

/* =========================================================
   V2.9.0 — Recherche multicritère + responsive global/mobile
   ========================================================= */
html,body{max-width:100%;overflow-x:hidden}
iframe,video,embed,object{max-width:100%}
input,select,textarea,button{max-width:100%}
.table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
.bo-mobile-nav-toggle{display:none}

/* Recherche multicritère du back-office */
.bo-filter-form{display:block;padding:12px}
.bo-filter-primary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;width:100%}
.bo-filter-primary .bo-search{flex:1 1 360px}
.bo-filter-toggle{display:none;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--emerald-900);padding:9px 12px;font-size:10px;font-weight:900;cursor:pointer}
.bo-filter-toggle b{min-width:20px;height:20px;padding:0 5px;border-radius:999px;display:grid;place-items:center;background:var(--gold-100);color:var(--gold-700);font-size:9px}
.bo-filter-toggle i{font-style:normal;font-size:14px;transition:transform .18s ease}
.bo-filter-toggle[aria-expanded="true"] i{transform:rotate(180deg)}
.bo-multi-filter-panel{width:100%;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.bo-multi-filter-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:10px}
.bo-multi-filter-head b,.bo-multi-filter-head small{display:block}
.bo-multi-filter-head b{font:700 13px Georgia;color:var(--emerald-950)}
.bo-multi-filter-head small{font-size:8.5px;color:var(--muted);margin-top:2px}
.bo-multi-filter-head>span{display:inline-flex;border-radius:999px;background:var(--mint-100);color:var(--emerald-850);padding:5px 9px;font-size:8px;font-weight:900;white-space:nowrap}
.bo-multi-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.bo-filter-field{display:grid;gap:5px;min-width:0}
.bo-filter-field>span{font-size:8px;text-transform:uppercase;letter-spacing:.06em;color:var(--emerald-900);font-weight:900}
.bo-filter-field input,.bo-filter-field select{width:100%;height:40px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:8px 10px;outline:0;color:var(--ink);font-size:10px}
.bo-filter-field input:focus,.bo-filter-field select:focus{border-color:var(--emerald-700);box-shadow:0 0 0 3px rgba(21,130,118,.08)}
.bo-multi-filter-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:12px}
.bo-table-wrap:focus{outline:2px solid rgba(21,130,118,.18);outline-offset:-2px}

/* Filets de sécurité responsive communs à tous les templates */
@media(max-width:900px){
  .page-glow:after{width:380px;height:380px;right:-230px}
  .main-nav{max-height:calc(100vh - 86px);overflow-y:auto}
  .main-nav>a,.main-nav>.inline-form,.main-nav>.notification-menu-wrap{width:100%}
  .main-nav .nav-link-button,.main-nav .nav-dashboard{width:100%;justify-content:flex-start;text-align:left}
  .notification-menu-wrap{justify-content:flex-start}
  .section{padding:54px 0}
  .premium-form-card,.dashboard-card,.showcase-panel,.payment-card,.bo-form-card,.bo-detail-card{min-width:0}
  .data-table,.bo-table{width:max-content;min-width:100%}
  .data-table th,.data-table td,.bo-table th,.bo-table td{white-space:nowrap}
}

@media(max-width:820px){
  .backoffice-shell{padding-top:14px}
  .backoffice-layout{gap:16px}
  .backoffice-sidebar{position:relative;top:auto;max-height:none;padding:8px;border-radius:15px;overflow:visible}
  .bo-mobile-nav-toggle{display:flex;width:100%;min-height:44px;align-items:center;justify-content:space-between;gap:12px;border:0;background:transparent;color:var(--emerald-950);padding:8px 10px;font-weight:900;cursor:pointer}
  .bo-mobile-nav-toggle i{font-style:normal;color:var(--gold-700);font-size:19px}
  .bo-sidebar-inner{display:none;padding:6px 2px 4px}
  .backoffice-sidebar.open .bo-sidebar-inner{display:block}
  .backoffice-sidebar.open .bo-mobile-nav-toggle{border-bottom:1px solid var(--line);margin-bottom:5px}
  .backoffice-sidebar .bo-profile{display:flex}
  .backoffice-sidebar .bo-label{display:block;padding-top:11px}
  .backoffice-sidebar nav{display:grid;overflow:visible}
  .backoffice-sidebar nav a{min-width:0;width:100%}
  .bo-home{width:100%}
  .bo-filter-toggle{display:inline-flex}
  .bo-multi-filter-panel{display:none}
  .bo-multi-filter-panel.open{display:block}
  .bo-multi-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bo-heading{margin-bottom:16px}
  .bo-heading h1{font-size:clamp(30px,9vw,42px)}
  .bo-table-card{border-radius:14px}
}

@media(max-width:620px){
  .container,.container.narrow,.container.narrow-wide{width:min(calc(100% - 20px),var(--container))}
  .site-header{height:68px}
  .nav-wrap{gap:10px}
  .brand{gap:8px;min-width:0}
  .brand img{width:35px;height:40px;flex:0 0 auto}
  .brand span{min-width:0}
  .brand b{font-size:14px;white-space:nowrap}
  .brand small{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}
  .mobile-toggle{width:40px;height:40px;flex:0 0 auto}
  .main-nav{position:fixed;left:10px;right:10px;top:76px;min-width:0;width:auto}
  .toast-stack{left:10px;right:10px;top:80px}
  .toast{min-width:0;width:100%}
  .section{padding:44px 0}
  .section-heading{margin-bottom:24px}
  .section-heading h2{font-size:clamp(29px,9vw,40px)}
  .hero-actions,.detail-actions,.profile-actions,.bo-actions,.bo-multi-filter-actions{width:100%}
  .hero-actions .btn,.detail-actions .btn,.profile-actions .btn,.bo-actions .btn,.bo-multi-filter-actions .btn,.bo-multi-filter-actions a{width:100%}
  .premium-course-card{width:calc(100% - 8px);right:50%}
  .float-note{max-width:82%;padding:10px 12px}
  .cta-card,.premium-form-card,.payment-card,.showcase-panel,.dashboard-card,.bo-form-card,.bo-detail-card{padding-left:18px;padding-right:18px}
  .page-title-row h1,.submission-card h1,.checkout-copy h1,.about-hero h1{font-size:clamp(32px,10vw,42px)}
  .assignment-row{grid-template-columns:40px 1fr;align-items:start}
  .assignment-status{grid-column:1/-1;justify-content:flex-start;padding-left:54px;flex-wrap:wrap}
  .admin-list-row,.admin-list-row.payment-row{grid-template-columns:34px minmax(0,1fr)}
  .admin-list-row>*:nth-child(n+3){grid-column:2}
  .schedule-row,.teacher-course-row,.ranking-row{min-width:0}
  .schedule-row>*:nth-child(2),.teacher-course-row>*:nth-child(2),.ranking-row>*:nth-child(2){min-width:0}
  .schedule-row b,.schedule-row small,.teacher-course-row b,.teacher-course-row small,.ranking-row b,.ranking-row small{overflow-wrap:anywhere}
  .bo-filter-form{padding:9px}
  .bo-filter-primary{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .bo-filter-primary .bo-search{grid-column:1/-1;min-width:0;width:100%}
  .bo-filter-primary .bo-filter-toggle{grid-column:1/-1;width:100%}
  .bo-filter-primary>.btn,.bo-filter-primary>a.btn{width:100%}
  .bo-multi-filter-head{align-items:flex-start;flex-direction:column}
  .bo-multi-filter-grid{grid-template-columns:1fr}
  .bo-add-button{width:100%}
  .bo-pagination{justify-content:space-between;gap:8px;padding:14px 4px;flex-wrap:wrap}
  .bo-pagination span{order:-1;width:100%;text-align:center}
  .bo-table{min-width:680px}
  .bo-table th,.bo-table td{padding:11px 12px}
  .bo-confirm-card{padding:26px 18px}
  .bo-confirm-card h1{font-size:28px}
  .footer-grid{gap:24px}
}

@media(max-width:420px){
  .brand small{display:none}
  .premium-copy h1{font-size:38px}
  .premium-visual{height:340px}
  .pc-head h3{font-size:19px}
  .pc-lesson{gap:10px}
  .pc-lesson p{font-size:20px}
  .lesson-num{width:48px;height:54px}
  .filter-row label{min-width:100%;width:100%}
  .auth-form-card,.auth-visual-card{padding-left:18px;padding-right:18px}
  .notification-dropdown{left:8px;right:8px}
  .profile-hero{padding:18px}
}

/* =========================================================
   V2.9.1 — Paiements Wave / Orange Money et état déclaré
   ========================================================= */
.payment-method-mark,.payment-status-mark{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;flex:0 0 52px;font-weight:900;text-align:center;line-height:1.05}.payment-method-mark{background:linear-gradient(145deg,#20bce1,#ff8a21);color:#fff;font-size:19px}.payment-method-mark small{font-size:9px;color:#fff!important;letter-spacing:.04em}.payment-status-mark{background:var(--mint-100);color:var(--emerald-800);font-size:22px}.payment-head-status h2{font-size:22px}.payment-recipient-box{display:grid;gap:3px;margin:17px 0 4px;padding:15px 16px;border:1px solid #d9e9e3;border-radius:14px;background:linear-gradient(135deg,#f2fbf7,#fffaf0)}.payment-recipient-box small{font-size:8px;font-weight:900;letter-spacing:.05em;color:var(--gold-700)}.payment-recipient-box strong{font:700 24px Georgia;color:var(--emerald-950);letter-spacing:.02em}.payment-recipient-box span{font-size:9px;color:var(--muted);font-weight:700}.payment-pending-summary{display:grid;margin-top:16px;border:1px solid var(--line);border-radius:14px;overflow:hidden}.payment-summary-row{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(0,1.2fr);gap:12px;align-items:center;padding:11px 13px;border-bottom:1px solid var(--line)}.payment-summary-row:last-child{border-bottom:0}.payment-summary-row span{font-size:8.5px;color:var(--muted);font-weight:700}.payment-summary-row b{font-size:10px;color:var(--emerald-950);text-align:right;overflow-wrap:anywhere}.payment-waiting-note{display:grid;grid-template-columns:34px 1fr;gap:11px;align-items:center;margin-top:16px;padding:13px 14px;border-radius:13px;background:var(--mint-50);border:1px solid #cfe8de}.payment-waiting-note>span{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--mint-100);color:var(--emerald-800);font-weight:900}.payment-waiting-note b,.payment-waiting-note small{display:block}.payment-waiting-note b{font-size:10px;color:var(--emerald-950)}.payment-waiting-note small{font-size:8.5px;color:var(--muted);margin-top:2px;line-height:1.45}.pending-label{color:var(--gold-700)}
@media(max-width:620px){.payment-recipient-box strong{font-size:21px}.payment-summary-row{grid-template-columns:1fr;gap:3px}.payment-summary-row b{text-align:left}.payment-method-mark,.payment-status-mark{width:46px;height:46px;flex-basis:46px}.payment-head-status h2{font-size:19px}}


/* ============================================================
   V2.9.2 — Pagination globale + fréquentation des connexions
   ============================================================ */
.connected-users-section{margin:22px 0 28px}.connected-users-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px}.connected-users-head h2{margin:4px 0 3px;color:var(--green-950,#073f36);font-size:1.35rem}.connected-users-head p{margin:0;color:#71807c;font-size:.92rem}.connected-users-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.connected-users-grid article{display:flex;align-items:center;gap:13px;min-width:0;padding:17px 18px;border:1px solid rgba(190,164,114,.28);border-radius:18px;background:rgba(255,255,255,.88);box-shadow:0 12px 32px rgba(5,62,53,.045)}.connected-users-grid article>span{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:13px;background:#e8f4f0;color:#05685b;font-weight:900;font-size:.9rem}.connected-users-grid article div{min-width:0}.connected-users-grid small{display:block;color:#7f8d88;font-size:.7rem;font-weight:800;letter-spacing:.08em;white-space:nowrap}.connected-users-grid b{display:block;margin-top:2px;color:#053f36;font-family:Georgia,'Times New Roman',serif;font-size:1.65rem;line-height:1}.bo-connected-users{padding:18px 20px;border:1px solid rgba(190,164,114,.22);border-radius:22px;background:linear-gradient(135deg,rgba(255,255,255,.76),rgba(240,249,246,.78))}.bo-connected-users .connected-users-grid article{box-shadow:none}.dashboard-pagination{margin-top:14px;padding-top:12px;border-top:1px solid rgba(190,164,114,.18)}
@media(max-width:900px){.connected-users-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.connected-users-section{margin:16px 0 22px}.connected-users-grid{grid-template-columns:1fr;gap:10px}.connected-users-grid article{padding:14px 15px}.connected-users-head h2{font-size:1.18rem}.connected-users-head p{font-size:.84rem}.bo-connected-users{padding:15px}.bo-pagination.dashboard-pagination{align-items:stretch}.bo-pagination.dashboard-pagination a,.bo-pagination.dashboard-pagination span{text-align:center}}

/* ============================================================
   V2.9.3 — Demandes d'information sur les formations
   ============================================================ */
.kpi-row.six{grid-template-columns:repeat(6,minmax(0,1fr))}.kpi-link-card{color:inherit;text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s}.kpi-link-card:hover{transform:translateY(-2px);border-color:var(--gold-300);box-shadow:var(--shadow-lg)}.bo-kpi-link{color:inherit;text-decoration:none}.bo-kpi-link article{height:100%}.bo-inquiry-status{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:var(--mint-100);color:var(--emerald-800);font-size:9px;font-weight:900}.inquiry-action-strip{flex-wrap:wrap}.inquiry-row{grid-template-columns:36px minmax(0,1fr) minmax(0,1fr) auto}.inquiry-row>div{min-width:0}.inquiry-row b,.inquiry-row small{overflow-wrap:anywhere}
.inquiry-section{position:relative;overflow:hidden;background:linear-gradient(135deg,#f5fbf8 0%,#fffdf8 54%,#f8f1e2 100%);border-top:1px solid rgba(190,164,114,.18);border-bottom:1px solid rgba(190,164,114,.18)}.inquiry-section:before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-160px;top:-190px;background:radial-gradient(circle,rgba(58,162,137,.15),rgba(58,162,137,0) 70%);pointer-events:none}.inquiry-layout{position:relative;display:grid;grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);gap:54px;align-items:center}.inquiry-copy h2{font:700 clamp(38px,4.4vw,60px)/1.02 Georgia,'Times New Roman',serif;color:var(--emerald-950);letter-spacing:-.04em;margin:12px 0 18px}.inquiry-copy h2 span{color:var(--emerald-700)}.inquiry-copy>p{max-width:650px;color:var(--muted);font-size:14px;line-height:1.8}.inquiry-benefits{display:grid;gap:11px;margin-top:25px}.inquiry-benefits>div{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:center}.inquiry-benefits>div>span{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#fff;border:1px solid var(--gold-200);color:var(--emerald-800);font-weight:900}.inquiry-benefits b,.inquiry-benefits small{display:block}.inquiry-benefits b{font-size:11px;color:var(--emerald-950)}.inquiry-benefits small{font-size:9px;color:var(--muted);margin-top:2px}.inquiry-card{position:relative;background:rgba(255,255,255,.94);border:1px solid rgba(190,164,114,.32);border-radius:26px;padding:28px;box-shadow:0 24px 65px rgba(13,75,64,.11);backdrop-filter:blur(8px)}.inquiry-card-head{display:flex;align-items:center;gap:13px;padding-bottom:19px;margin-bottom:20px;border-bottom:1px solid var(--line)}.inquiry-card-head>span{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--emerald-800);color:#fff;font-size:19px}.inquiry-card-head small{display:block;color:var(--gold-700);font-size:8px;font-weight:900;letter-spacing:.12em}.inquiry-card-head h3{font:700 23px Georgia;color:var(--emerald-950);margin:3px 0 0}.inquiry-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.inquiry-field{display:grid;gap:7px;min-width:0}.inquiry-field.wide{grid-column:1/-1}.inquiry-field>span{font-size:9px;font-weight:900;color:var(--emerald-900)}.inquiry-field sup{color:var(--gold-700);margin-left:2px}.inquiry-field em{font-size:8px;color:#b93f35;font-style:normal}.inquiry-input{width:100%;min-width:0;border:1px solid #dfd8ca;border-radius:12px;background:#fff;padding:12px 13px;color:var(--ink);font:inherit;font-size:11px;outline:none;transition:border-color .2s,box-shadow .2s}.inquiry-input:focus{border-color:var(--emerald-700);box-shadow:0 0 0 3px rgba(0,111,93,.09)}textarea.inquiry-input{resize:vertical;min-height:118px;line-height:1.6}.inquiry-card .btn{margin-top:18px}.inquiry-privacy{margin:11px 0 0;text-align:center;color:var(--muted);font-size:8px;line-height:1.5}
@media(max-width:1180px){.kpi-row.six{grid-template-columns:repeat(3,minmax(0,1fr))}.inquiry-layout{grid-template-columns:1fr 1fr;gap:32px}}
@media(max-width:900px){.kpi-row.six{grid-template-columns:repeat(2,minmax(0,1fr))}.inquiry-layout{grid-template-columns:1fr}.inquiry-copy{max-width:760px}.inquiry-card{max-width:760px;width:100%}}
@media(max-width:620px){.kpi-row.six{grid-template-columns:1fr}.inquiry-section{padding-top:48px;padding-bottom:48px}.inquiry-copy h2{font-size:clamp(34px,10vw,44px)}.inquiry-card{padding:20px;border-radius:20px}.inquiry-form-grid{grid-template-columns:1fr}.inquiry-field.wide{grid-column:auto}.inquiry-card-head h3{font-size:20px}.inquiry-row{grid-template-columns:34px minmax(0,1fr)}.inquiry-row>*:nth-child(n+3){grid-column:2}.inquiry-action-strip .btn{width:100%}}

@media(max-width:1180px) and (min-width:901px){.nav-wrap{gap:18px}.main-nav{gap:18px;font-size:13px}}
@media(max-width:1020px) and (min-width:901px){.main-nav{gap:12px;font-size:12px}.brand small{font-size:9px}}

/* v2.9.4 — choix explicite Gratuit/Payant dans la gestion des formations */
.bo-field.course-field-hidden{display:none!important}
.free-access-banner{border-color:rgba(0,111,93,.25);background:linear-gradient(135deg,#effaf5,#fffdf8)}
.bo-course-mode{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:var(--mint-100);color:var(--emerald-800);font-size:9px;font-weight:900}

/* v2.9.5 — messagerie interne administration / gestionnaire */
.internal-message-form{max-width:980px}.message-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.message-recipient-field,.message-subject-field,.message-body-field{grid-column:1/-1}.message-recipient-field.is-hidden{display:none}.message-recipient-select{min-height:220px;padding:10px}.message-kpis{grid-template-columns:repeat(3,1fr)}.bo-compact-select{min-height:40px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:0 12px;color:var(--ink-2);font:inherit}.status-pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:9px;font-weight:900}.status-pill.success{background:#e9f8f0;color:#13835c}.status-pill.warning{background:#fff1dd;color:#a86d13}.message-detail-wrap{max-width:880px}.message-back-link{display:inline-flex;margin-bottom:18px;color:var(--emerald-800);font-size:11px;font-weight:800}.internal-message-detail{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);overflow:hidden}.internal-message-head{display:grid;grid-template-columns:54px 1fr;gap:16px;align-items:start;padding:26px 28px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#fffdf8,#f4faf7)}.internal-message-head .notification-type{width:52px;height:52px}.internal-message-head h1{font:700 clamp(27px,4vw,40px)/1.1 Georgia;color:var(--emerald-950);margin:7px 0}.internal-message-head p{margin:0;color:var(--muted);font-size:10px}.internal-message-body{padding:30px 32px;font-size:14px;line-height:1.8;color:var(--ink-2);white-space:normal}.internal-message-body p:last-child{margin-bottom:0}.notification-type.message,.notification-mini-icon.message{background:#eaf4ff;color:#2767a5}.notification-sender{color:var(--emerald-800)!important;font-weight:800}.notification-pagination{margin-top:18px}
@media(max-width:820px){.message-form-grid{grid-template-columns:1fr}.message-kpis{grid-template-columns:1fr 1fr 1fr}.internal-message-head{padding:20px}.internal-message-body{padding:22px}.bo-filter-primary .bo-compact-select{width:100%}}
@media(max-width:620px){.message-kpis{grid-template-columns:1fr}.internal-message-head{grid-template-columns:44px 1fr;gap:11px;padding:16px}.internal-message-head .notification-type{width:42px;height:42px}.internal-message-body{padding:18px 16px}.message-recipient-select{min-height:180px}}

/* =========================================================
   V2.9.6 — Tableau de bord administration responsive mobile
   /espace/administration/
   ========================================================= */
.dashboard-nav-toggle{display:none}
.admin-dashboard-page .app-content{width:100%;min-width:0}
.admin-dashboard-page .dashboard-card,
.admin-dashboard-page .kpi-card,
.admin-dashboard-page .connected-users-grid article,
.admin-dashboard-page .manager-mini-kpi{min-width:0}
.admin-dashboard-page .admin-list-row>div,
.admin-dashboard-page .ranking-row>div,
.admin-dashboard-page .manager-home-activity p{min-width:0}
.admin-dashboard-page .admin-list-row b,
.admin-dashboard-page .admin-list-row small,
.admin-dashboard-page .ranking-row b,
.admin-dashboard-page .ranking-row small,
.admin-dashboard-page .manager-home-activity b,
.admin-dashboard-page .manager-home-activity small{overflow-wrap:anywhere}

@media(max-width:900px){
  .admin-dashboard-page .app-shell{padding:14px 0 32px}
  .admin-dashboard-page .app-layout{grid-template-columns:minmax(0,1fr);gap:14px}
  .admin-dashboard-page .admin-dashboard-sidebar{position:relative;top:auto;width:100%;padding:7px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.94);box-shadow:var(--shadow);overflow:visible}
  .admin-dashboard-page .dashboard-nav-toggle{display:grid;grid-template-columns:28px minmax(0,1fr) 22px;align-items:center;gap:8px;width:100%;min-height:46px;padding:8px 10px;border:0;border-radius:11px;background:transparent;color:var(--emerald-950);text-align:left;cursor:pointer}
  .admin-dashboard-page .dashboard-nav-toggle>span{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:var(--mint-100);color:var(--emerald-850);font-size:15px}
  .admin-dashboard-page .dashboard-nav-toggle b{font-size:11px}
  .admin-dashboard-page .dashboard-nav-toggle i{font-style:normal;text-align:center;color:var(--gold-700);font-size:16px;transition:transform .18s ease}
  .admin-dashboard-page .admin-dashboard-sidebar.open .dashboard-nav-toggle i{transform:rotate(180deg)}
  .admin-dashboard-page .app-sidebar-inner{display:none;padding:7px 2px 3px}
  .admin-dashboard-page .admin-dashboard-sidebar.open .app-sidebar-inner{display:block;border-top:1px solid var(--line);margin-top:5px}
  .admin-dashboard-page .admin-dashboard-sidebar nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;overflow:visible;padding:4px 0}
  .admin-dashboard-page .admin-dashboard-sidebar nav a{min-width:0;width:100%;font-family:inherit;font-size:10px;padding:10px}
  .admin-dashboard-page .admin-dashboard-sidebar nav a span{width:20px}
  .admin-dashboard-page .admin-dashboard-sidebar .sidebar-label{display:block;grid-column:1/-1;margin:10px 8px 2px}
  .admin-dashboard-page .admin-dashboard-sidebar .sidebar-help{display:grid;margin-top:10px}
  .admin-dashboard-page .admin-heading{align-items:stretch}
  .admin-dashboard-page .admin-heading>div{min-width:0}
  .admin-dashboard-page .admin-heading h1{font-size:clamp(31px,7vw,38px);overflow-wrap:anywhere}
  .admin-dashboard-page .admin-heading .btn{white-space:nowrap;align-self:flex-start}
  .admin-dashboard-page .admin-middle-grid,
  .admin-dashboard-page .admin-bottom-grid{gap:12px}
  .admin-dashboard-page .activity-chart{gap:9px;padding-left:2px;padding-right:2px}
  .admin-dashboard-page .bar-zone{gap:3px}
  .admin-dashboard-page .bar{width:10px}
}

@media(max-width:620px){
  .admin-dashboard-page .app-shell{padding-top:10px}
  .admin-dashboard-page .app-layout.container{width:min(calc(100% - 16px),var(--container))}
  .admin-dashboard-page .admin-dashboard-sidebar nav{grid-template-columns:1fr}
  .admin-dashboard-page .admin-heading{gap:12px;margin-bottom:14px}
  .admin-dashboard-page .admin-heading h1{font-size:clamp(29px,9vw,35px);line-height:1.04}
  .admin-dashboard-page .admin-heading p{font-size:11px;margin-top:7px}
  .admin-dashboard-page .admin-heading .btn{width:100%;justify-content:center;text-align:center}
  .admin-dashboard-page .kpi-row.six{gap:9px}
  .admin-dashboard-page .kpi-card{padding:14px}
  .admin-dashboard-page .kpi-card.vertical{grid-template-columns:40px minmax(0,1fr)}
  .admin-dashboard-page .kpi-card>span{width:40px;height:40px}
  .admin-dashboard-page .connected-users-section{margin:14px 0 18px}
  .admin-dashboard-page .connected-users-head{margin-bottom:9px}
  .admin-dashboard-page .connected-users-grid{gap:8px}
  .admin-dashboard-page .connected-users-grid article{padding:13px 14px;border-radius:14px}
  .admin-dashboard-page .dashboard-card{padding:15px 14px;border-radius:15px}
  .admin-dashboard-page .panel-head{align-items:flex-start}
  .admin-dashboard-page .panel-head h3{font-size:16px}
  .admin-dashboard-page .admin-list-row,
  .admin-dashboard-page .admin-list-row.payment-row,
  .admin-dashboard-page .inquiry-row{grid-template-columns:34px minmax(0,1fr);gap:8px}
  .admin-dashboard-page .admin-list-row>*:nth-child(n+3),
  .admin-dashboard-page .inquiry-row>*:nth-child(n+3){grid-column:2}
  .admin-dashboard-page .admin-list-row .mini-action{justify-self:start;margin-top:2px}
  .admin-dashboard-page .manager-home-grid{gap:8px}
  .admin-dashboard-page .manager-mini-kpi{padding:10px}
  .admin-dashboard-page .manager-home-activity>div{grid-template-columns:34px minmax(0,1fr);align-items:start}
  .admin-dashboard-page .manager-home-activity time{grid-column:2}
  .admin-dashboard-page .activity-chart{height:155px;gap:4px;padding-top:10px}
  .admin-dashboard-page .bar-zone{height:118px;gap:2px}
  .admin-dashboard-page .bar{width:8px}
  .admin-dashboard-page .chart-day>span{font-size:6.5px}
  .admin-dashboard-page .quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .admin-dashboard-page .quick-grid a{padding:11px 6px}
}

@media(max-width:420px){
  .admin-dashboard-page .app-layout.container{width:calc(100% - 12px)}
  .admin-dashboard-page .admin-dashboard-sidebar{border-radius:13px}
  .admin-dashboard-page .dashboard-nav-toggle{min-height:44px}
  .admin-dashboard-page .admin-heading h1{font-size:28px}
  .admin-dashboard-page .connected-users-grid article>span{flex-basis:38px;height:38px}
  .admin-dashboard-page .connected-users-grid b{font-size:1.45rem}
  .admin-dashboard-page .panel-head{flex-direction:column;gap:4px}
  .admin-dashboard-page .panel-head>a{align-self:flex-start}
  .admin-dashboard-page .manager-home-grid{grid-template-columns:1fr}
  .admin-dashboard-page .activity-chart{gap:2px}
  .admin-dashboard-page .bar{width:7px}
  .admin-dashboard-page .quick-grid{grid-template-columns:1fr}
}


/* =========================================================
   V2.9.7 — Profil et suivi financier responsive mobile
   /compte/profil/ + /espace/administration/suivi-financier/
   ========================================================= */
.profile-page .profile-section{overflow:hidden}
.profile-page .profile-hero,.profile-page .profile-card,.profile-page .profile-grid article{min-width:0}
.profile-page .profile-identity{min-width:0}
.profile-page .profile-hero h1,.profile-page .profile-hero p,.profile-page .profile-grid b,.profile-page .profile-card p{overflow-wrap:anywhere;word-break:break-word}
.profile-page .profile-card p{max-width:100%}

.finance-analytics-page .app-content{width:100%;min-width:0}
.finance-analytics-page .dashboard-card,.finance-analytics-page .kpi-card,.finance-analytics-page .analytics-card{min-width:0}
.finance-analytics-page .analytics-heading>div,.finance-analytics-page .analytics-toolbar>div{min-width:0}
.finance-analytics-page .analytics-heading h1,.finance-analytics-page .analytics-heading p,.finance-analytics-page .analytics-toolbar small,.finance-analytics-page .manager-cell b,.finance-analytics-page .manager-cell small{overflow-wrap:anywhere}
.finance-analytics-page .table-wrap{scrollbar-width:thin}

@media(max-width:900px){
  .profile-page .profile-section{padding:38px 0 58px}

  .finance-analytics-page .app-shell{padding:14px 0 32px}
  .finance-analytics-page .app-layout{grid-template-columns:minmax(0,1fr);gap:14px}
  .finance-analytics-page .finance-dashboard-sidebar{position:relative;top:auto;width:100%;padding:7px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.94);box-shadow:var(--shadow);overflow:visible}
  .finance-analytics-page .dashboard-nav-toggle{display:grid;grid-template-columns:28px minmax(0,1fr) 22px;align-items:center;gap:8px;width:100%;min-height:46px;padding:8px 10px;border:0;border-radius:11px;background:transparent;color:var(--emerald-950);text-align:left;cursor:pointer}
  .finance-analytics-page .dashboard-nav-toggle>span{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:var(--mint-100);color:var(--emerald-850);font-size:15px}
  .finance-analytics-page .dashboard-nav-toggle b{font-size:11px;min-width:0;overflow-wrap:anywhere}
  .finance-analytics-page .dashboard-nav-toggle i{font-style:normal;text-align:center;color:var(--gold-700);font-size:16px;transition:transform .18s ease}
  .finance-analytics-page .finance-dashboard-sidebar.open .dashboard-nav-toggle i{transform:rotate(180deg)}
  .finance-analytics-page .finance-dashboard-sidebar .app-sidebar-inner{display:none;padding:7px 2px 3px}
  .finance-analytics-page .finance-dashboard-sidebar.open .app-sidebar-inner{display:block;border-top:1px solid var(--line);margin-top:5px}
  .finance-analytics-page .finance-dashboard-sidebar nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;overflow:visible;padding:4px 0}
  .finance-analytics-page .finance-dashboard-sidebar nav a{min-width:0;width:100%;font-family:inherit;font-size:10px;padding:10px;white-space:normal}
  .finance-analytics-page .finance-dashboard-sidebar nav a span{width:20px}
  .finance-analytics-page .finance-dashboard-sidebar .sidebar-label{display:block;grid-column:1/-1;margin:10px 8px 2px}
  .finance-analytics-page .finance-dashboard-sidebar .sidebar-help{display:grid;margin-top:10px}
  .finance-analytics-page .analytics-heading{align-items:stretch}
  .finance-analytics-page .analytics-heading h1{font-size:clamp(31px,7vw,38px)}
  .finance-analytics-page .analytics-heading .btn{align-self:flex-start}
  .finance-analytics-page .analytics-toolbar{width:100%;padding:13px 14px}
  .finance-analytics-page .period-tabs{width:100%;justify-content:flex-start}
  .finance-analytics-page .analytics-grid{gap:12px;margin-top:12px}
  .finance-analytics-page .analytics-kpis{gap:10px}
}

@media(max-width:620px){
  .profile-page .container.narrow-wide{width:min(calc(100% - 16px),1080px)}
  .profile-page .profile-section{padding:26px 0 42px}
  .profile-page .profile-hero{grid-template-columns:1fr;gap:12px;padding:17px 14px;text-align:center;border-radius:16px}
  .profile-page .profile-avatar{width:72px;height:72px;margin:auto;font-size:29px}
  .profile-page .profile-identity .eyebrow{justify-content:center}
  .profile-page .profile-hero h1{font-size:clamp(27px,8.5vw,33px);line-height:1.08;margin:8px 0 4px}
  .profile-page .profile-hero p{font-size:11px;line-height:1.5}
  .profile-page .profile-edit-button{grid-column:auto;width:100%;margin-top:2px}
  .profile-page .profile-grid{grid-template-columns:1fr;gap:8px;margin-bottom:10px}
  .profile-page .profile-grid article{padding:14px;border-radius:13px}
  .profile-page .profile-grid small{font-size:7.5px}
  .profile-page .profile-grid b{font-size:13px;margin-top:4px}
  .profile-page .profile-card{padding:16px 14px;border-radius:14px}
  .profile-page .profile-card h2{font-size:20px;margin-bottom:8px}
  .profile-page .profile-card p{font-size:11px;line-height:1.65}
  .profile-page .profile-actions{gap:8px}
  .profile-page .profile-actions .btn{min-height:44px;white-space:normal;text-align:center}

  .finance-analytics-page .app-layout.container{width:min(calc(100% - 16px),var(--container))}
  .finance-analytics-page .finance-dashboard-sidebar nav{grid-template-columns:1fr}
  .finance-analytics-page .analytics-heading{gap:11px;margin-bottom:13px}
  .finance-analytics-page .analytics-heading h1{font-size:clamp(28px,9vw,34px);line-height:1.04}
  .finance-analytics-page .analytics-heading p{font-size:10.5px;margin-top:7px}
  .finance-analytics-page .analytics-heading .btn{width:100%;justify-content:center;text-align:center;white-space:normal}
  .finance-analytics-page .analytics-toolbar{padding:12px;border-radius:14px;gap:11px}
  .finance-analytics-page .analytics-toolbar>div:first-child small{font-size:7.5px;line-height:1.5}
  .finance-analytics-page .period-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .finance-analytics-page .period-tabs a{display:flex;align-items:center;justify-content:center;min-height:38px;padding:7px 6px;text-align:center;white-space:normal}
  .finance-analytics-page .kpi-card{padding:14px}
  .finance-analytics-page .kpi-card.vertical{grid-template-columns:40px minmax(0,1fr)}
  .finance-analytics-page .kpi-card>span{width:40px;height:40px}
  .finance-analytics-page .kpi-card b{font-size:20px;overflow-wrap:anywhere}
  .finance-analytics-page .analytics-card,.finance-analytics-page .manager-monitor-card,.finance-analytics-page .manager-activity-card{padding:14px;border-radius:14px}
  .finance-analytics-page .panel-head{align-items:flex-start}
  .finance-analytics-page .panel-head h3{font-size:16px}
  .finance-analytics-page .panel-head p{font-size:8px;line-height:1.5}
  .finance-analytics-page .chart-large{height:220px}
  .finance-analytics-page .chart-donut{height:185px;min-height:185px}
  .finance-analytics-page .chart-bars{height:210px;min-height:210px}
  .finance-analytics-page .analytics-legend{gap:9px;font-size:7.5px}
  .finance-analytics-page .status-legend{gap:6px}
  .finance-analytics-page .analytics-table{min-width:760px}
  .finance-analytics-page .analytics-table td,.finance-analytics-page .analytics-table th{padding:9px 8px}
  .finance-analytics-page .bo-pagination.dashboard-pagination{gap:8px;align-items:stretch;flex-wrap:wrap}
  .finance-analytics-page .bo-pagination.dashboard-pagination a,.finance-analytics-page .bo-pagination.dashboard-pagination span{flex:1 1 120px;text-align:center}
}

@media(max-width:420px){
  .profile-page .container.narrow-wide{width:calc(100% - 12px)}
  .profile-page .profile-section{padding-top:18px}
  .profile-page .profile-hero{padding:15px 12px;border-radius:14px}
  .profile-page .profile-avatar{width:66px;height:66px;font-size:26px}
  .profile-page .profile-hero h1{font-size:26px}
  .profile-page .profile-card,.profile-page .profile-grid article{padding-left:12px;padding-right:12px}

  .finance-analytics-page .app-layout.container{width:calc(100% - 12px)}
  .finance-analytics-page .finance-dashboard-sidebar{border-radius:13px}
  .finance-analytics-page .dashboard-nav-toggle{min-height:44px}
  .finance-analytics-page .analytics-heading h1{font-size:27px}
  .finance-analytics-page .analytics-toolbar{padding:10px}
  .finance-analytics-page .period-tabs{grid-template-columns:1fr 1fr}
  .finance-analytics-page .kpi-card{padding:12px}
  .finance-analytics-page .analytics-card,.finance-analytics-page .manager-monitor-card,.finance-analytics-page .manager-activity-card{padding:12px}
  .finance-analytics-page .chart-large{height:205px}
  .finance-analytics-page .analytics-legend{justify-content:flex-start}
}
