*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;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}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.fixed{position:fixed}.grid{display:grid}.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)}:root{--blue: #4292F5;--blue-dark: #1F66C8;--navy: #0B1E3D;--navy-2: #132A4F;--ink: #14171C;--muted: #666f7a;--hint: #94999f;--paper: #F5F6F8;--panel: #FFFFFF;--border: #E1E4E9;--border-strong: #CBD0D7;--coral: #D8483B;--coral-bg: #FBEAE7;--coral-dark: #8C2A20;--teal: #1E9E75;--teal-bg: #E7F5EF;--teal-dark: #0F6E56;--amber: #B9760F;--amber-bg: #FBF1E3;--amber-dark: #7A4E07;--radius: 10px;--font-display: "Space Grotesk", sans-serif;--font-body: "Inter", sans-serif;--font-mono: "IBM Plex Mono", monospace}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--font-body)}h1,h2,h3{font-family:var(--font-display);font-weight:600;margin:0;color:var(--navy)}.mono{font-family:var(--font-mono)}button{font-family:var(--font-body);cursor:pointer}input[type=number]{font-family:var(--font-mono)}.brandstripe{height:3px;background:linear-gradient(90deg,var(--blue),var(--navy))}.topbar{display:flex;align-items:center;gap:16px;justify-content:space-between;background:var(--panel);border-bottom:1px solid var(--border);padding:10px 24px;position:sticky;top:0;z-index:50;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:10px}.brand-logo{height:40px;width:40px;-o-object-fit:contain;object-fit:contain;display:block}.brand-name{font-family:var(--font-display);font-weight:700;font-size:17px;letter-spacing:.08em;color:var(--navy)}.brand .divider{width:1px;height:28px;background:var(--border-strong);margin-left:4px}.brand .title{font-size:13.5px;color:var(--muted);font-weight:500}.topbar .scenario-input{font-family:var(--font-display);font-weight:600;font-size:14px;color:var(--navy);border:1px solid transparent;border-radius:6px;padding:6px 8px;background:transparent;min-width:200px}.topbar .scenario-input:hover,.topbar .scenario-input:focus{border-color:var(--border);background:var(--paper);outline:none}.topbar .actions{display:flex;gap:8px}.btn{border-radius:8px;border:1px solid var(--border-strong);background:var(--panel);color:var(--navy);font-size:13px;font-weight:500;padding:8px 14px;display:flex;align-items:center;gap:6px;transition:background .15s,border-color .15s}.btn:hover{background:var(--paper);border-color:var(--navy)}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.primary:hover{background:var(--blue-dark);border-color:var(--blue-dark)}.btn:disabled{opacity:.6;cursor:not-allowed}.layout{display:grid;grid-template-columns:340px 1fr;gap:0;align-items:start}@media (max-width: 880px){.layout{grid-template-columns:1fr}}.rail{background:var(--panel);border-right:1px solid var(--border);padding:16px;position:sticky;top:53px;max-height:calc(100vh - 53px);overflow-y:auto}@media (max-width: 880px){.rail{position:relative;top:0;max-height:none;border-right:none;border-bottom:1px solid var(--border)}}.rail-head{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--hint);margin:4px 0 10px}details.acc{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:10px;overflow:hidden;background:var(--panel)}details.acc summary{list-style:none;cursor:pointer;padding:11px 14px;font-weight:600;font-size:13.5px;display:flex;align-items:center;justify-content:space-between;color:var(--navy);background:var(--paper)}details.acc summary::-webkit-details-marker{display:none}details.acc summary:after{content:"+";font-family:var(--font-mono);color:var(--hint);font-size:15px}details.acc[open] summary:after{content:"–"}details.acc .acc-body{padding:14px;display:flex;flex-direction:column;gap:10px}.field{display:flex;flex-direction:column;gap:4px}.field-label{font-size:12.5px;color:var(--muted);display:flex;justify-content:space-between}.field-label .unit{color:var(--hint);font-size:11px}.field input{border:1px solid var(--border-strong);border-radius:7px;padding:7px 9px;font-size:13px;width:100%;background:var(--panel);color:var(--ink)}.field input:focus{outline:2px solid var(--blue);outline-offset:-1px;border-color:var(--blue)}.field.sub{padding-left:0}.field-group-label{font-size:11px;font-weight:600;color:var(--hint);text-transform:uppercase;letter-spacing:.04em;margin-top:4px}.subgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.hint{font-size:11px;color:var(--hint);line-height:1.4;margin-top:-2px}.stage{padding:20px 24px 60px;display:flex;flex-direction:column;gap:18px;min-width:0}.panel{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:18px 20px}.panel h2{font-size:15px;margin-bottom:4px}.panel .sub{font-size:12.5px;color:var(--muted);margin-bottom:14px}.sa-table{display:flex;flex-direction:column;gap:0}.sa-row{display:flex;justify-content:space-between;align-items:baseline;padding:7px 0;border-bottom:1px solid var(--border);font-size:13px}.sa-row:last-child{border-bottom:none}.sa-label{color:var(--ink)}.sa-value{color:var(--navy);font-weight:500;font-family:var(--font-mono);font-size:12.5px;text-align:right}@media print{.sa-panel{margin-top:16px;-moz-column-break-before:avoid;break-before:avoid;-moz-column-break-inside:avoid;break-inside:avoid}}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}@media (max-width: 880px){.cards{grid-template-columns:repeat(2,1fr)}}.card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:16px 18px}.card .label{font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--hint)}.card .value{font-family:var(--font-mono);font-size:25px;font-weight:600;color:var(--navy);margin-top:6px}.card .delta{font-size:12px;margin-top:4px;font-weight:500}.card .delta.bad{color:var(--coral-dark)}.card .delta.good{color:var(--teal-dark)}.timeline{display:flex;height:34px;border-radius:8px;overflow:hidden;border:1px solid var(--border);margin-bottom:8px}.timeline .seg{display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden}.timeline .seg.outage{background:var(--coral)}.timeline .seg.degraded{background:var(--amber)}.timeline .seg.decay{background:#d9b36b}.timeline .seg.normal{background:var(--border-strong);color:var(--navy)}.timeline-legend{display:flex;gap:16px;font-size:11.5px;color:var(--muted);flex-wrap:wrap}.timeline-legend span{display:inline-flex;align-items:center;gap:5px}.timeline-legend .dot{width:8px;height:8px;border-radius:2px;display:inline-block}.trees{display:flex;gap:18px;flex-wrap:wrap}.tree-col{flex:1;min-width:300px}.tree-col .tree-label{font-size:12.5px;font-weight:600;color:var(--muted);margin-bottom:6px;display:flex;align-items:center;gap:8px}.tree-col .tree-label .tag{font-size:10.5px;font-weight:600;padding:2px 7px;border-radius:5px}.tag.base{background:var(--border);color:var(--navy)}.tag.incident{background:var(--coral-bg);color:var(--coral-dark)}.chart-wrap{position:relative;height:280px}.chart-wrap.short{height:240px}footer.toolfoot{padding:24px;text-align:center;font-size:11.5px;color:var(--hint)}#treeBase rect,#treeIncident rect{fill:var(--panel)}.c-blue2 rect{fill:#e6f1fb;stroke:#378add}.c-blue2 text{fill:#0c447c}.c-coral rect{fill:#faece7;stroke:#d85a30}.c-coral text{fill:#8c2a20}.c-teal rect{fill:#e1f5ee;stroke:#1d9e75}.c-teal text{fill:#0f6e56}.c-gray2 rect{fill:#f5f6f8;stroke:#94999f}.c-gray2 text{fill:#3a3f46}.node-box{stroke-width:.75}.t14{font-family:var(--font-mono);font-size:14px}.t12{font-family:var(--font-body);font-size:11.5px}.t11{font-family:var(--font-body);font-size:10.5px}.val-banner{display:none;border-radius:12px;padding:12px 16px;background:#fef4e7;border:1px solid #E8A93B;font-size:13px;color:#7a4e07;line-height:1.6}.val-banner.visible{display:block}.val-banner ul{margin:6px 0 0;padding-left:18px}.val-banner ul li{margin-bottom:2px}.field input.input-error{outline:2px solid var(--coral);outline-offset:-1px;border-color:var(--coral)}.field .field-error-msg{font-size:11.5px;color:var(--coral-dark);margin-top:2px;display:none}.field .field-error-msg.visible{display:block}.auth-shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--paper);padding:24px 16px}.auth-brandstripe{position:fixed;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--blue),var(--navy))}.auth-card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:36px 40px;width:100%;max-width:420px;box-shadow:0 4px 24px #0b1e3d14}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:28px}.auth-logo{height:44px;width:44px;-o-object-fit:contain;object-fit:contain;flex-shrink:0}.auth-product-name{font-family:var(--font-display);font-weight:700;font-size:17px;letter-spacing:.08em;color:var(--navy);line-height:1.2}.auth-product-sub{font-size:12px;color:var(--muted);font-weight:400;margin-top:2px}.auth-title{font-family:var(--font-display);font-size:20px;font-weight:600;color:var(--navy);margin:0 0 24px}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-field{display:flex;flex-direction:column;gap:5px}.auth-label{font-size:13px;font-weight:500;color:var(--ink)}.auth-input{border:1px solid var(--border-strong);border-radius:8px;padding:10px 12px;font-size:14px;font-family:var(--font-body);background:var(--panel);color:var(--ink);transition:border-color .15s,box-shadow .15s}.auth-input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #4292f526}.auth-input::-moz-placeholder{color:var(--hint)}.auth-input::placeholder{color:var(--hint)}.auth-error{background:var(--coral-bg);border:1px solid var(--coral);border-radius:8px;padding:10px 12px;font-size:13px;color:var(--coral-dark);line-height:1.5}.auth-info{background:var(--teal-bg);border:1px solid var(--teal);border-radius:8px;padding:10px 12px;font-size:13px;color:var(--teal-dark);line-height:1.5}.auth-submit{background:var(--blue);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:600;font-family:var(--font-body);padding:12px;cursor:pointer;transition:background .15s;margin-top:4px}.auth-submit:hover{background:var(--blue-dark)}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-links{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:20px}.auth-link{background:none;border:none;color:var(--blue);font-size:13px;font-weight:500;font-family:var(--font-body);cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px;transition:color .15s}.auth-link:hover{color:var(--blue-dark)}.auth-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:8px}.auth-loading-dot{width:8px;height:8px;border-radius:50%;background:var(--blue);animation:auth-bounce 1.2s ease-in-out infinite}.auth-loading-dot:nth-child(2){animation-delay:.2s}.auth-loading-dot:nth-child(3){animation-delay:.4s}@keyframes auth-bounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.print-page-header,.print-page-footer{display:none}@page{margin:18mm 14mm 20mm;@bottom-right{content:"Page " counter(page);font-size:10px;color:#999;font-family:monospace}}@media print{.topbar,.rail,.btn,.no-print,.toolfoot,.brandstripe{display:none!important}.layout{grid-template-columns:1fr}.stage{padding:0}body{background:#fff}.print-page-header{display:flex;align-items:center;justify-content:space-between;padding:0 0 14px;margin-bottom:16px;border-bottom:1.5px solid var(--border-strong);-moz-column-break-after:avoid;break-after:avoid}.print-header-brand{display:flex;align-items:center;gap:10px}.print-header-logo{height:32px;width:32px;-o-object-fit:contain;object-fit:contain}.print-header-name{font-family:var(--font-display);font-weight:700;font-size:15px;letter-spacing:.08em;color:var(--navy)}.print-header-divider{width:1px;height:22px;background:var(--border-strong);margin:0 2px}.print-header-subtitle{font-size:12px;color:var(--muted);font-weight:500}.print-header-scenario{font-family:var(--font-display);font-weight:600;font-size:12px;color:var(--navy);border:1px solid var(--border-strong);border-radius:6px;padding:5px 12px;background:var(--paper)}.print-page-footer{display:flex;align-items:center;justify-content:space-between;position:fixed;bottom:0;left:14mm;right:14mm;height:36px;border-top:1px solid var(--border-strong);background:#fff;padding:0 4px}.print-footer-brand{display:flex;align-items:center;gap:7px}.print-footer-logo{height:20px;width:20px;-o-object-fit:contain;object-fit:contain}.print-footer-name{font-family:var(--font-display);font-weight:700;font-size:11px;letter-spacing:.06em;color:var(--navy)}.print-footer-confidential{font-size:11px;color:var(--muted);font-weight:500}.print-footer-disclaimer{font-size:10px;color:var(--hint);font-style:italic;text-align:center;flex:1;padding:0 12px}.panel-page-break{-moz-column-break-before:page;break-before:page}}
