.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%;z-index:1000}.cdk-overlay-backdrop{position:absolute;inset:0;pointer-events:auto;-webkit-tap-highlight-color:transparent;opacity:0;touch-action:manipulation;z-index:1000;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}@media(prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors:active){.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px;z-index:1000}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-overlay-popover{background:none;border:none;padding:0;outline:0;overflow:visible;position:fixed;pointer-events:none;white-space:normal;color:inherit;text-decoration:none;width:100%;height:100%;inset:0 auto auto 0}.cdk-overlay-popover::backdrop{display:none}.cdk-overlay-popover .cdk-overlay-backdrop{position:fixed;z-index:auto}@layer properties;@layer theme,base,components,utilities;@layer theme{:root,:host{--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-transition-duration: .15s;--default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);--default-font-family: var(--font-sans);--default-mono-font-family: var(--font-mono)}}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings, normal);font-variation-settings:var(--default-font-variation-settings, normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings, normal);font-variation-settings:var(--default-mono-font-variation-settings, normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:currentcolor}@supports (color: color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.visible{visibility:visible}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border-width:0}.relative{position:relative}.static{position:static}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-wrap{flex-wrap:wrap}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.border{border-style:var(--tw-border-style);border-width:1px}.ring{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}}:root{--ink: #1a1916;--ground: #f3f1ec;--surface: #ffffff;--surface-2: #f7f5f1;--line: #e2ded6;--line-soft: #eeebe5;--line-strong: #cfcac0;--muted: #5f5b53;--primary: #1f4fd1;--primary-hover: #1a43b3;--primary-dark: #1a3a9e;--primary-soft: #e8eefc;--warn: #a33508;--warn-bright: #b93e0a;--warn-soft: #fbede5;--warn-ink: #7a2806;--warn-line: #e3b7a0;--amber: #f2c46d;--held: #fff4d9;--held-ink: #6e4d00;--gray-tag: #e9e6df;--gray-tag-ink: #4a463f;--side-text: #d9d5cc;--side-muted: #b9b3a7;--side-hover: #2e2c28;--track: #f0ede7;--paper: #fffefb;--focus: rgba(31, 79, 209, .45);--font-ui: "Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;--radius-control: 12px;--radius-card: 16px;--radius-dialog: 20px}*{box-sizing:border-box}html,body{margin:0}body{background:var(--ground);color:var(--ink);font-family:var(--font-ui);font-size:15px;line-height:1.4;min-height:100vh;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p{margin:0}a{color:var(--primary)}a:hover{color:var(--primary-hover)}button{font-family:inherit;color:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mono{font-family:var(--font-mono)}.title{font-size:30px;font-weight:800;letter-spacing:-.02em}.h2{font-size:19px;font-weight:800}.h3{font-size:17px;font-weight:800}.muted{color:var(--muted)}.lbl{font-size:12.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.small{font-size:14px}.meta{font-size:13px}.strong{font-weight:700}.num{text-align:right;font-family:var(--font-mono)}.page{max-width:1200px;margin:0 auto;padding:28px 32px 56px;display:flex;flex-direction:column;gap:20px}.page.narrow{max-width:960px}.page-head{display:flex;justify-content:space-between;flex-wrap:wrap;align-items:flex-end;gap:12px}.page-head .stack{display:flex;flex-direction:column;gap:4px}.row{display:flex;align-items:center;gap:12px}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between}.row.end{justify-content:flex-end}.row.tight{gap:8px}.stack{display:flex;flex-direction:column;gap:12px}.stack.tight{gap:6px}.grid-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:16px}.grid-kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:14px}.grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:14px}.span-all{grid-column:1 / -1}.split{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start}.split>.main{flex:999 1 520px;min-width:0}.split>.side{flex:1 1 340px;min-width:0}.divider-top{border-top:1px solid var(--line-soft)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card)}.card.pad{padding:20px 22px}.card.clip{overflow:hidden}.card-head{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px}.list-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--line-soft);flex-wrap:wrap}.list-row:first-child{border-top:0}.banner{border-radius:12px;padding:12px 16px;font-size:15px;font-weight:700}.banner.info{background:var(--primary-soft);color:var(--primary-hover)}.banner.warn{background:var(--warn-soft);color:var(--warn-ink)}.banner.held{background:var(--held);color:var(--held-ink)}.btn{min-height:46px;padding:0 18px;border-radius:var(--radius-control);border:1.5px solid var(--line-strong);background:var(--surface);font-size:15px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:var(--ink);text-decoration:none;white-space:nowrap}.btn:hover:not(:disabled){border-color:var(--ink);color:var(--ink)}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover);color:#fff}.btn-dark{background:var(--ink);border-color:var(--ink);color:var(--ground)}.btn-dark:hover:not(:disabled){color:#fff}.btn-ghost{border-color:transparent;background:transparent}.btn-warn{color:var(--warn);border-color:var(--warn-line)}.btn-warn:hover:not(:disabled){border-color:var(--warn);color:var(--warn)}.btn-danger{background:var(--warn);border-color:var(--warn);color:#fff}.btn-danger:hover:not(:disabled){background:var(--warn-ink);border-color:var(--warn-ink);color:#fff}.btn-sm{min-height:44px;padding:0 12px;font-size:14px}.btn-xl{min-height:64px;font-size:18px;padding:0 24px}.btn-lg{min-height:54px;font-size:17px}.btn-icon{width:44px;min-height:44px;padding:0}.btn-block{width:100%}.linkcell{border:0;background:transparent;padding:0;min-height:44px;font:inherit;font-weight:800;color:var(--primary);display:inline-flex;align-items:center;gap:6px;text-decoration:underline;text-underline-offset:3px;text-align:left}.linkcell:hover{color:var(--primary-dark)}.chip{min-height:44px;padding:0 14px;border-radius:999px;border:1.5px solid var(--line-strong);background:var(--surface);font-size:14px;font-weight:700;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.chip:hover:not(:disabled){border-color:var(--ink)}.chip.on,.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.chip.out{background:var(--warn-soft);border-color:var(--warn-line);color:var(--warn)}.chip.sm{min-height:36px;font-size:13px;padding:0 10px}.chips{display:flex;gap:8px;flex-wrap:wrap}.tag{display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:6px;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.tag-ok{background:var(--primary-soft);color:var(--primary-hover)}.tag-gray{background:var(--gray-tag);color:var(--gray-tag-ink)}.tag-warn{background:var(--warn-soft);color:var(--warn)}.tag-held{background:var(--held);color:var(--held-ink)}.tag-critical{background:var(--warn);color:#fff}.sample{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:999px;background:var(--held);color:var(--held-ink);font-size:12.5px;font-weight:800}.dot{width:10px;height:10px;border-radius:50%;flex:none;display:inline-block}.field{min-height:46px;padding:0 14px;border:1.5px solid var(--line-strong);border-radius:var(--radius-control);font-size:15px;background:var(--surface);width:100%;font-family:inherit;color:var(--ink)}textarea.field{padding:12px 14px;min-height:96px;resize:vertical;line-height:1.45}.field:focus{outline:3px solid var(--focus);border-color:var(--primary)}.field[aria-invalid=true]{border-color:var(--warn)}.field.mono{font-family:var(--font-mono)}.field.sm{min-height:44px}.fld{display:flex;flex-direction:column;gap:6px}.fld>.fld-l{font-weight:700}.fld>.fld-h{font-size:14px;color:var(--muted)}.fld>.fld-e{font-size:14px;color:var(--warn);font-weight:700}fieldset.fld{border:0;padding:0;margin:0;min-width:0}fieldset.fld>legend{font-weight:700;padding:0;margin-bottom:6px}.scrollbox{position:relative;overflow-x:auto;-webkit-overflow-scrolling:touch}.tbl{width:100%;border-collapse:collapse;font-size:14.5px}.tbl th{text-align:left;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:12px 14px;background:var(--surface-2);border-bottom:1px solid var(--line);white-space:nowrap}.tbl td{padding:12px 14px;border-bottom:1px solid var(--line-soft);vertical-align:middle}.tbl tbody tr:last-child td{border-bottom:0}.tbl .num,.tbl th.num{text-align:right;font-family:var(--font-mono)}.tbl th.num{font-family:var(--font-ui)}.tbl tr.selected td{background:var(--primary-soft)}.tbl tr.anomaly td{background:#fff8f4}.check-yes{width:26px;height:26px;border-radius:50%;background:var(--primary);color:#fff;display:inline-flex;align-items:center;justify-content:center}.dash{color:var(--muted);font-weight:800}.kpi{padding:18px 20px;display:flex;flex-direction:column;gap:8px}.kv{font-size:30px;font-weight:600;letter-spacing:-.02em;font-family:var(--font-mono)}.hbar-track{height:10px;background:var(--track);border-radius:5px;overflow:hidden;flex:1;min-width:60px}.hbar{height:100%;background:var(--primary);border-radius:0 4px 4px 0}.cdk-overlay-backdrop.bo-backdrop{background:#1a191680}.dialog{background:var(--surface);border-radius:var(--radius-dialog);width:min(560px,calc(100vw - 32px));max-height:94vh;overflow:auto;display:flex;flex-direction:column}.dialog.wide{width:min(780px,calc(100vw - 32px))}.dialog.narrow{width:min(440px,calc(100vw - 32px))}.dialog-body{padding:24px;display:flex;flex-direction:column;gap:16px}.dialog-foot{position:sticky;bottom:0;background:var(--surface);padding:16px 24px;border-top:1px solid var(--line-soft);display:flex;gap:8px;flex-wrap:wrap}.dialog-title{font-size:22px;font-weight:800}.toast-host{position:fixed;left:50%;bottom:28px;transform:translate(-50%);z-index:1100;display:flex;flex-direction:column;gap:8px;align-items:center;width:max-content;max-width:calc(100% - 32px);pointer-events:none}.toast{background:var(--ink);color:#fff;padding:14px 18px;border-radius:14px;font-size:15.5px;font-weight:700;box-shadow:0 18px 40px -16px #00000080;pointer-events:auto}.toast.error{background:var(--warn)}.paper{background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:24px;font-family:var(--font-mono);font-size:13px;display:flex;flex-direction:column;gap:6px;text-align:center}.paper .rule{border-top:1.5px dashed var(--line-strong);border-bottom:1.5px dashed var(--line-strong);padding:10px 0;color:var(--muted)}.md{line-height:1.6;font-size:15px}.md h1{font-size:24px;font-weight:800;margin:0 0 12px}.md h2{font-size:18px;font-weight:800;margin:20px 0 8px}.md p{margin:0 0 10px}.md code{font-family:var(--font-mono);background:var(--surface-2);padding:1px 5px;border-radius:4px;font-size:13.5px}.md ul,.md ol{padding-left:22px}@media(max-width:900px){.page{padding:20px 16px 48px}.hide-sm{display:none!important}.title{font-size:26px}}@property --tw-rotate-x{syntax: "*"; inherits: false;}@property --tw-rotate-y{syntax: "*"; inherits: false;}@property --tw-rotate-z{syntax: "*"; inherits: false;}@property --tw-skew-x{syntax: "*"; inherits: false;}@property --tw-skew-y{syntax: "*"; inherits: false;}@property --tw-border-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: "*"; inherits: false;}@property --tw-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: "*"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: "*"; inherits: false;}@property --tw-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: "*"; inherits: false;}@property --tw-inset-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: "*"; inherits: false;}@property --tw-ring-offset-width{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: "*"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-outline-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-blur{syntax: "*"; inherits: false;}@property --tw-brightness{syntax: "*"; inherits: false;}@property --tw-contrast{syntax: "*"; inherits: false;}@property --tw-grayscale{syntax: "*"; inherits: false;}@property --tw-hue-rotate{syntax: "*"; inherits: false;}@property --tw-invert{syntax: "*"; inherits: false;}@property --tw-opacity{syntax: "*"; inherits: false;}@property --tw-saturate{syntax: "*"; inherits: false;}@property --tw-sepia{syntax: "*"; inherits: false;}@property --tw-drop-shadow{syntax: "*"; inherits: false;}@property --tw-drop-shadow-color{syntax: "*"; inherits: false;}@property --tw-drop-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-drop-shadow-size{syntax: "*"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x: initial;--tw-rotate-y: initial;--tw-rotate-z: initial;--tw-skew-x: initial;--tw-skew-y: initial;--tw-border-style: solid;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-outline-style: solid;--tw-blur: initial;--tw-brightness: initial;--tw-contrast: initial;--tw-grayscale: initial;--tw-hue-rotate: initial;--tw-invert: initial;--tw-opacity: initial;--tw-saturate: initial;--tw-sepia: initial;--tw-drop-shadow: initial;--tw-drop-shadow-color: initial;--tw-drop-shadow-alpha: 100%;--tw-drop-shadow-size: initial}}}
