.certificate-preview-modal .modal-shell__dialog{width:min(96vw,56rem);max-height:min(94vh,56rem)}.certificate-preview-modal__body{display:flex;flex-direction:column;gap:.75rem;min-width:0;overflow-x:hidden}.certificate-preview-modal__sample-banner,.certificate-preview-modal__status,.certificate-preview-modal__error{margin:0;padding:.65rem .75rem;border-radius:var(--radius-md, .5rem)}.certificate-preview-modal__sample-banner{background:#eef4fb;color:#1e3a5f}.certificate-preview-modal__error{background:#fde8e8;color:#8a1f1f}.certificate-preview-modal__warnings{margin:0;padding-inline-start:1.2rem;color:#8a5a00}.certificate-preview-modal__toolbar{display:flex;flex-wrap:wrap;gap:.5rem}.certificate-preview-modal__frame{width:100%;overflow:auto;border:1px solid var(--color-border, #d5dde8);border-radius:var(--radius-md, .5rem);background:#f4f6f9;max-height:min(65vh,42rem)}.certificate-preview-modal__frame.is-portrait{aspect-ratio:210 / 297;max-height:min(65vh,42rem)}.certificate-preview-modal__frame.is-landscape{aspect-ratio:297 / 210;max-height:min(55vh,34rem)}.certificate-preview-modal__iframe{width:100%;height:100%;min-height:28rem;border:0;background:#fff}.certificate-preview-modal__footer{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}@media(max-width:720px){.certificate-preview-modal .modal-shell__dialog{width:100vw;max-height:100vh;border-radius:0}.certificate-preview-modal__iframe{min-height:22rem}.certificate-preview-modal__body{overflow-x:hidden}}[dir=rtl] .certificate-preview-modal__footer{justify-content:flex-start}.outreach-page{max-width:1180px;margin-inline:auto;padding-inline:.75rem;padding-block-end:2rem;overflow-x:hidden}.outreach-page .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.outreach-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin-block:1rem;padding:.3rem;background:var(--color-accent);border-radius:var(--radius-md)}.outreach-tab{flex:1 1 8rem;min-height:2.5rem;padding-inline:.9rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-primary);font-size:.95rem;font-weight:600;cursor:pointer;transition:background-color .15s ease,color .15s ease}.outreach-tab:hover{background:var(--color-accent-strong)}.outreach-tab.is-active{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}.outreach-panel{display:block}.outreach-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.75rem;margin-block-end:1rem}.outreach-summary-grid--compact{grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr))}.outreach-summary-card{display:flex;flex-direction:column;gap:.25rem;padding:.85rem 1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.outreach-summary-card__label{font-size:.8rem;color:var(--color-text-muted);line-height:1.3}.outreach-summary-card__value{font-size:1.5rem;font-weight:700;color:var(--color-primary)}.outreach-hint{margin-block:.35rem;font-size:.85rem;color:var(--color-text-muted)}.outreach-filter-bar{margin-block-end:.75rem}.outreach-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-block-end:.9rem}.outreach-toolbar__count{margin:0;font-size:.9rem;color:var(--color-text-muted)}.outreach-toolbar__actions{display:flex;flex-wrap:wrap;gap:.5rem}.outreach-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,21rem),1fr));gap:.9rem}.outreach-contact-card{display:flex;flex-direction:column;gap:.7rem;padding:1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.outreach-contact-card.is-inactive{background:#fbfcfe;opacity:.85}.outreach-contact-card__top{display:flex;align-items:flex-start;gap:.6rem}.outreach-contact-card__select{display:flex;align-items:center;min-height:1.5rem}.outreach-contact-card__select input{width:1.15rem;height:1.15rem}.outreach-avatar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--color-accent-strong);color:var(--color-primary);font-size:.9rem;font-weight:700}.outreach-contact-card__identity{min-width:0;flex:1 1 auto}.outreach-contact-card__name{margin:0 0 .35rem;font-size:1rem;font-weight:600;overflow-wrap:anywhere}.outreach-contact-card__badges,.outreach-contact-card__channels{display:flex;flex-wrap:wrap;gap:.35rem}.outreach-contact-card__details{display:grid;gap:.4rem;margin:0}.outreach-contact-card__details div{display:grid;grid-template-columns:minmax(5.5rem,8rem) 1fr;gap:.5rem;align-items:baseline}.outreach-contact-card__details dt{font-size:.8rem;color:var(--color-text-muted)}.outreach-contact-card__details dd{margin:0;font-size:.9rem;overflow-wrap:anywhere}.outreach-contact-card__actions{display:flex;flex-wrap:wrap;gap:.4rem;padding-block-start:.6rem;border-block-start:1px solid var(--color-border)}.outreach-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem;margin-block-start:1rem}.outreach-pagination__label{font-size:.9rem;color:var(--color-text-muted)}.outreach-steps{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1rem;padding:0;list-style:none}.outreach-step{flex:1 1 10rem}.outreach-step__button{display:flex;align-items:center;gap:.5rem;width:100%;min-height:2.75rem;padding-inline:.75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:.9rem;font-weight:600;text-align:start;cursor:pointer}.outreach-step.is-current .outreach-step__button{border-color:var(--color-primary);color:var(--color-primary);box-shadow:0 0 0 2px #2d5a8e1f}.outreach-step.is-done .outreach-step__button{color:var(--color-primary)}.outreach-step__index{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--color-accent);color:var(--color-primary);font-size:.8rem}.outreach-step.is-current .outreach-step__index{background:var(--color-primary);color:#fff}.outreach-step-panel{padding:1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.outreach-step-panel>h3{margin-block:0 .5rem;font-size:1.05rem}.outreach-step-panel__actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-block-start:.75rem}.outreach-form-section{padding-block:.75rem;border-block-start:1px solid var(--color-border)}.outreach-form-section:first-child{border-block-start:none;padding-block-start:0}.outreach-form-section>h3{margin-block:0 .35rem;font-size:.95rem;font-weight:700;color:var(--color-primary)}.outreach-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:.75rem}.outreach-field{display:flex;flex-direction:column;gap:.3rem;min-width:0;margin-block-end:.6rem}.outreach-field__label{font-size:.85rem;font-weight:600;color:var(--color-text)}.outreach-fieldset{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.6rem .75rem}.outreach-checkbox{display:flex;align-items:center;gap:.5rem;min-height:2rem;font-size:.9rem}.outreach-checkbox input{width:1.1rem;height:1.1rem}.outreach-body{min-height:12rem}.outreach-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:.5rem 0 0;padding:0;list-style:none;max-height:14rem;overflow-y:auto}.outreach-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .5rem;background:var(--color-accent);border-radius:9999px;font-size:.85rem}.outreach-chip__remove{border:none;background:transparent;color:var(--color-text-muted);font-size:1rem;line-height:1;cursor:pointer}.outreach-preview{margin-block-start:1rem}.outreach-exclusions{margin-block:.75rem;font-size:.9rem}.outreach-sample-block h4{margin-block:.75rem .35rem;font-size:.9rem}.outreach-sample{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--color-accent);padding:.75rem;border-radius:var(--radius-sm);max-height:18rem;overflow:auto;font-size:.85rem}.outreach-review{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:.6rem;margin:0}.outreach-review div{display:flex;flex-direction:column;gap:.15rem}.outreach-review dt{font-size:.8rem;color:var(--color-text-muted)}.outreach-review dd{margin:0;font-size:.95rem;font-weight:600;overflow-wrap:anywhere}.outreach-send-footer{position:sticky;inset-block-end:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-block-start:1rem;padding:.75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 -2px 10px #1e3a5f14}.outreach-send-footer__nav,.outreach-send-footer__submit{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.outreach-send-footer__reason{margin:0;flex:1 1 14rem;font-size:.85rem;color:var(--color-error-text)}.outreach-table-wrap{width:100%;overflow-x:auto}.outreach-table{width:100%;border-collapse:collapse;min-width:46rem;background:var(--color-surface);border-radius:var(--radius-md)}.outreach-table th,.outreach-table td{border-block-end:1px solid var(--color-border);padding:.6rem .5rem;text-align:start;vertical-align:middle;font-size:.9rem}.outreach-table th{font-size:.8rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.02em}.outreach-row-actions{display:flex;flex-wrap:wrap;gap:.35rem}.outreach-detail-heading{margin-block:1rem .5rem;font-size:.95rem}.outreach-recipient-list{display:grid;gap:.4rem;margin:0;padding:0;list-style:none;max-height:18rem;overflow-y:auto}.outreach-recipient-list li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding:.4rem .5rem;background:var(--color-accent);border-radius:var(--radius-sm);font-size:.85rem}.outreach-recipient-list__meta{color:var(--color-text-muted)}@media(max-width:720px){.outreach-page{padding-inline:.5rem}.outreach-cards{grid-template-columns:1fr}.outreach-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.outreach-tab{flex:1 1 6rem;font-size:.875rem}.outreach-step{flex:1 1 100%}.outreach-send-footer{flex-direction:column;align-items:stretch}.outreach-send-footer__nav,.outreach-send-footer__submit{justify-content:stretch}.outreach-send-footer__nav .btn,.outreach-send-footer__submit .btn{flex:1 1 auto}.outreach-contact-card__details div{grid-template-columns:1fr;gap:0}.outreach-contact-card__actions .btn{flex:1 1 9rem}}[dir=rtl] .outreach-table th,[dir=rtl] .outreach-table td,[dir=rtl] .outreach-step__button{text-align:right}[dir=rtl] .outreach-sample{direction:ltr;text-align:left}.cash-payment-dialog{display:flex;flex-direction:column;gap:.75rem;max-width:100%}.cash-payment-dialog__summary{margin:0}.cash-payment-dialog__amount{font-weight:700}.cash-payment-dialog__check{display:flex;align-items:flex-start;gap:.75rem;min-height:44px;padding:.5rem 0;cursor:pointer}.cash-payment-dialog__check input{width:1.25rem;height:1.25rem;margin-top:.15rem;flex-shrink:0}.cash-payment-dialog__check--primary{border-top:1px solid var(--border-color, #ddd);padding-top:.75rem;margin-top:.25rem}.cash-payment-dialog .form-field{display:flex;flex-direction:column;gap:.35rem}.cash-payment-dialog .form-field input,.cash-payment-dialog .form-field textarea{width:100%;max-width:100%;box-sizing:border-box}@media(max-width:390px){.cash-payment-dialog__check{gap:.65rem}}.registration-staff-actions,.registration-staff-actions__bar{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;max-width:100%}.registration-staff-actions__item{display:inline-flex;flex-direction:row;align-items:center;gap:.35rem;max-width:100%}.registration-staff-actions__hint{font-size:.7rem;color:var(--color-text-muted, #5c6570);line-height:1.2;white-space:normal;max-width:11rem}.registration-staff-actions__more-wrap{position:relative}.registration-staff-actions__menu{list-style:none;margin:.35rem 0 0;padding:.25rem 0;border:1px solid var(--color-border, #d8dee6);border-radius:.5rem;background:var(--color-surface, #fff);min-width:12rem;position:absolute;inset-inline-start:0;z-index:20;box-shadow:0 4px 16px #0f172a1f}.registration-staff-actions__menu-item{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;padding:.55rem .75rem;border:0;background:transparent;text-align:start;cursor:pointer;font:inherit}.registration-staff-actions__menu-item:disabled{opacity:.65;cursor:not-allowed}.registration-staff-actions__menu-item:not(:disabled):hover,.registration-staff-actions__menu-item:not(:disabled):focus-visible{background:var(--color-surface-muted, #f3f5f8)}.registration-row-identity{display:flex;flex-direction:column;gap:.45rem;min-width:0;max-width:100%}.registration-row-identity__name{margin:0;font-size:1rem;font-weight:650;line-height:1.25}.registration-row-identity__meta{display:flex;flex-wrap:wrap;gap:.35rem .75rem;margin:0;font-size:.82rem;color:var(--color-text-muted, #5c6570);line-height:1.35}.registration-row-identity__meta span{white-space:nowrap}.registration-list-cards{display:none;gap:.75rem}.registration-list-card{display:flex;flex-direction:column;gap:.55rem;padding:.9rem 1rem;border:1px solid var(--color-border, #d8dee6);border-radius:.75rem;background:var(--color-surface, #fff);max-width:100%;overflow:hidden}.registration-list-card__footer{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.registration-list-desktop .master-data-table td{vertical-align:top}.registration-list-desktop .master-data-table__identity{min-width:16rem;max-width:28rem}.registration-list-desktop .master-data-table__actions-inline{padding-top:.35rem}@media(max-width:900px){.registration-list-desktop{display:none!important}.registration-list-cards{display:grid}}@media(max-width:640px){.registration-staff-actions__hint{max-width:100%}.page-content{overflow-x:hidden}}.as-page{display:flex;flex-direction:column;gap:var(--space-lg)}.as-tabs{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:0}.as-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-lg)}.as-card__header{margin-bottom:var(--space-md)}.as-card__title{margin:0;font-size:var(--font-lg);font-weight:700;color:var(--color-primary)}.as-card__desc{margin:var(--space-xs) 0 0;font-size:.875rem;color:var(--color-text-muted);line-height:1.45}.as-settings-intro{max-width:42rem}.as-settings-intro h2{margin:0;font-size:1.35rem;font-weight:700;color:var(--color-text)}.as-settings-intro p{margin:var(--space-xs) 0 0;color:var(--color-text-muted);font-size:.9375rem;line-height:1.5}.as-template-layout{display:grid;gap:var(--space-lg);align-items:start}@media(min-width:1100px){.as-template-layout{grid-template-columns:minmax(0,1fr) minmax(20rem,26rem)}.as-preview-column{position:sticky;top:1rem}}.as-settings-column{display:flex;flex-direction:column;gap:var(--space-lg);min-width:0}.as-template-picker{display:flex;flex-direction:column;gap:var(--space-sm)}.as-template-picker__row{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center}.as-template-picker select{flex:1 1 14rem;min-width:0}.as-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .65rem;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.as-badge--active{background:color-mix(in srgb,var(--color-success, #16a34a) 16%,var(--color-surface));color:var(--color-success, #15803d);border:1px solid color-mix(in srgb,var(--color-success, #16a34a) 35%,transparent)}.as-badge--inactive{background:color-mix(in srgb,var(--color-text-muted) 12%,var(--color-surface));color:var(--color-text-muted);border:1px solid var(--color-border)}.as-field-stack{display:flex;flex-direction:column;gap:var(--space-md)}.as-field{display:flex;flex-direction:column;gap:var(--space-xs);min-width:0}.as-field label{font-size:.875rem;font-weight:600;color:var(--color-text)}.as-field__hint{margin:0;font-size:.8125rem;color:var(--color-text-muted);line-height:1.4}.as-field__error{margin:0;font-size:.8125rem;color:var(--color-danger, #b91c1c)}.as-check-list{display:flex;flex-direction:column;gap:var(--space-sm)}.as-check-item{display:grid;grid-template-columns:auto 1fr;gap:.65rem .85rem;padding:.75rem .9rem;border:1px solid var(--color-border);border-radius:var(--radius-md, .5rem);background:color-mix(in srgb,var(--color-surface-muted, #f8fafc) 70%,var(--color-surface))}.as-check-item input{margin-top:.2rem;width:1.05rem;height:1.05rem;accent-color:var(--color-primary)}.as-check-item__label{font-size:.9rem;font-weight:600;color:var(--color-text)}.as-check-item__desc{grid-column:2;margin:0;font-size:.8rem;color:var(--color-text-muted);line-height:1.4}.as-upload-card{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-md);border:1px dashed var(--color-border);border-radius:var(--radius-md, .5rem);background:color-mix(in srgb,var(--color-surface-muted, #f8fafc) 80%,var(--color-surface))}.as-upload-card__preview{display:flex;align-items:center;justify-content:center;min-height:7rem;padding:var(--space-md);border-radius:var(--radius-md, .5rem);background:var(--color-surface);border:1px solid var(--color-border)}.as-upload-card__preview img{max-height:5.5rem;max-width:100%;object-fit:contain}.as-upload-card__placeholder{color:var(--color-text-muted);font-size:.875rem;text-align:center}.as-upload-card__meta{margin:0;font-size:.8125rem;color:var(--color-text-muted);line-height:1.45}.as-upload-card__actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.as-upload-card input[type=file]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.as-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--color-border)}.as-actions .btn{min-height:2.75rem;padding:.65rem 1.15rem;font-weight:600}.as-preview-panel{display:flex;flex-direction:column;gap:var(--space-md)}.as-preview-panel__header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-sm)}.as-preview-panel__header h3{margin:0;font-size:1rem;font-weight:700;color:var(--color-text)}.as-preview-panel__hint{margin:0;font-size:.8125rem;color:var(--color-text-muted)}.as-preview-sheet-wrap{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-surface-muted, #eef2f7) 55%,var(--color-surface));padding:var(--space-md);overflow:auto;max-height:min(78vh,56rem)}.as-preview-sheet{background:#fff;color:#1a1a1a;border-radius:.25rem;box-shadow:0 8px 28px #0f172a1f;padding:2rem 1.75rem;min-height:28rem;font-family:Georgia,Times New Roman,serif;font-size:.875rem;line-height:1.5}.as-preview-sheet__logo{display:flex;justify-content:center;margin-bottom:1.25rem}.as-preview-sheet__logo img{max-height:4.5rem;max-width:10rem;object-fit:contain}.as-preview-sheet__school{text-align:center;margin-bottom:1.5rem}.as-preview-sheet__school-name{margin:0;font-size:1.05rem;font-weight:700;letter-spacing:.01em}.as-preview-sheet__school-meta{margin:.35rem 0 0;font-size:.78rem;color:#555;font-family:system-ui,-apple-system,sans-serif}.as-preview-sheet__title{margin:0 0 .35rem;text-align:center;font-size:1.35rem;font-weight:700}.as-preview-sheet__year{margin:0 0 1.5rem;text-align:center;font-size:.9rem;color:#444;font-family:system-ui,-apple-system,sans-serif}.as-preview-sheet__header-text{margin:0 0 1.25rem;text-align:center;color:#333;white-space:pre-wrap}.as-preview-sheet__section{margin-bottom:1.25rem}.as-preview-sheet__section-title{margin:0 0 .4rem;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#666;font-family:system-ui,-apple-system,sans-serif}.as-preview-sheet__section p{margin:0}.as-preview-sheet__table{width:100%;border-collapse:collapse;font-family:system-ui,-apple-system,sans-serif;font-size:.8rem}.as-preview-sheet__table th,.as-preview-sheet__table td{padding:.45rem .35rem;text-align:start;border-bottom:1px solid #e5e7eb}.as-preview-sheet__table th{color:#666;font-weight:600}.as-preview-sheet__table td:last-child,.as-preview-sheet__table th:last-child{text-align:end}.as-preview-sheet__total{display:flex;justify-content:space-between;align-items:baseline;margin-top:.75rem;padding-top:.75rem;border-top:2px solid #1a1a1a;font-family:system-ui,-apple-system,sans-serif;font-weight:700;font-size:.95rem}.as-preview-sheet__notes{margin-top:1.25rem;padding:.75rem 0;color:#444;white-space:pre-wrap;font-size:.8rem}.as-preview-sheet__signature{margin-top:2rem;display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}.as-preview-sheet__signature img{max-height:3.25rem;max-width:10rem;object-fit:contain}.as-preview-sheet__signer-name{margin:0;font-weight:700;font-family:system-ui,-apple-system,sans-serif;font-size:.85rem}.as-preview-sheet__signer-title{margin:0;color:#555;font-family:system-ui,-apple-system,sans-serif;font-size:.78rem}.as-preview-sheet__footer{margin-top:2rem;padding-top:.85rem;border-top:1px solid #e5e7eb;font-size:.75rem;color:#666;text-align:center;white-space:pre-wrap;font-family:system-ui,-apple-system,sans-serif}.as-review-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.as-review-table{width:100%;border-collapse:collapse;font-size:.875rem}.as-review-table th,.as-review-table td{padding:.75rem .65rem;text-align:start;border-bottom:1px solid var(--color-border);vertical-align:top}.as-review-table th{font-weight:600;color:var(--color-text-muted);white-space:nowrap}.as-review-table__actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.as-calc-grid{display:grid;gap:var(--space-md);max-width:28rem}.as-result-box{margin-top:var(--space-md);padding:var(--space-md);border-radius:var(--radius-md, .5rem);border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-surface-muted, #f8fafc) 80%,var(--color-surface));display:flex;flex-direction:column;gap:.35rem;font-size:.875rem}.as-unsaved{font-size:.8125rem;font-weight:600;color:var(--color-warning, #b45309)}[data-theme=dark] .as-preview-sheet{box-shadow:0 8px 28px #00000073}[data-theme=dark] .as-check-item,[data-theme=dark] .as-upload-card,[data-theme=dark] .as-result-box{background:color-mix(in srgb,var(--color-surface-muted, #1e293b) 55%,var(--color-surface))}@media(max-width:640px){.as-card{padding:var(--space-md)}.as-preview-sheet{padding:1.25rem 1rem}.as-actions .btn{flex:1 1 100%}}@media print{body *{visibility:hidden}.as-print-root,.as-print-root *{visibility:visible}.as-print-root{position:absolute;top:0;right:0;bottom:0;left:0;padding:0;background:#fff}.as-preview-sheet-wrap{border:none;background:transparent;padding:0;max-height:none;overflow:visible}.as-preview-sheet{box-shadow:none;border-radius:0}}.as-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.as-dialog{background:var(--color-surface, #fff);border-radius:var(--radius-lg, 12px);border:1px solid var(--color-border, #e5e7eb);max-width:32rem;width:100%;padding:1.25rem 1.5rem;box-shadow:0 16px 40px #0000002e}.as-dialog h3{margin-top:0}.as-dialog ul{margin:.75rem 0 1rem;padding-inline-start:1.25rem}.as-global-blocker{border:1px solid var(--color-border, #e5e7eb);border-inline-start:4px solid #b45309;background:#fffbeb;border-radius:8px;padding:.85rem 1rem;margin:.75rem 0 1rem}.as-global-blocker p{margin:.35rem 0}.as-family-issues__list{list-style:none;padding:0;margin:.75rem 0 0;display:flex;flex-direction:column;gap:.85rem}.as-family-issues__list>li{border:1px solid var(--color-border, #e5e7eb);border-radius:8px;padding:.75rem}:root{--color-bg: #f0f4f9;--color-surface: #ffffff;--color-primary: #1e3a5f;--color-primary-hover: #152d4a;--color-primary-light: #2d5a8e;--color-text: #1a2332;--color-text-muted: #5c6b7a;--color-border: #d4dce8;--color-accent: #e8f0fa;--color-accent-strong: #d6e6f7;--color-error-bg: #fef2f2;--color-error-text: #b91c1c;--color-success-bg: #ecfdf5;--color-success-text: #047857;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--shadow-sm: 0 1px 3px rgba(30, 58, 95, .06);--shadow-md: 0 4px 16px rgba(30, 58, 95, .1);--shadow-card: 0 2px 8px rgba(30, 58, 95, .07);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--font-base: 1rem;--font-lg: 1.125rem;--font-xl: 1.5rem;--font-2xl: 1.75rem;--touch-min: 44px;--header-height: 56px;--bottom-nav-height: 64px;--side-nav-width: 240px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color:var(--color-text);background-color:var(--color-bg)}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;scrollbar-gutter:stable}body{min-height:100vh;min-height:100dvh;font-size:var(--font-base)}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}button,select{cursor:pointer;font-family:inherit;font-size:inherit}:focus-visible{outline:3px solid #93c5fd;outline-offset:2px}.skip-link{position:absolute;top:-100px;left:var(--space-md);z-index:200;padding:var(--space-sm) var(--space-md);background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);font-weight:700}.skip-link:focus{top:var(--space-md)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}[dir=rtl],.rtl{text-align:right}[dir=rtl] .side-nav__link,[dir=rtl] .bottom-nav__item,[dir=rtl] .more-menu__link{flex-direction:row-reverse}[dir=rtl] .dashboard-card,[dir=rtl] .profile-card__list dt{text-align:right}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-min);padding:.625rem 1.25rem;border:none;border-radius:var(--radius-sm);font-size:var(--font-base);font-weight:600;transition:background-color .15s,transform .1s}.btn:active{transform:scale(.98)}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-hover)}.btn-secondary{background-color:var(--color-border);color:var(--color-text)}.btn-secondary:hover{background-color:#cbd5e1}.btn-danger{background-color:#b42318;color:#fff;border:1px solid #912018}.btn-danger:hover{background-color:#912018}.btn-success{background-color:#15803d;color:#fff;border:1px solid #166534}.btn-success:hover:not(:disabled){background-color:#166534}.btn--small,.btn-sm{min-height:36px;padding:.375rem .75rem;font-size:.875rem}.btn--large{min-height:52px;padding:.875rem 2rem;font-size:var(--font-lg);border-radius:var(--radius-md)}.btn:disabled{opacity:.6;cursor:not-allowed}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg);box-shadow:var(--shadow-sm)}.grade-config-form,.grade-config-section{margin-bottom:var(--space-lg)}.grade-config-grid,.grade-config-filters,.grade-config-inline-form,.grade-config-section__header{display:flex;gap:var(--space-md);align-items:end;flex-wrap:wrap}.grade-config-section__header{justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.grade-config-inline-form input,.grade-config-inline-form select,.grade-config-filters input,.grade-config-filters select{min-height:40px;padding:.5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.grade-template-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:var(--space-lg)}.grade-template-section,.grade-preview>div{padding:var(--space-md) 0;border-top:1px solid var(--color-border)}.grade-template-field{display:flex;gap:var(--space-sm);align-items:center;padding:var(--space-xs) 0}.grade-template-field small{color:var(--color-text-muted)}.grade-check--ok{color:var(--color-success-text)}.grade-check--error{color:var(--color-error-text)}.grade-preview label{display:block;margin:var(--space-sm) 0}.grade-preview select,.grade-preview input{display:block;width:100%;margin-top:var(--space-xs)}@media(max-width:720px){.grade-template-layout{grid-template-columns:1fr}}[dir=rtl] .grade-config-section__header,[dir=rtl] .grade-config-inline-form,[dir=rtl] .grade-template-field{flex-direction:row-reverse}.container{max-width:960px;margin:0 auto;padding:var(--space-lg) var(--space-md)}.form-group{margin-bottom:var(--space-md)}.form-group label{display:block;margin-bottom:var(--space-xs);font-weight:600;font-size:var(--font-base)}.form-group input{width:100%;min-height:var(--touch-min);padding:.75rem;border:2px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-base)}.form-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #1d6fb833}.lang-switcher{display:flex;gap:var(--space-xs);flex-wrap:wrap}.lang-switcher button{min-height:var(--touch-min);min-width:var(--touch-min);padding:.5rem .75rem;border:2px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font-size:.875rem;font-weight:600}.lang-switcher button.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.lang-switcher--compact button{min-width:40px;padding:.375rem .5rem}.role-switcher{display:flex;flex-direction:column;gap:var(--space-xs)}.role-switcher__label{font-size:.8rem;color:var(--color-text-muted);font-weight:600}.role-switcher__select{min-height:var(--touch-min);padding:.5rem .75rem;border:2px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font-size:.9rem}.workspace-selector{display:grid;gap:var(--space-md);margin-bottom:var(--space-lg)}@media(min-width:480px){.workspace-selector{grid-template-columns:1fr 1fr}}.workspace-card{text-align:start;padding:var(--space-md);border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease;min-height:var(--touch-min)}.workspace-card:hover{border-color:var(--color-primary)}.workspace-card--selected{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary);background:color-mix(in srgb,var(--color-primary) 6%,var(--color-surface))}.workspace-card__title{display:block;font-size:1.05rem;margin-bottom:.35rem}.workspace-card__desc{margin:0 0 .5rem;font-size:.85rem;color:var(--color-text-muted);line-height:1.4}.workspace-card__list{margin:0;padding-inline-start:1.1rem;font-size:.8rem;color:var(--color-text-muted);line-height:1.45}.workspace-switcher{display:flex;flex-direction:column;gap:var(--space-xs)}.workspace-switcher__label{font-size:.8rem;color:var(--color-text-muted);font-weight:600}.workspace-switcher__value{font-size:.9rem;color:var(--color-text)}.workspace-switcher--readonly{max-width:12rem}.workspace-switcher__select{min-height:var(--touch-min);padding:.5rem .75rem;border:2px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font-size:.9rem}.workspace-switcher__error{margin:0;font-size:.8rem;color:#dc2626}.top-nav__role-summary{display:block;font-size:.75rem;color:var(--color-text-muted);max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell{display:flex;flex-direction:column;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;overflow:hidden;padding-bottom:var(--bottom-nav-height)}.app-shell__body{display:flex;flex:1 1 auto;min-height:0;overflow:hidden}.app-shell__main{flex:1 1 auto;min-width:0;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:var(--space-md);padding-bottom:calc(var(--space-md) + var(--bottom-nav-height))}.top-nav{position:relative;flex:0 0 auto;z-index:100;background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.top-nav__inner{display:flex;align-items:center;justify-content:space-between;min-height:var(--header-height);padding:0 var(--space-md);gap:var(--space-md)}.top-nav__brand{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-text);text-decoration:none;font-weight:700;font-size:var(--font-lg)}.top-nav__brand:hover{text-decoration:none}.top-nav__logo{font-size:1.5rem}.top-nav__school-name{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-nav__actions--desktop{display:none;align-items:center;gap:var(--space-md)}.top-nav__profile{display:flex;align-items:center;gap:var(--space-sm)}.top-nav__user-name{font-size:.875rem;font-weight:600;color:var(--color-text-muted)}.top-nav__menu-btn{min-width:var(--touch-min);min-height:var(--touch-min);border:none;background:transparent;font-size:1.5rem}.top-nav__mobile-menu{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-md);border-top:1px solid var(--color-border);background:var(--color-bg);max-height:min(70vh,calc(100dvh - var(--header-height) - var(--bottom-nav-height)));overflow-y:auto;overscroll-behavior:contain}.staging-banner{flex:0 0 auto;z-index:99;font-size:.75rem;line-height:1.3;padding:.2rem .75rem;text-align:center;background:#fff4d6;color:#5c4300;border-bottom:1px solid #ead7a0}.user-account-menu{position:relative}.user-account-menu__trigger{display:inline-flex;align-items:center;gap:var(--space-sm);min-height:var(--touch-min);padding:.25rem .5rem;border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-md);background:var(--color-surface, #fff);cursor:pointer}.user-account-menu__avatar{width:2rem;height:2rem;border-radius:50%;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;background:var(--color-surface-alt, #f3f4f6);flex-shrink:0}.user-account-menu__avatar-img{width:100%;height:100%;object-fit:cover}.user-account-menu__avatar-initials{font-size:.75rem;font-weight:700}.user-account-menu__name{font-size:.875rem;font-weight:600;max-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-account-menu__dropdown{position:absolute;inset-inline-end:0;top:calc(100% + .35rem);min-width:12rem;display:flex;flex-direction:column;gap:.15rem;padding:.4rem;background:var(--color-surface, #fff);border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-md);box-shadow:0 8px 24px #0f172a1f;z-index:40}.user-account-menu__item{display:block;width:100%;text-align:start;padding:.65rem .75rem;border:none;border-radius:var(--radius-sm);background:transparent;color:inherit;text-decoration:none;font:inherit;cursor:pointer}.user-account-menu__item:hover,.user-account-menu__item:focus-visible{background:var(--color-surface-alt, #f3f4f6)}.user-account-menu__item--danger{color:var(--color-danger, #b91c1c)}.my-profile-page .my-profile-form{max-width:56rem}.my-profile-readonly{margin:0;font-weight:600;color:var(--color-text, #111827);word-break:break-word}.my-profile-avatar{display:flex;flex-wrap:wrap;gap:var(--space-md);align-items:center}.my-profile-avatar__preview{width:6.5rem;height:6.5rem;border-radius:50%;overflow:hidden;border:1px solid var(--color-border, #e5e7eb);background:var(--color-surface-alt, #f3f4f6);display:inline-flex;align-items:center;justify-content:center}.my-profile-avatar__img{width:100%;height:100%;object-fit:cover}.my-profile-avatar__initials{font-size:1.5rem;font-weight:700}.my-profile-avatar__actions{display:flex;flex-direction:column;gap:var(--space-sm);align-items:flex-start}@media(max-width:639px){.user-account-menu__name{display:none}.my-profile-avatar__actions .btn{width:100%}}.side-nav{display:none;background:var(--color-surface);border-inline-end:1px solid var(--color-border);padding:var(--space-md) var(--space-sm);flex:0 0 auto;align-self:stretch;min-height:0;max-height:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}.side-nav__list{list-style:none;padding-bottom:var(--space-lg)}.side-nav__link{display:flex;align-items:center;gap:var(--space-sm);min-height:var(--touch-min);padding:.75rem var(--space-md);color:var(--color-text);text-decoration:none;font-weight:600;font-size:.9375rem;border-radius:var(--radius-md);margin-bottom:var(--space-xs);transition:background .15s ease,color .15s ease}.side-nav__link:hover{background:var(--color-accent);color:var(--color-primary);text-decoration:none}.side-nav__link--active{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}.side-nav__link--active:hover{background:var(--color-primary-hover);color:#fff}.side-nav__icon{font-size:1.25rem;width:1.5rem}.side-nav__group{margin-bottom:var(--space-sm)}.side-nav__group-toggle{display:flex;align-items:center;gap:var(--space-sm);width:100%;min-height:var(--touch-min);margin:0 0 var(--space-xs);padding:.5rem var(--space-md);border:0;border-radius:var(--radius-md);background:transparent;color:var(--color-text-muted);font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;text-align:start;font-family:inherit;transition:background .15s ease,color .15s ease}.side-nav__group-toggle:hover{background:var(--color-accent);color:var(--color-primary)}.side-nav__group-toggle--active{color:var(--color-primary);background:var(--color-accent)}.side-nav__group-toggle:focus-visible{outline:2px solid var(--color-primary-light);outline-offset:2px}.side-nav__group-label{flex:1}.side-nav__chevron{width:.45rem;height:.45rem;border-inline-end:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .2s ease;opacity:.8}.side-nav__group--open>.side-nav__group-toggle .side-nav__chevron{transform:rotate(45deg)}[dir=rtl] .side-nav__chevron{transform:rotate(135deg)}[dir=rtl] .side-nav__group--open>.side-nav__group-toggle .side-nav__chevron{transform:rotate(-135deg)}.side-nav__sublist{list-style:none;margin:0;padding:0;overflow:visible}.side-nav__group--open .side-nav__sublist{animation:side-nav-expand .18s ease}@keyframes side-nav-expand{0%{opacity:.4;transform:translateY(-.25rem)}to{opacity:1;transform:translateY(0)}}.side-nav__link--child{padding-inline-start:calc(var(--space-md) + 1.75rem);font-weight:500;font-size:.875rem}.side-nav__link--disabled{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);min-height:var(--touch-min);padding:.75rem var(--space-md);padding-inline-start:calc(var(--space-md) + 1.75rem);color:var(--color-text-muted);font-size:.875rem;border-radius:var(--radius-md);margin-bottom:var(--space-xs);cursor:not-allowed;opacity:.7;pointer-events:none}.bottom-nav__item--disabled{opacity:.45;cursor:not-allowed;pointer-events:none;color:var(--color-text-muted)}.parent-first-time-dashboard{display:grid;gap:var(--space-md);margin-bottom:var(--space-xl);padding:var(--space-lg);border:2px solid color-mix(in srgb,var(--color-primary) 55%,#14b8a6);border-radius:var(--radius-lg);background:linear-gradient(160deg,color-mix(in srgb,var(--color-accent) 70%,#ecfeff),color-mix(in srgb,var(--color-surface) 92%,#e0f2fe));box-shadow:var(--shadow-md)}.parent-first-time-dashboard h2{margin:0;font-size:1.35rem;line-height:1.3}.parent-first-time-dashboard p{margin:0;color:var(--color-text-muted)}.parent-first-time-dashboard__steps{margin:0;padding-inline-start:1.25rem;display:grid;gap:.35rem}.parent-first-time-progress{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.parent-first-time-progress li{display:flex;align-items:center;gap:.65rem;min-height:44px}.parent-first-time-progress li>span:first-child{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:999px;font-weight:700;background:var(--color-surface-muted, #e2e8f0);color:var(--color-text)}.parent-first-time-progress li.is-complete>span:first-child,.parent-first-time-progress li.is-complete .parent-first-time-progress__marker{background:#15803d;color:#fff}.parent-first-time-progress li.is-current .parent-first-time-progress__marker{background:var(--color-primary);color:#fff;box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 35%,transparent)}.parent-first-time-progress li.is-current .parent-first-time-progress__label{font-weight:700}.parent-onboarding-gate{max-width:32rem;margin:2rem auto;padding:var(--space-lg);text-align:center;display:grid;gap:var(--space-md)}.side-nav__badge{font-size:.6875rem;font-weight:600;padding:.125rem .5rem;border-radius:var(--radius-full);background:var(--color-accent);color:var(--color-text-muted);white-space:nowrap}.side-nav__count{margin-inline-start:auto;min-width:1.25rem;padding:.1rem .4rem;border-radius:999px;background:#1e3a5f;color:#fff;font-size:.7rem;font-weight:600;line-height:1.2;text-align:center}.bottom-nav__icon-wrap{position:relative;display:inline-flex}.bottom-nav__count{position:absolute;top:-.35rem;inset-inline-end:-.55rem;min-width:1rem;padding:.05rem .3rem;border-radius:999px;background:#1e3a5f;color:#fff;font-size:.65rem;font-weight:600;line-height:1.2;text-align:center}.parent-notifications-list{display:flex;flex-direction:column;gap:.75rem}.parent-notification-card{padding:1rem;cursor:pointer}.parent-notification-card__row{display:flex;gap:.75rem;align-items:flex-start}.parent-notification-card__icon{font-size:1.35rem;line-height:1}.parent-notification-card__body{flex:1;min-width:0}.parent-notification-card__title-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.parent-notification-card__message{margin:.35rem 0;color:#555}.parent-notification-card__action{margin-top:.65rem}.parent-payment-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-md)}.payment-reference-value{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:700;color:var(--color-primary, #1e3a5f)}.payment-sessions-page .summary-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-md);margin-bottom:var(--space-md)}.payment-sessions-page .summary-card{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-md)}.payment-sessions-page .summary-card__label{display:block;font-size:.85rem;color:var(--color-text-muted)}.payment-sessions-page .summary-card__value{font-size:1.5rem;font-weight:700;color:var(--color-primary, #1e3a5f)}.payment-sessions-page .filter-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-sm)}.payment-sessions-page .session-cards-grid{display:grid;gap:var(--space-md)}.payment-sessions-page .session-card{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-md)}.payment-sessions-page .session-card__header{display:flex;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-sm)}.payment-sessions-page .session-card__actions{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-sm)}.parent-finance-summary{padding:var(--space-lg);margin-bottom:var(--space-lg)}.parent-finance-summary__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:var(--space-md);margin-bottom:var(--space-md)}.parent-finance-summary__label{margin:0 0 var(--space-xs);font-size:.8125rem;font-weight:600;color:var(--color-text-muted)}.parent-finance-summary__value{margin:0;font-size:1.125rem;font-weight:700}.parent-child-finance__summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:var(--space-md);margin-bottom:var(--space-md)}.parent-recent-payments{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-sm)}.parent-recent-payments__item{display:grid;grid-template-columns:minmax(6rem,1fr) 2fr minmax(5rem,auto) minmax(7rem,1fr);gap:var(--space-sm);align-items:center;padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border)}.parent-recent-payments__date,.parent-recent-payments__description,.parent-recent-payments__amount,.parent-recent-payments__status{font-size:.95rem}.parent-recent-payments__amount{font-weight:600;text-align:right}.parent-recent-payments__status{color:var(--color-text-muted)}.payment-history{width:100%}.payment-history__table-wrap{display:flex;flex-direction:column;gap:0;border:1px solid var(--color-border);border-radius:var(--radius-md, 8px);overflow:hidden;background:var(--color-surface, #fff)}.payment-history__header{display:none;grid-template-columns:7rem minmax(8rem,1.5fr) 5.5rem minmax(6rem,1fr) repeat(4,minmax(4.5rem,1fr)) minmax(5rem,1fr) 7rem;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-bg-muted, #f5f5f5);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:var(--color-text-muted)}.payment-history__row{border-top:1px solid var(--color-border)}.payment-history__row:first-child{border-top:none}.payment-history__summary{display:grid;grid-template-columns:1fr;gap:var(--space-xs);width:100%;padding:var(--space-md);border:0;background:transparent;text-align:start;cursor:pointer;color:inherit;font:inherit}.payment-history__summary:hover,.payment-history__summary:focus-visible{background:var(--color-bg-muted, #f8f8f8);outline:none}.payment-history__mobile-label{display:inline;font-size:.75rem;color:var(--color-text-muted);margin-inline-end:var(--space-xs)}.payment-history__date{font-weight:600}.payment-history__reference{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.85rem}.payment-history__requested{color:var(--color-text-muted)}.payment-history__received{font-weight:700;font-size:1.05rem}.payment-history__outstanding{font-weight:700}.payment-history__credit-value{color:var(--color-success, #1a7f37);font-weight:600}.payment-history__credit-value:before{content:"◈ ";font-size:.85em}.payment-history-badge{display:inline-flex;align-items:center;padding:.15rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;line-height:1.4;white-space:nowrap}.payment-history-badge--paid{background:#e6f6ea;color:#146c2e}.payment-history-badge--partial{background:#fff4e5;color:#9a5b00}.payment-history-badge--pending{background:#e8f1ff;color:#1d4f91}.payment-history-badge--failed,.payment-history-badge--refund{background:#fde8e8;color:#a11919}.payment-history__amount--refund{font-weight:700;color:#a11919}.payment-history__refund-reason{margin:0;padding:0 var(--space-md) var(--space-md);color:var(--color-text-muted);font-size:.9rem}.payment-history--refunds .payment-history__table-wrap{overflow-x:auto}@media(min-width:900px){.payment-history--refunds .payment-history__header,.payment-history--refunds .payment-history__summary{grid-template-columns:7rem minmax(8rem,1.4fr) minmax(7rem,1fr) 7rem minmax(7rem,1fr) minmax(6rem,1fr)}}.payment-history__detail{padding:0 var(--space-md) var(--space-md);border-top:1px dashed var(--color-border);background:var(--color-bg-muted, #fafafa)}.payment-history__detail-title{margin:var(--space-md) 0 var(--space-sm);font-size:1rem}.payment-history__detail-dl{display:grid;grid-template-columns:minmax(8rem,12rem) 1fr;gap:var(--space-xs) var(--space-md);margin:0}.payment-history__detail-dl dt{color:var(--color-text-muted);font-size:.9rem}.payment-history__detail-dl dd{margin:0;font-weight:500}@media(min-width:900px){.payment-history__header{display:grid}.payment-history__summary{grid-template-columns:7rem minmax(8rem,1.5fr) 5.5rem minmax(6rem,1fr) repeat(4,minmax(4.5rem,1fr)) minmax(5rem,1fr) 7rem;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md)}.payment-history__mobile-label{display:none}.payment-history__received{font-size:.95rem}}.parent-payment-failed-card{margin-bottom:var(--space-md)}.payment-reference-card{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md);margin-bottom:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted, #f8fafc)}.payment-reference-card__label{margin:0;font-size:.9rem;color:var(--color-text-muted)}.payment-reference-card__value{margin:0;font-size:1.25rem;font-weight:700;letter-spacing:.02em}.payment-reference-step{display:flex;flex-direction:column;gap:var(--space-lg);align-items:stretch}.payment-reference-hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-md);padding:var(--space-xl) var(--space-lg);border:2px solid var(--color-primary, #1e3a5f);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-primary, #1e3a5f) 6%,var(--color-surface, #fff))}.payment-reference-warning{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-md);padding:var(--space-xl) var(--space-lg);border:4px solid #c2410c;border-radius:var(--radius-lg);background:color-mix(in srgb,#ea580c 14%,var(--color-surface, #fff));color:#9a3412}.payment-reference-warning__icon{margin:0;font-size:2rem;line-height:1}.payment-reference-warning__title{margin:0;font-size:clamp(1.35rem,3.2vw,2rem);font-weight:900;letter-spacing:.04em;text-transform:uppercase;line-height:1.2;color:#9a3412}.payment-reference-warning__value{margin:0;padding:var(--space-sm) var(--space-md);max-width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:clamp(1.5rem,4vw,2.25rem);font-weight:800;letter-spacing:.06em;-webkit-user-select:all;user-select:all;word-break:break-all;color:#7c2d12;background:color-mix(in srgb,#fff 70%,transparent);border:2px dashed #c2410c;border-radius:var(--radius-md)}.payment-reference-warning__value:focus-visible{outline:3px solid #ea580c;outline-offset:2px}.payment-reference-warning__actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:center}.payment-reference-warning__copy{min-width:10rem;font-weight:700;text-transform:uppercase}[data-theme=dark] .payment-reference-warning{border-color:#fb923c;background:color-mix(in srgb,#ea580c 22%,var(--color-surface, #1a1a1a));color:#fdba74}[data-theme=dark] .payment-reference-warning__title,[data-theme=dark] .payment-reference-warning__value{color:#ffedd5}.signup-single-parent-divider{margin:var(--space-lg) 0;padding:var(--space-md);border:2px solid color-mix(in srgb,var(--color-primary, #1e3a5f) 35%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-primary, #1e3a5f) 6%,var(--color-surface, #fff))}.signup-single-parent-check{align-items:flex-start;gap:var(--space-sm);margin:0}.signup-single-parent-check__label{font-size:1.05rem;font-weight:700;line-height:1.35;min-inline-size:0;overflow-wrap:anywhere}.signup-parent2-section{border:0;margin:0;padding:0;min-inline-size:0}.signup-parent2-section--disabled{opacity:.55;filter:grayscale(.25);pointer-events:none}.payment-reference-hero__heading{margin:0;font-size:clamp(1.25rem,2.5vw,1.75rem);font-weight:800;line-height:1.25;color:var(--color-primary, #1e3a5f)}.payment-reference-hero__value{margin:0;padding:var(--space-sm) var(--space-md);max-width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:clamp(1.75rem,5vw,2.5rem);font-weight:800;letter-spacing:.04em;line-height:1.2;color:var(--color-text, #0f172a);user-select:all;-webkit-user-select:all;word-break:break-word}.payment-reference-hero__value:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px;border-radius:var(--radius-sm)}.payment-reference-hero__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-sm)}.payment-copy-failed{display:flex;align-items:flex-start;gap:var(--space-sm);margin-top:var(--space-md);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--color-error-text) 35%,var(--color-border));background:var(--color-error-bg);color:var(--color-error-text);text-align:start}.payment-copy-failed__icon{flex-shrink:0;margin-top:.1rem;color:var(--color-error-text)}.payment-copy-failed__text{margin:0;font-size:.9375rem;font-weight:700;line-height:1.4}[data-theme=dark] .payment-copy-failed{border-color:color-mix(in srgb,var(--color-error-text) 55%,var(--color-border));background:color-mix(in srgb,var(--color-error-text) 22%,var(--color-surface));color:color-mix(in srgb,var(--color-error-bg) 55%,#fecaca)}[data-theme=dark] .payment-copy-failed__icon{color:color-mix(in srgb,var(--color-error-bg) 55%,#fecaca)}.payment-reference-info{display:flex;gap:var(--space-md);align-items:flex-start;padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);border:1px solid var(--color-warning-border, #f0d78c);background:var(--color-warning-bg, #fff8e6);color:var(--color-warning-text, #7a5b00)}.payment-reference-info__icon{flex-shrink:0;color:var(--color-warning-text, #7a5b00);margin-top:.1rem}.payment-reference-info__body{min-width:0}.payment-reference-info__title{margin:0 0 var(--space-xs);font-size:1.05rem;font-weight:800}.payment-reference-info__body p{margin:0;line-height:1.5}.payment-reference-confirm{display:flex;align-items:center;gap:var(--space-md);min-height:var(--touch-min);padding:var(--space-md);border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-weight:600;line-height:1.4;cursor:pointer;scroll-margin-block-end:var(--space-xl)}.payment-reference-confirm:focus-within{border-color:var(--color-primary)}.payment-reference-confirm input{width:1.5rem;height:1.5rem;flex-shrink:0;accent-color:var(--color-primary)}.payment-reference-confirm__hint{margin:calc(var(--space-xs) * -1) 0 0;font-size:.9rem;color:var(--color-text-muted)}.payment-popup-fallback{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-sm);padding:var(--space-md);border-radius:var(--radius-md);border:1px solid var(--color-info-border, #93c5fd);background:var(--color-info-bg, #eff6ff)}.payment-popup-fallback p{margin:0}.payment-popup-fallback .btn{min-height:var(--touch-min);display:inline-flex;align-items:center;justify-content:center}.parent-payment-watch-toast{position:fixed;inset-inline:0;bottom:0;z-index:1100;width:min(100%,32rem);margin-inline:auto;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-xs);padding:var(--space-md);padding-bottom:max(var(--space-md),env(safe-area-inset-bottom,0px));border:1px solid var(--color-info-border, #93c5fd);border-radius:var(--radius-md) var(--radius-md) 0 0;background:var(--color-info-bg, #eff6ff);color:var(--color-text);box-shadow:var(--shadow-md, 0 -4px 16px rgba(0, 0, 0, .12))}.parent-payment-watch-toast--confirmed{border-color:var(--color-success-border, #86efac);background:var(--color-success-bg, #ecfdf5)}.parent-payment-watch-toast__title{margin:0;font-weight:700}.parent-payment-watch-toast__body{margin:0;font-size:.9375rem;line-height:1.5}.parent-payment-watch-toast__actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.parent-payment-watch-toast .btn{min-height:var(--touch-min)}[data-theme=dark] .parent-payment-watch-toast{background:color-mix(in srgb,#3b82f6 18%,var(--color-surface, #0f172a));border-color:color-mix(in srgb,#60a5fa 45%,transparent)}[data-theme=dark] .parent-payment-watch-toast--confirmed{background:color-mix(in srgb,#22c55e 18%,var(--color-surface, #0f172a));border-color:color-mix(in srgb,#4ade80 45%,transparent)}[data-theme=dark] .payment-reference-hero{background:color-mix(in srgb,var(--color-primary, #93c5fd) 12%,var(--color-surface, #0f172a));border-color:var(--color-primary, #93c5fd)}[data-theme=dark] .payment-reference-hero__heading,[data-theme=dark] .payment-reference-hero__value{color:var(--color-text, #f8fafc)}[data-theme=dark] .payment-reference-info{background:color-mix(in srgb,#fbbf24 18%,var(--color-surface, #0f172a));border-color:color-mix(in srgb,#fbbf24 45%,transparent);color:#fde68a}[data-theme=dark] .payment-reference-info__icon{color:#fde68a}[data-theme=dark] .payment-popup-fallback{background:color-mix(in srgb,#3b82f6 18%,var(--color-surface, #0f172a));border-color:color-mix(in srgb,#60a5fa 45%,transparent)}@media(max-width:480px){.payment-reference-hero{padding:var(--space-lg) var(--space-md)}.payment-reference-hero__actions{width:100%}.payment-reference-hero__actions .btn{flex:1 1 auto}.payment-custom-amount-panel{scroll-margin-bottom:40vh}}@media(prefers-reduced-motion:reduce){.payment-option-card,.payment-custom-amount-panel,.payment-reference-hero{transition:none}}.payment-amount-flow{display:flex;flex-direction:column;gap:var(--space-lg)}.payment-amount-flow__subtitle{margin:0;color:var(--color-text-muted);font-size:.95rem}.payment-summary-card{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted, #f8fafc)}.payment-summary-card__row{display:flex;justify-content:space-between;gap:var(--space-md);align-items:baseline}.payment-summary-card__label{color:var(--color-text-muted);font-size:.9rem}.payment-summary-card__value{font-weight:600;text-align:end}.payment-summary-card__value--emphasis{font-size:1.125rem;color:var(--color-primary)}.payment-option-cards{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-md)}.payment-option-card{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-lg);border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.payment-option-card:hover{border-color:var(--color-primary-muted, #93c5fd)}.payment-option-card:focus-within{outline:2px solid var(--color-primary);outline-offset:2px}.payment-option-card--selected{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface));box-shadow:0 0 0 1px var(--color-primary)}.payment-option-card__radio{margin-top:.25rem;flex-shrink:0;width:1.125rem;height:1.125rem}.payment-option-card__content{display:flex;flex-direction:column;gap:.35rem;flex:1;min-width:0}.payment-option-card__title{font-weight:700;font-size:1rem}.payment-option-card__amount{font-size:1.25rem;font-weight:700;color:var(--color-primary)}.payment-option-card__hint{color:var(--color-text-muted);font-size:.9rem;line-height:1.4}.payment-custom-amount-panel{margin-inline-start:calc(1.125rem + var(--space-md));padding:var(--space-md);border-inline-start:3px solid var(--color-primary);display:flex;flex-direction:column;gap:var(--space-sm);scroll-margin-top:1.5rem;scroll-margin-bottom:30vh}.payment-custom-amount-panel__label{font-weight:600}.payment-custom-amount-panel__input-wrap{display:flex;align-items:center;gap:var(--space-xs);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);background:var(--color-surface)}.payment-custom-amount-panel__prefix{font-size:1.125rem;font-weight:600;color:var(--color-text-muted)}.payment-custom-amount-panel__input{border:0;background:transparent;font-size:1.25rem;font-weight:600;width:100%;min-width:0}.payment-custom-amount-panel__input:focus{outline:none}.payment-custom-amount-panel__hint,.payment-custom-amount-panel__remaining{margin:0;font-size:.9rem;color:var(--color-text-muted)}.payment-review-step__dl{margin:0}.payment-option-cards__line-select{margin-inline-start:calc(1.125rem + var(--space-md))}@media(min-width:768px){.payment-option-cards--two-col{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}}.parent-monthly-payment-options__grid{display:grid;gap:var(--space-lg);margin-top:var(--space-md)}@media(min-width:768px){.parent-monthly-payment-options__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.payment-option-card--static{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.parent-monthly-payment-options__facts{margin:0;padding-inline-start:1.25rem;color:var(--color-text-muted);font-size:.9375rem}.parent-monthly-plan-progress__reference{font-family:var(--font-mono, ui-monospace, monospace);letter-spacing:.02em;overflow-wrap:anywhere}.parent-monthly-plan-progress__status{font-weight:600}.payment-reference-step{display:flex;flex-direction:column;gap:var(--space-md);min-width:0}.payment-reference-step__summary{margin:0}.make-payment-modal{display:flex;flex-direction:column;width:min(100%,34rem);max-height:min(92vh,48rem);max-height:min(92dvh,48rem);overflow:hidden;overflow-x:hidden}.make-payment-modal .modern-modal__body{flex:1 1 auto;min-height:0;max-height:none;min-width:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-padding-block-end:var(--space-xl);padding-bottom:var(--space-md)}.make-payment-modal .modern-modal__footer{position:sticky;bottom:0;z-index:2;display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:flex-end;margin-top:var(--space-md);background:var(--color-surface);padding-bottom:max(var(--space-xs),env(safe-area-inset-bottom,0px))}.make-payment-modal .modern-modal__footer .btn{min-height:var(--touch-min)}.payment-scroll-cue{position:sticky;bottom:0;z-index:3;align-self:center;display:inline-flex;align-items:center;gap:var(--space-xs);min-height:var(--touch-min);padding:0 var(--space-md);border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);box-shadow:var(--shadow-sm);color:var(--color-text);font-size:.9375rem;font-weight:600;cursor:pointer}.payment-scroll-cue__chevron{animation:payment-scroll-cue-bounce 1.4s ease-in-out infinite}.payment-scroll-cue:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}@keyframes payment-scroll-cue-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(.2rem)}}@media(max-width:640px){.modern-modal-backdrop:has(.make-payment-modal){padding:0;align-items:stretch;justify-content:stretch}.make-payment-modal{width:100%;max-width:none;height:100dvh;max-height:100dvh;border-radius:0;padding-top:max(var(--space-md),env(safe-area-inset-top,0px));padding-inline:max(var(--space-md),env(safe-area-inset-left,0px))}.make-payment-modal .modern-modal__footer .btn{flex:1 1 8rem}}@media(prefers-reduced-motion:reduce){.payment-scroll-cue__chevron{animation:none}}.parent-monthly-enrollment-modal__notes{margin:var(--space-md) 0 0;padding-inline-start:1.25rem;color:var(--color-text-muted)}[dir=rtl] .payment-custom-amount-panel{margin-inline-start:0;margin-inline-end:calc(1.125rem + var(--space-md));border-inline-start:0;border-inline-end:3px solid var(--color-primary)}.zeffy-session-candidate{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-sm);cursor:pointer;transition:border-color .15s ease,background .15s ease}.zeffy-session-candidate:hover,.zeffy-session-candidate--selected{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 6%,var(--color-surface))}.zeffy-session-candidate__header{display:flex;justify-content:space-between;gap:var(--space-md);font-weight:700;margin-bottom:var(--space-xs)}.zeffy-session-candidate__meta{display:grid;gap:.2rem;font-size:.9rem;color:var(--color-text-muted)}.zeffy-session-candidate__badges{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-sm)}.zeffy-session-candidate__badge{font-size:.75rem;padding:.15rem .5rem;border-radius:999px;background:var(--color-surface-muted, #eef2f7)}.zeffy-recovery-link{margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--color-border)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:100;display:flex;justify-content:space-around;align-items:stretch;min-height:var(--bottom-nav-height);background:var(--color-surface);border-top:1px solid var(--color-border);box-shadow:0 -2px 8px #1a23320f;padding-bottom:env(safe-area-inset-bottom,0)}.bottom-nav__item{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:var(--touch-min);padding:var(--space-xs);color:var(--color-text-muted);text-decoration:none;font-size:.7rem;font-weight:600}.bottom-nav__item:hover{text-decoration:none;color:var(--color-primary)}.bottom-nav__item--active{color:var(--color-primary)}.bottom-nav__icon{font-size:1.25rem}.page-content{max-width:1200px;margin:0 auto}.page-header{margin-bottom:var(--space-lg)}.page-header__row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-md)}.page-header__action{flex-shrink:0}.page-header__greeting{font-size:var(--font-lg);color:var(--color-primary);font-weight:600;margin-bottom:var(--space-xs)}.page-header__title{font-size:var(--font-2xl);font-weight:700;line-height:1.2;margin-bottom:var(--space-xs)}.page-header__subtitle{font-size:var(--font-base);color:var(--color-text-muted)}.dashboard-grid{display:grid;grid-template-columns:1fr;gap:var(--space-md)}.dashboard-card{display:flex;align-items:flex-start;gap:var(--space-md);width:100%;min-height:88px;padding:var(--space-lg);border:2px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);text-align:left;transition:border-color .15s,box-shadow .15s}.dashboard-card:hover:not(:disabled){border-color:var(--color-primary);box-shadow:var(--shadow-md)}.dashboard-card__icon{font-size:2rem;flex-shrink:0}.dashboard-card__content{display:flex;flex-direction:column;gap:var(--space-xs);flex:1}.dashboard-card__title{font-size:var(--font-lg);font-weight:700;color:var(--color-text)}.dashboard-card__description{font-size:.9rem;color:var(--color-text-muted);line-height:1.4}.dashboard-card__badge{display:inline-block;align-self:flex-start;margin-top:var(--space-xs);padding:.2rem .5rem;background:var(--color-accent);color:var(--color-primary);border-radius:999px;font-size:.75rem;font-weight:700}.feedback-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-xl);gap:var(--space-md)}.feedback-state__icon{font-size:3rem}.feedback-state__spinner{width:40px;height:40px;border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.feedback-state__title{font-size:var(--font-xl);font-weight:700}.feedback-state__text{font-size:var(--font-base);color:var(--color-text-muted);max-width:320px}.feedback-state--error .feedback-state__title{color:var(--color-error-text)}.profile-card__list{display:grid;gap:var(--space-md)}.profile-card__list div{display:grid;gap:var(--space-xs)}.profile-card__list dt{font-size:.85rem;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.profile-card__list dd{font-size:var(--font-lg);font-weight:600}.more-menu{list-style:none;display:grid;gap:var(--space-sm)}.more-menu__link{display:flex;align-items:center;gap:var(--space-md);min-height:var(--touch-min);padding:var(--space-md);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-weight:600;font-size:var(--font-lg);text-decoration:none}.more-menu__link:hover{border-color:var(--color-primary);text-decoration:none}.more-menu-group{margin-top:var(--space-lg)}.more-menu-group__title{display:flex;align-items:center;gap:var(--space-sm);margin:0 0 var(--space-sm);font-size:.9375rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.more-menu--nested{margin:0}.more-menu__link--child{font-size:var(--font-base);padding-inline-start:calc(var(--space-md) + .5rem);border-width:1px}.developer-panel{margin-top:var(--space-xl);padding:var(--space-lg);border:2px dashed #94a3b8;border-radius:var(--radius-md);background:#f8fafc}.developer-panel__title{font-size:var(--font-base);font-weight:700;color:#64748b;margin-bottom:var(--space-sm)}.developer-panel__note{font-size:.85rem;color:var(--color-text-muted);margin-bottom:var(--space-md)}.developer-panel__meta{display:grid;gap:var(--space-sm);margin-bottom:var(--space-md);font-size:.9rem}.developer-panel__permissions{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-sm);max-height:160px;overflow-y:auto}.developer-panel__permissions code{font-size:.75rem;background:#e2e8f0;padding:.2rem .4rem;border-radius:4px}.public-layout__header{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:var(--space-md)}.public-layout__inner{max-width:960px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap}.public-layout__nav{display:flex;align-items:center;gap:var(--space-md);font-weight:600}.home-hero{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - var(--header-height) - 2rem);padding:var(--space-xl) var(--space-md)}.home-hero__content{text-align:center;max-width:480px}.home-hero__logo{display:block;width:min(200px,60vw);height:auto;margin:0 auto var(--space-md);object-fit:contain}.home-hero__title{font-size:clamp(1.75rem,5vw,2.25rem);font-weight:800;margin-bottom:var(--space-md);line-height:1.2}.home-hero__description{font-size:var(--font-lg);color:var(--color-text-muted);margin-bottom:var(--space-sm)}.home-hero__tagline{font-size:var(--font-base);color:var(--color-text-muted);margin-bottom:var(--space-xl)}.permission-denied{color:var(--color-text-muted);font-size:.9rem;padding:var(--space-md)}@media(min-width:768px){.dashboard-grid{grid-template-columns:repeat(2,1fr)}.top-nav__school-name{max-width:none}.app-shell__main{padding:var(--space-lg)}}@media(min-width:1024px){.app-shell{padding-bottom:0}.app-shell__main{padding-bottom:var(--space-lg)}.bottom-nav{display:none}.side-nav{display:block;width:var(--side-nav-width);flex:0 0 var(--side-nav-width);align-self:stretch;min-height:0;height:100%;max-height:100%;padding:var(--space-md) var(--space-sm);background:var(--color-surface);border-inline-end:1px solid var(--color-border);overflow-y:auto;overflow-x:hidden}.top-nav__actions--desktop{display:flex}.top-nav__menu-btn,.top-nav__mobile-menu{display:none}.dashboard-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:1440px){.dashboard-grid{grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}.page-content{padding-inline:var(--space-md)}}.dashboard-card--link{text-decoration:none;color:inherit;text-align:start}.breadcrumb{font-size:.9rem;color:var(--color-text-muted);margin-bottom:var(--space-md)}.breadcrumb a{font-weight:600}.detail-page-header{margin-bottom:var(--space-lg)}.page-back-button{display:inline-flex;align-items:center;gap:.35rem;min-height:var(--touch-min);padding:.55rem 1rem;margin-bottom:var(--space-md);border:2px solid #2563eb;border-radius:var(--radius-sm);background:#eff6ff;color:#1d4ed8;font-size:var(--font-base);font-weight:700;cursor:pointer;text-align:start}.page-back-button:hover{border-color:#1d4ed8;background:#dbeafe;color:#1e3a8a}.page-back-button__icon{font-size:1.1em;line-height:1}[dir=rtl] .page-back-button__icon{transform:scaleX(-1)}.breadcrumbs{margin-bottom:var(--space-sm)}.breadcrumbs__list{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .35rem;list-style:none;margin:0;padding:0;font-size:.9rem;color:var(--color-text-muted)}.breadcrumbs__link{font-weight:600;color:var(--color-primary);text-decoration:none}.breadcrumbs__link:hover{text-decoration:underline}.breadcrumbs__current{font-weight:500;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(100%,20rem)}.breadcrumbs__sep{color:var(--color-text-muted);-webkit-user-select:none;user-select:none}.detail-page-header__main{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-md)}.detail-page-header__title{margin:0;font-size:1.75rem;font-weight:700;color:var(--color-text)}.detail-page-header__subtitle{margin:.25rem 0 0;color:var(--color-text-muted);font-size:var(--font-base)}.detail-page-header__status{margin-top:var(--space-sm)}.detail-page-header__actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center}@media(max-width:640px){.breadcrumbs__current{max-width:100%;white-space:normal}.detail-page-header__main{flex-direction:column}.detail-page-header__actions{width:100%}.detail-page-header__actions .btn{flex:1;min-width:0}}.authenticated-attachment{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-sm);align-items:center;width:100%}.authenticated-attachment--card,.authenticated-attachment--row{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.authenticated-attachment__icon{min-width:2.6rem;color:var(--color-text-muted);font-size:.68rem;font-weight:700;letter-spacing:.04em;text-align:center}.authenticated-attachment__meta{display:flex;min-width:0;flex-direction:column;gap:.15rem}.authenticated-attachment__name{overflow:hidden;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.authenticated-attachment__details{color:var(--color-text-muted);font-size:.82rem}.authenticated-attachment__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-xs)}.authenticated-attachment__error{display:flex;grid-column:2 / -1;align-items:center;gap:var(--space-sm);color:var(--color-danger);font-size:.9rem}.authenticated-attachment--compact{padding-block:var(--space-xs)}.authenticated-attachment-modal__preview{display:grid;min-height:12rem;place-items:center;overflow:auto}.authenticated-attachment-modal__image{display:block;max-width:100%;max-height:70vh;object-fit:contain}[dir=rtl] .authenticated-attachment__actions{justify-content:flex-start}@media(max-width:640px){.authenticated-attachment{grid-template-columns:auto minmax(0,1fr)}.authenticated-attachment__actions,.authenticated-attachment__error{grid-column:1 / -1;justify-content:flex-start}}.master-data-toolbar{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-lg);align-items:stretch}.master-data-search,.master-data-filter{flex:1;min-width:140px;min-height:var(--touch-min);padding:.75rem;border:2px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-base)}.teacher-filter-toolbar{margin-bottom:var(--space-md)}@media(max-width:640px){.teacher-filter-toolbar{flex-direction:column}.teacher-filter-toolbar .master-data-search,.teacher-filter-toolbar .master-data-filter{flex:none;width:100%;min-width:0}}.assignment-card__actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.assignment-card__actions .btn{flex:1 1 auto;min-width:120px}.assignment-card__header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-xs)}.assignment-card__header .parent-card__title{margin:0;flex:1 1 auto;min-width:0}.assignment-card__badges{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs);flex-shrink:0}.assignment-badge{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:700;line-height:1.3}.assignment-badge--new{background:var(--color-warning-bg, #fff3cd);color:var(--color-warning-text, #856404)}.assignment-materials{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border, #e5e7eb)}.assignment-materials__title{margin:0 0 var(--space-sm)}.assignment-materials__actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-sm)}.assignment-materials__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.assignment-materials__list{list-style:none;margin:0 0 var(--space-md);padding:0;display:flex;flex-direction:column;gap:var(--space-xs)}.assignment-materials__item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-sm);background:var(--color-surface-muted, #f9fafb);border-radius:var(--radius-md, 8px)}.assignment-materials__file-meta{flex:1 1 auto;min-width:0;word-break:break-word}.assignment-materials__actions-list{display:flex;flex-direction:column;gap:var(--space-sm)}.assignment-materials__actions-list .btn{width:100%;justify-content:flex-start}.parent-class-assignments{margin-top:var(--space-md)}.parent-class-assignments__title{margin:0 0 var(--space-sm);font-size:1rem}.parent-class-assignments__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-sm)}.parent-class-assignments__link{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs);font-weight:600;text-decoration:none}.parent-class-assignments__materials{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-xs)}.assignment-materials__preview-img{display:block;max-width:100%;max-height:280px;object-fit:contain;border-radius:var(--radius-sm, 4px);margin-bottom:var(--space-sm)}.assignment-materials__preview-img--small{max-width:120px;max-height:120px}.assignment-image-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-md)}.assignment-image-modal__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000a6}.assignment-image-modal__content{position:relative;z-index:1;max-width:min(100%,640px);max-height:90vh;background:var(--color-surface, #fff);border-radius:var(--radius-md, 8px);padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm)}.assignment-image-modal__img{max-width:100%;max-height:70vh;object-fit:contain;border-radius:var(--radius-sm, 4px)}.assignment-material-actions__buttons{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.assignment-attachment-card{border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-md, 8px);padding:var(--space-sm);background:var(--color-surface-muted, #f9fafb)}.assignment-attachment-card__body{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-md)}.assignment-attachment-card__thumb-btn{padding:0;border:none;background:none;cursor:pointer;border-radius:var(--radius-sm, 4px);line-height:0}.assignment-attachment-card__thumb-btn:focus-visible{outline:2px solid var(--color-primary, #2563eb);outline-offset:2px}.assignment-attachment-card__thumb{width:120px;height:90px;object-fit:contain;border-radius:var(--radius-sm, 4px);border:1px solid var(--color-border, #e5e7eb);background:var(--color-surface, #fff);display:block}.assignment-attachment-card__thumb--loading{display:inline-flex;align-items:center;justify-content:center;font-size:.8125rem;color:var(--color-text-muted, #6b7280)}.assignment-attachment-card__file-icon{width:120px;height:90px;display:inline-flex;align-items:center;justify-content:center;font-size:2rem;border:1px dashed var(--color-border, #e5e7eb);border-radius:var(--radius-sm, 4px);background:var(--color-surface, #fff)}.assignment-attachment-card__meta{flex:1 1 180px;min-width:0}.assignment-attachment-card__name{display:block;word-break:break-word;margin-bottom:var(--space-sm);font-weight:600}.assignment-attachment-card__actions{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.assignment-materials__grid,.assignment-materials__list--cards{display:flex;flex-direction:column;gap:var(--space-sm)}.assignment-submissions-table{width:100%;table-layout:fixed;border-collapse:collapse}.assignment-submissions-table th,.assignment-submissions-table td{padding:.75rem .65rem;vertical-align:middle;border-bottom:1px solid var(--color-border, #e5e7eb);word-wrap:break-word}.assignment-submissions-table th{font-weight:700;text-align:left;background:var(--color-surface-muted, #f9fafb)}.assignment-submissions-table__col-number{width:14%}.assignment-submissions-table__col-name{width:32%}.assignment-submissions-table__col-center{width:18%;text-align:center}.assignment-submissions-table__col-center th{text-align:center}.assignment-submission-status{display:inline-block;font-weight:600}.assignment-submission-status--yes{color:var(--color-success-text, #166534)}.assignment-submissions-cards{display:none;flex-direction:column;gap:var(--space-md)}.assignment-submissions-card .parent-card__actions{margin-top:var(--space-sm)}@media(max-width:768px){.assignment-submissions-table-wrap{display:none}.assignment-submissions-cards{display:flex}.assignment-attachment-card__body{flex-direction:column}}.detail-section__header .detail-section__title{margin:0}.assignment-status-badge{display:inline-block;flex-shrink:0;padding:.25rem .65rem;border-radius:999px;font-size:.8125rem;font-weight:700;line-height:1.3}.assignment-status-badge--published{background:#dcfce7;color:#166534}.assignment-status-badge--draft{background:#fef9c3;color:#854d0e}.assignment-status-badge--closed{background:#f3f4f6;color:#4b5563}.assignment-detail__back{margin-bottom:var(--space-md)}.assignment-detail__back .btn{width:100%}@media(min-width:480px){.assignment-detail__back .btn{width:auto}}.assignment-form__fieldset{border:none;padding:0;margin:var(--space-md) 0}.form-choice{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);min-height:var(--touch-min)}.assignment-file-input{padding:.75rem}.assignment-upload-section .btn{width:100%;margin-top:var(--space-md)}@media(max-width:640px){.assignment-card__actions{flex-direction:column}.assignment-card__actions .btn{width:100%}}.master-data-form__title{font-size:var(--font-lg);margin-bottom:var(--space-md)}.master-data-form__error{color:var(--color-error-text);background:var(--color-error-bg);padding:var(--space-sm);border-radius:var(--radius-sm);margin-bottom:var(--space-md)}.master-data-form__grid{display:grid;grid-template-columns:1fr;gap:var(--space-md)}.form-group--checkbox label{display:flex;align-items:center;gap:var(--space-sm);min-height:var(--touch-min);font-weight:600}.form-group select{width:100%;min-height:var(--touch-min);padding:.75rem;border:2px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-base)}.master-data-form__actions{display:flex;gap:var(--space-sm);margin-top:var(--space-lg);flex-wrap:wrap}.master-data-table-wrap{display:none;overflow-x:auto;margin-bottom:var(--space-lg)}.monthly-plans-report-page{min-width:0;max-width:100%}.monthly-plans-report-tabs{display:flex;flex-wrap:wrap;gap:.4rem}.monthly-plans-report-table{width:100%;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}.monthly-plans-report-table .master-data-table,.monthly-plans-report-table .data-table{width:max-content;min-width:100%}@media(max-width:480px){.monthly-plans-report-tabs .btn{min-height:42px}}.master-data-table{width:100%;border-collapse:collapse;background:var(--color-surface);border-radius:var(--radius-md);overflow:hidden}.master-data-table th,.master-data-table td{padding:.75rem 1rem;text-align:start;border-bottom:1px solid var(--color-border)}.master-data-table th{background:var(--color-accent);font-weight:700;font-size:.85rem}.master-data-table__actions{display:flex;gap:var(--space-xs);flex-wrap:wrap}.master-data-cards{display:grid;gap:var(--space-md)}.master-data-card{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md)}.master-data-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm)}.master-data-card__code{font-size:.85rem;background:var(--color-accent);padding:.2rem .5rem;border-radius:4px}.master-data-card__name{font-size:var(--font-lg);font-weight:700;margin-bottom:var(--space-xs)}.master-data-card__meta{color:var(--color-text-muted);font-size:.9rem;margin-bottom:var(--space-md)}.master-data-card__actions{display:flex;gap:var(--space-sm);flex-wrap:wrap}.master-data-card__actions .btn{flex:1;min-width:120px}.status-badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.8rem;font-weight:700}.master-data-pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-md);margin-top:var(--space-lg)}@media(min-width:768px){.master-data-form__grid{grid-template-columns:repeat(2,1fr)}.master-data-table-wrap{display:block}.master-data-cards{display:none}}.feedback-state__action{margin-top:var(--space-md)}.form-hint{font-size:.9375rem;color:var(--color-text-muted);margin-bottom:var(--space-md)}.status-badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.8125rem;font-weight:600}.status-badge--active{background:#dcfce7;color:#166534}.status-badge--inactive{background:#f1f5f9;color:#64748b}.status-badge--pending{background:#fef9c3;color:#854d0e}.status-badge--warning{background:#ffedd5;color:#c2410c}.status-badge--archived{background:#e2e8f0;color:#475569}.status-badge--with-dot{display:inline-flex;align-items:center;gap:.4rem}.status-badge--with-dot:before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:currentColor;flex:0 0 auto}.registration-progress__notice{margin-bottom:var(--space-md);padding:var(--space-sm) var(--space-md);background:#ecfdf5;border-radius:var(--radius-md);color:#047857;font-weight:600}.registration-progress__steps{display:flex;flex-direction:column;gap:var(--space-sm);list-style:none;margin:0;padding:0}@media(min-width:640px){.registration-progress__steps{flex-direction:row;flex-wrap:wrap;align-items:flex-start}}.registration-progress__step{display:flex;align-items:center;gap:var(--space-sm);flex:1;min-width:8rem;padding:var(--space-sm);border-radius:var(--radius-md);background:var(--surface-muted, #f8fafc);color:#64748b}.registration-progress__step--done{background:#ecfdf5;color:#047857}.registration-progress__step--current{background:#eff6ff;color:#1d4ed8;font-weight:600}.registration-progress__marker{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:999px;background:#e2e8f0;font-size:var(--font-sm);font-weight:700;flex-shrink:0}.registration-progress__step--done .registration-progress__marker{background:#10b981;color:#fff}.registration-status-badges{display:flex;flex-direction:column;gap:var(--space-xs);margin-top:var(--space-sm)}.registration-status-badges--compact{margin-top:var(--space-xs)}.registration-status-badges__row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs)}.registration-status-badges__label{font-size:var(--font-sm);color:#64748b;min-width:5.5rem}.detail-actions--inline{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-md)}.general-finance-charts{display:grid;gap:var(--space-md);margin-top:var(--space-md)}@media(min-width:768px){.general-finance-charts{grid-template-columns:repeat(3,1fr)}}.simple-bar-chart{background:var(--surface-muted, #f8fafc);border-radius:var(--radius-md);padding:var(--space-md)}.simple-bar-chart__title{font-size:var(--font-sm);font-weight:700;margin-bottom:var(--space-sm)}.simple-bar-chart__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-xs)}.simple-bar-chart__row{display:grid;grid-template-columns:minmax(4rem,1fr) 2fr auto;gap:var(--space-xs);align-items:center;font-size:var(--font-sm)}.simple-bar-chart__track{height:.5rem;background:#e2e8f0;border-radius:999px;overflow:hidden}.simple-bar-chart__fill{height:100%;background:linear-gradient(90deg,#3b82f6,#6366f1);border-radius:999px}.attachment-preview{display:block;max-width:100%;max-height:12rem;margin-top:var(--space-xs);border-radius:var(--radius-md)}.detail-section{margin-bottom:var(--space-md)}.detail-section__title{font-size:var(--font-lg);font-weight:700;margin-bottom:var(--space-md)}.detail-section__subtitle{font-size:var(--font-md);font-weight:600;margin:var(--space-lg) 0 var(--space-sm);color:var(--color-text-secondary, #555)}.detail-section__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-md)}.detail-section__header .detail-section__title{margin-bottom:0}.detail-dl{display:grid;grid-template-columns:minmax(8rem,10rem) 1fr;gap:var(--space-sm) var(--space-md)}.detail-dl dt{font-weight:600;color:var(--color-text-muted)}.detail-list{list-style:none}.detail-list__item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border)}.detail-list__item:last-child{border-bottom:none}.detail-list__item--stacked{flex-direction:column;align-items:flex-start}.detail-list__meta{font-size:.9375rem;color:var(--color-text-muted)}.detail-badge{display:inline-block;margin-inline-start:var(--space-sm);padding:.15rem .5rem;background:var(--color-accent);color:var(--color-primary);border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.detail-empty{color:var(--color-text-muted)}.detail-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.family-form--inline{margin-bottom:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border)}.form-group--checkbox label{display:flex;align-items:center;gap:var(--space-sm);font-weight:600;min-height:var(--touch-min)}[dir=rtl] .detail-dl{text-align:right}.transfer-modal-backdrop,.confirm-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-lg);background:#00000073}.confirm-dialog{width:min(100%,28rem);margin:0;padding:var(--space-lg)}.confirm-dialog__title{margin:0 0 var(--space-sm);font-size:1.125rem}.confirm-dialog__message{margin:0 0 var(--space-xs)}.confirm-dialog__message--pre{white-space:pre-line}.parent-current-year-banner__year{font-size:1.25rem;font-weight:600;margin:0}.parent-year-history__item{margin-bottom:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md)}.parent-year-history__item summary{cursor:pointer;font-weight:600}.confirm-dialog__hint{margin:0 0 var(--space-md);color:var(--color-text-muted);font-size:.9375rem}.confirm-dialog__error{margin:0 0 var(--space-md);color:#b42318}.confirm-dialog__actions{display:flex;gap:var(--space-sm);justify-content:flex-end}.show-deleted-filter{display:inline-flex;align-items:center;gap:var(--space-xs);font-size:.9375rem;white-space:nowrap}.transfer-modal{width:min(100%,32rem);max-height:90vh;overflow-y:auto;margin:0}.transfer-modal__success{color:var(--color-success, #1a7f37);font-weight:600;margin-bottom:var(--space-md)}.payment-confirmation-modal{width:min(100%,36rem)}.payment-confirmation-modal__header{margin-bottom:var(--space-md)}.payment-confirmation-modal__steps{margin:0;font-size:.875rem;color:var(--color-text-muted, #64748b)}.payment-confirmation-form{display:flex;flex-direction:column;gap:var(--space-lg)}.payment-confirmation-section{display:flex;flex-direction:column;gap:var(--space-md)}.payment-confirmation-section__title{margin:0;font-size:1.05rem}.payment-confirmation-fields{display:grid;gap:var(--space-md)}.payment-confirmation-field{display:flex;flex-direction:column;gap:var(--space-xs);margin:0}.payment-confirmation-field--full{grid-column:1 / -1}.payment-confirmation-target-summary{padding:var(--space-md);border-radius:var(--radius-md, .75rem);background:var(--color-surface-muted, #f8fafc);display:flex;flex-direction:column;gap:var(--space-xs)}.payment-confirmation-upload{border:2px dashed var(--color-border, #cbd5e1);border-radius:var(--radius-md, .75rem);padding:var(--space-xl) var(--space-md);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}.payment-confirmation-upload--active{border-color:var(--color-primary, #2563eb);background:var(--color-surface-muted, #f8fafc)}.payment-confirmation-preview{margin-top:var(--space-md)}.payment-confirmation-preview__image{max-width:100%;max-height:12rem;border-radius:var(--radius-md, .75rem);object-fit:contain}.payment-confirmation-preview__file{margin:0;padding:var(--space-md);background:var(--color-surface-muted, #f8fafc);border-radius:var(--radius-md, .75rem)}.payment-confirmation-review{margin:0}.payment-confirmation-actions{flex-wrap:wrap}.parent-child-fee-grid{display:grid;gap:var(--space-md);grid-template-columns:1fr;min-width:0}.parent-child-fee-card{padding:var(--space-md);border:1px solid var(--color-border, #e2e8f0);border-radius:var(--radius-md, .75rem);display:flex;flex-direction:column;gap:var(--space-md);min-width:0}.parent-child-fee-card .detail-dl,.parent-child-fee-card .detail-dl--compact,.parent-monthly-plan-progress--embedded .detail-dl,.detail-dl--stacked{grid-template-columns:minmax(0,1fr)}.parent-child-fee-card .detail-dl dt,.parent-child-fee-card .detail-dl dd,.parent-monthly-plan-progress--embedded .detail-dl dt,.parent-monthly-plan-progress--embedded .detail-dl dd{min-width:0;white-space:normal;overflow-wrap:break-word}.parent-monthly-plan-progress{min-width:0}.parent-monthly-plan-progress--embedded{padding:0;border:0;box-shadow:none}.parent-monthly-plan-progress__heading{margin:0 0 var(--space-sm);font-size:1rem}.parent-monthly-plan-progress__reference,.payment-history__reference--wrap{overflow-wrap:anywhere}.parent-child-fee-card__name{margin:0;font-size:1.125rem;display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem}.parent-child-fee-card__person-type{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted)}.parent-child-fee-card__meta{margin:.15rem 0 0;font-size:.875rem;color:var(--color-text-muted)}.parent-child-fee-card__fee{margin:0;font-weight:600}.parent-fee-status{display:inline-block;font-size:.8125rem;font-weight:600}.parent-fee-status--paid,.parent-fee-status--overpaid{color:var(--color-success, #15803d)}.parent-fee-status--partially_paid{color:var(--color-warning, #b45309)}.parent-fee-status--not_paid{color:var(--color-danger, #b91c1c)}.payment-history__payment-for{font-size:.9rem}.payment-history__payment-for-list{margin:.35rem 0 0;padding-inline-start:1.1rem}.parent-card__fee-progress{margin:.35rem 0 .75rem}.parent-child-fee-card__item+.parent-child-fee-card__item{padding-top:var(--space-md);border-top:1px solid var(--color-border, #e2e8f0)}.detail-dl--compact{gap:var(--space-xs)}.installment-card-grid{display:grid;gap:var(--space-md);grid-template-columns:1fr}.installment-card{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md)}.installment-card__actions{margin-top:auto;padding-top:var(--space-md);display:flex;flex-wrap:wrap;gap:var(--space-sm)}.modern-modal{display:flex;flex-direction:column;max-height:min(92vh,48rem);max-height:min(92dvh,48rem);overflow:hidden;width:min(100%,32rem)}.modern-modal.transfer-modal--wide{width:min(100%,42rem)}.modern-modal__header{flex:0 0 auto;margin-bottom:var(--space-md)}.modern-modal__header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-sm)}.modern-modal__title{margin:0;font-size:1.25rem;font-weight:700;color:var(--color-primary)}.modern-modal__close{flex-shrink:0;min-width:var(--touch-min);min-height:var(--touch-min);display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:1.5rem;line-height:1;cursor:pointer}.modern-modal__close:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.modern-modal__subtitle{margin:var(--space-xs) 0 0;font-size:.875rem;color:var(--color-text-muted);line-height:1.5}.modern-modal__body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:var(--space-md);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.modern-modal__footer{flex:0 0 auto;margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--color-border)}.form-fieldset--checks{border:none;padding:0;margin:0;display:grid;gap:var(--space-sm)}.form-fieldset--checks .form-field--switch{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:.75rem var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.event-inline-form{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:flex-end;margin-top:var(--space-md)}.event-inline-form .modern-input{flex:1 1 10rem;min-width:0}.installment-card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-sm)}.installment-card__title{margin:0;font-size:1rem;font-weight:600}.payment-plan-progress{display:flex;align-items:center;gap:var(--space-md);margin:var(--space-md) 0}.payment-plan-progress__bar{flex:1;height:.5rem;background:var(--color-border, #e2e8f0);border-radius:999px;overflow:hidden}.payment-plan-progress__bar>span{display:block;height:100%;background:var(--color-primary, #1e3a5f);border-radius:999px}.payment-plan-progress__label{margin:0;font-weight:600;min-width:2.5rem;text-align:end}.payment-plan-compact{margin-bottom:var(--space-md);padding:var(--space-md);background:var(--color-surface-muted, #f8fafc)}.payment-plan-compact__title{margin:0 0 var(--space-sm);font-weight:600}.transfer-modal--wide{max-width:42rem;width:min(100%,42rem)}@media(min-width:640px){.installment-card-grid{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}.payment-confirmation-fields{grid-template-columns:1fr 1fr}.parent-child-fee-grid{grid-template-columns:repeat(auto-fit,minmax(min(16rem,100%),1fr))}}@media(max-width:374px){:root{--font-base: .9375rem}.bottom-nav__label{font-size:.625rem}}.parent-portal{overflow-x:hidden}.parent-portal .certificate-course-row{display:flex;justify-content:space-between;gap:var(--space-md);align-items:baseline}.certificate-fa-preview,.certificate-fa-card{direction:rtl;text-align:right}.certificate-fa-school{text-align:center;font-weight:700;margin-bottom:.25rem}.certificate-fa-intro,.certificate-fa-closing,.certificate-fa-comment,.certificate-fa-overall,.certificate-fa-footer{text-align:right}.certificate-fa-meta{display:grid;gap:.4rem;margin:0 0 var(--space-md)}.certificate-fa-meta div{display:flex;justify-content:space-between;gap:var(--space-md)}.certificate-fa-meta dt{font-weight:600}.certificate-fa-meta dd{margin:0}.certificate-fa-table{width:100%;border-collapse:collapse;margin:var(--space-md) 0;direction:rtl}.certificate-fa-table th,.certificate-fa-table td{border:1px solid #94a3b8;padding:.55rem .75rem;vertical-align:middle}.certificate-fa-table thead th{background:#e8eef5;color:#1e3a5f;font-weight:700;text-align:center}.certificate-fa-table__result{text-align:center;width:32%}.certificate-fa-table__course{text-align:right;width:68%}.certificate-fa-signature{margin-top:var(--space-lg);text-align:right}.certificate-fa-footer{margin-top:var(--space-md);color:#64748b;font-size:.9rem}.parent-cards{display:grid;gap:var(--space-md);grid-template-columns:1fr}@media(min-width:768px){.parent-cards{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.parent-cards{grid-template-columns:repeat(3,1fr)}}.parent-cards--compact{grid-template-columns:1fr}.parent-cards--priority{display:flex;flex-direction:column}.parent-card--messages{order:1}.parent-card--events{order:2}.parent-card--calendar{order:3}.parent-card--children{order:4}.parent-card--classes{order:5}.parent-card--registrations{order:6}.parent-card--unread{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.parent-card__badge{display:inline-block;margin-inline-start:.5rem;padding:.15rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--color-primary);color:#fff}.message-unread-badge{display:inline-flex;align-items:center;justify-content:center;margin-inline-start:.35rem;padding:.2rem .65rem;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.02em;line-height:1.2;white-space:nowrap;background:#dcfce7;color:#166534;border:1px solid #86efac}[data-theme=dark] .message-unread-badge,.theme-dark .message-unread-badge{background:#14532d;color:#bbf7d0;border-color:#22c55e}@media(max-width:639px){.message-unread-badge{padding:.25rem .7rem;font-size:.8125rem;min-height:1.5rem}}.parent-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem}.parent-unread-alert{margin-bottom:var(--space-lg);border-color:var(--color-primary);background:var(--color-surface-alt, #f8f9fa)}.parent-unread-alert__headline{font-size:1.125rem;font-weight:600;margin:0 0 var(--space-sm)}.parent-unread-alert__latest{margin:0 0 var(--space-md);color:var(--color-text-muted)}.parent-unread-alert__link{font-weight:600;color:var(--color-primary)}.parent-unread-alert__action{margin-top:var(--space-sm)}.latest-messages-widget{margin-bottom:var(--space-lg)}.latest-messages-widget__header{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.latest-messages-widget__header .detail-section__title{margin:0;flex:1}.parent-cards--compact .parent-card{padding:var(--space-sm) var(--space-md)}.messages-unread-banner{margin-bottom:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-surface-alt, #f5f5f5);border-radius:var(--radius-sm)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.password-input{position:relative;display:flex;align-items:stretch;width:100%}.password-input__field{width:100%;padding-inline-end:2.75rem}.password-input__toggle{position:absolute;inset-inline-end:.35rem;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:0;border-radius:var(--radius-sm, .4rem);background:transparent;color:var(--color-text-muted, #64748b);cursor:pointer}.password-input__toggle:hover,.password-input__toggle:focus-visible{color:var(--color-text, #0f172a);background:var(--color-surface-alt, rgba(15, 23, 42, .06));outline:none}.password-input__toggle:focus-visible{box-shadow:0 0 0 2px var(--color-focus, #0f766e)}.password-input__toggle[aria-pressed=true]{color:var(--color-primary, #0f766e)}[data-theme=dark] .password-input__toggle,.theme-dark .password-input__toggle{color:var(--color-text-muted, #94a3b8)}[data-theme=dark] .password-input__toggle:hover,[data-theme=dark] .password-input__toggle:focus-visible,.theme-dark .password-input__toggle:hover,.theme-dark .password-input__toggle:focus-visible{color:var(--color-text, #f8fafc);background:#f8fafc14}.announcement-form-page{max-width:48rem}.announcement-form__section{margin-bottom:var(--space-lg)}.announcement-form__heading{margin:0 0 var(--space-sm);font-size:1.125rem}.announcement-form__label{display:block;margin-bottom:var(--space-xs);font-weight:600}.announcement-form__select{width:100%;margin-bottom:var(--space-md)}.announcement-form__error{margin-bottom:var(--space-md)}.audience-cards{display:grid;grid-template-columns:1fr;gap:var(--space-sm);border:none;padding:0;margin:0 0 var(--space-md)}.audience-cards>legend,.audience-cards>.form-hint{grid-column:1 / -1;margin:0}.audience-mode{display:flex;flex-wrap:wrap;gap:var(--space-md);border:none;padding:0;margin:0 0 var(--space-md)}.audience-mode>legend{width:100%}.form-field--inline{display:flex;align-items:center;gap:var(--space-xs);min-height:44px}.announcement-form__channels{border:none;padding:0;margin:0 0 var(--space-md)}.announcement-form__summary{margin-top:var(--space-md);border-top:1px solid var(--color-border);padding-top:var(--space-sm)}@media(min-width:480px){.audience-cards{grid-template-columns:repeat(2,1fr)}}.audience-card{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;min-height:44px;transition:border-color .15s ease,background .15s ease}.audience-card input{flex-shrink:0}.audience-card--selected{border-color:var(--color-primary);background:var(--color-surface-alt, #f8f9fa)}.audience-card__label{font-weight:500}.announcement-form__target-picker{margin-top:var(--space-md)}.announcement-form__target-picker label,.announcement-form__target-picker input,.announcement-form__target-picker select{display:block;width:100%;margin-bottom:var(--space-sm)}.lang-tabs{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-bottom:var(--space-md)}.lang-tabs__btn{flex:1;min-width:5rem;min-height:44px;padding:var(--space-sm) var(--space-md);border:2px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font-weight:600;cursor:pointer}.lang-tabs__btn--active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.lang-tabs__btn--missing:not(.lang-tabs__btn--active){opacity:.65}.announcement-detail__lang-tabs{margin:var(--space-md) 0}.announcement-detail__review-title{font-size:var(--font-lg);font-weight:700;margin:0 0 var(--space-sm)}.lang-tab-panel label{display:block;margin:var(--space-md) 0 var(--space-xs);font-weight:600}.lang-tab-panel input[type=text],.lang-tab-panel input:not([type]){width:100%;margin-bottom:var(--space-sm)}.rich-editor{border:2px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.rich-editor__toolbar{display:flex;flex-wrap:wrap;gap:.25rem;padding:var(--space-xs);background:var(--color-surface-alt, #f5f5f5);border-bottom:1px solid var(--color-border)}.rich-editor__btn{min-width:44px;min-height:36px;padding:.25rem .5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;font-size:.875rem}.rich-editor__area{min-height:10rem;padding:var(--space-md);outline:none;line-height:1.6}.rich-editor__area:empty:before,.rich-editor__area--empty:before{content:attr(data-placeholder);color:var(--color-text-muted);pointer-events:none}.rich-editor__area ul,.rich-editor__area ol{margin:.5rem 0;padding-inline-start:1.5rem}.message-body-html ul,.message-body-html ol{margin:.75rem 0;padding-inline-start:1.5rem}.message-body-html p{margin:.5rem 0}.attachment-dropzone__zone{border:2px dashed var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg);text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease}.attachment-dropzone__zone--active{border-color:var(--color-primary);background:var(--color-surface-alt, #f8f9fa)}.attachment-dropzone__input{display:none}.attachment-dropzone__hint{margin:0 0 var(--space-sm);font-weight:500}.attachment-dropzone__types{margin:var(--space-sm) 0 0;font-size:.875rem;color:var(--color-text-muted)}.attachment-dropzone__list{list-style:none;padding:0;margin:var(--space-md) 0 0}.attachment-dropzone__item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border)}.announcement-form__preview-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-md)}.message-preview{padding:var(--space-md)}.announcement-form__actions{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-top:var(--space-lg)}@media(min-width:768px){.parent-cards--priority{display:grid;grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.parent-cards--priority{grid-template-columns:repeat(3,1fr)}}.parent-card{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);min-height:44px}.parent-card--link{display:block;text-decoration:none;color:inherit;transition:border-color .15s ease,box-shadow .15s ease}.parent-card--link:hover,.parent-card--link:focus-visible{border-color:var(--color-primary);box-shadow:0 2px 8px #00000014}.parent-card--selectable{width:100%;text-align:start;cursor:pointer;font:inherit;color:inherit;position:relative;border:2px solid var(--color-border);background:var(--color-surface);transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.parent-card--selectable:hover{background:var(--color-accent);border-color:var(--color-primary-light);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.parent-card--selectable:focus-visible{outline:3px solid #93c5fd;outline-offset:2px}.parent-card--selected,.parent-card--selected:hover{border-color:var(--color-primary);border-width:2px;background:color-mix(in srgb,var(--color-primary) 18%,var(--color-surface));box-shadow:var(--shadow-md);transform:none}.parent-card--selected-success,.parent-card--selected-success:hover{border-color:#15803d;border-width:2px;background:color-mix(in srgb,#86efac 28%,var(--color-surface));box-shadow:0 0 0 1px color-mix(in srgb,#15803d 35%,transparent)}.parent-card--class-option{min-height:44px;text-align:start;width:100%}.parent-card__selected-badge{display:inline-flex;align-items:center;gap:.35rem;margin-bottom:var(--space-sm);padding:.2rem .55rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:700;line-height:1.2;letter-spacing:.01em;color:#fff;background:var(--color-primary)}.parent-card__selected-badge--success{background:#15803d;color:#fff}.parent-card__selected-check{font-size:.85rem;line-height:1}.parent-register-payment-warning{display:flex;align-items:flex-start;gap:.75rem;margin:1rem 0 .25rem;padding:.9rem 1rem;border:2px solid #c2410c;border-radius:.75rem;background:color-mix(in srgb,#fb923c 22%,#fff7ed);color:#7c2d12}.parent-register-payment-warning__icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:999px;background:#c2410c;color:#fff;font-weight:800;line-height:1}.parent-register-payment-warning__text{margin:0;font-size:.95rem;font-weight:650;line-height:1.45}.wizard-step-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.verify-email-success{text-align:center}.verify-email-success__icon{display:inline-flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;margin:0 auto 1rem;border-radius:999px;background:#15803d;color:#fff;font-size:1.75rem;font-weight:700}.verify-email-success__link{font-weight:700;text-decoration:underline}@media(max-width:640px){.wizard-step-actions{flex-direction:column-reverse;align-items:stretch}.wizard-step-actions .btn{width:100%;min-height:44px}.parent-register-payment-warning{padding:.85rem .9rem}}@media(prefers-reduced-motion:reduce){.parent-card--selectable{transition:none}.parent-card--selectable:hover{transform:none}}.parent-card--static{opacity:.85}.parent-card--compact{padding:var(--space-sm) var(--space-md)}.parent-card__icon{font-size:2rem;display:block;margin-bottom:var(--space-sm)}.parent-continue-banner{display:grid;gap:var(--space-lg);margin-bottom:var(--space-xl);padding:var(--space-lg);border:2px solid color-mix(in srgb,var(--color-primary) 72%,#14b8a6);border-radius:var(--radius-lg);background:linear-gradient(135deg,color-mix(in srgb,var(--color-accent) 82%,#ccfbf1),color-mix(in srgb,var(--color-surface) 88%,#e0f2fe));box-shadow:var(--shadow-md)}.parent-continue-banner__eyebrow{color:var(--color-primary);font-weight:700;letter-spacing:.03em;text-transform:uppercase}.parent-continue-banner h2{margin-block:var(--space-xs);font-size:var(--font-2xl)}.parent-continue-banner__next,.parent-continue-banner__count{margin-top:var(--space-sm)}.parent-continue-banner__next-label{color:var(--color-error-text)}.parent-continue-banner__action{display:flex;align-items:center}.parent-continue-banner__action .btn{width:100%}.parent-onboarding-progress{width:100%;height:.75rem;margin-top:var(--space-md);overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--color-border) 82%,var(--color-surface))}.parent-onboarding-progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--color-primary),#0d9488);transition:width .2s ease}@media(prefers-reduced-motion:reduce){.parent-onboarding-progress>span{transition:none}}.parent-onboarding-assistant{margin-bottom:var(--space-xl);padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-card)}.parent-onboarding-assistant__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-lg)}.parent-onboarding-assistant__header>strong{flex:0 0 auto;color:var(--color-primary);font-size:var(--font-2xl)}.parent-onboarding-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm);margin-bottom:var(--space-lg)}.parent-onboarding-summary>span{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);background:var(--color-accent);font-weight:600}.parent-onboarding-family-steps,.parent-onboarding-child{padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.parent-onboarding-family-steps{margin-bottom:var(--space-lg)}.parent-onboarding-children{display:grid;gap:var(--space-md)}.parent-onboarding-child{border-inline-start:4px solid var(--color-primary)}.parent-onboarding-child.is-complete{border-inline-start-color:var(--color-success-text);background:color-mix(in srgb,var(--color-success-bg) 60%,var(--color-surface))}.parent-onboarding-child.is-registration-required{border-color:color-mix(in srgb,var(--color-error-text) 35%,var(--color-border));border-inline-start-color:var(--color-error-text);background:color-mix(in srgb,var(--color-error-bg) 72%,var(--color-surface))}.parent-onboarding-child.is-registration-required>header h3{color:var(--color-error-text)}.parent-onboarding-child>header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-sm)}.parent-onboarding-child>header p{color:var(--color-text-muted)}.parent-onboarding-steps{display:grid;gap:var(--space-sm);margin-block:var(--space-md);list-style:none}.parent-onboarding-steps li{display:grid;grid-template-columns:1.5rem minmax(0,1fr) auto;align-items:center;gap:var(--space-sm);min-height:2rem}.parent-onboarding-step__icon{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:999px;background:var(--color-border);font-weight:800}.parent-onboarding-steps .is-complete .parent-onboarding-step__icon{background:var(--color-success-bg);color:var(--color-success-text)}.parent-onboarding-steps .is-action .parent-onboarding-step__icon{background:var(--color-accent-strong);color:var(--color-primary)}.parent-onboarding-steps .is-waiting .parent-onboarding-step__icon{background:#fef3c7;color:#92400e}.parent-onboarding-steps .is-attention .parent-onboarding-step__icon{background:var(--color-error-bg);color:var(--color-error-text)}.parent-onboarding-step__status{color:var(--color-text-muted);font-size:.875rem;font-weight:600}.parent-onboarding-status{display:inline-flex;align-items:center;min-height:2rem;padding:.25rem .75rem;border-radius:999px;background:var(--color-accent);font-size:.875rem;font-weight:700}.parent-onboarding-status.is-complete{background:var(--color-success-bg);color:var(--color-success-text)}.parent-onboarding-status.is-waiting{background:#fef3c7;color:#92400e}.parent-onboarding-status.is-attention{background:var(--color-error-bg);color:var(--color-error-text)}.parent-onboarding-status.is-action{background:var(--color-accent-strong);color:var(--color-primary)}.parent-onboarding-child__balance{margin-bottom:var(--space-md)}.parent-onboarding-selector{display:grid;gap:var(--space-md)}.parent-onboarding-selector__child{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md)}.parent-onboarding-selector__child.is-disabled{background:color-mix(in srgb,var(--color-border) 25%,var(--color-surface));color:var(--color-text-muted)}[data-theme=dark] .parent-continue-banner{border-color:#2dd4bf;background:linear-gradient(135deg,#163f4b,#1e3a5f)}[data-theme=dark] .parent-continue-banner__next-label,[data-theme=dark] .parent-onboarding-child.is-registration-required>header h3{color:color-mix(in srgb,var(--color-error-bg) 78%,var(--color-error-text))}[data-theme=dark] .parent-onboarding-child.is-registration-required{border-color:color-mix(in srgb,var(--color-error-text) 45%,var(--color-border));border-inline-start-color:color-mix(in srgb,var(--color-error-bg) 68%,var(--color-error-text));background:color-mix(in srgb,var(--color-error-text) 18%,var(--color-surface))}[data-theme=dark] .parent-onboarding-steps .is-waiting .parent-onboarding-step__icon,[data-theme=dark] .parent-onboarding-status.is-waiting{background:#78350f;color:#fef3c7}@media(min-width:768px){.parent-continue-banner{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:var(--space-xl)}.parent-continue-banner__action .btn{width:auto;min-width:12rem}.parent-onboarding-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.parent-onboarding-children{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.parent-onboarding-summary{grid-template-columns:1fr}.parent-onboarding-child>header,.parent-onboarding-selector__child{align-items:stretch;flex-direction:column}.parent-onboarding-steps li{grid-template-columns:1.5rem minmax(0,1fr)}.parent-onboarding-step__status{grid-column:2}}.parent-card__title{font-size:var(--font-lg);font-weight:700;margin-bottom:var(--space-xs)}.parent-card__desc{color:var(--color-text-muted);font-size:.95rem;margin-bottom:var(--space-sm)}.parent-card__class-description{margin-top:var(--space-sm);max-width:100%;text-align:start}.parent-card__class-description-label{display:block;font-weight:600;font-size:.9rem;color:var(--color-text);margin-bottom:.25rem}.parent-card__class-description-text,.parent-register-review__description{margin:0;color:var(--color-text-muted);font-size:.9rem;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;max-width:100%}.parent-card__code{display:inline-block;font-size:.85rem;background:var(--color-accent);padding:.2rem .5rem;border-radius:4px;margin-bottom:var(--space-sm)}.parent-card__count{display:inline-block;font-weight:700;font-size:1.25rem;color:var(--color-primary);margin-top:var(--space-xs)}.parent-card__soon{display:inline-block;font-size:.8rem;color:var(--color-text-muted);background:var(--color-accent);padding:.25rem .5rem;border-radius:999px;margin-top:var(--space-xs)}.parent-card__badge{font-size:.75rem;font-weight:600;margin-inline-start:var(--space-xs);color:var(--color-primary)}.parent-card__actions{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-md)}.parent-card__actions .btn{min-height:44px}.parent-extra-enrollments__group{margin-bottom:var(--space-lg)}.parent-extra-enrollments__group-title{font-size:1.05rem;font-weight:650;margin:0 0 var(--space-sm)}.parent-extra-enroll__fieldset{border:none;padding:0;margin:var(--space-md) 0 0;display:grid;gap:var(--space-sm)}.parent-extra-enroll__fieldset legend{font-weight:600;margin-bottom:var(--space-sm)}.parent-extra-enroll__option{display:flex;align-items:center;gap:var(--space-sm)}.parent-extra-enroll .form-select{width:100%;max-width:100%}.parent-extra-enroll .parent-register-review{display:grid;gap:var(--space-sm)}.parent-extra-enroll .parent-register-review dt{font-weight:600;color:var(--color-text-muted);font-size:.85rem}.parent-extra-enroll .parent-register-review dd{margin:.15rem 0 0}.parent-cards--announcements{align-items:stretch}.announcement-card{display:flex;flex-direction:column;height:100%}.announcement-card__header{flex-shrink:0}.announcement-card__header .parent-card__title{margin-bottom:var(--space-xs)}.announcement-card__title-link{color:inherit;text-decoration:none}.announcement-card__title-link:hover,.announcement-card__title-link:focus-visible{color:var(--color-primary);text-decoration:underline}.announcement-card__date{color:var(--color-text-muted);font-size:.9rem;margin:0 0 var(--space-sm)}.announcement-card__content{flex:1;min-height:0}.announcement-card__preview,.message-card__preview{margin-bottom:var(--space-sm);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;word-break:break-word}.announcement-card__content .parent-card__desc:last-child{margin-bottom:0}.announcement-card__footer{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:auto;padding-top:var(--space-md);border-top:1px solid var(--color-border);flex-shrink:0}.announcement-card__footer .btn{min-height:44px;width:100%}@media(min-width:480px){.announcement-card__footer{flex-direction:row;flex-wrap:wrap;align-items:stretch}.announcement-card__footer .btn{width:auto;flex:1 1 auto;min-width:min(100%,8rem)}}.parent-card__placeholders{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-sm)}.parent-status{display:inline-block;padding:.3rem .65rem;border-radius:999px;font-size:.85rem;font-weight:700}.parent-status--pending{background:#fef9c3;color:#854d0e}.parent-status--approved{background:#dcfce7;color:#166534}.parent-status--waitlisted{background:#e0e7ff;color:#3730a3}.parent-status--rejected{background:#fee2e2;color:#991b1b}.parent-status--cancelled{background:#f1f5f9;color:#64748b}.parent-status--neutral{background:#f1f5f9;color:#475569}.parent-summary{margin-top:var(--space-xl)}.parent-summary__title{font-size:var(--font-lg);font-weight:700;margin-bottom:var(--space-md)}.parent-summary__list{display:grid;gap:var(--space-sm)}.parent-summary__item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md)}.parent-summary__name{font-size:1.1rem;font-weight:700;margin-bottom:var(--space-xs)}.parent-summary__grade{color:var(--color-text-muted);margin-bottom:var(--space-xs)}.parent-detail-section{margin-bottom:var(--space-md)}.parent-detail-section h2{font-size:var(--font-lg);margin-bottom:var(--space-sm)}.parent-detail-section__lead{font-size:1.05rem;margin-bottom:var(--space-sm)}.parent-detail-section__empty{color:var(--color-text-muted)}.parent-detail-actions{margin-top:var(--space-lg)}.parent-detail-actions .btn{width:100%;min-height:44px}.parent-confirm-card{text-align:center;padding:2rem var(--space-md)}.parent-confirm-card .btn{margin-top:var(--space-lg);min-height:44px}.parent-profile-form__readonly{border:1px dashed var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-md)}.parent-profile-form__value{font-weight:600;margin:0}.parent-profile-form__success{color:#166534;background:#dcfce7;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);margin-bottom:var(--space-md)}.parent-profile-form .btn{width:100%;min-height:44px}.parent-portal .btn--large{min-height:44px}.parent-page-actions{display:flex;flex-direction:column;gap:var(--space-sm);width:100%}@media(min-width:480px){.parent-page-actions{flex-direction:row;flex-wrap:wrap;width:auto}}.school-cal-month{width:100%;max-width:100%;overflow:hidden}.school-cal-month__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-md)}.school-cal-month__title{flex:1;text-align:center;font-size:var(--font-lg);margin:0}.school-cal-month__nav{min-width:44px;min-height:44px;padding:0;flex-shrink:0}.school-cal-month__weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:var(--space-xs)}.school-cal-month__weekday{text-align:center;font-size:.75rem;font-weight:600;color:var(--color-text-muted);padding:var(--space-xs) 0}.school-cal-month__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.school-cal-month__cell{aspect-ratio:1;min-height:44px;border-radius:var(--radius-sm);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.85rem}.school-cal-month__cell--empty{background:transparent}.school-cal-month__cell--btn{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;padding:2px;transition:transform .1s ease,box-shadow .1s ease}.school-cal-month__cell--btn:hover,.school-cal-month__cell--btn:focus-visible{transform:scale(1.04);box-shadow:0 2px 6px #0000001f;outline:none}.school-cal-month__date{font-weight:600;line-height:1.2}.school-cal-month__icon{font-size:.65rem;line-height:1}.school-cal-month__cell--btn.school-cal-day--school,.school-cal-year__cell--btn.school-cal-day--school,.school-cal-list__item.school-cal-day--school{background:#86efac;border-color:#22c55e;color:#14532d}.school-cal-month__cell--btn.school-cal-day--holiday,.school-cal-year__cell--btn.school-cal-day--holiday,.school-cal-list__item.school-cal-day--holiday{background:#fca5a5;border-color:#ef4444;color:#7f1d1d}.school-cal-month__cell--btn.school-cal-day--cancelled,.school-cal-year__cell--btn.school-cal-day--cancelled,.school-cal-list__item.school-cal-day--cancelled{background:#fdba74;border-color:#f97316;color:#7c2d12}.school-cal-month__cell--btn.school-cal-day--exam,.school-cal-year__cell--btn.school-cal-day--exam,.school-cal-list__item.school-cal-day--exam{background:#c4b5fd;border-color:#8b5cf6;color:#4c1d95}.school-cal-month__cell--btn.school-cal-day--event,.school-cal-year__cell--btn.school-cal-day--event,.school-cal-list__item.school-cal-day--event{background:#93c5fd;border-color:#3b82f6;color:#1e3a8a}.school-cal-month__cell--btn.school-cal-day--closure,.school-cal-year__cell--btn.school-cal-day--closure,.school-cal-list__item.school-cal-day--closure{background:#fbcfe8;border-color:#db2777;color:#9d174d}.school-cal-month__cell--btn.school-cal-day--meeting,.school-cal-year__cell--btn.school-cal-day--meeting,.school-cal-list__item.school-cal-day--meeting{background:#a5f3fc;border-color:#0891b2;color:#155e75}.school-cal-day--school{background:#86efac;border-color:#22c55e;color:#14532d}.school-cal-day--holiday{background:#fca5a5;border-color:#ef4444;color:#7f1d1d}.school-cal-day--cancelled{background:#fdba74;border-color:#f97316;color:#7c2d12}.school-cal-day--exam{background:#c4b5fd;border-color:#8b5cf6;color:#4c1d95}.school-cal-day--event{background:#93c5fd;border-color:#3b82f6;color:#1e3a8a}.school-cal-day--closure{background:#fbcfe8;border-color:#db2777;color:#9d174d}.school-cal-day--meeting{background:#a5f3fc;border-color:#0891b2;color:#155e75}.school-cal-day--neutral{background:var(--color-surface)}.school-cal-list__item.school-cal-day--school .school-cal-list__desc,.school-cal-list__item.school-cal-day--holiday .school-cal-list__desc,.school-cal-list__item.school-cal-day--cancelled .school-cal-list__desc,.school-cal-list__item.school-cal-day--exam .school-cal-list__desc,.school-cal-list__item.school-cal-day--event .school-cal-list__desc,.school-cal-list__item.school-cal-day--closure .school-cal-list__desc,.school-cal-list__item.school-cal-day--meeting .school-cal-list__desc{color:inherit;opacity:.9}.school-cal-legend{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-md);margin:var(--space-md) 0;padding:var(--space-sm) var(--space-md);background:var(--color-surface-alt, #f8fafc);border-radius:var(--radius-md);border:1px solid var(--color-border)}.school-cal-legend__item{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;min-height:44px}.school-cal-legend__swatch{width:14px;height:14px;border-radius:3px;flex-shrink:0}.school-cal-legend__item.school-cal-day--school .school-cal-legend__swatch{background:#86efac;border:1px solid #22c55e}.school-cal-legend__item.school-cal-day--holiday .school-cal-legend__swatch{background:#fca5a5;border:1px solid #ef4444}.school-cal-legend__item.school-cal-day--cancelled .school-cal-legend__swatch{background:#fdba74;border:1px solid #f97316}.school-cal-legend__item.school-cal-day--exam .school-cal-legend__swatch{background:#c4b5fd;border:1px solid #8b5cf6}.school-cal-legend__item.school-cal-day--event .school-cal-legend__swatch{background:#93c5fd;border:1px solid #3b82f6}.school-cal-legend__item.school-cal-day--closure .school-cal-legend__swatch{background:#fbcfe8;border:1px solid #db2777}.school-cal-legend__item.school-cal-day--meeting .school-cal-legend__swatch{background:#a5f3fc;border:1px solid #0891b2}.school-cal-view-toggle{display:flex;gap:var(--space-sm);margin-bottom:var(--space-md)}.school-cal-view-toggle .btn{flex:1;min-height:44px}@media(min-width:480px){.school-cal-view-toggle .btn{flex:0 1 auto;min-width:120px}}.school-cal-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-xs)}.school-cal-list__item{display:grid;grid-template-columns:1fr;gap:.15rem;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);border:1px solid var(--color-border);min-height:44px;cursor:pointer;text-align:start;width:100%;background:var(--color-surface)}.school-cal-list__item:hover,.school-cal-list__item:focus-visible{box-shadow:0 2px 6px #00000014;outline:none}@media(min-width:480px){.school-cal-list__item{grid-template-columns:1.4fr 1fr 1.2fr;align-items:center}}.school-cal-list__date{font-weight:600}.school-cal-list__type{font-size:.9rem}.school-cal-list__desc{font-size:.85rem;color:var(--color-text-muted)}.school-cal-list__empty{color:var(--color-text-muted);padding:var(--space-md)}.school-cal-stats__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm) var(--space-md)}@media(min-width:640px){.school-cal-stats__grid{grid-template-columns:repeat(3,1fr)}}.school-cal-exception-form .family-form__row{margin-bottom:var(--space-md)}.school-cal-day-modal__badge{display:inline-block;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-weight:600;margin-bottom:var(--space-sm)}.school-cal-widget,.parent-upcoming-events{margin-bottom:var(--space-lg)}.parent-upcoming-events__header{margin-bottom:var(--space-md)}.parent-upcoming-events__title{margin:0;font-size:var(--font-lg)}.parent-upcoming-events__loading{display:grid;gap:var(--space-sm)}.parent-upcoming-events__skeleton{height:3.25rem;border-radius:var(--radius-sm);background:linear-gradient(90deg,color-mix(in srgb,var(--color-border) 55%,var(--color-surface)),color-mix(in srgb,var(--color-accent) 70%,var(--color-surface)),color-mix(in srgb,var(--color-border) 55%,var(--color-surface)));background-size:200% 100%;animation:parent-upcoming-events-shimmer 1.2s ease-in-out infinite}.parent-upcoming-events__skeleton--short{width:70%}.parent-upcoming-events__loading-text{margin:0;color:var(--color-text-muted);font-size:.875rem}@keyframes parent-upcoming-events-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){.parent-upcoming-events__skeleton{animation:none}}.parent-upcoming-events__empty{margin:0;color:var(--color-text-muted)}.parent-upcoming-events__list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-md)}.parent-upcoming-events__item{display:grid;gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}@media(min-width:640px){.parent-upcoming-events__item{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start}}.parent-upcoming-events__item-title{margin:0 0 var(--space-xs);font-size:1.05rem}.parent-upcoming-events__item-type,.parent-upcoming-events__item-desc{margin:0;color:var(--color-text-muted);font-size:.875rem}.parent-upcoming-events__item-desc{margin-top:var(--space-xs)}.parent-upcoming-events__item-meta{margin:0;display:grid;gap:.35rem}.parent-upcoming-events__item-meta>div{display:grid;grid-template-columns:auto 1fr;gap:.5rem;font-size:.875rem}.parent-upcoming-events__item-meta dt{color:var(--color-text-muted);font-weight:600}.parent-upcoming-events__item-meta dd{margin:0;min-width:0;overflow-wrap:anywhere}.school-cal-widget__header{margin-bottom:var(--space-sm)}.school-cal-widget__title{font-size:var(--font-lg);margin:0 0 .25rem}.school-cal-widget__subtitle{margin:0;font-size:.9rem;color:var(--color-text-muted)}.school-cal-widget__list{list-style:none;padding:0;margin:0 0 var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm)}.school-cal-widget__item{display:flex;flex-direction:column;gap:.15rem;padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border);min-height:44px}@media(min-width:480px){.school-cal-widget__item{flex-direction:row;justify-content:space-between;align-items:center}}.school-cal-widget__label{font-weight:600;font-size:.9rem}.school-cal-widget__value{font-size:.95rem}.school-cal-widget__empty{color:var(--color-text-muted);margin:0 0 var(--space-md)}.school-cal-widget__empty-slot{color:var(--color-text-muted);font-size:.9rem}.school-cal-widget__list--grid{display:grid;grid-template-columns:1fr;gap:var(--space-sm)}@media(min-width:768px){.school-cal-widget__list--grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-md)}.school-cal-widget__list--grid .school-cal-widget__item{flex-direction:column;align-items:flex-start;justify-content:flex-start;border:1px solid var(--color-border);border-radius:var(--radius-md, .75rem);padding:var(--space-md);min-height:auto}}.school-cal-widget__link{width:100%}[dir=rtl] .school-cal-month__header{flex-direction:row-reverse}[dir=rtl] .school-cal-list__item,[dir=rtl] .school-cal-widget__item{text-align:right}.school-cal-year__header{margin-bottom:var(--space-md);text-align:center}.school-cal-year__title{font-size:var(--font-lg);margin:0 0 var(--space-xs)}.school-cal-year__range{margin:0;color:var(--color-text-muted);font-size:.95rem}.school-cal-year__months{display:grid;gap:var(--space-md);grid-template-columns:1fr}@media(min-width:640px){.school-cal-year__months{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.school-cal-year__months{grid-template-columns:repeat(3,1fr)}}.school-cal-year__month{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-sm)}.school-cal-year__month-title{font-size:.9rem;font-weight:700;margin:0 0 var(--space-xs);text-align:center}.school-cal-year__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.school-cal-year__cell{aspect-ratio:1;min-height:28px;border-radius:3px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.65rem}.school-cal-year__cell--empty,.school-cal-year__cell--out{background:transparent}.school-cal-year__cell--btn{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;padding:0;min-height:32px}.school-cal-year__cell--btn.school-cal-day--school,.school-cal-year__cell--btn.school-cal-day--holiday,.school-cal-year__cell--btn.school-cal-day--cancelled,.school-cal-year__cell--btn.school-cal-day--exam,.school-cal-year__cell--btn.school-cal-day--event,.school-cal-year__cell--btn.school-cal-day--closure,.school-cal-year__cell--btn.school-cal-day--meeting{border-width:1px;border-style:solid}.school-cal-year__cell--btn:hover,.school-cal-year__cell--btn:focus-visible{outline:none;box-shadow:0 1px 4px #0000001a}.school-cal-year__date{font-weight:600;line-height:1}.school-cal-year__dot{font-size:.5rem;line-height:1}.school-cal-view-toggle{flex-wrap:wrap}.school-year-progress{margin-bottom:var(--space-lg)}.school-year-progress__header{margin-bottom:var(--space-md)}.school-year-progress__title{font-size:var(--font-lg);margin:0 0 .25rem}.school-year-progress__year{margin:0;font-size:.95rem;color:var(--color-text-muted)}.school-year-progress__empty{margin:0;color:var(--color-text-muted)}.school-year-progress__upcoming-starts,.school-year-progress__upcoming-countdown{margin:0 0 var(--space-xs);color:var(--color-text)}.school-year-progress__upcoming-countdown{color:var(--color-text-muted);font-size:.9375rem}.school-year-progress--ended{border-color:color-mix(in srgb,var(--color-success-text) 35%,var(--color-border));background:color-mix(in srgb,var(--color-success-bg) 70%,var(--color-surface))}.school-year-progress__completed{display:flex;align-items:flex-start;gap:var(--space-md)}.school-year-progress__completed-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:999px;font-size:1.15rem;font-weight:700;color:#fff;background:var(--color-success-text)}.school-year-progress__completed-body{min-width:0}.school-year-progress__completed-label{margin:0 0 var(--space-xs);font-size:1.1rem;font-weight:700;color:var(--color-success-text)}.school-year-progress__completed-ended,.school-year-progress__completed-message{margin:0 0 var(--space-xs);color:var(--color-text)}.school-year-progress__completed-message{color:var(--color-text-muted)}[data-theme=dark] .school-year-progress--ended{border-color:color-mix(in srgb,var(--color-success-text) 45%,var(--color-border));background:color-mix(in srgb,var(--color-success-text) 16%,var(--color-surface))}[data-theme=dark] .school-year-progress__completed-label{color:color-mix(in srgb,var(--color-success-bg) 40%,#6ee7b7)}.school-year-progress__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-sm);margin-bottom:var(--space-md);text-align:center}.school-year-progress__stat{display:flex;flex-direction:column;gap:.15rem;min-height:44px;justify-content:center}.school-year-progress__number{font-size:1.75rem;font-weight:700;line-height:1.1;color:var(--color-primary, #166534)}.school-year-progress__label{font-size:.8rem;color:var(--color-text-muted);line-height:1.2}.school-year-progress__bar{height:12px;background:var(--color-border);border-radius:999px;overflow:hidden;margin-bottom:var(--space-sm)}.school-year-progress__bar-fill{height:100%;background:linear-gradient(90deg,#22c55e,#86efac);border-radius:999px;min-width:0;transition:width .3s ease}.school-year-progress__summary,.school-year-progress__remaining{margin:0 0 var(--space-xs);font-size:.95rem}.school-year-progress__remaining{color:var(--color-text-muted)}.school-year-progress__next{margin:var(--space-sm) 0 0;padding-top:var(--space-sm);border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:.15rem}@media(min-width:480px){.school-year-progress__next{flex-direction:row;justify-content:space-between;align-items:center}}.school-year-progress__next-label{font-weight:600;font-size:.9rem}.school-year-progress__next-value{font-size:.95rem}.school-year-progress__dates{display:grid;gap:.35rem;margin:.75rem 0 0;padding:0}.school-year-progress__date-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.35rem 1rem;margin:0}.school-year-progress__date-row dt{margin:0;color:var(--color-text-muted, #667);font-size:.9rem}.school-year-progress__date-row dd{margin:0;font-weight:600}.teacher-year-groups{display:flex;flex-direction:column;gap:1.5rem}.teacher-year-group__title{margin:0 0 .75rem;font-size:1.1rem;font-weight:700}.teacher-student-card__identity{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.teacher-student-card__avatar{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:50%;background:var(--color-surface-muted, #eef2f7);font-weight:700;font-size:.85rem;letter-spacing:.02em}@media(max-width:640px){.teacher-student-card__identity{align-items:flex-start}}[dir=rtl] .school-year-progress__next{text-align:right}.school-cal-day-edit__actions{flex-wrap:wrap;gap:var(--space-sm)}.school-cal-day-edit__delete{margin-inline-end:auto}.attendance-register__load-row{margin-top:var(--space-sm)}.form-label__required{color:var(--color-danger-text, #b91c1c)}.attendance-register__meta{margin-bottom:var(--space-md)}.attendance-register__date{max-width:220px}.attendance-register__warning{color:var(--color-warning-text, #92400e);margin-top:var(--space-sm)}.attendance-register__select{min-width:140px;min-height:44px;font-size:1rem}.attendance-register__table-wrap{display:block}.attendance-register__cards{display:none;flex-direction:column;gap:var(--space-md)}.attendance-register__table{width:100%;border-collapse:collapse}.attendance-register__table th,.attendance-register__table td{padding:.75rem .65rem;border-bottom:1px solid var(--color-border, #e5e7eb);vertical-align:middle}.attendance-register__table th{text-align:left;background:var(--color-surface-muted, #f9fafb);font-weight:700}.attendance-register__actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-lg);position:sticky;bottom:var(--space-md);padding:var(--space-sm) 0;background:var(--color-surface, #fff);z-index:2}.attendance-history__table-wrap{display:block}.attendance-history__cards{display:none;flex-direction:column;gap:var(--space-md)}.attendance-history__table{width:100%;border-collapse:collapse}.attendance-history__table th,.attendance-history__table td{padding:.75rem .65rem;border-bottom:1px solid var(--color-border, #e5e7eb);vertical-align:middle;text-align:center}.attendance-history__table th:first-child,.attendance-history__table td:first-child{text-align:left}.attendance-history__table th{background:var(--color-surface-muted, #f9fafb);font-weight:700}.attendance-summary dt{font-weight:600}.attendance-summary-block--compact .attendance-summary{margin-bottom:0}.attendance-history__title{font-size:var(--font-md);margin:var(--space-md) 0 var(--space-sm)}.attendance-history__list{display:flex;flex-direction:column;gap:var(--space-sm)}.attendance-history__item{display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border, #e5e7eb);border-radius:8px;background:var(--color-surface, #fff)}.attendance-history__date{font-weight:600}.attendance-history__status{font-size:.95rem}.question-bank-card .parent-card__actions{flex-direction:column}.question-bank-choices{display:flex;flex-direction:column;gap:var(--space-sm)}.question-bank-choice-row{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-sm);border:1px solid var(--color-border, #e5e7eb);border-radius:8px}.question-bank-detail__text{white-space:pre-wrap}.question-bank-form-page{max-width:48rem}.question-bank-form__section{margin-bottom:var(--space-lg)}.question-bank-form__heading{margin:0 0 var(--space-md);font-size:1.125rem}.question-bank-form__label{display:block;margin-bottom:var(--space-xs);font-weight:600}.question-bank-form__field{margin-bottom:var(--space-md);border:none;padding:0}.question-bank-form__field:last-child{margin-bottom:0}.question-bank-form__select,.question-bank-form__title-input,.question-bank-form__answer-input{width:100%;font-size:1rem;min-height:44px}.question-bank-form__answer-input{min-height:6rem;resize:vertical}.question-bank-form__error{margin-bottom:var(--space-md)}.question-bank-form__success{margin-bottom:var(--space-md);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);background:var(--color-success-bg, #ecfdf5);color:var(--color-success-text, #065f46);font-weight:500}.question-bank-form__type-cards{display:grid;grid-template-columns:1fr;gap:var(--space-sm)}@media(min-width:480px){.question-bank-form__type-cards{grid-template-columns:repeat(2,1fr)}}@media(min-width:768px){.question-bank-form__type-cards{grid-template-columns:repeat(3,1fr)}}.question-bank-form__type-card{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;min-height:48px;transition:border-color .15s ease,background .15s ease}.question-bank-form__type-card input{flex-shrink:0}.question-bank-form__type-card--selected{border-color:var(--color-primary);background:var(--color-surface-alt, #f8f9fa)}.question-bank-form__type-card-label{font-weight:500;line-height:1.3}.question-bank-form__pills{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.question-bank-form__pill{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:var(--space-sm) var(--space-md);border:2px solid var(--color-border);border-radius:999px;cursor:pointer;font-weight:500;transition:border-color .15s ease,background .15s ease}.question-bank-form__pill input{position:absolute;opacity:0;pointer-events:none}.question-bank-form__pill--selected{border-color:var(--color-primary);background:var(--color-surface-alt, #f8f9fa)}.question-bank-form__choices{display:flex;flex-direction:column;gap:var(--space-sm)}.question-bank-form__choice-card{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-md);border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-md);background:var(--color-surface-alt, #f8f9fa)}.question-bank-form__choice-label{font-weight:600;font-size:.9rem}.question-bank-form__correct-label{display:flex;align-items:center;gap:var(--space-xs);font-weight:500;min-height:44px}.question-bank-form__remove-choice{align-self:flex-start}.question-bank-form__visibility-cards{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-md)}.question-bank-form__visibility-card{display:grid;grid-template-columns:auto 1fr;column-gap:var(--space-sm);row-gap:var(--space-xs);align-items:start;padding:var(--space-md);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;min-height:48px;transition:border-color .15s ease,background .15s ease}.question-bank-form__visibility-card input{margin-top:.2rem}.question-bank-form__visibility-card-title{grid-column:2;font-weight:600}.question-bank-form__visibility-card-desc{grid-column:2;font-size:.9rem;color:var(--color-text-muted, #6b7280);line-height:1.4}.question-bank-form__visibility-card--selected{border-color:var(--color-primary);background:var(--color-surface-alt, #f8f9fa)}.question-bank-form__tag-suggestions{margin-top:var(--space-sm)}.question-bank-form__tag-chips{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-xs)}.question-bank-form__tag-chip{min-height:36px;padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface, #fff);font-size:.875rem;cursor:pointer}.question-bank-form__tag-chip:hover{border-color:var(--color-primary)}.question-bank-form__preview,.question-bank-form__preview-choices{margin-top:var(--space-sm)}.question-bank-form__preview-answer{margin:var(--space-sm) 0 0;white-space:pre-wrap}.question-bank-form__preview-tags{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-sm)}.question-bank-form__actions{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-lg)}@media(min-width:600px){.question-bank-form__actions{flex-direction:row;flex-wrap:wrap;align-items:center}.question-bank-form__actions .btn-primary{margin-inline-start:auto}}.assignment-form__questions{margin-bottom:var(--space-lg)}.assignment-form__question-actions{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-md)}@media(min-width:600px){.assignment-form__question-actions{flex-direction:row;flex-wrap:wrap}}.assignment-form__question-number{font-weight:600;margin:0 0 var(--space-xs);color:var(--color-text-muted, #6b7280)}.assignment-add-question-modal,.assignment-add-set-modal,.assignment-create-question-modal,.assignment-question-preview-modal{max-width:min(52rem,calc(100% - 1.5rem));width:min(52rem,calc(100% - 1.5rem));max-height:92vh;display:flex;flex-direction:column;overflow:hidden}.assignment-add-question-modal .modern-modal__body,.assignment-question-preview-modal .modern-modal__body{overflow-y:auto;flex:1 1 auto;min-height:0;gap:var(--space-md)}.assignment-add-question-modal__filters{display:grid;grid-template-columns:1fr;gap:var(--space-md);margin:0;padding:var(--space-md);background:var(--color-surface-alt, #f8f9fa);border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-md)}.assignment-add-question-modal__filter-field{min-width:0;flex:none}.assignment-add-question-modal__filter-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:flex-end}.assignment-add-question-modal__filter-actions .btn{width:100%}.assignment-add-question-modal__list{display:flex;flex-direction:column;gap:var(--space-md);max-height:none;overflow:visible;margin:0}.assignment-add-question-modal__card{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-md);background:var(--color-surface, #fff)}.assignment-add-question-modal__select-row{display:flex;align-items:flex-start;gap:var(--space-sm);cursor:pointer;margin:0}.assignment-add-question-modal__select-row input{margin-top:.3rem;flex-shrink:0}.assignment-add-question-modal__card-title{font-weight:600;line-height:1.4;word-break:break-word}.assignment-add-question-modal__card-meta{display:flex;flex-wrap:wrap;gap:var(--space-xs);align-items:center}.assignment-add-question-modal__materials-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.8125rem;font-weight:600;color:var(--color-primary, #2d5a8e);background:#2d5a8e14;border-radius:var(--radius-sm);padding:.2rem .5rem}.assignment-add-question-modal__card-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-xs)}.assignment-add-question-modal__card-actions .btn{flex:1 1 auto;min-width:8rem}.assignment-questions-display__list{display:flex;flex-direction:column;gap:var(--space-md)}.assignment-question-display-card{padding:var(--space-md);border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-md);background:var(--color-surface-alt, #f8f9fa)}.assignment-question-display-card__title{margin:0 0 var(--space-xs);font-size:1.05rem}.assignment-question-display-card__choices{margin:var(--space-sm) 0 0;padding-inline-start:1.25rem}.assignment-question-display-card__answer{margin:var(--space-sm) 0 0;white-space:pre-wrap}.assignment-question-preview-modal__content{display:flex;flex-direction:column;gap:var(--space-md)}.assignment-question-preview-modal__meta{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.assignment-question-preview-modal__section{display:flex;flex-direction:column;gap:var(--space-sm)}.assignment-question-preview-modal__section-title{margin:0;font-size:.95rem;font-weight:700}.assignment-question-preview-modal__choices{margin:0}.assignment-question-preview-modal__answer{margin:0;white-space:pre-wrap}.question-material-viewer__title{margin:0 0 var(--space-sm);font-size:.95rem;font-weight:700}.question-material-viewer__empty,.question-material-viewer__grid{margin:0}.question-material-viewer .assignment-attachment-card__thumb{width:min(100%,420px);height:auto;max-height:320px;object-fit:contain}.assignment-question-preview-modal.modern-modal,.transfer-modal.assignment-question-preview-modal{position:relative;z-index:2}.modern-modal-backdrop:has(.assignment-question-preview-modal){z-index:1100}@media(min-width:640px){.assignment-add-question-modal__filters{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.assignment-add-question-modal__filter-field:first-child,.assignment-add-question-modal__filter-actions{grid-column:1 / -1}.assignment-add-question-modal__filter-actions .btn{width:auto}}@media(min-width:900px){.assignment-add-question-modal__filters{grid-template-columns:repeat(4,minmax(0,1fr))}.assignment-add-question-modal__filter-field:first-child{grid-column:1 / -1}.assignment-add-question-modal__filter-actions{grid-column:4 / 5;justify-content:flex-end}}@media(max-width:639px){.assignment-add-question-modal,.assignment-question-preview-modal{width:calc(100% - 1rem);max-width:calc(100% - 1rem)}.assignment-add-question-modal__card-actions .btn{width:100%}}@media(max-width:768px){.attendance-register__table-wrap,.attendance-history__table-wrap{display:none}.attendance-register__cards,.attendance-history__cards{display:flex}.attendance-register__select{width:100%}}.event-card-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-xs);margin-top:var(--space-sm);font-size:var(--font-sm)}.event-card-stats dt{color:var(--color-text-muted)}.event-card-actions{display:flex;gap:var(--space-xs);padding:0 var(--space-md) var(--space-md)}.event-collapsible summary{cursor:pointer;list-style:none}.event-collapsible summary::-webkit-details-marker{display:none}.event-sub-card{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-sm)}.inline-form{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-sm);align-items:center}.inline-form input,.inline-form select{min-width:8rem;flex:1}.attachment-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.info-banner{background:var(--color-surface-alt, #f1f5f9);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-md)}.parent-relationship-reminder{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-sm);border:1px solid var(--color-border);border-inline-start:4px solid var(--color-primary, #1e3a5f)}.parent-relationship-reminder__text{margin:0;flex:1 1 12rem;font-weight:600}[data-theme=dark] .parent-relationship-reminder{background:color-mix(in srgb,var(--color-primary, #93c5fd) 12%,var(--color-surface, #0f172a))}@media(max-width:480px){.parent-relationship-reminder{flex-direction:column;align-items:stretch}.parent-relationship-reminder .btn{width:100%;text-align:center}}.parent-payment-pending-card__title,.parent-payment-success-banner__title{font-weight:600;margin:0 0 var(--space-xs)}.parent-payment-status{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin:0 0 var(--space-md)}.parent-payment-status__label{font-weight:600}.parent-payment-success-banner{background:#ecfdf5;border-left:4px solid #10b981}.form-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-lg)}.form-section{display:flex;flex-direction:column;gap:var(--space-md)}.form-section+.form-section{padding-top:var(--space-lg);border-top:1px solid var(--color-border)}.form-section__header{margin-bottom:var(--space-xs)}.form-section__title{font-size:var(--font-lg);font-weight:700;color:var(--color-primary);margin:0}.form-section--choose-class .form-section__header{margin-top:var(--space-sm);margin-bottom:var(--space-md);padding-block:var(--space-xs)}.form-section--choose-class .form-section__title{display:flex;align-items:center;gap:var(--space-sm);font-size:1.3rem;font-weight:700;line-height:1.35;color:var(--color-primary)}.form-section--choose-class .form-section__title:before{content:"";flex-shrink:0;width:1.15rem;height:1.15rem;background-color:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 5.5A1.5 1.5 0 0 1 5.5 4H11v14H5.5A1.5 1.5 0 0 1 4 16.5v-11zm9-.5h5.5A1.5 1.5 0 0 1 20 6.5v11a1.5 1.5 0 0 1-1.5 1.5H13V5z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 5.5A1.5 1.5 0 0 1 5.5 4H11v14H5.5A1.5 1.5 0 0 1 4 16.5v-11zm9-.5h5.5A1.5 1.5 0 0 1 20 6.5v11a1.5 1.5 0 0 1-1.5 1.5H13V5z'/%3E%3C/svg%3E") center / contain no-repeat}.form-section__desc{font-size:.875rem;color:var(--color-text-muted);margin:var(--space-xs) 0 0}.form-section__body{display:flex;flex-direction:column;gap:var(--space-md)}.form-grid{display:grid;gap:var(--space-md) var(--space-lg);grid-template-columns:1fr}@media(min-width:640px){.form-grid--cols-2{grid-template-columns:repeat(2,1fr)}.form-grid--cols-3{grid-template-columns:repeat(3,1fr)}}.form-field{display:flex;flex-direction:column;gap:var(--space-xs);min-width:0}.form-field--full{grid-column:1 / -1}.form-label{display:block;font-size:.875rem;font-weight:600;color:var(--color-text);line-height:1.4}.form-label__required{color:var(--color-error-text)}.form-hint{font-size:.8125rem;color:var(--color-text-muted);margin:0}.form-field-error{font-size:.8125rem;color:var(--color-error-text);margin:0}.form-field input:not([type=checkbox]):not([type=radio]),.form-field select,.form-field textarea,.modern-input,.modern-select,.modern-textarea{width:100%;min-height:var(--touch-min);padding:.625rem .875rem;font-size:var(--font-base);font-family:inherit;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color .15s ease,box-shadow .15s ease}.form-field textarea,.modern-textarea{min-height:5rem;resize:vertical;line-height:1.5}.form-field input:focus,.form-field select:focus,.form-field textarea:focus,.modern-input:focus,.modern-select:focus,.modern-textarea:focus{outline:none;border-color:var(--color-primary-light);box-shadow:0 0 0 3px #2d5a8e26}.form-field input:disabled,.form-field select:disabled,.form-field textarea:disabled{background:var(--color-accent);opacity:.8;cursor:not-allowed}.form-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:flex-end;padding-top:var(--space-md);border-top:1px solid var(--color-border);margin-top:var(--space-sm)}[dir=rtl] .form-actions{justify-content:flex-start}@media(max-width:639px){.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%;justify-content:center}}.form-error{background:var(--color-error-bg);color:var(--color-error-text);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-size:.875rem;margin-bottom:var(--space-md)}.page-notification{scroll-margin-top:calc(var(--space-xl) + 4rem);border:1px solid transparent}.page-notification:focus{outline:3px solid CanvasText;outline-offset:3px}.page-notification--success{border-color:#86efac}.page-notification--error{border-color:#fca5a5}.page-notification--warning{border-color:#fdba74}.page-notification--info{border-color:#93c5fd}@media(forced-colors:active){.page-notification{border-color:CanvasText}}.form-page-intro{color:var(--color-text-muted);font-size:.9375rem;margin:calc(-1 * var(--space-sm)) 0 var(--space-lg);max-width:42rem}.parent-card,.dashboard-card{border:1px solid var(--color-border);box-shadow:var(--shadow-card)}.parent-card--selectable{border-width:2px}.parent-card--link:hover,.dashboard-card--link:hover{border-color:var(--color-primary-light);box-shadow:var(--shadow-md)}.transfer-modal{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-border)}.transfer-modal .form-grid{margin-top:var(--space-md)}.permission-matrix{display:flex;flex-direction:column;gap:var(--space-lg)}.permission-group{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);background:var(--color-surface)}.permission-group__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-sm)}.permission-group__title{font-weight:700;color:var(--color-primary);margin:0}.permission-group__actions{display:flex;gap:var(--space-xs)}.permission-group__list{display:grid;grid-template-columns:1fr;gap:var(--space-xs)}@media(min-width:640px){.permission-group__list{grid-template-columns:repeat(2,1fr)}}.permission-check{display:flex;align-items:flex-start;gap:var(--space-sm);min-height:var(--touch-min);padding:var(--space-xs) 0;font-size:.875rem;cursor:pointer}.permission-check input{margin-top:.25rem;width:1.125rem;height:1.125rem;accent-color:var(--color-primary)}.ui-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:var(--radius-full, 9999px);font-size:.75rem;font-weight:600;line-height:1.4;white-space:nowrap}.ui-badge--neutral{background:var(--color-surface-muted, #f1f5f9);color:var(--color-text-muted, #64748b)}.ui-badge--success{background:#dcfce7;color:#166534}.ui-badge--warning{background:#fef3c7;color:#92400e}.ui-badge--danger{background:#fee2e2;color:#991b1b}.ui-badge--info{background:#dbeafe;color:#1e40af}.ui-badge--draft{background:#e2e8f0;color:#475569}.btn--danger{background:var(--color-danger, #dc2626);border-color:var(--color-danger, #dc2626);color:#fff}.btn--danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.btn--ghost{background:transparent;border-color:transparent;color:var(--color-primary)}.btn--ghost:hover:not(:disabled){background:var(--color-surface-muted, #f1f5f9)}.filter-bar{display:flex;flex-wrap:wrap;gap:var(--space-md);align-items:flex-end;margin-bottom:var(--space-md)}.filter-bar--card{padding:var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.filter-field{display:flex;flex-direction:column;gap:.35rem;flex:1 1 12rem;min-width:10rem;margin:0}.filter-field__label{font-size:.8125rem;font-weight:600;color:var(--color-text-muted);line-height:1.2}.filter-field__control{width:100%}.filter-bar .modern-input,.filter-bar .modern-select,.filter-bar input:not([type=checkbox]):not([type=radio]),.filter-bar select,.filter-field__control .modern-input,.filter-field__control .modern-select,.filter-field__control input:not([type=checkbox]):not([type=radio]),.filter-field__control select{width:100%;min-height:var(--touch-min);padding:.625rem .875rem;font-size:var(--font-base);font-family:inherit;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-sizing:border-box}.filter-bar .modern-input:focus,.filter-bar .modern-select:focus,.filter-bar input:focus,.filter-bar select:focus{outline:none;border-color:var(--color-primary-light);box-shadow:0 0 0 3px #2d5a8e26}@media(max-width:639px){.filter-bar,.filter-bar--card{flex-direction:column;align-items:stretch}.filter-field{flex:1 1 auto;min-width:0;width:100%}}.data-table-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}.data-table{width:100%;border-collapse:collapse;font-size:.9375rem}.data-table thead th{position:sticky;top:0;z-index:1;background:var(--color-accent, #f8fafc);text-align:start;font-weight:700;font-size:.8125rem;letter-spacing:.02em;text-transform:uppercase;color:var(--color-text-muted);padding:.75rem 1rem;border-bottom:1px solid var(--color-border);white-space:nowrap}.data-table tbody td{padding:.75rem 1rem;border-bottom:1px solid var(--color-border);vertical-align:middle}.data-table tbody tr:nth-child(2n){background:#0f172a05}.data-table tbody tr:hover{background:#2d5a8e0f}.status-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.02em;background:var(--color-accent);color:var(--color-text)}.status-pill--success{background:#dcfce7;color:#166534}.status-pill--warning{background:#fef3c7;color:#92400e}.status-pill--danger{background:#fee2e2;color:#991b1b}.status-pill--info{background:#dbeafe;color:#1e40af}.status-pill--neutral{background:#e2e8f0;color:#334155}.btn-group{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center}.tab-bar.btn-group{margin-bottom:var(--space-md)}.mono-block{display:grid;gap:.35rem}.mono-block__label{font-size:.8125rem;font-weight:600;color:var(--color-text-muted)}.mono-block__row{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:flex-start}.mono-block__value{flex:1 1 14rem;min-width:0;margin:0;padding:.75rem .875rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.8125rem;line-height:1.45;white-space:pre-wrap;word-break:break-all;background:var(--color-accent, #f8fafc);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.card-grid{display:grid;grid-template-columns:1fr;gap:var(--space-md)}@media(min-width:640px){.card-grid--2{grid-template-columns:repeat(2,1fr)}.card-grid--3{grid-template-columns:repeat(3,1fr)}}.data-card{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.data-card__title{margin:0;font-weight:700;color:var(--color-primary);font-size:1rem}.data-card__subtitle{margin:0;color:var(--color-text-muted);font-size:.875rem}.data-card__footer{margin-top:auto;padding-top:var(--space-sm);display:flex;flex-wrap:wrap;gap:var(--space-xs)}.legacy-form-bridge .form-group{margin-bottom:var(--space-md)}.legacy-form-bridge .form-group label{display:block;font-weight:600;font-size:.875rem;margin-bottom:var(--space-xs);color:var(--color-text)}.legacy-form-bridge .form-group input,.legacy-form-bridge .form-group select,.legacy-form-bridge .form-group textarea{width:100%;min-height:var(--touch-min, 2.75rem);padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:1rem;background:var(--color-surface)}.legacy-form-bridge .master-data-form__grid{display:grid;grid-template-columns:1fr;gap:var(--space-md)}@media(min-width:640px){.legacy-form-bridge .master-data-form__grid{grid-template-columns:repeat(2,1fr)}}.modern-modal__message{padding:var(--space-md);background:#dcfce7;color:#166534;border-radius:var(--radius-md);margin-bottom:var(--space-md)}.modern-modal__body{overflow-y:auto}@media(max-width:767px){.table-stack thead{display:none}.table-stack tr{display:block;margin-bottom:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-sm);background:var(--color-surface)}.table-stack td{display:flex;justify-content:space-between;gap:var(--space-sm);padding:var(--space-xs) 0;border:none}.table-stack td:before{content:attr(data-label);font-weight:600;color:var(--color-text-muted);flex-shrink:0}}[dir=rtl] .form-actions,[dir=rtl] .master-data-form__actions,[dir=rtl] .confirm-dialog__actions{flex-direction:row-reverse}[dir=rtl] .side-nav__link svg{transform:scaleX(-1)}[dir=rtl] .modern-modal{text-align:right}[dir=rtl] .filter-bar{direction:rtl}.parent-card,.data-card,.dashboard-card,.finance-card,.event-card,.installment-card,.assignment-card,.question-bank-card{border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.parent-card,.data-card,.dashboard-card--link,.installment-card{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md);background:var(--color-surface);border:1px solid var(--color-border)}.parent-card__actions,.data-card__footer,.installment-card__actions{margin-top:auto;padding-top:var(--space-sm);display:flex;flex-wrap:wrap;gap:var(--space-xs)}.parent-card__title,.data-card__title,.installment-card__title,.dashboard-card__title{margin:0;font-weight:700;color:var(--color-primary)}.finance-detail-card{margin-bottom:var(--space-md)}.finance-timeline{list-style:none;padding:0;margin:0}.finance-timeline__item{padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border)}.finance-timeline__item:last-child{border-bottom:none}.event-inline-form-card{margin-top:var(--space-md);box-shadow:none;border-style:dashed}.event-sub-card{padding:var(--space-md);margin-bottom:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.registration-progress{margin-bottom:var(--space-lg)}.registration-progress__steps{margin-top:var(--space-md)}.assignment-image-modal__preview{display:flex;justify-content:center;align-items:center;min-height:12rem;max-height:min(70vh,36rem);overflow:auto}.assignment-image-modal__img{max-width:100%;max-height:min(70vh,36rem);object-fit:contain;border-radius:var(--radius-sm)}.attachment-preview{display:block;max-width:100%;max-height:16rem;margin-top:var(--space-sm);border-radius:var(--radius-sm);object-fit:contain}.wizard-steps{margin-bottom:var(--space-md);color:var(--color-text-muted);font-size:.875rem}.parent-card--selectable{cursor:pointer;text-align:start;width:100%}.parent-card--selected,.parent-card--selected:hover{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 18%,var(--color-surface));box-shadow:var(--shadow-md)}.notification-status-row{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.email-status-panel{margin:0 0 var(--space-lg);padding:var(--space-md) var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.email-status-panel__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-md)}.email-status-panel__title{margin:0;font-size:1.125rem;font-weight:650}.email-status-panel__status-row{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.email-status-panel__icon{font-size:.875rem;line-height:1;color:var(--color-text-muted, #64748b)}.email-status-panel__grid,.email-status-panel__events{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:var(--space-sm) var(--space-lg);margin:0 0 var(--space-md)}.email-status-panel__grid>div,.email-status-panel__events>div{margin:0}.email-status-panel__grid dt,.email-status-panel__events dt{margin:0 0 .15rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted, #64748b)}.email-status-panel__grid dd,.email-status-panel__events dd{margin:0;font-size:.9375rem;color:var(--color-text, #1a1a1a);word-break:break-word}.email-status-panel__queue{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--color-border)}.email-status-panel__queue-title{margin:0 0 var(--space-sm);font-size:.9375rem}.email-status-panel__queue-list{display:flex;flex-wrap:wrap;gap:var(--space-md);list-style:none;margin:0;padding:0}.email-status-panel__queue-list li{display:flex;flex-direction:column;min-width:5rem;gap:.15rem}.email-status-panel__queue-list span{font-size:.75rem;color:var(--color-text-muted, #64748b);text-transform:uppercase;letter-spacing:.04em}.email-status-panel__freshness{margin:var(--space-md) 0 0}@media(max-width:640px){.email-status-panel{padding:var(--space-md)}.email-status-panel__queue-list{gap:var(--space-sm)}}.notification-credential-status{margin:var(--space-md) 0}.notification-redirect-uri-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);margin-top:var(--space-xs)}.notification-redirect-uri{flex:1 1 16rem;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);background:var(--color-surface-muted, var(--color-surface));border:1px solid var(--color-border);font-size:.8125rem;word-break:break-all}.notification-health-summary{margin-top:var(--space-lg);padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.notification-health-summary__title{margin:0 0 var(--space-md);font-size:1rem}.notification-health-checks{list-style:none;padding:0;margin:0 0 var(--space-md)}.notification-health-check{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);padding:var(--space-xs) 0;border-bottom:1px solid var(--color-border)}.notification-health-check:last-child{border-bottom:none}.notification-health-check__name{flex:1 1 12rem;font-size:.875rem}.notification-health-check__message{flex:1 1 100%;font-size:.8125rem;color:var(--color-text-muted)}.notification-health-details{display:grid;gap:var(--space-sm);margin:0}.notification-health-details>div{display:grid;grid-template-columns:minmax(6rem,8rem) 1fr;gap:var(--space-sm);font-size:.875rem}.notification-health-details dt{margin:0;color:var(--color-text-muted)}.notification-health-details dd{margin:0;word-break:break-word}@media(max-width:480px){.notification-health-details>div{grid-template-columns:1fr;gap:var(--space-xs)}}.announcement-delivery-summary{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border)}.announcement-delivery-summary__title{margin:0 0 var(--space-sm);font-size:1rem}.announcement-delivery-summary__skipped{margin:var(--space-sm) 0 0;padding-inline-start:var(--space-lg);font-size:.875rem;color:var(--color-text-muted)}.gateway-wizard__steps{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-lg)}.gateway-wizard__step{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);cursor:pointer;font-size:.9rem}.gateway-wizard__step--active{border-color:var(--color-primary);background:var(--color-accent)}.gateway-wizard__step--done .gateway-wizard__step-num{background:var(--color-success-text);color:#fff}.gateway-wizard__step-num{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--color-primary);color:#fff;font-weight:600;font-size:.85rem}.gateway-provider-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--space-md)}.gateway-provider-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-sm);padding:var(--space-lg);border:2px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);text-align:start;cursor:pointer;min-height:100px}.gateway-provider-card--selected{border-color:var(--color-primary);background:var(--color-accent)}.gateway-health-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-md);margin-top:var(--space-md)}.gateway-health-card{padding:var(--space-lg);border-radius:var(--radius-lg);background:var(--color-accent);border:1px solid var(--color-border)}.gateway-health-card__icon{font-size:1.25rem}.gateway-health-card__detail{word-break:break-all}.gateway-diagnostics-list{list-style:none;padding:0;margin:var(--space-md) 0 0}.gateway-diagnostics-list li{display:flex;gap:var(--space-md);padding:var(--space-md);border-bottom:1px solid var(--color-border)}.gateway-settings-link-card{margin-bottom:var(--space-lg)}.financial-activities-page .summary-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--space-md);margin-bottom:var(--space-lg)}.financial-activities-page .summary-card{padding:var(--space-lg);border-radius:var(--radius-lg);background:#fff;border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.financial-activities-page .summary-card__label{display:block;font-size:.875rem;color:var(--color-text-muted);margin-bottom:var(--space-xs)}.financial-activities-page .summary-card__value{font-size:1.75rem;color:var(--color-primary)}.payment-profiles-page .form-section+.form-section{margin-top:var(--space-md);padding-top:var(--space-xl)}.payment-profiles-page .form-section__body{gap:var(--space-lg)}.payment-profiles-page .form-grid{gap:var(--space-lg) var(--space-xl)}.financial-activities-page .filter-bar{margin-bottom:var(--space-lg)}.financial-activities-page .activity-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-lg)}.financial-activities-page .activity-card{padding:var(--space-lg);border-radius:var(--radius-lg);background:#fff;border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.financial-activities-page .activity-card--archived{opacity:.75;background:var(--color-surface-muted)}.financial-activities-page .activity-card__header{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-sm)}.financial-activities-page .activity-card__header h3{margin:0;font-size:1.125rem}.financial-activities-page .activity-card__badges{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.financial-activities-page .activity-card__meta{margin:0 0 var(--space-sm);color:var(--color-text-muted);font-size:.875rem}.financial-activities-page .activity-card__desc{margin:0 0 var(--space-sm);font-size:.9375rem}.financial-activities-page .activity-card__actions{display:flex;gap:var(--space-sm);margin-top:var(--space-md)}.financial-activities-page .form-switch-row{display:flex;flex-wrap:wrap;gap:var(--space-lg);margin:var(--space-md) 0}.radio-row{display:flex;flex-wrap:wrap;gap:var(--space-lg);margin:var(--space-sm) 0 var(--space-md)}.radio-option{display:inline-flex;align-items:center;gap:var(--space-xs);cursor:pointer}.financial-activities-page .danger-zone{margin-top:var(--space-xl);padding:var(--space-lg);border:1px solid #f5c2c0;border-radius:var(--radius-lg);background:#fff8f7}.financial-activities-page .behavior-badges{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-xs)}.financial-activities-page .bulk-actions{display:flex;gap:var(--space-sm);margin-bottom:var(--space-md)}.activity-enrollments-page .summary-cards-grid,.activity-enrollments-page .filter-bar,.activity-enrollments-page .bulk-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.activity-enrollments-page .summary-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-md);margin-bottom:var(--space-md)}.activity-enrollments-page .summary-card{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-md)}.activity-enrollments-page .enrollment-cards-grid{display:grid;gap:var(--space-md)}.activity-enrollments-page .enrollment-card{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-md)}.activity-enrollments-page .enrollment-card--archived{opacity:.7}.activity-enrollments-page .enrollment-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-sm)}.activity-enrollments-page .enrollment-card__meta{display:flex;flex-wrap:wrap;gap:var(--space-sm);color:var(--color-text-muted);font-size:.9rem;margin:var(--space-sm) 0}.activity-enrollments-page .enrollment-card__capacity{font-size:.9rem;color:var(--color-primary);margin:0 0 var(--space-sm)}.activity-enrollments-page .enrollment-card__actions{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.financial-activities-page .activity-card__capacity{font-size:.9rem;color:var(--color-primary);margin:var(--space-xs) 0}.academic-year-status-panel{display:grid;gap:var(--space-sm);margin-bottom:var(--space-md)}.academic-year-status-panel__row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm)}.academic-year-status-panel__label{min-width:11rem;font-weight:600;color:var(--color-text-muted)}.academic-year-status-panel__reason{margin:0}.zeffy-gateway-page__header-badges{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.zeffy-gateway-page__links{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-md)}.zeffy-gateway-page__health-dl{margin:var(--space-md) 0}.zeffy-gateway-page__checklist{margin:0;padding-inline-start:1.25rem;display:grid;gap:var(--space-sm)}.form-warning{margin:var(--space-sm) 0 0;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}.page-content--wide{max-width:1320px}.form-success{margin-bottom:var(--space-md);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);background:var(--color-success-bg, #ecfdf5);color:var(--color-success-text, #047857)}.status-badge--disabled{background:#fee2e2;color:#991b1b}.btn--warning-outline{background:transparent;border:1px solid #f87171;color:#b91c1c}.btn--warning-outline:hover:not(:disabled){background:#fef2f2}.btn--danger-outline{background:transparent;border:1px solid #f87171;color:#b91c1c}.btn--danger-outline:hover:not(:disabled){background:#fef2f2}.finance-categories-page .finance-category-toolbar{align-items:center}.finance-category-toolbar__count{margin:0;margin-inline-start:auto;font-weight:600;color:var(--color-text-muted);white-space:nowrap}.finance-category-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.finance-category-list{display:none}.finance-category-list__head,.finance-category-row{display:grid;grid-template-columns:minmax(10rem,1.4fr) 7rem minmax(8rem,1.2fr) 6.5rem 6.5rem minmax(11rem,1.1fr);gap:var(--space-sm);align-items:center;padding:.9rem 1.1rem}.finance-category-list--readonly .finance-category-list__head,.finance-category-list--readonly .finance-category-row{grid-template-columns:minmax(10rem,1.5fr) 7rem minmax(8rem,1.3fr) 6.5rem 7rem}.finance-category-list__head{background:var(--color-accent, #f8fafc);color:var(--color-primary, #1e3a5f);font-weight:700;font-size:.85rem;border-bottom:1px solid var(--color-border)}.finance-category-row{border-bottom:1px solid var(--color-border);transition:background-color .15s ease,border-color .15s ease}.finance-category-row:last-child{border-bottom:none}.finance-category-row:hover{background:#f8fafc;border-bottom-color:#cbd5e1}.finance-category-row--inactive{background:#fff7f7;border-inline-start:3px solid #fca5a5}.finance-category-row--inactive:hover{background:#fef2f2}.finance-category-row__name strong{display:block;color:var(--color-primary, #1e3a5f);margin-bottom:.15rem}.finance-category-row__code{display:block;font-size:.8rem;color:var(--color-text-muted)}.finance-category-row__system{margin-inline-start:var(--space-xs)}.finance-category-row__description{color:var(--color-text-muted);font-size:.92rem}.finance-category-row__usage{font-size:.9rem;color:var(--color-text-muted)}.finance-category-actions{display:flex;flex-wrap:wrap;gap:var(--space-xs);justify-content:flex-end}.finance-category-blockers{grid-column:1 / -1;margin-top:var(--space-xs);padding-top:var(--space-xs);border-top:1px dashed var(--color-border);font-size:.85rem;color:var(--color-text-muted)}.finance-category-blockers__title{margin:0 0 .25rem;font-weight:600}.finance-category-blockers ul{margin:0;padding-inline-start:1.1rem}.finance-category-cards{display:grid;gap:var(--space-md);padding:var(--space-md)}.finance-category-card{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);background:var(--color-surface)}.finance-category-card--inactive{background:#fff7f7;border-color:#fecaca}.finance-category-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-sm);margin-bottom:var(--space-sm)}.finance-category-card__title{margin:0;font-size:var(--font-lg);color:var(--color-primary, #1e3a5f)}.finance-category-card__badges{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-bottom:var(--space-sm)}.finance-category-card__description{margin:0 0 var(--space-sm);color:var(--color-text-muted)}.finance-category-card__meta{display:flex;justify-content:space-between;gap:var(--space-sm);margin:0 0 var(--space-md);font-size:.9rem;color:var(--color-text-muted)}.finance-category-card__footer .finance-category-actions{justify-content:flex-start}@media(min-width:900px){.finance-category-list{display:block}.finance-category-cards{display:none}}@media(max-width:1100px)and (min-width:900px){.finance-category-list__head,.finance-category-row{grid-template-columns:minmax(8rem,1.3fr) 6.5rem minmax(6rem,1fr) 6rem 5.5rem minmax(10rem,1fr);font-size:.9rem}}.event-overview-block{margin-bottom:var(--space-lg)}.event-overview-block:last-child{margin-bottom:0}.event-overview-block__title{margin:0 0 var(--space-sm);font-size:1rem;font-weight:650}.event-overview-rows{display:flex;flex-direction:column;gap:.65rem;margin:0}.event-overview-rows--compact{gap:.4rem;margin:var(--space-sm) 0}.event-overview-row{display:grid;grid-template-columns:minmax(10rem,1fr) minmax(8rem,1fr);gap:var(--space-sm);align-items:baseline}.event-overview-row--stacked{grid-template-columns:1fr}.event-overview-row__label{margin:0;color:var(--color-text-muted);font-size:.92rem}.event-overview-row__value{margin:0;font-weight:600;text-align:end;word-break:break-word}.event-overview-row--stacked .event-overview-row__value{text-align:start;font-weight:400}.event-budget-attention{display:flex;gap:var(--space-md);align-items:flex-start;margin-bottom:var(--space-md);padding:var(--space-md);border:1px solid #d97706;border-radius:10px;background:#fffbeb;color:#78350f}.event-budget-attention__icon{flex:0 0 2rem;width:2rem;height:2rem;border-radius:999px;display:grid;place-items:center;background:#f59e0b;color:#fff;font-weight:700}.event-budget-attention__title{margin:0 0 .35rem;font-size:1.05rem}.event-budget-attention__text{margin:0 0 var(--space-sm)}.event-finance-warning{margin:0 0 var(--space-md);padding:var(--space-sm) var(--space-md);border-radius:8px;background:#fff7ed;border:1px solid #fdba74;color:#9a3412}.event-finance-pending-note{margin:0 0 var(--space-md);color:var(--color-text-muted)}.event-finance-progress{margin:var(--space-md) 0}.event-finance-progress__row{display:flex;justify-content:space-between;margin-bottom:.35rem;font-size:.9rem}.event-finance-progress__track{height:.55rem;border-radius:999px;background:#e5e7eb;overflow:hidden;margin-bottom:var(--space-sm)}.event-finance-progress__fill{height:100%;background:#2563eb}.event-finance-progress__fill--pending{background:#d97706}.event-budget-list{list-style:none;margin:0 0 var(--space-md);padding:0;display:flex;flex-direction:column;gap:var(--space-sm)}.event-budget-list__item{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border, #e5e7eb);border-radius:8px}.event-budget-list__item--attention{border-color:#d97706;background:#fffbeb}.event-budget-list__main{display:flex;justify-content:space-between;gap:var(--space-sm);align-items:center;margin-bottom:.35rem}.event-tx-table-wrap{overflow-x:auto}.event-tx-cards{display:none;list-style:none;margin:0;padding:0;gap:var(--space-sm)}.event-tx-card{border:1px solid var(--color-border, #e5e7eb);border-radius:8px;padding:var(--space-sm) var(--space-md)}.event-tx-card__top{display:flex;justify-content:space-between;gap:var(--space-sm);align-items:center;margin-bottom:.35rem}.form-static-value{margin:0;font-weight:600}@media(max-width:768px){.event-overview-row{grid-template-columns:1fr}.event-overview-row__value{text-align:start}.event-tx-table-wrap{display:none}.event-tx-cards{display:flex;flex-direction:column}.event-budget-attention{flex-direction:column}}[dir=rtl] .event-overview-row__value{text-align:start}.transaction-attachments{margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--color-border, #e5e7eb)}.transaction-form-fieldset{min-width:0;margin:0;padding:0;border:0}.transaction-attachments__title{margin:0 0 var(--space-xs);font-size:1rem}.transaction-attachment-dropzone{display:grid;place-items:center;gap:var(--space-xs);min-height:9rem;margin:var(--space-md) 0;padding:var(--space-lg);border:2px dashed var(--color-border, #cbd5e1);border-radius:12px;background:var(--color-surface-muted, #f8fafc);text-align:center;transition:border-color .12s ease,background .12s ease}.transaction-attachment-dropzone--active{border-color:var(--color-primary, #2563eb);background:#eff6ff}.transaction-attachment-dropzone p{margin:0}.transaction-attachment-list{display:grid;gap:var(--space-sm);margin:var(--space-md) 0 0;padding:0;list-style:none}.transaction-attachment-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-sm);align-items:center;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border, #e5e7eb);border-radius:10px;background:var(--color-surface, #fff)}.transaction-attachment-item__icon{font-size:1.4rem}.transaction-attachment-item__body{display:flex;min-width:0;flex-direction:column;gap:.2rem}.transaction-attachment-item__body strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transaction-attachment-item__body span{color:var(--color-text-muted);font-size:.85rem}.transaction-attachment-item__body progress{width:min(16rem,100%)}.transaction-attachment-item__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-xs)}@media(max-width:640px){.transaction-attachment-item{grid-template-columns:auto minmax(0,1fr)}.transaction-attachment-item__actions{grid-column:1 / -1;justify-content:flex-start}}.btn-link{background:none;border:none;color:var(--color-primary-light);padding:.25rem;font:inherit;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.btn-link:hover,.btn-link:focus-visible{color:var(--color-primary)}[data-theme=dark] .btn-link{color:#7fb2f0}.tutorials-admin__empty,.tutorial-edit__empty{padding:2rem 1rem;text-align:center;color:var(--color-text-muted)}.tutorials-admin__list{padding:.5rem;overflow-x:auto}.tutorial-edit{display:flex;flex-direction:column;gap:1.25rem}.tutorial-edit__section{padding:1.25rem}.tutorial-edit__section h2{margin:0 0 1rem;font-size:1.1rem}.tutorial-edit__checks{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;margin:.75rem 0}.tutorial-edit__roles{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem;margin-top:.5rem}.tutorial-edit__roles legend{font-weight:600;padding:0 .5rem}.tutorial-edit__roles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.5rem 1rem;margin-top:.5rem}.tutorial-edit__tabs{display:flex;gap:.5rem;border-bottom:1px solid var(--color-border);margin-bottom:1rem}.tutorial-edit__tab{background:none;border:none;border-bottom:2px solid transparent;padding:.5rem .9rem;font:inherit;font-weight:600;color:var(--color-text-muted);cursor:pointer}.tutorial-edit__tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tutorial-edit__actions,.tutorial-edit__steps-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem}.tutorial-edit__steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.tutorial-edit__step{padding:1rem}.tutorial-edit__step-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.tutorial-edit__step-head h3{margin:0;font-size:1rem}.tutorial-edit__step-controls{display:flex;gap:.4rem}.tutorial-edit__step-image{display:flex;flex-direction:column;gap:.6rem;margin-bottom:.75rem}.tutorial-edit__step-image-actions,.tutorial-edit__step-footer{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.tutorial-edit__step-footer{justify-content:space-between;margin-top:.5rem}.tutorial-edit__danger{border:1px solid var(--color-error-text)}.tutorial-edit__danger h2{color:var(--color-error-text)}.tutorial-step-image{display:block;max-width:100%;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-accent)}img.tutorial-step-image{object-fit:contain}.tutorial-step-image--empty,.tutorial-step-image--loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-height:160px;color:var(--color-text-muted)}.tutorial-step-image--empty span{font-size:2rem}.tutorial-step-image--loading{min-height:200px;background:linear-gradient(90deg,var(--color-accent),var(--color-accent-strong),var(--color-accent));background-size:200% 100%;animation:tutorial-shimmer 1.4s ease-in-out infinite}@keyframes tutorial-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.tutorial-viewer__body{min-height:240px}.tutorial-viewer__step{display:flex;flex-direction:column;gap:1rem}.tutorial-viewer__step .tutorial-step-image,.tutorial-viewer__step img.tutorial-step-image{width:100%;max-height:60vh}.tutorial-viewer__step-title{margin:0;font-size:1.15rem}.tutorial-viewer__step-description{margin:0;color:var(--color-text-muted);line-height:1.6;white-space:pre-wrap}.tutorial-viewer__empty{padding:2rem 1rem;text-align:center;color:var(--color-text-muted)}.tutorial-viewer__footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%}.tutorial-viewer__progress{font-weight:600;color:var(--color-text-muted)}.tutorial-prompt__intro{margin:0 0 1rem;line-height:1.6}.tutorial-prompt__options{display:flex;flex-direction:column;gap:.6rem;border:none;margin:0 0 1rem;padding:0}.tutorial-prompt__option{display:flex;align-items:center;gap:.6rem;cursor:pointer}.tutorial-prompt__footer{display:flex;justify-content:flex-end;gap:.75rem;width:100%}[dir=rtl] .tutorial-viewer__footer,[dir=rtl] .tutorial-prompt__footer{flex-direction:row-reverse}@media(max-width:640px){.tutorial-edit__steps-header,.tutorial-edit__actions{flex-direction:column;align-items:stretch}.tutorial-viewer__footer{flex-wrap:wrap;justify-content:center}}.reports-layout,.reports-page{display:grid;gap:1rem;min-width:0;max-width:100%}.reports-layout>*,.reports-page>*{min-width:0;max-width:100%}.reports-subnav{display:flex;gap:.4rem;overflow:auto;padding-bottom:.25rem}.reports-subnav a{color:var(--color-text-muted);padding:.55rem .75rem;text-decoration:none;white-space:nowrap;border-radius:var(--radius-sm)}.reports-subnav a.active{background:var(--color-accent);color:var(--color-primary);font-weight:600}.reports-navigation{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.reports-category-nav{border-bottom:1px solid var(--color-border);padding:.5rem}.reports-category-list{display:flex;gap:.35rem;overflow-x:auto;scrollbar-width:thin}.reports-category-button{align-items:center;background:transparent;border:0;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:inline-flex;flex:0 0 auto;font:inherit;font-weight:600;gap:.45rem;min-height:42px;padding:.6rem .85rem;white-space:nowrap}.reports-category-button:hover{background:var(--color-background);color:var(--color-text)}.reports-category-button:focus-visible,.reports-report-link:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.reports-category-button--active{background:var(--color-accent);color:var(--color-primary)}.reports-report-panel{display:grid;gap:.65rem;padding:.75rem}.reports-report-panel__header{align-items:baseline;display:flex;gap:.75rem;justify-content:space-between;padding-inline:.25rem}.reports-report-panel__header h2{font-size:var(--font-base);margin:0}.reports-report-panel__header span{color:var(--color-text-muted);font-size:.875rem}.reports-report-list{display:grid;gap:.25rem;max-height:min(17rem,40vh);overflow-y:auto;padding:.1rem;scrollbar-width:thin}.reports-report-link{align-items:center;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--color-text);display:flex;gap:1rem;justify-content:space-between;min-height:42px;padding:.6rem .75rem;text-decoration:none}.reports-report-link:hover{background:var(--color-background);border-color:var(--color-border)}.reports-report-link--active{background:var(--color-accent);border-color:var(--color-primary);color:var(--color-primary);font-weight:600}.reports-report-link__arrow{font-size:1.25rem;line-height:1}[dir=rtl] .reports-report-link__arrow{transform:scaleX(-1)}.reports-page__header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap;min-width:0}.reports-page__header h1{font-size:var(--font-2xl)}.reports-page__header p,.reports-page__header small{color:var(--color-text-muted)}.reports-page__actions,.reports-export{display:flex;gap:.5rem;flex-wrap:wrap;min-width:0;position:static}.reports-filters{display:flex;gap:.75rem;flex-wrap:wrap;align-items:end;background:var(--color-surface);padding:1rem;border:1px solid var(--color-border);border-radius:var(--radius-md)}.reports-filters--wrap{align-items:flex-start}.reports-filters label{display:grid;gap:.25rem;font-size:.875rem}.reports-filters input,.reports-filters select{min-height:36px;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.4rem}.reports-check{display:flex!important;align-items:center;gap:.45rem}.reports-year-picker{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.75rem}.reports-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.reports-summary__card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem;display:grid;gap:.3rem}.reports-summary__card span{color:var(--color-text-muted);font-size:.85rem}.reports-summary__card strong{font-size:1.45rem}.reports-chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.reports-chart-panel,.reports-chart,.reports-table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem}.reports-chart-panel h2{font-size:1rem;margin:0 0 .75rem;font-weight:600}.reports-demographic-section{margin-top:1.5rem;display:grid;gap:.85rem}.reports-demographic-section__header h2{margin:0;font-size:1.15rem}.reports-demographic-section__header p{margin:.35rem 0 0;color:var(--color-text-muted)}.reports-demographic-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.85rem}.reports-demographic-card{display:flex;flex-direction:column;justify-content:space-between;gap:1rem;min-height:9rem;padding:1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.reports-demographic-card__title{display:inline-block;font-weight:600;text-decoration:none}.reports-demographic-card p{margin:.4rem 0 0;color:var(--color-text-muted);font-size:.92rem}.reports-demographic-card .btn{align-self:flex-start}.reports-table-wrap{width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:visible;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}.reports-table{width:max-content;min-width:100%;border-collapse:collapse}.reports-table th,.reports-table td{text-align:start;padding:.65rem;border-bottom:1px solid var(--color-border);white-space:nowrap}.reports-table td.reports-table__cell--wrap,.reports-table th.reports-table__cell--wrap{white-space:normal;overflow-wrap:anywhere;max-width:18rem}.reports-table th{text-transform:capitalize;color:var(--color-text-muted);font-size:.8rem}.reports-empty{padding:2rem;text-align:center;color:var(--color-text-muted);background:var(--color-surface);border-radius:var(--radius-md)}.reports-warnings{background:#fff8e8;border:1px solid #e6d3a0;border-radius:var(--radius-md);padding:1rem 1.25rem;color:#5c4a1f}.reports-saved{display:grid;gap:.5rem}.reports-saved article{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border)}.reports-saved article span{color:var(--color-text-muted);margin-inline-end:auto}.reports-finance-layout{display:grid;gap:1rem}.reports-subnav--finance{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.35rem}.reports-finance-links{display:flex;flex-wrap:wrap;gap:.75rem}.reports-finance-links a{color:var(--color-primary);text-decoration:none;font-weight:600}.reports-note{color:var(--color-text-muted);margin:0}.reports-selection-bar{position:static;z-index:5;display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between;padding:.85rem 1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 8px 24px #00000014;width:100%;max-width:100%;min-width:0}.reports-selection-bar--idle{position:static;box-shadow:none;justify-content:flex-start}.reports-selection-bar__actions{display:flex;flex-wrap:wrap;gap:.5rem}.reports-table__check{width:2rem}.reports-audience-composer,.reports-audience-preview{display:grid;gap:.75rem}.reports-audience-channels{border:0;padding:0;margin:0;display:grid;gap:.35rem}.reports-audience-recipients{margin:.5rem 0 0;padding-inline-start:1.1rem;display:grid;gap:.35rem;font-size:.9rem}[dir=rtl] .reports-table__check{text-align:right}@media(max-width:400px){.reports-selection-bar,.reports-selection-bar__actions,.reports-modal-actions{flex-direction:column;align-items:stretch}.reports-selection-bar{bottom:.35rem}}.reports-pagination{display:flex;gap:.75rem;align-items:center;justify-content:center}.reports-modal-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.reports-channel-picker,.reports-reminder-preview,.reports-reminder-confirm{display:grid;gap:.75rem}.reports-channel-picker{border:0;padding:0;margin:0}.reports-filters--refreshing{position:relative}.reports-refresh-hint{font-size:.85rem;color:var(--color-text-muted)}.reports-results{min-width:0;max-width:100%}.reports-results--refreshing{opacity:.72;transition:opacity .15s ease}.reports-unavailable{text-align:center;padding:2rem 1rem;gap:.75rem}.reports-unavailable p{color:var(--color-text-muted);margin:0}.reports-disabled-badge{display:inline-flex;align-items:center;font-size:.75rem;font-weight:600;color:#8a5a00;background:#fff8e8;border:1px solid #e6d3a0;border-radius:var(--radius-sm);padding:.2rem .5rem;white-space:nowrap}.reports-saved__actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-inline-start:auto}.report-settings-page{display:grid;gap:1.5rem;max-width:960px;min-width:0}.report-settings-section{display:grid;gap:.75rem;min-width:0}.report-settings-section__title{font-size:1.1rem;margin:0}.report-settings-list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.report-settings-row{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem;min-width:0}.report-settings-row__main{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-start;justify-content:space-between}.report-settings-row__text{display:grid;gap:.35rem;min-width:0;flex:1 1 220px}.report-settings-row__text p,.report-settings-row__text small{color:var(--color-text-muted);margin:0}.report-settings-row__details{margin-top:.25rem}.report-settings-row__details summary{cursor:pointer;color:var(--color-text-muted);font-size:.85rem}.report-settings-row__details code{display:block;margin-top:.35rem;word-break:break-all;font-size:.8rem}.report-settings-toggle{display:flex;align-items:center;gap:.5rem;flex:0 0 auto;white-space:nowrap}@media(max-width:700px){.reports-category-nav{padding-inline:.35rem}.reports-category-button{padding-inline:.7rem}.reports-report-list{max-height:min(15rem,42vh)}.reports-page__header{flex-direction:column}.reports-page__actions{width:100%}.report-settings-row__main{flex-direction:column}.report-settings-toggle{width:100%;justify-content:space-between}.reports-saved article{flex-wrap:wrap}.reports-saved__actions{width:100%;margin-inline-start:0}.reports-page__actions .btn,.reports-export .btn,.reports-selection-bar .btn,.reports-filters .btn{width:auto;min-height:var(--touch-min, 44px)}}.reports-page .btn:focus-visible,.reports-selection-bar .btn:focus-visible,.reports-result-modal .btn:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.reports-result-modal.modern-modal,.modern-modal.transfer-modal--wide.reports-result-modal{width:min(95vw,72rem);max-width:95vw;max-height:90vh;min-width:0;display:flex;flex-direction:column;overflow:hidden}.reports-result-modal .modern-modal__header,.reports-result-modal .modern-modal__footer{flex:0 0 auto;position:sticky;z-index:1;background:var(--color-surface)}.reports-result-modal .modern-modal__header{top:0}.reports-result-modal .modern-modal__footer{bottom:0}.reports-result-modal .modern-modal__body{min-width:0;overflow:auto;flex:1 1 auto}.reports-result-modal .reports-table-wrap{max-width:100%}[dir=rtl] .reports-page__actions,[dir=rtl] .reports-selection-bar,[dir=rtl] .reports-selection-bar__actions{flex-direction:row}.docs-page{display:grid;gap:1rem}.docs-layout{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:1rem;align-items:start;min-width:0}.docs-layout--tree-collapsed{grid-template-columns:auto minmax(0,1fr)}.docs-tree{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.75rem;min-height:12rem;position:sticky;top:1rem;max-height:calc(100vh - 6rem);overflow:auto}.docs-tree--collapsed{width:auto;padding:.5rem;min-height:auto}.docs-tree__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-block-end:.75rem}.docs-tree__header h2{font-size:var(--font-lg, 1.1rem);margin:0;color:var(--color-primary)}.docs-tree__collapse-btn{flex-shrink:0}.docs-tree__list{list-style:none;margin:0;padding:0}.docs-tree__list--root{display:grid;gap:.15rem}.docs-tree__row{display:flex;align-items:center;gap:.15rem;border-radius:var(--radius-sm);min-width:0}.docs-tree__row--active{background:var(--color-accent)}.docs-tree__toggle{border:0;background:transparent;color:var(--color-text-muted);cursor:pointer;width:1.5rem;height:1.5rem;flex-shrink:0;padding:0;font-size:.75rem}.docs-tree__label{border:0;background:transparent;color:var(--color-text);cursor:pointer;text-align:start;padding:.35rem .4rem;border-radius:var(--radius-sm);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;display:inline-flex;align-items:center;gap:.35rem}.docs-tree__label:hover{background:var(--color-accent)}.docs-main{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem;min-width:0;display:grid;gap:1rem}.docs-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;align-items:flex-start}.docs-toolbar__actions{display:flex;flex-wrap:wrap;gap:.4rem}.docs-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:.15rem;font-size:.9rem;min-width:0}.docs-breadcrumb__item{border:0;background:transparent;color:var(--color-primary-light);cursor:pointer;padding:.15rem .25rem;border-radius:var(--radius-sm)}.docs-breadcrumb__item:hover:not(:disabled){background:var(--color-accent)}.docs-breadcrumb__item:disabled{cursor:default;color:var(--color-text-muted)}.docs-breadcrumb__item--current{color:var(--color-text);font-weight:600;cursor:default}.docs-breadcrumb__sep{color:var(--color-text-muted);padding-inline:.15rem}.docs-filters{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.85rem}.docs-filters label{display:grid;gap:.25rem;font-size:.875rem}.docs-filters input,.docs-filters select{min-height:36px}.docs-check{display:flex!important;flex-direction:row!important;align-items:center;gap:.45rem;grid-template-columns:none!important}.docs-refreshing{color:var(--color-text-muted);font-size:.85rem;align-self:center}.docs-table-wrap{overflow-x:auto;max-width:100%}.docs-table{width:100%;min-width:640px}.docs-cards{display:none}.docs-card{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.85rem;display:grid;gap:.65rem;background:var(--color-bg)}.docs-card__header{display:flex;justify-content:space-between;gap:.5rem;align-items:flex-start}.docs-card__header h3{margin:0;font-size:1rem}.docs-card__meta{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:0;font-size:.85rem}.docs-card__meta dt{color:var(--color-text-muted);font-weight:500}.docs-card__meta dd{margin:0}.docs-link{border:0;background:transparent;color:var(--color-primary);cursor:pointer;text-align:start;padding:0;font-weight:600;text-decoration:underline;text-underline-offset:2px}.docs-actions{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;justify-content:flex-end}.docs-more-trigger{min-width:2.25rem;font-weight:700;letter-spacing:.05em}.docs-more-menu{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 8px 28px #1e3a5f2e;min-width:12.5rem;padding:.4rem;display:grid;gap:.15rem}.docs-more-menu__item{display:flex;align-items:center;gap:.65rem;border:0;background:transparent;text-align:start;padding:.55rem .7rem;cursor:pointer;border-radius:var(--radius-sm);color:var(--color-text);font-size:.9rem;width:100%}.docs-more-menu__item:hover,.docs-more-menu__item:focus-visible{background:var(--color-accent);outline:none}.docs-more-menu__item--danger{color:var(--color-danger, #b42318)}.docs-more-menu__item--danger:hover,.docs-more-menu__item--danger:focus-visible{background:var(--color-danger-bg, #fef3f2)}.docs-more-menu__icon{width:1.25rem;text-align:center;flex-shrink:0}.docs-more-menu__separator{height:1px;background:var(--color-border);margin:.35rem .25rem}.docs-action-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;flex-direction:column;justify-content:flex-end}.docs-action-sheet__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#1a233273;cursor:pointer}.docs-action-sheet__panel{position:relative;background:var(--color-surface);border-radius:1rem 1rem 0 0;padding:.75rem .85rem calc(.85rem + env(safe-area-inset-bottom,0px));max-height:min(78vh,34rem);overflow:auto;box-shadow:0 -8px 32px #1e3a5f33;display:grid;gap:.5rem}.docs-action-sheet__handle{width:2.5rem;height:.28rem;border-radius:999px;background:var(--color-border);margin:.15rem auto .35rem}.docs-action-sheet__title{margin:0;font-size:1rem;text-align:center;color:var(--color-text-muted);font-weight:600}.docs-action-sheet__list{display:grid;gap:.15rem}.docs-action-sheet__list .docs-more-menu__item{padding:.85rem .75rem;font-size:1rem;min-height:2.75rem}.docs-action-sheet__cancel{margin-block-start:.35rem;border:1px solid var(--color-border);background:var(--color-bg);border-radius:var(--radius-md);padding:.85rem;font-size:1rem;font-weight:600;cursor:pointer;color:var(--color-text)}.docs-delete-confirm__doc{display:grid;gap:.25rem;margin-block-end:.75rem}.docs-delete-confirm__doc span{font-weight:600;word-break:break-word}.docs-permanent-delete__ack{margin-block:.75rem 1rem}.docs-form-field{display:grid;gap:.35rem}.docs-badge{display:inline-flex;align-items:center;font-size:.75rem;font-weight:600;padding:.15rem .45rem;border-radius:var(--radius-sm);background:var(--color-accent);color:var(--color-primary);white-space:nowrap}.docs-badge--draft{background:#f3f4f6;color:#4b5563}.docs-badge--published{background:var(--color-success-bg);color:var(--color-success-text)}.docs-badge--archived,.docs-badge--muted{background:#f3f4f6;color:var(--color-text-muted)}.docs-muted{color:var(--color-text-muted);font-size:.875rem}.docs-pagination{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:center}.docs-field{display:grid;gap:.35rem;margin-block-end:.75rem;font-size:.9rem}.docs-form-error{color:var(--color-error-text);background:var(--color-error-bg);padding:.6rem .75rem;border-radius:var(--radius-sm);margin-block-end:.75rem}.docs-preview-frame{width:100%;min-height:65vh;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff}.docs-preview-modal .modern-modal__body{max-height:none}.docs-versions{list-style:none;margin:0;padding:0;display:grid;gap:.65rem}.docs-versions__item{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;padding:.65rem;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.docs-detail{display:grid;gap:.65rem;margin:0}.docs-detail dt{color:var(--color-text-muted);font-size:.8rem;font-weight:600}.docs-detail dd{margin:.15rem 0 0}.docs-access{display:grid;gap:.85rem}.docs-access__effective ul,.docs-access__rules{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.docs-access__rules li{display:grid;gap:.15rem;padding:.5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.docs-access__add-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.docs-access__actions{display:flex;gap:.5rem;flex-wrap:wrap}.docs-mobile-folders-btn,.docs-drawer-backdrop{display:none}@media(max-width:900px){.docs-layout{grid-template-columns:1fr}.docs-tree-desktop{display:none}.docs-mobile-folders-btn{display:inline-flex;width:fit-content}.docs-drawer-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#1a233273;z-index:40}.docs-drawer{position:absolute;inset-block:0;inset-inline-start:0;width:min(88vw,320px);background:var(--color-surface);padding:1rem;overflow:auto;box-shadow:4px 0 24px #1e3a5f2e}[dir=rtl] .docs-drawer{box-shadow:-4px 0 24px #1e3a5f2e}.docs-drawer__header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-block-end:1rem}.docs-drawer__header h2{margin:0;font-size:1.1rem}.docs-table-wrap{display:none}.docs-cards{display:grid;gap:.75rem}.docs-main{padding:.85rem}.docs-toolbar__actions .btn{font-size:.8rem}}.public-layout--landing .public-layout__header{background:transparent;border-bottom:1px solid transparent;position:absolute;inset-inline:0;top:0;z-index:5}.public-layout--landing .public-layout__header .top-nav__school-name{color:var(--color-text, #0f172a)}.public-layout--landing #main-content{padding:0;min-height:100vh}.landing-page{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.95fr);min-height:100vh;width:100%}.landing-page--gradient{background:radial-gradient(circle at 12% 18%,rgba(14,116,144,.18),transparent 42%),radial-gradient(circle at 88% 12%,rgba(15,118,110,.14),transparent 36%),linear-gradient(145deg,#f8fafc,#eef6f8 48%,#f1f5f9)}.landing-page--solid{background:#f1f5f9}.landing-page--soft{background:linear-gradient(180deg,#f8fafc,#e2e8f0)}.landing-brand{display:flex;align-items:center;justify-content:center;padding:calc(var(--header-height, 4rem) + 2rem) 3rem 3rem}.landing-brand__inner{max-width:34rem;width:100%}.landing-brand__logo{display:block;width:min(180px,50vw);height:auto;margin-block-end:1.25rem;object-fit:contain}.landing-brand__banner{display:inline-block;margin:0 0 .85rem;padding:.35rem .75rem;border-radius:999px;background:#0f766e1f;color:#0f766e;font-size:.85rem;font-weight:650;letter-spacing:.01em}.landing-brand__heading{margin:0 0 1rem;font-size:clamp(1.85rem,3.2vw,2.65rem);line-height:1.15;font-weight:800;color:#0f172a;max-width:18ch}.landing-brand__line{margin:0 0 .75rem;color:#334155;font-size:1.05rem;line-height:1.55;max-width:42ch}.landing-brand__line--secondary{color:#64748b}.landing-brand__school{margin:1.5rem 0 0;color:#0f766e;font-weight:600;font-size:.95rem}.landing-auth{display:flex;align-items:center;justify-content:center;padding:calc(var(--header-height, 4rem) + 2rem) 2rem 3rem;background:#ffffff8c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-inline-start:1px solid rgba(148,163,184,.25)}.landing-auth__card{width:min(100%,28rem);background:#fff;border:1px solid rgba(148,163,184,.28);border-radius:1rem;padding:1.75rem 1.5rem 1.5rem;box-shadow:0 18px 40px #0f172a14}.landing-auth__title{margin:0 0 .4rem;font-size:1.45rem;font-weight:750}.landing-auth__instruction{margin:0 0 1.25rem;color:#64748b;font-size:.95rem;line-height:1.45}.landing-auth__hint{color:#64748b;font-size:.9rem;margin-bottom:1rem}.landing-auth__notice,.landing-auth__error{margin-bottom:1rem;padding:.75rem;border-radius:.65rem;font-size:.9rem}.landing-auth__notice{background:#fffbeb;color:#92400e}.landing-auth__error{background:#fef2f2;color:#b91c1c}.landing-auth__notice p,.landing-auth__error p{margin:0}.landing-auth__form .form-group{margin-bottom:1rem}.landing-auth__password{display:grid;gap:.4rem}.landing-auth__toggle-password{justify-self:start;border:0;background:transparent;color:#0f766e;font-size:.85rem;font-weight:600;padding:.25rem 0;cursor:pointer;min-height:2rem}.landing-auth__submit{width:100%;min-height:2.75rem;margin-top:.35rem}.landing-signup{margin-top:1.35rem;padding:1rem;border-radius:.85rem;background:linear-gradient(135deg,#0f766e1a,#0e749014);border:1px solid rgba(15,118,110,.22);text-align:center}.landing-signup-banner{display:block;margin:0 0 1.15rem;padding:1rem 1.1rem;border-radius:.9rem;background:linear-gradient(135deg,#fff7ed,#f5f3ff);border:1px solid rgba(249,115,22,.28);box-shadow:0 10px 24px #f9731614;text-decoration:none;color:inherit;transition:transform .15s ease,box-shadow .15s ease}.landing-signup-banner:hover,.landing-signup-banner:focus-visible{transform:translateY(-1px);box-shadow:0 14px 28px #7c3aed1f;outline:2px solid rgba(124,58,237,.35);outline-offset:2px}.landing-signup-banner__eyebrow{display:block;margin:0 0 .35rem;color:#9a3412;font-weight:700;font-size:1.05rem}.landing-signup-banner__cta{display:block;color:#5b21b6;font-weight:750;font-size:.98rem}.landing-signup__callout{margin:0 0 .65rem;color:#334155;font-weight:600}.landing-signup__button{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:2.85rem;padding:.7rem 1rem;border-radius:.7rem;background:#0f766e;color:#fff!important;font-weight:750;text-decoration:none;font-size:1rem;line-height:1.25}.landing-auth__forgot{margin:.85rem 0 0;text-align:center;font-size:.92rem}.landing-auth__forgot a{color:#0f766e;font-weight:600}.landing-auth__captcha{margin:.75rem 0 1rem;min-height:4.5rem}.landing-auth__captcha-hint{margin:0 0 .55rem;color:#475569;font-size:.9rem}.turnstile-widget{min-height:65px}.public-auth-page{display:flex;justify-content:center;padding:calc(var(--header-height, 4rem) + 2rem) 1.25rem 2.5rem}.public-auth-card{width:min(100%,28rem);background:#fff;border:1px solid rgba(148,163,184,.28);border-radius:1rem;padding:1.75rem 1.5rem 1.5rem;box-shadow:0 18px 40px #0f172a14}.public-auth-card--wide{width:min(100%,40rem)}.verify-email-spam-note{margin:0 0 .85rem;color:#9a3412;font-size:.95rem}.verify-email-code-input{letter-spacing:.18em;font-weight:700;font-size:1.15rem}.public-auth-card h1{margin:0 0 .5rem;font-size:1.45rem}.public-auth-card__lead{color:#64748b;margin:0 0 1.25rem}.public-auth-card__footer{margin-top:1.25rem;text-align:center}.homepage-settings__section{margin-bottom:1.25rem;padding:1.25rem}.homepage-settings__checks{display:grid;gap:.65rem}.homepage-settings__tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.homepage-settings__tab{border:1px solid #cbd5e1;background:#fff;border-radius:999px;padding:.4rem .9rem;cursor:pointer;font-weight:600}.homepage-settings__tab--active{background:#0f766e;border-color:#0f766e;color:#fff}.homepage-settings__preview-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.homepage-settings__preview-toggle{display:flex;gap:.4rem}.homepage-preview{display:grid;gap:1rem;border:1px dashed #cbd5e1;border-radius:.85rem;padding:1rem;background:#f8fafc}.homepage-preview--desktop{grid-template-columns:1.1fr .9fr}.homepage-preview--mobile{max-width:22rem}.homepage-preview__logo{width:72px;height:auto;margin-bottom:.5rem}.homepage-preview__banner{display:inline-block;padding:.2rem .55rem;border-radius:999px;background:#0f766e1f;color:#0f766e;font-size:.75rem;font-weight:650}.homepage-preview__school{color:#0f766e;font-weight:600;font-size:.85rem}.homepage-preview__auth{background:#fff;border-radius:.75rem;padding:.9rem;border:1px solid #e2e8f0}.homepage-preview__fake-field,.homepage-preview__fake-btn{height:2rem;border-radius:.45rem;margin-top:.55rem;background:#e2e8f0}.homepage-preview__fake-btn{display:flex;align-items:center;justify-content:center;background:#0f766e;color:#fff;font-size:.8rem;font-weight:650}.homepage-preview__signup{margin-top:.85rem;padding:.65rem;border-radius:.55rem;background:#0f766e14;text-align:center}@media(max-width:960px){.landing-page{grid-template-columns:1fr}.landing-brand{padding:calc(var(--header-height, 4rem) + 1.25rem) 1.25rem 1.25rem;min-height:auto}.landing-brand__heading{max-width:none}.landing-auth{border-inline-start:0;border-block-start:1px solid rgba(148,163,184,.25);padding:1.25rem 1.25rem 2.5rem;align-items:flex-start}.landing-auth__card{width:100%}}@media(max-height:700px)and (min-width:961px){.landing-brand,.landing-auth{align-items:flex-start;padding-block-start:calc(var(--header-height, 4rem) + 1rem)}}@media(prefers-reduced-motion:reduce){.landing-signup__button{transition:none}}
