/* Tutor Studio mapped onto the supplied app shell. */
.cg-reference-tutor{min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--sans)}
.cg-reference-tutor .app{grid-template-columns:268px minmax(0,1fr);background:var(--bg)}
.cg-reference-tutor .side{background:var(--bg-2);border-color:var(--line);z-index:3}
.cg-reference-tutor .side__brand{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none}
.cg-reference-tutor .side__brand .cg-reference-mark{display:block;width:36px;height:36px;flex:none}
.cg-reference-tutor .side__brand .cg-reference-mark svg{width:100%;height:100%}
.cg-reference-tutor .side__link{color:var(--text-2);text-decoration:none}
.cg-reference-tutor .side__link.is-active{color:var(--text);background:var(--gold-soft)}
.cg-reference-tutor .app__main{min-width:0;background:var(--bg)}
.cg-reference-tutor .top{min-height:68px;background:var(--glass);border-bottom:1px solid var(--line)}
.cg-reference-tutor .top__actions{display:flex;align-items:center;gap:16px}
.cg-reference-tutor .main.app__content{display:block;width:100%;max-width:1320px;min-height:0;margin:0 auto;padding:clamp(24px,3vw,40px) clamp(20px,3vw,40px) 70px;background:transparent;box-shadow:none}
.cg-reference-tutor .cgops-shell.cgtutor-shell{width:100%;max-width:none;margin:0;padding:0;background:transparent;color:var(--text);box-shadow:none}
.cg-reference-tutor .cgtutor-hero,.cg-reference-tutor .cgtutor-page-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin:0 0 28px;padding:0;border:0;background:transparent;color:var(--text)}
.cg-reference-tutor .cgtutor-hero .kicker,.cg-reference-tutor .cgtutor-page-head .kicker{font:500 11px var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--gold-text)}
.cg-reference-tutor .cgtutor-hero h1,.cg-reference-tutor .cgtutor-page-head h1{font:600 clamp(32px,3.5vw,48px)/1.12 var(--serif);letter-spacing:-.025em;color:var(--text);margin:8px 0 12px}
.cg-reference-tutor .cgtutor-hero p,.cg-reference-tutor .cgtutor-page-head p{max-width:740px;color:var(--text-2);font-size:15px;line-height:1.6}
.cg-reference-tutor .cgtutor-secondary,.cg-reference-tutor .cgtutor-page-head .btn--gold{display:inline-flex;align-items:center;justify-content:center;min-height:44px;white-space:nowrap;border-radius:12px;padding:10px 18px;background:var(--gold);color:#141003;font-weight:600;text-decoration:none}
.cg-reference-tutor .cgtutor-nav{display:none}
.cg-reference-tutor .cgtutor-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:0 0 24px}
.cg-reference-tutor .cgtutor-kpis article,.cg-reference-tutor .cgtutor-stats>div{display:grid;gap:7px;padding:20px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:none}
.cg-reference-tutor .cgtutor-kpis span,.cg-reference-tutor .cgtutor-stats span{display:flex;align-items:center;gap:8px;font:600 13.5px/1.3 var(--sans);color:var(--text-2)}
.cg-reference-tutor .cgtutor-kpis span .i{width:17px;height:17px;color:var(--gold-text)}
.cg-reference-tutor .cgtutor-kpis small{font-size:13px;color:var(--text-3)}
.cg-reference-tutor .cgtutor-kpis strong,.cg-reference-tutor .cgtutor-stats b{font:600 34px/1.1 var(--serif);letter-spacing:-.02em;color:var(--text)}
.cg-reference-tutor .cgtutor-kpis article.is-warning{border-color:var(--gold-line);background:linear-gradient(145deg,var(--gold-soft),var(--surface) 75%)}
.cg-reference-tutor .cgtutor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.cg-reference-tutor .cgtutor-panel{margin:0 0 20px;padding:24px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);color:var(--text);box-shadow:none}
.cg-reference-tutor .cgtutor-panel>header h2,.cg-reference-tutor .cgtutor-panel h2,.cg-reference-tutor .cgtutor-profile h2{font:600 23px/1.2 var(--serif);color:var(--text)}
.cg-reference-tutor .cgtutor-panel>header .kicker{font:500 11px var(--mono);letter-spacing:.1em;color:var(--gold-text)}
.cg-reference-tutor .cgtutor-row,.cg-reference-tutor .cgtutor-learner-link{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);color:var(--text)}
.cg-reference-tutor .cgtutor-row:last-child,.cg-reference-tutor .cgtutor-learner-link:last-child{border-bottom:0}
.cg-reference-tutor .cgtutor-row small,.cg-reference-tutor .cgtutor-learner-link small{color:var(--text-3)}
.cg-reference-tutor .cgtutor-cohorts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.cg-reference-tutor .cgtutor-cohort{padding:22px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}
.cg-reference-tutor .cgtutor-cohort h3{font:600 21px var(--serif);color:var(--text)}
.cg-reference-tutor .cgtutor-cohort p,.cg-reference-tutor .cgtutor-meta{color:var(--text-2)}
.cg-reference-tutor .cgtutor-meta{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:12px;margin:12px 0}
.cg-reference-tutor .cgtutor-progress{height:6px;border-radius:100px;background:var(--line);overflow:hidden}
.cg-reference-tutor .cgtutor-progress i{display:block;height:100%;border-radius:inherit;background:var(--gold)}
.cg-reference-tutor .cgtutor-badge{padding:5px 9px;border-radius:99px;background:var(--gold-soft);color:var(--gold-text);font-size:12px}
.cg-reference-tutor .cgtutor-empty{padding:26px;color:var(--text-2);text-align:center}
.cg-reference-tutor .cgtutor-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}
.cg-reference-tutor .cgtutor-field select{width:100%;min-height:46px;background:var(--surface-2);color:var(--text);border:1px solid var(--line-2);border-radius:12px;padding:10px 14px}
/* 1.36.48 — Brief pre-session: guided selector + useful first paint. */
.cg-reference-tutor #screen-brief .cgtutor-shell>section:first-of-type{padding:20px 22px!important;border:1px solid var(--gold-line)!important;background:linear-gradient(120deg,var(--gold-soft),transparent 78%)!important}
.cg-reference-tutor #screen-brief .cgtutor-field{display:grid;grid-template-columns:minmax(140px,.35fr) minmax(0,1fr);align-items:center;gap:18px}
.cg-reference-tutor #screen-brief .cgtutor-field>span{font:600 13.5px var(--sans);color:var(--text)}
.cg-reference-tutor #screen-brief .cgtutor-field select{min-height:48px;background:var(--surface)!important}
.cg-reference-tutor #screen-brief [data-cgtutor-brief-output]{min-height:260px;display:grid;align-content:start}
.cg-reference-tutor #screen-brief [data-cgtutor-brief-output]>.cgtutor-loading{align-self:center;justify-self:center;margin:auto;padding:30px;text-align:center;color:var(--text-3)}
.cg-reference-tutor #screen-brief [data-cgtutor-brief-output]>.cgtutor-profile{padding:24px 26px;border:1px solid var(--gold-line);border-radius:var(--r-lg);background:linear-gradient(135deg,var(--navy),var(--navy-deep));color:#fff}
.cg-reference-tutor #screen-brief [data-cgtutor-brief-output]>.cgtutor-profile h2{font:600 28px/1.18 var(--serif);color:#fff}
.cg-reference-tutor #screen-brief [data-cgtutor-brief-output]>.cgtutor-profile p{color:#b9c8d3}
@media(max-width:620px){.cg-reference-tutor #screen-brief .cgtutor-field{grid-template-columns:1fr;gap:8px}.cg-reference-tutor #screen-brief .cgtutor-shell>section:first-of-type{padding:16px!important}}
.cg-reference-tutor .cgtutor-recs li{margin:8px 0;padding:12px;border:1px solid var(--line);border-radius:12px}
.cg-reference-tutor .bnav{display:none}
.cg-reference-tutor [hidden]{display:none!important}
@media(max-width:900px){.cg-reference-tutor .top{display:flex!important;position:sticky;top:0;z-index:20;padding:0 16px!important}.cg-reference-tutor .top__crumb{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cg-reference-tutor .top__actions{gap:8px}.cg-reference-tutor .top__actions>.avatar{display:none}}
@media(max-width:1180px){.cg-reference-tutor .cgtutor-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.cg-reference-tutor .cgtutor-cohorts{grid-template-columns:1fr}}
@media(max-width:900px){.cg-reference-tutor .app{display:block}.cg-reference-tutor .side,.cg-reference-tutor .top{display:none}.cg-reference-tutor .bnav{display:flex}.cg-reference-tutor .main.app__content{padding:24px 16px calc(100px + env(safe-area-inset-bottom))}.cg-reference-tutor .cgtutor-grid{grid-template-columns:1fr}}
@media(max-width:620px){.cg-reference-tutor .cgtutor-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.cg-reference-tutor .cgtutor-hero{display:block}.cg-reference-tutor .cgtutor-secondary{margin-top:16px}.cg-reference-tutor .cgtutor-panel{padding:18px}.cg-reference-tutor .cgtutor-stats{grid-template-columns:1fr 1fr}}

/* Capture-reference shell fidelity. */
.cg-reference-tutor .side{display:flex;flex-direction:column;height:100vh;padding:22px 16px 18px;overflow-y:auto;scrollbar-width:thin}
.cg-reference-tutor .side__brand{padding:4px 10px 22px}
.cg-reference-tutor .side__nav{display:grid;gap:2px}
.cg-reference-tutor .side__link{position:relative;display:flex;align-items:center;gap:12px;min-height:44px;padding:0 12px;border-radius:12px;font-size:14.5px;font-weight:500}
.cg-reference-tutor .side__link .i{width:19px;height:19px;stroke-width:1.8}
.cg-reference-tutor .side__link.is-active::before{content:"";position:absolute;left:-16px;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--gold)}
.cg-reference-tutor .side__link.is-active .i{color:var(--gold-text)}
.cg-reference-tutor .side__foot{display:grid;gap:6px;margin-top:auto;padding-top:18px;border-top:1px solid var(--line)}
.cg-reference-tutor .side__user{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.cg-reference-tutor .side__user>span:last-child{min-width:0;display:grid;gap:2px}.cg-reference-tutor .side__user b,.cg-reference-tutor .side__user small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cg-reference-tutor .side__user small{color:var(--text-3)}
.cg-reference-tutor .top{display:flex;align-items:center;justify-content:space-between;gap:20px;height:68px;padding:0 clamp(20px,3vw,40px)}
.cg-reference-tutor .crumbs{display:flex;align-items:center;gap:8px;min-width:0;font-size:14px;color:var(--text-3)}.cg-reference-tutor .crumbs>span{color:var(--text-2)}.cg-reference-tutor .crumbs>b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-weight:600}.cg-reference-tutor .crumbs .i{width:14px;height:14px}
.cg-reference-tutor .acct{display:flex;align-items:center;gap:10px;min-height:44px;padding:4px 12px 4px 4px;border:1px solid var(--line-2);border-radius:999px;background:transparent;color:var(--text);text-align:left}.cg-reference-tutor .acct>span:nth-child(2){display:grid;gap:0;min-width:0}.cg-reference-tutor .acct small{font-size:10.5px;line-height:1.2;color:var(--text-3)}.cg-reference-tutor .acct b{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px}.cg-reference-tutor .acct>.i{width:14px;height:14px;color:var(--text-3)}
@media(max-width:1180px) and (min-width:901px){.cg-reference-tutor .side__user>span:last-child{display:none}.cg-reference-tutor .side__user{grid-template-columns:1fr;place-items:center;padding:7px;border:0;background:transparent}}

/* 1.36.41 — Tutor learner follow-up mapped to tuteur-apprenant.html. */
.cg-reference-tutor #screen-tutor-learner .cgtutor-panel[data-cgtutor-learner-card],.cg-reference-tutor [data-cgtutor-learner-card]{padding:0;border:0;background:transparent}
.cg-reference-tutor [data-cgtutor-learner-card]>.cgtutor-profile{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;padding:26px 28px;border:1px solid var(--gold-line);border-radius:var(--r-lg);background:linear-gradient(135deg,var(--navy),var(--navy-deep));color:#fff}
.cg-reference-tutor [data-cgtutor-learner-card]>.cgtutor-profile h2{margin:6px 0 0;font:600 clamp(26px,3vw,38px)/1.15 var(--serif);color:#fff}
.cg-reference-tutor [data-cgtutor-learner-card]>.cgtutor-profile .kicker{font:500 11px var(--mono);letter-spacing:.1em;color:var(--gold-text)}
.cg-reference-tutor [data-cgtutor-learner-card]>.cgtutor-profile>strong{font:600 38px/1 var(--serif);color:#fff}
.cg-reference-tutor [data-cgtutor-learner-card]>.cgtutor-progress-large{margin:-18px 28px 0;height:7px;background:rgba(255,255,255,.14)}
.cg-reference-tutor [data-cgtutor-learner-card]>.cgtutor-stats{margin:24px 0;grid-template-columns:repeat(3,minmax(0,1fr))}
.cg-reference-tutor [data-cgtutor-learner-card]>.cgtutor-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);align-items:start}
.cg-reference-tutor [data-cgtutor-learner-card]>.cgtutor-grid>section{padding:24px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}
.cg-reference-tutor [data-cgtutor-learner-card]>.cgtutor-grid>section h3{margin:0 0 16px;font:600 22px var(--serif);color:var(--text)}
.cg-reference-tutor .cgtutor-module-progress{padding:24px!important;border:1px solid var(--line)!important;border-radius:var(--r-lg)!important;background:var(--surface)!important}
.cg-reference-tutor .cgtutor-module-progress h3{margin:0 0 16px;font:600 22px var(--serif);color:var(--text)}
.cg-reference-tutor .cgtutor-module-row{display:grid;gap:8px;padding:12px 0;border-bottom:1px solid var(--line)}
.cg-reference-tutor .cgtutor-module-row:last-child{border-bottom:0}.cg-reference-tutor .cgtutor-module-row>div:first-child{display:flex;justify-content:space-between;gap:14px}.cg-reference-tutor .cgtutor-module-row span{color:var(--text-3);font-size:12px}
@media(max-width:900px){.cg-reference-tutor [data-cgtutor-learner-card]>.cgtutor-grid{grid-template-columns:1fr}.cg-reference-tutor [data-cgtutor-learner-card]>.cgtutor-profile{grid-template-columns:1fr}.cg-reference-tutor [data-cgtutor-learner-card]>.cgtutor-progress-large{margin:-18px 20px 0}}
@media(max-width:620px){.cg-reference-tutor [data-cgtutor-learner-card]>.cgtutor-stats{grid-template-columns:1fr 1fr}.cg-reference-tutor [data-cgtutor-learner-card]>.cgtutor-profile{padding:22px}.cg-reference-tutor [data-cgtutor-learner-card]>.cgtutor-grid>section,.cg-reference-tutor .cgtutor-module-progress{padding:18px!important}}
/* 1.36.42 — Final tutor polish. */
.cg-reference-tutor{--text-3:#748D9D}
html[data-theme="light"] .cg-reference-tutor{--text-3:#586D7D}
.cg-reference-tutor .app__content{max-width:1320px;margin:0 auto;padding:clamp(24px,3vw,40px) clamp(20px,3vw,40px) 60px}
.cg-reference-tutor :is(.cgtutor-panel,.cgtutor-kpis article,.cgtutor-card,.cgtutor-module-progress){border-radius:18px!important}
.cg-reference-tutor :is(.cgtutor-panel,.cgtutor-kpis article,.cgtutor-card){transition:border-color .18s ease,transform .18s ease}
@media(hover:hover){.cg-reference-tutor :is(.cgtutor-panel,.cgtutor-card):hover{border-color:var(--line-2)!important;transform:translateY(-1px)}}
html[data-theme="dark"] .cg-reference-tutor .side{background:#091f2d!important}
html[data-theme="dark"] .cg-reference-tutor .top{background:rgba(7,24,34,.86)!important}
@media(max-width:900px){.cg-reference-tutor .app{display:block}.cg-reference-tutor .side{display:none!important}.cg-reference-tutor .top{display:flex!important;position:sticky;top:0;z-index:30;height:62px;padding:0 14px!important}.cg-reference-tutor .bnav{display:flex!important}.cg-reference-tutor .app__content{max-width:none;padding:22px 16px calc(96px + env(safe-area-inset-bottom))}.cg-reference-tutor .crumbs>span{display:none}.cg-reference-tutor .top__actions{margin-left:auto;gap:8px}.cg-reference-tutor .acct{min-width:44px;padding:4px}.cg-reference-tutor .acct>span:nth-child(2),.cg-reference-tutor .acct>.i{display:none}}
@media(max-width:620px){.cg-reference-tutor .crumbs{display:none}.cg-reference-tutor .top{justify-content:flex-end}.cg-reference-tutor .lang a,.cg-reference-tutor .theme-btn,.cg-reference-tutor .acct{min-width:44px;min-height:44px}}


/* 1.36.49 — Tutor shell hardening. */
@media(min-width:901px){
  .cg-reference-tutor .side{
    display:flex!important;
    flex-direction:column!important;
    height:100dvh!important;
    min-height:0!important;
    max-height:100dvh!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  .cg-reference-tutor .side__brand{flex:0 0 auto!important}
  .cg-reference-tutor .side__nav{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
    scrollbar-gutter:stable!important;
    align-content:start!important;
    padding-bottom:14px!important;
  }
  .cg-reference-tutor .side__foot{
    flex:0 0 auto!important;
    margin-top:0!important;
    position:relative!important;
    z-index:2!important;
    background:var(--bg-2)!important;
  }
  .cg-reference-tutor .app__main,
  .cg-reference-tutor .app__content,
  .cg-reference-tutor .main.app__content{
    min-width:0!important;
    max-width:100%!important;
    overflow-x:clip!important;
    box-sizing:border-box!important;
  }
  .cg-reference-tutor :is(.cgtutor-grid,.cgtutor-cohorts,[data-cgtutor-learner-card]>.cgtutor-grid)>*{
    min-width:0!important;
  }
}
