/* L’espace professeur reprend les couleurs et les caractères du cours. */
.admin-page { overflow-wrap:anywhere; }
.admin-page a { text-underline-offset:4px; }
.admin-page :focus-visible { outline:3px solid var(--red); outline-offset:4px; }
.admin-form fieldset { border:0; padding:0; margin:0; min-width:0; display:grid; gap:24px; }
.admin-page [hidden] { display:none !important; }
.admin-form label, .admin-form small, .private-caption { font-size:14px; }
.admin-form button, .admin-action { font-size:14px; }
.admin-page .admin-form button { justify-self:start; white-space:normal; }
.admin-form label { display:grid; gap:10px; min-width:0; }
.admin-form input, .admin-form textarea, .admin-form select { box-sizing:border-box; width:100%; min-width:0; }
.admin-form input[type=file] { padding:14px; border:1px dashed var(--muted); background:var(--paper); overflow:hidden; }
.admin-form input[type=file]::file-selector-button { margin-right:12px; padding:10px 12px; font:inherit; border:1px solid var(--muted); background:#fff; color:var(--ink); cursor:pointer; }
.admin-form input:disabled { opacity:.6; }
.admin-form textarea { resize:vertical; }
.registration-invite { border-left:3px solid var(--red); padding:20px 24px; margin:30px 0; background:var(--paper); }
.registration-invite p { margin:0 0 14px; }
.registration-invite a { display:inline-block; color:var(--red); font-weight:700; }
.teacher-page { width:min(1000px,calc(100% - 48px)); }
.teacher-identity { margin:0; align-self:center; font-size:14px; }
.teacher-heading { margin-bottom:30px; }
.teacher-heading h1 { font:400 clamp(32px,5vw,48px)/1.2 Georgia,serif; margin:12px 0 18px; }
.teacher-heading p { line-height:1.7; }
.teacher-tabs { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 32px; padding:0 0 24px; border-bottom:1px solid var(--line); }
.teacher-tabs button { flex:1 1 190px; min-width:0; border:1px solid var(--line); padding:14px 16px; background:var(--paper); color:var(--ink); font:14px/1.5 Arial,sans-serif; cursor:pointer; }
.teacher-tabs button[aria-selected=true] { color:#fff; background:var(--red); border-color:var(--red); }
.teacher-tabs button:hover { border-color:var(--red); }
.teacher-panel { width:100%; min-width:0; max-width:100%; margin-inline:0; scroll-margin-top:100px; }
.teacher-panel h2 { margin-top:0; font:400 28px/1.35 Georgia,serif; }
.teacher-panel p { line-height:1.75; }
.teacher-panel .admin-form { margin-top:28px; }
#file-description { min-height:120px; }
.teacher-posts-heading { display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:16px; }
.teacher-posts-heading h2 { margin-bottom:0; }
.teacher-page .blog-feed { grid-template-columns:minmax(0,1fr); }
.teacher-page .blog-meta, .teacher-page .blog-download { font-size:14px; }
.teacher-page .blog-body { max-height:18rem; overflow:auto; }
.teacher-page .secret-form + .secret-form { margin-top:52px; padding-top:32px; border-top:1px solid var(--line); }
.teacher-page .secret-form h3 { font:400 24px/1.4 Georgia,serif; margin:0; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:620px) {
  .teacher-page { width:calc(100% - 28px); }
  .teacher-tabs { gap:8px; }
  .teacher-tabs button { flex-basis:calc(50% - 8px); padding:12px 10px; }
  .teacher-panel h2 { font-size:25px; }
  .admin-form input[type=file] { padding:10px; font-size:14px; }
  .admin-form input[type=file]::file-selector-button { display:block; margin:0 0 10px; }
}
