.school-dashboard{min-width:0;overflow-x:clip}
.school-dashboard .dashboard-workspace{min-width:0;container-type:inline-size;container-name:admin}
.school-dashboard .gallery-main{width:100%;min-width:0;max-width:100%;padding:clamp(1rem,2.5vw,2.5rem)}
.school-dashboard :is(main,section,article,form,fieldset,figure,details,.dashboard-gallery-copy,.board-post-inner){min-width:0}
.school-dashboard :is(h1,h2,h3,p,legend,dt,dd,label,.notice){overflow-wrap:anywhere}
.school-dashboard :is(img,video,canvas,svg){max-width:100%}
.school-dashboard :is(input,select,textarea){max-width:100%;min-width:0;box-sizing:border-box}
.school-dashboard textarea{resize:vertical}
.school-dashboard fieldset{max-width:100%}
.school-dashboard legend{max-width:100%;white-space:normal}
.school-dashboard :is(.gallery-form,.horse-fields,.form-pair)>*{min-width:0}
.school-dashboard .gallery-form :is(input:not([type=checkbox]):not([type=radio]),select,textarea){width:100%}
.school-dashboard :is(.button,.quiet-button,button){white-space:normal;word-break:normal}
.school-dashboard :is(.clients-table-scroll,.horses-table-scroll){width:100%;max-width:100%;min-width:0;overflow:auto;overscroll-behavior-inline:contain;scrollbar-gutter:stable}
.school-dashboard :is(.clients-table,.horses-table){min-width:900px}
.school-dashboard .resizable-table tbody :is(th,td){white-space:normal;overflow-wrap:anywhere;vertical-align:middle}
.school-dashboard .resizable-table tbody :is(th,td)>a{white-space:normal;overflow-wrap:anywhere}
.school-dashboard :is(.horse-table-actions,.dashboard-gallery-actions){flex-wrap:wrap;gap:.5rem}
.school-dashboard :is(.horse-table-actions,.dashboard-gallery-actions)>form{max-width:100%;min-width:0}
.school-dashboard .clients-table td form.client-student-toggle label{white-space:normal;gap:.5rem;font-size:.85rem}
.school-dashboard .client-student-toggle input[type=checkbox]{flex:0 0 20px}
.school-dashboard .dashboard-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));align-items:stretch}
.school-dashboard .dashboard-card{grid-template-columns:48px minmax(0,1fr);gap:0 .75rem}
.school-dashboard .dashboard-card-image{width:48px;height:64px;max-width:100%;margin:0;object-fit:contain}
.school-dashboard .dashboard-review-layout{grid-template-columns:minmax(0,1fr)}
.school-dashboard .dashboard-gallery-card{display:grid;grid-template-columns:80px minmax(0,1fr);align-items:start}
.school-dashboard .dashboard-cover{width:80px;max-width:100%}
.school-dashboard .dashboard-gallery-copy{display:block}
.school-dashboard .dashboard-gallery-actions{display:flex;margin-top:.75rem}
.school-dashboard .dashboard-gallery-actions :is(.button,.quiet-button){min-height:44px}
.school-dashboard .photo-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));align-items:start}
.school-dashboard .admin-photos figure{margin:0}
.school-dashboard .admin-photos figcaption{align-items:flex-start}
.school-dashboard .photo-grid img{display:block;width:100%;height:auto;object-fit:contain}
.school-dashboard .heading-split{flex-wrap:wrap;align-items:flex-start}
.school-dashboard .heading-split .button{flex-shrink:1}
.school-dashboard .appointment-title{display:flex;flex-wrap:wrap;gap:.5rem;min-width:0}
.school-dashboard .appointment-title-prefix{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.school-dashboard .appointment-title input{flex:1 1 180px}
.school-dashboard .calendar-heading{align-items:flex-start}
.school-dashboard .calendar-heading nav{max-width:100%}
.school-dashboard .school-calendar{max-width:100%;grid-template-columns:repeat(7,minmax(0,1fr))}
.school-dashboard .calendar-year{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.school-dashboard .calendar-mini{padding:.75rem}
.school-dashboard .calendar-hour{grid-template-columns:54px minmax(0,1fr)}
.school-dashboard .calendar-hour-events{min-width:0}
.school-dashboard .calendar-hour-event{min-width:0;max-width:100%}
.school-dashboard .board-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.school-dashboard .board-post{max-width:100%}
.school-dashboard .board-byline>div{min-width:0;overflow-wrap:anywhere}
.school-dashboard .board-avatar{flex-shrink:0}
.school-dashboard .board-actions>form{min-width:0;max-width:100%}
.school-dashboard .board-comments :is(input,textarea){max-width:100%}
.school-dashboard .private-profile dl{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
@container admin (max-width:760px){
 .school-dashboard .dashboard-overview{grid-template-columns:minmax(0,1fr)}
 .school-dashboard .dashboard-overview>.button{justify-self:start}
 .school-dashboard :is(.area-columns,.upload-layout,.horse-fields){grid-template-columns:minmax(0,1fr)}
 .school-dashboard .dashboard-gallery-card{grid-template-columns:64px minmax(0,1fr)}
 .school-dashboard .dashboard-cover,.school-dashboard .dashboard-cover img{width:64px;height:64px}
 .school-dashboard .appointment-create .group-member,.school-dashboard .appointment-create .group-member:has([data-guest-fields]:not([hidden])){grid-template-columns:minmax(0,1fr)}
 .school-dashboard .appointment-create .group-member [data-guest-fields]:not([hidden]){grid-template-columns:minmax(0,1fr)}
 .school-dashboard .appointment-sheet #appointment-edit-form .group-participant{grid-template-columns:minmax(0,1fr)}
 .school-dashboard .appointment-sheet #appointment-edit-form .group-participant>*{grid-column:auto;grid-row:auto}
}
@container admin (max-width:480px){
 .school-dashboard :is(.form-pair,.appointment-sheet .appointment-time-fields){grid-template-columns:minmax(0,1fr)}
 .school-dashboard .horse-entry{grid-template-columns:minmax(0,1fr)}
 .school-dashboard .private-profile dl{grid-template-columns:minmax(0,1fr)}
 .school-dashboard .private-profile dd{margin-bottom:.75rem}
 .school-dashboard .dashboard-gallery-card{grid-template-columns:minmax(0,1fr)}
 .school-dashboard .dashboard-cover{width:100%;height:auto}
 .school-dashboard .dashboard-cover img{width:100%;height:140px;object-fit:contain}
 .school-dashboard .wood-board{padding:14px 8px;border-width:5px}
 .school-dashboard .board-note{transform:none}
 .school-dashboard .board-post-inner{padding:12px}
 .school-dashboard .calendar-period>*{max-width:100%}
}
@container admin (min-width:1100px){
 .school-dashboard .dashboard-review-layout{grid-template-columns:minmax(0,1fr) 260px}
}
@media(max-width:999px){
 .school-dashboard .school-sidebar.is-open{position:fixed;inset:0;z-index:1000;width:100%;height:100dvh;overflow-y:auto;overscroll-behavior:contain;padding:1rem 1.25rem}
 .school-dashboard .school-sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}
 .school-dashboard .school-sidebar nav a{min-width:0;gap:.65rem}
 .school-dashboard .school-sidebar .dashboard-brand{flex-wrap:wrap}
 .school-dashboard .dashboard-topbar{min-height:64px;padding:.6rem 1rem;gap:.5rem}
 .school-dashboard .gallery-form :is(input:not([type=checkbox]),select,textarea){font-size:16px;min-height:44px}
 .school-dashboard .gallery-main :is(.button,.quiet-button,button){min-height:44px}
 .school-dashboard .calendar-event{font-size:.75rem;padding:.35rem}
 .school-dashboard input[type=file]{padding:.6rem}
}
@media(max-width:380px){
 .school-dashboard .school-sidebar nav{grid-template-columns:minmax(0,1fr)}
 .school-dashboard .dashboard-brand{font-size:1.15rem}
}
@media print{.school-dashboard .school-sidebar,.school-dashboard .dashboard-topbar{display:none}.school-dashboard .dashboard-workspace{margin:0}}

@media(max-width:999px),(pointer:coarse){
 .school-dashboard :is(.calendar-hour-event[data-movable-appointment],.calendar-draft){touch-action:pan-y pinch-zoom}
 .school-dashboard :is(.clients-table-scroll,.horses-table-scroll){touch-action:pan-x pan-y pinch-zoom}
}
@container admin (max-width:480px){
 .school-dashboard .calendar-day{padding:.2rem;min-height:75px}
 .school-dashboard .calendar-weekday{padding:.3rem .1rem;font-size:.7rem}
 .school-dashboard .school-calendar .calendar-event{padding:.2rem .1rem;font-size:.65rem;border-left-width:2px}
}

html:has(body.school-dashboard){width:100%;max-width:100%;overflow-x:hidden}
body.school-dashboard{width:100%;max-width:100%;overflow-x:hidden}
.school-dashboard .dashboard-workspace,.school-dashboard .gallery-main,.school-dashboard .appointment-sheet{max-width:100%;min-width:0}
.school-dashboard .school-calendar{width:100%;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:auto;grid-auto-rows:1fr}
.school-dashboard .school-calendar>*{min-width:0;max-width:100%}
.school-dashboard .school-calendar .calendar-day,.school-dashboard .school-calendar .calendar-pad{min-height:120px}
.school-dashboard .appointment-sheet .appointment-time-fields{grid-template-columns:repeat(3,minmax(0,1fr))}
.school-dashboard .appointment-sheet .appointment-title{display:grid;grid-template-columns:minmax(0,1fr)}
.school-dashboard .appointment-sheet .appointment-title input{width:100%;min-width:0}
.school-dashboard .board-note>.board-event-photo{margin-top:8px;object-fit:contain;background:#fff8d8}
.school-dashboard .communication-photo{display:block;width:100%;max-width:640px;height:auto;margin:1rem 0;object-fit:contain}
.school-dashboard .communication-attachment{display:inline-flex;align-items:center;min-height:44px;max-width:100%;overflow-wrap:anywhere}
@media(max-width:999px){
 .school-dashboard .school-sidebar.is-open{inset:0 auto 0 0;width:min(320px,90vw);max-width:100%;box-shadow:8px 0 28px #0003;align-items:stretch}
 .school-dashboard .school-sidebar nav{grid-template-columns:minmax(0,1fr)}
 .school-dashboard .school-sidebar nav a{justify-content:flex-start;text-align:left}
 .school-dashboard .dashboard-workspace{width:100%;margin-left:0}
 .school-dashboard .dashboard-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
 .school-dashboard .dashboard-card{position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:170px;padding:.85rem;overflow:hidden;background:#fffef9}
 .school-dashboard .dashboard-card>.dashboard-card-image{position:absolute;inset:auto -10% 8% auto;width:100%;height:80%;max-width:none;object-fit:contain;opacity:.16;z-index:-1;margin:0;pointer-events:none}
 .school-dashboard .dashboard-card h3{font-size:1.25rem;line-height:1.2}
 .school-dashboard .dashboard-card p{font-size:.8rem;line-height:1.45;color:#394e43}
 .school-dashboard .dashboard-card-action{font-size:.8rem;margin-top:auto}
 .school-dashboard .calendar-hour-event,.school-dashboard .calendar-draft{touch-action:pan-y pinch-zoom}
 .school-dashboard .appointment-sheet .appointment-time-fields{grid-template-columns:minmax(0,1fr)}
 .school-dashboard .appointment-sheet #appointment-edit-form .group-participant{grid-template-columns:minmax(0,1fr)}
 .school-dashboard .appointment-sheet #appointment-edit-form .group-participant>*{grid-column:auto;grid-row:auto}
}

.school-dashboard .dashboard-gallery-card{grid-template-columns:minmax(0,1fr)}
.school-dashboard :is(.admin-gallery-strip,.photo-grid.admin-photos){display:flex;flex-wrap:nowrap;gap:.75rem;width:100%;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;touch-action:pan-x pan-y pinch-zoom;scroll-snap-type:x proximity;padding:.25rem .25rem .85rem;scroll-padding-inline:.25rem}
.school-dashboard .admin-gallery-strip>a{display:block;flex:0 0 clamp(140px,40vw,220px);min-width:0;scroll-snap-align:start}
.school-dashboard .admin-gallery-strip img{display:block;width:100%;height:150px;object-fit:contain;background:#f0f2eb}
.school-dashboard .photo-grid.admin-photos>figure{flex:0 0 min(78vw,300px);min-width:0;max-width:none;margin:0;scroll-snap-align:start}
.school-dashboard .photo-grid.admin-photos img{display:block;width:100%;height:230px;aspect-ratio:auto;object-fit:contain;background:#f0f2eb}
.school-dashboard .photo-grid.admin-photos figcaption{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;padding:.75rem 0}
.school-dashboard :is(.admin-gallery-strip,.photo-grid.admin-photos):focus-visible{outline:2px solid #203d34;outline-offset:2px}

.school-dashboard .admin-gallery-strip>a,.school-dashboard .photo-grid.admin-photos>figure{flex:0 0 clamp(108px,28vw,190px)}
.school-dashboard .admin-gallery-strip img,.school-dashboard .photo-grid.admin-photos img{height:clamp(100px,24vw,160px);object-fit:cover}
.school-dashboard .photo-grid.admin-photos figcaption{display:grid;gap:.4rem;font-size:.8rem}
.school-dashboard .photo-grid.admin-photos figcaption button{width:100%}
.photo-viewer{width:min(1100px,96vw);max-width:96vw;max-height:94dvh;padding:1rem;background:#f7f6ef;border:1px solid #203d34;overflow:auto;color:#203d34}
.photo-viewer::backdrop{background:#102219e8}
.photo-viewer-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}
.photo-viewer-header p{margin:0;overflow-wrap:anywhere}
.photo-viewer img{display:block;width:100%;height:auto;max-height:76dvh;object-fit:contain}
.photo-viewer[open]{display:block}
html:has(.photo-viewer[open]){overflow:hidden}

.photo-viewer .photo-viewer-header{justify-content:flex-end}:root body .photo-viewer .photo-viewer-close{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border-radius:50%;font-size:1.65rem;line-height:1;background:#f7f6ef;color:#203d34;border:1px solid #203d34}

.photo-viewer{position:relative}.photo-viewer .photo-viewer-header{position:absolute;top:1.5rem;right:1.5rem;z-index:2;margin:0}.photo-viewer .photo-viewer-close{box-shadow:0 2px 8px #10221940}

:root body dialog.photo-viewer{position:fixed;inset:0;margin:auto;width:fit-content;height:fit-content;max-width:96vw;max-height:94dvh;padding:0;border:0;background:transparent;box-shadow:none;overflow:visible}:root body .photo-viewer img{display:block;width:auto;height:auto;max-width:96vw;max-height:94dvh;object-fit:contain}:root body .photo-viewer .photo-viewer-header{top:.5rem;right:.5rem;margin:0}

:root body .photo-viewer .photo-viewer-close{background:transparent;border:0;box-shadow:none}:root body .photo-viewer-close span{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid #203d34;border-radius:50%;background:#f7f6ef;color:#203d34;font:400 21px/1 Arial,sans-serif;box-shadow:0 1px 5px #10221935}

:root body .photo-viewer .photo-viewer-close:focus,:root body .photo-viewer .photo-viewer-close:focus-visible{outline:none;box-shadow:none}:root body .photo-viewer-close:focus-visible span{outline:2px solid #fff;outline-offset:2px}

@media(max-width:999px){
 html:has(body.school-dashboard),body.school-dashboard{overflow-x:clip}
 .school-dashboard .dashboard-topbar{position:sticky;top:0;z-index:100;background:var(--paper,#f7f6ef)}
}

.school-dashboard .dashboard-avatar{flex-shrink:0;overflow:hidden}.school-dashboard .dashboard-avatar img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
