.mat-mdc-dialog-container,.mat-dialog-container{max-height:90vh!important}.mat-mdc-dialog-surface{max-height:90vh!important;display:flex!important;flex-direction:column!important}.mat-mdc-dialog-content,.mat-dialog-content{max-height:calc(90vh - 140px)!important;overflow-y:auto!important}.modal-container{background:var(--app-color-surface);border-radius:var(--app-radius-lg);overflow:hidden;box-shadow:0 8px 30px #00000040;max-height:90vh;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--app-color-border-light, #eee)}.title-stack{display:flex;flex-direction:column;gap:4px}.modal-header .title{color:var(--app-color-primary);font-size:20px;margin:0}.modal-header .title .title-text{text-transform:lowercase;display:inline-block}.modal-header .title .title-text:first-letter{text-transform:uppercase}.modal-header .title .title-icon{margin-right:8px;line-height:1}.modal-header .subtitle{margin:0;font-size:14px;color:var(--app-color-muted)}.close-btn{background:none;border:0;font-size:28px;line-height:1;color:var(--app-color-muted);cursor:pointer;flex-shrink:0;transition:color .2s ease}.close-btn:hover{color:var(--app-color-text)}.modal-body{padding:20px;flex:1 1 auto;overflow-y:auto;max-height:calc(90vh - 140px)}.modal-header,.modal-footer{flex-shrink:0}.form-root{display:flex;flex-direction:column;gap:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}mat-form-field{width:100%}.error{color:var(--app-color-danger, #b00020);margin-top:12px}.modal-footer,footer.modal-footer,[mat-dialog-actions].modal-footer{display:flex;align-items:center;gap:12px;padding:12px 20px;background:var(--app-color-surface-hover, #fafafa);border-top:1px solid var(--app-color-border-light, #eee);flex-shrink:0;position:sticky;bottom:0;z-index:10;margin-top:auto}.actions-spacer{flex:1}.modal-footer button{min-height:40px;padding:8px 14px;border-radius:var(--app-radius-md)}.modal-footer button[color=primary],.modal-footer .mat-mdc-unelevated-button{font-weight:700}.modal-footer .mat-mdc-outlined-button,.modal-footer button[mat-stroked-button]{font-weight:600}.modal-footer button[color=warn],.modal-footer .warn-button,.modal-footer .delete-btn{color:#b00020;margin-right:auto}.modal-footer .mat-flat-button,.modal-footer .mat-stroked-button,.modal-footer .mat-button{font-weight:700}.modal-footer .warn-button,.modal-footer button[color=warn]{color:var(--app-color-danger, #b00020)}.modal-footer .btn-destructive{background:transparent}.modal-container .mat-form-field-appearance-fill .mat-form-field-flex,.modal-container .mat-mdc-form-field .mat-mdc-text-field{background-color:var(--app-color-input-bg)!important}@media (max-width: 640px){.form-grid{grid-template-columns:1fr}.modal-body{padding:16px}}@media (max-width: 767px){.cdk-overlay-pane{max-width:100vw!important;width:100vw!important}.mat-dialog-container,.mat-mdc-dialog-container{border-radius:12px 12px 0 0!important;max-height:90vh!important}.modal-container{border-radius:12px 12px 0 0}.modal-header{padding:14px 16px}.modal-header .title{font-size:18px}.modal-header .subtitle{font-size:13px}.modal-body{padding:14px 16px;max-height:calc(90vh - 140px);overflow-y:auto}.modal-footer{padding:12px 16px;flex-wrap:wrap;gap:8px}.modal-footer button{flex:1 1 auto;min-width:100px}mat-form-field{font-size:16px}mat-form-field input,mat-form-field textarea,mat-form-field select{font-size:16px!important}}@media (max-width: 767px){.master-detail-container{flex-direction:column!important;height:auto!important;max-height:80vh!important}.master-detail-container .list-panel{width:100%!important;max-height:40vh!important;border-right:none!important;border-bottom:1px solid #e0e0e0!important}.master-detail-container .detail-panel{width:100%!important;min-height:200px}}.course-card .compact-field.mat-mdc-form-field{--mdc-outlined-text-field-label-text-color: #2e7d32;--mdc-outlined-text-field-focus-label-text-color: #1b5e20;--mdc-outlined-text-field-hover-label-text-color: #2e7d32}.course-card .compact-field.mat-mdc-form-field .mat-mdc-floating-label,.course-card .compact-field.mat-mdc-form-field .mdc-floating-label{color:#2e7d32!important;-webkit-text-fill-color:#2e7d32!important}.course-card .compact-field.mat-mdc-form-field.mat-focused .mat-mdc-floating-label,.course-card .compact-field.mat-mdc-form-field.mat-focused .mdc-floating-label{color:#1b5e20!important;-webkit-text-fill-color:#1b5e20!important}@media (max-height: 700px){.mat-mdc-dialog-container,.mat-dialog-container{max-height:95vh!important}.mat-mdc-dialog-content,.mat-dialog-content{max-height:calc(95vh - 120px)!important}.modal-body{max-height:calc(95vh - 120px);padding:14px 16px}.modal-header{padding:12px 16px}.modal-footer{padding:10px 16px}}@media (max-height: 550px){.mat-mdc-dialog-container,.mat-dialog-container{max-height:98vh!important}.mat-mdc-dialog-content,.mat-dialog-content{max-height:calc(98vh - 100px)!important}.modal-body{max-height:calc(98vh - 100px);padding:10px 12px}.modal-header{padding:10px 12px}.modal-header .title{font-size:16px}.modal-footer{padding:8px 12px}.modal-footer button{min-height:36px;padding:6px 12px}}html{--mat-sys-background: light-dark(#f9faf3, #121410);--mat-sys-error: light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container: light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface: light-dark(#f1f1eb, #2f312d);--mat-sys-inverse-primary: light-dark(#02e600, #026e00);--mat-sys-inverse-surface: light-dark(#2f312d, #e2e3dc);--mat-sys-on-background: light-dark(#1a1c18, #e2e3dc);--mat-sys-on-error: light-dark(#ffffff, #690005);--mat-sys-on-error-container: light-dark(#93000a, #ffdad6);--mat-sys-on-primary: light-dark(#ffffff, #013a00);--mat-sys-on-primary-container: light-dark(#015300, #77ff61);--mat-sys-on-primary-fixed: light-dark(#002200, #002200);--mat-sys-on-primary-fixed-variant: light-dark(#015300, #015300);--mat-sys-on-secondary: light-dark(#ffffff, #263422);--mat-sys-on-secondary-container: light-dark(#3c4b37, #d7e8cd);--mat-sys-on-secondary-fixed: light-dark(#121f0e, #121f0e);--mat-sys-on-secondary-fixed-variant: light-dark(#3c4b37, #3c4b37);--mat-sys-on-surface: light-dark(#1a1c18, #e2e3dc);--mat-sys-on-surface-variant: light-dark(#43483f, #dfe4d7);--mat-sys-on-tertiary: light-dark(#ffffff, #0001ac);--mat-sys-on-tertiary-container: light-dark(#0000ef, #e0e0ff);--mat-sys-on-tertiary-fixed: light-dark(#00006e, #00006e);--mat-sys-on-tertiary-fixed-variant: light-dark(#0000ef, #0000ef);--mat-sys-outline: light-dark(#73796e, #8d9387);--mat-sys-outline-variant: light-dark(#c3c8bc, #43483f);--mat-sys-primary: light-dark(#026e00, #02e600);--mat-sys-primary-container: light-dark(#77ff61, #015300);--mat-sys-primary-fixed: light-dark(#77ff61, #77ff61);--mat-sys-primary-fixed-dim: light-dark(#02e600, #02e600);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#54634d, #bbcbb2);--mat-sys-secondary-container: light-dark(#d7e8cd, #3c4b37);--mat-sys-secondary-fixed: light-dark(#d7e8cd, #d7e8cd);--mat-sys-secondary-fixed-dim: light-dark(#bbcbb2, #bbcbb2);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#f9faf3, #121410);--mat-sys-surface-bright: light-dark(#f9faf3, #383a35);--mat-sys-surface-container: light-dark(#eeeee7, #1e201c);--mat-sys-surface-container-high: light-dark(#e8e9e1, #282b26);--mat-sys-surface-container-highest: light-dark(#e2e3dc, #333531);--mat-sys-surface-container-low: light-dark(#f3f4ed, #1a1c18);--mat-sys-surface-container-lowest: light-dark(#ffffff, #0c0f0b);--mat-sys-surface-dim: light-dark(#dadbd3, #121410);--mat-sys-surface-tint: light-dark(#026e00, #02e600);--mat-sys-surface-variant: light-dark(#dfe4d7, #43483f);--mat-sys-tertiary: light-dark(#343dff, #bec2ff);--mat-sys-tertiary-container: light-dark(#e0e0ff, #0000ef);--mat-sys-tertiary-fixed: light-dark(#e0e0ff, #e0e0ff);--mat-sys-tertiary-fixed-dim: light-dark(#bec2ff, #bec2ff);--mat-sys-neutral-variant20: #2c3229;--mat-sys-neutral10: #1a1c18;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem Roboto;--mat-sys-body-large-font: Roboto;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Roboto;--mat-sys-body-medium-font: Roboto;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Roboto;--mat-sys-body-small-font: Roboto;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Roboto;--mat-sys-display-large-font: Roboto;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Roboto;--mat-sys-display-medium-font: Roboto;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Roboto;--mat-sys-display-small-font: Roboto;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Roboto;--mat-sys-headline-large-font: Roboto;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Roboto;--mat-sys-headline-medium-font: Roboto;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Roboto;--mat-sys-headline-small-font: Roboto;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Roboto;--mat-sys-label-large-font: Roboto;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem Roboto;--mat-sys-label-medium-font: Roboto;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem Roboto;--mat-sys-label-small-font: Roboto;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Roboto;--mat-sys-title-large-font: Roboto;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Roboto;--mat-sys-title-medium-font: Roboto;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Roboto;--mat-sys-title-small-font: Roboto;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12}:root,html.light-theme{--app-color-primary: #177a30;--app-color-primary-hover: #125a24;--app-color-primary-light: rgba(23, 122, 48, .1);--app-color-text: #333333;--app-color-text-secondary: #555555;--app-color-muted: #666666;--app-color-background: #f4f7f6;--app-color-surface: #ffffff;--app-color-surface-hover: #f5f5f5;--app-color-surface-active: #e8f5e9;--app-color-border: #e0e0e0;--app-color-border-light: #f0f0f0;--app-color-input-bg: #ffffff;--app-color-input-border: #cccccc;--app-color-input-focus-shadow: rgba(23, 122, 48, .2);--app-color-overlay: rgba(0, 0, 0, .5);--app-color-shadow: rgba(0, 0, 0, .08);--app-color-shadow-strong: rgba(0, 0, 0, .15);--calendar-event-acude: #28a745;--calendar-event-no-acude: #dc3545;--calendar-event-enfermeria: #fd7e14;--calendar-event-incidencia: #ffc107;--calendar-event-auxiliar: #17a2b8;--calendar-event-specific: #6f42c1;--calendar-event-feeding: #d63384;--app-color-success: #28a745;--app-color-warning: #ffc107;--app-color-danger: #dc3545;--app-color-info: #17a2b8;--app-color-danger-light: #ffebee;--app-color-danger-dark: #c62828;--app-color-on-primary: #ffffff;--app-color-hover: #fafafa;--app-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--app-radius-lg: 12px;--app-radius-md: 8px;--app-radius-sm: 4px;--app-shadow-lg: 0 6px 20px var(--app-color-shadow);--app-shadow-md: 0 4px 12px var(--app-color-shadow);--app-spacing-xs: 8px;--app-spacing-sm: 12px;--app-spacing-md: 16px;--app-spacing-lg: 24px;--app-spacing-xl: 32px}html.dark-theme{--app-color-primary: #2e9e4a;--app-color-primary-hover: #259840;--app-color-primary-light: rgba(46, 158, 74, .15);--app-color-text: #e8e8e8;--app-color-text-secondary: #b0b0b0;--app-color-muted: #888888;--app-color-background: #121212;--app-color-surface: #1e1e1e;--app-color-surface-hover: #2a2a2a;--app-color-surface-active: #1b3d1f;--app-color-border: #333333;--app-color-border-light: #2a2a2a;--app-color-input-bg: #2a2a2a;--app-color-input-border: #444444;--app-color-input-focus-shadow: rgba(76, 175, 80, .3);--app-color-overlay: rgba(0, 0, 0, .7);--app-color-shadow: rgba(0, 0, 0, .3);--app-color-shadow-strong: rgba(0, 0, 0, .5);--calendar-event-acude: #4caf50;--calendar-event-no-acude: #f44336;--calendar-event-enfermeria: #ff9800;--calendar-event-incidencia: #ffeb3b;--calendar-event-auxiliar: #26c6da;--calendar-event-specific: #ab47bc;--calendar-event-feeding: #ec407a;--app-color-success: #4caf50;--app-color-warning: #ffeb3b;--app-color-danger: #f44336;--app-color-info: #26c6da;--app-color-danger-light: #3d1f1f;--app-color-danger-dark: #ef5350;--app-color-on-primary: #000000;--app-color-hover: #2a2a2a}html.dark-theme .mat-mdc-dialog-container{--mdc-dialog-container-color: var(--app-color-surface);--mdc-dialog-supporting-text-color: var(--app-color-text);--mdc-dialog-subhead-color: var(--app-color-text)}html.dark-theme .mat-mdc-form-field{--mdc-filled-text-field-container-color: var(--app-color-surface-hover);--mdc-outlined-text-field-outline-color: var(--app-color-border);--mdc-outlined-text-field-hover-outline-color: var(--app-color-primary);--mdc-filled-text-field-input-text-color: var(--app-color-text);--mdc-outlined-text-field-input-text-color: var(--app-color-text);--mdc-filled-text-field-label-text-color: var(--app-color-text-secondary);--mdc-outlined-text-field-label-text-color: var(--app-color-text-secondary)}html.dark-theme .mat-mdc-select{--mat-select-trigger-text-color: var(--app-color-text);--mat-select-panel-background-color: var(--app-color-surface);--mat-option-label-text-color: var(--app-color-text);--mat-option-hover-state-layer-color: var(--app-color-surface-hover);--mat-option-selected-state-layer-color: var(--app-color-surface-active)}html.dark-theme .mat-mdc-menu-panel{--mat-menu-container-color: var(--app-color-surface);--mat-menu-item-label-text-color: var(--app-color-text);--mat-menu-item-icon-color: var(--app-color-text-secondary);--mat-menu-item-hover-state-layer-color: var(--app-color-surface-hover)}html.dark-theme .mat-mdc-button.mat-primary,html.dark-theme .mat-mdc-outlined-button.mat-primary{--mdc-text-button-label-text-color: var(--app-color-primary);--mdc-outlined-button-label-text-color: var(--app-color-primary)}html.dark-theme .mat-mdc-unelevated-button.mat-primary,html.dark-theme .mat-mdc-raised-button.mat-primary,html.dark-theme .mat-mdc-fab.mat-primary,html.dark-theme .mat-mdc-mini-fab.mat-primary{--mdc-filled-button-container-color: var(--app-color-primary);--mdc-filled-button-label-text-color: var(--app-color-on-primary);--mdc-protected-button-container-color: var(--app-color-primary);--mdc-protected-button-label-text-color: var(--app-color-on-primary)}html.dark-theme .mat-mdc-icon-button{--mdc-icon-button-icon-color: var(--app-color-text)}html.dark-theme .mat-mdc-icon-button.mat-primary{--mdc-icon-button-icon-color: var(--app-color-primary)}html.dark-theme .mat-mdc-tab-group,html.dark-theme .mat-mdc-tab-nav-bar{--mdc-tab-indicator-active-indicator-color: var(--app-color-primary);--mat-tab-header-inactive-label-text-color: var(--app-color-text-secondary);--mat-tab-header-active-label-text-color: var(--app-color-primary)}html.dark-theme .mat-mdc-checkbox{--mdc-checkbox-unselected-icon-color: var(--app-color-text-secondary);--mdc-checkbox-unselected-hover-icon-color: var(--app-color-text);--mdc-checkbox-selected-icon-color: var(--app-color-primary);--mdc-checkbox-selected-hover-icon-color: var(--app-color-primary-hover);--mdc-checkbox-selected-focus-icon-color: var(--app-color-primary);--mdc-checkbox-selected-pressed-icon-color: var(--app-color-primary);--mdc-checkbox-selected-checkmark-color: var(--app-color-on-primary);--mdc-form-field-label-text-color: var(--app-color-text)}html.dark-theme .mat-mdc-slide-toggle{--mdc-switch-selected-track-color: var(--app-color-primary);--mdc-switch-selected-hover-track-color: var(--app-color-primary-hover);--mdc-switch-selected-focus-track-color: var(--app-color-primary);--mdc-switch-selected-pressed-track-color: var(--app-color-primary);--mdc-switch-selected-handle-color: var(--app-color-on-primary);--mdc-switch-selected-hover-handle-color: var(--app-color-on-primary);--mdc-switch-selected-focus-handle-color: var(--app-color-on-primary);--mdc-switch-selected-pressed-handle-color: var(--app-color-on-primary);--mdc-switch-unselected-track-color: var(--app-color-border);--mdc-switch-unselected-hover-track-color: var(--app-color-text-secondary);--mdc-switch-unselected-handle-color: var(--app-color-surface);--mdc-form-field-label-text-color: var(--app-color-text)}html.dark-theme .mat-mdc-radio-button{--mdc-radio-unselected-icon-color: var(--app-color-text-secondary);--mdc-radio-unselected-hover-icon-color: var(--app-color-text);--mdc-radio-selected-icon-color: var(--app-color-primary);--mdc-radio-selected-hover-icon-color: var(--app-color-primary-hover);--mdc-radio-selected-focus-icon-color: var(--app-color-primary);--mdc-radio-selected-pressed-icon-color: var(--app-color-primary);--mdc-form-field-label-text-color: var(--app-color-text)}html.dark-theme .mat-mdc-progress-spinner{--mdc-circular-progress-active-indicator-color: var(--app-color-primary)}html.dark-theme .mat-datepicker-content{--mat-datepicker-calendar-container-background-color: var(--app-color-surface);--mat-datepicker-calendar-header-text-color: var(--app-color-text);--mat-datepicker-calendar-date-text-color: var(--app-color-text);--mat-datepicker-calendar-date-today-outline-color: var(--app-color-primary)}html.dark-theme .mat-mdc-paginator{background:var(--app-color-surface);color:var(--app-color-text)}html.dark-theme .mat-mdc-table{background:var(--app-color-surface);--mat-table-background-color: var(--app-color-surface);--mat-table-row-item-label-text-color: var(--app-color-text);--mat-table-header-headline-color: var(--app-color-text)}html.dark-theme .mat-mdc-button.mat-primary .mdc-button__label,html.dark-theme .mat-mdc-outlined-button.mat-primary .mdc-button__label{color:#2e9e4a!important}html.dark-theme .mat-mdc-outlined-button.mat-primary{border-color:#2e9e4a!important}html.dark-theme .mat-mdc-slide-toggle.mat-primary .mdc-switch--selected .mdc-switch__track:after{background:#2e9e4a!important}html.dark-theme .mat-mdc-slide-toggle .mdc-switch--selected .mdc-switch__track{background:#2e9e4a!important}html.dark-theme .mdc-switch--selected .mdc-switch__track:after{background:#2e9e4a!important}html.dark-theme .mat-mdc-checkbox.mat-primary .mdc-checkbox__background{border-color:#2e9e4a!important}html.dark-theme .mat-mdc-checkbox.mat-primary.mat-mdc-checkbox-checked .mdc-checkbox__background{background-color:#2e9e4a!important;border-color:#2e9e4a!important}html.dark-theme .mat-mdc-radio-button.mat-primary .mdc-radio__outer-circle{border-color:#2e9e4a!important}html.dark-theme .mat-mdc-radio-button.mat-primary.mat-mdc-radio-checked .mdc-radio__inner-circle{background-color:#2e9e4a!important;border-color:#2e9e4a!important}*{box-sizing:border-box}html,body{height:100%}body{margin:0;color-scheme:light;background-color:var(--app-color-background);color:var(--app-color-text);font-family:var(--app-font-family);-webkit-font-smoothing:antialiased;line-height:1.5;transition:background-color .3s ease,color .3s ease}html.dark-theme body{color-scheme:dark}img{max-width:100%;display:block}button{font-family:inherit}input,textarea,button,select{font:inherit}.app-centered-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--app-spacing-lg) var(--app-spacing-md);background-color:var(--app-color-background)}.app-auth-card{width:100%;max-width:450px;padding:40px 50px;background-color:var(--app-color-surface);border-radius:var(--app-radius-lg);box-shadow:var(--app-shadow-lg);text-align:center}@media (max-width: 480px){.app-auth-card{padding:30px 24px;margin:0 16px;border-radius:var(--app-radius-md)}.app-auth-logo{width:180px}.app-auth-title{font-size:22px}}.app-auth-logo{width:250px;margin:0 auto 15px}.app-auth-title{margin:0 0 30px;font-size:28px;font-weight:700;color:var(--app-color-primary)}.app-form{display:flex;flex-direction:column;gap:20px}.app-form-field{display:flex;flex-direction:column;text-align:left;gap:8px;color:var(--app-color-muted)}.app-form-field label{font-weight:600}.app-input{padding:14px 12px;font-size:16px;border:1px solid var(--app-color-input-border);border-radius:var(--app-radius-md);transition:border-color .2s ease,box-shadow .2s ease;background-color:var(--app-color-input-bg);color:var(--app-color-text)}.app-input:focus,.app-input:focus-visible{outline:none;border-color:var(--app-color-primary);box-shadow:0 0 0 3px var(--app-color-input-focus-shadow)}.app-primary-button{padding:16px;font-size:16px;font-weight:700;color:#fff;background-color:var(--app-color-primary);border:none;border-radius:var(--app-radius-md);cursor:pointer;transition:background-color .2s ease}.app-primary-button:hover,.app-primary-button:focus-visible{background-color:var(--app-color-primary-hover)}.app-primary-button:focus-visible{outline:3px solid rgba(23,122,48,.35);outline-offset:2px}.app-muted-link{color:var(--app-color-muted);font-size:14px;text-decoration:none;transition:color .2s ease}.app-muted-link:hover{color:var(--app-color-primary)}.mat-snack-bar-container.app-snackbar-green,.mat-mdc-snack-bar-container.app-snackbar-green,.cdk-global-overlay-wrapper .mat-snack-bar-container.app-snackbar-green,.cdk-global-overlay-wrapper .mat-mdc-snack-bar-container.app-snackbar-green{background-color:var(--app-color-primary)!important;color:#fff!important;box-shadow:0 6px 20px #177a3040!important;border-radius:8px!important}.mat-snack-bar-container.app-snackbar-green .mat-simple-snackbar,.mat-mdc-snack-bar-container.app-snackbar-green .mat-simple-snackbar,.mat-snack-bar-container.app-snackbar-green .mat-mdc-snack-bar,.mat-mdc-snack-bar-container.app-snackbar-green .mat-mdc-snack-bar{font-weight:700;color:#fff!important}body .cdk-overlay-container .cdk-global-overlay-wrapper .cdk-overlay-pane .mat-snack-bar-container.app-snackbar-green,body .cdk-overlay-container .cdk-global-overlay-wrapper .cdk-overlay-pane .mat-mdc-snack-bar-container.app-snackbar-green,body .cdk-overlay-container .mat-snack-bar-container.app-snackbar-green,body .cdk-overlay-container .mat-mdc-snack-bar-container.app-snackbar-green{background-color:var(--app-color-primary)!important;background-image:none!important;color:#fff!important}body .cdk-overlay-container .mat-snack-bar-container.app-snackbar-green .mat-simple-snackbar,body .cdk-overlay-container .mat-mdc-snack-bar-container.app-snackbar-green .mat-simple-snackbar,body .cdk-overlay-container .mat-mdc-snack-bar-container.app-snackbar-green .mat-mdc-snack-bar{color:#fff!important}.registrar-actividad-backdrop{background-color:#0009!important}.registrar-actividad-dialog-panel .mat-dialog-container,.registrar-actividad-dialog-panel .mat-mdc-dialog-container,.activity-catalog-dialog-panel .mat-dialog-container,.activity-catalog-dialog-panel .mat-mdc-dialog-container{padding:0!important;border-radius:12px!important;box-shadow:0 8px 30px #00000040!important}.registrar-actividad-dialog-panel .mat-dialog-container,.registrar-actividad-dialog-panel .mat-mdc-dialog-container{max-width:none!important;width:100%!important}.activity-catalog-dialog-panel .mat-dialog-container,.activity-catalog-dialog-panel .mat-mdc-dialog-container{max-width:1400px!important;width:min(95vw,1400px)!important;height:80vh!important}.registrar-actividad-backdrop.cdk-overlay-backdrop{z-index:1000!important}.cdk-global-overlay-wrapper .cdk-overlay-pane{max-width:95vw!important}.cdk-overlay-container .mat-datepicker-content,.cdk-overlay-container .mat-mdc-datepicker-content,.cdk-overlay-container .mat-datepicker-popup,.cdk-overlay-container .mat-mdc-datepicker-popup{z-index:2000!important}.mat-mdc-dialog-container{--mdc-outlined-text-field-label-text-color: var(--app-color-text);--mdc-outlined-text-field-focus-label-text-color: var(--app-color-primary);--mdc-outlined-text-field-hover-label-text-color: var(--app-color-text);--mdc-outlined-text-field-disabled-label-text-color: var(--app-color-muted);--mdc-filled-text-field-label-text-color: var(--app-color-text);--mdc-filled-text-field-focus-label-text-color: var(--app-color-primary);--mdc-filled-text-field-hover-label-text-color: var(--app-color-text)}.mat-mdc-form-field .mat-mdc-floating-label.mdc-floating-label{color:var(--app-color-text)!important}.mat-mdc-form-field .mat-mdc-floating-label.mdc-floating-label mat-label{color:inherit!important}.course-card .mat-mdc-form-field .mat-mdc-floating-label.mdc-floating-label{color:var(--app-color-primary)!important}.course-card .mat-mdc-form-field .mat-mdc-floating-label.mdc-floating-label mat-label{color:inherit!important}html.dark-theme .mat-mdc-dialog-container,html.dark-theme .mat-mdc-dialog-surface{background-color:var(--app-color-surface)!important;color:var(--app-color-text)!important}html.dark-theme .mat-mdc-form-field{--mdc-outlined-text-field-container-shape: var(--app-radius-md);--mdc-outlined-text-field-outline-color: var(--app-color-border);--mdc-outlined-text-field-hover-outline-color: var(--app-color-primary);--mdc-outlined-text-field-focus-outline-color: var(--app-color-primary);--mdc-outlined-text-field-input-text-color: var(--app-color-text);--mdc-outlined-text-field-caret-color: var(--app-color-primary);--mdc-filled-text-field-container-color: var(--app-color-input-bg);--mdc-filled-text-field-focus-active-indicator-color: var(--app-color-primary)}html.dark-theme .mat-mdc-select{--mat-select-trigger-text-color: var(--app-color-text);--mat-select-enabled-arrow-color: var(--app-color-muted);--mat-select-focused-arrow-color: var(--app-color-primary)}html.dark-theme .mat-mdc-select-panel{background-color:var(--app-color-surface)!important}html.dark-theme .mat-mdc-option{color:var(--app-color-text)!important}html.dark-theme .mat-mdc-option:hover:not(.mdc-list-item--disabled){background-color:var(--app-color-surface-hover)!important}html.dark-theme .mat-mdc-option.mdc-list-item--selected{background-color:var(--app-color-surface-active)!important}html.dark-theme .mat-mdc-menu-panel{background-color:var(--app-color-surface)!important;border:1px solid var(--app-color-border)}html.dark-theme .mat-mdc-menu-item{color:var(--app-color-text)!important}html.dark-theme .mat-mdc-menu-item:hover:not([disabled]){background-color:var(--app-color-surface-hover)!important}html.dark-theme .mat-mdc-menu-item .mat-icon{color:var(--app-color-text-secondary)!important}html.dark-theme .mat-mdc-button,html.dark-theme .mat-mdc-outlined-button{--mdc-text-button-label-text-color: var(--app-color-text);--mdc-outlined-button-label-text-color: var(--app-color-text);--mdc-outlined-button-outline-color: var(--app-color-border)}html.dark-theme .mat-mdc-chip{--mdc-chip-elevated-container-color: var(--app-color-surface-hover);--mdc-chip-label-text-color: var(--app-color-text)}html.dark-theme .mat-datepicker-content{background-color:var(--app-color-surface)!important;color:var(--app-color-text)!important}html.dark-theme .mat-calendar{background-color:var(--app-color-surface)}html.dark-theme .mat-calendar-body-cell-content{color:var(--app-color-text)}html.dark-theme .mat-calendar-body-today{border-color:var(--app-color-primary)!important}html.dark-theme .mat-mdc-progress-spinner circle{stroke:var(--app-color-primary)!important}html.dark-theme .mat-mdc-snack-bar-container{--mdc-snackbar-container-color: var(--app-color-surface);--mdc-snackbar-supporting-text-color: var(--app-color-text)}html.dark-theme .mat-mdc-tooltip{--mdc-plain-tooltip-container-color: var(--app-color-surface);--mdc-plain-tooltip-supporting-text-color: var(--app-color-text)}html.dark-theme .mat-divider{border-color:var(--app-color-border)!important}html.dark-theme ::-webkit-scrollbar{width:8px;height:8px}html.dark-theme ::-webkit-scrollbar-track{background:var(--app-color-background)}html.dark-theme ::-webkit-scrollbar-thumb{background:var(--app-color-border);border-radius:4px}html.dark-theme ::-webkit-scrollbar-thumb:hover{background:var(--app-color-muted)}
