:root{color-scheme:light;--app-font: "IBM Plex Sans Arabic", "Inter", system-ui, sans-serif;--app-mono: ui-monospace, "Cascadia Code", Consolas, monospace;--app-bg: #f5f7f6;--app-surface: #ffffff;--app-border: #dfe5e2;--app-text: #17201c;--app-muted: #5c6b64;--app-primary: #0b6e4f;--app-primary-soft: #e3f2ec;--app-ok: #1b7f3b;--app-ok-soft: #e4f4e8;--app-warn: #8a5a00;--app-warn-soft: #fff3d6;--app-danger: #b3261e;--app-danger-soft: #fdeceb;--app-info: #1a5c9e;--app-info-soft: #e6f0fa;--mat-sys-background: #f9faf3;--mat-sys-error: #ba1a1a;--mat-sys-error-container: #ffdad6;--mat-sys-inverse-on-surface: #f1f1eb;--mat-sys-inverse-primary: #02e600;--mat-sys-inverse-surface: #2f312d;--mat-sys-on-background: #1a1c18;--mat-sys-on-error: #ffffff;--mat-sys-on-error-container: #93000a;--mat-sys-on-primary: #ffffff;--mat-sys-on-primary-container: #015300;--mat-sys-on-primary-fixed: #002200;--mat-sys-on-primary-fixed-variant: #015300;--mat-sys-on-secondary: #ffffff;--mat-sys-on-secondary-container: #3c4b37;--mat-sys-on-secondary-fixed: #121f0e;--mat-sys-on-secondary-fixed-variant: #3c4b37;--mat-sys-on-surface: #1a1c18;--mat-sys-on-surface-variant: #43483f;--mat-sys-on-tertiary: #ffffff;--mat-sys-on-tertiary-container: #004f4f;--mat-sys-on-tertiary-fixed: #002020;--mat-sys-on-tertiary-fixed-variant: #004f4f;--mat-sys-outline: #73796e;--mat-sys-outline-variant: #c3c8bc;--mat-sys-primary: #026e00;--mat-sys-primary-container: #77ff61;--mat-sys-primary-fixed: #77ff61;--mat-sys-primary-fixed-dim: #02e600;--mat-sys-scrim: #000000;--mat-sys-secondary: #54634d;--mat-sys-secondary-container: #d7e8cd;--mat-sys-secondary-fixed: #d7e8cd;--mat-sys-secondary-fixed-dim: #bbcbb2;--mat-sys-shadow: #000000;--mat-sys-surface: #f9faf3;--mat-sys-surface-bright: #f9faf3;--mat-sys-surface-container: #eeeee7;--mat-sys-surface-container-high: #e8e9e1;--mat-sys-surface-container-highest: #e2e3dc;--mat-sys-surface-container-low: #f3f4ed;--mat-sys-surface-container-lowest: #ffffff;--mat-sys-surface-dim: #dadbd3;--mat-sys-surface-tint: #026e00;--mat-sys-surface-variant: #dfe4d7;--mat-sys-tertiary: #006a6a;--mat-sys-tertiary-container: #00fbfb;--mat-sys-tertiary-fixed: #00fbfb;--mat-sys-tertiary-fixed-dim: #00dddd;--mat-sys-neutral-variant20: #2c3229;--mat-sys-neutral10: #1a1c18;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem IBM Plex Sans Arabic, Inter, sans-serif;--mat-sys-body-large-font: IBM Plex Sans Arabic, Inter, 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 Arabic, Inter, sans-serif;--mat-sys-body-medium-font: IBM Plex Sans Arabic, Inter, 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 Arabic, Inter, sans-serif;--mat-sys-body-small-font: IBM Plex Sans Arabic, Inter, 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 Arabic, Inter, sans-serif;--mat-sys-display-large-font: IBM Plex Sans Arabic, Inter, 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 Arabic, Inter, sans-serif;--mat-sys-display-medium-font: IBM Plex Sans Arabic, Inter, 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 Arabic, Inter, sans-serif;--mat-sys-display-small-font: IBM Plex Sans Arabic, Inter, 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 Arabic, Inter, sans-serif;--mat-sys-headline-large-font: IBM Plex Sans Arabic, Inter, 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 Arabic, Inter, sans-serif;--mat-sys-headline-medium-font: IBM Plex Sans Arabic, Inter, 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 Arabic, Inter, sans-serif;--mat-sys-headline-small-font: IBM Plex Sans Arabic, Inter, 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 Arabic, Inter, sans-serif;--mat-sys-label-large-font: IBM Plex Sans Arabic, Inter, 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 IBM Plex Sans Arabic, Inter, sans-serif;--mat-sys-label-medium-font: IBM Plex Sans Arabic, Inter, 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 IBM Plex Sans Arabic, Inter, sans-serif;--mat-sys-label-small-font: IBM Plex Sans Arabic, Inter, 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 Arabic, Inter, sans-serif;--mat-sys-title-large-font: IBM Plex Sans Arabic, Inter, 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 Arabic, Inter, sans-serif;--mat-sys-title-medium-font: IBM Plex Sans Arabic, Inter, 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 Arabic, Inter, sans-serif;--mat-sys-title-small-font: IBM Plex Sans Arabic, Inter, 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-checkbox-touch-target-display: block;--mat-checkbox-state-layer-size: 36px;--mat-chip-container-height: 28px;--mat-chip-touch-target-display: none;--mat-expansion-header-collapsed-state-height: 44px;--mat-expansion-header-expanded-state-height: 60px;--mat-fab-small-touch-target-display: ;--mat-fab-touch-target-display: block;--mat-button-filled-touch-target-display: block;--mat-button-filled-container-height: 36px;--mat-button-outlined-container-height: 36px;--mat-button-outlined-touch-target-display: block;--mat-button-protected-touch-target-display: block;--mat-button-protected-container-height: 36px;--mat-button-text-touch-target-display: block;--mat-button-text-container-height: 36px;--mat-button-tonal-container-height: 36px;--mat-button-tonal-touch-target-display: block;--mat-form-field-container-height: 52px;--mat-form-field-filled-label-display: block;--mat-form-field-container-vertical-padding: 14px;--mat-form-field-filled-with-label-container-padding-top: 22px;--mat-form-field-filled-with-label-container-padding-bottom: 6px;--mat-icon-button-touch-target-display: block;--mat-icon-button-state-layer-size: 36px;--mat-list-list-item-leading-icon-start-space: 12px;--mat-list-list-item-leading-icon-end-space: 12px;--mat-list-list-item-one-line-container-height: 44px;--mat-list-list-item-two-line-container-height: 60px;--mat-list-list-item-three-line-container-height: 84px;--mat-paginator-container-size: 52px;--mat-paginator-form-field-container-height: 40px;--mat-paginator-form-field-container-vertical-padding: 8px;--mat-paginator-touch-target-display: block;--mat-radio-touch-target-display: block;--mat-radio-state-layer-size: 36px;--mat-tab-container-height: 44px;--mat-select-arrow-transform: translateY(-8px);--mat-button-toggle-height: 40px;--mat-stepper-header-height: 68px;--mat-table-header-container-height: 52px;--mat-table-footer-container-height: 48px;--mat-table-row-item-container-height: 48px;--mat-toolbar-standard-height: 60px;--mat-toolbar-mobile-height: 52px;--mat-tree-node-min-height: 44px;--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}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--app-bg: #101513;--app-surface: #18201c;--app-border: #2c3833;--app-text: #e3ebe7;--app-muted: #9db0a7;--app-primary: #6fd3a8;--app-primary-soft: #1d3a2f;--app-ok: #7bd99a;--app-ok-soft: #1c3324;--app-warn: #f2c35b;--app-warn-soft: #3a2f12;--app-danger: #ff8a80;--app-danger-soft: #3d1c1a;--app-info: #8ec1f2;--app-info-soft: #172a3d;--mat-sys-background: #121410;--mat-sys-error: #ffb4ab;--mat-sys-error-container: #93000a;--mat-sys-inverse-on-surface: #2f312d;--mat-sys-inverse-primary: #026e00;--mat-sys-inverse-surface: #e2e3dc;--mat-sys-on-background: #e2e3dc;--mat-sys-on-error: #690005;--mat-sys-on-error-container: #ffdad6;--mat-sys-on-primary: #013a00;--mat-sys-on-primary-container: #77ff61;--mat-sys-on-primary-fixed: #002200;--mat-sys-on-primary-fixed-variant: #015300;--mat-sys-on-secondary: #263422;--mat-sys-on-secondary-container: #d7e8cd;--mat-sys-on-secondary-fixed: #121f0e;--mat-sys-on-secondary-fixed-variant: #3c4b37;--mat-sys-on-surface: #e2e3dc;--mat-sys-on-surface-variant: #dfe4d7;--mat-sys-on-tertiary: #003737;--mat-sys-on-tertiary-container: #00fbfb;--mat-sys-on-tertiary-fixed: #002020;--mat-sys-on-tertiary-fixed-variant: #004f4f;--mat-sys-outline: #8d9387;--mat-sys-outline-variant: #43483f;--mat-sys-primary: #02e600;--mat-sys-primary-container: #015300;--mat-sys-primary-fixed: #77ff61;--mat-sys-primary-fixed-dim: #02e600;--mat-sys-scrim: #000000;--mat-sys-secondary: #bbcbb2;--mat-sys-secondary-container: #3c4b37;--mat-sys-secondary-fixed: #d7e8cd;--mat-sys-secondary-fixed-dim: #bbcbb2;--mat-sys-shadow: #000000;--mat-sys-surface: #121410;--mat-sys-surface-bright: #383a35;--mat-sys-surface-container: #1e201c;--mat-sys-surface-container-high: #282b26;--mat-sys-surface-container-highest: #333531;--mat-sys-surface-container-low: #1a1c18;--mat-sys-surface-container-lowest: #0c0f0b;--mat-sys-surface-dim: #121410;--mat-sys-surface-tint: #02e600;--mat-sys-surface-variant: #43483f;--mat-sys-tertiary: #00dddd;--mat-sys-tertiary-container: #004f4f;--mat-sys-tertiary-fixed: #00fbfb;--mat-sys-tertiary-fixed-dim: #00dddd;--mat-sys-neutral-variant20: #2c3229;--mat-sys-neutral10: #1a1c18;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-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,body{height:100%}body{margin:0;font-family:var(--app-font);background:var(--app-bg);color:var(--app-text)}code,pre,.mono-wrap{font-family:var(--app-mono)}a{color:var(--app-primary)}:focus-visible{outline:3px solid var(--app-primary);outline-offset:2px}.skip-link{position:absolute;inset-inline-start:8px;top:-48px;z-index:10;background:var(--app-surface);padding:8px 12px;border-radius:4px}.skip-link:focus{top:8px}.muted{color:var(--app-muted)}.mt{margin-top:16px}.full{width:100%}.ok{color:var(--app-ok)}.warn{color:var(--app-warn)}.bad{color:var(--app-danger)}.danger-text{color:var(--app-danger)!important}button.danger:not([disabled]){--mat-button-filled-container-color: var(--app-danger);--mat-button-filled-label-text-color: #fff}.mono-wrap{word-break:break-all;font-size:.82rem}.row-between{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.plain{list-style:none;padding:0;margin:0;display:grid;gap:6px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:16px}.page-header h1{margin:0 0 4px;font-size:1.5rem;font-weight:600}.page-header p{margin:0;max-width:72ch}.page-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid-2.wide-left{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}.form-grid.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;padding-top:8px}.form-grid .span-2{grid-column:1/-1}@media(max-width:959px){.grid-2,.grid-2.wide-left{grid-template-columns:1fr}}@media(max-width:599px){.form-grid.form-grid{grid-template-columns:1fr}}.table-wrap{overflow-x:auto}table.data{width:100%;border-collapse:collapse;font-size:.9rem}table.data th,table.data td{text-align:start;padding:10px 12px;border-bottom:1px solid var(--app-border);vertical-align:top}table.data th{color:var(--app-muted);font-weight:600;font-size:.8rem;white-space:nowrap}table.data td.num,table.data th.num{text-align:end;font-variant-numeric:tabular-nums}table.data tbody tr:hover{background:var(--app-primary-soft)}table.data tr.clickable{cursor:pointer}.kv{display:grid;grid-template-columns:minmax(140px,max-content) 1fr;gap:8px 16px;margin:0}.kv dt{color:var(--app-muted);font-size:.85rem}.kv dd{margin:0;min-width:0}@media(max-width:599px){.kv{grid-template-columns:1fr}.kv dd{margin-bottom:8px}}.code-block{background:var(--app-bg);border:1px solid var(--app-border);border-radius:6px;padding:12px;overflow:auto;max-height:420px;font-size:.78rem;white-space:pre-wrap;word-break:break-all;text-align:left}.chip{display:inline-flex;align-items:center;padding:2px 10px;border-radius:12px;font-size:.78rem;font-weight:600;white-space:nowrap;border:1px solid transparent}.chip[data-tone=ok]{background:var(--app-ok-soft);color:var(--app-ok)}.chip[data-tone=warn]{background:var(--app-warn-soft);color:var(--app-warn)}.chip[data-tone=bad]{background:var(--app-danger-soft);color:var(--app-danger)}.chip[data-tone=info]{background:var(--app-info-soft);color:var(--app-info)}.chip[data-tone=muted]{background:transparent;color:var(--app-muted);border-color:var(--app-border)}.callout{display:flex;gap:8px;align-items:center;padding:12px 16px;border-radius:8px;margin-bottom:16px}.callout.warn{background:var(--app-warn-soft);color:var(--app-warn)}.callout.bad{background:var(--app-danger-soft);color:var(--app-danger)}.callout.info{background:var(--app-info-soft);color:var(--app-info)}.issue-list{list-style:none;padding:0;margin:8px 0;display:grid;gap:8px}.issue-list li{display:flex;gap:8px;padding:8px 12px;border-radius:6px;border-inline-start:4px solid}.issue-list li[data-severity=Error]{background:var(--app-danger-soft);border-color:var(--app-danger)}.issue-list li[data-severity=Error] mat-icon{color:var(--app-danger)}.issue-list li[data-severity=Warning]{background:var(--app-warn-soft);border-color:var(--app-warn)}.issue-list li[data-severity=Warning] mat-icon{color:var(--app-warn)}.issue-list li[data-severity=Info]{background:var(--app-info-soft);border-color:var(--app-info)}.issue-list li[data-severity=Info] mat-icon{color:var(--app-info)}.issue-list .code{font-family:var(--app-mono)}.issue-list .field{color:var(--app-muted);font-size:.8rem}.issue-list .server-message{display:block}.ok-text{color:var(--app-ok);display:flex;align-items:center;gap:4px}.error-text{color:var(--app-danger)}.state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px 16px;color:var(--app-muted);text-align:center}.state.error{color:var(--app-danger)}.snack-success{--mat-snack-bar-container-color: var(--app-ok);--mat-snack-bar-supporting-text-color: #fff}.snack-error{--mat-snack-bar-container-color: var(--app-danger);--mat-snack-bar-supporting-text-color: #fff}mat-card{--mat-card-outlined-container-color: var(--app-surface)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
