.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;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.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{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}@font-face{font-family:Sora;font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/fonts/sora-latinext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora;font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/fonts/sora-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/fonts/plus-jakarta-sans-latinext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/fonts/plus-jakarta-sans-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Ubuntu;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ubuntu-400-latinext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Ubuntu;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ubuntu-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Ubuntu;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/ubuntu-500-latinext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Ubuntu;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/ubuntu-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Ubuntu;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/ubuntu-700-latinext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Ubuntu;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/ubuntu-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--app-bg: #f8f8fa;--app-surface: #ffffff;--app-surface-2: #f1f2f9;--app-inset: #f7f8fb;--app-border: rgba(1, 5, 58, .08);--app-border-strong: rgba(1, 5, 58, .16);--app-text: #01053a;--app-text-muted: rgba(1, 5, 58, .62);--app-text-faint: rgba(1, 5, 58, .4);--app-header: rgba(255, 255, 255, .82);--app-row-hover: rgba(1, 5, 58, .03);--app-shadow: 0 1px 2px rgba(26, 27, 44, .05), 0 6px 22px rgba(26, 27, 44, .06);--app-shadow-sm: 0 1px 2px rgba(26, 27, 44, .06);--ink: #01053a;--accent-app: #ffe45e;--accent-warm: #ffc300;--accent-deep: #b38f00;--blue: #335fc2;--teal: #01a49d;--cyan: #09c8d2;--link: var(--blue);--extr: var(--blue);--valid: var(--teal);--doc-cat: var(--cyan);--doc-a: #2f5bd1;--doc-b: #8250c4;--ok-fg: #0a7c4a;--ok-bg: rgba(1, 190, 135, .12);--ok-border: rgba(1, 190, 135, .35);--warn-fg: #8a5a00;--warn-bg: rgba(251, 192, 4, .16);--warn-border: rgba(251, 192, 4, .55);--bad-fg: #c0392b;--bad-bg: rgba(220, 70, 55, .1);--bad-border: rgba(220, 70, 55, .32);--info-fg: #2a5fbf;--info-bg: rgba(51, 95, 194, .12);--info-border: rgba(51, 95, 194, .3);--status-passing-fg: var(--ok-fg);--status-passing-bg: var(--ok-bg);--status-passing-border: var(--ok-border);--status-attention-fg: var(--warn-fg);--status-attention-bg: var(--warn-bg);--status-attention-border: var(--warn-border);--status-failing-fg: var(--bad-fg);--status-failing-bg: var(--bad-bg);--status-failing-border: var(--bad-border);--status-running-fg: var(--info-fg);--status-running-bg: var(--info-bg);--status-running-border: var(--info-border);--status-untested-fg: var(--app-text-faint);--status-untested-bg: rgba(1, 5, 58, .05);--status-untested-border: var(--app-border);--status-unavailable-fg: var(--app-text-muted);--status-unavailable-bg: var(--app-surface-2);--status-unavailable-border: var(--app-border-strong);--priority-high-fg: var(--bad-fg);--priority-high-bg: var(--bad-bg);--priority-medium-fg: var(--warn-fg);--priority-medium-bg: var(--warn-bg);--priority-low-fg: var(--app-text-muted);--priority-low-bg: rgba(1, 5, 58, .05);--color-bg: var(--app-bg);--color-surface: var(--app-surface);--color-surface-alt: var(--app-surface-2);--color-border: var(--app-border);--color-border-strong: var(--app-border-strong);--color-text: var(--app-text);--color-text-muted: var(--app-text-muted);--color-text-subtle: var(--app-text-faint);--color-accent: var(--accent-app);--color-accent-hover: var(--accent-warm);--color-accent-deep: var(--accent-deep);--color-accent-soft: rgba(255, 228, 94, .3);--color-accent-bg: rgba(255, 228, 94, .14);--color-accent-text: var(--ink);--color-success: var(--ok-fg);--color-success-soft: var(--ok-bg);--color-success-text: var(--ok-fg);--color-success-bg: var(--ok-bg);--color-success-border: var(--ok-border);--color-warn: var(--warn-fg);--color-warn-soft: var(--warn-bg);--color-warn-text: var(--warn-fg);--color-warn-bg: var(--warn-bg);--color-warn-border: var(--warn-border);--color-danger: var(--bad-fg);--color-danger-soft: var(--bad-bg);--color-danger-text: var(--bad-fg);--color-danger-bg: var(--bad-bg);--color-danger-border: var(--bad-border);--color-info: var(--info-fg);--color-info-soft: var(--info-bg);--color-info-text: var(--info-fg);--color-info-bg: var(--info-bg);--color-info-border: var(--info-border);--radius-sm: 8px;--radius: 10px;--radius-lg: 14px;--radius-card: 16px;--radius-xl: 18px;--radius-pill: 400px;--shadow-xs: var(--app-shadow-sm);--shadow-sm: var(--app-shadow-sm);--shadow-md: var(--app-shadow);--shadow-lg: var(--app-shadow);--navbar-height: 56px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--pad: 20px;--gap: 16px;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.5rem;--control-h: 38px;--control-h-sm: 30px;--control-h-xs: 28px;--font-display: "Sora", "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-body: "Plus Jakarta Sans", "Ubuntu", system-ui, -apple-system, sans-serif;--font-ui: "Ubuntu", "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-sans: var(--font-body);--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--ease-smooth: cubic-bezier(.22, .61, .36, 1);--dur-fast: .12s;--dur-base: .22s;--dur-slow: .42s}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.5;color:var(--app-text);background:var(--app-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color var(--dur-base) var(--ease-smooth),color var(--dur-base) var(--ease-smooth)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--app-border-strong);border-radius:8px}::-webkit-scrollbar-track{background:transparent}h1,h2,h3,h4,h5,h6{margin:0;font-family:var(--font-display);font-weight:700;letter-spacing:-.01em;color:var(--app-text)}h1{font-size:var(--text-2xl);letter-spacing:-.02em}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}h4{font-size:var(--text-md)}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}code{font-family:var(--font-mono);font-size:.85em;background:var(--app-surface-2);padding:.1em .35em;border-radius:var(--radius-sm);border:1px solid var(--app-border);color:var(--app-text)}table tbody code{background:transparent;border:none;padding:0;font-size:inherit}input[type=text],input[type=url],input[type=number],input[type=email],input[type=password],input[type=search],input[type=date],select,textarea{width:100%;height:var(--control-h);padding:0 var(--space-3);font:inherit;color:var(--app-text);background:var(--app-inset);border:1px solid var(--app-border-strong);border-radius:var(--radius);transition:border-color .15s ease,box-shadow .15s ease}.suffix-input input[type=number]::-webkit-inner-spin-button,.suffix-input input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.suffix-input input[type=number]{-moz-appearance:textfield}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:2.25rem;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%234a4a4a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:12px 8px;cursor:pointer}select:disabled{background-color:var(--app-surface-2);color:var(--app-text-faint);cursor:not-allowed}select option{color:var(--app-text);background:var(--app-surface);padding:.4rem .5rem}select option:disabled{color:var(--app-text-faint)}textarea{height:auto;min-height:80px;padding:.5rem .65rem;resize:vertical}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent-deep);box-shadow:0 0 0 3px #ffe45e59}input::placeholder{color:var(--app-text-faint)}input[type=file]{border:1px dashed var(--app-border-strong);background:var(--app-inset);height:auto;padding:.6rem;border-radius:var(--radius);cursor:pointer}input[type=radio],input[type=checkbox]{accent-color:var(--accent-app);cursor:pointer}label{font-size:.85rem;font-weight:500;color:var(--app-text)}button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--control-h);padding:0 var(--space-5);font:inherit;font-weight:600;white-space:nowrap;cursor:pointer;border-radius:var(--radius-pill);border:1px solid transparent;text-decoration:none;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease}button:focus-visible,.btn:focus-visible{outline:none;box-shadow:0 0 0 3px #ffe45e80;border-color:var(--accent-deep)}a.btn,.btn:hover,a.btn:hover{text-decoration:none}button:disabled,.btn:disabled{opacity:.55;cursor:not-allowed}button:not([class]),button.primary,.btn-primary,a.btn-primary,a.btn-primary:hover{background:var(--accent-app);color:var(--ink);border-color:var(--accent-app);box-shadow:var(--shadow-xs)}button:not([class]):hover:not(:disabled),button.primary:hover:not(:disabled),.btn-primary:hover:not(:disabled),a.btn-primary:hover{background:var(--accent-warm);border-color:var(--accent-warm);color:var(--ink)}button.secondary,.btn-secondary,a.btn-secondary,a.btn-secondary:hover{background:var(--app-surface);color:var(--app-text);border-color:var(--app-border-strong)}button.secondary:hover:not(:disabled),.btn-secondary:hover:not(:disabled),a.btn-secondary:hover{background:var(--app-surface-2);border-color:var(--app-border-strong);color:var(--app-text);text-decoration:none}button.ghost,.btn-ghost{background:transparent;color:var(--app-text-muted);border-color:transparent;padding:0 var(--space-3)}button.ghost:hover:not(:disabled),.btn-ghost:hover:not(:disabled){background:var(--app-row-hover);color:var(--app-text)}button.danger,.btn-danger,a.btn-danger,a.btn-danger:hover{background:var(--app-surface);color:var(--bad-fg);border-color:var(--app-border-strong)}button.danger:hover:not(:disabled),.btn-danger:hover:not(:disabled),a.btn-danger:hover{background:var(--bad-bg);border-color:var(--bad-border);color:var(--bad-fg)}button.dark,.btn-dark,a.btn-dark,a.btn-dark:hover{background:var(--ink);color:#fff;border-color:var(--ink)}button.dark:hover:not(:disabled),.btn-dark:hover:not(:disabled),a.btn-dark:hover{background:color-mix(in srgb,var(--ink) 85%,#fff);border-color:color-mix(in srgb,var(--ink) 85%,#fff);color:#fff}button.sm,a.sm,.btn-sm{height:var(--control-h-sm);padding:0 var(--space-4);font-size:var(--text-sm)}.card{background:var(--app-surface);border:1px solid var(--app-border);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--app-shadow)}.card+.card{margin-top:var(--space-4)}.card.card-flush{padding:0;overflow:hidden}.card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin:calc(-1 * var(--space-6)) calc(-1 * var(--space-6)) var(--space-5);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--app-border)}.card.card-flush>.card-header{margin:0}.card-header h3{margin:0}.card-header .subtitle,.card-header .muted.small{margin:var(--space-1) 0 0;font-size:var(--text-sm)}.card-flush .data-table th:first-child,.card-flush .data-table td:first-child{padding-left:var(--space-6)}.card-flush .data-table th:last-child,.card-flush .data-table td:last-child{padding-right:var(--space-6)}.card-flush .data-table .expander-cell{width:calc(36px + var(--space-4))}.card-flush .data-table-toolbar,.card-flush .data-table-pagination{padding-left:var(--space-6);padding-right:var(--space-6)}table{width:100%;border-collapse:collapse;font-size:.9rem}table thead th{text-align:left;font-family:var(--font-ui);font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--app-text-muted);padding:var(--space-3);border-bottom:1px solid var(--app-border);background:var(--app-surface-2)}table tbody td{padding:var(--space-3);border-bottom:1px solid var(--app-border);vertical-align:middle}table tbody tr:last-child td{border-bottom:none}table tbody tr:hover{background:var(--app-row-hover)}table .row-actions{text-align:right;white-space:nowrap}table .row-actions>*{vertical-align:middle}table .row-actions>*+*{margin-left:var(--space-2)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:.2rem var(--space-2);border-radius:999px;font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;letter-spacing:.02em;border:1px solid transparent;white-space:nowrap}.badge-success{background:var(--ok-bg);color:var(--ok-fg);border-color:var(--ok-border)}.badge-warn{background:var(--warn-bg);color:var(--warn-fg);border-color:var(--warn-border)}.badge-danger{background:var(--bad-bg);color:var(--bad-fg);border-color:var(--bad-border)}.badge-info{background:var(--info-bg);color:var(--info-fg);border-color:var(--info-border)}.badge-muted{background:var(--app-surface-2);color:var(--app-text-muted);border-color:var(--app-border)}.empty-state{text-align:center;padding:var(--space-10) var(--space-4);color:var(--app-text-muted)}.empty-state h4{margin-bottom:var(--space-2);color:var(--app-text)}.alert{border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);border:1px solid transparent;font-size:var(--text-base);margin-bottom:var(--space-4)}.alert-error{background:var(--bad-bg);border-color:var(--bad-border);color:var(--bad-fg)}.alert-info{background:var(--info-bg);border-color:var(--info-border);color:var(--info-fg)}.page{max-width:1280px;margin:0 auto;padding:var(--space-8) var(--space-8) 90px}@media (min-width: 1600px){.page{max-width:1600px}}.page.page-narrow{max-width:840px}.page.page-wide{max-width:1100px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap;row-gap:var(--space-3)}.page-header h1,.page-header h2{margin:0}.page-header .subtitle{color:var(--app-text-muted);font-size:var(--text-base);margin-top:var(--space-1)}.muted{color:var(--app-text-muted)}.muted.small,.small{font-size:var(--text-sm)}.hero-card{padding:var(--space-8);margin-bottom:var(--space-5)}.hero-card .hero-value{font-family:var(--font-display);font-size:4rem;font-weight:700;line-height:1;letter-spacing:-.03em}.hero-card .hero-label{margin-top:var(--space-2);font-family:var(--font-ui);font-size:var(--text-sm);color:var(--app-text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.hero-card.pass{color:var(--ok-fg)}.hero-card.warn{color:var(--warn-fg)}.hero-card.fail{color:var(--bad-fg)}.status-row{display:grid;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--app-border);background:var(--app-surface);text-decoration:none;color:inherit;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.status-row:hover{transform:translateY(-1px);box-shadow:var(--app-shadow);text-decoration:none}.status-row.pass{background:var(--ok-bg);border-color:var(--ok-border)}.status-row.warn{background:var(--warn-bg);border-color:var(--warn-border)}.status-row.fail{background:var(--bad-bg);border-color:var(--bad-border)}.back-link{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--app-text-muted);margin-bottom:var(--space-2)}.back-link svg{width:16px;height:16px}.back-link:hover{color:var(--app-text);text-decoration:none}.spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--app-border);border-top-color:var(--app-text);border-radius:50%;animation:waakpi-spin .7s linear infinite}@keyframes waakpi-spin{to{transform:rotate(360deg)}}@keyframes fadeup{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.view-enter{animation:fadeup .25s var(--ease-smooth)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}::selection{background:var(--color-accent-soft)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
