html{color-scheme:light dark;--mat-sys-background: light-dark(#fdf9f2, #141310);--mat-sys-error: light-dark(#ab342c, #ffb4aa);--mat-sys-error-container: light-dark(#ffdad5, #8a1c17);--mat-sys-inverse-on-surface: light-dark(#f4f0ea, #31302c);--mat-sys-inverse-primary: light-dark(#a5c8ff, #3a6092);--mat-sys-inverse-surface: light-dark(#31302c, #e6e2dc);--mat-sys-on-background: light-dark(#1c1c18, #e6e2dc);--mat-sys-on-error: light-dark(#ffffff, #690004);--mat-sys-on-error-container: light-dark(#8a1c17, #ffdad5);--mat-sys-on-primary: light-dark(#ffffff, #00315f);--mat-sys-on-primary-container: light-dark(#1e4879, #d4e3ff);--mat-sys-on-primary-fixed: light-dark(#001c3a, #001c3a);--mat-sys-on-primary-fixed-variant: light-dark(#1e4879, #1e4879);--mat-sys-on-secondary: light-dark(#ffffff, #2a313c);--mat-sys-on-secondary-container: light-dark(#404753, #dce3f2);--mat-sys-on-secondary-fixed: light-dark(#151c27, #151c27);--mat-sys-on-secondary-fixed-variant: light-dark(#404753, #404753);--mat-sys-on-surface: light-dark(#1c1c18, #e6e2dc);--mat-sys-on-surface-variant: light-dark(#474742, #e5e2db);--mat-sys-on-tertiary: light-dark(#ffffff, #003734);--mat-sys-on-tertiary-container: light-dark(#00504c, #96f2eb);--mat-sys-on-tertiary-fixed: light-dark(#00201e, #00201e);--mat-sys-on-tertiary-fixed-variant: light-dark(#00504c, #00504c);--mat-sys-outline: light-dark(#787771, #92918a);--mat-sys-outline-variant: light-dark(#c9c6bf, #474742);--mat-sys-primary: light-dark(#3a6092, #a5c8ff);--mat-sys-primary-container: light-dark(#d4e3ff, #1e4879);--mat-sys-primary-fixed: light-dark(#d4e3ff, #d4e3ff);--mat-sys-primary-fixed-dim: light-dark(#a5c8ff, #a5c8ff);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#585f6c, #c0c7d6);--mat-sys-secondary-container: light-dark(#dce3f2, #404753);--mat-sys-secondary-fixed: light-dark(#dce3f2, #dce3f2);--mat-sys-secondary-fixed-dim: light-dark(#c0c7d6, #c0c7d6);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#fdf9f2, #141310);--mat-sys-surface-bright: light-dark(#fdf9f2, #3a3935);--mat-sys-surface-container: light-dark(#f1ede7, #20201c);--mat-sys-surface-container-high: light-dark(#ebe8e1, #2b2a26);--mat-sys-surface-container-highest: light-dark(#e6e2dc, #363531);--mat-sys-surface-container-low: light-dark(#f7f3ed, #1c1c18);--mat-sys-surface-container-lowest: light-dark(#ffffff, #0f0e0b);--mat-sys-surface-dim: light-dark(#dddad3, #141310);--mat-sys-surface-tint: light-dark(#3a6092, #a5c8ff);--mat-sys-surface-variant: light-dark(#e5e2db, #474742);--mat-sys-tertiary: light-dark(#006a65, #7ad6cf);--mat-sys-tertiary-container: light-dark(#96f2eb, #00504c);--mat-sys-tertiary-fixed: light-dark(#96f2eb, #96f2eb);--mat-sys-tertiary-fixed-dim: light-dark(#7ad6cf, #7ad6cf);--mat-sys-neutral-variant20: #31312c;--mat-sys-neutral10: #1c1c18;--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(#2d5486, #a5c0e4);--mat-sys-on-primary: light-dark(#ffffff, #12253f);--mat-sys-primary-container: light-dark(#d9e4f3, #263f5e);--mat-sys-on-primary-container: light-dark(#14325a, #d4e3ff);--mat-sys-secondary-container: light-dark(#e3e8ef, #2c3440);--mat-sys-on-secondary-container: light-dark(#1f2a3a, #d6deeb);--mat-sys-surface: light-dark(#fcfbf9, #1d2025);--mat-sys-on-surface: light-dark(#25282d, #dde0e5);--mat-sys-on-surface-variant: light-dark(#5a5f67, #a3a9b3);--mat-sys-surface-container-lowest: light-dark(#fefdfc, #16181c);--mat-sys-surface-container-low: light-dark(#f7f6f2, #202329);--mat-sys-surface-container: light-dark(#f3f2ee, #23262c);--mat-sys-surface-container-high: light-dark(#eeede8, #282b32);--mat-sys-surface-container-highest: light-dark(#e8e7e1, #2e3138);--mat-sys-outline: light-dark(#7a7e86, #868c97);--mat-sys-outline-variant: light-dark(#d9d7d0, #3a3e47);--app-bg: light-dark(#f3f2ee, #16181c);--app-surface: light-dark(#fcfbf9, #1d2025);--app-surface-2: light-dark(#f7f6f2, #23262c);--app-border: light-dark(#e3e1db, #30343c);--app-border-strong: light-dark(#c9c6be, #474c56);--app-text: light-dark(#25282d, #dde0e5);--app-text-muted: light-dark(#5a5f67, #a3a9b3);--app-navy: #24456d;--app-navy-deep: #1c3757;--app-navy-deeper: #142942;--app-on-navy: #ffffff;--app-on-navy-muted: #c9d5e6;--app-navy-ink: light-dark(#2d5486, #a5c0e4);--app-brand-line: light-dark(#b5c3d8, #3c4a60);--app-brand-mark: light-dark(#6b80a3, #8ba0c4);--app-mark-bg: light-dark(#fbeeb0, #4a3d14);--app-current: light-dark(#0e6b67, #7fd0c8);--app-current-strong: light-dark(#12807a, #4fb8ae);--app-current-bg: light-dark(#e3f1ef, #15302d);--app-current-border: light-dark(#9fcfca, #2a5a55);--app-focus: var(--app-current-strong);--app-current-ring: color-mix(in srgb, var(--app-current-strong) 16%, transparent);--app-on-current: light-dark(#ffffff, #06201d);--app-on-current-warn: light-dark(#fff0bf, #5a1f05);--app-current-on-navy: #5ec9c0;--tone-neutral-fg: light-dark(#4a4f57, #c4c8cf);--tone-neutral-bg: light-dark(#ebeae5, #2a2d33);--tone-neutral-solid: light-dark(#6e737d, #8a909b);--tone-neutral-on: light-dark(#ffffff, #121418);--tone-info-fg: light-dark(#1d5c99, #9ec4ee);--tone-info-bg: light-dark(#e6eff8, #1a2a3c);--tone-info-solid: light-dark(#2f76bd, #5e9ddd);--tone-info-on: light-dark(#ffffff, #0c1520);--tone-info-line: light-dark(#bcd3ec, #2b4462);--tone-success-fg: light-dark(#2a6a3a, #a0d3ab);--tone-success-bg: light-dark(#e5f1e6, #1b2d21);--tone-success-solid: light-dark(#347f46, #5fae73);--tone-success-on: light-dark(#ffffff, #0c1a10);--tone-success-line: light-dark(#bcdbc2, #2c4a34);--tone-warning-fg: light-dark(#8a5000, #ecc57c);--tone-warning-bg: light-dark(#faefd9, #322817);--tone-warning-solid: light-dark(#bb7e0a, #d6a440);--tone-warning-on: light-dark(#2a1a00, #1c1404);--tone-warning-line: light-dark(#ebd3a4, #554322);--tone-danger-fg: light-dark(#a8322a, #f2aaa2);--tone-danger-bg: light-dark(#f9e8e5, #3a1f1e);--tone-danger-solid: light-dark(#cc4a3f, #e0736a);--tone-danger-on: light-dark(#ffffff, #1f0c0a);--tone-danger-line: light-dark(#efc4bf, #5c2e2b);--tone-primary-fg: light-dark(#2d5486, #b9cdea);--tone-primary-bg: light-dark(#e8edf5, #243247);--tone-primary-solid: light-dark(#2d5486, #8eaedb);--tone-primary-on: light-dark(#ffffff, #0f1d31);--tone-violet-fg: light-dark(#5a46a8, #c8bdf3);--tone-violet-bg: light-dark(#efecf8, #2a2640);--tone-violet-solid: light-dark(#7a68c9, #9d8fe3);--tone-violet-on: light-dark(#ffffff, #15112b);--tone-muted-solid: light-dark(#cfccc4, #4a4f59);--tone-muted-on: light-dark(#25282d, #e3e6ea);--status-backlog-solid: var(--tone-neutral-solid);--status-backlog-fg: var(--tone-neutral-fg);--status-backlog-bg: var(--tone-neutral-bg);--status-backlog-on: var(--tone-neutral-on);--status-todo-solid: var(--tone-violet-solid);--status-todo-fg: var(--tone-violet-fg);--status-todo-bg: var(--tone-violet-bg);--status-todo-on: var(--tone-violet-on);--status-progress-solid: var(--tone-info-solid);--status-progress-fg: var(--tone-info-fg);--status-progress-bg: var(--tone-info-bg);--status-progress-on: var(--tone-info-on);--status-review-solid: var(--tone-warning-solid);--status-review-fg: var(--tone-warning-fg);--status-review-bg: var(--tone-warning-bg);--status-review-on: var(--tone-warning-on);--status-done-solid: var(--tone-success-solid);--status-done-fg: var(--tone-success-fg);--status-done-bg: var(--tone-success-bg);--status-done-on: var(--tone-success-on);--state-progress-fg: var(--tone-primary-fg);--state-progress-bg: var(--app-surface);--state-progress-bd: light-dark(#6f86ab, #6884ad);--state-attention-fg: var(--tone-warning-fg);--state-attention-bg: var(--tone-warning-bg);--state-attention-bd: var(--tone-warning-solid);--state-ok-fg: var(--tone-success-fg);--state-ok-bg: var(--tone-success-bg);--state-ok-bd: var(--tone-success-solid);--state-ko-fg: var(--tone-danger-fg);--state-ko-bg: var(--tone-danger-bg);--state-ko-bd: var(--tone-danger-solid);--state-exc-fg: #ffffff;--state-exc-bg: light-dark(#a8322a, #a52d25);--state-exc-bd: light-dark(#a8322a, #e0736a);--edge-both: light-dark(#868a91, #6f747d);--edge-pacte: var(--tone-info-solid);--edge-fondos: light-dark(#8e4a9f, #c793d3);--snack-error-bg: light-dark(#8f2b24, #f2aaa2);--snack-error-fg: light-dark(#ffffff, #2a0a06);--snack-error-action: light-dark(#ffd8d2, #2a0a06);--snack-success-bg: light-dark(#2a6a3a, #a0d3ab);--snack-success-fg: light-dark(#ffffff, #0d240c);--snack-success-action: light-dark(#cdeec4, #0d240c);--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 light-dark(rgb(40 36 28 / 5%), rgb(0 0 0 / 30%)), 0 1px 3px light-dark(rgb(40 36 28 / 7%), rgb(0 0 0 / 25%));--app-shadow-lg: 0 12px 32px light-dark(rgb(40 36 28 / 12%), rgb(0 0 0 / 45%));--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;--mat-dialog-container-color: var(--app-surface)}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:var(--app-mark-bg);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:var(--app-text-muted);font-family:IBM Plex Sans,system-ui,sans-serif}.boot__mark{font-family:IBM Plex Mono,ui-monospace,monospace;font-weight:600;background:var(--app-navy);color:var(--app-on-navy);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:var(--app-on-current);background:var(--app-current-strong)}.badge[data-tone=violet]{color:var(--tone-violet-fg);background:var(--tone-violet-bg)}.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}.empty-state.empty-state--compact{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:0 12px;padding:10px 16px;text-align:left}.empty-state.empty-state--compact .empty-state__icon{grid-row:span 2;width:28px;height:28px;font-size:28px;color:var(--app-text-muted)}.empty-state.empty-state--compact .empty-state__title{font-size:.92rem}.empty-state.empty-state--compact .empty-state__message{max-width:none;font-size:.86rem}.empty-state.empty-state--compact .empty-state__actions:empty{display:none}.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: var(--snack-error-bg);--mat-snack-bar-supporting-text-color: var(--snack-error-fg);--mat-snack-bar-button-color: var(--snack-error-action)}.snack-success{--mat-snack-bar-container-color: var(--snack-success-bg);--mat-snack-bar-supporting-text-color: var(--snack-success-fg);--mat-snack-bar-button-color: var(--snack-success-action)}.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}.project-menu{min-width:280px!important}.project-menu .mat-mdc-menu-item .mdc-list-item__primary-text{display:flex;align-items:center;gap:10px}.project-menu .menu-check{margin-left:auto}.project-menu__title{padding:8px 16px 4px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--app-text-muted)}
