.parent-app{min-height:100vh;overflow-x:hidden;background:#f5f7fb;color:#172033;padding-bottom:82px;font:16px/1.45 Inter,system-ui,sans-serif}.parent-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;min-height:64px;padding:10px max(16px,calc((100vw - 960px)/2));background:#172033;color:#fff}.parent-header>div{display:flex;flex-direction:column;min-width:max-content}.parent-header>div span{font-size:12px;opacity:.72}.parent-child-select{margin-left:auto}.parent-child-select span{display:block;font-size:11px;opacity:.7}.parent-child-select select{max-width:220px;border:0;border-radius:10px;padding:7px 30px 7px 9px}.parent-bell{position:relative;border:0;background:#ffffff1a;color:#fff;border-radius:12px;width:44px;height:44px;font-size:20px}.parent-bell i{position:absolute;right:-3px;top:-4px;display:grid;place-items:center;min-width:19px;height:19px;padding:0 4px;border-radius:12px;background:#f04438;color:#fff;font:700 11px/1 system-ui}.parent-main{width:min(100% - 28px,920px);margin:0 auto;padding:22px 0 32px}.parent-title{margin-bottom:16px}.parent-title h1{margin:2px 0;font-size:28px}.parent-title span{color:#667085}.parent-card{margin:0 0 14px;overflow-wrap:anywhere;padding:18px;border:1px solid #e4e7ec;border-radius:18px;background:#fff;box-shadow:0 2px 10px #1018280a}.parent-card h2{margin:0 0 14px;font-size:18px}.parent-next{display:grid;grid-template-columns:1fr auto;gap:4px 12px}.parent-next strong{font-size:22px}.parent-next span{grid-column:1/-1;color:#667085}.parent-next-open{width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.parent-next-open:focus-visible{outline:3px solid #dbeafe;outline-offset:4px;border-radius:10px}.parent-next-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}.parent-next-actions .parent-primary,.parent-next-actions .parent-secondary{min-height:42px}.parent-next-absence-status{display:inline-flex;align-items:center}.parent-balances{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.parent-balance{display:grid;grid-template-columns:1fr 1fr;gap:12px}.parent-balance div{display:flex;flex-direction:column}.parent-balance span,.parent-balance small{color:#667085}.parent-balance strong{font-size:24px}.parent-info{display:grid;gap:4px;padding:12px 0;border-top:1px solid #eaecf0}.parent-info:first-of-type{border-top:0}.parent-info span{color:#667085}.parent-photo-preview{display:block;width:100%;max-height:360px;padding:0;border:0;border-radius:14px;overflow:hidden;background:#eef2f6}.parent-photo-preview img{display:block;width:100%;height:300px;object-fit:cover}.parent-lessons,.parent-list{display:grid;gap:10px}.parent-lesson{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:14px;margin:0}.parent-lesson>div{display:flex;flex-direction:column}.parent-lesson span{color:#667085}.parent-lesson em,.parent-row em{font-style:normal;font-size:13px;padding:5px 9px;border-radius:999px;background:#ecfdf3;color:#067647}.parent-lesson .status-cancelled{background:#fef3f2;color:#b42318}.parent-lesson .status-moved{background:#fffaeb;color:#b54708}.parent-row{display:flex;align-items:center;justify-content:space-between;margin:0}.parent-row>div{display:flex;flex-direction:column}.parent-row span{color:#667085}.parent-row .negative{color:#b42318}.parent-primary,.parent-actions a{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:10px 16px;border:0;border-radius:12px;background:#175cd3;color:#fff;text-decoration:none;font-weight:700}.parent-main>.parent-primary{margin-bottom:14px;width:100%}.parent-pay-actions{display:grid;gap:8px;margin-bottom:14px}.parent-pay-actions .parent-primary{width:100%}.parent-photo-day h2{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;font-size:17px}.parent-photo-day h2 small{color:#667085;font-size:13px;font-weight:500}.parent-photo-day>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.parent-photo-day button{aspect-ratio:1;padding:0;border:0;border-radius:12px;overflow:hidden;background:#e4e7ec}.parent-photo-day img{width:100%;height:100%;object-fit:cover}.parent-card form,.parent-card form label{display:grid;gap:8px}.parent-card form{gap:12px}.parent-card input:not([type=checkbox]),.parent-card select{min-height:44px;padding:9px 12px;border:1px solid #d0d5dd;border-radius:10px;font:inherit}.parent-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:50px;border-top:1px solid #eaecf0}.parent-toggle:first-of-type{border-top:0}.parent-toggle input{width:22px;height:22px}.parent-child-line,.parent-document{padding:10px 0;border-top:1px solid #eaecf0}.parent-document{display:flex;flex-direction:column;gap:4px}.parent-document span{color:#667085;font-size:13px}.parent-actions{display:flex;flex-wrap:wrap;gap:10px}.parent-actions a:not(.parent-primary){display:inline-flex;align-items:center;min-height:46px;color:#175cd3}.parent-logout{width:100%;min-height:48px;border:1px solid #fda29b;border-radius:12px;background:#fff;color:#b42318}.parent-notification{display:flex;flex-direction:column;align-items:flex-start;text-align:left;width:100%;border:0}.parent-notification.unread{border-left:4px solid #175cd3}.parent-notification span{color:#344054}.parent-notification small{color:#98a2b3}.parent-empty{padding:28px;text-align:center;color:#667085;background:#fff;border:1px dashed #d0d5dd;border-radius:16px}.parent-error{margin-bottom:14px;padding:12px;border-radius:12px;background:#fef3f2;color:#b42318}.parent-loading{padding:50px;text-align:center;color:#667085}.parent-nav{position:fixed;z-index:25;bottom:0;left:0;right:0;display:flex;justify-content:center;background:#fff;border-top:1px solid #e4e7ec;padding:7px max(6px,calc((100vw - 900px)/2)) calc(7px + env(safe-area-inset-bottom))}.parent-nav button{flex:1;max-width:150px;min-height:48px;border:0;background:transparent;color:#667085;font-size:12px}.parent-nav button.active{color:#175cd3;font-weight:800}.parent-viewer{position:fixed;z-index:100;inset:0;display:grid;grid-template-columns:52px 1fr 52px;place-items:center;background:#101828f2;color:#fff}.parent-viewer img{max-width:100%;max-height:88vh;object-fit:contain}.parent-viewer button{border:0;background:#ffffff22;color:#fff;border-radius:50%;width:44px;height:44px;font-size:32px}.parent-viewer>button:first-child{position:absolute;right:14px;top:14px;padding:0;font-size:0;line-height:1}.parent-viewer>button:first-child::before,.parent-viewer>button:first-child::after{content:'';position:absolute;left:50%;top:50%;width:22px;height:2px;border-radius:2px;background:#fff;transform-origin:center}.parent-viewer>button:first-child::before{transform:translate(-50%,-50%) rotate(45deg)}.parent-viewer>button:first-child::after{transform:translate(-50%,-50%) rotate(-45deg)}.parent-viewer-download{position:absolute;left:50%;bottom:48px;transform:translateX(-50%);display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 16px;border-radius:12px;background:#fff;color:#172033;text-decoration:none;font-weight:700}.parent-viewer span{position:absolute;bottom:18px}.parent-consent{min-height:100vh;display:grid;place-items:center;padding:20px;background:#f5f7fb}.parent-consent>div{width:min(100%,680px)}.parent-consent .parent-card>div:last-child{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.parent-document-body{white-space:pre-wrap;color:#475467}.accepted{color:#067647}
.parent-payment-modal{position:fixed;z-index:90;inset:0;display:grid;place-items:center;padding:20px;background:#101828b8}.parent-payment-modal article{position:relative;width:min(100%,420px);text-align:center}.parent-payment-modal article>[data-action="pay-close"]{position:absolute;right:12px;top:10px;width:38px;height:38px;border:0;background:transparent;font-size:28px}.parent-payment-modal strong{display:block;margin:12px;font-size:30px}.parent-payment-modal img{display:block;width:min(260px,100%);aspect-ratio:1;object-fit:contain;margin:10px auto;border-radius:12px}.parent-payment-modal p{color:#667085}
.parent-calendar-event{display:block;width:100%;border-top:0;border-right:0;border-bottom:0;text-align:left;color:#172033}.parent-calendar-event>span{display:block}.parent-calendar-event .badge{display:inline-flex}.parent-lesson-modal{position:fixed;z-index:90;inset:0;display:grid;place-items:center;padding:20px;background:#101828b8}.parent-lesson-modal article{position:relative;width:min(100%,420px)}.parent-lesson-modal article>[data-action="lesson-info-close"]{position:absolute;right:12px;top:10px;width:38px;height:38px;border:0;background:transparent;font-size:28px}.parent-lesson-modal article>[data-action="absence-set"],.parent-lesson-modal article>[data-action="absence-cancel"]{display:flex;width:100%;min-width:0;white-space:normal;margin-top:12px}.parent-lesson-modal h2{padding-right:36px}.parent-app .calendar-toolbar{margin-top:0}.parent-app .calendar-toolbar-nav .btn{background:#fff}.parent-app .calendar-grid .day{overflow:hidden}.parent-app .calendar-mobile .event{cursor:pointer}
@media(max-width:640px){.parent-header{padding:9px 12px}.parent-header>div span{display:none}.parent-child-select{min-width:0}.parent-child-select select{width:100%;max-width:150px}.parent-main{width:min(100% - 20px,920px);padding-top:16px}.parent-title h1{font-size:24px}.parent-balances{grid-template-columns:1fr}.parent-balance strong{font-size:21px}.parent-lesson{grid-template-columns:88px 1fr}.parent-lesson em{grid-column:2}.parent-photo-day>div{grid-template-columns:repeat(2,minmax(0,1fr))}.parent-nav{overflow-x:auto;justify-content:flex-start}.parent-nav button{flex:0 0 78px}.parent-photo-preview img{height:230px}.parent-viewer>button:first-child{right:10px;top:10px}.parent-viewer-download{bottom:52px;min-height:44px}}

/* Parent portal uses the same sidebar/mobile-drawer pattern as the main CRM. */
.parent-app{padding-bottom:0}
.parent-sidebar{position:fixed;z-index:42;inset:0 auto 0 0;display:flex;flex-direction:column;width:232px;padding:22px 14px;background:#172033;color:#fff}
.parent-brand{display:flex;flex-direction:column;padding:0 10px 22px}.parent-brand b{font-size:24px}.parent-brand span{font-size:12px;opacity:.68}
.parent-sidebar nav{display:grid;gap:5px}.parent-sidebar nav button{min-height:44px;padding:10px 12px;border:0;border-radius:10px;background:transparent;color:#d0d5dd;text-align:left;font:inherit}
.parent-sidebar nav button:hover,.parent-sidebar nav button.active{background:#ffffff18;color:#fff;font-weight:700}
.parent-work{min-height:100vh;margin-left:232px}
.parent-header{padding:10px max(16px,calc((100vw - 232px - 960px)/2));background:#fff;color:#172033;border-bottom:1px solid #e4e7ec}
.parent-mobile-brand,.parent-menu-button{display:none}.parent-bell{background:#eef2f6;color:#172033}
.parent-mobile-brand+.parent-header-actions{margin-left:auto}.parent-push-settings{background:#eef2f6;color:#172033}.parent-pending-receipt{display:inline-flex;align-items:center;margin:0 0 14px;padding:7px 11px;border:1px solid #fedf89;border-radius:999px;background:#fffaeb;color:#b54708;font-size:13px;font-weight:700}
.parent-menu-backdrop{display:none}.parent-nav{display:none!important}
.parent-balance{display:flex;flex-direction:column;gap:7px;border-width:2px}.parent-balance>span{font-size:13px}.parent-balance>strong{font-size:20px;line-height:1.3}
.parent-balance-success{border-color:#75e0a7;background:#ecfdf3}.parent-balance-success strong{color:#067647}
.parent-balance-warning{border-color:#fedf89;background:#fffaeb}.parent-balance-warning strong{color:#b54708}
.parent-balance-danger{border-color:#fda29b;background:#fef3f2}.parent-balance-danger strong{color:#b42318}
.parent-balance-pay{width:100%;margin-top:5px}
.parent-subscription{display:grid;gap:9px}.parent-subscription>span{color:#475467}.parent-subscription .parent-primary{justify-self:start}
.parent-about .parent-info{grid-template-columns:minmax(110px,.7fr) minmax(0,1fr)}
.parent-about-direction{display:grid;gap:4px;padding:12px 0;border-top:1px solid #eaecf0}.parent-about-direction:first-child{border-top:0}.parent-about-direction span{color:#667085}
.parent-secondary{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:10px 16px;border:1px solid #d0d5dd;border-radius:12px;background:#fff;color:#344054;font-weight:700}
.parent-actions a.parent-contact-button{display:inline-flex!important;justify-content:center;min-height:46px;padding:10px 16px!important;border:1px solid #175cd3;border-radius:12px;background:#fff;color:#175cd3!important;-webkit-text-fill-color:#175cd3;font-size:16px;line-height:1.35;font-weight:700;text-decoration:none;white-space:normal}.parent-actions a.parent-contact-button.primary{background:#175cd3;color:#fff!important;-webkit-text-fill-color:#fff}
.parent-viewer button,.parent-payment-modal article>[data-action="pay-close"],.parent-lesson-modal article>[data-action="lesson-info-close"]{display:grid;place-items:center;padding:0;line-height:1}
.parent-credentials-modal{width:min(100%,520px)}.parent-credentials-modal>p{margin:-6px 0 16px}.parent-credential{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 10px;padding:12px 0;border-top:1px solid #e4e7ec}.parent-credential>span{grid-column:1/-1;color:#667085;font-size:13px}.parent-credential code{min-width:0;overflow-wrap:anywhere;user-select:text;padding:10px 12px;border-radius:9px;background:#f2f4f7;color:#172033;font:600 14px/1.4 ui-monospace,monospace}.parent-credential .btn{white-space:nowrap}
@media(max-width:760px){
  .parent-sidebar{transform:translateX(-104%);transition:transform .18s ease;box-shadow:12px 0 30px #10182833}.parent-sidebar.open{transform:translateX(0)}
  .parent-work{margin-left:0}.parent-menu-backdrop{position:fixed;z-index:41;inset:0;display:block;border:0;background:#10182880}
  .parent-menu-button{display:grid;place-items:center;width:42px;height:42px;padding:0;border:0;border-radius:10px;background:#eef2f6;color:#172033;font-size:22px;line-height:1}
  .parent-mobile-brand{display:block!important;min-width:0!important}.parent-mobile-brand b{font-size:20px}
  .parent-header{gap:8px;padding:9px 12px}.parent-child-select{margin-left:auto;min-width:0}.parent-child-select select{max-width:110px}.parent-main{width:min(100% - 20px,920px);padding-top:16px}
  .parent-bell{appearance:none;-webkit-appearance:none;width:42px;height:42px;min-width:42px;min-height:42px;max-width:42px;max-height:42px;padding:0;margin:0;border:1px solid #d0d5dd;border-radius:12px;background:#eef2f6;color:#172033;display:inline-grid;place-items:center;box-sizing:border-box;flex:0 0 42px;font-size:20px;line-height:1}
  .parent-bell [data-push-bell-icon]{display:block;line-height:1}
  .parent-header-actions{gap:7px}.parent-push-settings{flex:0 0 42px}
  .parent-balances{grid-template-columns:1fr}.parent-subscription .parent-primary{justify-self:stretch}.parent-actions{display:grid}.parent-contact-button{width:100%}
  .parent-about .parent-info{grid-template-columns:1fr}.parent-viewer{grid-template-columns:46px minmax(0,1fr) 46px}.parent-viewer button{width:40px;height:40px}
  .parent-credential{grid-template-columns:1fr}.parent-credential>span{grid-column:auto}.parent-credential .btn{width:100%;white-space:normal}
}

.parent-payment-instructions{display:grid;gap:14px}.parent-payment-instructions p{margin:0;line-height:1.55}.parent-payment-phone{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px;border-radius:16px;background:#f3f4f6}.parent-payment-phone strong{font-size:22px}.parent-payment-phone span{color:#667085}.parent-payment-child{display:grid;gap:5px;padding:10px 0;border-bottom:1px solid #e5e7eb}.parent-payment-child:last-of-type{border-bottom:0}.parent-payment-child span{color:#475467}.parent-receipt-upload{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.parent-receipt-upload label{display:grid;gap:6px;min-width:220px}.parent-receipt-upload input{max-width:100%}.parent-receipt-upload [data-receipt-message]{color:#067647;font-weight:700}.parent-payment-section{margin-top:20px}.parent-payment-section>h2{font-size:18px}.parent-payment-value{display:grid;justify-items:end;gap:4px}.parent-payment-value a{font-size:13px;color:#175cd3}.payment-receipt-preview{display:block;width:100%;height:min(48vh,520px);object-fit:contain;border:1px solid #e5e7eb;border-radius:14px;margin:14px 0;background:#f9fafb}.payment-receipt-options{display:grid;gap:10px}.payment-receipt-option{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;border:1px solid #e5e7eb;border-radius:12px}.payment-receipt-option>div{display:grid;gap:4px}.payment-receipt-option span{color:#667085;font-size:13px}.payment-receipt-queue{margin-bottom:16px}
@media(max-width:640px){.parent-payment-phone,.parent-receipt-upload,.payment-receipt-option{align-items:stretch;flex-direction:column}.parent-payment-value{justify-items:start}.payment-receipt-preview{height:42vh}}

/* Focused payment and notification layout fixes. */
.parent-bell i[hidden]{display:none}.parent-payment-instructions,.parent-payment-phone,.parent-receipt-upload,.parent-payment-section,.parent-payment-value{min-width:0}.parent-receipt-upload{max-width:100%;align-items:center}.parent-receipt-picker{flex:0 0 auto!important;min-width:0!important}.parent-receipt-picker input{position:absolute;width:1px!important;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.parent-receipt-picker .parent-secondary{cursor:pointer}.parent-receipt-selected{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 10px;min-width:min(100%,360px);padding:10px 12px;border:1px solid #d0d5dd;border-radius:12px;background:#f9fafb}.parent-receipt-selected>span{grid-column:1/-1;color:#667085;font-size:12px}.parent-receipt-selected>b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.parent-receipt-selected>div{display:flex;gap:8px;flex-wrap:wrap}.parent-receipt-selected .parent-secondary{min-height:38px;padding:7px 11px}.parent-receipt-selected .danger{color:#b42318;border-color:#fda29b}.parent-receipt-upload [data-receipt-message]{min-width:0;overflow-wrap:anywhere}.parent-payment-receipt-link{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.payment-receipt-option>div{min-width:0}.parent-install-help{width:100%;margin-top:12px}.parent-notification-modal{position:fixed;z-index:95;inset:0;display:grid;place-items:center;padding:20px;background:#101828b8}.parent-notification-modal article{width:min(100%,430px)}.parent-notification-modal p{color:#475467}.parent-notification-modal .parent-primary{width:100%}
@media(max-width:640px){.parent-payment-phone>*{max-width:100%;min-width:0}.parent-payment-phone .parent-secondary,.parent-receipt-upload .parent-primary,.parent-receipt-picker,.parent-receipt-picker .parent-secondary,.parent-receipt-selected{width:100%}.parent-receipt-selected{grid-template-columns:1fr}.parent-receipt-selected>span{grid-column:auto}.parent-receipt-selected>div{width:100%}.parent-receipt-selected>div>*{flex:1}.parent-payment-receipt-link span{display:none}.parent-row{min-width:0;gap:10px;flex-wrap:wrap}.parent-row>div{min-width:0}}

/* Compact parent document list and full-text viewer. */
.parent-document-card h2{margin-bottom:10px}.parent-document-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.parent-document-open{width:max-content;text-decoration:none}.parent-document-viewer{position:fixed;z-index:110;inset:0;display:grid;place-items:center;padding:20px;background:#101828b8}.parent-document-viewer>article{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(100%,760px);max-height:min(90vh,900px);overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 24px 64px #10182855}.parent-document-viewer header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid #e4e7ec}.parent-document-viewer h2{margin:0;font-size:20px}.parent-document-viewer header button{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:#eef2f6;color:#172033;font:28px/1 system-ui}.parent-document-viewer .parent-document-body{overflow:auto;padding:20px}.parent-document-viewer footer{display:flex;justify-content:flex-end;padding:14px 20px;border-top:1px solid #e4e7ec}
@media(max-width:640px){.parent-document-actions>*{flex:1}.parent-document-viewer{padding:10px}.parent-document-viewer>article{max-height:94vh;border-radius:14px}.parent-document-viewer header,.parent-document-viewer .parent-document-body{padding:16px}.parent-document-viewer footer{padding:12px 16px}.parent-document-viewer footer .parent-secondary{width:100%}}
