.class-range { display:flex;flex-wrap:wrap;gap:16px;align-items:end;margin-block:24px; }
.class-range label { display:grid;gap:8px;font-size:.85rem;color:var(--pilates-muted); }
.class-range input { padding:10px 12px;border:1px solid var(--pilates-line);border-radius:8px;background:var(--pilates-paper);color:var(--pilates-ink);max-width:100%; }
.class-list.class-week { display:grid;grid-template-columns:repeat(7,minmax(160px,1fr));overflow-x:auto;padding-bottom:16px;gap:10px; }
.class-day { min-width:0;background:var(--pilates-paper);border:1px solid var(--pilates-line);border-radius:12px;padding:10px; }
.class-day>.h6 { padding:10px 2px;text-transform:capitalize; }
.class-day .class-card { padding:12px;margin-bottom:10px;background:var(--pilates-cream,#f5f6f1); }
.class-day .class-card h3 { font-size:1rem; }
.class-day .class-card p { font-size:.8rem; }
.class-day .btn { width:100%;font-size:.8rem; }
.class-edit-dialog { width:min(94vw,540px);max-height:90dvh;overflow:auto;border:1px solid var(--pilates-line);border-radius:20px;padding:28px;color:var(--pilates-ink); }
.class-edit-dialog::backdrop { background:rgb(14 36 30 / 55%); }
.class-edit-dialog label { display:grid;gap:8px;margin-block:18px; }
.class-edit-dialog input { border:1px solid var(--pilates-line);border-radius:8px;padding:12px;max-width:100%; }
.class-edit-dialog button { margin:5px; }
.class-attendee { padding:16px;border-bottom:1px solid var(--pilates-line); }
.class-attendee .form-select { width:auto;max-width:100%; }
@media(max-width:575px){.class-list.class-week{grid-template-columns:1fr;overflow:visible;}.class-day{padding:14px;}.class-day:has(>.h6:only-child){display:none;}}
.class-list { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px; }
.class-card,.class-roster { padding:24px;border:1px solid var(--pilates-line);border-radius:14px;background:var(--pilates-paper);min-width:0; }
.class-card h3 { font:400 1.6rem/1.2 Georgia,serif;overflow-wrap:anywhere; }
.class-card p { margin-bottom:12px; }
.class-status { color:var(--pilates-petrol-dark);font-weight:600; }
.class-notice { font-size:.9rem;color:var(--pilates-muted); }
.class-pagination,.class-attendee { display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:20px; }
.class-pagination[hidden],.class-roster[hidden] { display:none; }
.class-roster { margin-top:24px; }
.availability-row { display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:8px;margin-bottom:12px; }
.admin-classes .admin-workspace { grid-template-columns:repeat(2,minmax(0,1fr)); }
.admin-classes .admin-workspace > section.card { padding:26px; }
.admin-classes .class-list h3 { font-family:inherit;font-size:1rem; }
.classes-account-link { display:block;border:1px solid var(--pilates-line);padding:20px;border-radius:12px;margin-block:20px;background:var(--pilates-paper); }
.classes-account-link[hidden] { display:none; }
@media(max-width:991px){.admin-classes .admin-workspace{grid-template-columns:1fr;}}
@media(max-width:575px){.availability-row{grid-template-columns:1fr 1fr;}.availability-row select{grid-column:1/-1;}.class-range{align-items:stretch;}.class-range label{flex:1 1 100%;}.class-card{padding:20px;}}

.admin-classes .class-section { display:block; padding:0; margin-bottom:.75rem; }
.class-section > summary, .class-entry > summary {
 cursor:pointer; color:var(--pilates-ink); min-height:44px;
}
.class-section > summary { padding:1rem 1.25rem; font-size:1.1rem; font-weight:600; }
.class-section-body { padding:0 clamp(.75rem, 3vw, 1.5rem) 1.25rem; }
.class-section summary:focus-visible { outline:2px solid currentColor; outline-offset:-3px; }
.admin-classes #class-agenda .class-list:not(.class-week) { grid-template-columns:1fr; gap:.5rem; }
.admin-classes #class-agenda .class-card:has(> .class-entry) { padding:0 .9rem; }
.class-entry > summary { padding:.75rem 0; overflow-wrap:anywhere; }
.class-entry > summary > span { display:inline-block; margin-inline-start:.8rem; font-size:.85rem; }
.class-entry[open] > summary { margin-bottom:.75rem; border-bottom:1px solid var(--pilates-line); }
.class-entry[open] { padding-bottom:.9rem; }
@media (max-width:575px) {
 .class-entry > summary > span { display:block; margin:.2rem 0 0 1rem; }
}
