
#dialog.recurring-modal418{width:min(1050px,calc(100vw - 32px));max-width:1050px;max-height:90vh;padding:0;overflow:hidden;background:#fff;color:#173c60}
#dialog.recurring-modal418>#dialog-body{padding:0;display:flex;flex-direction:column;max-height:90vh;min-height:0}#dialog.recurring-modal418>button,#dialog.recurring-modal418>form{display:none!important}
.recurring-head418{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#173c60;color:#fff;flex-shrink:0}.recurring-head418 svg{width:24px;height:24px}#dialog .recurring-head418 h2{font:inherit;font-size:19px;font-weight:700;margin:0;color:white;flex:1}.recurring-head418 button{border:0;background:transparent;color:white;font-size:28px;padding:0 4px;min-height:30px}
#recurring-form{display:flex;flex-direction:column;min-height:0;margin:0;padding:0;overflow:hidden}.recurring-content418{display:grid;grid-template-columns:1fr 1.2fr;gap:16px;padding:18px;overflow-y:auto;min-height:0}.recurring-content418>section{padding:16px;border:1px solid #c7d6e8;border-radius:5px;align-self:start}.recurring-content418 h3{margin:0 0 16px;font-size:14px;color:#173c60;font-weight:700}.recurring-fields418{display:grid;grid-template-columns:1fr 1fr;gap:14px}.recurring-content418 label{display:flex;flex-direction:column;gap:7px;margin:0 0 12px;font-size:13px;font-weight:600;color:#173c60}.recurring-content418 .checkbox-label{flex-direction:row;align-items:center;margin-bottom:18px}.recurring-content418 input:not([type=checkbox]),.recurring-content418 select,.recurring-content418 textarea{width:100%;box-sizing:border-box;min-height:40px;font-family:inherit;font-size:14px;font-weight:400;line-height:1.4;margin:0;padding:8px 10px}.recurring-content418 textarea{height:190px;resize:vertical}.recurring-content418 [hidden]{display:none!important}.recurring-target418,.recurring-tags418{font-size:12px;line-height:1.45;color:#526d88;margin:10px 0 0}.recurring-target418{padding:12px;background:#edf3fa}.recurring-info418{grid-column:1/-1;background:#f0f3f7;padding:10px 14px;font-size:12px;color:#526d88}.recurring-info418 summary{cursor:pointer;font-weight:600;color:#173c60}#recurring-error{grid-column:1/-1}#recurring-error:empty{display:none}
#dialog.recurring-modal418 #recurring-form>footer{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:14px 20px;background:#f0f3f7;border-top:1px solid #c7d6e8;flex-shrink:0}#dialog.recurring-modal418 #recurring-form>footer button{height:44px!important;min-height:44px!important;max-height:44px!important;margin:0!important;box-sizing:border-box;padding:10px 16px;font-family:inherit;font-size:14px;font-weight:600;line-height:20px;display:inline-flex;align-items:center;justify-content:center}#recurring-form>footer button[type=button]{background:#e1e6ee;color:#173c60;border:1px solid #cbd6e3}#recurring-form>footer .primary{background:#2b609a;color:white;border:1px solid #2b609a}
@media(max-width:750px){.recurring-content418{grid-template-columns:1fr}}

#dialog.recurring-modal418 label[hidden]{display:none!important}


#compose-form{display:flex;flex-direction:column;min-height:0;margin:0;padding:0;overflow:hidden}

#dialog.recurring-modal418 #compose-form>footer{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:14px 20px;background:#f0f3f7;border-top:1px solid #c7d6e8;flex-shrink:0}
#dialog.recurring-modal418 #compose-form>footer button{height:44px!important;min-height:44px!important;max-height:44px!important;margin:0!important;box-sizing:border-box;padding:10px 16px;font-family:inherit;font-size:14px;font-weight:600;line-height:20px;display:inline-flex;align-items:center;justify-content:center}
#compose-form>footer button[type=button]{background:#e1e6ee;color:#173c60;border:1px solid #cbd6e3}
#compose-form>footer .primary{background:#2b609a;color:white;border:1px solid #2b609a}

#dialog.compose-modal426 .compose-wide426{grid-column:1/-1}
#dialog.compose-modal426 .compose-hint426{grid-column:1/-1;margin:0}
#dialog.compose-modal426 .recurring-content418 label{min-width:0}
#dialog.compose-modal426 select{width:100%;padding-right:34px;box-sizing:border-box}
#dialog.compose-modal426 #compose-error{grid-column:1/-1}
#dialog.compose-modal426 #compose-error:empty{display:none}

/* Keep both compose panels level and use the extra height for the message. */
#dialog.compose-modal426 .recurring-content418>section{align-self:stretch}
#dialog.compose-modal426 .recurring-content418>section:nth-child(2){display:flex;flex-direction:column;min-height:0}
#dialog.compose-modal426 .recurring-content418>section:nth-child(2)>label:last-child{flex:1;min-height:0;margin-bottom:0}
#dialog.compose-modal426 .recurring-content418>section:nth-child(2) textarea{flex:1;min-height:190px;height:auto;resize:vertical}

#dialog.recurring-modal418 .recurring-content418>section{align-self:stretch}

#dialog.compose-modal426 .recurring-content418{align-items:stretch}
#dialog.compose-modal426 .recurring-content418>section{align-self:stretch!important;box-sizing:border-box}

#dialog.recurring-modal418 .recurring-content418{grid-template-columns:repeat(2,minmax(0,1fr))}
#dialog.recurring-modal418:not(.compose-modal426) .recurring-content418>section:nth-child(2){display:flex;flex-direction:column}
#dialog.recurring-modal418:not(.compose-modal426) label:has(textarea){flex:1}
#dialog.recurring-modal418:not(.compose-modal426) textarea{flex:1;height:auto;min-height:190px}
@media(max-width:750px){#dialog.recurring-modal418 .recurring-content418{grid-template-columns:1fr}}

#dialog.photo-modal432{width:min(760px,calc(100vw - 32px));max-width:760px;padding:0;overflow:hidden;max-height:90vh;background:#fff}
#dialog.photo-modal432 #dialog-body{padding:0;max-height:90vh;overflow:auto}
#dialog.photo-modal432>button{display:none!important}
#dialog.photo-modal432 .profile-dialog94{padding:0;margin:0}
.photo-head432{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#173c60;color:#fff}
.photo-head432 svg{width:24px;height:24px;flex:none}
#dialog.photo-modal432 .photo-head432 h2{margin:0;font:inherit;font-size:19px;font-weight:700;color:white;flex:1}
.photo-head432 button{border:0;background:transparent;color:white;font-size:28px;min-height:30px;margin:0;padding:0 4px}
.photo-content432{display:grid;grid-template-columns:220px 1fr;gap:20px;padding:24px}
.photo-preview-area432{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#173c60;font-size:14px;text-align:center}
#dialog.photo-modal432 .profile-preview94{width:130px;height:130px;min-height:130px;margin:0;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#edf3fa;border:2px solid #c7d6e8;font-size:32px;font-weight:700}
.profile-preview94 img{width:100%;height:100%;object-fit:cover}
.photo-upload432{border:1px solid #c7d6e8;border-radius:5px;padding:16px;min-width:0}
.photo-upload432 p{font-size:13px;line-height:1.5;color:#52677e;margin:0 0 14px}
#dialog.photo-modal432 .photo-file432{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 14px;box-sizing:border-box;background:#edf3fa;border:1px solid #c7d6e8;border-radius:5px;color:#173c60;font-size:14px;font-weight:600;cursor:pointer;margin:0 0 10px}
.photo-file432 input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.photo-file432:focus-within{outline:2px solid #2b609a;outline-offset:2px}
#photo-filename432{overflow-wrap:anywhere}.photo-upload432 small{font-size:12px;color:#52677e}
.photo-footer432{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:14px 20px;background:#f0f3f7;border-top:1px solid #c7d6e8}
#dialog.photo-modal432 .photo-footer432 button{height:44px!important;min-height:44px!important;margin:0!important;padding:10px 16px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;font:inherit;font-size:14px;font-weight:600;line-height:20px;background:#e1e6ee;color:#173c60;border:1px solid #cbd6e3}
#dialog.photo-modal432 .photo-footer432 .primary{background:#2b609a;border-color:#2b609a;color:#fff}
#dialog.photo-modal432 .photo-footer432 .primary:disabled{opacity:.5;cursor:default}
#profile-remove94{margin-right:auto!important}
@media(max-width:600px){.photo-content432{grid-template-columns:1fr}.photo-footer432{flex-wrap:wrap}}

#dialog.recurring-modal418:not(.compose-modal426) .recurring-content418{padding:14px;gap:12px}
#dialog.recurring-modal418:not(.compose-modal426) .recurring-content418>section{padding:14px}
#dialog.recurring-modal418:not(.compose-modal426) .recurring-content418 h3{margin-bottom:12px}
#dialog.recurring-modal418:not(.compose-modal426) .recurring-content418 label{margin-bottom:0;gap:5px}
#dialog.recurring-modal418:not(.compose-modal426) .recurring-fields418{gap:10px;margin-top:10px}
.recurring-days433{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.recurring-days433>small{grid-column:1/-1;font-size:11px;line-height:1.35;color:#52677e}
.recurring-summary433{background:#edf3fa;border-left:3px solid #2b609a;padding:10px;margin:12px 0 0;color:#173c60;font-size:12px;line-height:1.4;font-weight:600}
#dialog.recurring-modal418:not(.compose-modal426) .recurring-target418{background:transparent;margin:8px 0 0;padding:0;font-size:11px}
#dialog.recurring-modal418:not(.compose-modal426) textarea{min-height:160px;resize:vertical}
#dialog.recurring-modal418:not(.compose-modal426) label:has([name=body]){margin-top:10px}

#dialog.photo-modal432 #dialog-body{width:100%;max-width:none;box-sizing:border-box}
#dialog.photo-modal432 .profile-dialog94{width:100%;max-width:none;box-sizing:border-box}
#dialog.photo-modal432 .photo-head432,#dialog.photo-modal432 .photo-content432,#dialog.photo-modal432 .photo-footer432{width:100%;box-sizing:border-box}

#dialog.substitute-modal443{width:min(760px,calc(100vw - 32px));max-width:760px;max-height:90vh;padding:0;overflow:hidden;background:#fff;color:#173c60}
#dialog.substitute-modal443 #dialog-body{padding:0;max-height:90vh;display:flex;flex-direction:column}
#dialog.substitute-modal443>button{display:none!important}
#substitute-form{margin:0;padding:0;display:flex;flex-direction:column;min-height:0}
.sub-content443{padding:20px;overflow:auto}.sub-lesson443{background:#edf3fa;border:1px solid #c7d6e8;border-radius:5px;padding:14px;margin-bottom:18px;display:flex;flex-direction:column;gap:6px}.sub-lesson443 strong{font-size:20px}.sub-lesson443 span{font-size:13px;color:#52677e}
.sub-fields443{display:grid;grid-template-columns:1fr 1fr;gap:16px}
#dialog.substitute-modal443 label{display:flex;flex-direction:column;gap:6px;margin:0;font-family:inherit;font-size:13px;font-weight:600;color:#173c60}
#dialog.substitute-modal443 select,.sub-current443{width:100%;box-sizing:border-box;min-height:40px;padding:9px 12px;margin:0;border:1px solid #c7d6e8;border-radius:5px;font-family:inherit;font-size:14px;font-weight:400;line-height:20px;color:#26384b}.sub-current443{background:#f0f3f7}
.sub-hint443{font-size:12px;line-height:1.5;color:#52677e;margin:14px 0 0}
#substitute-form>footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:14px 20px;background:#f0f3f7;border-top:1px solid #c7d6e8;flex-shrink:0}
#dialog.substitute-modal443 footer button{height:44px!important;min-height:44px!important;margin:0!important;padding:10px 16px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;font:inherit;font-size:14px;font-weight:600;line-height:20px;background:#e1e6ee;color:#173c60;border:1px solid #cbd6e3}
#dialog.substitute-modal443 footer .primary{background:#2b609a;color:white;border-color:#2b609a}#dialog.substitute-modal443 #sub-remove443{margin-right:auto!important}#substitute-error:empty{display:none}
@media(max-width:600px){.sub-fields443{grid-template-columns:1fr}#substitute-form>footer{flex-wrap:wrap}}

#dialog.lesson-modal445{width:min(680px,calc(100vw - 32px));max-width:680px;max-height:90vh;padding:0;overflow:hidden;background:white;color:#173c60}
#dialog.lesson-modal445 #dialog-body{padding:0;max-height:90vh;overflow:auto;width:100%;box-sizing:border-box}
#dialog.lesson-modal445>button{display:none!important}
.lesson-content445{padding:20px}.lesson-summary445{border:1px solid #c7d6e8;border-left:8px solid #2b609a;border-radius:5px;padding:16px;background:white}
#dialog.lesson-modal445 .lesson-summary445 h2{font-family:inherit;font-size:24px;font-weight:700;color:#173c60;margin:0 0 10px}
.lesson-status445{display:inline-block;background:#edf3fa;color:#173c60;padding:5px 9px;border-radius:4px;font-size:12px;font-weight:600;margin-bottom:8px}
.lesson-summary445 p{display:flex;align-items:center;gap:10px;font-size:14px;line-height:1.5;margin:8px 0;color:#173c60}.lesson-summary445 p svg{width:20px;height:20px;flex:none}.lesson-summary445 small{display:block;font-size:12px;line-height:1.5;color:#52677e}
.lesson-actions445{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
#dialog.lesson-modal445 .lesson-actions445 button{display:flex;align-items:center;justify-content:center;gap:9px;height:44px;min-height:44px;margin:0;padding:10px 14px;font-family:inherit;font-size:14px;font-weight:600;line-height:20px;background:#edf3fa;color:#173c60;border:1px solid #c7d6e8;box-sizing:border-box}
.lesson-actions445 svg{width:20px;height:20px;flex:none}
#dialog.lesson-modal445 .lesson-actions445 .primary{background:#2b609a;color:white;border-color:#2b609a}
#dialog.lesson-modal445 .lesson-actions445 .lesson-cancel445{background:#faf0f1;border-color:#e4bfc5;color:#923b48}
#dialog.lesson-modal445 .lesson-actions445 button:disabled{opacity:.45;cursor:default}
@media(max-width:500px){.lesson-actions445{grid-template-columns:1fr}}

#recurring-summary .recurring-actions822{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto}
#recurring-summary .recurring-actions822>button{flex:1;min-height:44px;margin:0}
#recurring-summary .recurring-actions822>[data-recurring-disable822]{background:#edf2f8;color:#173c60;border:1px solid #c7d6e8}
@media(max-width:600px){#recurring-summary .recurring-actions822{flex-direction:column}}

/* Full default reminder with payment link visible above the signature. */
html body #dialog.recurring-modal418 #recurring-form textarea[name=body]{height:340px;min-height:280px;max-height:480px}
@media(max-width:650px){html body #dialog.recurring-modal418 #recurring-form textarea[name=body]{height:300px;min-height:240px}}
