@charset "UTF-8";:root,html.light-theme,.nm-theme-light{--app-color-primary: #177a30;--app-color-primary-hover: #126726;--app-color-primary-strong: #0f5a22;--app-color-primary-edge: #0c4a1c;--app-color-primary-light: #e1f0e3;--app-color-primary-hover-layer: rgba(23, 122, 48, .08);--app-color-on-primary: #ffffff;--app-color-rail: #177a30;--app-color-rail-2: #126726;--app-color-rail-text: #ffffff;--app-color-rail-muted: #e3f2e6;--app-color-rail-piece: rgba(255, 255, 255, .1);--app-color-rail-piece-hover: rgba(255, 255, 255, .18);--app-color-rail-active: #ffffff;--app-color-rail-active-text: #0f5a22;--app-color-rail-tile: #126726;--app-color-rail-tile-hover: #0f5a22;--app-color-rail-tile-edge: #0a4419;--app-color-logo-plate: #ffffff;--app-color-logo-ink: #0f5a22;--app-color-text: #15241b;--app-color-text-secondary: #3d4f43;--app-color-muted: #56695c;--app-color-link: #0f5a22;--app-color-background: #edf3ee;--app-color-surface: #ffffff;--app-color-surface-2: #f4f8f4;--app-color-surface-hover: #f1f6f2;--app-color-surface-active: #dcefdf;--app-color-hover: #f1f6f2;--app-color-border: #d6e2d8;--app-color-border-light: #e6eee7;--app-color-border-strong: #7d9282;--app-color-input-bg: #ffffff;--app-color-input-border: #7d9282;--app-color-scrollbar: #b9cbbd;--app-color-selection: #bfe3c6;--app-color-focus: #1a6dcc;--app-color-focus-ring: rgba(26, 109, 204, .28);--app-color-input-focus-shadow: rgba(26, 109, 204, .22);--app-color-overlay: rgba(12, 26, 17, .5);--app-color-scrim: rgba(12, 26, 17, .52);--app-color-shadow: rgba(18, 38, 25, .1);--app-color-shadow-strong: rgba(18, 38, 25, .18);--app-color-ink: #15241b;--app-color-ink-text: #f1f7f2;--app-color-ink-accent: #8fe39d;--app-color-success: #177a30;--app-color-success-bright: #5fd479;--app-color-warning: #8a5300;--app-color-warning-bright: #ffc145;--app-color-warning-light: #fff3d6;--app-color-danger: #c42b22;--app-color-on-danger: #ffffff;--app-color-danger-text: #a3221b;--app-color-danger-edge: #861a14;--app-color-danger-light: #fde9e7;--app-color-danger-dark: #a3221b;--app-color-danger-bright: #ff8a80;--app-color-info: #1f62b0;--app-color-info-light: #e3eefb;--rec-acude: #1d7a34;--rec-acude-text: #ffffff;--rec-acude-edge: #10501f;--rec-no-acude: #c42b22;--rec-no-acude-text: #ffffff;--rec-no-acude-edge: #861a14;--rec-enfermeria: #f39a3c;--rec-enfermeria-text: #2e1500;--rec-enfermeria-edge: #b8650f;--rec-incidencia: #f5c62f;--rec-incidencia-text: #2b2100;--rec-incidencia-edge: #b38b00;--rec-auxiliar: #1b7593;--rec-auxiliar-text: #ffffff;--rec-auxiliar-edge: #0f4d62;--rec-especifico: #6b47b0;--rec-especifico-text: #ffffff;--rec-especifico-edge: #462c7a;--rec-alimentacion: #bd3a75;--rec-alimentacion-text: #ffffff;--rec-alimentacion-edge: #80224c;--rec-transporte: #8a5a1c;--rec-transporte-text: #ffffff;--rec-transporte-edge: #5a3a0b;--disc-fisio: #1f63b5;--disc-fisio-text: #ffffff;--disc-fisio-edge: #15437b;--disc-logo: #7b3fa0;--disc-logo-text: #ffffff;--disc-logo-edge: #532a6c;--disc-to: #2b7a4b;--disc-to-text: #ffffff;--disc-to-edge: #1d5232;--disc-psico: #f0a53a;--disc-psico-text: #241503;--disc-psico-edge: #a37027;--disc-comedor: #c2491c;--disc-comedor-text: #ffffff;--disc-comedor-edge: #833113;--disc-enfer: #b3325f;--disc-enfer-text: #ffffff;--disc-enfer-edge: #792240;--disc-edu: #0d7585;--disc-edu-text: #ffffff;--disc-edu-edge: #084f5a;--disc-aux: #7a5236;--disc-aux-text: #ffffff;--disc-aux-edge: #523724;--disc-dir: #3f4fa8;--disc-dir-text: #ffffff;--disc-dir-edge: #2a3572;--disc-admin: #4f6370;--disc-admin-text: #ffffff;--disc-admin-edge: #35434c;--disc-default: #666e69;--disc-default-text: #ffffff;--disc-default-edge: #454a47;--calendar-event-acude: var(--rec-acude);--calendar-event-no-acude: var(--rec-no-acude);--calendar-event-enfermeria: var(--rec-enfermeria);--calendar-event-incidencia: var(--rec-incidencia);--calendar-event-auxiliar: var(--rec-auxiliar);--calendar-event-specific: var(--rec-especifico);--calendar-event-feeding: var(--rec-alimentacion);--app-radius-xs: 6px;--app-radius-sm: 10px;--app-radius-md: 12px;--app-radius-lg: 18px;--app-radius-xl: 24px;--app-spacing-2xs: 4px;--app-spacing-xs: 8px;--app-spacing-sm: 12px;--app-spacing-md: 16px;--app-spacing-lg: 24px;--app-spacing-xl: 32px;--app-spacing-2xl: 48px;--app-shadow-sm: 0 1px 2px rgba(18, 38, 25, .08), 0 2px 6px -2px rgba(18, 38, 25, .1);--app-shadow-md: 0 6px 16px -6px rgba(18, 38, 25, .22);--app-shadow-lg: 0 12px 28px -10px rgba(18, 38, 25, .26);--app-shadow-float: 0 18px 40px -14px rgba(12, 32, 19, .34), 0 2px 6px rgba(12, 32, 19, .08);--app-ease-out: cubic-bezier(.23, 1, .32, 1);--app-ease-in-out: cubic-bezier(.77, 0, .175, 1);--app-ease-drawer: cubic-bezier(.32, .72, 0, 1);--app-duration-press: .12s;--app-duration-fast: .16s;--app-duration-base: .22s;--app-font-family: Atkinson Hyperlegible Next, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;--app-text-xs: .8125rem;--app-text-sm: .875rem;--app-text-md: 1rem;--app-text-lg: 1.125rem;--app-text-xl: 1.375rem;--app-text-2xl: 1.75rem;--app-text-3xl: 2.25rem;--app-text-4xl: 3rem}:root{--app-rail-w: 288px;--app-topbar-h: 0px}@media (max-width: 1023.98px){:root{--app-rail-w: 0px;--app-topbar-h: calc(60px + env(safe-area-inset-top, 0px)) }}html.dark-theme,.nm-theme-dark{--app-color-primary: #2e9e4a;--app-color-primary-hover: #38ad55;--app-color-primary-strong: #7fd893;--app-color-primary-edge: #155c27;--app-color-primary-light: #173b22;--app-color-primary-hover-layer: rgba(127, 216, 147, .1);--app-color-on-primary: #04170a;--app-color-rail: #0f2717;--app-color-rail-2: #0b1f12;--app-color-rail-text: #e9f4eb;--app-color-rail-muted: #a9c7b1;--app-color-rail-piece: rgba(127, 216, 147, .06);--app-color-rail-piece-hover: rgba(127, 216, 147, .12);--app-color-rail-active: #2e9e4a;--app-color-rail-active-text: #04170a;--app-color-rail-tile: #17321f;--app-color-rail-tile-hover: #1d3d27;--app-color-rail-tile-edge: #07140b;--app-color-logo-plate: #ffffff;--app-color-logo-ink: #0f5a22;--app-color-text: #e7f0e9;--app-color-text-secondary: #bdcec2;--app-color-muted: #98ad9e;--app-color-link: #8fe39d;--app-color-background: #0b130e;--app-color-surface: #131f17;--app-color-surface-2: #182820;--app-color-surface-hover: #1c2e23;--app-color-surface-active: #1d3a27;--app-color-hover: #1c2e23;--app-color-border: #26392d;--app-color-border-light: #1f3026;--app-color-border-strong: #5f7a66;--app-color-input-bg: #101a14;--app-color-input-border: #5f7a66;--app-color-scrollbar: #33493a;--app-color-selection: #275c35;--app-color-focus: #74b4ff;--app-color-focus-ring: rgba(116, 180, 255, .32);--app-color-input-focus-shadow: rgba(116, 180, 255, .28);--app-color-overlay: rgba(0, 0, 0, .6);--app-color-scrim: rgba(0, 0, 0, .62);--app-color-shadow: rgba(0, 0, 0, .35);--app-color-shadow-strong: rgba(0, 0, 0, .55);--app-color-ink: #e7f0e9;--app-color-ink-text: #0d1a11;--app-color-ink-accent: #126726;--app-color-success: #4fc06a;--app-color-success-bright: #126726;--app-color-warning: #ffc145;--app-color-warning-bright: #8a5300;--app-color-warning-light: #3a2c0c;--app-color-danger: #e5544a;--app-color-on-danger: #1a0504;--app-color-danger-text: #ff9c94;--app-color-danger-edge: #8f1f18;--app-color-danger-light: #3a1714;--app-color-danger-dark: #ff9c94;--app-color-danger-bright: #a3221b;--app-color-info: #74b4ff;--app-color-info-light: #13283f;--rec-acude: #1d7a34;--rec-acude-text: #ffffff;--rec-acude-edge: #10501f;--rec-no-acude: #d23b31;--rec-no-acude-text: #ffffff;--rec-no-acude-edge: #7b1712;--rec-enfermeria: #f39a3c;--rec-enfermeria-text: #2e1500;--rec-enfermeria-edge: #93500b;--rec-incidencia: #f5c62f;--rec-incidencia-text: #2b2100;--rec-incidencia-edge: #8c6c00;--rec-auxiliar: #1b7593;--rec-auxiliar-text: #ffffff;--rec-auxiliar-edge: #0b3b4b;--rec-especifico: #7a55c2;--rec-especifico-text: #ffffff;--rec-especifico-edge: #3b2468;--rec-alimentacion: #bd3a75;--rec-alimentacion-text: #ffffff;--rec-alimentacion-edge: #6b1b40;--rec-transporte: #8a5a1c;--rec-transporte-text: #ffffff;--rec-transporte-edge: #3d2606;--disc-fisio: #86b5ee;--disc-fisio-text: #0b1410;--disc-fisio-edge: #496382;--disc-logo: #c99fe2;--disc-logo-text: #0b1410;--disc-logo-edge: #6e577c;--disc-to: #86cfa2;--disc-to-text: #0b1410;--disc-to-edge: #497159;--disc-psico: #f5b860;--disc-psico-text: #0b1410;--disc-psico-edge: #866534;--disc-comedor: #f39a72;--disc-comedor-text: #0b1410;--disc-comedor-edge: #85543e;--disc-enfer: #f294b4;--disc-enfer-text: #0b1410;--disc-enfer-edge: #855163;--disc-edu: #72cbd8;--disc-edu-text: #0b1410;--disc-edu-edge: #3e6f76;--disc-aux: #cfac8f;--disc-aux-text: #0b1410;--disc-aux-edge: #715e4e;--disc-dir: #a3adee;--disc-dir-text: #0b1410;--disc-dir-edge: #595f82;--disc-admin: #a9b8c2;--disc-admin-text: #0b1410;--disc-admin-edge: #5c656a;--disc-default: #b6bcb8;--disc-default-text: #0b1410;--disc-default-edge: #646765;--app-shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--app-shadow-md: 0 6px 16px -6px rgba(0, 0, 0, .6);--app-shadow-lg: 0 12px 28px -10px rgba(0, 0, 0, .7);--app-shadow-float: 0 18px 44px -14px rgba(0, 0, 0, .8), 0 0 0 1px rgba(127, 216, 147, .06)}@media (prefers-contrast: more){:root,html.light-theme{--app-color-border: #8ea495;--app-color-border-strong: #56695c;--app-color-muted: #3d4f43}html.dark-theme{--app-color-border: #5d7764;--app-color-border-strong: #98ad9e;--app-color-muted: #bdcec2}}.mat-mdc-dialog-container{max-height:92dvh!important}.mat-mdc-dialog-surface{max-height:92dvh!important;display:flex!important;flex-direction:column!important;border:1.5px solid var(--app-color-border)}.mat-mdc-dialog-content{max-height:calc(92dvh - 152px)!important;overflow-y:auto!important;overscroll-behavior:contain}.mat-mdc-dialog-container .mat-mdc-dialog-surface{transition:transform var(--app-duration-base) var(--app-ease-out),opacity var(--app-duration-base) ease}.modal-container{background:var(--app-color-surface);color:var(--app-color-text);border-radius:var(--app-radius-xl);overflow:hidden;max-height:92dvh;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 20px 16px 24px;border-bottom:1.5px solid var(--app-color-border-light);flex-shrink:0}.title-stack{display:flex;flex-direction:column;gap:4px;min-width:0}.modal-header .title{display:flex;align-items:center;gap:12px;margin:0;color:var(--app-color-text);font-size:var(--app-text-xl);font-weight:800;line-height:1.2;letter-spacing:-.015em}.modal-header .title .title-text{display:inline-block}.modal-header .title .title-icon,.modal-header .title>.mat-icon{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:var(--app-radius-sm);background:var(--title-icon-bg, var(--app-color-primary-light));color:var(--title-icon-fg, var(--app-color-primary-strong));font-size:22px;line-height:1;margin:0;flex-shrink:0}.modal-header .subtitle{margin:0;font-size:var(--app-text-sm);font-weight:600;color:var(--app-color-muted)}.modal-header>app-help-button{margin:-6px -12px -6px auto}.close-btn{display:inline-grid;place-items:center;width:44px;height:44px;margin:-6px -6px -6px 0;padding:0;border:0;border-radius:999px;background:var(--app-color-surface-2);color:var(--app-color-text-secondary);font-size:26px;line-height:1;cursor:pointer;flex-shrink:0;transition:background-color var(--app-duration-fast) ease,color var(--app-duration-fast) ease,transform var(--app-duration-press) var(--app-ease-out)}.close-btn:active{transform:scale(.94)}@media (hover: hover) and (pointer: fine){.close-btn:hover{background:var(--app-color-primary-light);color:var(--app-color-primary-strong)}}.modal-body{padding:24px;flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;max-height:calc(92dvh - 152px)}.form-root{display:flex;flex-direction:column;gap:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}mat-form-field{width:100%}.error{color:var(--app-color-danger-text);font-weight:600;margin-top:12px}.modal-footer,footer.modal-footer,[mat-dialog-actions].modal-footer{display:flex;align-items:center;gap:12px;padding:16px 24px max(16px,env(safe-area-inset-bottom));background:var(--app-color-surface-2);border-top:1.5px solid var(--app-color-border-light);flex-shrink:0;position:sticky;bottom:0;z-index:10;margin-top:auto}.actions-spacer{flex:1}.modal-footer button{min-height:44px}.modal-footer button[color=primary],.modal-footer .mat-mdc-unelevated-button{font-weight:800}.modal-footer button[color=warn],.modal-footer .warn-button,.modal-footer .delete-btn{color:var(--app-color-danger-text);margin-right:auto}.modal-footer .btn-destructive{background:transparent}.modal-container .mat-mdc-form-field .mat-mdc-text-field-wrapper{background-color:var(--app-color-input-bg)}@media (max-width: 599.98px){.form-grid{grid-template-columns:1fr}}@media (max-width: 767.98px){.cdk-global-overlay-wrapper:has(>.mat-mdc-dialog-panel){align-items:flex-end!important}.cdk-overlay-pane.mat-mdc-dialog-panel{max-width:100vw!important;width:100vw!important;margin:0!important}.mat-mdc-dialog-container,.mat-mdc-dialog-surface{border-radius:var(--app-radius-xl) var(--app-radius-xl) 0 0!important}.mat-mdc-dialog-surface{border-bottom:0}.mat-mdc-dialog-container .mat-mdc-dialog-surface:before{content:"";position:absolute;inset:8px auto auto 50%;box-sizing:content-box;width:40px;height:5px;margin-left:-20px;border:0;border-radius:999px;background:var(--app-color-border-strong);z-index:11;pointer-events:none}.modal-container{border-radius:var(--app-radius-xl) var(--app-radius-xl) 0 0}.modal-header{padding:22px 16px 14px 18px}.modal-header .title{font-size:var(--app-text-lg)}.modal-header .title .title-icon,.modal-header .title>.mat-icon{width:36px;height:36px;font-size:20px}.modal-body{padding:16px 18px}.modal-footer{padding:12px 16px max(12px,env(safe-area-inset-bottom));flex-wrap:wrap;gap:8px}.modal-footer button{flex:1 1 auto;min-width:120px}.modal-footer .actions-spacer{display:none}mat-form-field input,mat-form-field textarea,mat-form-field select{font-size:16px!important}}@media (max-width: 767.98px){.master-detail-container{flex-direction:column!important;height:auto!important;max-height:80dvh!important}.master-detail-container .list-panel{width:100%!important;max-height:40dvh!important;border-right:none!important;border-bottom:1.5px solid var(--app-color-border)!important}.master-detail-container .detail-panel{width:100%!important;min-height:200px}}.course-card .compact-field.mat-mdc-form-field{--mat-form-field-outlined-label-text-color: var(--app-color-primary-strong);--mat-form-field-outlined-focus-label-text-color: var(--app-color-primary-strong);--mat-form-field-outlined-hover-label-text-color: var(--app-color-primary-strong)}@media (max-height: 700px){.mat-mdc-dialog-container{max-height:96dvh!important}.mat-mdc-dialog-content{max-height:calc(96dvh - 128px)!important}.modal-body{max-height:calc(96dvh - 128px);padding:16px 20px}.modal-header{padding:14px 16px 12px 20px}.modal-footer{padding:10px 20px}}@media (max-height: 550px){.modal-body{max-height:calc(98dvh - 108px);padding:12px 16px}.modal-header .title{font-size:var(--app-text-md)}.modal-footer{padding:8px 16px}}@media (prefers-reduced-motion: reduce){.mat-mdc-dialog-container .mat-mdc-dialog-surface{transition:opacity var(--app-duration-base) ease}}.record-dialog-panel .mat-mdc-dialog-surface{overflow:hidden}@media (min-width: 768px){.record-dialog-panel .mat-mdc-dialog-container,.record-dialog-panel .mat-mdc-dialog-surface,.record-dialog-panel .modal-container{max-height:96dvh!important}}.record-dialog-panel .mat-mdc-dialog-surface>*,.record-dialog-panel .modal-container,.record-dialog-panel .modal-container>form{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;max-height:inherit}.record-dialog-panel .modal-container{max-height:92dvh}.record-dialog-panel .modal-body,.record-dialog-panel .modal-body.mat-mdc-dialog-content{flex:1 1 auto;min-height:0;max-height:none!important;padding:16px 24px;overflow-y:auto!important}.record-dialog-panel .modal-header{padding:18px 20px 14px 24px}.record-dialog-panel .modal-header .title-stack{flex-direction:row;flex-wrap:wrap;gap:2px 20px}.record-dialog-panel .modal-header .title{flex-basis:100%;margin-bottom:4px}.record-dialog-panel .modal-footer{position:static;padding:14px 24px max(14px,env(safe-area-inset-bottom))}.record-dialog-panel .modal-footer button{white-space:nowrap}@media (max-width: 767.98px){.record-dialog-panel .modal-body,.record-dialog-panel .modal-body.mat-mdc-dialog-content{padding:16px 16px 20px}.record-dialog-panel .modal-header{padding:22px 14px 12px 16px}.record-dialog-panel .modal-footer{padding:12px 16px max(12px,env(safe-area-inset-bottom))}.record-dialog-panel .modal-footer>button{flex:1 1 0;min-width:0}.record-dialog-panel .modal-footer app-deletion-request-action{display:flex}.record-dialog-panel .modal-footer app-deletion-request-action button{flex:1 1 auto}}.manager-dialog-panel .mat-mdc-dialog-surface{overflow:hidden;height:92dvh}@media (min-width: 768px){.manager-dialog-panel .mat-mdc-dialog-container,.manager-dialog-panel .mat-mdc-dialog-surface{max-height:96dvh!important}.manager-dialog-panel .mat-mdc-dialog-surface{height:min(880px,96dvh)}}.manager-dialog-panel .mat-mdc-dialog-surface>*,.manager-dialog-panel .modal-container{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;max-height:none}.manager-dialog-panel .modal-header{padding:18px 20px 14px 24px}.manager-dialog-panel .modal-body.md-body,.manager-dialog-panel .modal-body.md-body.mat-mdc-dialog-content{flex:1 1 auto;min-height:0;height:auto;max-height:none!important;padding:0;overflow:hidden!important}.manager-dialog-panel .modal-footer{position:static;padding:14px 24px max(14px,env(safe-area-inset-bottom))}.manager-dialog-panel .modal-footer button{white-space:nowrap}@media (max-width: 767.98px){.manager-dialog-panel .modal-header{padding:22px 14px 12px 16px}.manager-dialog-panel .modal-footer{padding:12px 16px max(12px,env(safe-area-inset-bottom))}.manager-dialog-panel .modal-footer>button{flex:1 1 0;min-width:0}}.rec-block{--rec-bg: var(--app-color-surface-2);--rec-fg: var(--app-color-text);--rec-edge: var(--app-color-border);display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:4px 10px 4px 8px;border-radius:var(--app-radius-sm);background:var(--rec-bg);color:var(--rec-fg);box-shadow:0 2px 0 0 var(--rec-edge);font-size:var(--app-text-xs);font-weight:700;line-height:1.2;white-space:nowrap}.rec-block .mat-icon{width:16px;height:16px;font-size:16px;line-height:16px}.rec-block--acude,.rec-swatch--acude{--rec-bg: var(--rec-acude);--rec-fg: var(--rec-acude-text);--rec-edge: var(--rec-acude-edge)}.rec-block--no-acude,.rec-swatch--no-acude{--rec-bg: var(--rec-no-acude);--rec-fg: var(--rec-no-acude-text);--rec-edge: var(--rec-no-acude-edge)}.rec-block--enfermeria,.rec-swatch--enfermeria{--rec-bg: var(--rec-enfermeria);--rec-fg: var(--rec-enfermeria-text);--rec-edge: var(--rec-enfermeria-edge)}.rec-block--incidencia,.rec-swatch--incidencia{--rec-bg: var(--rec-incidencia);--rec-fg: var(--rec-incidencia-text);--rec-edge: var(--rec-incidencia-edge)}.rec-block--auxiliar,.rec-swatch--auxiliar{--rec-bg: var(--rec-auxiliar);--rec-fg: var(--rec-auxiliar-text);--rec-edge: var(--rec-auxiliar-edge)}.rec-block--especifico,.rec-swatch--especifico{--rec-bg: var(--rec-especifico);--rec-fg: var(--rec-especifico-text);--rec-edge: var(--rec-especifico-edge)}.rec-block--alimentacion,.rec-swatch--alimentacion{--rec-bg: var(--rec-alimentacion);--rec-fg: var(--rec-alimentacion-text);--rec-edge: var(--rec-alimentacion-edge)}.rec-block--transporte,.rec-swatch--transporte{--rec-bg: var(--rec-transporte);--rec-fg: var(--rec-transporte-text);--rec-edge: var(--rec-transporte-edge)}.rec-swatch{display:inline-block;width:14px;height:14px;border-radius:4px;background:var(--rec-bg, var(--app-color-border));box-shadow:0 2px 0 0 var(--rec-edge, var(--app-color-border-strong));flex-shrink:0}.nm-panel{background:var(--app-color-surface);border:1.5px solid var(--app-color-border);border-radius:var(--app-radius-lg)}.nm-section-title{margin:0;font-size:var(--app-text-lg);font-weight:800;line-height:1.25;color:var(--app-color-text)}.nm-figure{font-size:var(--app-text-3xl);font-weight:700;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--app-color-text)}.nm-figure--lg{font-size:var(--app-text-4xl)}.nm-figure--sm{font-size:var(--app-text-2xl)}.nm-pill{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:2px 12px;border-radius:999px;background:var(--app-color-surface-2);border:1.5px solid var(--app-color-border);color:var(--app-color-text-secondary);font-size:var(--app-text-xs);font-weight:700;white-space:nowrap}.nm-pill--primary{background:var(--app-color-primary-light);border-color:transparent;color:var(--app-color-primary-strong)}.nm-pill--danger{background:var(--app-color-danger-light);border-color:transparent;color:var(--app-color-danger-text)}.nm-pill--warning{background:var(--app-color-warning-light);border-color:transparent;color:var(--app-color-warning)}.nm-pill--info{background:var(--app-color-info-light);border-color:transparent;color:var(--app-color-info)}.nm-empty{display:grid;justify-items:center;gap:12px;padding:48px 24px;text-align:center;color:var(--app-color-text-secondary)}.nm-empty .mat-icon{width:56px;height:56px;font-size:56px;color:var(--app-color-primary)}.nm-empty h2,.nm-empty h3,.nm-empty strong{margin:0;font-size:var(--app-text-lg);font-weight:800;color:var(--app-color-text)}.nm-empty p{margin:0;max-width:52ch}.nm-empty--danger .mat-icon{color:var(--app-color-danger)}.nm-note{--note-icon: var(--app-color-primary);display:flex;align-items:flex-start;gap:10px;margin:0;padding:12px 14px;border:1.5px solid transparent;border-radius:var(--app-radius-md);background:var(--app-color-surface-2);color:var(--app-color-text-secondary);font-size:var(--app-text-sm);font-weight:600;line-height:1.45}.nm-note>.mat-icon{flex-shrink:0;width:20px;height:20px;font-size:20px;color:var(--note-icon)}.nm-note strong{color:var(--app-color-text);font-weight:700}.nm-note--quiet{border-color:var(--app-color-border-light)}.nm-note--info{--note-icon: var(--app-color-info);background:var(--app-color-info-light);color:var(--app-color-text)}.nm-note--warning{--note-icon: var(--app-color-warning);background:var(--app-color-warning-light);color:var(--app-color-text)}.nm-note--danger{--note-icon: var(--app-color-danger-text);background:var(--app-color-danger-light);color:var(--app-color-danger-text);font-weight:700}.nm-title-row{display:flex;align-items:center;gap:var(--app-spacing-2xs);min-width:0}.nm-title-row>h1{min-width:0}.nm-title-row>app-help-button{margin-block:-10px}.nm-skeleton{position:relative;overflow:hidden;border-radius:var(--app-radius-sm);background:var(--app-color-surface-2)}.nm-skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--app-color-primary-hover-layer),transparent);animation:nm-shimmer 1.2s var(--app-ease-in-out) infinite}@keyframes nm-shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion: reduce){.nm-skeleton:after{animation:none}}.nm-choices{display:grid;gap:var(--app-spacing-xs);grid-template-columns:repeat(auto-fit,minmax(var(--nm-choice-min, 150px),1fr))}.nm-choice{position:relative;display:block;min-width:0;cursor:pointer}.nm-choice-input{position:absolute;inset:0;z-index:1;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.nm-choice-input:disabled{cursor:not-allowed}.nm-choice-piece{background:var(--app-color-surface);color:var(--app-color-text);border:1.5px solid var(--app-color-border);box-shadow:0 2px 0 0 var(--app-color-border);transition:transform var(--app-duration-press) var(--app-ease-out),box-shadow var(--app-duration-press) var(--app-ease-out),border-color var(--app-duration-fast) ease,background-color var(--app-duration-fast) ease}@media (hover: hover) and (pointer: fine){.nm-choice-piece:hover{border-color:var(--app-color-border-strong)}}.nm-choice-piece:active{transform:translateY(1px);box-shadow:0 1px 0 0 var(--app-color-border)}.nm-choice-piece{display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 12px;border-radius:var(--app-radius-md);font-weight:700;line-height:1.25}.nm-choice-piece>.mat-icon{flex-shrink:0;width:22px;height:22px;font-size:22px;color:var(--app-color-muted)}.nm-choice-piece small{display:block;color:var(--app-color-muted);font-size:var(--app-text-xs);font-weight:600}.nm-choice-input:checked+.nm-choice-piece{background:var(--app-color-primary-light);border-color:var(--app-color-primary);box-shadow:0 3px 0 0 var(--app-color-primary-edge);color:var(--app-color-primary-strong)}.nm-choice-input:checked+.nm-choice-piece>.mat-icon{color:var(--app-color-primary-strong)}.nm-choice--warning .nm-choice-input:checked+.nm-choice-piece{background:var(--app-color-warning-light);border-color:var(--app-color-warning);box-shadow:0 3px 0 0 var(--app-color-warning);color:var(--app-color-text)}.nm-choice--warning .nm-choice-input:checked+.nm-choice-piece>.mat-icon{color:var(--app-color-warning)}.nm-choice-input:focus-visible+.nm-choice-piece{outline:3px solid var(--app-color-focus);outline-offset:2px}.nm-choice-input:disabled+.nm-choice-piece{opacity:.6;box-shadow:none}@media (prefers-reduced-motion: reduce){.nm-choice-piece:active{transform:none}}.nm-tone-0{--tone: var(--disc-fisio);--tone-text: var(--disc-fisio-text);--tone-edge: var(--disc-fisio-edge)}.nm-tone-1{--tone: var(--disc-comedor);--tone-text: var(--disc-comedor-text);--tone-edge: var(--disc-comedor-edge)}.nm-tone-2{--tone: var(--disc-logo);--tone-text: var(--disc-logo-text);--tone-edge: var(--disc-logo-edge)}.nm-tone-3{--tone: var(--disc-enfer);--tone-text: var(--disc-enfer-text);--tone-edge: var(--disc-enfer-edge)}.nm-tone-4{--tone: var(--disc-edu);--tone-text: var(--disc-edu-text);--tone-edge: var(--disc-edu-edge)}.nm-tone-5{--tone: var(--disc-psico);--tone-text: var(--disc-psico-text);--tone-edge: var(--disc-psico-edge)}.nm-tone-6{--tone: var(--disc-dir);--tone-text: var(--disc-dir-text);--tone-edge: var(--disc-dir-edge)}.nm-tone-7{--tone: var(--disc-to);--tone-text: var(--disc-to-text);--tone-edge: var(--disc-to-edge)}.nm-tone-badge{display:inline-grid;flex-shrink:0;place-items:center;width:36px;height:36px;border-radius:999px;background:var(--tone, var(--disc-default));color:var(--tone-text, var(--disc-default-text));box-shadow:0 2px 0 0 var(--tone-edge, var(--disc-default-edge))}.nm-tone-badge .mat-icon{width:20px;height:20px;font-size:20px}@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/atkinson-hyperlegible-next-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/atkinson-hyperlegible-next-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}html{color-scheme:light;--mat-sys-background: #f0fdf1;--mat-sys-error: #ba1a1a;--mat-sys-error-container: #ffdad6;--mat-sys-inverse-on-surface: #e7f4e9;--mat-sys-inverse-primary: #7edb84;--mat-sys-inverse-surface: #28332b;--mat-sys-on-background: #131e17;--mat-sys-on-error: #ffffff;--mat-sys-on-error-container: #93000a;--mat-sys-on-primary: #ffffff;--mat-sys-on-primary-container: #00531b;--mat-sys-on-primary-fixed: #002106;--mat-sys-on-primary-fixed-variant: #00531b;--mat-sys-on-secondary: #ffffff;--mat-sys-on-secondary-container: #2d4e2e;--mat-sys-on-secondary-fixed: #012107;--mat-sys-on-secondary-fixed-variant: #2d4e2e;--mat-sys-on-surface: #131e17;--mat-sys-on-surface-variant: #3f493e;--mat-sys-on-tertiary: #ffffff;--mat-sys-on-tertiary-container: #004881;--mat-sys-on-tertiary-fixed: #001c38;--mat-sys-on-tertiary-fixed-variant: #004881;--mat-sys-outline: #6f7a6d;--mat-sys-outline-variant: #bfcaba;--mat-sys-primary: #006e26;--mat-sys-primary-container: #99f89e;--mat-sys-primary-fixed: #99f89e;--mat-sys-primary-fixed-dim: #7edb84;--mat-sys-scrim: #000000;--mat-sys-secondary: #446644;--mat-sys-secondary-container: #c5edc2;--mat-sys-secondary-fixed: #c5edc2;--mat-sys-secondary-fixed-dim: #aad0a7;--mat-sys-shadow: #000000;--mat-sys-surface: #f0fdf1;--mat-sys-surface-bright: #f0fdf1;--mat-sys-surface-container: #e4f1e6;--mat-sys-surface-container-high: #dfebe0;--mat-sys-surface-container-highest: #d9e6da;--mat-sys-surface-container-low: #eaf7eb;--mat-sys-surface-container-lowest: #ffffff;--mat-sys-surface-dim: #d1ddd2;--mat-sys-surface-tint: #006e26;--mat-sys-surface-variant: #dbe6d6;--mat-sys-tertiary: #1960a3;--mat-sys-tertiary-container: #d3e4ff;--mat-sys-tertiary-fixed: #d3e4ff;--mat-sys-tertiary-fixed-dim: #a2c9ff;--mat-sys-neutral-variant20: #293328;--mat-sys-neutral10: #131e17;--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 Atkinson Hyperlegible Next, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;--mat-sys-body-large-font: Atkinson Hyperlegible Next, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;--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 Atkinson Hyperlegible Next, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;--mat-sys-body-medium-font: Atkinson Hyperlegible Next, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;--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 Atkinson Hyperlegible Next, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;--mat-sys-body-small-font: Atkinson Hyperlegible Next, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;--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 Atkinson Hyperlegible Next, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;--mat-sys-display-large-font: Atkinson Hyperlegible Next, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;--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 Atkinson Hyperlegible Next, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;--mat-sys-display-medium-font: Atkinson Hyperlegible Next, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;--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 Atkinson Hyperlegible Next, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;--mat-sys-display-small-font: Atkinson Hyperlegible Next, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;--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 Atkinson Hyperlegible Next, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;--mat-sys-headline-large-font: Atkinson Hyperlegible Next, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;--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 Atkinson Hyperlegible Next, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;--mat-sys-headline-medium-font: Atkinson Hyperlegible Next, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;--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 Atkinson Hyperlegible Next, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;--mat-sys-headline-small-font: Atkinson Hyperlegible Next, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;--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: 600 .875rem / 1.25rem Atkinson Hyperlegible Next, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;--mat-sys-label-large-font: Atkinson Hyperlegible Next, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;--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: 600;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 600 .75rem / 1rem Atkinson Hyperlegible Next, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;--mat-sys-label-medium-font: Atkinson Hyperlegible Next, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 600;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 600 .688rem / 1rem Atkinson Hyperlegible Next, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;--mat-sys-label-small-font: Atkinson Hyperlegible Next, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 600;--mat-sys-title-large: 400 1.375rem / 1.75rem Atkinson Hyperlegible Next, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;--mat-sys-title-large-font: Atkinson Hyperlegible Next, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;--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: 600 1rem / 1.5rem Atkinson Hyperlegible Next, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;--mat-sys-title-medium-font: Atkinson Hyperlegible Next, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;--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: 600;--mat-sys-title-small: 600 .875rem / 1.25rem Atkinson Hyperlegible Next, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;--mat-sys-title-small-font: Atkinson Hyperlegible Next, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;--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: 600;--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}html.dark-theme{color-scheme:dark;--mat-sys-background: #0b160f;--mat-sys-error: #ffb4ab;--mat-sys-error-container: #93000a;--mat-sys-inverse-on-surface: #28332b;--mat-sys-inverse-primary: #006e26;--mat-sys-inverse-surface: #d9e6da;--mat-sys-on-background: #d9e6da;--mat-sys-on-error: #690005;--mat-sys-on-error-container: #ffdad6;--mat-sys-on-primary: #003910;--mat-sys-on-primary-container: #99f89e;--mat-sys-on-primary-fixed: #002106;--mat-sys-on-primary-fixed-variant: #00531b;--mat-sys-on-secondary: #16371a;--mat-sys-on-secondary-container: #c5edc2;--mat-sys-on-secondary-fixed: #012107;--mat-sys-on-secondary-fixed-variant: #2d4e2e;--mat-sys-on-surface: #d9e6da;--mat-sys-on-surface-variant: #dbe6d6;--mat-sys-on-tertiary: #00315b;--mat-sys-on-tertiary-container: #d3e4ff;--mat-sys-on-tertiary-fixed: #001c38;--mat-sys-on-tertiary-fixed-variant: #004881;--mat-sys-outline: #899486;--mat-sys-outline-variant: #3f493e;--mat-sys-primary: #7edb84;--mat-sys-primary-container: #00531b;--mat-sys-primary-fixed: #99f89e;--mat-sys-primary-fixed-dim: #7edb84;--mat-sys-scrim: #000000;--mat-sys-secondary: #aad0a7;--mat-sys-secondary-container: #2d4e2e;--mat-sys-secondary-fixed: #c5edc2;--mat-sys-secondary-fixed-dim: #aad0a7;--mat-sys-shadow: #000000;--mat-sys-surface: #0b160f;--mat-sys-surface-bright: #303c34;--mat-sys-surface-container: #17221b;--mat-sys-surface-container-high: #212c25;--mat-sys-surface-container-highest: #2c3730;--mat-sys-surface-container-low: #131e17;--mat-sys-surface-container-lowest: #06100a;--mat-sys-surface-dim: #0b160f;--mat-sys-surface-tint: #7edb84;--mat-sys-surface-variant: #3f493e;--mat-sys-tertiary: #a2c9ff;--mat-sys-tertiary-container: #004881;--mat-sys-tertiary-fixed: #d3e4ff;--mat-sys-tertiary-fixed-dim: #a2c9ff;--mat-sys-neutral-variant20: #293328;--mat-sys-neutral10: #131e17;--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-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}html{--mat-sys-primary: var(--app-color-primary);--mat-sys-on-primary: var(--app-color-on-primary);--mat-sys-primary-container: var(--app-color-primary-light);--mat-sys-on-primary-container: var(--app-color-primary-strong);--mat-sys-surface: var(--app-color-surface);--mat-sys-on-surface: var(--app-color-text);--mat-sys-on-surface-variant: var(--app-color-text-secondary);--mat-sys-surface-container-lowest: var(--app-color-surface);--mat-sys-surface-container-low: var(--app-color-surface);--mat-sys-surface-container: var(--app-color-surface);--mat-sys-surface-container-high: var(--app-color-surface);--mat-sys-surface-container-highest: var(--app-color-surface-2);--mat-sys-outline: var(--app-color-border-strong);--mat-sys-outline-variant: var(--app-color-border);--mat-sys-error: var(--app-color-danger);--mat-sys-corner-extra-small: var(--app-radius-xs);--mat-sys-corner-small: var(--app-radius-sm);--mat-sys-corner-medium: var(--app-radius-md);--mat-sys-corner-large: var(--app-radius-lg);--mat-sys-corner-extra-large: var(--app-radius-xl);--mat-sys-corner-full: 999px;--mat-button-filled-container-height: 44px;--mat-button-filled-container-shape: var(--app-radius-md);--mat-button-filled-label-text-weight: 700;--mat-button-filled-label-text-size: 1rem;--mat-button-filled-horizontal-padding: 20px;--mat-button-outlined-container-height: 44px;--mat-button-outlined-container-shape: var(--app-radius-md);--mat-button-outlined-label-text-weight: 700;--mat-button-outlined-label-text-size: 1rem;--mat-button-outlined-outline-width: 2px;--mat-button-outlined-outline-color: var(--app-color-border-strong);--mat-button-outlined-horizontal-padding: 18px;--mat-button-protected-container-height: 44px;--mat-button-protected-container-shape: var(--app-radius-md);--mat-button-protected-label-text-weight: 700;--mat-button-text-container-height: 44px;--mat-button-text-container-shape: var(--app-radius-md);--mat-button-text-label-text-weight: 700;--mat-button-text-label-text-size: 1rem;--mat-button-tonal-container-height: 44px;--mat-button-tonal-container-shape: var(--app-radius-md);--mat-button-tonal-label-text-weight: 700;--mat-fab-container-shape: var(--app-radius-lg);--mat-fab-small-container-shape: var(--app-radius-md);--mat-fab-extended-container-shape: var(--app-radius-lg);--mat-fab-extended-container-height: 64px;--mat-fab-extended-label-text-weight: 700;--mat-fab-extended-label-text-size: 1.0625rem;--mat-form-field-outlined-container-shape: var(--app-radius-md);--mat-form-field-outlined-outline-color: var(--app-color-border-strong);--mat-form-field-outlined-hover-outline-color: var(--app-color-text-secondary);--mat-form-field-outlined-focus-outline-color: var(--app-color-primary);--mat-form-field-outlined-focus-outline-width: 2px;--mat-form-field-outlined-outline-width: 1.5px;--mat-form-field-outlined-label-text-color: var(--app-color-text-secondary);--mat-form-field-outlined-focus-label-text-color: var(--app-color-primary);--mat-form-field-outlined-input-text-color: var(--app-color-text);--mat-form-field-outlined-caret-color: var(--app-color-primary);--mat-form-field-filled-container-shape: var(--app-radius-md);--mat-form-field-filled-container-color: var(--app-color-surface-2);--mat-dialog-container-shape: var(--app-radius-xl);--mat-dialog-container-color: var(--app-color-surface);--mat-dialog-container-elevation-shadow: var(--app-shadow-float);--mat-dialog-subhead-color: var(--app-color-text);--mat-dialog-supporting-text-color: var(--app-color-text);--mat-menu-container-shape: var(--app-radius-lg);--mat-menu-container-color: var(--app-color-surface);--mat-menu-container-elevation-shadow: var(--app-shadow-float);--mat-menu-item-label-text-color: var(--app-color-text);--mat-menu-item-label-text-weight: 600;--mat-menu-item-icon-color: var(--app-color-text-secondary);--mat-menu-item-hover-state-layer-color: var(--app-color-primary-hover-layer);--mat-menu-item-focus-state-layer-color: var(--app-color-primary-hover-layer);--mat-select-panel-background-color: var(--app-color-surface);--mat-select-container-elevation-shadow: var(--app-shadow-float);--mat-select-enabled-trigger-text-color: var(--app-color-text);--mat-select-focused-arrow-color: var(--app-color-primary);--mat-snack-bar-container-shape: var(--app-radius-md);--mat-snack-bar-container-color: var(--app-color-ink);--mat-snack-bar-supporting-text-color: var(--app-color-ink-text);--mat-snack-bar-button-color: var(--app-color-ink-accent);--mat-tooltip-container-shape: var(--app-radius-sm);--mat-tooltip-container-color: var(--app-color-ink);--mat-tooltip-supporting-text-color: var(--app-color-ink-text);--mat-tooltip-supporting-text-size: .8125rem;--mat-chip-container-shape-radius: 999px;--mat-chip-outline-color: var(--app-color-border-strong);--mat-chip-label-text-weight: 600;--mat-card-elevated-container-color: var(--app-color-surface);--mat-card-elevated-container-shape: var(--app-radius-lg);--mat-card-outlined-container-shape: var(--app-radius-lg);--mat-card-outlined-outline-color: var(--app-color-border);--mat-datepicker-calendar-container-shape: var(--app-radius-lg);--mat-datepicker-calendar-container-background-color: var(--app-color-surface);--mat-datepicker-calendar-date-selected-state-background-color: var(--app-color-primary);--mat-datepicker-calendar-date-selected-state-text-color: var(--app-color-on-primary);--mat-datepicker-calendar-date-today-outline-color: var(--app-color-primary);--mat-slide-toggle-selected-track-color: var(--app-color-primary);--mat-slide-toggle-selected-hover-track-color: var(--app-color-primary-hover);--mat-slide-toggle-selected-focus-track-color: var(--app-color-primary);--mat-slide-toggle-selected-pressed-track-color: var(--app-color-primary-hover);--mat-progress-spinner-active-indicator-color: var(--app-color-primary);--mat-progress-bar-active-indicator-color: var(--app-color-primary);--mat-progress-bar-track-color: var(--app-color-primary-light);--mat-tab-active-indicator-color: var(--app-color-primary);--mat-tab-active-label-text-color: var(--app-color-primary-strong);--mat-tab-active-focus-label-text-color: var(--app-color-primary-strong);--mat-tab-active-hover-label-text-color: var(--app-color-primary-strong);--mat-tab-inactive-label-text-color: var(--app-color-text-secondary);--mat-tab-label-text-weight: 700;--mat-tab-active-indicator-height: 4px;--mat-tab-active-indicator-shape: 4px 4px 0 0}*,*:before,*:after{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior:none;accent-color:var(--app-color-primary);caret-color:var(--app-color-primary);scrollbar-color:var(--app-color-scrollbar) transparent}html,body{height:100%}body{margin:0;background-color:var(--app-color-background);color:var(--app-color-text);font-family:var(--app-font-family);font-size:1rem;line-height:1.5;font-kerning:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4{text-wrap:balance;letter-spacing:-.01em}p{text-wrap:pretty}::selection{background:var(--app-color-selection);color:var(--app-color-text)}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}button,a,[role=button],label{touch-action:manipulation}button,[role=button],.mat-mdc-button-base,.mat-mdc-chip,.mat-mdc-tab{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea,select{font-size:max(16px,1em)}input::-ms-reveal,input::-ms-clear{display:none}a{color:var(--app-color-link);text-underline-offset:.2em;text-decoration-thickness:.08em}table,time,.tabular,.mat-mdc-table,.mat-calendar{font-variant-numeric:tabular-nums}:focus-visible{outline:3px solid var(--app-color-focus);outline-offset:2px}.mat-mdc-button-base:focus-visible,.mat-mdc-icon-button:focus-visible{outline:3px solid var(--app-color-focus);outline-offset:2px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--app-color-scrollbar);border-radius:999px;border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--app-color-text-secondary);background-clip:padding-box}.mat-icon{flex-shrink:0}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.app-centered-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:max(24px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom));background-color:var(--app-color-background)}.app-auth-card{width:100%;max-width:460px;padding:40px 40px 32px;background-color:var(--app-color-surface);border:1.5px solid var(--app-color-border);border-radius:var(--app-radius-xl);box-shadow:var(--app-shadow-float);text-align:center}.app-auth-logo{width:220px;margin:0 auto 8px}.app-auth-title{margin:0 0 28px;font-size:1.75rem;line-height:1.15;font-weight:800;letter-spacing:-.02em;color:var(--app-color-text)}@media (max-width: 599.98px){.app-auth-card{padding:28px 20px 24px;border-radius:var(--app-radius-lg)}.app-auth-logo{width:180px}.app-auth-title{font-size:1.5rem}}.app-form{display:flex;flex-direction:column;gap:16px}.app-form-field{display:flex;flex-direction:column;text-align:left;gap:8px;color:var(--app-color-text-secondary)}.app-form-field label{font-weight:700}.app-input{min-height:48px;padding:12px 14px;font-size:1rem;border:1.5px solid var(--app-color-border-strong);border-radius:var(--app-radius-md);background-color:var(--app-color-input-bg);color:var(--app-color-text);transition:border-color .16s var(--app-ease-out),box-shadow .16s var(--app-ease-out)}.app-input:focus,.app-input:focus-visible{outline:none;border-color:var(--app-color-primary);box-shadow:0 0 0 3px var(--app-color-focus-ring)}.app-primary-button{background-color:var(--app-color-primary);color:var(--app-color-on-primary);border:0;box-shadow:0 3px 0 0 var(--app-color-primary-edge);transition:transform var(--app-duration-press) var(--app-ease-out),box-shadow var(--app-duration-press) var(--app-ease-out),background-color var(--app-duration-fast) ease,filter var(--app-duration-fast) ease}@media (hover: hover) and (pointer: fine){.app-primary-button:hover:not(:disabled){filter:brightness(1.06)}}.app-primary-button:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 0 var(--app-color-primary-edge)}.app-primary-button:disabled{cursor:not-allowed;filter:saturate(.3);opacity:.55;box-shadow:none}.app-primary-button{min-height:52px;padding:0 24px;font-size:1.0625rem;font-weight:800;border-radius:var(--app-radius-md);cursor:pointer}.app-muted-link{color:var(--app-color-text-secondary);font-size:.875rem;font-weight:600;text-decoration:none}@media (hover: hover) and (pointer: fine){.app-muted-link:hover{color:var(--app-color-primary-strong);text-decoration:underline}}.app-error{display:flex;gap:8px;align-items:flex-start;padding:12px 14px;border-radius:var(--app-radius-md);background:var(--app-color-danger-light);color:var(--app-color-danger-text);font-size:.9375rem;font-weight:600;text-align:left}.mat-mdc-unelevated-button:not(:disabled):not(.mat-mdc-button-disabled),.mat-mdc-raised-button:not(:disabled):not(.mat-mdc-button-disabled){box-shadow:0 3px 0 0 var(--app-color-primary-edge);transition:transform .12s var(--app-ease-out),box-shadow .12s var(--app-ease-out),background-color .16s ease}.mat-mdc-unelevated-button:not(:disabled):not(.mat-mdc-button-disabled):active,.mat-mdc-raised-button:not(:disabled):not(.mat-mdc-button-disabled):active{transform:translateY(2px);box-shadow:0 1px 0 0 var(--app-color-primary-edge)}.mat-mdc-unelevated-button:not(:disabled):not(.mat-mdc-button-disabled).mat-warn,.mat-mdc-raised-button:not(:disabled):not(.mat-mdc-button-disabled).mat-warn{box-shadow:0 3px 0 0 var(--app-color-danger-edge)}.mat-mdc-unelevated-button:not(:disabled):not(.mat-mdc-button-disabled).mat-warn:active,.mat-mdc-raised-button:not(:disabled):not(.mat-mdc-button-disabled).mat-warn:active{box-shadow:0 1px 0 0 var(--app-color-danger-edge)}.mat-mdc-outlined-button:not(:disabled):not(.mat-mdc-button-disabled),.mat-mdc-button:not(:disabled):not(.mat-mdc-button-disabled),.mat-mdc-icon-button:not(:disabled){transition:transform .12s var(--app-ease-out),background-color .16s ease}.mat-mdc-outlined-button:not(:disabled):not(.mat-mdc-button-disabled):active,.mat-mdc-button:not(:disabled):not(.mat-mdc-button-disabled):active,.mat-mdc-icon-button:not(:disabled):active{transform:scale(.97)}.mat-mdc-outlined-button:not(:disabled):not(.mat-mdc-button-disabled){background-color:var(--app-color-surface)}.mat-mdc-button.mat-warn,.mat-mdc-outlined-button.mat-warn{--mat-button-text-label-text-color: var(--app-color-danger-text);--mat-button-outlined-label-text-color: var(--app-color-danger-text);--mat-button-outlined-outline-color: var(--app-color-danger)}.mat-mdc-unelevated-button.mat-warn{--mat-button-filled-container-color: var(--app-color-danger);--mat-button-filled-label-text-color: var(--app-color-on-danger)}.mat-mdc-extended-fab:not(:disabled){box-shadow:0 4px 0 0 var(--app-color-primary-edge),var(--app-shadow-md)!important;transition:transform .12s var(--app-ease-out),box-shadow .12s var(--app-ease-out)!important}.mat-mdc-extended-fab:not(:disabled):active{transform:translateY(3px);box-shadow:0 1px 0 0 var(--app-color-primary-edge),var(--app-shadow-sm)!important}.mat-mdc-form-field{width:100%}.mat-mdc-form-field-error,.mat-mdc-form-field .mat-mdc-floating-label{font-weight:600}.mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper{background-color:var(--app-color-input-bg);border-radius:var(--app-radius-md)}.mat-mdc-snack-bar-container.app-snackbar-green,.mat-mdc-snack-bar-container.app-snackbar-orange,.mat-mdc-snack-bar-container.app-snackbar-error{--mat-snack-bar-container-color: var(--app-color-ink);--mat-snack-bar-supporting-text-color: var(--app-color-ink-text)}.mat-mdc-snack-bar-container.app-snackbar-green .mdc-snackbar__surface,.mat-mdc-snack-bar-container.app-snackbar-orange .mdc-snackbar__surface,.mat-mdc-snack-bar-container.app-snackbar-error .mdc-snackbar__surface{box-shadow:var(--app-shadow-float)}.mat-mdc-snack-bar-container.app-snackbar-green .mdc-snackbar__label,.mat-mdc-snack-bar-container.app-snackbar-orange .mdc-snackbar__label,.mat-mdc-snack-bar-container.app-snackbar-error .mdc-snackbar__label{display:flex;align-items:center;gap:12px;font-weight:600}.mat-mdc-snack-bar-container.app-snackbar-green .mdc-snackbar__label:before,.mat-mdc-snack-bar-container.app-snackbar-orange .mdc-snackbar__label:before,.mat-mdc-snack-bar-container.app-snackbar-error .mdc-snackbar__label:before{content:"";width:12px;height:12px;border-radius:999px;background:var(--snack-accent, var(--app-color-primary));flex-shrink:0}.mat-mdc-snack-bar-container.app-snackbar-green{--snack-accent: var(--app-color-success-bright);--mat-snack-bar-button-color: var(--app-color-success-bright)}.mat-mdc-snack-bar-container.app-snackbar-orange{--snack-accent: var(--app-color-warning-bright);--mat-snack-bar-button-color: var(--app-color-warning-bright)}.mat-mdc-snack-bar-container.app-snackbar-error{--snack-accent: var(--app-color-danger-bright);--mat-snack-bar-button-color: var(--app-color-danger-bright)}.registrar-actividad-backdrop,.cdk-overlay-dark-backdrop{background-color:var(--app-color-scrim)!important}.registrar-actividad-dialog-panel .mat-mdc-dialog-container,.activity-catalog-dialog-panel .mat-mdc-dialog-container{padding:0!important}.registrar-actividad-dialog-panel .mat-mdc-dialog-container{max-width:none!important;width:100%!important}.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-datepicker-popup{z-index:2000!important}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}.mat-mdc-unelevated-button:active,.mat-mdc-raised-button:active,.mat-mdc-extended-fab:active,.app-primary-button:active{transform:none!important}}.nm-agenda .week-stepper{display:inline-flex;align-items:center;min-height:48px;padding:0 2px;border:1.5px solid var(--app-color-border);border-radius:var(--app-radius-md);background:var(--app-color-surface)}.nm-agenda .step-btn,.nm-agenda .day-add{--mat-icon-button-state-layer-size: 44px;width:44px;height:44px;padding:10px}.nm-agenda .step-btn{color:var(--app-color-text)}.nm-agenda .week-label{min-width:15ch;padding:0 var(--app-spacing-xs);text-align:center;font-size:var(--app-text-md);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--app-color-text)}.nm-agenda .today-btn,.nm-agenda .new-btn{min-height:44px}.nm-agenda .calendar-grid-container{background:var(--app-color-surface);border:1.5px solid var(--app-color-border);border-radius:var(--app-radius-lg);flex:1;min-height:0;position:relative;overflow:auto;overscroll-behavior:contain}.nm-agenda .loading-bar{position:sticky;top:0;left:0;z-index:8;height:4px;margin-bottom:-4px;overflow:hidden;background:var(--app-color-primary-light)}.nm-agenda .loading-bar:after{content:"";position:absolute;inset:0 auto 0 0;width:40%;background:var(--app-color-primary);border-radius:999px;animation:agenda-loading 1.1s var(--app-ease-in-out) infinite}@keyframes agenda-loading{0%{transform:translate(-100%)}to{transform:translate(250%)}}.nm-agenda .calendar-grid{display:flex;min-width:100%}.nm-agenda .time-column{width:64px;min-width:64px;padding-bottom:var(--app-spacing-sm);background:var(--app-color-surface);border-right:1.5px solid var(--app-color-border);position:sticky;left:0;z-index:4}.nm-agenda .time-column .time-header{height:56px;box-sizing:border-box;border-bottom:1.5px solid var(--app-color-border);background:var(--app-color-surface);position:sticky;top:0;z-index:1}.nm-agenda .time-column .time-header+.time-slot span{top:4px}.nm-agenda .time-column .time-slot{height:120px;position:relative;padding-right:var(--app-spacing-sm);text-align:right;font-size:var(--app-text-xs);font-weight:700;font-variant-numeric:tabular-nums;color:var(--app-color-muted)}.nm-agenda .time-column .time-slot span{position:relative;top:-.65em}.nm-agenda .time-column .time-slot:last-child{height:0}.nm-agenda .day-column{flex:1;min-width:150px;display:flex;flex-direction:column;border-right:1.5px solid var(--app-color-border-light)}.nm-agenda .day-column:last-child{border-right:none}.nm-agenda .day-header{height:56px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:var(--app-spacing-2xs);padding:0 var(--app-spacing-2xs) 0 var(--app-spacing-sm);background:var(--app-color-surface);border-bottom:1.5px solid var(--app-color-border);position:sticky;top:0;z-index:3}.nm-agenda .day-name{display:inline-flex;align-items:center;gap:var(--app-spacing-xs);min-width:0}.nm-agenda .day-weekday{font-size:var(--app-text-sm);font-weight:700;text-transform:capitalize;color:var(--app-color-text-secondary)}.nm-agenda .day-number{display:inline-grid;place-items:center;min-width:32px;height:32px;padding:0 6px;box-sizing:border-box;border-radius:999px;font-size:var(--app-text-lg);font-weight:800;font-variant-numeric:tabular-nums;color:var(--app-color-text)}.nm-agenda .day-add{color:var(--app-color-muted)}@media (hover: hover) and (pointer: fine){.nm-agenda .day-add:hover{color:var(--app-color-primary-strong)}}.nm-agenda .day-column.is-today .day-weekday{color:var(--app-color-primary-strong)}.nm-agenda .day-column.is-today .day-number{background:var(--app-color-primary);color:var(--app-color-on-primary);box-shadow:0 2px 0 0 var(--app-color-primary-edge)}.nm-agenda .day-column.is-today .day-body{background-color:var(--app-color-primary-hover-layer)}.nm-agenda .day-body{position:relative;height:calc(var(--agenda-total-hours, 13) * 120px);min-height:calc(var(--agenda-total-hours, 13) * 120px);overflow:hidden;background-color:transparent;cursor:crosshair;transition:background-color var(--app-duration-fast) ease}@media (hover: hover) and (pointer: fine){.nm-agenda .day-body:hover{background-color:var(--app-color-surface-hover)}}.nm-agenda .day-body .hour-line{position:relative;height:120px;box-sizing:border-box;border-bottom:1px solid var(--app-color-border)}.nm-agenda .day-body .hour-line:after{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px dashed var(--app-color-border-light)}.nm-agenda .day-body .quarter-line{display:none}.nm-agenda .drag-preview{position:absolute;left:6px;right:6px;box-sizing:border-box;border-radius:var(--app-radius-sm);border:2px dashed var(--app-color-primary);background:var(--app-color-primary-hover-layer);pointer-events:none;z-index:3}.nm-agenda .appointment-card{--apt-bg: var(--disc-default);--apt-fg: var(--disc-default-text);--apt-edge: var(--disc-default-edge);position:absolute;left:4px;right:6px;box-sizing:border-box;border-radius:var(--app-radius-sm);background-color:var(--apt-bg);color:var(--apt-fg);overflow:hidden;cursor:grab;z-index:1;box-shadow:inset 0 -3px 0 0 var(--apt-edge),inset 0 0 0 1px color-mix(in srgb,var(--apt-edge) 40%,transparent);transition:box-shadow var(--app-duration-press) var(--app-ease-out),filter var(--app-duration-fast) ease}@media (hover: hover) and (pointer: fine){.nm-agenda .appointment-card:hover{filter:brightness(1.05);z-index:2}.nm-agenda .appointment-card:hover .delete-btn,.nm-agenda .appointment-card:hover .resize-handle-indicator:after{opacity:1}}.nm-agenda .appointment-card:focus-within{z-index:2}.nm-agenda .appointment-card:focus-within .delete-btn{opacity:1}.nm-agenda .appointment-card:active{box-shadow:inset 0 -1px 0 0 var(--apt-edge),inset 0 0 0 1px color-mix(in srgb,var(--apt-edge) 40%,transparent)}.nm-agenda .appointment-card:active,.nm-agenda .appointment-card.cdk-drag-dragging{cursor:grabbing;z-index:10}.nm-agenda .appointment-card .appointment-content{display:flex;flex-direction:column;align-items:flex-start;width:100%;height:100%;box-sizing:border-box;margin:0;padding:5px 34px 6px 10px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:inherit;overflow:hidden}.nm-agenda .appointment-card .appointment-content:focus-visible{outline:3px solid var(--app-color-focus);outline-offset:-3px;border-radius:var(--app-radius-sm)}.nm-agenda .appointment-card .appointment-content>span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--app-text-xs);line-height:1.25}.nm-agenda .appointment-card .appointment-time{font-weight:800;font-variant-numeric:tabular-nums}.nm-agenda .appointment-card .appointment-type{font-weight:700}.nm-agenda .appointment-card .appointment-patient{font-weight:600}.nm-agenda .appointment-card .appointment-notes{font-weight:500}.nm-agenda .appointment-card .delete-btn{position:absolute;top:3px;right:3px;z-index:7;display:inline-grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:var(--app-radius-xs);background:color-mix(in srgb,var(--apt-fg) 18%,transparent);color:var(--apt-fg);cursor:pointer;opacity:0;transition:opacity var(--app-duration-fast) ease,background-color var(--app-duration-fast) ease}.nm-agenda .appointment-card .delete-btn mat-icon{width:18px;height:18px;font-size:18px}@media (hover: hover) and (pointer: fine){.nm-agenda .appointment-card .delete-btn:hover{background:color-mix(in srgb,var(--apt-fg) 30%,transparent)}}.nm-agenda .appointment-card .delete-btn:focus-visible{opacity:1;outline:3px solid var(--app-color-focus);outline-offset:-2px}.nm-agenda .appointment-card .resize-handle-indicator{position:absolute;left:0;right:0;height:10px;cursor:ns-resize;z-index:5}.nm-agenda .appointment-card .resize-handle-indicator.top{top:0}.nm-agenda .appointment-card .resize-handle-indicator.bottom{bottom:0}.nm-agenda .appointment-card .resize-handle-indicator:after{content:"";position:absolute;left:50%;width:28px;height:4px;margin-left:-14px;border-radius:999px;background:color-mix(in srgb,var(--apt-fg) 70%,transparent);opacity:0;transition:opacity var(--app-duration-fast) ease}.nm-agenda .appointment-card .resize-handle-indicator.top:after{top:3px}.nm-agenda .appointment-card .resize-handle-indicator.bottom:after{bottom:5px}@media (hover: none){.nm-agenda .appointment-card .delete-btn{opacity:1}}.nm-agenda .cdk-drag-preview{opacity:.94;box-shadow:inset 0 -3px 0 0 var(--apt-edge),var(--app-shadow-lg);z-index:1000}.nm-agenda .cdk-drag-placeholder{opacity:.35;filter:saturate(.4)}body.is-resizing .nm-agenda .appointment-card{pointer-events:none}body.is-resizing .nm-agenda .appointment-card.resizing{pointer-events:all;box-shadow:inset 0 -3px 0 0 var(--apt-edge),var(--app-shadow-md);z-index:1000}.nm-agenda .day-list{display:none}.nm-agenda .day-card{background:var(--app-color-surface);border:1.5px solid var(--app-color-border);border-radius:var(--app-radius-lg);padding:var(--app-spacing-sm) var(--app-spacing-sm) var(--app-spacing-md) var(--app-spacing-md)}.nm-agenda .day-card.is-today{border-color:var(--app-color-primary)}.nm-agenda .day-card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--app-spacing-xs);min-height:44px}.nm-agenda .day-card-title{display:flex;align-items:center;flex-wrap:wrap;gap:var(--app-spacing-xs);margin:0;font-size:var(--app-text-md);font-weight:800;color:var(--app-color-text)}.nm-agenda .day-card-date{display:inline-block}.nm-agenda .day-card-date:first-letter{text-transform:uppercase}.nm-agenda .day-card-add{min-height:44px;flex-shrink:0}.nm-agenda .day-card-list{display:grid;gap:var(--app-spacing-sm);margin:var(--app-spacing-sm) 0 0;padding:0;list-style:none}.nm-agenda .list-apt{--apt-bg: var(--disc-default);--apt-fg: var(--disc-default-text);--apt-edge: var(--disc-default-edge);display:flex;align-items:center;gap:var(--app-spacing-2xs);min-height:56px;border-radius:var(--app-radius-md);background-color:var(--apt-bg);color:var(--apt-fg);box-shadow:0 3px 0 0 var(--apt-edge);transition:transform var(--app-duration-press) var(--app-ease-out),box-shadow var(--app-duration-press) var(--app-ease-out)}.nm-agenda .list-apt:has(.list-apt-main:active){transform:translateY(2px);box-shadow:0 1px 0 0 var(--apt-edge)}.nm-agenda .list-apt-main{flex:1;min-width:0;display:flex;align-items:flex-start;gap:var(--app-spacing-sm);align-self:stretch;margin:0;padding:var(--app-spacing-sm) var(--app-spacing-xs) var(--app-spacing-sm) var(--app-spacing-md);border:0;border-radius:var(--app-radius-md) 0 0 var(--app-radius-md);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.nm-agenda .list-apt-main:focus-visible{outline:3px solid var(--app-color-focus);outline-offset:2px}.nm-agenda .list-apt-time{flex-shrink:0;font-size:var(--app-text-sm);font-weight:800;font-variant-numeric:tabular-nums;line-height:1.35}.nm-agenda .list-apt-text{display:flex;flex-direction:column;min-width:0;gap:2px}.nm-agenda .list-apt-text>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.35}.nm-agenda .list-apt-type{font-size:var(--app-text-sm);font-weight:800}.nm-agenda .list-apt-who{font-size:var(--app-text-sm);font-weight:600}.nm-agenda .list-apt-notes{font-size:var(--app-text-xs);font-weight:500}.nm-agenda .list-apt-delete{--mat-icon-button-state-layer-size: 44px;--mat-icon-button-icon-color: var(--apt-fg);width:44px;height:44px;padding:10px;margin-right:var(--app-spacing-2xs);color:var(--apt-fg);flex-shrink:0}.nm-agenda .list-skeleton{height:56px;margin-top:var(--app-spacing-sm);border-radius:var(--app-radius-md)}.nm-agenda .day-card-empty{margin:var(--app-spacing-xs) 0 0;font-size:var(--app-text-sm);color:var(--app-color-muted)}.nm-agenda .grid-hint{display:flex;align-items:center;gap:var(--app-spacing-xs);margin:0 0 var(--app-spacing-sm);font-size:var(--app-text-sm);color:var(--app-color-muted)}.nm-agenda .grid-hint .mat-icon{flex-shrink:0;width:18px;height:18px;font-size:18px;color:var(--app-color-primary)}@media (max-width: 767.98px){.nm-agenda .grid-hint{display:none}}.nm-agenda .grid-empty{position:absolute;inset:56px 0 0 64px;z-index:6;display:grid;place-items:start center;padding-top:var(--app-spacing-2xl);pointer-events:none}.nm-agenda .appointment-card .recurring-badge{display:inline-flex;vertical-align:-3px;margin-right:4px}.nm-agenda .appointment-card .recurring-badge mat-icon{width:14px;height:14px;font-size:14px}.nm-agenda .list-apt-recurring{display:inline-flex;align-items:center;gap:4px;font-size:var(--app-text-xs);font-weight:700}.nm-agenda .list-apt-recurring mat-icon{width:16px;height:16px;font-size:16px}.nm-table-scroll{max-width:100%;max-height:min(64dvh,560px);overflow:auto;overscroll-behavior-x:contain;border:1.5px solid var(--app-color-border);border-radius:var(--app-radius-md);-webkit-overflow-scrolling:touch}.nm-table-scroll:focus-visible{outline:3px solid var(--app-color-focus);outline-offset:2px}@media (max-width: 767.98px){.nm-table-scroll:has(>.nm-data-table--cards){max-height:none;overflow:visible;border:0;border-radius:0}}.nm-data-table{width:100%;min-width:0;border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums;color:var(--app-color-text)}.nm-data-table th,.nm-data-table td{padding:12px 16px;text-align:right;vertical-align:middle}.nm-data-table thead th{position:sticky;top:0;z-index:1;background:var(--app-color-surface-2);border-bottom:1.5px solid var(--app-color-border);font-size:var(--app-text-sm);font-weight:700;line-height:1.3;color:var(--app-color-text-secondary)}.nm-data-table tbody td{background:var(--app-color-surface);border-bottom:1px solid var(--app-color-border-light);font-size:var(--app-text-md);font-weight:600}.nm-data-table tbody tr:last-child td{border-bottom:0}@media (hover: hover) and (pointer: fine){.nm-data-table tbody tr:hover td{background:var(--app-color-surface-hover)}}.nm-data-table th:first-child,.nm-data-table td:first-child{text-align:left}.nm-data-table tbody th{background:var(--app-color-surface);border-bottom:1px solid var(--app-color-border-light);font-size:var(--app-text-md);font-weight:700;color:var(--app-color-text);overflow-wrap:anywhere}.nm-data-table tbody tr:last-child th{border-bottom:0}@media (hover: hover) and (pointer: fine){.nm-data-table tbody tr:hover th{background:var(--app-color-surface-hover)}}.nm-data-table .is-zero{color:var(--app-color-muted);font-weight:500}@media (max-width: 599.98px){.nm-data-table th,.nm-data-table td{padding:10px 12px}}@media (max-width: 767.98px){.nm-data-table--cards{min-width:0}.nm-data-table--cards thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.nm-data-table--cards tbody{display:flex;flex-direction:column;gap:var(--app-spacing-sm)}.nm-data-table--cards tbody tr{display:grid;grid-template-columns:repeat(auto-fit,minmax(5.5rem,1fr));gap:10px 12px;padding:12px 14px;border-radius:var(--app-radius-md);background:var(--app-color-surface);border:1.5px solid var(--app-color-border);box-shadow:0 3px 0 0 var(--app-color-border-strong)}.nm-data-table--cards tbody th,.nm-data-table--cards tbody td,.nm-data-table--cards tbody tr:last-child th,.nm-data-table--cards tbody tr:last-child td{display:flex;flex-direction:column;gap:2px;position:static;min-width:0;padding:0;border:0;background:transparent;box-shadow:none;text-align:left}.nm-data-table--cards tbody th,.nm-data-table--cards .nm-cell-full{grid-column:1/-1}.nm-data-table--cards td[data-label]:before{content:attr(data-label);color:var(--app-color-text-secondary);font-size:var(--app-text-xs);font-weight:700}}.nm-report .page-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:var(--app-spacing-md) var(--app-spacing-xl)}@media (max-width: 1279.98px){.nm-report .page-header{grid-template-columns:minmax(0,1fr);align-items:start}}.nm-report .title-block{display:grid;gap:var(--app-spacing-xs);min-width:0}.nm-report .title-block h1{font-size:var(--app-text-3xl);font-weight:800;line-height:1.1;letter-spacing:-.02em;color:var(--app-color-text)}@media (max-width: 599.98px){.nm-report .title-block h1{font-size:var(--app-text-2xl)}}.nm-report .page-lede{max-width:60ch;color:var(--app-color-text-secondary);font-size:var(--app-text-md)}.nm-report .period-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--app-spacing-sm)}.nm-report .period-toolbar .date-field{width:184px}@media (max-width: 599.98px){.nm-report .period-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.nm-report .period-toolbar .date-field{width:100%}}.nm-report .toolbar-actions{display:flex;flex-wrap:wrap;gap:var(--app-spacing-sm)}@media (max-width: 599.98px){.nm-report .toolbar-actions{grid-column:1/-1}.nm-report .toolbar-actions>button{flex:1 1 auto;min-width:0;white-space:nowrap;--mat-button-outlined-horizontal-padding: 12px;--mat-button-filled-horizontal-padding: 14px}}.nm-report .button-spinner{display:inline-block;margin-right:var(--app-spacing-xs);vertical-align:middle;--mat-progress-spinner-active-indicator-color: currentColor}.nm-report .form-error{grid-column:1/-1}.nm-report .loading-slot{height:4px;margin:var(--app-spacing-md) 0 var(--app-spacing-md);border-radius:999px;overflow:hidden}
