:root{color-scheme:light;--color-primary: #1f56c4;--color-primary-hover: #1a47a6;--color-primary-strong: #12358a;--color-primary-soft: #e7eefb;--color-primary-ring: rgb(31 86 196 / 22%);--color-brand-accent: #6fa5ff;--color-on-primary: #ffffff;--color-on-brand: #ffffff;--color-on-brand-muted: rgb(255 255 255 / 82%);--color-ground: #f3f6fb;--color-surface: #ffffff;--color-surface-2: #eef2f8;--color-surface-tint: #f7f9fd;--color-border: #e3e8f1;--color-border-strong: #c9d2e0;--color-ink: #14233f;--color-ink-muted: #5b6b86;--color-ink-subtle: #6f7d96;--color-warning: #a8530c;--color-warning-soft: #fdecd6;--color-success: #1b7a47;--color-success-soft: #dcf6e8;--color-danger: #b42318;--color-danger-hover: #8f1c13;--color-danger-soft: #fde3e3;--color-danger-border: #f4c4c0;--color-sidebar: #ffffff;--color-sidebar-text: #2a4a86;--color-sidebar-muted: #6b7fa6;--color-sidebar-active: #e4ebf8;--color-sidebar-icon: #1c3f86;--color-brand-mark: #1f56c4;--color-online: #22c55e;--color-offline: #d97706;--color-badge-alert: #ef4444;--color-backdrop: rgb(20 35 63 / 45%);--color-shadow: rgb(20 35 63 / 6%);--color-shadow-strong: rgb(20 35 63 / 22%);--gradient-primary: linear-gradient(135deg, #1b4fb5 0%, #2b6fe6 100%);--gradient-hero: linear-gradient(120deg, #17367f 0%, #1d4fb8 55%, #2b6fe6 100%);--gradient-brand-panel: linear-gradient(160deg, #0a2461 0%, #123c93 45%, #1f5fd0 100%);--gradient-auth-form: radial-gradient(circle at 100% 0, rgb(31 86 196 / 6%), transparent 45%);--brand-mark-from: #2f7bff;--brand-mark-to: #1436b4;--shadow-card: 0 1px 2px rgb(20 35 63 / 4%), 0 4px 14px rgb(20 35 63 / 5%);--shadow-card-hover: 0 2px 4px rgb(20 35 63 / 6%), 0 10px 24px rgb(31 86 196 / 12%);--shadow-button: 0 8px 20px rgb(31 86 196 / 30%);--shadow-button-soft: 0 4px 12px rgb(31 86 196 / 25%);--shadow-hero: 0 12px 30px rgb(23 54 127 / 28%);--shadow-overlay: 0 16px 40px rgb(20 35 63 / 22%);--glass-bg: rgb(255 255 255 / 8%);--glass-bg-strong: rgb(255 255 255 / 14%);--glass-border: rgb(255 255 255 / 18%);--glass-grid: rgb(255 255 255 / 4%);--glass-glow: rgb(79 140 255 / 25%);--tone-cyan-fg: #0e8ea8;--tone-cyan-soft: #d9f4fa;--tone-cyan-border: #bfeaf3;--tone-cyan-panel: #eefafd;--tone-green-fg: #17874f;--tone-green-soft: #dcf6e8;--tone-green-border: #c4ecd6;--tone-green-panel: #ecf9f2;--tone-orange-fg: #c26405;--tone-orange-soft: #fdecd6;--tone-orange-border: #f9d9ae;--tone-orange-panel: #fff6ea;--tone-red-fg: #d63b3b;--tone-red-soft: #fde3e3;--tone-red-border: #f8c7c7;--tone-red-panel: #fff0f0;--tone-indigo-fg: #4f46c8;--tone-indigo-soft: #e6e5fb;--tone-indigo-border: #d0cef5;--tone-indigo-panel: #f1f0fd;--tone-slate-fg: #3a5a99;--tone-slate-soft: #e4eaf6;--tone-slate-border: #d3dcee;--tone-slate-panel: #f3f6fc}[data-theme=dark]{color-scheme:dark;--color-primary: #5b8dff;--color-primary-hover: #7aa3ff;--color-primary-strong: #b9cdff;--color-primary-soft: rgb(91 141 255 / 16%);--color-primary-ring: rgb(91 141 255 / 35%);--color-brand-accent: #8db6ff;--color-on-primary: #0b1220;--color-on-brand-muted: rgb(255 255 255 / 78%);--color-ground: #0b1220;--color-surface: #121b2e;--color-surface-2: #1a2540;--color-surface-tint: #152037;--color-border: #26324f;--color-border-strong: #3a4a70;--color-ink: #e8eefc;--color-ink-muted: #9fb0d0;--color-ink-subtle: #8394b5;--color-warning: #f0a15a;--color-warning-soft: rgb(240 161 90 / 16%);--color-success: #5fd495;--color-success-soft: rgb(95 212 149 / 16%);--color-danger: #ff8a80;--color-danger-hover: #ffa8a0;--color-danger-soft: rgb(255 138 128 / 16%);--color-danger-border: rgb(255 138 128 / 35%);--color-sidebar: #0f1729;--color-sidebar-text: #b9cdff;--color-sidebar-muted: #8394b5;--color-sidebar-active: #1a2540;--color-sidebar-icon: #8db6ff;--color-brand-mark: #5b8dff;--color-backdrop: rgb(0 0 0 / 60%);--color-shadow: rgb(0 0 0 / 30%);--color-shadow-strong: rgb(0 0 0 / 55%);--gradient-primary: linear-gradient(135deg, #2f63d4 0%, #4a82f0 100%);--gradient-hero: linear-gradient(120deg, #0d2257 0%, #153a86 55%, #1c47a8 100%);--gradient-brand-panel: linear-gradient(160deg, #060f2b 0%, #0d2257 45%, #153a86 100%);--shadow-card: 0 0 0 1px rgb(255 255 255 / 3%);--shadow-card-hover: 0 0 0 1px rgb(91 141 255 / 40%);--shadow-overlay: 0 16px 40px rgb(0 0 0 / 55%)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--color-ground);color:var(--color-ink);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-size:.875rem;line-height:1.5;font-feature-settings:"cv11" 1;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p{margin:0}h1{font-size:1.5rem;font-weight:800;letter-spacing:-.025em;line-height:1.2}h2{font-size:1rem;font-weight:700;letter-spacing:-.015em}h3{font-size:.875rem;font-weight:700}a{color:var(--color-primary)}a:hover{color:var(--color-primary-hover)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button,input,select,textarea{font:inherit;color:inherit}code,.mono{font-family:IBM Plex Mono,ui-monospace,Cascadia Mono,monospace}.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}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.tone-cyan{--tone-fg: var(--tone-cyan-fg);--tone-soft: var(--tone-cyan-soft);--tone-border: var(--tone-cyan-border);--tone-panel: var(--tone-cyan-panel)}.tone-green{--tone-fg: var(--tone-green-fg);--tone-soft: var(--tone-green-soft);--tone-border: var(--tone-green-border);--tone-panel: var(--tone-green-panel)}.tone-orange{--tone-fg: var(--tone-orange-fg);--tone-soft: var(--tone-orange-soft);--tone-border: var(--tone-orange-border);--tone-panel: var(--tone-orange-panel)}.tone-red{--tone-fg: var(--tone-red-fg);--tone-soft: var(--tone-red-soft);--tone-border: var(--tone-red-border);--tone-panel: var(--tone-red-panel)}.tone-indigo{--tone-fg: var(--tone-indigo-fg);--tone-soft: var(--tone-indigo-soft);--tone-border: var(--tone-indigo-border);--tone-panel: var(--tone-indigo-panel)}.tone-slate{--tone-fg: var(--tone-slate-fg);--tone-soft: var(--tone-slate-soft);--tone-border: var(--tone-slate-border);--tone-panel: var(--tone-slate-panel)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.375rem;padding:0 1rem;border:1px solid transparent;border-radius:10px;font-size:.875rem;font-weight:600;line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,box-shadow .12s ease,filter .12s ease,transform 60ms ease}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.btn.is-loading{pointer-events:none}.btn--primary{background:var(--gradient-primary);color:var(--color-on-primary);box-shadow:var(--shadow-button-soft)}.btn--primary:hover:not(:disabled){color:var(--color-on-primary);filter:brightness(1.07);box-shadow:var(--shadow-button)}.btn--secondary{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-primary-strong)}.btn--secondary:hover:not(:disabled){background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary-strong)}.btn--soft{background:var(--color-primary-soft);color:var(--color-primary)}.btn--soft:hover:not(:disabled){background:var(--color-sidebar-active);color:var(--color-primary-strong)}.btn--danger{background:var(--color-danger);color:var(--color-on-primary)}.btn--danger:hover:not(:disabled){background:var(--color-danger-hover);color:var(--color-on-primary)}.btn--danger-ghost{background:var(--color-surface);border-color:var(--color-danger-border);color:var(--color-danger)}.btn--danger-ghost:hover:not(:disabled){background:var(--color-danger-soft);color:var(--color-danger)}.btn--ghost{background:transparent;color:var(--color-primary)}.btn--ghost:hover:not(:disabled){background:var(--color-primary-soft)}.btn--pill{border-radius:999px}.btn--sm{min-height:2rem;padding:0 .75rem;font-size:.75rem}.btn--compact{min-height:2.25rem;padding:0 .75rem;font-size:.75rem}.btn--lg{min-height:3.125rem;padding:0 1.5rem;border-radius:12px;font-size:1rem;font-weight:700}.btn--block{width:100%}.btn--icon{width:2.375rem;padding:0}.btn--export-pdf{color:var(--color-danger)}.btn--export-xls{color:var(--color-success)}@media(pointer:coarse){.btn{min-height:2.75rem}}.menu-item{display:flex;align-items:center;gap:.75rem;width:100%;min-height:2.375rem;padding:.5rem .75rem;border:0;border-radius:10px;background:transparent;color:var(--color-ink);font-size:.875rem;font-weight:600;text-align:left;text-decoration:none;cursor:pointer}.menu-item:hover,.menu-item:focus-visible{background:var(--color-surface-2);color:var(--color-ink)}.menu-item[aria-checked=true]{background:var(--color-primary-soft);color:var(--color-primary-strong)}.menu-item--danger{color:var(--color-danger)}.menu-item--danger:hover,.menu-item--danger:focus-visible{background:var(--color-danger-soft);color:var(--color-danger)}.menu-item__text{display:flex;flex:1;flex-direction:column;min-width:0}.menu-item__hint{font-size:.6875rem;font-weight:400;color:var(--color-ink-subtle)}.menu-heading{padding:.5rem .75rem .25rem;color:var(--color-ink-subtle);font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.menu-divider{height:1px;margin:.25rem 0;background:var(--color-border)}.scope-pill{display:inline-flex;align-items:center;max-width:100%;min-height:2.25rem;padding:0 .75rem;border:1px solid var(--color-primary-soft);border-radius:999px;background:var(--color-surface);color:var(--color-primary);font-size:.75rem;font-weight:700}.scope-pill--button{cursor:pointer}.scope-pill--button:hover{background:var(--color-primary-soft)}.user-trigger{display:inline-flex;align-items:center;padding:.25rem .5rem;border:0;border-radius:999px;background:transparent;cursor:pointer}.user-trigger:hover{background:var(--color-surface-2)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;box-shadow:var(--shadow-card);padding:1rem}.card--flush{padding:0}.card__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.card__footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.75rem;margin-top:1rem}.panel-badge{display:inline-grid;flex-shrink:0;place-items:center;width:2.25rem;height:2.25rem;border-radius:10px;background:var(--tone-soft);color:var(--tone-fg)}.stack{display:flex;flex-direction:column;gap:1rem}.cluster{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.grid-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(13.75rem,1fr));gap:.75rem}.kpi-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:640px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1200px){.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem}.text-muted{color:var(--color-ink-muted)}.text-small{font-size:.75rem}.text-right{text-align:right}.link-strong{font-size:.75rem;font-weight:700}.field{display:flex;flex-direction:column;gap:.25rem;min-width:0}.field--full{grid-column:1/-1}.field>label,.field__label{font-size:.75rem;font-weight:700;color:var(--color-ink)}.field__hint{font-size:.75rem;line-height:1.35;color:var(--color-ink-muted)}.field__hint:empty{display:none}.field__error{font-size:.75rem;line-height:1.35;color:var(--color-danger)}.field__error:empty{display:none}.input,.select,.textarea{width:100%;min-height:2.375rem;padding:0 .75rem;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:10px;color:var(--color-ink);transition:background-color .12s ease,border-color .12s ease,box-shadow .12s ease}.input::placeholder,.select::placeholder,.textarea::placeholder{color:var(--color-ink-subtle)}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{outline:none;background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-ring)}.input:disabled,.select:disabled,.textarea:disabled{opacity:.7;color:var(--color-ink-muted)}.input.ng-invalid.ng-touched,.input[aria-invalid=true],.select.ng-invalid.ng-touched,.select[aria-invalid=true],.textarea.ng-invalid.ng-touched,.textarea[aria-invalid=true]{border-color:var(--color-danger)}.input--lg,.select--lg,.textarea--lg{min-height:3rem;padding:0 1rem;border-color:transparent;border-radius:12px}.textarea{min-height:6rem;padding:.5rem .75rem;resize:vertical}.input-group{position:relative;display:flex;align-items:center}.input-group__icon{position:absolute;left:1rem;color:var(--color-ink-subtle);pointer-events:none}.input-group--icon .input{padding-left:2.75rem}.input-group--action .input{padding-right:3rem}.input-group__action{position:absolute;right:.5rem;display:inline-grid;place-items:center;width:2.25rem;height:2.25rem;border:0;border-radius:10px;background:transparent;color:var(--color-ink-muted);cursor:pointer}.input-group__action:hover{background:var(--color-surface-2);color:var(--color-ink)}.divider-text{display:flex;align-items:center;gap:.75rem;color:var(--color-ink-subtle);font-size:.75rem}.divider-text:before,.divider-text:after{content:"";flex:1;height:1px;background:var(--color-border)}.form-grid{display:grid;grid-template-columns:1fr;align-items:start;gap:.75rem 1rem}@media(min-width:640px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.checkbox{display:inline-flex;align-items:flex-start;gap:.5rem;cursor:pointer}.checkbox input{width:1.125rem;height:1.125rem;margin-top:.1rem;accent-color:var(--color-primary)}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:.625rem .75rem;border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle}.table th{background:var(--color-surface-tint);color:var(--color-ink-muted);font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.table tbody tr:hover{background:color-mix(in srgb,var(--color-primary-soft) 50%,transparent)}.table tr.is-selected{background:var(--color-primary-soft)}.table .num{font-variant-numeric:tabular-nums;font-weight:600;text-align:right;white-space:nowrap}.table .code{font-family:IBM Plex Mono,ui-monospace,Cascadia Mono,monospace;white-space:nowrap}.table tfoot td{font-weight:700;background:var(--color-surface-tint)}.badge{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:999px;font-size:.6875rem;font-weight:700;white-space:nowrap;background:var(--color-surface-2);color:var(--color-ink-muted)}.badge--success{background:var(--color-success-soft);color:var(--color-success)}.badge--warning{background:var(--color-warning-soft);color:var(--color-warning)}.badge--danger{background:var(--color-danger-soft);color:var(--color-danger)}.badge--info{background:var(--color-primary-soft);color:var(--color-primary)}.badge--indigo{background:var(--tone-indigo-soft);color:var(--tone-indigo-fg)}.badge--cyan{background:var(--tone-cyan-soft);color:var(--tone-cyan-fg)}.chip{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);font-size:.75rem}.chip--mono{font-family:IBM Plex Mono,ui-monospace,Cascadia Mono,monospace}.alert{display:flex;gap:.75rem;padding:.75rem 1rem;border-radius:10px;background:var(--color-primary-soft);color:var(--color-ink)}.alert--warning{background:var(--color-warning-soft)}.alert--danger{background:var(--color-danger-soft)}.alert--success{background:var(--color-success-soft)}.alert strong{font-weight:700}.tabs{display:flex;flex-wrap:wrap;gap:.25rem;padding:.25rem;margin-bottom:1.5rem;background:var(--color-surface-2);border-radius:10px;width:fit-content;max-width:100%}.tabs [role=tab]{min-height:2.25rem;padding:0 1rem;border:0;border-radius:8px;background:transparent;color:var(--color-ink-muted);font-weight:600;cursor:pointer}.tabs [role=tab][aria-selected=true]{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-card)}.details{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem 1.5rem;margin:0}.details dt{font-size:.75rem;font-weight:600;color:var(--color-ink-muted)}.details dd{margin:.25rem 0 0}.progress{height:.5rem;border-radius:999px;background:var(--color-surface-2);overflow:hidden}.progress__bar{height:100%;background:var(--color-primary);border-radius:999px}.progress__bar--danger{background:var(--color-danger)}.progress__bar--success{background:var(--color-success)}.amount{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}@keyframes app-spin{to{transform:rotate(360deg)}}@keyframes app-shimmer{to{background-position:-200% 0}}.app-custom-tooltip{position:fixed;z-index:1000;max-width:18rem;padding:.375rem .75rem;border:1px solid var(--color-border-strong);border-radius:6px;background:var(--color-ink);color:var(--color-surface);box-shadow:var(--shadow-overlay);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-size:.75rem;font-weight:500;line-height:1.35;text-align:center;word-break:break-word;pointer-events:none;animation:app-tooltip-fade-in .12s ease-out}@keyframes app-tooltip-fade-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
