.teaching-cycles{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}.teaching-cycle{display:flex;flex-direction:column;gap:3px;border:1px solid #ccdce1;border-radius:10px;padding:9px 14px;background:#fff;color:#244759;text-decoration:none;min-width:105px}.teaching-cycle.active{background:#e7f3f6;border-color:#31778b;box-shadow:inset 0 -3px #31778b}.teaching-cycle span{font-size:12px;max-width:280px}.teaching-cycle-help{font-size:12px;color:#526975;margin:-3px 0 22px}.cycle-period-link{display:inline-block;border:1px solid #d4dfe4;border-radius:8px;padding:9px 14px;text-decoration:none;white-space:nowrap;background:#f6f8f9}.cycle-period-link.has-traces{background:#e4f3e8;color:#2c633e;border-color:#a7c9b2}.cycle-detail-link{display:flex;flex-direction:column;gap:3px;border:1px solid #d4dfe4;border-radius:9px;padding:7px 10px;text-decoration:none;min-width:145px}.cycle-detail-link small{font-size:11px}.cycle-overview{border-left:4px solid #31778b}.user-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:18px 0}.user-filters label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700}.user-filters label:first-child{flex:1;min-width:220px}.user-filters [data-user-count]{padding-bottom:10px;color:#526975;font-size:12px}.user-create-panel>summary{font-size:17px;font-weight:750;cursor:pointer}.user-create-panel:not([open]){padding-top:18px;padding-bottom:18px}.user-create-panel[open]>summary{margin-bottom:15px}.role-gymnastique{background:#e2f1e7;color:#2a6440}.role-psychomotricite{background:#fbe9ed;color:#874451}.users-table [hidden]{display:none}.user-drawer{position:fixed;inset:0 0 0 auto;padding:0;border:0;border-radius:16px 0 0 16px;max-width:min(980px,96vw);width:980px;height:100dvh;max-height:100dvh;margin:0 0 0 auto;box-shadow:-12px 0 60px #102c4b33;color:var(--text,#223b48);background:#f2f6f7;overflow:auto}.user-drawer::backdrop{background:#102c4b66}.user-drawer-bar{position:sticky;top:0;z-index:12;display:flex;align-items:center;gap:16px;padding:14px 22px;background:#fff;border-bottom:1px solid #ccdce1}.user-drawer-bar strong{margin-right:auto}.user-drawer>[data-user-editor]{padding:22px}.user-drawer h1{font-size:26px}.user-drawer .heading-row{align-items:start}.user-drawer [data-user-editor]>.heading-row .button-row{flex-wrap:wrap}.user-drawer .form-grid{margin:0}.user-drawer [data-users-message]{position:sticky;top:75px;z-index:10}.user-drawer [data-user-editor]>.heading-row a[href*="r=admin_users"]{display:none}[aria-busy=true]{cursor:progress}form[inert]{opacity:.65}.user-drawer .panel{margin-bottom:16px}
@media(max-width:650px){.user-drawer{max-width:100vw;border-radius:0}.user-drawer>[data-user-editor]{padding:12px}.user-drawer-bar{gap:10px;padding:12px}.user-drawer-bar strong{font-size:13px}.user-drawer-bar a{font-size:12px}.user-drawer .form-grid.two{grid-template-columns:1fr}.user-drawer .span2{grid-column:auto}.user-filters{align-items:stretch}.user-filters label{flex:1;min-width:140px}.teaching-cycle{flex:1}.cycle-overview th,.cycle-overview td{padding:8px}.sticky-save>.button-row{flex-wrap:wrap}}
@media print{.teaching-cycles,.teaching-cycle-help{display:none}}

/* Annual teaching context, kept readable on narrow screens. */
.teacher-meta { display:block; font-size:.72rem; font-weight:500; line-height:1.4; white-space:normal; }
.annual-profile-panel { margin:1rem 0; padding:1rem; background:#f3f7fa; border:1px solid #ccdce5; border-radius:12px; }
.setup-year-notice { margin:1rem 0; padding:1rem 1.2rem; border:2px solid #a96b13; border-left-width:6px; border-radius:8px; background:#fff5dc; color:#513400; font-weight:650; line-height:1.55; }
.search-author { display:block; width:100%; font-size:.85rem; }
.class-year-form select { max-width:100%; }
@media (max-width:700px) { .user-name { max-width:180px; } .annual-profile-fields { grid-template-columns:1fr; } }
.monthly-workloads { margin:1rem 0; padding:.75rem; border:1px solid #ccdce5; border-radius:8px; }
.monthly-workloads summary { cursor:pointer; font-weight:650; }
.monthly-workload-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:.8rem; }
.monthly-workload-grid label { display:grid; gap:.3rem; }

/* Pending activation remains distinct from both active and closed accounts. */
.status-pill.pending{background:#fff0cc;color:#805200;border:1px solid #d79a25}
