@charset "UTF-8";.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}.cdk-overlay-container,.cdk-global-overlay-wrapper,.cdk-overlay-pane{z-index:var(--z-overlay)}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fonts/inter-latin-wght-normal.woff2) format("woff2-variations");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:Inter;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fonts/inter-latin-ext-wght-normal.woff2) format("woff2-variations");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}:root{color-scheme:light;--co-brand-primary: #5eb34d;--co-brand-secondary: #3c7847;--co-brand-dark: #013434;--co-brand-grey: #808080;--co-brand-ink: #013434;--co-primary: #5eb34d;--co-primary-strong: #3c7847;--co-primary-hover: #2f5f38;--co-primary-light: #f0faf0;--co-primary-border: #c1e6b8;--co-on-primary: #ffffff;--co-success: #40ac4f;--co-success-strong: #3c7847;--co-success-hover: #2f5f38;--co-success-light: #f0faf0;--co-success-border: #c1e6b8;--co-warning: #d97706;--co-warning-strong: #b45309;--co-warning-light: #fffbeb;--co-warning-border: #fde68a;--co-danger: #dc2626;--co-danger-hover: #b91c1c;--co-danger-strong: #b91c1c;--co-danger-light: #fef2f2;--co-danger-border: #fecaca;--co-purple: #2d2a72;--co-purple-light: #eeedf5;--co-purple-border: #b0aed6;--co-info: #3c7847;--co-info-light: #edf5ea;--co-info-border: #c1e6b8;--co-bg: #f8fafc;--co-surface: #ffffff;--co-surface-hover: #f8fafc;--co-border: #e2e8f0;--co-border-strong: #74839a;--co-text: #0f172a;--co-text-secondary: #475569;--co-text-muted: #64748b;--co-text-placeholder: #64748b;--co-neutral-light: #f1f5f9;--co-font: "Inter", "Roboto", system-ui, -apple-system, sans-serif;--co-font-mono: ui-monospace, SFMono-Regular, "JetBrains Mono", "Fira Code", Menlo, Consolas, "Courier New", monospace;--fs-2xs: .625rem;--fs-xs: .6875rem;--fs-sm: .75rem;--fs-md: .875rem;--fs-lg: clamp(.9375rem, .5625rem + .42vw, 1.0625rem);--fs-xl: clamp(1.0625rem, .5rem + .63vw, 1.25rem);--fs-2xl: clamp(1.25rem, .5rem + .83vw, 1.5rem);--lh-tight: 1.2;--lh-snug: 1.4;--lh-normal: 1.5;--fw-normal: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--sp-16: 64px;--r-sm: 4px;--r-md: 6px;--r-lg: 10px;--r-xl: 14px;--r-full: 9999px;--target-min: 24px;--z-sticky: 10;--z-popover: 20;--z-nav: 30;--z-drawer: 200;--z-drawer-panel: 201;--z-modal: 300;--z-overlay: 350;--z-toast: 380;--z-skip-link: 400;--control-h: 32px;--row-pad-y: 5px;--row-pad-x: 10px;--row-h: calc(max(var(--target-min), var(--fs-sm) * var(--lh-tight) + 12px) + 2 * var(--row-pad-y));--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -1px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .07), 0 4px 6px -2px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .08), 0 10px 10px -5px rgba(0, 0, 0, .03);--t-fast: .12s ease;--t-norm: .2s ease;--t-slow: .3s ease;--focus-ring-color: var(--co-primary-strong);--focus-ring-width: 2px}:root[data-theme=dark]{color-scheme:dark;--co-brand-ink: #8fd6c4;--co-primary: #5eb34d;--co-primary-strong: #7fd06c;--co-primary-hover: #9ade8b;--co-primary-light: #1d3325;--co-primary-border: #2f5c33;--co-on-primary: #04240b;--co-success: #5cc06a;--co-success-strong: #7fd06c;--co-success-hover: #9ade8b;--co-success-light: #1d3325;--co-success-border: #2f5c33;--co-warning: #f0a53a;--co-warning-strong: #f5b95c;--co-warning-light: #33260f;--co-warning-border: #6b4d18;--co-danger: #f2635b;--co-danger-hover: #ff5f56;--co-danger-strong: #ff8a83;--co-danger-light: #341a1c;--co-danger-border: #6e2b2c;--co-purple: #a9a6e8;--co-purple-light: #232140;--co-purple-border: #464388;--co-info: #7fd06c;--co-info-light: #1d3325;--co-info-border: #2f5c33;--co-bg: #0b1220;--co-surface: #151f33;--co-surface-hover: #1e2a42;--co-border: #2b3a56;--co-border-strong: #8697b1;--co-text: #e7edf6;--co-text-secondary: #b5c2d6;--co-text-muted: #96a5bb;--co-text-placeholder: #96a5bb;--co-neutral-light: #232e45;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .4);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .5), 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .5), 0 2px 4px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .55), 0 4px 6px -2px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .6), 0 10px 10px -5px rgba(0, 0, 0, .45)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--co-brand-ink: #8fd6c4;--co-primary: #5eb34d;--co-primary-strong: #7fd06c;--co-primary-hover: #9ade8b;--co-primary-light: #1d3325;--co-primary-border: #2f5c33;--co-on-primary: #04240b;--co-success: #5cc06a;--co-success-strong: #7fd06c;--co-success-hover: #9ade8b;--co-success-light: #1d3325;--co-success-border: #2f5c33;--co-warning: #f0a53a;--co-warning-strong: #f5b95c;--co-warning-light: #33260f;--co-warning-border: #6b4d18;--co-danger: #f2635b;--co-danger-hover: #ff5f56;--co-danger-strong: #ff8a83;--co-danger-light: #341a1c;--co-danger-border: #6e2b2c;--co-purple: #a9a6e8;--co-purple-light: #232140;--co-purple-border: #464388;--co-info: #7fd06c;--co-info-light: #1d3325;--co-info-border: #2f5c33;--co-bg: #0b1220;--co-surface: #151f33;--co-surface-hover: #1e2a42;--co-border: #2b3a56;--co-border-strong: #8697b1;--co-text: #e7edf6;--co-text-secondary: #b5c2d6;--co-text-muted: #96a5bb;--co-text-placeholder: #96a5bb;--co-neutral-light: #232e45;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .4);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .5), 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .5), 0 2px 4px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .55), 0 4px 6px -2px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .6), 0 10px 10px -5px rgba(0, 0, 0, .45)}}:root[data-density=compact]{--fs-2xs: .5625rem;--fs-xs: .625rem;--fs-sm: .6875rem;--fs-md: .8125rem;--fs-lg: clamp(.875rem, .5rem + .42vw, 1rem);--fs-xl: clamp(1rem, .4375rem + .63vw, 1.1875rem);--fs-2xl: clamp(1.125rem, .375rem + .83vw, 1.375rem);--sp-3: 10px;--sp-4: 12px;--sp-5: 16px;--sp-6: 20px;--control-h: 28px;--row-pad-y: 3px}@media(pointer:coarse){:root,:root[data-density]{--target-min: 44px;--control-h: 44px;--row-pad-y: 11px}.form-input,.form-select,.form-textarea{font-size:16px}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}html{scroll-behavior:smooth}body{font-family:var(--co-font);font-size:var(--fs-md);line-height:var(--lh-normal);color:var(--co-text);background:var(--co-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-wrap:break-word}a{color:var(--co-primary-strong);text-decoration:none;transition:color var(--t-fast)}a:hover{text-decoration:underline}a:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:2px;border-radius:var(--r-sm)}button{font-family:inherit}img{max-width:100%}fieldset{border:0;min-width:0}legend{padding:0}::placeholder{color:var(--co-text-placeholder);opacity:1}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.skip-link{position:absolute;top:0;left:0;z-index:var(--z-skip-link);transform:translateY(-120%);padding:var(--sp-2) var(--sp-4);background:var(--co-surface);color:var(--co-primary-strong);font-size:var(--fs-md);font-weight:var(--fw-semibold);border:1px solid var(--co-primary-strong);border-radius:0 0 var(--r-md) 0;box-shadow:var(--shadow-md);transition:transform var(--t-fast)}.skip-link:focus{transform:translateY(0);outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:2px}.container{max-width:1280px;margin:0 auto;padding:var(--sp-4) var(--sp-5)}@media(max-width:767.98px){.container{padding:var(--sp-4)}}@media(max-width:479.98px){.container{padding:var(--sp-3)}}.mt-1{margin-top:var(--sp-1)}.mt-2{margin-top:var(--sp-2)}.mt-3{margin-top:var(--sp-3)}.mb-1{margin-bottom:var(--sp-1)}.mb-2{margin-bottom:var(--sp-2)}.mb-3{margin-bottom:var(--sp-3)}.text-center{text-align:center}.text-right{text-align:right}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page-header{margin-bottom:var(--sp-4)}.page-title{font-size:var(--fs-2xl);font-weight:var(--fw-bold);letter-spacing:-.3px;color:var(--co-text);line-height:var(--lh-tight);margin:0}.page-subtitle{font-size:var(--fs-md);color:var(--co-text-secondary);margin:var(--sp-1) 0 0}.card{background:var(--co-surface);border:1px solid var(--co-border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.panel{background:var(--co-surface);border:1px solid var(--co-border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:var(--sp-3) var(--sp-4);container:surface/inline-size}.panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-3);gap:var(--sp-3);flex-wrap:wrap}.panel-title{font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--co-text);display:flex;align-items:center;gap:var(--sp-1)}.panel-subtitle{font-size:var(--fs-sm);font-weight:var(--fw-normal);color:var(--co-text-muted)}app-login,app-forgot-password,app-reset-password{display:flex;flex:1}.login-page{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--sp-5);background:linear-gradient(180deg,var(--co-brand-dark) 0%,#011413 100%);background-image:url(/assets/img/login-bg.jpg);background-size:cover;background-position:center center;background-repeat:no-repeat;background-color:var(--co-brand-dark)}.login-card{width:100%;max-width:420px;padding:var(--sp-8) var(--sp-6);border-top:3px solid var(--co-brand-primary);box-shadow:0 24px 60px -12px #0000008c,0 8px 20px -6px #00000059}@media(max-width:479.98px){.login-page{padding:var(--sp-3)}.login-card{padding:var(--sp-5) var(--sp-4)}}.login-brand{display:flex;align-items:center;gap:var(--sp-3);color:var(--co-brand-ink);margin-bottom:var(--sp-4)}.login-logo{height:40px;width:auto}.login-title{font-size:var(--fs-xl);font-weight:var(--fw-bold);margin:0}.login-subtitle{font-size:var(--fs-sm);color:var(--co-text-muted);margin:0}.login-lede{font-size:var(--fs-md);color:var(--co-text-secondary);margin:0 0 var(--sp-5)}.login-form-error{margin-bottom:var(--sp-4)}.login-links{text-align:center;font-size:var(--fs-md);margin-top:var(--sp-4)}.login-links a{display:inline-block;padding:var(--sp-1) var(--sp-2);min-height:var(--target-min)}.login-footnote{font-size:var(--fs-sm);color:var(--co-text-muted);margin-top:var(--sp-5);text-align:center}.badge{display:inline-flex;align-items:center;gap:var(--sp-1);padding:2px 8px;border-radius:var(--r-full);font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.3px;border:1px solid transparent;white-space:nowrap}.badge-success{background:var(--co-success-light);color:var(--co-success-strong);border-color:var(--co-success-border)}.badge-warning{background:var(--co-warning-light);color:var(--co-warning-strong);border-color:var(--co-warning-border)}.badge-danger{background:var(--co-danger-light);color:var(--co-danger-strong);border-color:var(--co-danger-border)}.badge-info{background:var(--co-info-light);color:var(--co-info);border-color:var(--co-info-border)}.badge-purple{background:var(--co-purple-light);color:var(--co-purple);border-color:var(--co-purple-border)}.badge-neutral{background:var(--co-neutral-light);color:var(--co-text-secondary);border-color:var(--co-border)}.form-label{display:block;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--co-text-secondary);margin-bottom:var(--sp-1)}.form-legend{display:block;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--co-text-secondary);margin-bottom:var(--sp-1);padding:0}.form-fieldset{border:0;padding:0;margin:0;min-inline-size:0}.form-input,.form-select,.form-textarea{width:100%;font-size:var(--fs-md);font-family:inherit;color:var(--co-text);background:var(--co-surface);border:1px solid var(--co-border-strong);border-radius:var(--r-md);padding:6px 10px;min-height:var(--control-h);transition:border-color var(--t-fast),box-shadow var(--t-fast)}input.form-input,select.form-select{height:var(--control-h)}.form-input:focus-visible,.form-select:focus-visible,.form-textarea:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:1px;border-color:var(--co-primary-strong)}.form-input.invalid,.form-select.invalid,.form-textarea.invalid,.form-input[aria-invalid=true],.form-select[aria-invalid=true],.form-textarea[aria-invalid=true]{border-color:var(--co-danger)}.form-input.invalid:focus-visible,.form-select.invalid:focus-visible,.form-input[aria-invalid=true]:focus-visible,.form-select[aria-invalid=true]:focus-visible{outline-color:var(--co-danger-hover);border-color:var(--co-danger)}input.password-field-input{padding-right:calc(var(--target-min) + var(--sp-2))}.form-error{font-size:var(--fs-sm);color:var(--co-danger-strong);margin-top:var(--sp-1)}.form-hint{font-size:var(--fs-sm);color:var(--co-text-muted);margin-top:var(--sp-1)}.form-textarea{resize:vertical;min-height:72px}.checkbox-row{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-md);color:var(--co-text-secondary);min-height:var(--target-min);min-width:var(--target-min)}.checkbox-row input[type=checkbox],.checkbox-row input[type=radio]{width:16px;height:16px;accent-color:var(--co-primary-strong);flex-shrink:0}.checkbox-row input[type=checkbox]:focus-visible,.checkbox-row input[type=radio]:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:2px}.checkbox-row input:disabled{cursor:not-allowed}.required-marker{color:var(--co-danger-strong);margin-left:2px}.chip{display:flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-sm);color:var(--co-text-secondary);border:1px solid var(--co-border-strong);border-radius:var(--r-full);padding:var(--sp-1) var(--sp-3);min-height:var(--target-min);cursor:pointer;transition:border-color var(--t-fast),background var(--t-fast)}.chip:hover{border-color:var(--co-primary-strong)}.chip:has(input:focus-visible){outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:2px}.chip:has(input:checked){background:var(--co-primary-light);border-color:var(--co-primary-border);color:var(--co-primary-hover)}.chip input{width:16px;height:16px;accent-color:var(--co-primary-strong);flex-shrink:0;margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-1);font-size:var(--fs-md);font-weight:var(--fw-semibold);border-radius:var(--r-md);padding:6px 14px;border:1px solid transparent;cursor:pointer;min-height:var(--control-h);transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast),opacity var(--t-fast);line-height:var(--lh-tight)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.btn:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:2px}.btn-primary{background:var(--co-primary-strong);border-color:var(--co-primary-strong);color:var(--co-on-primary)}.btn-primary:hover:not(:disabled):not([aria-disabled=true]){background:var(--co-primary-hover);border-color:var(--co-primary-hover)}.btn-success{background:var(--co-success-strong);border-color:var(--co-success-strong);color:var(--co-on-primary)}.btn-success:hover:not(:disabled):not([aria-disabled=true]){background:var(--co-success-hover);border-color:var(--co-success-hover)}.btn-danger{background:var(--co-danger);border-color:var(--co-danger);color:var(--co-on-primary)}.btn-danger:hover:not(:disabled):not([aria-disabled=true]){background:var(--co-danger-hover);border-color:var(--co-danger-hover)}.btn-ghost{background:transparent;border-color:var(--co-border-strong);color:var(--co-text-secondary)}.btn-ghost:hover:not(:disabled):not([aria-disabled=true]){background:var(--co-surface-hover);border-color:var(--co-text-secondary);color:var(--co-text)}.btn-sm{padding:5px 12px;font-size:var(--fs-sm);min-height:var(--target-min);min-width:var(--target-min)}.btn-icon{padding:var(--sp-1);min-height:var(--target-min);min-width:var(--target-min)}.btn-block{display:flex;width:100%}.app-menu{min-width:200px;background:var(--co-surface);border:1px solid var(--co-border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;padding:var(--sp-1) 0}.app-menu--scroll{max-height:60vh}.app-menu-caption{padding:var(--sp-2) var(--sp-4) var(--sp-1);font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.4px;color:var(--co-text-muted)}.app-menu-list{display:flex;flex-direction:column}.app-menu-item{display:flex;align-items:center;gap:var(--sp-2);width:100%;min-height:var(--target-min);font-family:inherit;font-size:var(--fs-md);line-height:var(--lh-normal);color:var(--co-text);background:transparent;border:none;padding:var(--sp-1) var(--sp-4);text-align:left;white-space:nowrap;cursor:pointer}.app-menu-item:disabled,.app-menu-item.cdk-menu-item-disabled{color:var(--co-text-muted);cursor:not-allowed}.app-menu-item:hover:not(:disabled,.cdk-menu-item-disabled),.app-menu-item:focus-visible{background:var(--co-surface-hover);text-decoration:none}.app-menu-item:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:calc(-1 * var(--focus-ring-width))}.app-menu-check{flex:0 0 14px;color:var(--co-primary-strong);font-size:var(--fs-sm)}.app-menu-divider{height:1px;margin:var(--sp-1) 0;background:var(--co-border);opacity:.6}.app-menu-note{max-width:240px;padding:var(--sp-1) var(--sp-4) var(--sp-2);font-size:var(--fs-sm);line-height:var(--lh-snug);color:var(--co-text-muted)}.data-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs-md);line-height:var(--lh-snug)}.data-table thead{position:sticky;top:0;z-index:var(--z-sticky)}.data-table thead th{text-align:left;font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.4px;color:var(--co-text-secondary);padding:var(--row-pad-y) var(--row-pad-x);border-bottom:2px solid var(--co-border);background:var(--co-surface-hover);white-space:nowrap;position:sticky;top:0;z-index:calc(var(--z-sticky) - 1)}.data-table tbody th{text-align:left;font-weight:var(--fw-semibold);color:var(--co-text);padding:var(--row-pad-y) var(--row-pad-x);border-bottom:1px solid var(--co-border);vertical-align:middle}.data-table thead th.sortable{padding:0}.th-sort-btn{display:flex;align-items:center;gap:var(--sp-1);width:100%;min-height:var(--target-min);padding:var(--row-pad-y) var(--row-pad-x);padding-inline-end:var(--sp-1);font:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit;text-align:left;color:inherit;background:transparent;border:0;cursor:pointer;transition:color var(--t-fast),background var(--t-fast)}.th-sort-btn:hover{color:var(--co-text);background:#0f172a0a}.th-sort-btn:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:-2px}.data-table thead th.num-cell .th-sort-btn{justify-content:flex-end}.data-table td{padding:var(--row-pad-y) var(--row-pad-x);border-bottom:1px solid var(--co-border);vertical-align:middle;color:var(--co-text)}.data-table tbody tr{transition:background var(--t-fast)}.data-table tbody tr:hover{background:var(--co-surface-hover)}.data-table .id-cell{font-family:var(--co-font-mono);color:var(--co-text-secondary)}.data-table .num-cell{text-align:right;font-variant-numeric:tabular-nums}.data-table td>a,.data-table th>a{padding-block:5px;margin-block:-5px}.sort-icon{font-size:var(--fs-xs);margin-left:auto;padding-left:var(--sp-1);color:var(--co-text-muted)}.sort-icon.active{color:var(--co-primary-strong)}.table-scroll{overflow:auto}.table-scroll:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:-2px}@media(max-width:1279.98px){.data-table .col-p4{display:none}.data-table thead th,.data-table .th-sort-btn{white-space:normal}}@media(max-width:1023.98px){.data-table .col-p3{display:none}.data-table{--row-pad-x: var(--sp-2)}}@media(max-width:767.98px){.data-table .col-p2{display:none}}@media(max-width:479.98px){.data-table--stack-mobile{display:block;width:100%}.data-table--stack-mobile thead{display:block;position:static;margin-bottom:var(--sp-3)}.data-table--stack-mobile thead tr{display:flex;flex-wrap:wrap;gap:var(--sp-1)}.data-table--stack-mobile thead th{display:block;position:static;padding:0;border-bottom:0;border-radius:var(--r-md);background:var(--co-surface-hover);white-space:nowrap}.data-table--stack-mobile thead th:not(.sortable){display:none}.data-table--stack-mobile thead th .th-sort-btn{width:auto;padding:var(--sp-1) var(--sp-3);white-space:nowrap}.data-table--stack-mobile tbody{display:block}.data-table--stack-mobile tbody tr{display:block;margin-bottom:var(--sp-3);padding:var(--sp-2) 0;border:1px solid var(--co-border);border-radius:var(--r-md);background:var(--co-surface)}.data-table--stack-mobile tbody td,.data-table--stack-mobile tbody th{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);width:auto;min-width:0;max-width:none;padding:var(--sp-1) var(--sp-3);border-bottom:0;text-align:left;white-space:normal;overflow-wrap:anywhere}.data-table--stack-mobile tbody td:before,.data-table--stack-mobile tbody th:before{content:attr(data-label);flex:0 0 42%;text-align:left;font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.3px;color:var(--co-text-muted)}.data-table--stack-mobile tbody td.col-actions{flex-wrap:wrap;justify-content:flex-start;gap:var(--sp-2);padding-top:var(--sp-2)}.data-table--stack-mobile tbody td.col-actions:before{content:none}.data-table--stack-mobile tbody td.num-cell{text-align:left}.data-table--stack-mobile tbody td.col-p2,.data-table--stack-mobile tbody td.col-p3,.data-table--stack-mobile tbody td.col-p4,.data-table--stack-mobile tbody th.col-p2,.data-table--stack-mobile tbody th.col-p3,.data-table--stack-mobile tbody th.col-p4{display:flex}.data-table--stack-mobile thead th.col-p2.sortable{display:block}.table-scroll:has(.data-table--stack-mobile){overflow:visible}}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--sp-12) var(--sp-4);gap:var(--sp-3);color:var(--co-text-muted);font-size:var(--fs-md)}.loading:before{content:"";width:24px;height:24px;border-radius:50%;border:2px solid var(--co-border);border-top-color:var(--co-primary-strong);animation:co-spin .7s linear infinite}.is-stale-while-refreshing[aria-busy=true]{opacity:.55;cursor:progress}.is-stale-while-refreshing{transition:opacity var(--t-norm) ease}@media(forced-colors:active){.is-stale-while-refreshing[aria-busy=true]{opacity:1;outline:2px dashed GrayText;outline-offset:-2px}}.btn-spinner{display:inline-block;width:.875em;height:.875em;flex-shrink:0;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:co-spin .7s linear infinite}@media(prefers-reduced-motion:reduce){.loading:before,.btn-spinner{animation-duration:1.6s!important;animation-iteration-count:infinite!important}}@keyframes co-spin{to{transform:rotate(360deg)}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--sp-12) var(--sp-4);gap:var(--sp-2);color:var(--co-text-muted);text-align:center}.empty-state-title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--co-text-secondary)}.error-message{display:flex;align-items:flex-start;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);background:var(--co-danger-light);border:1px solid var(--co-danger-border);border-radius:var(--r-md);color:var(--co-danger-hover);font-size:var(--fs-md)}.error-message>svg{flex-shrink:0;margin-top:1px}.success-banner{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);background:var(--co-success-light);border:1px solid var(--co-success-border);border-radius:var(--r-md);color:var(--co-success-strong);font-size:var(--fs-md)}.section-title{font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--co-text);text-transform:uppercase;letter-spacing:.4px;margin-bottom:var(--sp-3)}.mono-id{font-family:var(--co-font-mono)}.tab-bar{display:flex;gap:var(--sp-1);border-bottom:1px solid var(--co-border);flex-wrap:wrap}.tab-btn{display:flex;align-items:center;gap:var(--sp-1);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-md);font-weight:var(--fw-semibold);min-height:var(--target-min);color:var(--co-text-secondary);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color var(--t-fast),border-color var(--t-fast)}.tab-btn:hover{color:var(--co-text)}.tab-btn:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:-2px}.tab-btn.active{color:var(--co-primary-strong);border-bottom-color:var(--co-primary-strong)}.tab-count{background:var(--co-border);color:var(--co-text-secondary);border-radius:var(--r-full);font-size:var(--fs-xs);font-weight:var(--fw-bold);padding:1px 6px}.tab-btn.active .tab-count{background:var(--co-primary-light);color:var(--co-primary-strong)}@media(forced-colors:active){.login-page{background-image:none}.modal-panel,.drawer-panel{border:2px solid CanvasText}.btn:disabled,.btn[aria-disabled=true],.app-menu-item:disabled,.app-menu-item.cdk-menu-item-disabled{opacity:1;color:GrayText;border-color:GrayText}.data-table tbody tr:hover td,.data-table tbody tr:hover th{outline:1px solid Highlight;outline-offset:-1px}.app-menu-item:hover:not(:disabled,.cdk-menu-item-disabled){outline:1px solid Highlight;outline-offset:-1px}.skeleton-bar{border:1px solid GrayText}}@media print{@page{size:A4 landscape;margin:12mm}.no-print,app-nav,app-footer,.skip-link,.pagination{display:none!important}html,body{background:#fff!important;color:#000!important;font-size:10pt}.container{max-width:none;padding:0}.panel,.card{border:1px solid #999!important;box-shadow:none!important;break-inside:auto}.data-table thead{display:table-header-group;position:static}.data-table tfoot{display:table-footer-group}.data-table tr{break-inside:avoid;page-break-inside:avoid}.data-table{font-size:9pt}.data-table thead th{background:#eee!important;color:#000!important;border-bottom:1px solid #000!important;position:static}.data-table td{border-bottom:1px solid #ccc!important}.table-scroll{height:auto!important;overflow:visible!important}html,body,.app-shell,.app-main,.results-layout,.results-table-panel,.run-page>.panel,.user-mgmt-page>.panel{height:auto!important;max-height:none!important;overflow:visible!important}.run-page.container,.results-page.container,.user-mgmt-page.container{height:auto!important;overflow:visible!important}.badge{-webkit-print-color-adjust:exact;print-color-adjust:exact;border-color:#666!important}a[href^=http]:after{content:" (" attr(href) ")";font-size:8pt;color:#555}.data-table .col-p2,.data-table .col-p3,.data-table .col-p4{display:table-cell!important}}
