:root{--indigo-900:#002e37;--indigo-800:#033f48;--indigo-700:#0e6e74;--indigo-500:#1e969c;--indigo-100:#dbeff0;--jade-600:#1a6b49;--jade-100:#e1f0e8;--saffron:#d29500;--saffron-100:#fbf0d2;--amber-700:#a74100;--amber-100:#f6e6da;--red-600:#b3261e;--red-100:#fbe9e7;--slate-600:#475069;--slate-100:#eef0f4;--ink:#15252b;--muted:#566a70;--page:#eef3f3;--surface:#f5f8f8;--card:#ffffff;--line:#dde7e8;--red-fg:#b3261e;--jade-fg:#1a6b49;--amber-fg:#a74100;--slate-fg:#475069;--saffron-fg:#a87600;--on-primary:#fff;--primary-hover:#033f48;--field-border:#7d9196;--radius:12px;--radius-sm:8px;--radius-lg:18px;--shadow-sm:0 1px 2px rgba(2,46,55,0.06);--shadow:0 1px 2px rgba(2,46,55,0.05),0 3px 8px -2px rgba(2,46,55,0.07);--shadow-md:0 2px 4px -1px rgba(2,46,55,0.06),0 10px 20px -6px rgba(2,46,55,0.12);--shadow-lg:0 8px 20px -6px rgba(2,46,55,0.16),0 24px 48px -12px rgba(2,46,55,0.18);--tr-fast:0.14s ease;--tr:0.22s cubic-bezier(0.22,0.7,0.3,1);--fd:var(--font-inter),system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--fu:var(--font-inter),system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--fm:ui-monospace,"SF Mono",Menlo,Consolas,monospace}*{box-sizing:border-box}body{margin:0;font-family:var(--fu);background:var(--page);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"cv02","cv03","cv04","cv11";letter-spacing:-.006em;line-height:1.55}a{color:var(--indigo-700);text-underline-offset:2px}::selection{background:var(--indigo-100);color:var(--ink)}h1,h2,h3{font-family:var(--fd);font-weight:600;letter-spacing:-.014em;line-height:1.2}.muted,.muted-sm{color:var(--muted)}.muted-sm{font-size:.78rem}.attach-date{margin-top:4px}code{font-family:var(--fm)}.btn,button{border:1px solid transparent;border-radius:var(--radius-sm);font-family:inherit;font-weight:600;font-size:13.5px;padding:10px 16px;cursor:pointer;display:inline-flex;gap:8px;align-items:center;justify-content:center;text-decoration:none;background:var(--indigo-700);color:var(--on-primary);transition:background var(--tr-fast),border-color var(--tr-fast)}.btn:focus-visible,[role=button]:focus-visible,[tabindex]:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--indigo-500);outline-offset:2px}button:disabled{opacity:.6;cursor:not-allowed}.btn-p{background:var(--indigo-700);color:var(--on-primary)}.btn-o,.ghost{background:var(--surface);border:1px solid var(--line);color:var(--indigo-700)}.btn-o:hover,.ghost:hover{background:var(--indigo-100);border-color:var(--indigo-100)}.btn.full{width:100%}.btn-p:not(:disabled):hover,.btn:not(.btn-o):not(.ghost):not(.btn-danger):not(.live):not(:disabled):hover{background:var(--primary-hover)}.btn-danger:not(:disabled):hover{filter:brightness(.94)}.btn-o:not(:disabled):hover,.ghost:not(:disabled):hover{border-color:var(--indigo-500)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-sm);margin:0 0 16px}.card h2,.card h3{font-size:17px;font-weight:650;margin:0 0 14px;letter-spacing:-.016em}form.card{flex-direction:column;padding:24px}.row,form.card{display:flex;gap:1rem}.row>label{flex:1 1;min-width:0}label>.pwd-wrap,label>input,label>select,label>textarea{width:100%}label{display:flex;flex-direction:column;gap:.4rem;font-size:.82rem;font-weight:600;color:var(--ink)}input,select,textarea{padding:.58rem .72rem;border:1px solid var(--field-border);border-radius:var(--radius-sm);font-size:.95rem;font-weight:400;font-family:inherit;background:var(--card);color:var(--ink);transition:border-color .14s,box-shadow .14s}input:hover:not(:focus):not(:disabled),select:hover:not(:focus):not(:disabled),textarea:hover:not(:focus):not(:disabled){border-color:var(--indigo-500)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}textarea{min-height:70px;resize:vertical}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--indigo-500);box-shadow:0 0 0 3px rgba(30,150,156,.16)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--indigo-700);outline-offset:1px}.subtabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}.subtabs button{background:var(--surface);color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:13px}.subtabs button.on{background:var(--indigo-700);color:var(--on-primary);border-color:var(--indigo-700)}.ref-card{flex-direction:column}.actions,.ref-card{display:flex;gap:.75rem}.actions{flex-wrap:wrap;margin-top:1rem}.error{background:var(--red-100);color:var(--red-fg);margin:0}.error,.success{border-radius:10px;padding:.6rem .8rem;font-size:.9rem;font-weight:600}.success{background:var(--jade-100);color:var(--jade-fg);margin:0 0 .75rem}.badge{display:inline-flex;align-items:center;vertical-align:middle;background:var(--indigo-700);color:var(--on-primary);border-radius:6px;padding:.18rem .5rem;font-size:.72rem;line-height:1;letter-spacing:.03em}.badge,.status{font-weight:700}.status{display:inline-block;border-radius:999px;padding:4px 11px;font-size:.78rem;white-space:nowrap}.status-DEMANDE{background:var(--indigo-100);color:var(--indigo-700)}.status-EN_VERIFICATION{background:var(--amber-100);color:var(--amber-fg)}.status-VALIDEE{background:var(--jade-100);color:var(--jade-fg)}.status-REJETEE{background:var(--red-100);color:var(--red-fg)}.status-CLOTUREE{background:var(--slate-100);color:var(--slate-fg)}.shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.shell.collapsed{grid-template-columns:1fr}.shell.collapsed .sidebar{display:none}.collapse-toggle{display:inline-flex}.sidebar{background:var(--indigo-900);color:#fff;position:-webkit-sticky;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;overflow:hidden}.brand{display:flex;align-items:center;gap:11px;padding:18px;border-bottom:1px solid rgba(255,255,255,.08)}.brand .mark{width:38px;height:38px;border:1.5px solid rgba(255,255,255,.5);border-radius:10px;display:grid;place-items:center;flex:none;font-family:var(--fd);font-weight:700}.brand .mark.brand-icon{background:#fff;border-color:transparent;padding:4px}.brand .mark.brand-icon img{width:100%;height:100%;object-fit:contain;display:block}.brand b{font-family:var(--fd);font-size:19px;font-weight:600;letter-spacing:.02em}.brand small{display:block;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.6)}.nav{flex:1 1;overflow-y:auto;padding:14px 12px;list-style:none;margin:0}.nav .sect{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.45);padding:6px 12px;margin-top:6px}.nav a{position:relative;display:flex;align-items:center;gap:11px;width:100%;color:rgba(255,255,255,.75);font-size:14px;font-weight:500;padding:10px 12px;border-radius:var(--radius-sm);text-decoration:none;margin-bottom:2px;transition:background .14s,color .14s}.nav a:hover{background:var(--indigo-800);color:#fff}.nav a.active{background:var(--indigo-700);color:var(--on-primary);font-weight:600}.nav a.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:18px;border-radius:0 3px 3px 0;background:var(--saffron)}.nav a.active .ico{color:#fff}.nav .ico{flex:none;color:rgba(255,255,255,.55);display:grid;place-items:center}.side-foot{border-top:1px solid rgba(255,255,255,.08);padding:12px}.side-foot .rl{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5);display:block;margin-bottom:4px}.side-foot .rolename{font-weight:700;font-size:13px;color:#fff;margin-bottom:10px}.side-foot .side-help{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:rgba(255,255,255,.72);text-decoration:none;padding:6px 0}.side-foot .side-help:hover{color:#fff}.side-foot .side-help .ico,.side-foot .toggle{display:inline-flex}.side-foot .toggle{width:100%;align-items:center;justify-content:space-between;gap:7px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);color:#fff;border-radius:9px;padding:9px 10px;font-size:12px;font-weight:700;margin-bottom:8px}.side-foot .toggle .sw{width:26px;height:15px;border-radius:999px;background:rgba(255,255,255,.22);position:relative;transition:background .15s;flex:none}.side-foot .toggle .sw:after{content:"";position:absolute;top:2px;left:2px;width:11px;height:11px;border-radius:50%;background:#fff;transition:left .15s}.side-foot .toggle[aria-pressed=true] .sw{background:var(--indigo-500)}.side-foot .toggle[aria-pressed=true] .sw:after{left:13px}.side-foot .logout{width:100%;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);color:#fff}.mainwrap{min-width:0;display:flex;flex-direction:column}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:10;background:var(--card);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px;padding:14px 32px}.topbar .pt{font-family:var(--fd);font-size:20px;font-weight:600;letter-spacing:-.02em;margin:0}.topbar .grow{flex:1 1}.syncpill{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;padding:8px 12px;border-radius:999px;background:var(--jade-100);color:var(--jade-fg)}.syncpill .d{width:8px;height:8px;border-radius:50%;background:currentColor}.me{display:flex;align-items:center;gap:9px}.me .av{width:38px;height:38px;border-radius:50%;background:var(--indigo-100);color:var(--indigo-700);display:grid;place-items:center;font-weight:700;font-family:var(--fd)}.me small{font-size:11px;color:var(--muted);display:block;line-height:1.2}.me b{font-size:13px}.usermenu-wrap{position:relative}.me{background:none;border:none;padding:4px 6px;border-radius:10px;color:var(--ink);cursor:pointer}.me:hover{background:var(--surface)}.me .me-txt{text-align:left}.me .chev{color:var(--muted)}.menu-overlay{position:fixed;inset:0;z-index:40}.gsearch{position:relative}.gsearch-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:41;width:min(360px,90vw);background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 22px rgba(21,37,43,.1);padding:10px;animation:menufade .14s ease}.gsearch-input{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font-size:14px}.gsearch-input:focus{outline:2px solid var(--indigo-500);outline-offset:1px}.gsearch-results{margin-top:8px;max-height:60vh;overflow-y:auto}.gsearch-hint{padding:8px 10px;margin:0;font-size:13px}.gsearch-group{margin-top:4px}.gsearch-label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:6px 10px 2px}.gsearch-item{display:flex;flex-direction:column;gap:1px;width:100%;text-align:left;background:none;border:none;padding:7px 10px;border-radius:9px;cursor:pointer;color:var(--ink)}.gsearch-item:hover{background:var(--surface)}.gsearch-item-title{font-size:14px;font-weight:600}.gsearch-item-sub{font-size:12px;color:var(--muted)}.rgpd-block{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.9rem 0;border-top:1px solid var(--line)}.rgpd-block:first-of-type{border-top:none}.rgpd-danger{border-top:1px solid var(--line)}.rgpd-delete-form{display:flex;gap:.5rem;flex-wrap:wrap}.rgpd-delete-form input{padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink)}.usermenu{position:absolute;top:calc(100% + 8px);right:0;z-index:41;width:260px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 22px rgba(21,37,43,.1);padding:8px;animation:menufade .14s ease}@keyframes menufade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.usermenu-head{padding:10px 12px 12px;border-bottom:1px solid var(--line);margin-bottom:6px}.usermenu-head b{font-family:var(--fd);font-size:15px;display:block}.usermenu-head small{color:var(--muted);font-size:12px;word-break:break-all}.role-chip{display:inline-block;margin-top:8px;background:var(--indigo-100);color:var(--indigo-700);border-radius:999px;padding:2px 9px;font-size:11px;font-weight:700}.usermenu-sect{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:8px 12px 4px}.usermenu-item{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;color:var(--ink);font-size:14px;font-weight:600;text-align:left;text-decoration:none;padding:10px 12px;border-radius:9px;cursor:pointer}.usermenu-item:hover{background:var(--surface)}.usermenu-item.danger{color:var(--red-fg)}.usermenu-divider{height:1px;background:var(--line);margin:6px 0}.toggle-item .sw{width:34px;height:19px;border-radius:999px;background:var(--slate-100);border:1px solid var(--line);position:relative;flex:none;transition:background .15s}.toggle-item .sw:after{content:"";position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:left .15s}.toggle-item .sw.on{background:var(--saffron)}.toggle-item .sw.on:after{left:16px}.lang-seg{display:flex;gap:6px;padding:4px 12px 8px}.lang-seg button{flex:1 1;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:7px;font-size:13px}.lang-seg button.on{background:var(--indigo-700);color:var(--on-primary);border-color:var(--indigo-700)}.lang-note{margin:0;padding:0 12px 8px;font-size:11.5px;color:var(--amber-fg)}.faq-item{border-bottom:1px solid var(--line)}.faq-item:last-child{border-bottom:none}.faq-q{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;background:none;border:none;color:var(--ink);font-family:inherit;font-size:14.5px;font-weight:600;text-align:left;padding:14px 2px;cursor:pointer}.faq-sign{color:var(--indigo-500);font-size:20px;flex:none}.faq-a{margin:0;padding:0 2px 14px;color:var(--muted);font-size:14px}.prose h3{font-size:15px;margin:1.2rem 0 .4rem}.prose h3:first-child{margin-top:0}.prose p{margin:0 0 .6rem}.content{padding:28px 32px 56px;max-width:1280px;width:100%}.welcome{margin:0 0 18px}.welcome h2{font-size:26px;margin:0 0 4px}.welcome p{margin:0}.cardgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:16px;gap:16px}.catalog-card{display:block;text-decoration:none;color:inherit;transition:border-color var(--tr-fast),transform var(--tr),box-shadow var(--tr)}.catalog-card:hover{border-color:var(--indigo-500);transform:translateY(-2px);box-shadow:var(--shadow)}.catalog-card h2{margin:.5rem 0;color:var(--indigo-700);font-size:1.05rem}.meta{color:var(--muted);font-size:.85rem}.courses,.meta{margin:.5rem 0 0}.courses{padding-left:1.2rem}.courses li{margin:.35rem 0}.cohorte-row{justify-content:space-between;align-items:center;gap:1rem}.cohorte-row,.perms{display:flex;flex-wrap:wrap}.perms{gap:.5rem;list-style:none;padding:0;margin:0}.perms code{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:.2rem .5rem;font-size:.8rem}.public{min-height:100vh;flex-direction:column;padding:2rem 1.5rem;background:var(--indigo-900)}.public,.public .brand-lg{display:flex;align-items:center;justify-content:center}.public .brand-lg{background:#fff;padding:16px 24px;border-radius:var(--radius);margin-bottom:1.5rem;box-shadow:var(--shadow-sm)}.public .brand-logo{display:block;width:230px;max-width:62vw;height:auto}.public .brand-lg .mark{width:46px;height:46px;border:1.5px solid rgba(255,255,255,.5);border-radius:12px;display:grid;place-items:center;font-family:var(--fd);font-weight:700;font-size:20px}.public .brand-lg b{font-family:var(--fd);font-size:24px}.public .brand-lg small{display:block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.public .panel{background:var(--card);border-radius:var(--radius);padding:28px;width:100%;max-width:440px;box-shadow:0 10px 30px rgba(21,37,43,.14)}.public .panel h1{margin:0 0 4px;font-size:22px}.public .panel>.muted{margin:0 0 1.25rem}.public .panel form{display:flex;flex-direction:column;gap:1rem}.public .switch{text-align:center;margin:1.25rem 0 0;color:var(--muted);font-size:.9rem}.public-links{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}.public-links a{color:#fff}body.dark{--indigo-700:#4fc3c8;--on-primary:#0d1a1d;--primary-hover:#3aaeb4;--red-fg:#f28b82;--jade-fg:#5cc99b;--amber-fg:#f0995a;--slate-fg:#a9b8c6;--saffron-fg:#d29500;--field-border:#5f7f85;--indigo-100:#10353b;--ink:#e6eff0;--muted:#93a7ac;--page:#0d1a1d;--surface:#14242a;--card:#172a31;--line:#274248;--slate-100:#22323a;--jade-100:#12352a;--amber-100:#3a2413;--red-100:#3a1f1e;--saffron-100:#3a3016;--shadow-sm:0 1px 2px rgba(0,0,0,0.36);--shadow:0 1px 2px rgba(0,0,0,0.32),0 3px 8px -2px rgba(0,0,0,0.44);--shadow-md:0 2px 4px -1px rgba(0,0,0,0.36),0 10px 20px -6px rgba(0,0,0,0.5);--shadow-lg:0 8px 20px -6px rgba(0,0,0,0.52),0 24px 48px -12px rgba(0,0,0,0.56)}body.hc{--muted:var(--ink);--line:var(--ink)}body.hc:not(.dark){--surface:#fff}body.hc .card{border-width:2px;border-color:var(--ink)}body.hc .badge,body.hc .status,body.hc .syncpill{border:1.5px solid}body.large-text{font-size:118%}@media (max-width:1040px){.shell{grid-template-columns:74px 1fr}.brand b,.brand small,.nav .sect,.side-foot .rl,.side-foot .rolename,.side-foot .toggle span:not(.sw){display:none}.nav a{justify-content:center;padding:12px 0}.nav .label{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}}@media (max-width:680px){.shell{grid-template-columns:1fr}.sidebar{position:fixed;top:0;bottom:0;left:0;width:264px;z-index:60;transform:translateX(-100%);transition:transform .22s ease;box-shadow:4px 0 24px rgba(0,0,0,.25)}.sidebar.open{transform:none}.nav-backdrop{position:fixed;inset:0;background:rgba(10,14,25,.5);z-index:55}.sidebar .brand b,.sidebar .brand small,.sidebar .side-foot .rl,.sidebar .side-foot .rolename{display:block}.sidebar .nav .label{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}.sidebar .nav a{justify-content:flex-start;padding:10px 12px}.burger{display:inline-flex}.collapse-toggle{display:none}.topbar{padding:10px 14px;gap:8px}.topbar .pt{flex:1 1 auto;min-width:0;font-size:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.me .chev,.me .me-txt,.topbar .grow{display:none}.tb-ico{width:40px;height:40px}.tb-back{height:40px;padding:0 10px}.tb-back-txt{display:none}.content{padding:16px}.row{flex-direction:column}}.landing{min-height:100vh;display:flex;flex-direction:column;background:var(--page)}.lp-nav{position:-webkit-sticky;position:sticky;top:0;z-index:20;gap:16px;padding:14px 26px;background:var(--card);border-bottom:1px solid var(--line)}.lp-brand,.lp-nav{display:flex;align-items:center}.lp-brand{gap:10px}.lp-brand .mark{width:36px;height:36px;border-radius:9px;background:var(--indigo-700);color:var(--on-primary);display:grid;place-items:center;font-family:var(--fd);font-weight:700}.lp-brand b{font-family:var(--fd);font-size:18px}.lp-brand small{display:block;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.lp-nav .grow{flex:1 1}.lp-nav-actions{display:flex;align-items:center;gap:10px}.lp-lang{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.lp-lang button{background:var(--surface);color:var(--muted);border:none;border-radius:0;padding:6px 10px;font-size:12px;font-weight:700}.lp-lang button.on{background:var(--indigo-700);color:var(--on-primary)}.lp-hero{position:relative;background:var(--indigo-900);color:#fff;text-align:center;padding:72px 24px 84px}.lp-badge{display:inline-block;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:#f4d78a;border-radius:999px;padding:6px 14px;font-size:12.5px;font-weight:700;margin-bottom:22px}.lp-hero h1{font-size:clamp(30px,5vw,48px);line-height:1.1;margin:0 auto 16px;max-width:760px;color:#fff}.lp-hero p{max-width:620px;margin:0 auto 28px;font-size:17px;color:#cdd5ea}.lp-hero-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.lp-section{max-width:1080px;margin:0 auto;padding:64px 24px;width:100%}.lp-section h2{font-size:28px;text-align:center;margin:0 0 8px}.lp-section .lp-lead{text-align:center;color:var(--muted);margin:0 auto 36px;max-width:560px}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:20px;gap:20px}.feature-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;text-align:center}.feature-ico{width:52px;height:52px;margin:0 auto 14px;border-radius:14px;background:var(--indigo-100);color:var(--indigo-700);display:grid;place-items:center}.feature-card h3{font-size:17px;margin:0 0 6px}.feature-card p{color:var(--muted);font-size:14px;margin:0}.lp-programs{background:var(--surface)}.program-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:16px;gap:16px;margin-bottom:28px}.lp-center,.lp-cta-band{text-align:center}.lp-cta-band{background:var(--indigo-700);color:var(--on-primary);padding:56px 24px}.lp-cta-band h2{color:#fff;font-size:28px;margin:0 0 10px}.lp-cta-band p{color:#d9f0e4;margin:0 auto 24px;max-width:480px}.lp-footer{background:var(--indigo-900);color:#c6cee2;padding:32px 26px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.lp-footer .grow{flex:1 1}.lp-footer a{color:#c6cee2;text-decoration:none;font-size:14px;margin-right:16px}.lp-footer a:hover{color:#fff}.lp-footer small{color:rgba(255,255,255,.55);font-size:12.5px}@media (max-width:560px){.lp-nav .lp-signin{display:none}.lp-section{padding:44px 20px}}.tb-ico{width:38px;height:38px;border-radius:10px;background:var(--surface);border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;gap:6px;color:var(--ink);cursor:pointer;padding:0}.tb-ico:hover{border-color:var(--indigo-500)}.tb-ico.tb-lang{width:auto;padding:0 11px}.tb-back{height:38px;padding:0 12px 0 9px;border-radius:10px;background:var(--surface);border:1px solid var(--line);display:inline-flex;align-items:center;gap:6px;color:var(--ink);font-size:13px;font-weight:700;cursor:pointer;flex:none}.tb-back:hover{border-color:var(--indigo-500)}.burger{display:none}.tb-ico span{font-size:12px;font-weight:700}.usermenu-title{font-family:var(--fd);font-size:15px;font-weight:600;padding:6px 12px 10px;border-bottom:1px solid var(--line);margin-bottom:6px}.kgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:14px;gap:14px;margin-bottom:20px}.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow-sm)}.kpi .kpi-ico{width:36px;height:36px;border-radius:10px;background:var(--indigo-100);color:var(--indigo-700);display:grid;place-items:center;margin-bottom:12px}.kpi .n{font-family:var(--fd);font-size:30px;font-weight:600;color:var(--ink);line-height:1}.kpi .n.ok{color:var(--jade-fg)}.kpi .n.warn{color:var(--amber-fg)}.dash-hero{display:flex;align-items:center;gap:18px;padding:22px 24px;margin-bottom:20px;border-radius:var(--radius);background:var(--card);border:1px solid var(--line);color:var(--ink);box-shadow:var(--shadow-sm)}.dash-avatar{flex:0 0 auto;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-family:var(--fd);font-weight:700;font-size:21px;background:var(--indigo-100);color:var(--indigo-700)}.dash-hero-txt{min-width:0}.dash-greet{margin:0;font-size:13px;color:var(--muted);letter-spacing:.02em}.dash-name{margin:2px 0 8px;font-family:var(--fd);font-size:24px;font-weight:700;line-height:1.15;color:var(--ink);letter-spacing:-.01em}.dash-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dash-role{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:var(--indigo-100);color:var(--indigo-700);padding:3px 11px;border-radius:999px}.dash-date{font-size:13px;color:var(--muted);text-transform:capitalize}.dash-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:14px;gap:14px;margin-bottom:20px}.dash-kpi{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow-sm);transition:border-color var(--tr-fast)}.dash-kpi:hover{border-color:var(--indigo-500)}.dash-kpi-ico{flex:0 0 auto;width:44px;height:44px;border-radius:var(--radius-sm);display:grid;place-items:center;background:var(--indigo-100);color:var(--indigo-700)}.dash-kpi.tone-ok .dash-kpi-ico{background:var(--jade-100);color:var(--jade-fg)}.dash-kpi.tone-warn .dash-kpi-ico{background:var(--amber-100);color:var(--amber-fg)}.dash-kpi-n{font-family:var(--fd);font-size:28px;font-weight:700;line-height:1;color:var(--ink)}.dash-kpi-l{font-size:13px;color:var(--muted);margin-top:3px}.dash-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:12px;gap:12px;margin-top:8px}.dash-tile{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--ink);text-decoration:none;transition:border-color var(--tr-fast),transform var(--tr),box-shadow var(--tr)}.dash-tile:hover{border-color:var(--indigo-500);transform:translateY(-2px);box-shadow:var(--shadow)}.dash-tile-ico{flex:0 0 auto;width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:var(--indigo-700);color:var(--on-primary)}.dash-tile-label{flex:1 1;font-weight:600;min-width:0}.dash-tile-arrow{color:var(--muted);font-size:18px;transition:transform .15s ease,color .15s ease}.dash-tile:hover .dash-tile-arrow{transform:translateX(3px);color:var(--indigo-500)}.dash-resume{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;border-left:4px solid var(--jade-600)}.dash-resume-txt{min-width:0;flex:1 1}.dash-resume-txt h2,.dash-resume-txt h3{margin:4px 0 10px}.dash-resume-prog{display:flex;align-items:center;gap:10px;max-width:420px}.dash-resume-prog .muted{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:.85rem}.dash-hero-page .dash-avatar{border-radius:14px;background:var(--indigo-100)}.dash-hero-page .dash-avatar svg{width:30px;height:30px}.sparkline{display:block;width:100%;height:44px;overflow:visible}.spark-line{stroke:var(--jade-600);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.spark-area{fill:var(--jade-600);opacity:.12}.spark-dot{fill:var(--jade-600);stroke:var(--card);stroke-width:2}.spark-card{display:flex;flex-direction:column;gap:.5rem}.spark-card .spark-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.spark-card .spark-total{font-family:var(--fd);font-size:26px;font-weight:700;color:var(--ink);line-height:1}.linechart{display:block;width:100%;height:auto}.lc-grid{stroke:var(--line);stroke-width:1}.lc-axis{fill:var(--muted);font-size:11px}.lc-line{stroke:var(--indigo-500);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.lc-area{opacity:.1}.lc-area,.lc-dot{fill:var(--indigo-500)}.lc-dot{stroke:var(--card);stroke-width:2}.lc-value{fill:var(--indigo-700);font-family:var(--fd);font-size:13px;font-weight:700}.kpi .l{font-size:12.5px;color:var(--muted);margin-top:6px}.announce{border-left:4px solid var(--saffron)}.announce .eyebrow{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--amber-fg)}.announce h3{margin:4px 0 6px;font-size:17px}.announce p{margin:0;color:var(--muted)}.announce-list{list-style:none;margin:.4rem 0 0;padding:0;display:flex;flex-direction:column;gap:.9rem}.announce-item+.announce-item{border-top:1px solid var(--line);padding-top:.9rem}.announce-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.announce-head .muted{font-size:.8rem}body.dark .av2,body.dark .feature-ico,body.dark .kpi-ico,body.dark .me .av,body.dark .role-chip,body.dark .status-DEMANDE{background:#2f3a57;color:#b9c7ea}body.dark .catalog-card h2{color:#b9c7ea}.admintabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:22px;flex-wrap:wrap}.admintabs a{padding:10px 16px;text-decoration:none;color:var(--muted);font-weight:600;font-size:14px;border-bottom:2px solid transparent;margin-bottom:-1px}.admintabs a:hover{color:var(--ink)}.admintabs a.active{color:var(--ink);border-bottom-color:var(--saffron)}.admin-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.admin-toolbar input{flex:1 1 220px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.table{width:100%;border-collapse:collapse;font-size:13.5px}.table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700;padding:10px 12px}.table td,.table th{border-bottom:1px solid var(--line)}.table td{padding:11px 12px;vertical-align:middle}.table tr:last-child td{border-bottom:none}.table button,.table select{padding:6px 10px;font-size:13px}.ref-inline{gap:8px}.ref-inline,.ref-row-actions{display:flex;align-items:center;flex-wrap:wrap}.ref-row-actions{gap:6px;white-space:nowrap}.ann-field{display:flex;flex-direction:column;gap:.2rem;font-size:.85rem;color:var(--muted)}.ann-card-head{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.5rem}.ref-inline input{flex:1 1 120px}.crumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px;font-size:14px;color:var(--muted)}.crumb .link{background:none;border:none;color:var(--indigo-500);font-weight:600;padding:0;font-size:14px}.crumb span{color:var(--muted)}.chk{flex-direction:row;align-items:center;gap:8px;font-weight:600}.chk input{width:auto}.field-lbl{display:inline-flex;flex-direction:column;gap:4px;font-size:.8rem;font-weight:600;color:var(--muted)}.matrix code{font-size:11.5px}.matrix th{text-align:center}.matrix th:first-child{text-align:left}.ok-check{color:var(--jade-fg);font-weight:700}.barchart{display:flex;flex-direction:column;gap:10px}.barrow{display:flex;align-items:center;gap:12px}.barlabel{flex:0 0 150px;font-size:13px}.bartrack{flex:1 1;height:12px;border-radius:999px;background:var(--surface);border:1px solid var(--line);overflow:hidden}.barfill{display:block;height:100%;background:var(--indigo-500);border-radius:0 6px 6px 0}.barval{flex:0 0 32px;text-align:right;font-weight:700;font-size:13px}@media (max-width:560px){.barlabel{flex-basis:90px}}.toasts{position:fixed;top:18px;right:18px;z-index:90;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{min-width:220px;max-width:360px;padding:12px 16px;border-radius:12px;font-size:14px;font-weight:600;color:#fff;box-shadow:var(--shadow-lg);animation:toastin .22s ease}@keyframes toastin{0%{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}.toast-success{background:var(--jade-600)}.toast-error{background:var(--red-600)}.toast-info{background:var(--indigo-700);color:var(--on-primary)}.modal-backdrop{position:fixed;inset:0;z-index:95;background:rgba(10,14,25,.5);display:grid;place-items:center;padding:20px;animation:fadein .15s ease}@keyframes fadein{0%{opacity:0}to{opacity:1}}.modal{background:var(--card);border-radius:var(--radius);padding:22px;width:100%;max-width:420px;box-shadow:0 10px 34px rgba(21,37,43,.16);animation:modalin .18s ease}@keyframes modalin{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}.modal h3{margin:0 0 8px;font-size:18px}.modal p{margin:0}.btn-danger{background:var(--red-600);color:#fff}.pay-opts{display:flex;flex-direction:column;gap:8px}.pay-opt{display:flex;align-items:center;justify-content:flex-start;gap:10px;width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);font-weight:600;font-size:15px;cursor:pointer;transition:border-color .12s,background .12s}.pay-opt.selected,.pay-opt:hover{border-color:var(--pay-accent)}.pay-opt.selected{box-shadow:inset 0 0 0 1px var(--pay-accent)}.pay-dot{width:14px;height:14px;border-radius:50%;background:var(--pay-accent);flex:none}.pay-actions{display:flex;gap:10px;margin-top:16px}.pay-actions .btn{flex:1 1}.rubric-row{display:flex;flex-direction:column;gap:6px;padding:10px 0;border-top:1px solid var(--line)}.rubric-edit-row{display:flex;gap:8px;align-items:center}.rubric-edit-row input:first-child{flex:1 1}.rubric-row-actions{display:flex;gap:8px}.rubric-grade{margin:12px 0;border:1px solid var(--line);border-radius:12px;overflow:hidden}.rubric-grade-crit{padding:10px 12px;border-bottom:1px solid var(--line)}.rubric-grade-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.rubric-grade-label{font-weight:600}.rubric-grade-desc{font-size:.8rem;margin:4px 0 6px}.rubric-grade-comment{width:100%}.rubric-grade-total{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--surface);font-size:1.05rem}.rubric-grade-total strong{color:var(--indigo-700)}.course-hub-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px 28px;flex-wrap:wrap;padding-bottom:16px;margin:0 0 18px;border-bottom:1px solid var(--line)}.course-hub-head-txt{min-width:0;max-width:72ch}.course-hub-head h2{margin:0}.hub-summary{margin:8px 0 0;color:var(--muted)}.hub-eyebrow{margin:0 0 2px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--indigo-700)}.course-hub-cta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:0}.course-hub-progress{min-width:240px;margin:0}.course-hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));grid-gap:16px;gap:16px;margin-top:16px}.course-hub-card{margin:0}.course-hub-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--line)}.course-hub-card-head h3{margin:0;font-size:15px}.course-hub-card-head .muted{font-size:.82rem}.hub-lessons,.hub-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.hub-lessons li,.hub-list li{border-top:1px solid var(--line)}.hub-lessons li:first-child,.hub-list li:first-child{border-top:none}.hub-lesson{display:flex;align-items:center;gap:10px;width:100%;padding:10px 4px;background:none;color:var(--ink);text-align:left;border-radius:8px}.hub-lesson:hover:not(:disabled){background:var(--surface)}.hub-lesson:disabled{opacity:.55;cursor:not-allowed}.hub-lesson.done .hub-lesson-ico{color:var(--jade-fg)}.hub-lesson.locked .hub-lesson-ico{color:var(--muted)}.hub-lesson-ico{width:18px;flex:none;display:grid;place-items:center;color:var(--muted)}.hub-lesson-title{flex:1 1;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge.lesson-type{flex:none;min-width:92px;justify-content:center;background:var(--slate-100);color:var(--muted);font-weight:600}.hub-assess,.hub-topic{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 4px}.hub-assess-main{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--ink);min-width:0}.hub-assess-meta,.hub-topic-meta{font-size:.8rem;white-space:nowrap}.hub-assess:hover,.hub-topic:hover{background:var(--surface);border-radius:8px}.hub-topic{flex-direction:column;align-items:flex-start;gap:2px}.course-hub-span{grid-column:1/-1}.hub-course{justify-content:space-between;gap:16px;padding:10px 4px}.hub-course,.hub-course-main{display:flex;align-items:center}.hub-course-main{gap:10px;background:none;color:var(--ink);padding:6px 4px;border-radius:8px;flex:1 1;min-width:0}.hub-course-txt{display:flex;flex-direction:column;gap:2px;min-width:0}.hub-course-txt .muted{font-size:.82rem}.hub-course-main:hover{background:var(--surface)}.hub-course-progress{display:flex;align-items:center;gap:8px;min-width:160px}.hub-course-progress.muted{justify-content:center}.course-line-progress>.muted,.hub-course-progress>.muted{min-width:2.8em;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.module-link{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;margin-top:8px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink);transition:border-color .12s,background .12s}.module-link:hover{border-color:var(--indigo-500);background:var(--surface)}.module-link-main{display:flex;flex-direction:column;gap:2px;min-width:0}@media (max-width:860px){.course-hub-grid{grid-template-columns:1fr}.course-hub-head{align-items:stretch}.course-hub-cta{margin-top:4px}.course-hub-progress{flex:1 1}.hub-course{flex-direction:column;align-items:stretch;gap:6px}.hub-course-progress{min-width:0}}.skeleton-block{display:flex;flex-direction:column;gap:10px;padding:4px 0}.skeleton-line{display:block;height:14px;border-radius:7px;background:var(--line);animation:skeleton-pulse 1.4s ease-in-out infinite}.skeleton-line+.skeleton-line{margin-top:10px}.skeleton-line:nth-child(2){width:85%}.skeleton-line:nth-child(3){width:60%}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.skeleton-line{animation:none}.dash-kpi,.dash-tile,.dash-tile-arrow{transition:none}.dash-kpi:hover,.dash-tile:hover,.dash-tile:hover .dash-tile-arrow{transform:none}.card,.catalog-card{transition:none}.catalog-card:hover,.kpi:hover{transform:none}}.load-error{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 16px;border:1px solid var(--line);border-left:3px solid var(--red-600);border-radius:var(--radius-sm);background:var(--card);color:var(--ink)}.load-error>svg{color:var(--red-fg);flex:none}.load-error .btn{margin-left:auto}.load-error-compact{padding:8px 10px;font-size:.88rem}.modal:focus{outline:none}.empty{text-align:center;padding:36px 20px}.empty-ico{width:56px;height:56px;margin:0 auto 14px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);color:var(--muted);display:grid;place-items:center}.empty-msg{margin:0 0 6px;font-weight:600;color:var(--ink)}.empty-hint{margin:0 0 16px;color:var(--muted);font-size:.9rem}.table tbody tr:nth-child(2n) td{background:color-mix(in srgb,var(--surface) 55%,transparent)}.table tbody tr:hover td{background:var(--surface)}.table thead th{position:-webkit-sticky;position:sticky;top:0;background:var(--card);z-index:1}.table td:last-child,.table th:last-child{white-space:nowrap}.btn,button{transition:background .15s ease,border-color .15s ease,transform .08s ease}.btn:active,button:active{transform:translateY(1px)}.card{transition:box-shadow var(--tr),border-color var(--tr-fast)}.kpi{transition:transform var(--tr),box-shadow var(--tr)}.kpi:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.admintabs a,.nav a,.usermenu-item{transition:background .15s ease,color .15s ease}.me .av.av-0{background:#e6eaf2;color:#26324f}.me .av.av-1{background:#e1f0e8;color:#1f7a54}.me .av.av-2{background:#fbf0d2;color:#b26a00}.me .av.av-3{background:#ede6f5;color:#5b3d80}.me .av.av-4{background:#fbe9e7;color:#b3261e}.me .av.av-5{background:#e2eef5;color:#1f5f7a}body.dark .me .av.av-0,body.dark .me .av.av-1,body.dark .me .av.av-2,body.dark .me .av.av-3,body.dark .me .av.av-4,body.dark .me .av.av-5{background:#2f3a57;color:#b9c7ea}.lp-hero-art{margin:28px auto 0;max-width:460px;width:100%;opacity:.95}.pwd-wrap{position:relative;display:block}.pwd-wrap input{width:100%;padding-right:44px}.pwd-toggle{position:absolute;right:5px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--muted);padding:7px;border-radius:8px}.pwd-toggle:hover{color:var(--ink);background:var(--surface)}.pwd-toggle:active{transform:translateY(-50%)}.field-hint{font-size:.78rem;font-weight:400;color:var(--muted)}.notice{background:var(--amber-100);color:var(--amber-fg);border-radius:10px;padding:.6rem .8rem;margin:0;font-size:.9rem;font-weight:600}.nf-code{font-family:var(--fd);font-size:56px;font-weight:600;color:var(--indigo-500);margin:0 0 4px;line-height:1}.skip-link{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--indigo-700);color:var(--on-primary);padding:10px 16px;border-radius:10px;font-weight:700;text-decoration:none}.skip-link:focus{left:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}main.content:focus{outline:none}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1rem;flex-wrap:wrap}.pagination span{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.toasts-polite{pointer-events:none}.back-link{display:inline-flex;align-items:center;gap:7px;padding:7px 12px 7px 9px;margin-bottom:14px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--muted);font-size:13.5px;font-weight:600;text-decoration:none;transition:color .15s ease,border-color .15s ease,background .15s ease}.back-link:hover{color:var(--ink);border-color:var(--indigo-500);background:var(--surface)}.back-link:focus-visible{outline:3px solid var(--saffron-fg);outline-offset:2px}.back-link svg{transition:transform .15s ease}.back-link:hover svg{transform:translateX(-2px)}.public .back-link{background:transparent;border-color:rgba(255,255,255,.25);color:#cdd5ea;margin-bottom:0}.public .back-link:hover{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.45)}.perm-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:8px 20px;gap:8px 20px}.perm-list li{display:flex;align-items:flex-start;gap:9px;font-size:14px;line-height:1.45}.perm-list svg{flex:none;margin-top:2px;color:var(--jade-fg)}.breadcrumb ol{flex-wrap:wrap;list-style:none;margin:0 0 16px;padding:0;font-size:13.5px}.breadcrumb li,.breadcrumb ol{display:flex;align-items:center;gap:6px}.breadcrumb li{min-width:0}.breadcrumb a{color:var(--muted);text-decoration:none;padding:3px 6px;border-radius:7px;transition:color .15s ease,background .15s ease}.breadcrumb a:hover{color:var(--ink);background:var(--surface)}.breadcrumb .sep{color:var(--muted);opacity:.55}.breadcrumb [aria-current=page]{color:var(--ink);font-weight:600;max-width:46ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tstatus-OUVERT{background:var(--indigo-100);color:var(--indigo-700)}.tstatus-EN_COURS{background:var(--amber-100);color:var(--amber-fg)}.tstatus-RESOLU{background:var(--jade-100);color:var(--jade-fg)}.tstatus-FERME{background:var(--slate-100);color:var(--slate-fg)}.tprio{display:inline-block;border-radius:6px;padding:2px 8px;font-size:.72rem;font-weight:700;border:1px solid transparent}.tprio-BASSE{background:var(--slate-100);color:var(--slate-fg)}.tprio-NORMALE{background:var(--indigo-100);color:var(--indigo-700)}.tprio-HAUTE{background:var(--amber-100);color:var(--amber-fg)}.tprio-URGENTE{background:var(--red-100);color:var(--red-fg);border-color:var(--red-600)}.filters-bar{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.filters-bar select{min-width:150px}.filter-search{flex:1 1;min-width:200px}.ticket-list{display:flex;flex-direction:column;gap:.5rem}.ticket-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.8rem 1rem;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .05s;color:inherit;text-decoration:none;font:inherit}.ticket-row:hover{border-color:var(--indigo-500);box-shadow:var(--shadow)}.ticket-row:active{transform:translateY(1px)}.ticket-row-main{display:flex;flex-direction:column;gap:.2rem;min-width:0}.ticket-row-main .muted{font-size:.8rem}.ticket-row-top{display:flex;align-items:center;gap:.5rem}.ticket-detail{display:flex;flex-direction:column;gap:1rem}.ticket-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.ticket-badges{display:flex;gap:.5rem;align-items:center}.ticket-manage{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:.85rem 1rem}.ticket-manage label{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;font-weight:600;color:var(--muted)}.ticket-manage select{min-width:150px}.ticket-assign{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-left:auto}.thread{display:flex;flex-direction:column;gap:.7rem}.bubble{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:.7rem .9rem;max-width:85%}.bubble.mine{align-self:flex-end;background:var(--indigo-100);border-color:var(--indigo-100)}.bubble.internal{background:var(--amber-100);border-color:var(--amber-700);border-style:dashed}.bubble-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.78rem}.bubble-meta .muted{font-size:.72rem}.staff-badge{background:var(--jade-600);color:#fff}.internal-badge{background:var(--amber-700);color:#fff}.reply-box{display:flex;flex-direction:column;gap:.5rem;border-top:1px solid var(--line);padding-top:.9rem}.reply-actions{justify-content:space-between;gap:.75rem;flex-wrap:wrap}.reply-actions,.reply-internal{display:flex;align-items:center}.reply-internal{gap:.4rem;font-size:.82rem;color:var(--muted);cursor:pointer}.reply-internal input{width:auto}.kb-entry h4{font-family:var(--fd)}.dir-2col{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}.stat-hero{display:flex;flex-direction:column;justify-content:center}.stat-big{font-family:var(--fd);font-size:3.2rem;font-weight:700;line-height:1;color:var(--jade-fg)}.stat-big span{font-size:1.6rem;margin-left:2px}.dir-support{display:flex;gap:2rem}.dir-support .n{font-size:2rem;font-weight:700}.dir-support .n.warn{color:var(--amber-fg)}.dir-support .n.ok{color:var(--jade-fg)}.dir-support .l{color:var(--muted);font-size:.85rem}.timebars{display:flex;align-items:flex-end;gap:.4rem;height:180px;padding-top:.5rem;overflow-x:auto}.timebar{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:34px;flex:1 1;height:100%;justify-content:flex-end}.timebar-track{display:flex;align-items:flex-end;width:60%;max-width:26px;flex:1 1;background:var(--surface);border-radius:5px 5px 0 0}.timebar-fill{width:100%;min-height:2px;background:var(--indigo-500);border-radius:5px 5px 0 0;transition:height .3s}.timebar-val{font-size:.72rem;font-weight:700;color:var(--ink)}.timebar-lbl{font-size:.66rem;color:var(--muted);white-space:nowrap}@media (max-width:720px){.dir-2col{grid-template-columns:1fr}}.lesson-row{display:flex;align-items:center;gap:.75rem;padding:.6rem 0;border-top:1px solid var(--line)}.lesson-row:first-of-type{border-top:none}.lesson-main{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.lesson-url{font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.lesson-type{display:inline-block;border-radius:6px;padding:3px 9px;font-size:.72rem;font-weight:700;white-space:nowrap;flex-shrink:0}.lt-VIDEO{background:var(--indigo-100);color:var(--indigo-700)}.lt-DOCUMENT{background:var(--slate-100);color:var(--slate-fg)}.lt-H5P{background:var(--jade-100);color:var(--jade-fg)}.ev-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.ev-card-main{display:flex;flex-direction:column;gap:.2rem;min-width:0}.ev-card-side{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.ev-score{font-family:var(--fd);font-weight:700;font-size:1.5rem;color:var(--jade-fg)}.ev-score small{font-size:.9rem;color:var(--muted);font-weight:400}.ev-score.pass{color:var(--jade-fg)}.ev-score.fail{color:var(--red-fg)}.ev-frame-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;font-size:.8rem}.ev-framing{border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px 16px;margin:4px 0;display:flex;flex-direction:column;gap:12px}.ev-framing legend{font-size:.82rem;font-weight:600;color:var(--ink);padding:0 6px}.order-num{flex:none;width:22px;height:22px;border-radius:6px;background:var(--indigo-100);color:var(--indigo-700);font-size:.78rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.order-list{display:flex;flex-direction:column;gap:8px}.order-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.order-label{flex:1 1;font-weight:500}.order-moves{display:flex;gap:4px}.order-moves .btn-o{padding:0;width:28px;height:26px;display:grid;place-items:center}.cloze{line-height:2.1;margin:0}.cloze-input{display:inline-block;width:9rem;margin:0 4px;padding:.2rem .5rem;vertical-align:baseline}.ev-code{max-width:260px;margin:4px 0 12px}.ev-progress{font-size:.85rem;font-weight:600;color:var(--muted);margin:0 0 10px}.q-review.partial{color:var(--amber-fg)}.q-review .q-feedback{margin:4px 0 0;font-size:.85rem;color:var(--muted)}.stat-bar-wrap{display:inline-flex;align-items:center;gap:8px;justify-content:flex-end}.stat-bar{display:inline-block;height:6px;min-width:2px;max-width:90px;border-radius:999px;background:var(--indigo-500)}.q-essay{width:100%}.course-context{font-size:.85rem;margin-bottom:12px}.course-tabs{margin-bottom:16px;overflow-x:auto;flex-wrap:nowrap}.course-tabs button{white-space:nowrap}.replay-modal{max-width:880px}.replay-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.replay-head h3{margin:0}.plag-modal{max-width:860px;max-height:88vh;overflow-y:auto}.plag-bilan{margin:0 0 4px}.plag-legende,.plag-note{font-size:.84rem;margin:0 0 12px}.plag-sources{list-style:none;margin:0 0 14px;padding:0;display:grid;grid-gap:6px;gap:6px}.plag-source{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);color:var(--ink);font:inherit;cursor:pointer}.plag-source:hover{border-color:var(--muted)}.plag-source.on{border-color:var(--amber-700);background:var(--amber-100)}.plag-source-pct{min-width:3.4rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.plag-source-id{display:grid;grid-gap:2px;gap:2px;font-size:.88rem}.plag-texte{white-space:pre-wrap;line-height:1.6;font-size:.92rem;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);max-height:46vh;overflow-y:auto}.plag-texte mark{background:var(--amber-100);color:var(--amber-fg);border-radius:2px;padding:0 1px}.ia-indice{border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;margin:0 0 14px;background:var(--surface)}.ia-indice h4{margin:0 0 4px;font-size:.95rem}.ia-signaux{list-style:none;margin:0 0 8px;padding:0;display:grid;grid-gap:6px;gap:6px;font-size:.88rem}.ia-signaux li{display:flex;gap:10px;align-items:baseline}.ia-points{min-width:2.4rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.replay-foot{margin-top:12px;display:flex;justify-content:flex-end}.file-viewer{max-width:920px}.file-frame{width:100%;height:75vh;border:1px solid var(--line);background:#fff}.file-frame,.file-img{border-radius:var(--radius-sm)}.file-img{max-width:100%;max-height:75vh;display:block;margin:0 auto}.sg-file{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.doc-actions{display:flex;gap:6px;justify-content:flex-end}.sg-list{display:flex;flex-direction:column;gap:4px}.sg-item{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;text-align:left;padding:9px 10px;border-radius:var(--radius-sm);background:none;color:var(--ink);border:1px solid transparent}.sg-item:hover{background:var(--surface)}.sg-item.active{background:var(--indigo-100);border-color:var(--indigo-500)}.sg-name{font-weight:600;font-size:.9rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sg-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.sg-nav{display:flex;align-items:center;gap:8px;flex:none}.sg-q{padding:12px 0;border-top:1px solid var(--line)}.sg-q-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}.sg-q-head strong{flex:1 1;min-width:0}.sg-answer{padding:8px 12px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);white-space:pre-wrap}.sg-answer.essay{min-height:60px}.sg-solution{font-size:.82rem;margin-top:4px}.sg-grade{margin-top:16px;padding-top:14px;border-top:2px solid var(--line);display:grid;grid-template-columns:auto 1fr;grid-gap:12px;gap:12px;align-items:end}.sg-grade-actions{grid-column:1/-1;display:flex;gap:10px}@media (max-width:720px){.sg-grade{grid-template-columns:1fr}}.ev-result{text-align:center}.ev-result .stat-big{color:var(--jade-fg);margin:.3rem 0}.ev-start{text-align:center}.ev-start-time{font-weight:600;margin:.4rem 0}.exam-timer{position:-webkit-sticky;position:sticky;top:.5rem;z-index:5;display:flex;align-items:center;gap:.6rem;justify-content:center;padding:.5rem 1rem;margin-bottom:1rem;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 2px 10px rgba(0,0,0,.06)}.exam-timer strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:1.15rem}.exam-timer.urgent{border-color:var(--red-600)}.exam-focus,.exam-timer.urgent,.exam-timer.urgent strong{color:var(--red-fg)}.exam-focus{margin-left:auto;font-size:.85rem;display:inline-flex;align-items:center;gap:.25rem}.ev-flags{display:flex;gap:.4rem;margin-top:.3rem;flex-wrap:wrap}.check-row{display:flex;align-items:flex-start;gap:.5rem;margin-top:.75rem;cursor:pointer}.check-row input{margin-top:.2rem}label.check-row,label.reply-internal{flex-direction:row}label.check-row>input[type=checkbox],label.reply-internal>input[type=checkbox]{width:auto;flex:none}label.q-opt{flex-direction:row;text-align:left}label.q-opt>input[type=checkbox],label.q-opt>input[type=radio]{width:auto;flex:none}.q-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.q-options{display:flex;flex-direction:column;gap:.5rem}.q-opt{display:flex;align-items:center;gap:.6rem;padding:.6rem .8rem;border:1px solid var(--line);border-radius:10px;cursor:pointer}.q-opt:hover{border-color:var(--indigo-500)}.q-opt input{width:auto;margin:0}.q-short{width:100%}.q-review{display:flex;align-items:center;gap:.6rem;padding:.4rem 0}.q-mark{flex:none;width:1.2rem;display:grid;place-items:center;color:var(--muted)}.q-review.ok .q-mark{color:var(--jade-fg)}.q-review.ko .q-mark{color:var(--red-fg)}.qcm-editor{display:flex;flex-direction:column;gap:.5rem;margin:.3rem 0}.qcm-opt-row{display:flex;align-items:center;gap:.5rem}.qcm-opt-row input[type=checkbox]{width:auto;flex-shrink:0}.qcm-opt-row input[type=text],.qcm-opt-row>input:not([type=checkbox]){flex:1 1}.csv-import{border:1px dashed var(--line);border-radius:12px;padding:.9rem 1rem;margin-bottom:1rem;background:var(--surface)}.csv-import-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.csv-file{display:inline-flex;align-items:center;gap:.5rem;margin-top:.75rem;cursor:pointer}.csv-file input{max-width:100%}.csv-result{margin-top:.6rem}.csv-ok{color:var(--jade-fg);font-weight:600;margin:.3rem 0}.csv-errors-sum{cursor:pointer;color:var(--amber-fg);font-weight:600;font-size:.85rem}.csv-errors{margin:.4rem 0 0;padding-left:1.1rem;font-size:.82rem;color:var(--muted)}.attach-list{display:flex;flex-direction:column;gap:.35rem;margin-top:.6rem}.attach-item{display:flex;align-items:center;gap:.4rem}.attach-name{display:inline-flex;align-items:center;gap:.35rem;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:.3rem .6rem;cursor:pointer;font:inherit;color:var(--indigo-700);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attach-name:hover{border-color:var(--indigo-500)}.attach-ico{flex-shrink:0}.attach-size{font-size:.75rem}.attach-del{border:none;background:none;color:var(--red-fg);font-size:1.1rem;line-height:1;cursor:pointer;padding:0 .3rem}.attach-add{display:inline-flex;align-items:center;gap:.35rem;margin-top:.6rem;font-size:.82rem;color:var(--indigo-700);cursor:pointer}.attach-add input{display:none}.attach-add span{border:1px solid var(--line);border-radius:8px;padding:.3rem .6rem}.attach-add:hover span{border-color:var(--indigo-500)}.grade-row{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap;margin-top:.8rem;padding-top:.8rem;border-top:1px solid var(--line)}.grade-score{display:flex;flex-direction:column;gap:.25rem}.grade-input{display:flex;align-items:center;gap:.4rem}.grade-input input{width:90px}.grade-feedback{flex:1 1;min-width:220px;display:flex;flex-direction:column;gap:.25rem}.devoir-sub{padding:.6rem 0;border-top:1px solid var(--line)}.devoir-sub:first-of-type{border-top:none}.devoir-feedback{margin:.5rem 0 0;padding:.6rem .8rem;background:var(--surface);border-left:3px solid var(--jade-600);border-radius:6px;white-space:pre-wrap}.pair-row{display:flex;align-items:center;gap:.5rem}.pair-row input{flex:1 1;min-width:0}.pair-arrow{color:var(--muted);flex-shrink:0}.match-list{display:flex;flex-direction:column;gap:.5rem}.match-row{display:flex;align-items:center;gap:.6rem}.match-left{padding:.5rem .7rem;background:var(--surface);border:1px solid var(--line);border-radius:8px;font-weight:600}.match-left,.match-select{flex:1 1;min-width:0}.bank-row{display:flex;align-items:center;gap:.6rem;padding:.45rem 0;border-top:1px solid var(--line);cursor:pointer}.bank-row:first-of-type{border-top:none}.bank-row input{width:auto;flex-shrink:0}.bank-statement{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progressbar{flex:1 1;height:8px;min-width:80px;background:var(--slate-100);border-radius:999px;overflow:hidden}.progressbar-fill{display:block;height:100%;background:var(--indigo-500);border-radius:999px;transition:width .3s ease}.progressbar-fill.full{background:var(--jade-600)}.course-progress{display:flex;align-items:center;gap:.75rem;margin-top:.75rem;flex-wrap:wrap}.btn-sm{padding:.25rem .7rem;font-size:.85rem}.course-line{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.course-line-progress{display:flex;align-items:center;gap:.5rem;min-width:140px}.course-layout{display:grid;grid-template-columns:minmax(240px,300px) 1fr;grid-gap:1rem;gap:1rem;align-items:start}.course-nav{position:-webkit-sticky;position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow-y:auto}.course-main{min-width:0}.course-main>section[id]{scroll-margin-top:84px}.course-layout.nav-hidden{grid-template-columns:1fr}.course-layout.nav-hidden .course-nav{display:none}.lesson-nav-toggle{margin-left:auto}.ens-toc h3{margin:0 0 .6rem;font-size:1rem}.ens-toc nav{display:flex;flex-direction:column;gap:2px}.ens-toc nav a{display:block;padding:8px 10px;border-radius:8px;color:var(--ink);text-decoration:none;font-size:.9rem}.ens-toc nav a:hover{background:var(--surface);color:var(--indigo-700)}@media (max-width:900px){.course-layout{grid-template-columns:1fr}.course-nav{position:static;max-height:none}}.course-lessons .lesson-row{gap:.7rem;padding:.55rem .6rem;border-top:none;border-bottom:1px solid var(--line);border-radius:8px;transition:background .12s}.course-lessons .lesson-row:last-child{border-bottom:none}.course-lessons .lesson-row:hover{background:var(--surface)}.course-lessons .lesson-row.active{border-bottom-color:transparent}.course-lessons .lesson-row.locked{opacity:.7}@media (prefers-reduced-motion:reduce){.course-lessons .lesson-row{transition:none}}.lesson-row.done .lesson-open strong{color:var(--muted);text-decoration:line-through}.lesson-check{flex:0 0 auto;width:22px;height:22px;border-radius:6px;border:2px solid var(--line);background:var(--card);color:#fff;font-size:.8rem;line-height:1;cursor:pointer;display:grid;place-items:center}.lesson-check.on{background:var(--jade-600);border-color:var(--jade-600)}.lesson-check:disabled{opacity:.5;cursor:progress}.lesson-open{flex:1 1;min-width:0;display:flex;align-items:center;gap:10px;text-align:left;background:none;border:none;cursor:pointer;color:inherit;padding:0}.lesson-open-title{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-focus{background:var(--jade-100);border-radius:8px}.lesson-fav{flex:0 0 auto;background:none;border:none;cursor:pointer;line-height:1;color:var(--muted);padding:0 .15rem;display:grid;place-items:center}.lesson-fav.on{color:var(--saffron-fg)}.sat-stars{display:flex;gap:.2rem;margin:.4rem 0 .6rem}.sat-star{background:none;border:none;cursor:pointer;line-height:1;color:var(--field-border);padding:0;display:grid;place-items:center}.sat-star.on{color:var(--saffron-fg)}.verify-page{min-height:100vh;display:grid;place-items:center;padding:2rem 1rem;background:var(--page)}.verify-card{max-width:480px;width:100%}.verify-badge{display:flex;align-items:center;gap:.5rem;font-weight:700;padding:.6rem .9rem;border-radius:10px;margin:.5rem 0 1rem}.verify-badge.ok{background:var(--jade-100);color:var(--jade-fg)}.verify-badge.ko{background:rgba(200,40,40,.1);color:var(--red-fg)}.verify-details{display:grid;grid-template-columns:auto 1fr;grid-gap:.35rem 1rem;gap:.35rem 1rem;margin:0}.verify-details dt{color:var(--muted)}.verify-details dd{margin:0;font-weight:600}.lesson-row.active{background:var(--jade-100);border-radius:8px;padding-left:.5rem;padding-right:.5rem}.lesson-open[aria-current=true] strong{color:var(--jade-fg)}.lesson-viewer-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.75rem}.lesson-frame-wrap{position:relative;width:100%;aspect-ratio:16/9;background:#000;border-radius:10px;overflow:hidden}.lesson-frame{position:absolute;inset:0;width:100%;height:100%;border:0}.lesson-media{width:100%;max-height:70vh;border-radius:10px;background:#000;display:block}.lesson-empty{padding:2rem 1rem;text-align:center;background:var(--soft,rgba(0,0,0,.03));border-radius:10px}.lesson-viewer-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.9rem}.lesson-viewer-spacer{flex:1 1 auto}.grades-filiere-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.5rem}.grades-course{border-top:1px solid var(--line);padding:.6rem 0}.grades-course-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.grades-course-head span{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.grades-none{margin:.3rem 0 0;font-size:.85rem}.grades-table{width:100%;border-collapse:collapse;margin-top:.35rem}.grades-table td{padding:.35rem 0;border-bottom:1px solid var(--surface);font-size:.9rem;vertical-align:middle}.grades-table .grades-type{width:1%;white-space:nowrap;padding-right:.6rem}.grades-table .grades-title{width:100%}.grades-table .grades-score{text-align:right;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;padding-left:.6rem}.grades-table tr.pending .grades-score{color:var(--muted);font-weight:400}.tb-ico.bell{position:relative}.bell-dot{position:absolute;top:-3px;right:-3px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--red-600);color:#fff;font-size:.65rem;font-weight:700;line-height:16px;text-align:center}.notif-panel{width:320px;max-width:90vw;max-height:70vh;overflow-y:auto;padding:0}.notif-head{display:flex;align-items:center;justify-content:space-between;padding:.6rem .85rem;border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;background:var(--card)}.linklike{background:none;border:none;color:var(--indigo-700);cursor:pointer;font-size:.8rem;padding:0}.notif-empty{padding:1rem .85rem;margin:0}.notif-head-actions{display:flex;gap:.75rem;align-items:center}.notif-row{display:flex;align-items:stretch;border-bottom:1px solid var(--surface)}.notif-row .notif-item{flex:1 1;border-bottom:none}.notif-del{border:none;background:none;color:var(--muted);cursor:pointer;font-size:1.1rem;line-height:1;padding:0 .6rem}.notif-del:hover{color:var(--red-fg,#c22);background:var(--surface)}.notif-item{display:flex;flex-direction:column;gap:.15rem;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--surface);padding:.6rem .85rem;cursor:pointer;color:inherit}.notif-item:hover{background:var(--surface)}.notif-item.unread{background:var(--indigo-100)}.notif-item.unread:hover{background:var(--jade-100)}.notif-text{font-size:.9rem}.msg-layout{display:grid;grid-template-columns:280px 1fr;grid-gap:1rem;gap:1rem;align-items:start}.msg-list{gap:.35rem;max-height:70vh;overflow-y:auto}.msg-conv,.msg-list{display:flex;flex-direction:column}.msg-conv{gap:.15rem;text-align:left;background:none;border:none;border-radius:8px;padding:.5rem .6rem;cursor:pointer;color:inherit}.msg-conv:hover{background:var(--surface)}.msg-conv.active{background:var(--indigo-100)}.msg-conv.unread strong{font-weight:700}.msg-conv-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.msg-conv-top strong{margin-right:auto}.msg-time{font-size:.7rem;white-space:nowrap}.msg-badge,.msg-conv .msg-badge{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--indigo-500);color:#fff;font-size:.7rem;font-weight:700;line-height:18px;text-align:center}.msg-preview{font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.msg-main{display:flex;flex-direction:column;min-height:60vh;max-height:74vh}.msg-thread-head{padding-bottom:.5rem;border-bottom:1px solid var(--line);margin-bottom:.5rem}.msg-thread{flex:1 1;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;padding:.25rem}.msg-bubble{max-width:75%;padding:.5rem .75rem;border-radius:12px;background:var(--surface)}.msg-bubble p{margin:0;font-size:.92rem}.msg-bubble small{color:var(--muted);font-size:.72rem}.msg-bubble.mine{align-self:flex-end;background:var(--indigo-100)}.msg-conv-row{position:relative;display:flex;align-items:stretch}.msg-conv-row .msg-conv{flex:1 1}.msg-conv-row.active .msg-conv{background:var(--indigo-100)}.msg-bubble-del,.msg-del{border:none;background:none;color:var(--muted);cursor:pointer;font-size:1.1rem;line-height:1;padding:0 .5rem;border-radius:8px}.msg-bubble-del:hover,.msg-del:hover{color:var(--red-fg,#c22);background:var(--surface)}.msg-bubble{position:relative}.msg-bubble-actions{position:absolute;top:2px;right:4px;display:flex;gap:2px;opacity:0;transition:opacity .12s}.msg-bubble:focus-within .msg-bubble-actions,.msg-bubble:hover .msg-bubble-actions{opacity:1}.msg-bubble-del,.msg-bubble-edit{border:none;background:none;color:var(--muted);cursor:pointer;font-size:.95rem;line-height:1;padding:0 .25rem;border-radius:6px}.msg-bubble-edit:hover{color:var(--indigo-500);background:var(--card)}.msg-bubble-del:hover{color:var(--red-fg,#c22);background:var(--card)}.msg-edit{display:flex;flex-direction:column;gap:.35rem}.msg-edit textarea{width:100%}.msg-edit-actions{display:flex;gap:.75rem}.offline-page{min-height:100vh;display:grid;place-items:center;padding:2rem 1rem;background:var(--page)}.offline-card{max-width:420px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.75rem}.offline-icon{color:var(--muted)}.offline-card h1{font-family:var(--fd);font-size:1.4rem;margin:0;color:var(--ink)}.msg-compose,.msg-reply{display:flex;gap:.5rem;margin-top:.6rem;border-top:1px solid var(--line);padding-top:.6rem}.msg-compose{flex-direction:column;border-top:none}.msg-compose textarea,.msg-reply textarea{flex:1 1;resize:vertical}@media (max-width:720px){.msg-layout{grid-template-columns:1fr}}.lib-toolbar{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.lib-toolbar input[type=search]{flex:1 1;min-width:180px}.lib-form{display:flex;flex-direction:column;gap:.6rem}.lib-mode{display:flex;gap:1.2rem}.lib-mode label{display:flex;align-items:center;gap:.35rem}.lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:1rem;gap:1rem}.lib-card{display:flex;flex-direction:column;gap:.4rem}.lib-card h3{margin:.2rem 0 0}.lib-card p{flex:1 1;font-size:.9rem}.lib-actions{display:flex;gap:.5rem;margin-top:.3rem}.fees-overview,.fees-totals{display:flex;gap:1rem;flex-wrap:wrap}.fees-total{display:flex;flex-direction:column;gap:.15rem;padding:.7rem 1rem;border:1px solid var(--line);border-radius:12px;flex:1 1 130px;min-width:130px}.fees-total strong{font-size:1.15rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fees-total.overdue{border-color:var(--red-600);background:var(--red-100);color:var(--red-fg)}.fees-table{width:100%;border-collapse:collapse}.fees-table td,.fees-table th{padding:.45rem .5rem;border-bottom:1px solid var(--line);text-align:left;font-size:.9rem}.fees-table td.num,.fees-table th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fees-table tr.overdue td{background:var(--red-100)}.chip{display:inline-flex;align-items:center;vertical-align:middle;padding:.16rem .6rem;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:.78rem;line-height:1.2;font-weight:500;white-space:nowrap}.chip.paid{background:var(--jade-100);border-color:var(--jade-600);color:var(--jade-fg)}.chip.late{background:var(--red-100);border-color:var(--red-600);color:var(--red-fg)}.chip-btn{cursor:pointer;font:inherit}.proc-journal{padding:.2rem 0 .8rem .2rem;font-size:.85rem}.proc-journal p{margin:0 0 .4rem}.proc-journal ul{margin:0;padding-left:1.1rem;list-style:none}.proc-journal li{border-left:2px solid var(--line);padding:.15rem 0 .15rem .6rem}.proc-journal li.grave{border-left-color:var(--red-600)}.proc-heure{display:inline-block;min-width:4.5rem;color:var(--muted)}.proc-note{margin-top:.5rem;font-style:italic}.proc-consent{max-width:62ch;margin:.4rem 0 .6rem}.chip.warn{background:var(--amber-100);border-color:var(--amber-700);color:var(--amber-fg)}.chip.expulsion{background:var(--red-600);border-color:var(--red-600);color:#fff;font-weight:700}.fees-alert{display:flex;align-items:center;gap:.5rem;background:var(--red-100);border:1px solid var(--red-600);color:var(--red-fg);border-radius:12px;padding:.8rem 1rem;margin-bottom:1rem;font-weight:600}tr.expulsion>td{background:color-mix(in srgb,var(--red-600) 8%,transparent)}.chip.live{background:var(--red-100);border-color:var(--red-600);color:var(--red-fg);font-weight:600}.chip.live:before{content:"●";margin-right:.3rem;animation:livepulse 1.4s ease-in-out infinite}@keyframes livepulse{0%,to{opacity:1}50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.chip.live:before{animation:none}}.live-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.module-acc{border-top:1px solid var(--line)}.module-acc:first-of-type{border-top:none}.module-acc>summary{cursor:pointer;list-style:none;padding:.7rem .2rem;display:flex;align-items:center;gap:.6rem}.module-acc>summary::-webkit-details-marker{display:none}.module-acc>summary:before{content:"▸";color:var(--muted);transition:transform .15s}.module-acc[open]>summary:before{transform:rotate(90deg)}.module-acc>summary:hover{color:var(--indigo-700)}.module-acc-count{margin-left:auto;font-size:.82rem}.module-acc .courses{margin-top:.2rem;padding-left:1.4rem}@media (prefers-reduced-motion:reduce){.module-acc>summary:before{transition:none}}.live-row.live{border-left:3px solid var(--red-600);padding-left:.6rem}.btn.live{background:var(--red-600);border-color:var(--red-600);color:#fff}.btn.live:hover{filter:brightness(.95)}.fees-head{display:flex;align-items:center;justify-content:space-between}.fees-row-actions{display:flex;gap:.6rem;white-space:nowrap}.linklike.danger{color:var(--red-fg)}.fees-add{margin-top:1rem;border-top:1px solid var(--line);padding-top:.75rem}.fees-add-row{display:flex;gap:.5rem;margin-bottom:.4rem;flex-wrap:wrap}.fees-add-row input{flex:1 1;min-width:120px}.fees-add-actions{display:flex;gap:.5rem;margin-top:.4rem}.lesson-row.locked{opacity:.6}.lesson-row.locked .lesson-open{cursor:not-allowed}.lesson-lock-why{display:flex;gap:6px;margin:2px 0 8px;padding:6px 10px;font-size:12.5px;line-height:1.35;background:var(--surface-2,rgba(127,127,127,.08));border-radius:8px}.lesson-lock,.lesson-lock-why{align-items:center;color:var(--muted)}.lesson-lock{display:inline-flex;margin-left:6px;vertical-align:-2px}.tfa-setup{display:flex;flex-direction:column;gap:.5rem}.tfa-secret{display:inline-block;font-size:1.1rem;letter-spacing:2px;padding:.4rem .7rem;background:var(--surface);border:1px solid var(--line);border-radius:8px;-webkit-user-select:all;-moz-user-select:all;user-select:all}.forum-toolbar{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.forum-toolbar select{flex:1 1;min-width:200px}.mod-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--line)}.mod-row p{margin:.15rem 0 0;font-size:.85rem}.mod-sw{flex:0 0 auto;width:44px;height:24px;border-radius:999px;border:none;background:var(--slate-100);position:relative;cursor:pointer;transition:background .15s}.mod-sw:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:left .15s}.mod-sw.on{background:var(--jade-600)}.mod-sw.on:after{left:22px}.mod-sw:disabled{opacity:.5;cursor:progress}.matrix-cell{width:28px;height:28px;border-radius:6px;border:1px solid var(--line);background:var(--card);color:var(--muted);cursor:pointer;font-size:.9rem;line-height:1}.matrix-cell.on{background:var(--jade-100);border-color:var(--jade-600);color:var(--jade-fg);font-weight:700}.matrix-cell.locked{cursor:not-allowed;opacity:.7}.matrix-cell:not(.locked):hover{border-color:var(--indigo-500)}.set-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.set-label{display:flex;flex-direction:column;gap:.1rem}.set-label code{font-size:.72rem}.set-field{display:flex;align-items:center;gap:.5rem}.set-field input{width:220px;max-width:50vw}.set-field input[type=number]{width:110px}.set-unit{font-size:.85rem}.tfa-recovery{border:1px solid var(--saffron,var(--amber-700));background:var(--amber-100);border-radius:10px;padding:.75rem 1rem;margin-bottom:1rem}.tfa-codes{list-style:none;padding:0;margin:.5rem 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));grid-gap:.4rem;gap:.4rem}.tfa-codes code{display:block;text-align:center;padding:.3rem;background:var(--card);border:1px solid var(--line);border-radius:6px;letter-spacing:1px;-webkit-user-select:all;-moz-user-select:all;user-select:all}.live-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.live-row p{margin:.15rem 0 0;font-size:.85rem}.live-row.past{opacity:.6}.live-attendance{padding:.3rem 0 .7rem;border-bottom:1px solid var(--line)}.live-attendance p{margin:.2rem 0;font-size:.88rem}.ce-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:10px}.ce-add{display:inline-flex;align-items:center;gap:6px}.ce-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.cvi-modal{width:min(760px,96vw);max-width:none}.cvi-steps{margin:0;padding-left:1.2rem;display:grid;grid-gap:4px;gap:4px;font-size:.9rem}.cvi-note{margin:0;font-size:.82rem}.cvi-list{display:grid;grid-gap:10px;gap:10px;max-height:52vh;overflow:auto;padding-right:4px}.cvi-module{border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px}.cvi-module-head{display:flex;align-items:center;gap:8px;cursor:pointer}.cvi-module ul{list-style:none;margin:8px 0 0;padding:0 0 0 24px;display:grid;grid-gap:4px;gap:4px}.cvi-module li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:.88rem}.cvi-module li label{display:flex;align-items:center;gap:8px;cursor:pointer;min-width:0}.cvi-module li .chip{font-size:.7rem}.cvi-title{overflow-wrap:anywhere}.cvi-off{color:var(--muted)}.cvi-off label{cursor:default}.cvi-why{font-size:.78rem;color:var(--muted);font-style:italic}.cvi-draft{align-self:flex-start;font-weight:400!important;font-size:.88rem!important}.cvi-warn{margin:.4rem 0 0;padding-left:1.1rem;font-size:.82rem;color:var(--muted);display:grid;grid-gap:3px;gap:3px}.cvi-skipped{flex-basis:100%;padding-left:24px;font-size:.78rem;color:var(--muted)}.cvi-skipped summary{cursor:pointer}.ce-list{display:grid;grid-gap:8px;gap:8px}.ce-lesson{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 12px;transition:box-shadow .15s ease,border-color .15s ease}.ce-lesson:hover{border-color:var(--indigo-500);box-shadow:var(--shadow)}.ce-reorder{display:flex;flex-direction:column;align-items:center;gap:1px}.ce-reorder .tb-ico{width:28px;height:22px;border-radius:6px}.ce-pos{font-size:.72rem;font-weight:800;color:var(--muted);line-height:1}.ce-badge{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:700;color:var(--indigo-700);background:var(--indigo-100);border-radius:999px;padding:3px 10px;white-space:nowrap}.ce-lesson-main{flex:1 1;display:flex;flex-direction:column;align-items:flex-start;gap:3px;background:none;border:none;text-align:left;cursor:pointer;padding:2px 0;color:var(--ink);font:inherit}.ce-lesson-main strong{font-size:.95rem}.ce-lesson-main:hover strong{color:var(--indigo-700)}.ce-meta{display:flex;gap:10px;flex-wrap:wrap}.ce-tag{display:inline-flex;align-items:center;gap:4px;font-size:.7rem;color:var(--muted)}.ce-actions{display:flex;gap:6px}.tb-ico:disabled{opacity:.35;cursor:default}.tb-ico.danger:hover{color:#b3261e;border-color:#f0c9c6}.ce-modal{width:min(560px,94vw);max-height:90vh;overflow:auto}.ce-modal-head{display:flex;align-items:center;justify-content:space-between;padding:2px 0 10px;border-bottom:1px solid var(--line);margin-bottom:14px}.ce-modal-head h3{margin:0}.ce-form{display:grid;grid-gap:12px;gap:12px}.ce-form>label{display:flex;flex-direction:column;gap:5px;font-weight:600;font-size:.85rem}.ce-form input,.ce-form select,.ce-form textarea{font-weight:400}.ce-check-inline{flex-direction:row!important;align-items:center;gap:8px;align-self:flex-end}.ce-modal-foot{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}.lesson-desc{margin-top:14px;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--indigo-700);border-radius:var(--radius-sm);color:var(--ink);line-height:1.6;font-size:.95rem}.ce-chevron{color:var(--muted);flex-shrink:0;transition:color .15s ease,transform .15s ease}.ticket-row:hover .ce-chevron{color:var(--indigo-700);transform:translateX(2px)}.twofa-required{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:12px 16px 0;padding:12px 16px;background:#fbe9e7;border:1px solid #f3c9c4;border-left:4px solid #b3261e;border-radius:var(--radius-sm);color:#7a1c16;font-size:.9rem}.twofa-required b{color:#7a1c16}.twofa-required>svg{flex:none}.twofa-required>span{flex:1 1;min-width:12rem}.tut-track{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}.tut-track-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px;text-align:center}.tt-n{font-size:1.6rem;font-weight:800;color:var(--indigo-700);line-height:1}.tt-n span{font-size:.9rem;color:var(--muted);font-weight:700}.tt-l{font-weight:700;font-size:.85rem;margin-top:4px}.tt-s{font-size:.75rem;margin-top:2px}@media (max-width:600px){.tut-track{grid-template-columns:1fr}}.ticket-satisfaction{background:var(--indigo-100);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;margin:10px 0;font-size:.9rem}.quick-reply-select{margin-bottom:8px;max-width:340px}.todo-list{display:grid;grid-gap:8px;gap:8px}.todo-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);text-decoration:none;transition:border-color .15s ease}.todo-item:hover{border-color:var(--indigo-500)}.todo-ico{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-weight:800;color:#fff;flex-shrink:0}.todo-ico.eval{background:var(--indigo-700)}.todo-ico.live{background:#b3261e}.todo-ico.fee{background:var(--saffron)}.todo-txt{flex:1 1}.todo-go{color:var(--muted);font-size:1.2rem}.lb{display:grid;grid-gap:14px;gap:14px;margin:4px 0 2px}.lb-h2{font-size:1.15rem;color:var(--indigo-700);margin:8px 0 0}.lb-h2,.lb-h3{font-weight:700}.lb-h3{font-size:1rem;color:var(--ink);margin:6px 0 0}.lb-p{margin:0;line-height:1.65;white-space:pre-wrap}.lb-list{margin:0;padding-left:1.3rem;display:grid;grid-gap:6px;gap:6px;line-height:1.6}.lb-divider{border:0;border-top:1px solid var(--line);margin:6px 0}.lb-callout{border-radius:var(--radius-sm);padding:12px 14px;border-left:4px solid var(--indigo-700);background:var(--indigo-100);display:grid;grid-gap:4px;gap:4px}.lb-callout-title{font-size:.9rem}.lb-callout.lb-tip{background:var(--jade-100);border-left-color:var(--jade-600)}.lb-callout.lb-warning{background:var(--amber-100);border-left-color:var(--amber-700)}.lb-callout.lb-key{background:var(--saffron-100);border-left-color:var(--saffron)}.lb-steps{list-style:none;margin:0;padding:0;display:grid;grid-gap:10px;gap:10px;counter-reset:lbstep}.lb-steps li{display:flex;gap:12px;align-items:flex-start;line-height:1.6}.lb-step-n{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--indigo-700);color:var(--on-primary);display:grid;place-items:center;font-size:.8rem;font-weight:700}.lb-quote{margin:0;padding:10px 0 10px 16px;border-left:3px solid var(--line);font-style:italic;display:grid;grid-gap:6px;gap:6px}.lb-quote cite{font-style:normal;font-size:.85rem;color:var(--muted)}.lb-figure{margin:0;display:grid;grid-gap:6px;gap:6px}.lb-figure img{max-width:100%;height:auto;border-radius:var(--radius-sm);border:1px solid var(--line)}.lb-figure figcaption{font-size:.82rem;color:var(--muted)}.lb-embed,.lb-video{width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);background:#000}.lb-video{aspect-ratio:16/9;height:auto}.lb-embed{background:var(--card)}.lb-quiz{border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px;background:var(--surface);display:grid;grid-gap:10px;gap:10px;transition:border-color .15s ease}.lb-quiz.ok{border-color:var(--jade-600)}.lb-quiz.ko{border-color:var(--amber-700)}.lb-quiz-q{margin:0;font-weight:600;line-height:1.5}.lb-quiz-tag{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--indigo-700);font-weight:700;margin-bottom:4px}.lb-quiz-opts{display:grid;grid-gap:8px;gap:8px}.lb-opt{text-align:left;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);color:var(--ink);cursor:pointer;font:inherit;transition:border-color .15s ease,background .15s ease}.lb-opt:hover:not(:disabled){border-color:var(--indigo-500)}.lb-opt:disabled{cursor:default}.lb-opt.good{border-color:var(--jade-600);background:var(--jade-100);font-weight:600}.lb-opt.bad{border-color:var(--red-600);background:var(--red-100)}.lb-quiz-fb{justify-items:start;font-size:.9rem}.lb-card,.lb-quiz-fb{display:grid;grid-gap:8px;gap:8px}.lb-card{width:100%;min-height:96px;padding:18px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);color:var(--ink);cursor:pointer;font:inherit;place-items:center;text-align:center;transition:border-color .15s ease,background .15s ease}.lb-card.flipped,.lb-card:hover{border-color:var(--indigo-500)}.lb-card.flipped{background:var(--indigo-100)}.lb-card-face{font-size:1rem;line-height:1.5}.lb-card-hint{font-size:.75rem}.lb-acc{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);overflow:hidden}.lb-acc>summary{cursor:pointer;padding:12px 14px;font-weight:600;list-style:none}.lb-acc>summary::-webkit-details-marker{display:none}.lb-acc>summary:before{content:"▸";display:inline-block;margin-right:8px;color:var(--indigo-700);transition:transform .15s ease}.lb-acc[open]>summary:before{transform:rotate(90deg)}.lb-acc>.lb-p{padding:0 14px 14px}.lb-download{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);text-decoration:none;transition:border-color .15s ease}.lb-download:hover{border-color:var(--indigo-500)}.lb-download>span:last-child{display:grid;grid-gap:2px;gap:2px}.lb-download .muted{font-size:.8rem}.lb-dl-ico{width:32px;height:32px;border-radius:8px;background:var(--indigo-700);color:var(--on-primary);display:grid;place-items:center;font-size:1.1rem;flex-shrink:0}.lb-dl{display:grid;grid-gap:8px;gap:8px}.lb-dl .lb-figure{margin:0}.lb-dl-img{max-width:100%;height:auto;border-radius:var(--radius-sm)}.ce-blocks{border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px;background:var(--surface)}.ce-blocks-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:10px}.ce-blocks-head .muted{font-size:.8rem}.lbe{display:grid;grid-gap:10px;gap:10px}.lbe-empty{margin:0 0 4px;font-size:.85rem}.lbe-block{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);padding:10px 12px;display:grid;grid-gap:8px;gap:8px}.lbe-head{display:flex;align-items:center;gap:6px}.lbe-head .tb-ico{width:28px;height:28px;border-radius:8px}.lbe-type{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;font-weight:700;color:var(--indigo-700)}.lbe-spacer{flex:1 1}.lbe-picker{display:flex;flex-wrap:wrap;gap:6px;padding:10px;border:1px dashed var(--line);border-radius:var(--radius-sm)}.lbe-add{justify-self:start}.lbe-hint{font-size:.78rem;margin:0}.lbe-items{display:grid;grid-gap:6px;gap:6px}.lbe-items-label{font-size:.8rem;font-weight:600;color:var(--muted)}.lbe-item{display:flex;gap:6px;align-items:center}.lbe-item input{flex:1 1}.lp-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:.75rem}.lp-title{margin:0;font-size:1.25rem}.lp-head .muted{margin:.2rem 0 0}.lp-head-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.lp-banner{background:var(--indigo-100);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.55rem .8rem;margin:0 0 .75rem;font-size:.88rem}.lp-banner.warn{background:var(--amber-100);border-color:var(--amber-700)}.lp-hint{margin:0 0 1rem;font-size:.85rem}.lp-small{font-size:.8rem}.lp-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start}.lp-grid,.lp-side{display:grid;grid-gap:1rem;gap:1rem}.lp-grid h3{margin:0 0 .6rem;font-size:1rem}@media (max-width:900px){.lp-grid{grid-template-columns:1fr}}.lp-ask{display:flex;gap:.5rem;align-items:flex-end;margin-bottom:.75rem}.lp-ask textarea{flex:1 1;resize:vertical;min-height:2.6rem}.lp-qlist{list-style:none;margin:0;padding:0;display:grid;grid-gap:.5rem;gap:.5rem}.lp-q{display:flex;gap:.75rem;align-items:center;padding:.6rem .75rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card)}.lp-q.answered{background:var(--surface);opacity:.8}.lp-q-main{flex:1 1;min-width:0}.lp-q-text{margin:0;line-height:1.45;overflow-wrap:anywhere}.lp-q-meta{font-size:.78rem}.lp-q-actions{display:flex;gap:.5rem;align-items:center}.lp-votes{font-weight:700;color:var(--indigo-700);font-size:.9rem;gap:.2rem}.lp-vote,.lp-votes{white-space:nowrap;display:inline-flex;align-items:center}.lp-vote{gap:.3rem;padding:.35rem .6rem;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);font:inherit;font-size:.82rem;font-weight:600;cursor:pointer}.lp-vote:hover:not(:disabled){border-color:var(--indigo-500)}.lp-vote.on{background:var(--indigo-100);border-color:var(--indigo-700);color:var(--indigo-700)}.lp-vote:disabled{cursor:default;opacity:.6}.lp-vote-label{font-weight:500}.lp-hand-btn{width:100%}.lp-hands{list-style:none;margin:0;padding:0;display:grid;grid-gap:.4rem;gap:.4rem}.lp-hands li>span{display:inline-flex;align-items:center;gap:.35rem}.lp-hands li{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.45rem .6rem;background:var(--saffron-100);border-radius:var(--radius-sm)}.lp-reactions{display:grid;grid-template-columns:1fr 1fr;grid-gap:.5rem;gap:.5rem}.lp-reaction{padding:.55rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);color:var(--ink);font:inherit;font-size:.85rem;cursor:pointer;text-align:left}.lp-reaction:hover:not(:disabled){border-color:var(--indigo-500);background:var(--surface)}.lp-reaction:disabled{cursor:default;opacity:.6}.lp-rstats{display:grid;grid-template-columns:1fr 1fr;grid-gap:.5rem;gap:.5rem}.lp-rstat-ico{display:grid;place-items:center}.lj-reaction{display:inline-flex;align-items:center;gap:.2rem;margin-right:.6rem;white-space:nowrap}.lp-rstat{display:grid;grid-template-columns:auto auto 1fr;align-items:center;grid-gap:.4rem;gap:.4rem;padding:.5rem .6rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.lp-rstat strong{font-size:1.15rem}.lp-rstat-label{font-size:.78rem;color:var(--muted)}.lp-rstat.good{background:var(--jade-100);border-color:var(--jade-600)}.lp-rstat.alert{background:var(--amber-100);border-color:var(--amber-700)}.lp-poll{display:grid;grid-gap:.5rem;gap:.5rem}.lp-poll-q{margin:0;font-weight:600}.lp-poll-opts{display:grid;grid-gap:.4rem;gap:.4rem}.lp-opt{padding:.55rem .7rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);color:var(--ink);font:inherit;text-align:left;cursor:pointer}.lp-opt:hover:not(:disabled){border-color:var(--indigo-500)}.lp-opt.on{border-color:var(--indigo-700);background:var(--indigo-100);font-weight:600}.lp-bar{position:relative;display:flex;justify-content:space-between;gap:.5rem;padding:.45rem .65rem;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;background:var(--card)}.lp-bar.mine{border-color:var(--indigo-700)}.lp-bar-fill{position:absolute;inset:0 auto 0 0;background:var(--indigo-100);transition:width .3s ease}.lp-bar-label,.lp-bar-val{position:relative}.lp-bar-val{font-weight:600;white-space:nowrap;font-size:.85rem}.lp-poll-form{display:grid;grid-gap:.45rem;gap:.45rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--line)}.lp-poll-actions{display:flex;gap:.5rem;justify-content:flex-end;flex-wrap:wrap}@media (prefers-reduced-motion:reduce){.lp-bar-fill{transition:none}}.lj-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));grid-gap:.6rem;gap:.6rem;margin-bottom:1rem}.lj-kpi{display:grid;grid-gap:.15rem;gap:.15rem;padding:.7rem .8rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card)}.lj-kpi.highlight{border-color:var(--indigo-700);background:var(--indigo-100)}.lj-kpi-val{font-size:1.35rem;font-weight:800;color:var(--indigo-700);line-height:1.1}.lj-kpi-label{font-size:.82rem;font-weight:600}.lj-kpi-sub{font-size:.75rem;color:var(--muted)}.lj-table-wrap{overflow-x:auto}.lj-table{width:100%;border-collapse:collapse;font-size:.87rem}.lj-table td,.lj-table th{padding:.5rem .6rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;white-space:nowrap}.lj-table thead th{font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.lj-table tbody th{font-weight:600}.lj-table tr.absent td,.lj-table tr.absent th{color:var(--muted)}.lj-poll+.lj-poll{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.lj-timeline{list-style:none;margin:0;padding:0;display:grid;grid-gap:.1rem;gap:.1rem}.lj-ev{display:grid;grid-template-columns:5.5rem 1fr;grid-gap:.6rem;gap:.6rem;padding:.35rem .4rem;border-left:3px solid var(--line);font-size:.87rem}.lj-ev-time{color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lj-ev-arrival,.lj-ev-departure,.lj-ev-visio_arrival,.lj-ev-visio_departure{border-left-color:var(--line);color:var(--muted)}.lj-ev-visio_arrival,.lj-ev-visio_departure{border-left-style:dashed}.lj-kpis-visio{margin-bottom:.75rem}.lj-ev-answered,.lj-ev-question{border-left-color:var(--indigo-700)}.lj-ev-hand{border-left-color:var(--saffron)}.lj-ev-reaction{border-left-color:var(--amber-700)}.lj-ev-poll_closed,.lj-ev-poll_opened{border-left-color:var(--jade-600)}.lj-note{margin-top:1rem;font-size:.8rem}.vcs{margin-bottom:1rem}.vcs-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:.75rem}.vcs-hint{margin:.2rem 0 0;font-size:.85rem;max-width:60ch}.vcs-verdict{margin:0 0 .75rem;padding:.55rem .8rem;border-radius:var(--radius-sm);font-weight:600;font-size:.9rem}.vcs-verdict.ok{background:var(--jade-100);border:1px solid var(--jade-600)}.vcs-verdict.ko{background:var(--amber-100);border:1px solid var(--amber-700)}.vcs-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:.35rem;gap:.35rem}.vcs-row{display:grid;grid-template-columns:1.4rem 11rem 1fr;grid-gap:.5rem;gap:.5rem;align-items:baseline;font-size:.88rem}.vcs-ico{display:grid;place-items:center;width:1.1rem}.vcs-row.ok .vcs-ico{color:var(--jade-fg)}.vcs-row.ko .vcs-ico{color:var(--red-fg)}.vcs-label,.vcs-row.na .vcs-ico{color:var(--muted)}.vcs-value{overflow-wrap:anywhere}.vcs-msg{margin:.6rem 0 0;font-size:.82rem}@media (max-width:600px){.vcs-row{grid-template-columns:1.4rem 1fr}.vcs-value{grid-column:2}}.vol-chip{display:inline-flex;align-items:center;gap:.25rem;font-size:.72rem;color:var(--muted);white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.vol-summary{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem .6rem;margin:.35rem 0 0;font-size:.8rem}.vol-detail:before{content:"· "}.vol-warn{color:var(--amber-fg)}.course-goals{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));grid-gap:1.25rem;gap:1.25rem}.course-goals-card{margin-bottom:1rem}.course-goals-col h4{display:flex;align-items:center;gap:.4rem;margin:0 0 .5rem;font-size:.95rem;color:var(--indigo-700)}.course-goals-col ul{margin:0;padding-left:1.2rem;display:grid;grid-gap:.35rem;gap:.35rem;line-height:1.55}.course-outcomes{margin:.25rem 0 0;padding-left:1.1rem;font-size:.82rem}.hub-course-outcome{display:block;font-size:.78rem}.ce-goals{border:1px solid var(--line);border-radius:var(--radius-sm);padding:.75rem 1rem 1rem;margin:0 0 1rem}.ce-goals legend{font-weight:600;font-size:.9rem;padding:0 .35rem}.ce-goals .muted{margin:0 0 .6rem;font-size:.8rem}.ce-hint{margin:-.4rem 0 0;font-size:.78rem}.ce-tag-warn{color:var(--amber-fg)}.goal-editor{display:grid;grid-gap:.4rem;gap:.4rem;justify-items:start}.goal-editor-row{display:flex;align-items:center;gap:.35rem;width:100%}.goal-editor-row input{flex:1 1}.goal-editor-num{color:var(--muted);font-size:.78rem;min-width:1.2rem;text-align:right}.goal-editor-max{font-size:.78rem}.lb-table-wrap{overflow-x:auto}.lb-table{width:100%;border-collapse:collapse;font-size:.9rem}.lb-table td,.lb-table th{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}.lb-table th{background:var(--surface);font-weight:600}.lb-gloss{margin:0;display:grid;grid-gap:.5rem;gap:.5rem}.lb-gloss-row{display:grid;grid-template-columns:minmax(8rem,14rem) 1fr;grid-gap:.25rem 1rem;gap:.25rem 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--line)}.lb-gloss-row:last-child{border-bottom:0;padding-bottom:0}.lb-gloss dt{font-weight:600;color:var(--indigo-700)}.lb-gloss dd{margin:0;line-height:1.55}.lb-timeline{list-style:none;margin:0;padding:0 0 0 1.2rem;display:grid;grid-gap:1rem;gap:1rem;border-left:1px solid var(--line)}.lb-timeline li{position:relative;display:flex;gap:.75rem}.lb-tl-dot{position:absolute;left:-1.55rem;top:.45rem;width:9px;height:9px;border-radius:999px;background:var(--indigo-700)}.lb-tl-body{display:grid;grid-gap:.2rem;gap:.2rem}.lb-tl-date{font-size:.78rem;font-weight:700;color:var(--indigo-700);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lb-tl-title{font-size:.98rem}.lb-compare{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));grid-gap:1rem;gap:1rem}.lb-compare-col{border:1px solid var(--line);border-radius:var(--radius-sm);padding:.85rem 1rem;background:var(--card)}.lb-compare-col h4,.lb-compare-col h5{margin:0 0 .5rem;font-size:.92rem;color:var(--indigo-700)}.lb-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));grid-gap:.85rem;gap:.85rem}.lb-gallery .lb-figure{margin:0}.lb-audio{display:flex;align-items:center;gap:.6rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);padding:.6rem .75rem}.lb-audio-ico{display:grid;place-items:center;width:2rem;height:2rem;border-radius:999px;background:var(--indigo-700);color:var(--on-primary);flex:none}.lb-audio-el{flex:1 1;min-width:0;height:36px}.lb-activity{border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px;background:var(--surface);display:grid;grid-gap:10px;gap:10px;transition:border-color .15s ease}.lb-activity.ok{border-color:var(--jade-600)}.lb-activity.ko{border-color:var(--amber-700)}.lb-act-head{margin:0;font-weight:600;line-height:1.5}.lb-act-foot{display:flex;gap:.5rem}.lb-act-key{margin:0;padding-left:1.3rem;font-size:.85rem;color:var(--muted);display:grid;grid-gap:.25rem;gap:.25rem}.lb-act-key strong{color:var(--ink)}.lb-match-rows{display:grid;grid-gap:.5rem;gap:.5rem}.lb-match-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.4rem .55rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card)}.lb-match-row.good{border-color:var(--jade-600);background:var(--jade-100)}.lb-match-row.bad{border-color:var(--red-600);background:var(--red-100)}.lb-match-left{flex:1 1 8rem;font-weight:600;font-size:.92rem}.lb-match-link{color:var(--muted);display:grid;place-items:center}.lb-match-select{flex:1 1 10rem;min-width:0}.lb-match-verdict{display:grid;place-items:center}.lb-match-row.good .lb-match-verdict{color:var(--jade-fg)}.lb-match-row.bad .lb-match-verdict{color:var(--red-fg)}.lb-blanks-text{margin:0;line-height:2.1;white-space:pre-wrap}.lb-blank{display:inline-block;width:auto;margin:0 .15rem;padding:.15rem .4rem;border:0;border-bottom:2px solid var(--indigo-700);border-radius:0;background:var(--card);font:inherit;font-size:.95rem}.lb-blank.good{border-bottom-color:var(--jade-600);background:var(--jade-100)}.lb-blank.bad{border-bottom-color:var(--red-600);background:var(--red-100)}.lb-order-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:.4rem;gap:.4rem;counter-reset:none}.lb-order-list li{display:flex;align-items:center;gap:.55rem;padding:.45rem .6rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card)}.lb-order-list li.good{border-color:var(--jade-600);background:var(--jade-100);color:var(--jade-fg)}.lb-order-list li.bad{border-color:var(--red-600);background:var(--red-100);color:var(--red-fg)}.lb-order-n{display:grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:999px;background:var(--surface);color:var(--muted);font-size:.75rem;font-weight:700;flex:none}.lb-order-txt{flex:1 1;color:var(--ink);font-size:.92rem}.lb-order-btns{display:flex;gap:.2rem}.lb-case{border:1px solid var(--line);border-left:4px solid var(--indigo-700);border-radius:var(--radius-sm);background:var(--card);padding:14px;display:grid;grid-gap:.7rem;gap:.7rem}.lb-case-situation{font-size:.95rem}.lb-case-questions{margin:0;padding-left:1.3rem;display:grid;grid-gap:.35rem;gap:.35rem;line-height:1.55}.lb-case-key{background:var(--surface)}.lbe-picker-group{display:grid;grid-gap:.3rem;gap:.3rem;margin-bottom:.6rem}.lbe-picker-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}.lbe-picker-row{display:flex;flex-wrap:wrap;gap:.35rem}.lbe-objrow{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card)}.lbe-objnum{color:var(--muted);font-size:.75rem;font-weight:700;padding-top:1.4rem;min-width:1rem;text-align:right;flex:none}.lbe-objfields{flex:1 1;display:flex;flex-wrap:wrap;gap:.5rem;min-width:0}.lbe-objfields label{flex:1 1 8rem;min-width:0;font-size:.78rem}.lbe-objfields label.lbe-wide{flex:1 1 100%}.lbe-objfields label.lbe-narrow{flex:0 1 7rem}.lbe-objbtns{display:flex;gap:.2rem;padding-top:1.2rem}.lbe-table{display:grid;grid-gap:.4rem;gap:.4rem}.lbe-table-head{flex-wrap:wrap;gap:.4rem}.lbe-table-col,.lbe-table-head{display:flex;align-items:center}.lbe-table-col{gap:.2rem;flex:1 1 8rem}.lbe-table-col input{flex:1 1;min-width:0}.lbe-table-row{display:flex;align-items:center;gap:.4rem}.lbe-table-row input{flex:1 1 6rem;min-width:0}.lbe-warn{color:var(--amber-fg)}@media (max-width:640px){.lb-gloss-row{grid-template-columns:1fr}.lb-match-row{align-items:stretch}}.lb-attempts{font-size:.75rem}.lesson-note{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);margin:1rem 0 0;overflow:hidden}.lesson-note-head{display:flex;align-items:center;gap:.5rem;width:100%;padding:.7rem .9rem;background:none;border:0;color:var(--ink);font:inherit;cursor:pointer;text-align:left}.lesson-note-head:hover{background:var(--surface)}.lesson-note-spacer{flex:1 1}.lesson-note-body{display:grid;grid-gap:.6rem;gap:.6rem;padding:0 .9rem .9rem;border-top:1px solid var(--line)}.lesson-note-body textarea{width:100%}.lesson-note-hint{margin:.5rem 0 0;font-size:.8rem}.lesson-note-foot{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.lesson-note-date{font-size:.78rem}.note-card{display:grid;grid-gap:.5rem;gap:.5rem}.note-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.note-card-text{margin:0;white-space:pre-wrap;line-height:1.6}.note-card-foot{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;font-size:.82rem}.note-card-shared{border-top:1px solid var(--line);padding:.75rem 0;display:grid;grid-gap:.4rem;gap:.4rem}.note-card-shared:first-of-type{border-top:0;padding-top:0}.act-stats{display:grid;grid-gap:.5rem;gap:.5rem}.act-stat{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;border:1px solid var(--line);border-radius:var(--radius-sm);padding:.6rem .85rem}.act-stat.weak{border-left:4px solid var(--amber-700)}.act-stat-main{display:grid;grid-gap:.15rem;gap:.15rem;min-width:0}.act-stat-main span{font-size:.78rem}.act-stat-rates{display:flex;gap:1.25rem}.act-stat-rate{display:grid;justify-items:center}.act-stat-rate b{font-size:1.05rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.act-stat-rate span{font-size:.7rem}.tpl-modal{width:min(720px,94vw);max-height:90vh;overflow:auto}.tpl-group{margin:1rem 0 .5rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));grid-gap:.6rem;gap:.6rem}.tpl-card{display:grid;grid-gap:.25rem;gap:.25rem;align-content:start;text-align:left;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);color:var(--ink);font:inherit;padding:.75rem .9rem;cursor:pointer;transition:border-color .15s ease}.tpl-card:hover:not(:disabled):not(.static){border-color:var(--indigo-500)}.tpl-card.static{cursor:default}.tpl-card:disabled{opacity:.55;cursor:default}.tpl-card span{font-size:.82rem;line-height:1.45}.tpl-meta{font-size:.75rem}.tpl-chip{margin-left:.4rem;font-size:.68rem}.tpl-warn{display:flex;align-items:center;gap:.4rem;margin:0 0 .5rem;color:var(--amber-fg);font-size:.85rem}.ce-blocks-tools{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem}.lbe-url{display:flex;gap:.4rem;align-items:center}.lbe-url input{flex:1 1;min-width:0}.lesson-upload{display:inline-flex;align-items:center;gap:.4rem;flex:none}.lesson-upload-hint{font-size:.72rem}.lb-scorm{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);padding:.9rem 1rem;display:grid;grid-gap:.8rem;gap:.8rem}.lb-scorm-head{display:flex;align-items:flex-start;gap:.75rem;flex-wrap:wrap}.lb-scorm-icon{flex:none;width:2rem;height:2rem;border-radius:var(--radius-sm);display:grid;place-items:center;background:var(--surface);color:var(--indigo-500)}.lb-scorm-id{flex:1 1 14rem;min-width:0}.lb-scorm-id h3{margin:0;font-size:1rem}.lb-scorm-id p{margin:.15rem 0 0;font-size:.8rem;color:var(--muted)}.lb-scorm-vide{margin:0;font-size:.85rem;color:var(--muted)}.lb-scorm-etat{display:flex;gap:1.2rem;margin:0;flex-wrap:wrap}.lb-scorm-etat>div{display:grid;grid-gap:.1rem;gap:.1rem}.lb-scorm-etat dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.lb-scorm-etat dd{margin:0;font-size:.88rem;font-weight:600}.lb-scorm-seuil{font-weight:400;font-size:.78rem;color:var(--muted)}.lb-scorm-badge.completed,.lb-scorm-badge.passed{color:var(--jade-fg)}.lb-scorm-badge.failed{color:var(--terracotta-600,var(--amber-700))}.lb-scorm-badge.incomplete{color:var(--amber-fg)}.lb-scorm-badge.not_attempted{color:var(--muted)}.lb-scorm-cadre{width:100%;max-height:85vh;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;background:var(--surface)}.lb-scorm-cadre iframe{display:block;width:100%;height:100%;border:0}.scorm-lib{display:grid;grid-gap:.6rem;gap:.6rem}.scorm-row{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;border:1px solid var(--line);border-radius:var(--radius-sm);padding:.7rem .9rem;background:var(--card)}.scorm-row-main{flex:1 1 16rem;min-width:0;display:grid;grid-gap:.15rem;gap:.15rem}.scorm-row-main strong{font-size:.95rem}.scorm-row-meta{font-size:.76rem;color:var(--muted);display:flex;gap:.6rem;flex-wrap:wrap}.scorm-row-actions{display:flex;gap:.4rem;flex-wrap:wrap}.scorm-drop{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.scorm-ignores{margin:0;font-size:.78rem;color:var(--amber-fg)}.lbe-scorm{display:grid;grid-gap:.4rem;gap:.4rem}.lbe-scorm-ligne{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.lbe-scorm-ligne select{flex:1 1;min-width:12rem}.lb-depot-formats{margin:0;font-size:.8rem}.lb-depot-fait,.lb-depot-vide{display:grid;grid-gap:.5rem;gap:.5rem}.lb-depot-fichier{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.9rem}.lb-depot-fichier a{font-weight:600}.lb-depot-date{margin:0;font-size:.78rem}.lb-depot-mot{margin:0;font-size:.88rem;font-style:italic}.lb-depot-retour{border-left:3px solid var(--jade-600);background:var(--jade-100);border-radius:var(--radius-sm);padding:.6rem .8rem;display:grid;grid-gap:.25rem;gap:.25rem}.sub-row{border:1px solid var(--line);border-radius:var(--radius-sm);padding:.75rem .9rem;margin-bottom:.6rem;display:grid;grid-gap:.5rem;gap:.5rem}.sub-head{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.sub-head .muted{font-size:.82rem}.sub-file{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.sub-comment{margin:0;font-size:.86rem;font-style:italic}.sub-late{margin:0;font-size:.82rem}.sub-versions{font-size:.84rem}.sub-versions summary{cursor:pointer}.sub-version-file{display:block;padding:3px 0 3px 14px}.sub-reply{display:flex;gap:.5rem;align-items:flex-start}.sub-reply textarea{flex:1 1}.perimetre-champ{border:1px solid var(--border);border-radius:6px;padding:.75rem 1rem;margin:.75rem 0}.perimetre-champ legend{padding:0 .35rem;font-weight:600;font-size:.9rem}.perimetre-liste{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:.35rem 1rem;gap:.35rem 1rem;margin:.5rem 0}.perimetre-case{display:flex;align-items:center;gap:.5rem;font-weight:400;margin:0}.perimetre-case input{width:auto;margin:0}.stext>*{margin:0 0 .6rem}.stext>:last-child{margin-bottom:0}.stext ol,.stext ul{padding-left:1.3rem}.stext li+li{margin-top:.25rem}.ev-start{text-align:left}.ev-start-head{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.ev-start-head .ev-start-time{margin:0}.ev-instructions{max-width:72ch;padding:1rem 1.2rem;border-left:3px solid var(--indigo-500);background:var(--surface);border-radius:var(--radius-sm);line-height:1.6}.ev-start-foot{margin-top:1.2rem;display:grid;grid-gap:.2rem;gap:.2rem;justify-items:start}.ev-start-foot p{margin:0 0 .3rem;font-size:.9rem}.ev-start-foot .ev-code{max-width:260px;margin:.4rem 0 .6rem}.seb-gate{max-width:72ch;margin-top:.6rem;padding:1rem 1.2rem;border:1px solid var(--line);border-left:3px solid var(--indigo-500);background:var(--surface);border-radius:var(--radius-sm)}.seb-gate-title{display:flex;align-items:center;gap:.45rem;font-weight:600;margin:0 0 .4rem}.seb-steps{margin:.6rem 0;padding-left:1.3rem;font-size:.9rem;line-height:1.6}.seb-steps li+li{margin-top:.25rem}.seb-actions{gap:.6rem;margin:.8rem 0 .5rem}.exam-bar,.seb-actions{display:flex;flex-wrap:wrap}.exam-bar{position:-webkit-sticky;position:sticky;top:.5rem;z-index:5;align-items:center;gap:1rem;padding:.55rem 1rem;margin-bottom:1rem;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-md);font-size:.9rem}.exam-bar.urgent{border-color:var(--red-600)}.exam-progress{display:inline-flex;align-items:center;gap:.4rem}.exam-progress-track{display:inline-block;width:120px;height:6px;border-radius:99px;background:var(--line);overflow:hidden;margin-left:.3rem}.exam-progress-track>span{display:block;height:100%;background:var(--jade-600);transition:width var(--tr)}.exam-save{color:var(--muted);font-size:.82rem}.exam-save.error{color:var(--red-fg)}.exam-clock{margin-left:auto}.exam-clock strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:1.1rem}.exam-bar.urgent .exam-clock{color:var(--red-fg)}.exam-bar .exam-focus{margin-left:0}.exam-instructions summary{cursor:pointer;font-weight:600}.exam-instructions[open] summary{margin-bottom:.75rem}.exam-instructions .stext{max-width:72ch;line-height:1.6}.exam-part{margin:2rem 0 .9rem;padding:0 .2rem .9rem;border-bottom:2px solid var(--indigo-500)}.exam-part h2{font-size:1.2rem;margin:0 0 .6rem;color:var(--indigo-700)}.exam-part .stext{max-width:75ch;line-height:1.65}.q-card{border-left:3px solid transparent}.q-card.answered{border-left-color:var(--jade-600)}.q-num{font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.03em;color:var(--indigo-700)}.q-statement{font-size:1rem;line-height:1.6;margin-bottom:.9rem;max-width:75ch}.q-opt.chosen{border-color:var(--indigo-500);background:var(--indigo-100)}.q-essay{line-height:1.6;font-size:.97rem;resize:vertical}.q-words{display:block;text-align:right;margin-top:.25rem}.exam-actions{align-items:center;gap:1rem}.ev-feedback{max-width:60ch;margin:.6rem auto;white-space:pre-wrap}.ev-line{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-top:1px solid var(--line)}.ev-line strong{white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ev-line-part{margin:1rem 0 0;font-weight:700;font-size:.85rem;color:var(--indigo-700)}.ev-line-comment{margin:0 0 .5rem;padding:.5rem .75rem;background:var(--surface);border-radius:var(--radius-sm);font-size:.9rem;white-space:pre-wrap}.sg-part{margin:1.4rem 0 .2rem;padding-bottom:.4rem;border-bottom:2px solid var(--indigo-500)}.sg-part h4{margin:0;color:var(--indigo-700)}.sg-part details{margin-top:.35rem;font-size:.88rem}.sg-part summary{cursor:pointer;color:var(--muted)}.sg-part .stext{margin-top:.5rem;max-width:75ch}.sg-q-head .q-num{flex:1 1}.sg-statement{font-size:.9rem;color:var(--muted);margin-bottom:.5rem;max-width:80ch}.sg-answer.empty{color:var(--muted);font-style:italic}.sg-answer.essay{line-height:1.6}.sg-essay-grade{display:grid;grid-template-columns:auto 1fr;grid-gap:.75rem;gap:.75rem;margin-top:.6rem;align-items:start}.sg-comment,.sg-points{display:grid;grid-gap:.25rem;gap:.25rem;font-size:.82rem;font-weight:600;margin:0}.sg-points input{width:5.5rem}.sg-points input.invalid{border-color:var(--red-600)}@media (max-width:720px){.sg-essay-grade{grid-template-columns:1fr}}.stext-head{display:inline-block;margin-bottom:.1rem;color:var(--ink)}.sg-feedback{display:grid;grid-gap:.3rem;gap:.3rem;margin-top:1.2rem;padding-top:1rem;border-top:2px solid var(--line)}.sg-bar{position:-webkit-sticky;position:sticky;bottom:.5rem;z-index:3;display:flex;align-items:center;gap:.75rem 1.25rem;flex-wrap:wrap;margin-top:.9rem;padding:.55rem .9rem;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-md)}.sg-bar-actions{display:flex;gap:.5rem;margin-left:auto}.sg-summary{display:flex;flex-wrap:wrap;gap:.3rem 1.2rem;align-items:baseline;font-size:.88rem}.sg-summary strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sg-final{font-size:.95rem}.sg-final strong{font-size:1.15rem;color:var(--indigo-700)}.sg-grade-actions{align-items:center;flex-wrap:wrap}.q-list-part{margin:1rem 0 .3rem;font-weight:700;font-size:.85rem;color:var(--indigo-700)}.q-list-statement{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line}.section-editor{display:grid;grid-gap:.5rem;gap:.5rem;padding:.75rem;border-left:3px solid var(--indigo-500);background:var(--surface);border-radius:var(--radius-sm)}.q-row-actions{display:flex;gap:.35rem;align-items:center;flex-wrap:wrap}.lesson-row.q-editing{outline:2px solid var(--indigo-500);outline-offset:2px;border-radius:8px}.ref-card.q-form-editing{border-color:var(--indigo-500)}.q-fieldset{border:0;padding:0;margin:0;min-width:0;display:contents}.q-fieldset:disabled button,.q-fieldset:disabled input,.q-fieldset:disabled select,.q-fieldset:disabled textarea{opacity:.55;cursor:not-allowed}.sujet-list{list-style:none;margin:.5rem 0;padding:0;display:grid;grid-gap:.35rem;gap:.35rem}.sujet-list li{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.devoir-remise{margin-top:.8rem;display:grid;grid-gap:.5rem;gap:.5rem}.devoir-retour{margin-top:.5rem;gap:.5rem}.devoir-retour,.suivi-notes{display:flex;flex-wrap:wrap;align-items:center}.suivi-notes{justify-content:space-between;gap:.8rem}.suivi-manquants p{margin:.3rem 0}.btn-link{background:none;border:0;padding:0;color:var(--indigo-700);text-decoration:underline;cursor:pointer;font:inherit}.suivi-manquants .btn-link{margin-left:.6rem}.suivi-noms{font-size:.85rem}.sg-retour{margin-top:.6rem;padding-top:.6rem;border-top:1px dashed var(--line);display:grid;grid-gap:.35rem;gap:.35rem}.draft-chip{background:var(--amber-100);color:var(--amber-fg);margin-left:.5rem;vertical-align:middle;font-size:.72rem}.cohorte-choix{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem}.apercu-banner{margin-bottom:.8rem}.lesson-page-form{display:grid;grid-gap:1rem;gap:1rem}.lesson-page-form>.card{display:grid;grid-gap:12px;gap:12px;margin:0}.lesson-page-form>.card>label{display:flex;flex-direction:column;gap:5px;font-weight:600;font-size:.85rem}.lesson-page-actions{position:-webkit-sticky;position:sticky;bottom:0;z-index:5;display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-md)}.lesson-page-form .ce-check-inline{flex-direction:row;align-items:center;gap:8px;flex:0 0 auto;align-self:end;padding-bottom:10px;white-space:nowrap}.public .panel.terms-panel{max-width:760px}.terms-doc{margin:1rem 0}.terms-doc-head{display:flex;flex-direction:column;gap:2px;margin-bottom:.5rem}.terms-doc-head h2{margin:0;font-size:1.05rem}.terms-doc-head .muted{font-size:.82rem}.terms-body{max-height:46vh;overflow-y:auto;border:1px solid var(--line);border-radius:var(--radius);padding:12px 16px;background:var(--page)}.terms-agree{display:flex;align-items:flex-start;gap:10px;margin:1rem 0 .8rem;font-weight:600}.terms-agree input{margin-top:3px}.terms-actions{display:flex;gap:10px;flex-wrap:wrap}.terms-foot{font-size:.82rem;margin:.9rem 0 0}.terms-accepted{margin:.8rem 0 0;font-size:.85rem;color:var(--jade-fg);font-weight:600}.register-terms{display:flex;align-items:flex-start;gap:10px;font-size:.88rem}.register-terms input{margin-top:3px}.register-terms-text{max-height:220px;overflow-y:auto;border:1px solid var(--line);border-radius:var(--radius);padding:10px 14px;font-size:.85rem;background:var(--page)}.terms-admin-grid{display:grid;grid-template-columns:minmax(280px,380px) 1fr;grid-gap:16px;gap:16px;align-items:start}.terms-admin-list{display:grid;grid-gap:8px;gap:8px}.terms-admin-item{text-align:left;border:1px solid var(--line);background:var(--card);border-radius:var(--radius);padding:10px 12px;cursor:pointer;display:grid;grid-gap:3px;gap:3px;font:inherit;color:inherit}.terms-admin-item.active{border-color:var(--indigo-700);box-shadow:inset 3px 0 0 var(--indigo-700)}.terms-admin-item small{color:var(--muted)}.terms-status{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.terms-status.CURRENT{color:var(--jade-fg)}.terms-status.DRAFT{color:var(--amber-fg)}.terms-status.ARCHIVED{color:var(--muted)}.terms-editor{display:grid;grid-gap:12px;gap:12px}.terms-editor label{display:flex;flex-direction:column;gap:5px;font-weight:600;font-size:.85rem}.terms-editor textarea{min-height:360px;font-family:inherit}.terms-progress{display:flex;align-items:center;gap:12px;margin:.4rem 0 .8rem}@media (max-width:900px){.terms-admin-grid{grid-template-columns:1fr}}.tt-toolbar{justify-content:space-between;gap:12px}.tt-period,.tt-toolbar{display:flex;align-items:center;flex-wrap:wrap}.tt-period{gap:10px}.tt-dates{gap:8px;flex-wrap:wrap}.tt-dates,.tt-dates label{display:inline-flex;align-items:center}.tt-dates label{gap:6px;font-size:.85rem}.tt-note{font-size:.8rem;margin:.8rem 0 0}.ts-month{display:inline-flex;align-items:center;gap:8px;font-size:.9rem}.ts-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:.8rem}.ts-actions:empty{display:none}.ts-adjust{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin-top:.8rem;padding-top:.8rem;border-top:1px solid var(--line)}.ts-adjust label{display:flex;flex-direction:column;gap:4px;font-size:.82rem}.ts-adjust input[type=number]{width:5.5rem}.ts-motif{flex:1 1 260px}.ts-sequences{list-style:none;margin:.8rem 0 0;padding:0}.ts-sequences li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--line);font-size:.9rem}.sco-todo ul{list-style:none;margin:0;padding:0}.sco-todo li{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}.sco-todo li:last-child{border-bottom:0}.sco-todo li>span:nth-child(2){flex:1 1}.sco-todo-n{min-width:2.2rem;text-align:center;font-weight:700;font-size:1.05rem}.enroll-pieces{margin-top:.8rem;padding-top:.8rem;border-top:1px solid var(--line)}.enroll-pieces h4{margin:0 0 .5rem}.piece-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.piece-row:last-child{border-bottom:0}.piece-main{flex:1 1 260px;min-width:0}.piece-side{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.piece-comment{margin-top:4px;font-size:.85rem;color:var(--red-fg)}.piece-redo{flex-basis:100%;display:flex;gap:6px;flex-wrap:wrap}.piece-redo input{flex:1 1 240px}.docreq-list{list-style:none;margin:.8rem 0 0;padding:0}.docreq-list li{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:6px 0;border-bottom:1px solid var(--line);font-size:.9rem}.docreq-list li>span:first-child{flex:1 1}.docreq-note{flex-basis:100%;font-size:.82rem}.tut-bulk{align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.tut-bulk,.tut-relance{display:flex;margin-top:.8rem}.tut-relance{flex-direction:column;gap:6px;padding-top:.8rem;border-top:1px solid var(--line)}.tut-alert-who{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.tut-alert-who input{margin-top:4px}.tut-alert-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.tut-motifs{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.rdv-form{gap:10px}.rdv-form,.rdv-form label{display:flex;flex-direction:column}.rdv-form label{gap:4px}.rdv-students{border:1px solid var(--line);border-radius:8px;padding:8px 12px;max-height:260px;overflow-y:auto}.rdv-cancelled{opacity:.6}.rdv-cancelled strong{text-decoration:line-through}.rdv-held{gap:8px;margin-top:.8rem;padding-top:.8rem;border-top:1px solid var(--line)}.rdv-held,.rdv-held label{display:flex;flex-direction:column}.rdv-held label{gap:4px}.rdv-held input[type=number]{width:7rem}.tt-days{align-items:flex-end;height:130px;overflow-x:auto;padding-bottom:4px}.tt-day,.tt-days{display:flex;gap:4px}.tt-day{flex-direction:column;align-items:center;min-width:22px;flex:1 0 22px;height:100%}.tt-day-bar{flex:1 1;width:100%;max-width:26px;display:flex;align-items:flex-end;background:var(--surface);border-radius:4px}.tt-day-bar span{display:block;width:100%;background:var(--indigo-500);border-radius:4px;min-height:2px}.tt-day-lbl{font-size:10px;color:var(--muted);white-space:nowrap}.zoned-hint{display:block;font-size:.74rem;font-weight:400;margin-top:3px}.te-section{margin:1.4rem 0 .6rem}.te-inactive{opacity:.6}.te-score{display:inline-flex;align-items:center;gap:6px}.te-score-bar{width:70px;height:6px;border-radius:3px;background:var(--surface);overflow:hidden;display:inline-block}.te-score-bar span{display:block;height:100%;background:var(--indigo-500)}.te-comments{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.te-comments li{border-left:3px solid var(--line);padding:4px 0 4px 12px}.te-comments p{margin:0 0 2px}.te-comments .muted{font-size:.78rem}.te-rate-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.te-rate{display:inline-flex;gap:4px}.te-rate button{width:34px;height:34px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;font-weight:600;cursor:pointer}.te-rate button.on{background:var(--indigo-700);border-color:var(--indigo-700);color:var(--on-primary)}.te-rate button:focus-visible{outline:2px solid var(--indigo-500);outline-offset:2px}.te-grid{border-top:1px solid var(--line);padding-top:10px;margin-top:10px}.te-grid-scores{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:4px 16px;gap:4px 16px;font-size:.85rem}.te-grid-scores li{display:flex;justify-content:space-between;gap:8px}.te-grid-form{margin:12px 0;display:grid;grid-gap:8px;gap:8px}.scn-choice{flex-direction:column;gap:4px;font-size:.85rem;min-width:240px}.scn-choice,.scn-verdict{display:flex;font-weight:600}.scn-verdict{align-items:center;gap:8px;padding:10px 12px;border-radius:var(--radius-sm);margin:12px 0}.scn-verdict.ok{background:var(--jade-100);color:var(--jade-fg)}.scn-verdict.ko{background:var(--amber-100);color:var(--amber-fg)}.scn-steps{list-style:none;margin:0;padding:0;display:grid;grid-gap:6px;gap:6px}.scn-steps.compact{gap:2px;margin-top:8px}.scn-step{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-sm)}.scn-steps.compact .scn-step{border:0;padding:4px 0}.scn-step-ico{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;flex:0 0 22px;background:var(--slate-100);color:var(--muted)}.scn-step.ok .scn-step-ico{background:var(--jade-100);color:var(--jade-fg)}.scn-step.ko .scn-step-ico{background:var(--red-100);color:var(--red-fg)}.scn-step-main{display:flex;flex-direction:column;gap:2px;min-width:0}.scn-step-main .muted{font-size:.8rem}.scn-step-desc{font-style:italic}.scn-step-lessons{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.scn-warn{color:var(--amber-fg);font-size:.8rem}.ce-tag.ce-tag-step{background:var(--indigo-100);color:var(--indigo-700)}.scn-editor{display:grid;grid-gap:10px;gap:10px}.scn-editor>label{display:flex;flex-direction:column;gap:5px;font-weight:600;font-size:.85rem}.scn-edit-steps{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.scn-edit-step{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px}.scn-edit-fields{flex:1 1;display:grid;grid-gap:6px;gap:6px;min-width:0}.scn-edit-fields label{display:flex;flex-direction:column;gap:4px;font-size:.8rem;font-weight:600}.sy-head{justify-content:space-between;gap:16px;align-items:flex-start}.sy-head,.sy-head-actions{display:flex;flex-wrap:wrap}.sy-head-actions{gap:8px;align-items:center}.sy-progress{display:flex;align-items:center;gap:10px;max-width:360px;margin-top:8px}.sy-progress>:first-child{flex:1 1}.sy-statut{display:inline-block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:999px;background:var(--slate-100);color:var(--slate-fg)}.sy-statut.EN_VALIDATION{background:var(--saffron-100);color:var(--amber-fg)}.sy-statut.VALIDE{background:var(--indigo-100);color:var(--indigo-700)}.sy-statut.PUBLIE{background:var(--jade-100);color:var(--jade-fg)}.sy-statut.A_REVISER{background:var(--red-100);color:var(--red-fg)}.sy-save{font-size:.8rem;color:var(--muted)}.sy-save.error{color:var(--red-fg)}.sy-layout{display:grid;grid-template-columns:260px 1fr;grid-gap:16px;gap:16px;align-items:start}.sy-nav{position:-webkit-sticky;position:sticky;top:76px;display:grid;grid-gap:2px;gap:2px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:8px}.sy-nav hr{border:0;border-top:1px solid var(--line);margin:6px 0}.sy-nav-item{display:flex;align-items:center;gap:8px;text-align:left;background:none;border:0;border-radius:var(--radius-sm);padding:7px 8px;font:inherit;font-size:.85rem;color:var(--ink);cursor:pointer}.sy-nav-item:hover{background:var(--surface)}.sy-nav-item.on{background:var(--indigo-100);color:var(--indigo-700);font-weight:600}.sy-nav-num{width:30px;flex:0 0 30px;color:var(--muted);font-weight:600;font-size:.78rem}.sy-dot{width:9px;height:9px;border-radius:50%;flex:0 0 9px;background:var(--line)}.sy-dot.ok{background:var(--jade-600)}.sy-dot.todo{background:var(--saffron)}.sy-dot.error{background:var(--red-600)}.sy-main{min-width:0}.sy-aide{font-size:.85rem}.sy-anon{display:flex;align-items:center;gap:6px;font-size:.82rem}.sy-fields{display:grid;grid-gap:16px;gap:16px}.sy-label{display:block;font-weight:600;font-size:.88rem;margin-bottom:4px}.sy-req{color:var(--red-fg)}.sy-help{font-size:.78rem;margin:2px 0 6px}.sy-field input:not([type=checkbox]),.sy-field select,.sy-field textarea{width:100%}.sy-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:4px 14px;gap:4px 14px}.sy-check{display:flex;gap:8px;align-items:flex-start;font-size:.86rem;font-weight:400}.sy-check input{margin-top:3px}.sy-group{border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px;margin:0}.sy-group legend{font-weight:600;font-size:.88rem;padding:0 4px}.sy-group-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:10px 14px;gap:10px 14px}.sy-group-grid .sy-textarea{grid-column:1/-1}.sy-cell{display:flex;flex-direction:column;gap:3px;min-width:0}.sy-cell.sy-bool{flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:8px}.sy-cell-label{font-size:.76rem;font-weight:600;color:var(--muted)}.sy-table{display:grid;grid-gap:10px;gap:10px}.sy-row{border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 10px;background:var(--surface)}.sy-row-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.sy-row-tools{display:inline-flex;gap:2px}.sy-row-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:8px 12px;gap:8px 12px}.sy-row-grid .sy-checks,.sy-row-grid .sy-textarea{grid-column:span 2}.sy-total{margin:14px 0 0;font-size:.9rem}.sy-total.ok b{color:var(--jade-fg)}.sy-total.ko b{color:var(--red-fg)}.sy-institution{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 14px;margin-bottom:16px}.sy-institution h4{margin:10px 0 4px;font-size:.86rem}.sy-institution ul{margin:0;padding-left:18px}.sy-lock{display:flex;align-items:center;gap:6px;font-size:.8rem;margin:0 0 6px}.sy-dl{display:grid;grid-template-columns:max-content 1fr;grid-gap:4px 14px;gap:4px 14px;margin:6px 0;font-size:.88rem}.sy-dl dt{color:var(--muted)}.sy-dl dd{margin:0}.sy-dl-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.sy-dl-grid>div{display:flex;flex-direction:column}.sy-dl-grid dt{font-size:.76rem}.sy-read h4{margin:0 0 4px;font-size:.88rem}.sy-read p,.sy-read ul{margin:0}.sy-read-table td{vertical-align:top}.sy-responsable{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:.85rem;max-width:360px;margin-top:14px}.sy-rules{list-style:none;margin:0;padding:0;display:grid;grid-gap:6px;gap:6px}.sy-rule{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-sm)}.sy-rule>div{flex:1 1;font-size:.88rem}.sy-rule-ico{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;flex:0 0 22px;background:var(--jade-100);color:var(--jade-fg)}.sy-rule.ko .sy-rule-ico{background:var(--red-100);color:var(--red-fg)}.sy-rule.warn .sy-rule-ico{background:var(--saffron-100);color:var(--amber-fg)}.sy-rule-msg{color:var(--muted);font-size:.8rem;margin-top:2px}.sy-row-ko td{background:var(--red-100)}.sy-visas{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.sy-visa{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border:1px solid var(--line);border-left-width:4px;border-radius:var(--radius-sm);padding:8px 12px}.sy-visa.FAVORABLE{border-left-color:var(--jade-600)}.sy-visa.RESERVES{border-left-color:var(--saffron)}.sy-visa.DEFAVORABLE{border-left-color:var(--red-600)}.sy-visa-comment{margin:4px 0 0;font-size:.85rem}.sy-visa-form{min-width:260px}.sy-return,.sy-visa-form{display:grid;grid-gap:6px;gap:6px}.sy-return{margin-top:14px}.sy-return h4{margin:0}.sy-versions{list-style:none;padding:0;margin:0 0 10px;display:grid;grid-gap:4px;gap:4px}.sy-compare{display:flex;flex-direction:column;gap:4px;max-width:260px;font-weight:600;font-size:.85rem}.sy-diff-section{margin-top:12px}.sy-diff{border-top:1px solid var(--line);padding:8px 0}.sy-diff-cols{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-top:4px}.sy-diff-cols p{margin:2px 0 0;white-space:pre-wrap;font-size:.86rem}.sy-diff-before{background:var(--red-100)}.sy-diff-after,.sy-diff-before{border-radius:var(--radius-sm);padding:6px 8px}.sy-diff-after{background:var(--jade-100)}.sy-indicators,.sy-rules-help{margin-top:14px}.sy-rules-help{font-size:.85rem}.sy-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.sy-create{align-items:flex-end}.sy-tosign ul{margin:0;padding-left:18px}.sy-learner-head{display:grid;grid-gap:6px;gap:6px;justify-items:start}.sy-learner-kpis{display:flex;gap:16px;flex-wrap:wrap;margin:4px 0;font-size:.9rem}.sy-learner-section summary{cursor:pointer;padding:2px 0}.sy-learner-section[open] summary{margin-bottom:10px}.hub-syllabus{margin-top:6px}.sya-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:10px;gap:10px;margin-bottom:12px}.sya-grid label,.sya-refs label{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:.85rem}.sya-refs{display:grid;grid-gap:12px;gap:12px}.sya-modules input{min-width:80px}.sya-fonction{margin:4px 0}.sya-person{display:inline-flex;align-items:center;gap:6px;margin-right:6px}@media (max-width:900px){.sy-layout{grid-template-columns:1fr}.sy-nav{position:static}.sy-diff-cols{grid-template-columns:1fr}.sy-row-grid .sy-checks,.sy-row-grid .sy-textarea{grid-column:auto}}.tint-teal{--tint-bg:#dbeff0;--tint-fg:#0e6e74}.tint-blue{--tint-bg:#e0ecfb;--tint-fg:#1d5fb4}.tint-green{--tint-bg:#e1f0e8;--tint-fg:#1f7a54}.tint-amber{--tint-bg:#f6e6da;--tint-fg:#a74100}.tint-gold{--tint-bg:#fbf0d2;--tint-fg:#8a6200}.tint-violet{--tint-bg:#ebe6f8;--tint-fg:#5b3fb0}.tint-rose{--tint-bg:#fbe6ec;--tint-fg:#b3264f}.tint-slate{--tint-bg:#eef0f4;--tint-fg:#475069}body.dark .tint-teal{--tint-bg:#10353b;--tint-fg:#5cc9ce}body.dark .tint-blue{--tint-bg:#172f4d;--tint-fg:#7fb2f0}body.dark .tint-green{--tint-bg:#12352a;--tint-fg:#63c79b}body.dark .tint-amber{--tint-bg:#3a2413;--tint-fg:#f0995a}body.dark .tint-gold{--tint-bg:#3a3016;--tint-fg:#e6bd55}body.dark .tint-violet{--tint-bg:#2a2350;--tint-fg:#ab98ee}body.dark .tint-rose{--tint-bg:#3f1c29;--tint-fg:#f08aa8}body.dark .tint-slate{--tint-bg:#22323a;--tint-fg:#a9b8c6}:root{--page:#f5f8f8}.sidebar{background:var(--card);color:var(--ink);border-right:1px solid var(--line)}.brand{border-bottom-color:var(--line)}.brand .mark.brand-icon{border:1px solid var(--line)}.brand b{color:var(--indigo-900)}.brand small{color:var(--muted)}body.dark .brand b{color:var(--ink)}.nav .sect{color:var(--muted)}.nav a{color:var(--slate-fg);font-size:13.5px}body.dark .nav a{color:var(--muted)}.nav a:hover{background:var(--surface);color:var(--ink)}.nav a.active{background:var(--indigo-100)}.nav a.active,.nav a.active .ico{color:var(--indigo-700)}.nav .ico{color:var(--muted)}.side-foot{border-top-color:var(--line)}.side-foot .rl{color:var(--muted)}.side-foot .rolename{color:var(--ink)}.side-foot .side-help{color:var(--muted)}.side-foot .logout,.side-foot .side-help:hover{color:var(--indigo-700)}.side-foot .logout{background:var(--surface);border-color:var(--line)}.topbar{padding:10px 28px}.topbar .pt{font-size:18px}.content{padding:22px 28px 56px;max-width:1440px}.console-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 16px;margin-bottom:16px}.console-banner p{margin:0;font-size:14px}.console-banner-meta{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.console{display:grid;grid-template-columns:minmax(0,1fr) 280px;grid-gap:20px;gap:20px;align-items:start}.console.no-side{grid-template-columns:minmax(0,1fr)}.console-main{min-width:0}.console-sect{margin-bottom:18px}.console-sect-title{margin:0 0 8px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.mtiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:10px;gap:10px}.mtile{position:relative;display:flex;align-items:center;gap:12px;min-height:64px;padding:10px 14px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);text-decoration:none;transition:border-color var(--tr-fast),background var(--tr-fast)}.mtile:hover{border-color:var(--tint-fg);background:var(--surface)}.mtile-ico{flex:none;width:38px;height:38px;border-radius:var(--radius-sm);display:grid;place-items:center;background:var(--tint-bg);color:var(--tint-fg)}.mtile-txt{display:flex;flex-direction:column;gap:2px;min-width:0;padding-right:22px}.mtile-title{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;line-height:1.25}.mtile-desc{font-size:12px;color:var(--muted);line-height:1.3}.mtile-badge{position:absolute;top:-7px;right:10px;min-width:26px;padding:2px 7px;border-radius:999px;background:var(--tint-fg);color:var(--card);font-size:11px;font-weight:700;line-height:1.35;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mtile-badge.alert{background:var(--red-600);color:#fff}.console-rights>summary{cursor:pointer;font-weight:650;font-size:15px}.console-rights[open]>summary{margin-bottom:8px}.console-side{position:-webkit-sticky;position:sticky;top:76px;display:grid;grid-gap:10px;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px}.console-side-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.console-side-head h2,.console-side-head h3{margin:0;font-size:15px}.console-chart h3,.console-chart h4{margin:6px 0;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.console-last{margin:0}.stile{display:flex;align-items:center;gap:10px;padding:9px 12px;background:var(--card);border:1px solid var(--line);border-left:3px solid var(--tint-fg)}.stile,.stile-ico{border-radius:var(--radius-sm)}.stile-ico{flex:none;width:32px;height:32px;display:grid;place-items:center;background:var(--tint-bg);color:var(--tint-fg)}.stile-body{display:flex;flex-direction:column;min-width:0}.stile-label{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.stile-value{font-family:var(--fd);font-size:19px;font-weight:700;color:var(--ink);line-height:1.2;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stile-hint{font-size:11.5px;color:var(--muted)}.stiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:12px;gap:12px;margin-bottom:16px}.minibars{display:grid;grid-template-columns:auto 1fr;grid-column-gap:6px;column-gap:6px}.minibars-max{font-size:10.5px;color:var(--muted);line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.minibars-plot{gap:2px;height:64px;border-bottom:1px solid var(--line)}.minibars-col,.minibars-plot{display:flex;align-items:flex-end}.minibars-col{flex:1 1;height:100%}.minibars-bar{display:block;width:100%;min-height:1px;background:var(--indigo-500);border-radius:4px 4px 0 0}.minibars-col:hover .minibars-bar{background:var(--indigo-700)}.minibars-axis{grid-column:2;display:flex;justify-content:space-between;font-size:10.5px;color:var(--muted);margin-top:3px}.distbar-track{display:flex;gap:2px;height:16px;border-radius:4px;overflow:hidden;background:var(--surface)}.distbar-seg{display:block;min-width:3px}.distbar-key.step-0,.distbar-seg.step-0{background:#a9d6d8}.distbar-key.step-1,.distbar-seg.step-1{background:#1e969c}.distbar-key.step-2,.distbar-seg.step-2{background:#033f48}body.dark .distbar-key.step-0,body.dark .distbar-seg.step-0{background:#1f5257}body.dark .distbar-key.step-1,body.dark .distbar-seg.step-1{background:#2aa5ab}body.dark .distbar-key.step-2,body.dark .distbar-seg.step-2{background:#9be3e6}.distbar-legend{list-style:none;margin:10px 0 0;padding:0;display:flex;gap:6px 18px;flex-wrap:wrap;font-size:13px}.distbar-legend li{display:inline-flex;align-items:center;gap:6px}.distbar-key{width:10px;height:10px;border-radius:3px}.distbar-name{color:var(--muted)}.ptoolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}.ptoolbar .grow{flex:1 1}.ptoolbar input[type=search],.ptoolbar select{padding:6px 10px;font-size:13px;height:34px}.ptoolbar input[type=search]{width:220px}.ptoolbar .btn{height:34px;padding:0 12px;font-size:13px}.viewtoggle{display:inline-flex;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}.viewtoggle button{background:var(--card);color:var(--muted);border:0;border-radius:0;padding:0 10px;height:32px}.viewtoggle button+button{border-left:1px solid var(--line)}.viewtoggle button.on{background:var(--indigo-100);color:var(--indigo-700)}.cthumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(164px,1fr));grid-gap:12px;gap:12px}.cthumb{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;color:var(--ink);text-decoration:none;transition:border-color var(--tr-fast)}.cthumb:hover{border-color:var(--indigo-500)}.cthumb.draft{border-left:4px solid var(--saffron);background:var(--saffron-100)}.ccover{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--surface)}.ccover-generic{display:grid;place-items:center;background:var(--tint-bg);color:var(--tint-fg)}.ccover-disc{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:2px solid;background:var(--card)}.cthumb-body{display:flex;flex-direction:column;align-items:center;gap:5px;padding:9px 10px 12px;text-align:center;flex:1 1}.cthumb-code{font-weight:700;letter-spacing:.03em}.cthumb-code,.cthumb-title{font-size:12px;text-transform:uppercase}.cthumb-title{color:var(--muted);letter-spacing:.02em;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cthumb-meta{font-size:11.5px;color:var(--muted);display:inline-flex;gap:4px;align-items:center;flex-wrap:wrap;justify-content:center}.cthumb .progressbar,.cthumb-prog{width:100%;margin-top:auto}.cthumb-prog{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chip2{display:inline-flex;align-items:stretch;border-radius:4px;overflow:hidden;font-size:10.5px;font-weight:700;line-height:1.5}.chip2-l{padding:1px 5px;background:var(--indigo-800);color:#fff}.chip2-v{padding:1px 6px;background:var(--indigo-500);color:#fff}.chip2.tone-green .chip2-l{background:#19573d}.chip2.tone-green .chip2-v{background:var(--jade-600)}.chip2.tone-gold .chip2-l{background:#6b4c00}.chip2.tone-gold .chip2-v{background:#8a6200}.ptable .ccover{width:64px;border-radius:6px}.ptable td{vertical-align:middle}.ptable a{font-weight:600;text-decoration:none}.cthumbs-group{margin:16px 0 18px}.cthumbs-group>h4{margin:0 0 8px;font-size:13px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cthumbs-group>h4 a{color:var(--ink);text-decoration:none}.cthumbs-group>h4 a:hover{color:var(--indigo-700)}.chead{display:grid;grid-template-columns:200px minmax(0,1fr) auto;grid-gap:18px;gap:18px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin:4px 0 14px}.chead .ccover{border-radius:var(--radius-sm);border:1px solid var(--line)}.chead-main{min-width:0;border-left:3px solid var(--indigo-500);padding-left:14px;display:flex;flex-direction:column;gap:4px;align-items:flex-start}.chead-title{margin:0;font-size:19px;line-height:1.25}.chead-tags{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.chead-code{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--indigo-900);color:#fff;letter-spacing:.03em}body.dark .chead-code{background:var(--indigo-100);color:var(--ink)}.chead-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.chead-figs{display:grid;grid-template-columns:repeat(2,minmax(150px,auto));grid-gap:2px 26px;gap:2px 26px;margin:0}.chead-figs div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:2px 0 2px 8px;border-left:2px solid var(--tint-fg,var(--line));font-size:12.5px}.chead-figs dt{color:var(--muted);display:inline-flex;align-items:center;gap:6px}.chead-figs dd{margin:0;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.itabs{display:flex;gap:2px;flex-wrap:wrap;margin-bottom:14px;border-bottom:1px solid var(--line)}.itabs button{background:transparent;color:var(--muted);border:0;border-bottom:2px solid transparent;border-radius:var(--radius-sm) var(--radius-sm) 0 0;padding:8px 12px;font-size:13px;margin-bottom:-1px}.itabs button:hover{background:var(--surface);color:var(--ink)}.itabs button.on{background:var(--indigo-100);color:var(--indigo-700);border-bottom-color:var(--indigo-700)}.itabs .itab-n{font-size:11px;font-weight:700;padding:0 6px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--muted)}.itabs button.on .itab-n{background:var(--card);color:var(--indigo-700)}.cstats-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);grid-gap:16px;gap:16px;align-items:start}.cstats-grid .card{margin:0}.cover-edit{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.cover-edit .ccover{width:180px;border-radius:var(--radius-sm);border:1px solid var(--line)}.cover-drop{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.modal.ctp{max-width:640px;max-height:calc(100vh - 40px);overflow-y:auto}.ctp-group{margin-bottom:14px}.ctp-label{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.ctp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));grid-gap:6px;gap:6px}.ctp-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 4px;background:transparent;color:var(--ink);border:1px solid transparent;border-radius:var(--radius-sm);font-size:12px;font-weight:500;line-height:1.25}.ctp-item:hover{background:var(--surface)!important;border-color:var(--line)}.ctp-disc{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--tint-fg);color:var(--card)}.ctp-name{text-align:center}.lbe-picker{display:block}.lbe-picker-group{gap:.5rem;margin-bottom:.9rem}.lbe-picker .ctp-disc{width:36px;height:36px}.modal.welcome-modal{max-width:520px;position:relative;text-align:center;padding:26px 26px 20px}.welcome-close{position:absolute;top:12px;right:12px}.welcome-logo{width:52px;height:52px;object-fit:contain}.welcome-modal h3{margin:8px 0 4px;font-size:20px}.welcome-sect{margin:18px 0 8px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.welcome-figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:8px;gap:8px}.welcome-figure{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.welcome-figure b{font-size:14px}.welcome-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.welcome-shortcut{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);text-decoration:none;font-size:12.5px;font-weight:600}.welcome-shortcut:hover{border-color:var(--tint-fg);background:var(--surface)}.welcome-off{justify-content:center;margin-top:16px;font-weight:500;color:var(--muted)}@media (max-width:1100px){.console{grid-template-columns:minmax(0,1fr)}.console-side{position:static}.chead{grid-template-columns:140px minmax(0,1fr)}.chead-figs{grid-column:1/-1}.cstats-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:680px){.chead{grid-template-columns:minmax(0,1fr)}.chead-figs,.welcome-shortcuts{grid-template-columns:1fr}.content{padding:16px 14px 48px}.topbar{padding:10px 14px}}@media (prefers-reduced-motion:reduce){.cthumb,.mtile{transition:none}}.livret-card{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-left:3px solid var(--indigo-500)}.livret-inline{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.livret-inline .card{box-shadow:none}.verify-page.verify-livret{place-items:start center}.verify-livret-col{width:100%;max-width:720px}.verify-logo{display:block;height:44px;width:auto;margin-bottom:10px}.verify-livret h1{font-size:22px;margin:0 0 12px}.verify-how{margin:14px 0 0;font-size:.88rem}html{font-size:15px}.shell{grid-template-columns:224px 1fr}.brand{padding:13px 16px}.brand .mark{width:34px;height:34px}.brand b{font-size:17px}.brand small{font-size:9px}.nav{padding:10px}.nav a{font-size:13px;padding-top:7px;padding-bottom:7px;margin-bottom:1px}.topbar{padding:8px 24px;gap:10px}.topbar .pt{font-size:16.5px}.tb-ico{width:34px;height:34px;border-radius:8px}.me .av{width:32px;height:32px}.content{padding:14px 24px 48px}.card{padding:16px 18px;margin-bottom:12px}.card h2,.card h3{font-size:15px;margin-bottom:10px}.btn,button{font-size:13px;padding:8px 13px}input,select,textarea{font-size:.93rem;padding:.48rem .65rem}.table th{font-size:10.5px}.table td{padding-top:8px;padding-bottom:8px;font-size:13px}.mtiles{grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:8px}.mtile{min-height:54px;padding:8px 11px;gap:10px}.mtile-ico{width:34px;height:34px}.mtile-desc,.mtile-title{font-size:11.5px}.console{grid-template-columns:minmax(0,1fr) 256px;gap:16px}.console-sect{margin-bottom:14px}.cthumbs{grid-template-columns:repeat(auto-fill,minmax(138px,1fr));gap:10px}.cthumb-body{padding:7px 8px 10px;gap:4px}.cthumb-code{font-size:11.5px}.cthumb-title{font-size:11px}.cthumb-meta{font-size:10.5px}.ccover-disc{width:36px;height:36px}.ccover-disc svg{width:18px;height:18px}@media (max-width:1040px){.shell{grid-template-columns:74px 1fr}}@media (max-width:680px){.shell{grid-template-columns:1fr}}@media (max-width:1100px){.console{grid-template-columns:minmax(0,1fr)}}.breadcrumb.crumbbar{background:var(--card);border-bottom:1px solid var(--line);padding:5px 24px}.breadcrumb.crumbbar ol{margin:0;font-size:12.5px;gap:2px}.breadcrumb.crumbbar [aria-current=page],.breadcrumb.crumbbar a{padding:2px 5px}.admintabs{gap:2px;margin-bottom:14px}.admintabs a{padding:7px 12px;font-size:13px;border-radius:var(--radius-sm) var(--radius-sm) 0 0}.admintabs a:hover{background:var(--surface)}.admintabs a.active{background:var(--indigo-100);color:var(--indigo-700);border-bottom-color:var(--indigo-700)}.subtabs{gap:2px;border-bottom:1px solid var(--line);margin-bottom:14px}.subtabs button{background:transparent;border:0;border-bottom:2px solid transparent;border-radius:var(--radius-sm) var(--radius-sm) 0 0;padding:7px 12px;margin-bottom:-1px}.subtabs button:hover{background:var(--surface);color:var(--ink)}.subtabs button.on{background:var(--indigo-100);color:var(--indigo-700);border-color:transparent;border-bottom-color:var(--indigo-700)}.dash-hero.dash-hero-page{padding:10px 14px;gap:12px;margin-bottom:12px;border-radius:var(--radius-sm)}.dash-hero-page .dash-avatar{width:38px;height:38px;border-radius:var(--radius-sm)}.dash-hero-page .dash-avatar svg{width:20px;height:20px}.dash-hero-page .dash-greet{display:none}.dash-hero-page .dash-name{font-size:16px;margin:0}.dash-hero-page .dash-meta{margin-top:1px}.dash-hero-page .dash-date{font-size:12px;text-transform:none}.welcome{margin-bottom:12px}.welcome h2{font-size:19px}.welcome p{margin:2px 0 0;font-size:13px;color:var(--muted)}.kgrid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:14px}.kpi{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:2px;padding:9px 12px;border-left:3px solid var(--indigo-500);border-radius:var(--radius-sm);box-shadow:none}.kpi .n{font-size:20px;font-weight:700;line-height:1.2;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpi .l{margin-top:0;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.kpi:has(.n.ok){border-left-color:var(--jade-600)}.kpi:has(.n.warn){border-left-color:var(--amber-700)}.catalog-card{padding:0 0 14px;overflow:hidden;display:flex;flex-direction:column}.catalog-card>:not(.catalog-cover){margin-left:16px;margin-right:16px}.catalog-cover{aspect-ratio:16/5;margin-bottom:12px}.catalog-card .badge{align-self:flex-start}.catalog-card h2{font-size:15px;margin-top:8px;margin-bottom:6px}.catalog-desc{font-size:13px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.catalog-card .meta{margin-top:auto;padding-top:8px;font-size:12px}div.cthumb{cursor:default}.chead.chead-plain{grid-template-columns:minmax(0,1fr) auto}.chead-plain .chead-figs{grid-template-columns:minmax(190px,auto)}.ptoolbar.pgroup{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:6px 10px;min-height:46px}.ptable tr.selected td{background:var(--indigo-100)!important}.ptable input[type=checkbox]{width:15px;height:15px}.course-layout{grid-template-columns:minmax(230px,280px) 1fr;gap:12px}.course-nav{top:12px;padding:12px 10px}.course-nav h3{padding:0 6px}.course-lessons .lesson-row{display:flex;align-items:center;gap:6px;padding:2px 4px;border-bottom:0;border-radius:var(--radius-sm)}.course-lessons .lesson-row.active{background:var(--indigo-100)}.lesson-open.pl-open{flex:1 1;min-width:0;display:flex;align-items:center;justify-content:flex-start;gap:9px;padding:6px 4px;background:transparent;border:0;color:var(--ink);text-align:left;font-weight:400}.pl-ico{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--tint-fg);color:var(--card)}.lesson-row.locked .pl-ico{background:var(--slate-100);color:var(--muted)}.pl-txt{display:flex;flex-direction:column;min-width:0;gap:1px}.pl-txt .lesson-open-title{font-size:12.5px;font-weight:600;line-height:1.3;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-decoration:none}.pl-meta{font-size:11px;color:var(--muted);display:inline-flex;gap:4px;align-items:center;flex-wrap:wrap}.course-lessons .lesson-check{flex:none;width:20px;height:20px;padding:0;border-radius:50%}.course-lessons .lesson-fav{flex:none;padding:2px}.lesson-viewer-head{flex-wrap:wrap}.pl-step{margin-left:auto;display:inline-flex;align-items:center;gap:6px}.pl-step .lesson-nav-toggle{margin-left:0}.pl-pos{font-size:12px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;padding:0 2px}.hub-course-main{justify-content:flex-start;text-align:left}.course-lessons .lesson-row.done .pl-txt .lesson-open-title{text-decoration:none;color:var(--muted)}.course-lessons .lesson-row.active .pl-txt .lesson-open-title{color:var(--indigo-700)}.cthumb-title:first-child{margin-top:2px}.lesson-edit-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.lesson-edit-bar .pl-pos{font-size:13px;padding:0 6px}.lesson-edit-bar .lesson-edit-preview{margin-left:auto}.lesson-plan-hint{font-size:12px;margin:0 6px 8px}.lesson-plan .lesson-row.new .pl-ico{background:var(--slate-100);color:var(--muted)}.lesson-plan .lesson-plan-add{margin:10px 6px 0}.sy-pdf{display:grid;grid-gap:10px;gap:10px}.sy-pdf-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.sy-pdf-head h3{margin:0 0 4px}.sy-pdf-head p{margin:0}.sy-pdf-file{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.sy-pdf-file .sy-pdf-name{font-weight:600;word-break:break-word}.sy-pdf-actions{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}.sy-pdf-revision{display:flex;flex-direction:column;gap:5px;font-weight:600;font-size:.85rem;max-width:260px}.sy-pdf-frame{width:100%;height:78vh;min-height:480px;background:var(--surface)}.cat-teachers,.sy-pdf-frame{border:1px solid var(--line);border-radius:var(--radius-sm)}.cat-teachers{margin:10px 0 4px;padding:8px 12px}.cat-teachers summary{cursor:pointer}.cat-teachers p{margin:8px 0;font-size:13px}.cat-teachers-list{display:grid;grid-gap:4px;gap:4px;margin-bottom:10px}.cat-teachers-list label{font-weight:400;display:block}.webcam-check{display:flex;gap:14px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);margin:10px 0;flex-wrap:wrap}.webcam-check-txt{flex:1 1;min-width:200px;display:grid;grid-gap:6px;gap:6px}.webcam-check-txt p{margin:0;font-size:13px}.webcam-view{width:180px;aspect-ratio:4/3;border-radius:var(--radius-sm);background:var(--slate-100);color:var(--muted);display:grid;place-items:center;overflow:hidden;flex:none}.webcam-view video{width:100%;height:100%;object-fit:cover;display:none;transform:scaleX(-1)}.webcam-view.on video{display:block}.webcam-view.small{width:96px}.webcam-ok{color:var(--jade-fg);font-weight:600;display:inline-flex;gap:6px;align-items:center}.webcam-live{position:-webkit-sticky;position:sticky;top:8px;z-index:6;display:flex;align-items:center;gap:10px;width:-moz-fit-content;width:fit-content;margin-left:auto;padding:6px 10px 6px 6px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);box-shadow:var(--shadow-md)}.webcam-live.off{border-color:var(--danger,#b3261e)}.webcam-live-txt{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;flex-wrap:wrap}.webcam-dot{width:8px;height:8px;border-radius:50%;background:var(--danger,#b3261e)}.proc-captures{margin-top:10px}.proc-captures-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));grid-gap:8px;gap:8px;margin:8px 0}.proc-capture{margin:0}.proc-capture img,.proc-capture-vide{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-sm);background:var(--slate-100)}.proc-capture figcaption{font-size:11px;color:var(--muted);text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pub-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;margin-bottom:14px;border:1px solid var(--line);border-left-width:5px;border-radius:var(--radius-sm);background:var(--card)}.pub-banner.draft{border-color:var(--amber-700);background:var(--amber-100)}.pub-banner.on{border-left-color:var(--jade-600)}.pub-ico{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--card);color:var(--ink);border:1px solid var(--line)}.pub-txt{flex:1 1;min-width:220px;display:flex;flex-direction:column;gap:2px}.pub-txt strong{font-size:15px}.pub-txt span{font-size:13px;color:var(--ink)}.pub-banner.on .pub-txt span{color:var(--muted)}.pub-action{font-size:15px;padding:10px 22px;font-weight:700}.pub-reminder{display:flex;align-items:center;gap:8px}.itabs-main{gap:6px;border-bottom:2px solid var(--line);margin-bottom:16px;padding-bottom:0}.itabs-main button{display:inline-flex;align-items:center;gap:7px;padding:10px 16px;font-size:14.5px;font-weight:600;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-bottom:0;margin-bottom:-2px}.itabs-main button:hover{background:var(--indigo-100);color:var(--indigo-700)}.itabs-main button.on{background:var(--indigo-700);color:var(--card);border-color:var(--indigo-700)}.itabs-main button.on .itab-n{background:var(--card);color:var(--indigo-700);border-color:var(--card)}.itabs-main .itab-n{font-size:12px}.lesson-pub{white-space:nowrap}.lesson-visible{padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.ev-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;margin-left:auto}.ev-todo{color:var(--amber-fg);font-weight:700}.sub-title{margin:18px 0 6px;font-size:14px}.itabs .itab-n.itab-todo{background:var(--amber-700);border-color:var(--amber-700);color:var(--card)}.crumbrow{display:flex;align-items:center;gap:10px;background:var(--card);border-bottom:1px solid var(--line);padding:5px 24px}.crumbrow .breadcrumb.crumbbar{background:transparent;border-bottom:0;padding:0;flex:1 1;min-width:0}.back-link.back-crumb{padding:4px 10px 4px 7px;margin-bottom:0;font-size:12.5px;font-weight:600;flex:none}.crumb .back-link{margin:0 6px 0 0;cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;padding:4px 10px 4px 7px}.proc-copies{margin:0 0 12px;padding:10px 14px;border:1px solid var(--line);border-radius:8px;background:var(--bg)}.proc-copies-titre{display:flex;align-items:center;gap:6px;margin:0 0 6px;font-size:12.5px;font-weight:600}.proc-copie{border-top:1px solid var(--line);padding:7px 0;font-size:13.5px}.proc-copie-tete{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.lesson-audio{display:block;width:100%;margin:12px 0}.cap-fields{display:grid;grid-gap:14px;gap:14px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.cap-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.cap-transcript{margin-top:12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card)}.cap-transcript summary{cursor:pointer;padding:10px 14px;font-weight:600}.cap-transcript-texte{white-space:pre-wrap;line-height:1.6;padding:0 14px 14px;max-height:50vh;overflow-y:auto}.toast-zone{display:flex;flex-direction:column;gap:10px}.toast-closable{display:flex;align-items:flex-start;gap:10px;pointer-events:auto}.toast-closable>span{flex:1 1}.toast-close{flex:none;background:none;border:none;color:inherit;padding:2px;border-radius:6px;margin:-2px -6px -2px 0}.toast-close:hover{background:rgba(255,255,255,.16)}.pwd-field{display:flex;flex-direction:column;gap:.4rem}.pwd-field>.pwd-wrap{width:100%}.row>.pwd-field{flex:1 1;min-width:0}.lb-opt.good .lb-opt-ico{color:var(--jade-fg);flex:none}.lb-opt.bad .lb-opt-ico{color:var(--red-fg);flex:none}.lb-blank-ico{vertical-align:middle;margin-left:2px}.lb-blank-ico.good{color:var(--jade-fg)}.lb-blank-ico.bad{color:var(--red-fg)}.lb-quiz-fb:focus{outline:none}.lb-quiz-fb:focus-visible{outline:2px solid var(--indigo-500);outline-offset:4px;border-radius:4px}.exam-clock-warn{font-weight:700}.exam-save:empty{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.copie-nom,.msg-thread-title{margin:0;font-size:1rem;font-weight:700}.copie-nom{letter-spacing:0}h2[tabindex="-1"]:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.install-panel .btn-p{display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.install-steps{margin-top:1.25rem}.install-steps h2{display:flex;align-items:center;gap:.5rem;font-size:1rem;margin:0 0 .5rem}.install-steps ol{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:.4rem;line-height:1.5}.install-steps li svg{vertical-align:-3px}.install-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 16px 0;padding:12px 16px;background:var(--indigo-100);border:1px solid var(--line);border-left:4px solid var(--indigo-700);border-radius:var(--radius-sm);color:var(--ink);font-size:.9rem}.install-banner>svg{flex:none;color:var(--indigo-700)}.install-banner>span{flex:1 1;min-width:12rem}.install-banner .btn{display:inline-flex;align-items:center;gap:6px}.install-banner-close{flex:none;display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted);cursor:pointer}.install-banner-close:hover{background:var(--surface);color:var(--ink)}.msg-back{display:none}@media (max-width:680px){.sidebar:not(.open){box-shadow:none}.tb-lang,.tb-theme{display:none}.install-banner{margin:10px 14px 0;padding:10px 12px;gap:10px}.install-banner-text{display:none}.install-banner>span{min-width:0}.course-hub-grid{grid-template-columns:minmax(0,1fr)}.course-hub-card{min-width:0}.course-hub-progress{min-width:0;flex:1 1 100%}.msg-layout.has-thread .msg-list,.msg-layout:not(.has-thread) .msg-main{display:none}.msg-back{display:inline-flex;align-items:center;gap:6px;margin:0 0 10px;padding:6px 10px 6px 6px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);color:var(--ink);font-size:.85rem;font-weight:600}.msg-thread-head{flex-wrap:wrap}.msg-thread-head .msg-back{flex-basis:auto}}@media (max-width:900px){.course-layout,.course-layout.nav-hidden{grid-template-columns:minmax(0,1fr)}.course-nav{position:static;max-height:none}}@media (max-width:680px){.course-layout .course-main{order:-1}.lesson-viewer-head h2{flex:1 1 100%;overflow-wrap:anywhere}.lesson-viewer-head .pl-step{margin-left:0;width:100%}.lesson-viewer-head .pl-step .lesson-nav-toggle{margin-left:auto}.hub-lesson .badge.lesson-type{display:none}.burger{display:inline-flex}.collapse-toggle{display:none}}.lb{grid-template-columns:minmax(0,1fr)}@media (max-width:680px){.lb-audio{flex-wrap:wrap}.lb-audio-el{flex:1 1 100%;width:100%}}.seq-fiche h3{margin-top:0}.seq-fiche-dl{display:grid;grid-gap:10px;gap:10px;margin:0}.seq-fiche-dl dt{color:var(--muted);font-size:.82rem;font-weight:600}.seq-fiche-dl dd{margin:2px 0 0;white-space:pre-line}.seq-annee{margin:18px 0 6px;padding-bottom:4px;border-bottom:1px solid var(--line);font-size:.95rem;color:var(--indigo-700)}.seq-annee:first-child{margin-top:4px}.seq-fiche-form{display:grid;grid-gap:10px;gap:10px;margin-top:10px}.seq-fiche-form textarea{min-height:64px}.seq-details{margin:-4px 0 10px}.seq-details summary{cursor:pointer;color:var(--indigo-700);font-weight:600;font-size:.9rem}.seq-fiche-inline{box-shadow:none;border:1px solid var(--line);margin:8px 0 0}.hub-locked-hint{gap:6px;margin:10px 0 0;font-size:.85rem}.hub-locked-hint,.notice-todo{display:flex;align-items:center}.notice-todo{gap:10px;margin:0 0 12px}.notice-todo span{flex:1 1}.ev-types{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:10px;gap:10px;border:0;padding:0;margin:12px 0}.ev-types legend{font-weight:600;font-size:.9rem;margin-bottom:6px;padding:0}.ev-type{display:grid;grid-template-columns:auto 1fr;grid-gap:2px 8px;gap:2px 8px;padding:10px 12px;border:1px solid var(--field-border);border-radius:var(--radius-sm);background:var(--card);cursor:pointer;font-weight:400}.ev-type input{grid-row:span 2;margin-top:3px}.ev-type.on{border-color:var(--indigo-700);background:var(--indigo-100)}.ev-type-name{font-weight:600}.ev-type-hint{color:var(--muted);font-size:.82rem}