*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:#fff;color:#13223a;line-height:1.55}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}.container{width:min(1180px,calc(100% - 32px));margin:auto}:root{--blue:#168c45;--blue2:#7cbe3f;--ink:#13223a;--muted:#66758d;--soft:#f3faf5;--line:#dce9df;--danger:#c43d3d;--shadow:0 18px 50px rgba(18,93,52,.13)}
.site-header{position:fixed;inset:0 0 auto 0;z-index:50;background:rgba(255,255,255,.9);border-bottom:1px solid rgba(214,224,240,.8);backdrop-filter:blur(14px)}.nav-wrap{height:74px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;font-weight:850}.brand img{width:46px;height:46px;object-fit:contain}.nav{display:flex;align-items:center;gap:23px;font-size:14px;font-weight:650}.nav a:hover{color:var(--blue)}.burger{display:none;border:0;background:none}.burger span{display:block;width:24px;height:2px;background:#18263d;margin:5px}
.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:11px;padding:13px 20px;background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;font-weight:750;cursor:pointer;box-shadow:0 10px 22px rgba(22,140,69,.20)}.btn:hover{transform:translateY(-1px)}.btn-sm{padding:8px 13px;font-size:13px;border-radius:8px}.btn-outline{background:#fff;color:var(--blue);border:1px solid #a7d6b7;box-shadow:none}.btn-danger{background:var(--danger)}.btn-block{width:100%}
.hero{padding:145px 0 80px;min-height:760px;overflow:hidden;background:linear-gradient(115deg,#fff 0%,#f5fbf6 55%,#e8f6ec 100%)}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:60px}.eyebrow{display:inline-block;margin-bottom:12px;font-size:12px;text-transform:uppercase;letter-spacing:.15em;font-weight:850;color:var(--blue)}.hero h1,.page-hero h1{font-family:Georgia,serif;font-size:clamp(42px,5vw,74px);line-height:1.02;margin:0 0 22px;letter-spacing:-.035em}.hero h1 span{color:var(--blue)}.hero-copy>p{font-size:18px;color:var(--muted);max-width:620px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.hero-stats{display:flex;gap:40px;margin-top:42px}.hero-stats div{display:flex;flex-direction:column}.hero-stats strong{font-size:28px;color:var(--blue)}.hero-stats span{font-size:12px;color:var(--muted)}
.hero-visual{position:relative;min-height:520px}.orb{position:absolute;width:420px;height:420px;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);background:radial-gradient(circle at 35% 35%,rgba(255,255,255,.97),rgba(124,190,63,.22));box-shadow:inset 0 0 80px rgba(255,255,255,.8),0 30px 80px rgba(22,140,69,.14)}.hero-logo{position:absolute;width:260px;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:32px;filter:drop-shadow(0 18px 30px rgba(20,105,56,.16))}
.float-card{position:absolute;display:grid;grid-template-columns:38px auto;column-gap:10px;align-items:center;min-width:160px;padding:13px 16px;border:1px solid rgba(214,235,220,.92);border-radius:14px;background:rgba(255,255,255,.94);box-shadow:0 16px 34px rgba(24,105,57,.14);backdrop-filter:blur(10px);animation:floaty 4.5s ease-in-out infinite}.float-card .icon{grid-row:1/3;display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:#edf8f0}.float-card b{font-size:13px}.float-card small{font-size:10px;color:var(--muted)}.fc1{left:1%;top:18%;animation-delay:-.8s}.fc2{right:1%;top:12%;animation-delay:-2.1s}.fc3{left:0;bottom:17%;animation-delay:-1.6s}.fc4{right:3%;bottom:22%;animation-delay:-3s}@keyframes floaty{0%,100%{transform:translateY(0) rotate(-.3deg)}50%{transform:translateY(-14px) rotate(.6deg)}}
.section{padding:82px 0}.section-soft{background:var(--soft)}.section-head{max-width:760px;margin-bottom:34px}.section-head h2,.split h2,.cta-box h2{font-size:clamp(30px,4vw,48px);line-height:1.08;margin:0 0 14px;letter-spacing:-.025em}.section-head p,.split p{color:var(--muted)}.row-head{max-width:none;display:flex;justify-content:space-between;align-items:end;gap:30px}
.feature-grid,.course-grid,.testimonial-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.feature,.course-card,.testimonial,.form-card,.table-card,.contact-card,.module-card,.chart-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 10px 35px rgba(18,92,50,.06)}.feature h3{margin:12px 0 8px}.feature p,.course-card p{color:var(--muted);font-size:14px}.course-card{position:relative;display:flex;flex-direction:column;min-height:260px;transition:.25s}.course-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.course-level{display:inline-flex;width:max-content;padding:6px 10px;border-radius:99px;background:#eaf7ee;color:var(--blue);font-weight:800;font-size:12px}.course-card h3{font-size:21px;margin:18px 0 8px}.course-meta{margin-top:auto;display:flex;justify-content:space-between;align-items:center;font-size:13px}.course-meta strong{color:var(--blue)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.check-list{display:grid;gap:14px}.check-list div{padding:15px 17px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 8px 28px rgba(18,92,50,.05)}.testimonial-grid{grid-template-columns:repeat(3,1fr)}.testimonial-user{display:flex;align-items:center;gap:12px}.testimonial-user img,.top-user img{width:46px;height:46px;border-radius:50%;object-fit:cover}.testimonial-user div{display:flex;flex-direction:column}.testimonial-user small{color:var(--muted)}.testimonial p{color:#33445f}.avatar-fallback{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#eaf7ee;color:var(--blue);font-weight:850}.cta-section{padding-top:20px}.cta-box{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:42px;border-radius:26px;background:linear-gradient(135deg,#eaf7ee,#f8fcf9)}
.footer{background:#123523;color:#dcebe1;padding:58px 0 20px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:38px}.footer-logo{width:90px;border-radius:12px;margin-bottom:12px}.footer a{display:block;margin:7px 0}.footer-bottom{border-top:1px solid #2d5b3e;margin-top:30px;padding-top:18px;color:#9bb6a4;font-size:13px}.whatsapp{position:fixed;right:20px;bottom:20px;z-index:30;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#24c867;color:#fff;font-weight:900;box-shadow:0 14px 30px rgba(36,200,103,.3)}
.page-hero{padding:150px 0 65px;background:linear-gradient(120deg,#f5fbf6,#eaf7ed)}.page-hero p{color:var(--muted);max-width:680px}.price-panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px;display:flex;flex-direction:column;box-shadow:var(--shadow)}.price-panel strong{font-size:36px;color:var(--blue)}.module-list{display:grid;gap:14px}.module-row{display:flex;justify-content:space-between;gap:20px;align-items:center;border:1px solid var(--line);padding:20px;border-radius:14px}.module-row p{margin:5px 0;color:var(--muted)}.searchbar{display:flex;gap:10px;margin-bottom:28px}.searchbar input{flex:1}
.auth-section{min-height:100vh;padding:130px 16px 70px;background:linear-gradient(130deg,#f5fbf6,#eaf7ed);display:grid;place-items:center}.auth-card{width:min(760px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;padding:34px;box-shadow:var(--shadow)}.auth-card.narrow{width:min(520px,100%)}.auth-intro{text-align:center;margin-bottom:26px}.auth-intro img{width:110px;margin:0 auto 10px}.auth-intro h1{margin:0;font-size:32px}.auth-intro p,.auth-foot{color:var(--muted)}.auth-foot{text-align:center}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid .full{grid-column:1/-1}label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700}input,select,textarea{width:100%;border:1px solid #cfd8e8;border-radius:9px;padding:11px 12px;background:#fff;color:#14223a;outline:none}input:focus,select:focus,textarea:focus{border-color:#65b982;box-shadow:0 0 0 3px #e7f7ec}.form-card{display:grid;gap:15px}.alert{margin-top:92px;padding:13px 16px;border-radius:10px}.alert-success{background:#eaf8ee;color:#1d6b31}.alert-error{background:#fff0f0;color:#9b2525}
.app-body{background:#f4f8f5}.app-topbar{height:68px;background:#fff;border-bottom:1px solid var(--line);position:fixed;top:0;left:0;right:0;z-index:70;display:flex;align-items:center;justify-content:space-between;padding:0 22px}.app-topbar .brand img{width:40px;height:40px}.app-menu-btn{display:none;border:0;background:#edf5ef;border-radius:8px;padding:8px 11px}.top-user{display:flex;align-items:center;gap:8px;font-weight:700;font-size:13px}.top-user img,.top-user .avatar-fallback{width:34px;height:34px}.app-shell{display:flex;min-height:100vh;padding-top:68px}.app-sidebar{width:245px;position:fixed;top:68px;bottom:0;left:0;background:#123523;padding:22px 14px;overflow:auto;z-index:60}.app-sidebar a{display:block;color:#d2e5d8;padding:11px 13px;border-radius:9px;margin:3px 0;font-size:14px}.app-sidebar a:hover{background:#1b5232;color:#fff}.app-content{width:calc(100% - 245px);margin-left:245px;padding:32px;min-width:0}.app-content>.alert{margin-top:0}.page-title{margin-bottom:24px}.page-title h1{margin:0 0 5px;font-size:34px}.page-title p{margin:0;color:var(--muted)}
.welcome-card{position:relative;overflow:hidden;background:linear-gradient(135deg,#f8fcf9,#e5f4e9);border:1px solid #d6eadc;border-radius:22px;padding:32px;margin-bottom:24px;min-height:175px}.welcome-card h1{margin:0 0 8px;font-size:34px}.welcome-card p{margin:0;color:var(--muted)}.floating-dashboard:after{content:"";position:absolute;width:250px;height:250px;border-radius:50%;background:rgba(124,190,63,.15);right:-40px;top:-70px}.mini-floats span{position:absolute;background:#fff;border:1px solid var(--line);padding:9px 12px;border-radius:10px;box-shadow:0 10px 24px rgba(22,105,56,.10);font-size:12px;animation:floaty 4s ease-in-out infinite;z-index:2}.mini-floats span:nth-child(1){right:25%;top:24px}.mini-floats span:nth-child(2){right:7%;top:74px;animation-delay:-1.5s}.mini-floats span:nth-child(3){right:29%;bottom:20px;animation-delay:-2.4s}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 8px 30px rgba(28,57,104,.05);display:flex;flex-direction:column}.stat-card span{font-size:12px;color:var(--muted);font-weight:700}.stat-card strong{font-size:28px;margin-top:7px}.content-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:20px}.card-head{display:flex;justify-content:space-between;align-items:center}.course-progress-row,.result-line{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0;border-top:1px solid #edf1f7}.course-progress-row>div:first-child,.result-line>div:first-child{display:flex;flex-direction:column}.course-progress-row small,.result-line small{color:var(--muted)}.progress-wrap{display:flex;align-items:center;gap:10px;min-width:180px}.progress{height:8px;background:#e7edf6;border-radius:99px;overflow:hidden;flex:1}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),#5c95ed);border-radius:99px}
.module-card{padding:0;overflow:hidden}.module-card-head{padding:20px 22px;background:#f8faff;display:flex;justify-content:space-between;align-items:center}.module-card-head h2{margin:0;font-size:20px}.lesson-row{display:flex;align-items:center;gap:12px;padding:16px 20px;border-top:1px solid var(--line)}.lesson-row:hover{background:#f8fcf9}.lesson-check{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#edf2fa;color:var(--blue);font-weight:900}.lesson-check.done{background:#e8f8ec;color:#2a8f41}.lesson-row div{display:flex;flex-direction:column}.lesson-row small{color:var(--muted)}
.lesson-page{max-width:900px;margin:auto}.breadcrumb{font-size:13px;color:var(--muted);margin-bottom:14px}.lesson-content{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px;margin:20px 0}.lesson-media{width:100%;max-height:520px;object-fit:contain;background:#000;border-radius:14px;margin:16px 0}.video-frame{aspect-ratio:16/9;margin:16px 0}.video-frame iframe{width:100%;height:100%;border:0;border-radius:14px}.audio-player{width:100%;margin:15px 0}.resource-row,.exercise-box{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;margin:12px 0;display:flex;align-items:center;justify-content:space-between;gap:15px}.exercise-box{display:block}.lesson-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.quiz-form{display:grid;gap:16px;max-width:850px}.quiz-form fieldset{border:1px solid var(--line);background:#fff;border-radius:16px;padding:20px}.quiz-form legend{font-weight:800;padding:0 6px}.answer-option{display:flex;flex-direction:row;align-items:center;gap:10px;padding:10px;border-radius:9px;border:1px solid #e4e9f2;margin:8px 0;cursor:pointer}.answer-option input{width:auto}.quiz-result{background:#fff;border:1px solid var(--line);border-radius:22px;padding:36px;text-align:center;max-width:650px}.quiz-result>strong{font-size:64px;color:var(--blue)}
.responsive-table{overflow:auto}table{width:100%;border-collapse:collapse;min-width:700px}th,td{text-align:left;padding:13px 12px;border-bottom:1px solid #e7ecf4;font-size:13px;vertical-align:top}th{color:#596a83;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.badge{display:inline-flex;padding:5px 8px;border-radius:99px;background:#eef2f7;font-size:11px;font-weight:800}.badge-approved{background:#e7f7eb;color:#24753a}.badge-pending{background:#fff5d9;color:#8a6410}.badge-rejected{background:#ffeaea;color:#a52f2f}.mini-form{display:grid;gap:8px;margin-top:10px;min-width:240px}.mini-form small{color:var(--muted)}details summary{cursor:pointer;color:var(--blue);font-weight:700}.muted{color:var(--muted)}
.admin-two-col{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}.sticky-card{position:sticky;top:92px}.inline-form{display:inline}.inline-fields{display:flex;gap:8px;align-items:center}.inline-fields input,.inline-fields select{min-width:120px}.link-danger,.link-btn{border:0;background:none;padding:0;cursor:pointer;color:var(--danger);font:inherit}.link-btn{color:var(--blue)}.action-stack{display:grid;gap:12px;padding-top:8px}.filter-links{display:flex;gap:10px;margin-bottom:15px}.filter-links a{background:#fff;border:1px solid var(--line);padding:8px 11px;border-radius:8px}.admin-testimonials{grid-template-columns:repeat(2,1fr)}.testimonial-actions{display:flex;justify-content:space-between;align-items:center;gap:10px}.settings-form{max-width:800px}.bar-row{display:grid;grid-template-columns:120px 1fr 60px;gap:10px;align-items:center;margin:10px 0}.bar-row>div{height:12px;background:#edf4ef;border-radius:99px;overflow:hidden}.bar-row i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),#8aca55);border-radius:99px}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.tabs a{padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:#fff}.subsection{margin-top:22px}
@media(max-width:980px){.hero-grid,.split{grid-template-columns:1fr}.hero{padding-top:120px}.hero-visual{min-height:420px}.feature-grid,.course-grid{grid-template-columns:repeat(2,1fr)}.testimonial-grid{grid-template-columns:repeat(2,1fr)}.content-grid,.admin-two-col{grid-template-columns:1fr}.sticky-card{position:static}.stat-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.app-menu-btn{display:block}.app-sidebar{transform:translateX(-105%);transition:.25s}.app-sidebar.open{transform:translateX(0)}.app-content{width:100%;margin-left:0;padding:24px}.admin-testimonials{grid-template-columns:1fr}}
@media(max-width:760px){.nav{position:absolute;top:74px;left:16px;right:16px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px;display:none;flex-direction:column;align-items:stretch;gap:5px;box-shadow:var(--shadow)}.nav.open{display:flex}.nav a{padding:9px 8px}.burger{display:block}.hero{min-height:auto;padding-bottom:45px}.hero h1{font-size:48px}.hero-visual{min-height:360px}.hero-logo{width:190px}.orb{width:300px;height:300px}.float-card{min-width:135px;padding:10px;font-size:11px}.fc1,.fc3{left:0}.fc2,.fc4{right:0}.section{padding:58px 0}.feature-grid,.course-grid,.testimonial-grid{grid-template-columns:1fr}.row-head,.cta-box{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.hero-stats{gap:22px}.app-content{padding:18px}.welcome-card{padding:24px;min-height:240px}.welcome-card h1{font-size:28px}.mini-floats span:nth-child(1){right:8%;top:105px}.mini-floats span:nth-child(2){right:35%;top:150px}.mini-floats span:nth-child(3){right:7%;bottom:17px}.stat-grid{grid-template-columns:1fr 1fr}.module-card-head{align-items:flex-start;flex-direction:column;gap:5px}.resource-row{align-items:flex-start;flex-direction:column}.inline-fields{flex-wrap:wrap}.page-title h1{font-size:28px}}
@media(max-width:425px){.container{width:min(100% - 22px,1180px)}.hero h1{font-size:39px}.hero-visual{min-height:320px}.hero-logo{width:150px}.orb{width:250px;height:250px}.float-card{min-width:120px}.hero-stats{justify-content:space-between}.stat-grid{grid-template-columns:1fr}.app-content{padding:14px}.app-topbar{padding:0 12px}.top-user span:last-child{display:none}.auth-card{padding:22px}.cta-box{padding:28px}.price-panel{padding:22px}}
.filter-tabs,.row-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.filter-tabs{margin:0 0 18px}.filter-tabs a{padding:8px 12px;border:1px solid var(--line);background:#fff;border-radius:9px;font-size:13px;font-weight:700}.testimonial-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.testimonial-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 8px 28px rgba(18,92,50,.05)}.testimonial-head{display:flex;align-items:center;gap:10px}.testimonial-head .avatar,.avatar{width:46px;height:46px;border-radius:50%;object-fit:cover}.testimonial-head>div{display:flex;flex-direction:column;min-width:0}.testimonial-head>span{margin-left:auto}.empty-card{padding:28px;border:1px dashed var(--line);border-radius:16px;color:var(--muted);background:#fff}.compact-section{padding:24px 0 64px}.center{text-align:center}.narrow-container{max-width:760px}.pagination{display:flex;gap:7px;justify-content:center;margin-top:18px}.pagination a,.pagination span{padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:#fff}.pagination .active{background:var(--blue);color:#fff}.table-card code{font-size:12px;word-break:break-all}
@media(max-width:760px){.testimonial-admin-grid{grid-template-columns:1fr}.testimonial-head{align-items:flex-start}.testimonial-head>span{margin-left:0}.filter-tabs{overflow:auto;flex-wrap:nowrap;padding-bottom:4px}.filter-tabs a{white-space:nowrap}}
.search-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.search-results .result-line{color:inherit}@media(max-width:980px){.search-results{grid-template-columns:1fr}}
.course-cover{width:100%;height:150px;object-fit:cover;border-radius:12px;margin-bottom:16px}.course-card:has(.course-cover){min-height:410px}

.social-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
/* NHD v3 : rôles, oral et messagerie */
.role-prof{background:#eaf7ee;color:#18733d}.role-user{background:#ecf8ef;color:#24753a}
.oral-card{background:linear-gradient(135deg,#f7fcf8,#fff);border:1px solid var(--line);border-radius:20px;padding:22px;margin:20px 0;box-shadow:0 14px 40px rgba(18,92,50,.07)}
.oral-form{display:grid;gap:14px;margin-top:16px}.recorder-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.record-btn.recording{animation:pulseMic 1s infinite}.record-status{font-size:13px;color:var(--muted)}
@keyframes pulseMic{50%{transform:scale(1.03);box-shadow:0 0 0 7px rgba(220,53,69,.12)}}
.oral-result{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.oral-result>div:first-child{display:flex;justify-content:space-between;gap:10px}.oral-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.oral-review-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 10px 32px rgba(18,92,50,.06)}
.chat-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;min-height:650px}.chat-list,.chat-panel{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.chat-list{padding:14px}.chat-list h3{font-size:12px;text-transform:uppercase;color:var(--muted);margin:14px 8px 8px}.chat-list a{display:block;padding:11px 12px;border-radius:10px;margin:3px 0;color:inherit}.chat-list a:hover,.chat-list a.active{background:#edf8f0;color:var(--blue);font-weight:700}.chat-panel{display:flex;flex-direction:column;min-width:0}.chat-head{padding:16px 20px;border-bottom:1px solid var(--line)}.chat-head h2{margin:0;font-size:18px}.chat-messages{flex:1;min-height:460px;max-height:620px;overflow:auto;padding:20px;background:#f7faf8}.chat-bubble{max-width:min(78%,620px);background:#fff;border:1px solid var(--line);border-radius:16px 16px 16px 4px;padding:10px 13px;margin:8px 0;box-shadow:0 4px 14px rgba(18,92,50,.04)}.chat-bubble.mine{margin-left:auto;background:#e8f6ec;border-color:#cce8d5;border-radius:16px 16px 4px 16px}.chat-meta{display:flex;justify-content:space-between;gap:14px;font-size:11px;color:var(--muted)}.chat-bubble p{margin:5px 0 0;white-space:normal;word-break:break-word}.chat-compose{padding:14px;border-top:1px solid var(--line);display:flex;gap:10px;align-items:flex-end}.chat-compose textarea{min-height:48px;resize:vertical}
@media(max-width:900px){.oral-list{grid-template-columns:1fr}.chat-layout{grid-template-columns:1fr}.chat-list{max-height:260px;overflow:auto}.chat-messages{min-height:380px}.chat-bubble{max-width:90%}}
@media(max-width:520px){.recorder-controls .btn{width:100%}.chat-compose{flex-direction:column}.chat-compose .btn{width:100%}.chat-bubble{max-width:96%}}
/* NHD : paiements partiels, bibliothèque et apprentissage */
.payment-register{max-width:900px}.payment-destinations{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0 24px}.payment-destinations>div{display:flex;flex-direction:column;gap:3px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#f8fcf9}.payment-destinations b{color:var(--blue)}.payment-destinations span{font-size:14px;font-weight:800}.price-highlight{padding:16px 18px;border-radius:14px;background:linear-gradient(135deg,#eaf7ee,#f8fcf9);border:1px solid #cfe8d7;display:flex;flex-direction:column;gap:4px}.price-highlight strong{font-size:28px;color:var(--blue)}.price-highlight small{color:var(--muted)}.balance-due{color:#b66312}.notification-item{padding:14px 0;border-bottom:1px solid var(--line)}.notification-item.unread{padding-left:12px;border-left:4px solid var(--blue)}.notification-item p{margin:5px 0}.menu-count{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:6px;border-radius:99px;background:#f0c84b;color:#18331f;font-size:11px}.daily-rule{padding:14px 16px;border-radius:12px;background:#edf8f0;border:1px solid #cfe7d6;margin-bottom:18px}.lesson-row.locked,.lesson-catalog-card.locked{opacity:.62;background:#f7f8f7}.locked-label{font-size:12px;font-weight:800;color:#738078}.lesson-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.lesson-tags small,.lesson-tags span{padding:4px 7px;border-radius:99px;background:#edf8f0;color:#286a3d;font-size:11px;font-weight:700}.lesson-catalog{display:grid;gap:14px}.lesson-catalog-card{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px;border:1px solid var(--line);background:#fff;border-radius:16px}.lesson-catalog-card h3{margin:4px 0}.locked-study{max-width:700px;margin:50px auto;background:#fff;border:1px solid var(--line);border-radius:22px;padding:40px;text-align:center}.locked-study>div{font-size:54px}.locked-study h1{margin:10px 0}.media-library{margin:26px 0}.asset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.asset-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:16px;min-width:0}.asset-card img,.asset-card video{width:100%;border-radius:12px;margin-top:10px}.asset-card audio{width:100%;margin-top:12px}.exercise-card{margin:24px 0;padding:22px;border-radius:20px;border:1px solid var(--line);background:#fff;box-shadow:0 12px 32px rgba(18,92,50,.05)}.written-card{background:linear-gradient(135deg,#fff,#f6fbf7)}.exercise-prompt,.answer-box{padding:14px 16px;border-radius:12px;background:#f4faf6;border:1px solid #dcecdf;margin:12px 0}.submission-status{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.resource-catalog{display:grid;gap:16px}.library-card{display:grid;grid-template-columns:64px 1fr;gap:18px;padding:22px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 28px rgba(18,92,50,.05)}.library-card h2{margin:0 0 7px}.library-icon{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:#edf8f0;font-size:28px}.book-work{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.quick-library{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.quick-library a{display:flex;flex-direction:column;gap:3px;padding:15px;border:1px solid var(--line);border-radius:13px;background:#f9fcfa}.quick-library span{font-size:11px;color:var(--muted)}.media-upload-panel{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#f7fbf8}.asset-admin-list{display:grid;gap:7px;padding:12px;border:1px solid var(--line);border-radius:12px}.asset-admin-list>div{display:flex;justify-content:space-between;gap:10px}.checkline{flex-direction:row;align-items:center}.checkline input{width:auto}.check-list-admin{display:grid;gap:8px;max-height:260px;overflow:auto;padding:10px;border:1px solid var(--line);border-radius:12px}.check-list-admin label{flex-direction:row;align-items:center;font-weight:600}.check-list-admin input{width:auto}.sidebar-prof-link{border-top:1px solid #2b5a3d;margin-top:12px!important;padding-top:16px!important}
@media(max-width:760px){.payment-destinations{grid-template-columns:1fr}.asset-grid{grid-template-columns:1fr}.lesson-catalog-card{align-items:flex-start;flex-direction:column}.library-card{grid-template-columns:1fr}.quick-library{grid-template-columns:1fr}.inline-fields input[type=file]{min-width:100%;width:100%}}


/* Mentions légales & confidentialité */
.legal-grid{display:grid;grid-template-columns:1fr;gap:18px;max-width:980px;margin-inline:auto}
.legal-card{background:#fff;border:1px solid rgba(22,140,69,.14);border-radius:20px;padding:clamp(20px,4vw,30px);box-shadow:0 14px 38px rgba(15,87,45,.08)}
.legal-card h2{margin-top:0;color:#0f6f38;font-size:clamp(1.12rem,3vw,1.35rem)}
.legal-card p{line-height:1.75;margin:.65rem 0;color:#304238}
.legal-card a{color:#168c45;font-weight:700}
.legal-highlight{display:inline-block;background:#eef9f1;border-left:4px solid #168c45;border-radius:10px;padding:12px 16px;color:#174f2c!important}
.notice-card{margin:14px 0;padding:14px 16px;border:1px solid rgba(22,140,69,.18);background:#f1fbf4;border-radius:14px}
.notice-card p{margin:.35rem 0 0}
@media(min-width:800px){.legal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.legal-card:nth-child(1),.legal-card:nth-child(2){min-height:260px}}

/* NHD V6 : actualités, appels IMO et évaluations */
.news-grid{display:grid;gap:18px}.news-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:0 12px 34px rgba(18,92,50,.07)}.news-card.news-upcoming{border-color:#a8d8b7;box-shadow:0 16px 40px rgba(22,140,69,.12)}.news-card h2{margin:12px 0 8px;font-size:22px}.news-card p{color:#405247}.news-card-top,.news-meta{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.news-meta{margin:15px 0;color:var(--muted);font-size:13px}.news-card .btn{margin-top:4px}.stat-card[href]{transition:.2s}.stat-card[href]:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
@media(max-width:760px){.news-card{padding:18px}.news-meta{align-items:flex-start;flex-direction:column}}
