.diag-scope{--color-bg:#fafaf7;--color-bg-2:#f3f1e9;--color-white:#ffffff;--color-ink:#0f1a2e;--color-ink-2:#3b475c;--color-ink-3:#6b7589;--color-border:#e2e0d8;--color-border-strong:#cfcdc2;--color-red:#ff0033;--color-red-deep:#c7002a;--color-red-soft:#ffeaee;--color-red-border:#f8c9d2;--color-green:#0e7a4f;--color-green-soft:#e3f1e8;--color-green-border:#c5e2ce;--color-amber:#b45309;--color-amber-soft:#fcefc7;--color-amber-border:#ebd8a0;--color-blue:#1e4fd8;--color-blue-soft:#e2eafb;--color-blue-border:#c4d2f8;--color-purple:#6b4ddb;--color-purple-soft:#ece6ff;--surface-page:var(--color-bg);--surface-sunken:var(--color-bg-2);--surface-card:var(--color-white);--surface-inverse:var(--color-ink);--text-primary:var(--color-ink);--text-secondary:var(--color-ink-2);--text-muted:var(--color-ink-3);--text-on-inverse:var(--color-white);--border-default:var(--color-border);--border-hover:var(--color-border-strong);--accent:var(--color-red);--accent-hover:var(--color-red-deep);--accent-surface:var(--color-red-soft);--focus-ring-ink:0 0 0 3px rgba(15,26,46,0.15);--focus-ring-red:0 0 0 3px rgba(255,0,51,0.28);--font-title:"Space Grotesk",system-ui,sans-serif;--font-body:"Inter",system-ui,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace;--font-accent:"Caveat",cursive;--text-xs:11.5px;--text-sm:12.5px;--text-base:13.5px;--text-md:14.5px;--text-lg:15px;--text-xl:18px;--text-2xl:22px;--text-3xl:32px;--text-4xl:46px;--text-5xl:56px;--mono-xs:10.5px;--mono-sm:11.5px;--mono-base:13px;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-extrabold:800;--tracking-tight:-0.025em;--tracking-normal:-0.015em;--tracking-wide:0.04em;--tracking-wider:0.08em;--tracking-widest:0.12em;--leading-tight:1.05;--leading-snug:1.2;--leading-normal:1.45;--leading-relaxed:1.55;--leading-loose:1.7;--space-1:4px;--space-1-5:6px;--space-2:8px;--space-2-5:10px;--space-3:12px;--space-3-5:14px;--space-4-5:18px;--space-5-5:22px;--space-7:28px;--space-8:32px;--space-12:48px;--space-20:80px;--radius-sm:8px;--radius-md:14px;--radius-lg:22px;--radius-pill:99px;--radius-full:50%;--shadow-none:none;--shadow-sm:0 1px 2px rgba(15,26,46,0.04);--shadow-md:0 1px 2px rgba(15,26,46,0.04),0 8px 24px rgba(15,26,46,0.06);--shadow-red:0 6px 18px rgba(255,0,51,0.28);--shadow-dark:0 6px 18px rgba(15,26,46,0.18);--shadow-modal:0 28px 80px rgba(15,26,46,0.32);--ease:cubic-bezier(0.4,0,0.2,1);--transition-fast:120ms cubic-bezier(0.4,0,0.2,1);--transition-base:180ms cubic-bezier(0.4,0,0.2,1);--z-base:1;--z-sticky:20;--z-dropdown:40;--z-modal:100;--z-toast:150;--z-tooltip:200;--max-w-app:1320px;--max-w-admin:1480px;--max-w-modal:720px;--max-w-prose:720px;--padding-page:32px;--padding-page-md:16px;--bp-sm:640px;--bp-md:768px;--bp-lg:1024px;--bp-xl:1280px;--bp-2xl:1480px}.diag-scope *,.diag-scope :after,.diag-scope :before{box-sizing:border-box}.diag-scope body,.diag-scope html{font-family:var(--font-body);color:var(--color-ink);background:var(--color-bg);font-size:var(--text-md);line-height:var(--leading-relaxed);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.diag-scope h1,.diag-scope h2,.diag-scope h3,.diag-scope h4,.diag-scope h5{font-family:var(--font-title);letter-spacing:var(--tracking-normal)}.diag-scope .mono,.diag-scope code{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.diag-scope :focus-visible{outline:0;box-shadow:var(--focus-ring-ink);border-radius:4px}@media (prefers-reduced-motion:reduce){.diag-scope *,.diag-scope :after,.diag-scope :before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.diag-scope .es-btn{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-body);font-weight:var(--weight-semibold);font-size:var(--text-base);border-radius:var(--radius-pill);padding:var(--space-2-5) var(--space-4-5);cursor:pointer;border:1px solid var(--color-border);background:var(--color-white);color:var(--color-ink);transition:var(--transition-base);text-decoration:none;position:relative;white-space:nowrap}.diag-scope .es-btn:hover{border-color:var(--color-border-strong);transform:translateY(-1px);box-shadow:0 4px 12px rgba(15,26,46,.06)}.diag-scope .es-btn:focus-visible{outline:0;border-color:var(--color-ink);box-shadow:var(--focus-ring-ink)}.diag-scope .es-btn:active{transform:translateY(0);box-shadow:none}.diag-scope .es-btn svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;flex-shrink:0}.diag-scope .es-btn--primary{background:var(--color-red);color:#fff;border-color:var(--color-red)}.diag-scope .es-btn--primary:hover{background:var(--color-red-deep);border-color:var(--color-red-deep);box-shadow:var(--shadow-red)}.diag-scope .es-btn--primary:focus-visible{box-shadow:var(--focus-ring-red)}.diag-scope .es-btn--dark{background:var(--color-ink);color:#fff;border-color:var(--color-ink)}.diag-scope .es-btn--dark:hover{background:#23304a;border-color:#23304a;box-shadow:var(--shadow-dark)}.diag-scope .es-btn--ghost{background:transparent;border-color:transparent;color:var(--color-ink-2)}.diag-scope .es-btn--ghost:hover{background:var(--color-bg-2);transform:none;box-shadow:none;color:var(--color-ink)}.diag-scope .es-btn--danger{background:#fff;color:var(--color-red);border-color:var(--color-red-soft)}.diag-scope .es-btn--danger:hover{background:var(--color-red-soft);border-color:var(--color-red);color:var(--color-red-deep);box-shadow:none;transform:translateY(-1px)}.diag-scope .es-btn--disabled,.diag-scope .es-btn[disabled]{opacity:.45;cursor:not-allowed;pointer-events:none}.diag-scope .es-btn--loading{color:transparent!important;pointer-events:none}.diag-scope .es-btn--loading:after{content:"";position:absolute;left:50%;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border:2px solid;border-top:2px solid transparent;border-radius:50%;animation:es-spin 1s linear infinite;color:#fff}.diag-scope .es-btn--loading.es-btn--danger:after,.diag-scope .es-btn--loading.es-btn--ghost:after,.diag-scope .es-btn--loading.es-btn--secondary:after{color:var(--color-ink)}.diag-scope .es-btn--sm{padding:var(--space-1-5) var(--space-3-5);font-size:var(--text-sm)}.diag-scope .es-btn--lg{padding:var(--space-3) var(--space-5-5);font-size:var(--text-lg)}.diag-scope .es-btn--icon{width:40px;height:40px;padding:0;justify-content:center;border-radius:var(--radius-full);gap:0}.diag-scope .es-btn--icon.es-btn--sm{width:32px;height:32px}.diag-scope .es-btn--icon.es-btn--lg{width:46px;height:46px}@keyframes es-spin{to{transform:rotate(1turn)}}.diag-scope .es-badge{display:inline-flex;align-items:center;gap:var(--space-1-5);font-size:var(--text-xs);font-weight:var(--weight-semibold);padding:3px 9px;border-radius:var(--radius-pill);font-family:var(--font-mono);white-space:nowrap;line-height:1.35}.diag-scope .es-badge svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:2.4}.diag-scope .es-badge--green{background:var(--color-green-soft);color:var(--color-green)}.diag-scope .es-badge--amber{background:var(--color-amber-soft);color:var(--color-amber)}.diag-scope .es-badge--red{background:var(--color-red-soft);color:var(--color-red)}.diag-scope .es-badge--blue{background:var(--color-blue-soft);color:var(--color-blue)}.diag-scope .es-badge--purple{background:var(--color-purple-soft);color:var(--color-purple)}.diag-scope .es-badge--dark{background:var(--color-ink);color:#fff}.diag-scope .es-badge--muted{background:var(--color-bg-2);color:var(--color-ink-3)}.diag-scope .es-badge--solid{background:var(--color-red);color:#fff}.diag-scope .es-chip{display:inline-flex;align-items:center;gap:var(--space-1-5);font-family:var(--font-body);font-weight:var(--weight-medium);font-size:var(--text-sm);padding:var(--space-1-5) var(--space-3);border-radius:var(--radius-pill);background:var(--color-white);border:1px solid var(--color-border);color:var(--color-ink-2);cursor:pointer;transition:var(--transition-fast)}.diag-scope .es-chip:hover{border-color:var(--color-border-strong)}.diag-scope .es-chip--active{background:var(--color-ink);color:#fff;border-color:var(--color-ink)}.diag-scope .es-chip--red{background:var(--color-red-soft);color:var(--color-red);border-color:var(--color-red-border)}.diag-scope .es-chip--green{background:var(--color-green-soft);color:var(--color-green);border-color:var(--color-green-border)}.diag-scope .es-chip--amber{background:var(--color-amber-soft);color:var(--color-amber);border-color:var(--color-amber-border)}.diag-scope .es-chip--blue{background:var(--color-blue-soft);color:var(--color-blue);border-color:var(--color-blue-border)}.diag-scope .es-avatar{width:34px;height:34px;border-radius:var(--radius-full);display:grid;place-items:center;font-family:var(--font-title);font-weight:var(--weight-bold);font-size:11px;color:var(--color-ink);background:var(--color-border-strong);flex-shrink:0;overflow:hidden}.diag-scope .es-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.diag-scope .es-avatar--sm{width:24px;height:24px;font-size:9.5px}.diag-scope .es-avatar--lg{width:42px;height:42px;font-size:13px}.diag-scope .es-avatar--xl{width:64px;height:64px;font-size:18px}.diag-scope .es-switch{position:relative;width:38px;height:22px;background:var(--color-border-strong);border-radius:var(--radius-pill);cursor:pointer;transition:var(--transition-fast);display:inline-block;vertical-align:middle;border:0;flex-shrink:0}.diag-scope .es-switch--on{background:var(--color-ink)}.diag-scope .es-switch:after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;top:3px;left:3px;transition:var(--transition-base);box-shadow:0 2px 4px rgba(0,0,0,.12)}.diag-scope .es-switch--on:after{left:19px}.diag-scope .es-field{display:flex;flex-direction:column;gap:var(--space-1-5)}.diag-scope .es-field__label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-ink-2);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.diag-scope .es-input,.diag-scope .es-select,.diag-scope .es-textarea{font-family:var(--font-body);font-size:var(--text-md);color:var(--color-ink);background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2-5) var(--space-3-5);outline:0;transition:var(--transition-fast);width:100%}.diag-scope .es-input:focus,.diag-scope .es-select:focus,.diag-scope .es-textarea:focus{border-color:var(--color-ink);box-shadow:0 0 0 3px rgba(15,26,46,.12)}.diag-scope .es-input::-moz-placeholder,.diag-scope .es-textarea::-moz-placeholder{color:var(--color-ink-3)}.diag-scope .es-input::placeholder,.diag-scope .es-textarea::placeholder{color:var(--color-ink-3)}.diag-scope .es-input--pill{border-radius:var(--radius-pill);padding:var(--space-2-5) var(--space-4-5)}.diag-scope .es-input--invalid{border-color:var(--color-red)}.diag-scope .es-input--invalid:focus{box-shadow:var(--focus-ring-red)}.diag-scope .es-textarea{resize:vertical;min-height:88px;line-height:var(--leading-relaxed)}.diag-scope .es-field__help{font-size:var(--text-xs);color:var(--color-ink-3)}.diag-scope .es-field__help--error{color:var(--color-red)}.diag-scope .es-checkbox{width:18px;height:18px;accent-color:var(--color-ink);cursor:pointer}.diag-scope .es-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.diag-scope .es-card--lg{border-radius:var(--radius-lg)}.diag-scope .es-card--sunken{background:var(--color-bg-2)}.diag-scope .es-card--dark{background:var(--color-ink);color:#fff;border-color:transparent}.diag-scope .es-card--interactive{cursor:pointer;transition:var(--transition-base)}.diag-scope .es-card--interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.diag-scope .es-card__header{padding:var(--space-4-5) var(--space-5-5);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.diag-scope .es-card__title{font-family:var(--font-title);font-size:var(--text-xl);font-weight:var(--weight-bold);margin:0}.diag-scope .es-card__body,.diag-scope .es-card__footer{padding:var(--space-4-5) var(--space-5-5)}.diag-scope .es-card__footer{background:var(--color-bg-2);display:flex;justify-content:flex-end;gap:var(--space-2)}.diag-scope .es-kpi{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4-5) var(--space-5-5);min-width:180px}.diag-scope .es-kpi--dark{background:var(--color-ink);color:#fff;border-color:transparent}.diag-scope .es-kpi__label{font-family:var(--font-body);font-weight:var(--weight-semibold);font-size:11px;text-transform:uppercase;letter-spacing:var(--tracking-widest);color:var(--color-ink-3)}.diag-scope .es-kpi--dark .es-kpi__label{color:rgba(255,255,255,.55)}.diag-scope .es-kpi__value{font-family:var(--font-title);font-size:var(--text-3xl);font-weight:var(--weight-bold);line-height:1;letter-spacing:var(--tracking-tight);margin-top:var(--space-2)}.diag-scope .es-kpi__value small{font-size:var(--text-lg);color:var(--color-ink-3);font-weight:var(--weight-medium);margin-left:2px}.diag-scope .es-kpi--dark .es-kpi__value small{color:rgba(255,255,255,.5)}.diag-scope .es-kpi--alert .es-kpi__value{color:var(--color-red)}.diag-scope .es-kpi__sub{font-size:var(--text-xs);color:var(--color-ink-3);margin-top:var(--space-1)}.diag-scope .es-kpi--dark .es-kpi__sub{color:rgba(255,255,255,.6)}.diag-scope .es-progress{height:8px;background:var(--color-bg-2);border-radius:var(--radius-pill);overflow:hidden}.diag-scope .es-progress__fill{display:block;height:100%;background:var(--color-ink);border-radius:var(--radius-pill);transition:width var(--transition-base)}.diag-scope .es-progress__fill--red{background:var(--color-red)}.diag-scope .es-progress__fill--green{background:var(--color-green)}.diag-scope .es-nav{gap:var(--space-1);background:var(--color-white);border:1px solid var(--color-border);padding:var(--space-1)}.diag-scope .es-nav,.diag-scope .es-nav__item{display:inline-flex;border-radius:var(--radius-pill)}.diag-scope .es-nav__item{padding:var(--space-2) var(--space-4-5);text-decoration:none;color:var(--color-ink-2);font-family:var(--font-body);font-weight:var(--weight-medium);font-size:var(--text-base);align-items:center;gap:var(--space-1-5);transition:var(--transition-fast);cursor:pointer;border:0;background:transparent}.diag-scope .es-nav__item:hover{background:var(--color-bg-2);color:var(--color-ink)}.diag-scope .es-nav__item--active{background:var(--color-ink);color:#fff}.diag-scope .es-nav__item svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2}.diag-scope .es-nav__count{font-family:var(--font-mono);font-size:var(--mono-xs);opacity:.8;margin-left:2px}.diag-scope .es-crumb{display:flex;align-items:center;gap:var(--space-1-5);font-size:var(--text-base);color:var(--color-ink-3);flex-wrap:wrap}.diag-scope .es-crumb a{color:var(--color-ink-3);text-decoration:none;transition:var(--transition-fast)}.diag-scope .es-crumb a:hover{color:var(--color-ink)}.diag-scope .es-crumb__sep{color:var(--color-border-strong)}.diag-scope .es-crumb b{color:var(--color-ink);font-weight:var(--weight-semibold)}.diag-scope .es-table{width:100%;border-collapse:collapse;font-size:var(--text-base)}.diag-scope .es-table th{font-family:var(--font-body);font-weight:var(--weight-semibold);font-size:11px;line-height:1;text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--color-ink-3);padding:var(--space-3-5) var(--space-4-5);text-align:left;background:var(--color-bg-2);border-bottom:1px solid var(--color-border)}.diag-scope .es-table th.es-num{text-align:right}.diag-scope .es-table td{padding:var(--space-3-5) var(--space-4-5);border-bottom:1px solid var(--color-border)}.diag-scope .es-table tbody tr:last-child td{border-bottom:0}.diag-scope .es-table tbody tr.es-table__row--clickable{cursor:pointer;transition:var(--transition-fast)}.diag-scope .es-table tbody tr.es-table__row--clickable:hover{background:var(--color-bg-2)}.diag-scope .es-table .es-num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.diag-scope .es-table .es-code{font-family:var(--font-mono);font-size:var(--mono-sm);color:var(--color-ink-3)}.diag-scope .es-table .es-strong{font-weight:var(--weight-semibold);font-family:var(--font-title)}.diag-scope .es-toast{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3-5) var(--space-4-5);background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);min-width:320px;max-width:380px}.diag-scope .es-toast__icon{width:24px;height:24px;border-radius:var(--radius-full);display:grid;place-items:center;flex-shrink:0;background:var(--color-green-soft);color:var(--color-green)}.diag-scope .es-toast__icon svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.5}.diag-scope .es-toast--error .es-toast__icon{background:var(--color-red-soft);color:var(--color-red)}.diag-scope .es-toast--warn .es-toast__icon{background:var(--color-amber-soft);color:var(--color-amber)}.diag-scope .es-toast--info .es-toast__icon{background:var(--color-blue-soft);color:var(--color-blue)}.diag-scope .es-toast__body{flex:1}.diag-scope .es-toast__title{font-family:var(--font-title);font-size:var(--text-base);font-weight:var(--weight-semibold);display:block;margin-bottom:2px}.diag-scope .es-toast__msg{font-size:var(--text-sm);color:var(--color-ink-3);line-height:var(--leading-normal);margin:0}.diag-scope .es-toast__close{background:transparent;border:0;color:var(--color-ink-3);cursor:pointer;font-size:18px;line-height:1;padding:0}.diag-scope .es-toast__close:hover{color:var(--color-ink)}.diag-scope .es-empty{padding:var(--space-12) var(--space-7);text-align:center;color:var(--color-ink-3);background:var(--color-bg-2);border-radius:var(--radius-md)}.diag-scope .es-empty__icon{width:72px;height:72px;border-radius:var(--radius-full);display:grid;place-items:center;background:var(--color-blue-soft);color:var(--color-blue);margin:0 auto var(--space-3-5)}.diag-scope .es-empty__icon svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.8}.diag-scope .es-empty__title{font-family:var(--font-title);font-size:var(--text-2xl);color:var(--color-ink);font-weight:var(--weight-bold);margin:0 0 var(--space-1-5)}.diag-scope .es-empty__text{font-size:var(--text-base);max-width:380px;margin:0 auto var(--space-4-5)}.diag-scope .es-empty__actions{display:flex;gap:var(--space-3);justify-content:center;flex-wrap:wrap}.diag-scope .es-modal-overlay{position:fixed;inset:0;background:rgba(15,26,46,.35);backdrop-filter:blur(4px);display:grid;place-items:center;padding:var(--space-7);z-index:var(--z-modal)}.diag-scope .es-modal{background:#fff;border-radius:18px;box-shadow:var(--shadow-modal);max-width:var(--max-w-modal);width:100%;overflow:hidden}.diag-scope .es-modal__header{padding:var(--space-5-5) var(--space-7);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.diag-scope .es-modal__title{font-family:var(--font-title);font-size:var(--text-xl);font-weight:var(--weight-bold);margin:0}.diag-scope .es-modal__body{padding:var(--space-5-5) var(--space-7);font-size:var(--text-md);color:var(--color-ink-2);line-height:var(--leading-relaxed)}.diag-scope .es-modal__footer{padding:var(--space-4-5) var(--space-7);background:var(--color-bg-2);display:flex;justify-content:flex-end;gap:var(--space-2)}.diag-scope .es-kbd{font-family:var(--font-mono);font-size:var(--mono-xs);background:var(--color-bg-2);border:1px solid var(--color-border);padding:1px 6px;border-radius:5px;color:var(--color-ink-2)}@keyframes diag-spin{to{transform:rotate(1turn)}}@keyframes diag-fade{0%{transform:translateY(8px)}to{transform:none}}.diag-scope ::-webkit-scrollbar{width:10px;height:10px}.diag-scope ::-webkit-scrollbar-thumb{background:#cfcdc2;border-radius:99px;border:2px solid #fafaf7}@media print{body{background:#fff!important}body>div>*{visibility:hidden}#plan-print-overlay,#plan-print-overlay *{visibility:visible}#plan-print-overlay{position:absolute!important;inset:0!important;background:#fff!important;padding:0!important;overflow:visible!important}#plan-print-overlay .noprint{display:none!important}#plan-print-overlay .plan-print-scroll{display:block!important;padding:0!important;overflow:visible!important}.plan-print-page{box-shadow:none!important;margin:0!important;-moz-column-break-after:page;break-after:page;page-break-after:always}.plan-print-page:last-child{-moz-column-break-after:auto;break-after:auto;page-break-after:auto}@page{size:A4 landscape;margin:8mm}}.diag-scope .diag-row{transition:background .12s}.diag-scope .diag-row:hover{background:#f3f1e9}