:root{--app-bg: #f6f7f9;--app-surface: #ffffff;--app-border: #e3e6ea;--app-column: #eef0f3;--app-input-border: #cbd5e1;--app-text: #334155;--app-text-muted: #64748b;--app-primary: #0d9488;--app-on-primary: #ffffff;--app-primary-soft: #f0fdfa;--app-on-primary-soft: #0f766e;--app-primary-chip: #ccfbf1;--app-on-primary-chip: #115e59;--app-status-created: #64748b;--app-status-created-bg: #f1f5f9;--app-status-initialized: #0284c7;--app-status-initialized-bg: #e0f2fe;--app-status-review: #7c3aed;--app-status-review-bg: #ede9fe;--app-status-correction: #ea580c;--app-status-correction-bg: #ffedd5;--app-status-finished: #16a34a;--app-status-finished-bg: #dcfce7;--app-info: #0284c7}:root.app-dark{--app-bg: #0f1215;--app-surface: #171b20;--app-border: #2a3038;--app-column: #1c2128;--app-input-border: #3a424d;--app-text: #ffffff;--app-text-muted: #94a3b8;--app-primary: #2dd4bf;--app-on-primary: #042f2e;--app-primary-soft: color-mix(in srgb, #14b8a6 18%, transparent);--app-on-primary-soft: #99f6e4;--app-primary-chip: color-mix(in srgb, #14b8a6 24%, transparent);--app-on-primary-chip: #ccfbf1;--app-status-created: #94a3b8;--app-status-created-bg: #1e293b;--app-status-initialized: #38bdf8;--app-status-initialized-bg: color-mix(in srgb, #0ea5e9 20%, transparent);--app-status-review: #a78bfa;--app-status-review-bg: color-mix(in srgb, #8b5cf6 22%, transparent);--app-status-correction: #fb923c;--app-status-correction-bg: color-mix(in srgb, #f97316 20%, transparent);--app-status-finished: #4ade80;--app-status-finished-bg: color-mix(in srgb, #22c55e 20%, transparent);--app-info: #38bdf8}html{height:100%;color-scheme:light;--mat-sys-background: light-dark(#f4fbf8, #0e1513);--mat-sys-error: light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container: light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface: light-dark(#ecf2ef, #2b3230);--mat-sys-inverse-primary: light-dark(#4fdbc8, #006b5f);--mat-sys-inverse-surface: light-dark(#2b3230, #dde4e1);--mat-sys-on-background: light-dark(#161d1b, #dde4e1);--mat-sys-on-error: light-dark(#ffffff, #690005);--mat-sys-on-error-container: light-dark(#93000a, #ffdad6);--mat-sys-on-primary: light-dark(#ffffff, #003731);--mat-sys-on-primary-container: light-dark(#005048, #71f8e4);--mat-sys-on-primary-fixed: light-dark(#00201c, #00201c);--mat-sys-on-primary-fixed-variant: light-dark(#005048, #005048);--mat-sys-on-secondary: light-dark(#ffffff, #003731);--mat-sys-on-secondary-container: light-dark(#1f4e47, #bbece2);--mat-sys-on-secondary-fixed: light-dark(#00201c, #00201c);--mat-sys-on-secondary-fixed-variant: light-dark(#1f4e47, #1f4e47);--mat-sys-on-surface: light-dark(#161d1b, #dde4e1);--mat-sys-on-surface-variant: light-dark(#3c4947, #d7e6e1);--mat-sys-on-tertiary: light-dark(#ffffff, #3d1b71);--mat-sys-on-tertiary-container: light-dark(#553589, #ecdcff);--mat-sys-on-tertiary-fixed: light-dark(#270057, #270057);--mat-sys-on-tertiary-fixed-variant: light-dark(#553589, #553589);--mat-sys-outline: light-dark(#6c7a77, #859490);--mat-sys-outline-variant: light-dark(#bbcac6, #3c4947);--mat-sys-primary: light-dark(#006b5f, #4fdbc8);--mat-sys-primary-container: light-dark(#71f8e4, #005048);--mat-sys-primary-fixed: light-dark(#71f8e4, #71f8e4);--mat-sys-primary-fixed-dim: light-dark(#4fdbc8, #4fdbc8);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#38665f, #a0d0c6);--mat-sys-secondary-container: light-dark(#bbece2, #1f4e47);--mat-sys-secondary-fixed: light-dark(#bbece2, #bbece2);--mat-sys-secondary-fixed-dim: light-dark(#a0d0c6, #a0d0c6);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#f4fbf8, #0e1513);--mat-sys-surface-bright: light-dark(#f4fbf8, #343b39);--mat-sys-surface-container: light-dark(#e9efec, #1a211f);--mat-sys-surface-container-high: light-dark(#e3eae7, #252b2a);--mat-sys-surface-container-highest: light-dark(#dde4e1, #2f3634);--mat-sys-surface-container-low: light-dark(#eff5f2, #161d1b);--mat-sys-surface-container-lowest: light-dark(#ffffff, #090f0e);--mat-sys-surface-dim: light-dark(#d5dbd9, #0e1513);--mat-sys-surface-tint: light-dark(#006b5f, #4fdbc8);--mat-sys-surface-variant: light-dark(#d7e6e1, #3c4947);--mat-sys-tertiary: light-dark(#6d4da2, #d5baff);--mat-sys-tertiary-container: light-dark(#ecdcff, #553589);--mat-sys-tertiary-fixed: light-dark(#ecdcff, #ecdcff);--mat-sys-tertiary-fixed-dim: light-dark(#d5baff, #d5baff);--mat-sys-neutral-variant20: #263330;--mat-sys-neutral10: #161d1b;--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 Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--mat-sys-body-large-font: Inter, 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 Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--mat-sys-body-medium-font: Inter, 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 Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--mat-sys-body-small-font: Inter, 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 Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--mat-sys-display-large-font: Inter, 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 Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--mat-sys-display-medium-font: Inter, 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 Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--mat-sys-display-small-font: Inter, 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 Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--mat-sys-headline-large-font: Inter, 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 Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--mat-sys-headline-medium-font: Inter, 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 Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--mat-sys-headline-small-font: Inter, 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 Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--mat-sys-label-large-font: Inter, 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: 700;--mat-sys-label-medium: 500 .75rem / 1rem Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--mat-sys-label-medium-font: Inter, 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: 700;--mat-sys-label-small: 500 .688rem / 1rem Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--mat-sys-label-small-font: Inter, 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 Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--mat-sys-title-large-font: Inter, 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 Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--mat-sys-title-medium-font: Inter, 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 Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--mat-sys-title-small-font: Inter, 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: var(--app-primary);--mat-sys-on-primary: var(--app-on-primary);--mat-sys-primary-container: var(--app-primary-soft);--mat-sys-on-primary-container: var(--app-on-primary-soft);--mat-sys-secondary-container: var(--app-primary-soft);--mat-sys-on-secondary-container: var(--app-on-primary-soft);--mat-sys-surface: var(--app-bg);--mat-sys-background: var(--app-bg);--mat-sys-on-surface: var(--app-text);--mat-sys-on-surface-variant: var(--app-text-muted);--mat-sys-surface-container-lowest: var(--app-surface);--mat-sys-surface-container-low: var(--app-surface);--mat-sys-surface-container: var(--app-surface);--mat-sys-surface-container-high: var(--app-surface);--mat-sys-surface-container-highest: var(--app-column);--mat-sys-outline: var(--app-input-border);--mat-sys-outline-variant: var(--app-border);--mat-card-outlined-container-color: var(--app-surface);--mat-card-outlined-outline-color: var(--app-border);--mat-card-outlined-container-shape: 10px;--mat-card-elevated-container-color: var(--app-surface);--mat-card-title-text-size: 1.05rem;--mat-card-title-text-weight: 600;--mat-card-subtitle-text-color: var(--app-text-muted);--mat-card-subtitle-text-size: .8rem;--mat-card-subtitle-text-weight: 400}html.app-dark{color-scheme:dark}body{background-color:var(--app-bg);color:var(--app-text);font:var(--mat-sys-body-medium);font-size:14px;margin:0;height:100%}*{box-sizing:border-box}.dialog-form{display:flex;flex-direction:column;gap:12px;min-width:min(440px,80vw);padding-top:8px!important}.dialog-section{display:flex;flex-direction:column;gap:12px}.dialog-section>h3{font:var(--mat-sys-title-small);color:var(--app-text-muted);margin:4px 0 0;padding-bottom:6px;border-bottom:1px solid var(--app-border)}.form-error{display:flex;align-items:flex-start;gap:8px;color:var(--mat-sys-error);background:var(--mat-sys-error-container);padding:8px 12px;border-radius:8px;margin:0}.form-error mat-icon{flex:none;font-size:20px;width:20px;height:20px}.dialog-actions{gap:4px}.dialog-actions .kbd-hint{margin-right:auto;color:var(--app-text-muted);font:var(--mat-sys-body-small)}@media(max-width:600px){.dialog-actions .kbd-hint{display:none}}.dialog-actions mat-spinner{display:inline-block;margin-right:6px;vertical-align:middle}.form-row{display:flex;gap:12px;flex-wrap:wrap}.form-row>*{flex:1 1 160px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.entity-card{display:flex;flex-direction:column;height:100%}.entity-card mat-card-content{flex:1;color:var(--mat-sys-on-surface-variant)}.entity-card .clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.loading{display:flex;justify-content:center;padding:48px}.muted{color:var(--app-text-muted)}a{color:var(--app-primary)}button.danger,a.danger{--mat-button-filled-container-color: var(--mat-sys-error);--mat-button-filled-label-text-color: var(--mat-sys-on-error)}.snack-error{--mat-snack-bar-container-color: #b91c1c;--mat-snack-bar-supporting-text-color: #ffffff;--mat-snack-bar-button-color: #fecaca}.snack-success{--mat-snack-bar-container-color: #0f766e;--mat-snack-bar-supporting-text-color: #ffffff;--mat-snack-bar-button-color: #99f6e4}.app-chip{font:var(--mat-sys-label-small);padding:2px 8px;border-radius:999px;background:var(--app-column);color:var(--app-text-muted)}.app-chip.primary{background:var(--app-primary-chip);color:var(--app-on-primary-chip)}.app-chip.warn{background:var(--app-status-correction-bg);color:var(--app-status-correction)}
