html{color-scheme:light dark;--mat-sys-background: light-dark(#faf8ff, #0f131f);--mat-sys-error: light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container: light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface: light-dark(#eef0ff, #2c303d);--mat-sys-inverse-primary: light-dark(#bbc3ff, #515a96);--mat-sys-inverse-surface: light-dark(#2c303d, #dfe2f4);--mat-sys-on-background: light-dark(#171b28, #dfe2f4);--mat-sys-on-error: light-dark(#ffffff, #690005);--mat-sys-on-error-container: light-dark(#93000a, #ffdad6);--mat-sys-on-primary: light-dark(#ffffff, #222b65);--mat-sys-on-primary-container: light-dark(#39427d, #dfe0ff);--mat-sys-on-primary-fixed: light-dark(#0a144f, #0a144f);--mat-sys-on-primary-fixed-variant: light-dark(#39427d, #39427d);--mat-sys-on-secondary: light-dark(#ffffff, #2c2f46);--mat-sys-on-secondary-container: light-dark(#42455e, #dfe0ff);--mat-sys-on-secondary-fixed: light-dark(#171a30, #171a30);--mat-sys-on-secondary-fixed-variant: light-dark(#42455e, #42455e);--mat-sys-on-surface: light-dark(#171b28, #dfe2f4);--mat-sys-on-surface-variant: light-dark(#464650, #e3e1ed);--mat-sys-on-tertiary: light-dark(#ffffff, #003733);--mat-sys-on-tertiary-container: light-dark(#00504a, #9cf2e8);--mat-sys-on-tertiary-fixed: light-dark(#00201d, #00201d);--mat-sys-on-tertiary-fixed-variant: light-dark(#00504a, #00504a);--mat-sys-outline: light-dark(#767681, #90909b);--mat-sys-outline-variant: light-dark(#c6c5d1, #464650);--mat-sys-primary: light-dark(#515a96, #bbc3ff);--mat-sys-primary-container: light-dark(#dfe0ff, #39427d);--mat-sys-primary-fixed: light-dark(#dfe0ff, #dfe0ff);--mat-sys-primary-fixed-dim: light-dark(#bbc3ff, #bbc3ff);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#5a5d76, #c2c4e2);--mat-sys-secondary-container: light-dark(#dfe0ff, #42455e);--mat-sys-secondary-fixed: light-dark(#dfe0ff, #dfe0ff);--mat-sys-secondary-fixed-dim: light-dark(#c2c4e2, #c2c4e2);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#faf8ff, #0f131f);--mat-sys-surface-bright: light-dark(#faf8ff, #353946);--mat-sys-surface-container: light-dark(#eaedff, #1b1f2c);--mat-sys-surface-container-high: light-dark(#e4e7f9, #252a37);--mat-sys-surface-container-highest: light-dark(#dfe2f4, #303442);--mat-sys-surface-container-low: light-dark(#f2f3ff, #171b28);--mat-sys-surface-container-lowest: light-dark(#ffffff, #090e1a);--mat-sys-surface-dim: light-dark(#d6d9eb, #0f131f);--mat-sys-surface-tint: light-dark(#515a96, #bbc3ff);--mat-sys-surface-variant: light-dark(#e3e1ed, #464650);--mat-sys-tertiary: light-dark(#006a63, #80d5cb);--mat-sys-tertiary-container: light-dark(#9cf2e8, #00504a);--mat-sys-tertiary-fixed: light-dark(#9cf2e8, #9cf2e8);--mat-sys-tertiary-fixed-dim: light-dark(#80d5cb, #80d5cb);--mat-sys-neutral-variant20: #2f3039;--mat-sys-neutral10: #171b28;--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 IBM Plex Sans, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--mat-sys-body-large-font: IBM Plex Sans, system-ui, -apple-system, Segoe UI, Roboto, 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 IBM Plex Sans, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--mat-sys-body-medium-font: IBM Plex Sans, system-ui, -apple-system, Segoe UI, Roboto, 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 IBM Plex Sans, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--mat-sys-body-small-font: IBM Plex Sans, system-ui, -apple-system, Segoe UI, Roboto, 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 IBM Plex Sans, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--mat-sys-display-large-font: IBM Plex Sans, system-ui, -apple-system, Segoe UI, Roboto, 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 IBM Plex Sans, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--mat-sys-display-medium-font: IBM Plex Sans, system-ui, -apple-system, Segoe UI, Roboto, 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 IBM Plex Sans, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--mat-sys-display-small-font: IBM Plex Sans, system-ui, -apple-system, Segoe UI, Roboto, 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 IBM Plex Sans, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--mat-sys-headline-large-font: IBM Plex Sans, system-ui, -apple-system, Segoe UI, Roboto, 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 IBM Plex Sans, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--mat-sys-headline-medium-font: IBM Plex Sans, system-ui, -apple-system, Segoe UI, Roboto, 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 IBM Plex Sans, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--mat-sys-headline-small-font: IBM Plex Sans, system-ui, -apple-system, Segoe UI, Roboto, 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: 500 .875rem / 1.25rem IBM Plex Sans, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--mat-sys-label-large-font: IBM Plex Sans, system-ui, -apple-system, Segoe UI, Roboto, 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: 500;--mat-sys-label-large-weight-prominent: 600;--mat-sys-label-medium: 500 .75rem / 1rem IBM Plex Sans, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--mat-sys-label-medium-font: IBM Plex Sans, system-ui, -apple-system, Segoe UI, Roboto, 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: 500;--mat-sys-label-medium-weight-prominent: 600;--mat-sys-label-small: 500 .688rem / 1rem IBM Plex Sans, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--mat-sys-label-small-font: IBM Plex Sans, system-ui, -apple-system, Segoe UI, Roboto, 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: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem IBM Plex Sans, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--mat-sys-title-large-font: IBM Plex Sans, system-ui, -apple-system, Segoe UI, Roboto, 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: 500 1rem / 1.5rem IBM Plex Sans, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--mat-sys-title-medium-font: IBM Plex Sans, system-ui, -apple-system, Segoe UI, Roboto, 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: 500;--mat-sys-title-small: 500 .875rem / 1.25rem IBM Plex Sans, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--mat-sys-title-small-font: IBM Plex Sans, system-ui, -apple-system, Segoe UI, Roboto, 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: 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;--mat-sys-primary: light-dark(#1e2761, #bbc3ff);--mat-sys-on-primary: light-dark(#ffffff, #0a144f);--app-bg: light-dark(#f4f5f9, #0d1020);--app-surface: light-dark(#ffffff, #151a2e);--app-surface-2: light-dark(#f8f9fc, #1a2036);--app-border: light-dark(#e1e4ee, #2a3150);--app-border-strong: light-dark(#c9cede, #3a4366);--app-text: light-dark(#161a2e, #e6e8f2);--app-text-muted: light-dark(#5b6076, #a2a8c0);--app-navy: #1e2761;--app-navy-ink: light-dark(#1e2761, #bbc3ff);--app-current: light-dark(#0b6b63, #5eead4);--app-current-strong: light-dark(#0f766e, #2dd4bf);--app-current-bg: light-dark(#e3f4f1, #0f2e2b);--app-current-border: light-dark(#8fd3c8, #1f5f58);--tone-neutral-fg: light-dark(#454a60, #c4c8d8);--tone-neutral-bg: light-dark(#eceef4, #252b42);--tone-info-fg: light-dark(#1d4ed8, #93b4ff);--tone-info-bg: light-dark(#e6eeff, #1a2650);--tone-success-fg: light-dark(#166534, #86efac);--tone-success-bg: light-dark(#e3f5e9, #12301e);--tone-warning-fg: light-dark(#8a4b06, #fcd34d);--tone-warning-bg: light-dark(#fdf1d8, #3a2b0a);--tone-danger-fg: light-dark(#b42318, #fca5a5);--tone-danger-bg: light-dark(#fde8e6, #3d1515);--tone-primary-fg: light-dark(#1e2761, #c9cfff);--tone-primary-bg: light-dark(#e4e7fb, #232b58);--state-progress-fg: var(--tone-primary-fg);--state-progress-bg: var(--app-surface);--state-progress-bd: light-dark(#9aa3d6, #4a5590);--state-attention-fg: var(--tone-warning-fg);--state-attention-bg: var(--tone-warning-bg);--state-attention-bd: light-dark(#e0b45c, #8a6a1c);--state-ok-fg: var(--tone-success-fg);--state-ok-bg: var(--tone-success-bg);--state-ok-bd: light-dark(#6fbf8a, #2f7a4a);--state-ko-fg: var(--tone-danger-fg);--state-ko-bg: var(--tone-danger-bg);--state-ko-bd: light-dark(#e79a92, #8a3a32);--state-exc-fg: light-dark(#ffffff, #2a0a06);--state-exc-bg: light-dark(#b42318, #fca5a5);--state-exc-bd: var(--state-exc-bg);--edge-both: light-dark(#8a90a8, #6b7290);--edge-pacte: var(--tone-info-fg);--edge-fondos: var(--app-current-strong);--page-pad-x: clamp(16px, 2.2vw, 40px);--app-font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--app-radius: 12px;--app-radius-sm: 8px;--app-shadow: 0 1px 2px rgb(16 24 40 / 6%), 0 1px 3px rgb(16 24 40 / 8%);--app-shadow-lg: 0 12px 32px rgb(16 24 40 / 12%);--mat-sidenav-container-background-color: var(--app-surface);--mat-sidenav-content-background-color: var(--app-bg);--mat-sidenav-container-shape: 0;--mat-toolbar-container-background-color: var(--app-surface);--mat-toolbar-container-text-color: var(--app-text);--mat-dialog-container-shape: 16px}html[data-theme=light]{color-scheme:light}html[data-theme=dark]{color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--app-bg);color:var(--app-text);font:var(--mat-sys-body-medium);font-size:.9375rem;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.01em;color:var(--app-text)}p{margin:0}a{color:var(--app-navy-ink)}mark{background:light-dark(#fff1b8,#5c4a0a);color:inherit;border-radius:3px;padding:0 1px}code,.mono{font-family:var(--app-font-mono);font-feature-settings:"zero" 1}:focus-visible{outline:2px solid var(--app-current-strong);outline-offset:2px}.mat-icon{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;flex-shrink:0}.mat-icon.filled{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.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}.full{width:100%}.spacer{flex:1 1 auto}.boot{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:12px;color:#5b6076;font-family:IBM Plex Sans,system-ui,sans-serif}.boot__mark{font-family:IBM Plex Mono,ui-monospace,monospace;font-weight:600;background:#1e2761;color:#fff;border-radius:10px;padding:10px 14px;letter-spacing:.08em}.badge{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 9px;border-radius:999px;font-size:.75rem;font-weight:600;line-height:1;white-space:nowrap;color:var(--tone-neutral-fg);background:var(--tone-neutral-bg)}.badge .mat-icon{width:16px;height:16px;font-size:16px}.badge[data-tone=info]{color:var(--tone-info-fg);background:var(--tone-info-bg)}.badge[data-tone=success]{color:var(--tone-success-fg);background:var(--tone-success-bg)}.badge[data-tone=warning]{color:var(--tone-warning-fg);background:var(--tone-warning-bg)}.badge[data-tone=danger]{color:var(--tone-danger-fg);background:var(--tone-danger-bg)}.badge[data-tone=primary]{color:var(--tone-primary-fg);background:var(--tone-primary-bg)}.badge[data-tone=current]{color:light-dark(#ffffff,#042f2c);background:var(--app-current-strong)}.badge-wrap .badge{height:auto;min-height:24px;padding:3px 9px;line-height:1.3;white-space:normal}.paragraphs{display:block}.paragraphs p{white-space:pre-line;overflow-wrap:anywhere}.paragraphs p+p{margin-top:.75em}.paragraphs.paragraphs--roomy p+p{margin-top:1em}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:48px 24px;border:1px dashed var(--app-border-strong);border-radius:var(--app-radius);background:var(--app-surface-2);color:var(--app-text-muted)}.empty-state__icon{width:40px;height:40px;font-size:40px;color:var(--app-border-strong)}.empty-state__title{font-size:1rem;color:var(--app-text)}.empty-state__message{max-width:52ch}.empty-state__actions:not(:empty){margin-top:10px}.loading-block{display:flex;align-items:center;justify-content:center;gap:12px;padding:40px 16px;color:var(--app-text-muted)}.loading-block__spinner{width:20px;height:20px;border-radius:50%;border:2.5px solid var(--app-border-strong);border-top-color:var(--app-current-strong);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.load-error{display:flex;align-items:center;gap:12px;padding:16px;border-radius:var(--app-radius);background:var(--tone-danger-bg);color:var(--tone-danger-fg)}.load-error__text{display:flex;flex-direction:column;flex:1;color:var(--app-text)}.is-target{animation:target-flash 3s ease-out}@keyframes target-flash{0%,35%{box-shadow:0 0 0 3px var(--app-current-strong),var(--app-shadow-lg)}to{box-shadow:0 0 0 0 transparent}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.page{display:block;max-width:var(--page-max, 1440px);margin:0 auto;padding:22px var(--page-pad-x) 56px;container:page/inline-size}.page--read{--page-max: 1200px}.page--wide{--page-max: 1680px}@media(max-width:720px){.page{padding:16px 16px 48px}}.page-header{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:18px}.page-header__icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--tone-primary-bg);color:var(--tone-primary-fg)}.page-header__text{flex:1 1 280px;min-width:0}.page-header__eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--app-text-muted)}.page-header h1{font-size:1.5rem;line-height:1.25}.page-header__desc{margin-top:4px;color:var(--app-text-muted);max-width:75ch}.page-header__actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.card{background:var(--app-surface);border:1px solid var(--app-border);border-radius:var(--app-radius);box-shadow:var(--app-shadow)}.toolbar-filters{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px}.toolbar-filters .mat-mdc-form-field{min-width:200px}.count-chip{display:inline-grid;place-items:center;min-width:22px;height:20px;padding:0 6px;border-radius:999px;font-size:.72rem;font-weight:600;background:var(--tone-neutral-bg);color:var(--tone-neutral-fg)}.danger-button.mat-mdc-button-base:not(:disabled){--mat-button-filled-container-color: var(--mat-sys-error);--mat-button-filled-label-text-color: var(--mat-sys-on-error);--mat-button-text-label-text-color: var(--mat-sys-error)}.danger-text{color:var(--mat-sys-error)}.dialog-form{display:flex;flex-direction:column;gap:14px;padding-top:6px!important}.dialog-form .row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.dialog-error{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-radius:var(--app-radius-sm);background:var(--tone-danger-bg);color:var(--tone-danger-fg);font-size:.875rem}.confirm-title{display:flex!important;align-items:center;gap:8px}.confirm-title__icon{color:var(--mat-sys-error)}.confirm-detail{margin-top:10px;color:var(--app-text-muted)}.snack-error{--mat-snack-bar-container-color: light-dark(#7a1d14, #fca5a5);--mat-snack-bar-supporting-text-color: light-dark(#fff, #2a0a06);--mat-snack-bar-button-color: light-dark(#ffd8d2, #2a0a06)}.snack-success{--mat-snack-bar-container-color: light-dark(#0b4f49, #5eead4);--mat-snack-bar-supporting-text-color: light-dark(#fff, #042f2c);--mat-snack-bar-button-color: light-dark(#b9f3ea, #042f2c)}.menu-check{visibility:hidden}.menu-check.on{visibility:visible}.icon-btn-sm.mat-mdc-icon-button{--mat-icon-button-state-layer-size: 34px;width:34px;height:34px;padding:5px}.icon-btn-sm.mat-mdc-icon-button .mat-icon{font-size:20px;width:20px;height:20px}
