@charset "UTF-8";@keyframes ds-spin{to{transform:rotate(360deg)}}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;font-size:.875rem;line-height:1.4;color:#1f2937;background:#f5f6fa;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;line-height:1.25}h1{font-size:1.25rem}h2{font-size:1.125rem}h3{font-size:1rem}p{margin:0 0 8px}a{color:#1e3a8a;text-decoration:none;transition:color .15s ease}a:hover{color:#3b5fcc}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid #1E3A8A;outline-offset:2px}.success-snackbar.mat-mdc-snack-bar-container .mdc-snackbar__surface{background:#16a34a!important;color:#fff!important}.success-snackbar .mat-mdc-snack-bar-action{color:#bbf7d0!important}.warning-snackbar.mat-mdc-snack-bar-container .mdc-snackbar__surface{background:#d97706!important;color:#fff!important}.warning-snackbar .mat-mdc-snack-bar-action{color:#fef3c7!important}.error-snackbar.mat-mdc-snack-bar-container .mdc-snackbar__surface{background:#dc2626!important;color:#fff!important}.error-snackbar .mat-mdc-snack-bar-action{color:#fecaca!important}.overdue-snackbar-orange.mat-mdc-snack-bar-container .mdc-snackbar__surface{background:#f97316!important;color:#fff!important}.overdue-snackbar-orange .mat-mdc-snack-bar-action{color:#fff!important}.overdue-snackbar-orange .mat-mdc-snack-bar-action:hover,.overdue-snackbar-orange .mat-mdc-snack-bar-action:focus{color:#fff!important;background:#ffffff26!important}.overdue-snackbar-red.mat-mdc-snack-bar-container .mdc-snackbar__surface{background:#dc2626!important;color:#fff!important}.overdue-snackbar-red .mat-mdc-snack-bar-action{color:#fff!important}.overdue-snackbar-red .mat-mdc-snack-bar-action:hover,.overdue-snackbar-red .mat-mdc-snack-bar-action:focus{color:#fff!important;background:#ffffff26!important}.overdue-snackbar-critical.mat-mdc-snack-bar-container .mdc-snackbar__surface{background:#dc2626!important;color:#fff!important;animation:snackPulse 1.5s infinite}.overdue-snackbar-critical .mat-mdc-snack-bar-action{color:#fff!important;font-weight:700!important}.overdue-snackbar-critical .mat-mdc-snack-bar-action:hover,.overdue-snackbar-critical .mat-mdc-snack-bar-action:focus{color:#fff!important;background:#ffffff26!important}[class*=overdue-snackbar] .mat-mdc-snack-bar-action .mdc-button__ripple,[class*=overdue-snackbar] .mat-mdc-snack-bar-action .mat-mdc-button-persistent-ripple,[class*=overdue-snackbar] .mat-mdc-snack-bar-action .mat-mdc-button-persistent-ripple:before{background:#ffffff1a!important}@keyframes snackPulse{0%,to{opacity:1}50%{opacity:.8}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}@media print{@page{size:A3 landscape;margin:12mm}body.printing-calendar .navbar,body.printing-calendar .school-banner,body.printing-calendar .subscription-banner,body.printing-calendar .app-footer,body.printing-calendar .kpi-strip,body.printing-calendar .kpi-drilldown,body.printing-calendar .tab-nav,body.printing-calendar .programs-tab,body.printing-calendar .teachers-tab,body.printing-calendar .error-banner,body.printing-calendar .loading-spinner{display:none!important}body.printing-calendar .school-owner-dashboard,body.printing-calendar .dashboard-content{padding:0!important;margin:0!important;max-width:100%!important;background:#fff!important}body.printing-calendar app-slot-calendar,body.printing-calendar .slot-calendar{position:static!important;width:100%!important;height:auto!important;display:block!important;padding:0!important}body.printing-calendar .slot-calendar .calendar-body{max-height:none!important;overflow:visible!important}body.printing-calendar .slot-calendar .fullscreen-btn,body.printing-calendar .slot-calendar .print-btn,body.printing-calendar .slot-calendar .location-select,body.printing-calendar .slot-calendar .slot-tooltip{display:none!important}body.printing-calendar .slot-calendar .toolbar-school,body.printing-calendar .slot-calendar .toolbar-asof{display:inline!important}body.printing-calendar .slot-block,body.printing-calendar .legend-dot,body.printing-calendar .day-header,body.printing-calendar .calendar-header-row{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}.text-center{text-align:center}.text-right{text-align:right}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}@media print{body{background:#fff}.no-print{display:none!important}}
