@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/lora-cyrillic-ext-wght-normal-YcVxMP-u.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/lora-cyrillic-wght-normal-UWPuZLjM.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/lora-math-wght-normal-sOy7rEfW.woff2) format("woff2-variations");unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/lora-symbols-wght-normal-DQ5VrUkH.woff2) format("woff2-variations");unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/lora-vietnamese-wght-normal-CfJ7gtf3.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/lora-latin-ext-wght-normal-C2Wlntb9.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}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/lora-latin-wght-normal-BiLcIKcI.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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.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}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.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}:root{--color-ink: #022c52;--color-ink-muted: #566676;--color-ink-soft: #7B8FA6;--color-ember: #e96a25;--color-ember-deep: #cf551a;--color-paper: #FFFFFF;--color-paper-tint: #f3f6fa;--color-rule: #e1e8f0;--color-success: #2e9e6b;--color-success-soft: #E4F2EC;--color-danger: #d93832;--color-danger-soft: #FAE5E4;--color-body: #1b2a39;--color-ink-2: #005293;--color-amber: #e0a200;--shadow-hub-sm: 0 1px 2px rgba(2, 44, 82, .05), 0 2px 10px rgba(2, 44, 82, .06);--shadow-hub-md: 0 6px 24px rgba(2, 44, 82, .1);--cat-1: #E36A2D;--cat-2: #1F4568;--cat-3: #2E7D5B;--cat-4: #8B5FBF;--cat-5: #C98A1F;--cat-6: #4C8CA8;--cat-7: #B5442E;--chart-grid: #EFEAE0;--chart-blue: #2a78d6;--chart-orange: #eb6834;--callout-bg: #fdf1e8;--rule-soft: #F0ECE2;--track: #EDE9DE;--color-ink-a04: rgba(2, 44, 82, .04);--color-ink-a08: rgba(2, 44, 82, .08);--color-ink-a25: rgba(2, 44, 82, .25);--color-ink-a35: rgba(2, 44, 82, .35);--color-ember-a12: rgba(233, 106, 37, .12);--color-success-a30: rgba(46, 158, 107, .3);--font-display: "Lora Variable", "Lora", Georgia, "Times New Roman", serif;--font-ui: "Inter Variable", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--text-eyebrow: 11px;--text-sm: 13px;--text-base: 15px;--text-lg: 18px;--text-h3: 22px;--text-h2: 30px;--text-h1: 44px;--leading-body: 1.5;--leading-display: 1.15;--tracking-eyebrow: .18em;--tracking-tight: -.02em;--tracking-badge: .04em;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--s-8: 64px;--s-9: 96px;--r-sm: 4px;--r-md: 8px;--r-lg: 14px;--shadow-1: 0 1px 0 var(--color-ink-a04), 0 1px 2px var(--color-ink-a04);--shadow-2: 0 4px 16px var(--color-ink-a08);--shadow-pop: 0 24px 60px -20px var(--color-ink-a25);--motion-fast: .16s ease-out;--motion-entrance: .24s cubic-bezier(.2, .8, .2, 1)}*{box-sizing:border-box}html,body{margin:0;padding:0;background-color:var(--color-paper-tint);color:var(--color-ink);font-family:var(--font-ui);font-size:var(--text-base);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;display:flex;flex-direction:column}a{color:inherit;text-decoration:none;transition:color var(--motion-fast)}button,input,textarea,select{font:inherit;color:inherit}button{border:none;background:none;padding:0;cursor:pointer}:focus{outline:none}:focus-visible{outline:2px solid var(--color-ember);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.hub-root{background:var(--color-paper-tint);color:var(--color-body);font-family:var(--font-ui);-webkit-font-smoothing:antialiased}.hub-root .sans{font-family:var(--font-ui)}.hub-root header.top{background:linear-gradient(135deg,var(--color-ink) 0%,var(--color-ink-2) 100%);color:#fff;padding:28px clamp(18px,4vw,48px) 26px;position:relative;overflow:hidden}.hub-root header.top:after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,#e36a2d47,#e36a2d00 70%)}.hub-root .brand-row{display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap;position:relative;z-index:1}.hub-root .brand-mark{font-family:var(--font-ui);font-weight:800;letter-spacing:.5px;font-size:15px;text-transform:uppercase;color:var(--color-ember);display:flex;align-items:center;gap:8px;margin-bottom:6px}.hub-root .brand-mark svg{width:16px;height:16px}.hub-root h1.title{font-family:var(--font-display);font-weight:600;font-size:clamp(26px,3.4vw,40px);margin:0 0 4px;letter-spacing:.2px}.hub-root .subtitle{font-family:var(--font-ui);color:#ffffffb8;font-size:14.5px;max-width:640px;line-height:1.5}.hub-root .as-of{font-family:var(--font-ui);font-size:12.5px;color:#fff9;text-align:right}.hub-root .as-of b{color:#fff;display:block;font-size:13.5px;margin-bottom:2px}.hub-root .util-bar{background:var(--color-ink);color:#fff;padding:8px clamp(18px,4vw,48px);display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-family:var(--font-ui);font-size:12.5px}.hub-root .util-label{font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:10.5px;color:#fff9}.hub-root .util-bar .toolbar-btn,.hub-root .util-bar .toolbar-btn.ghost{margin-right:0;background:transparent;border-color:#ffffff80;color:#fff}.hub-root .util-bar .toolbar-btn:hover,.hub-root .util-bar .toolbar-btn.ghost:hover{background:var(--color-ember);border-color:var(--color-ember);color:#fff}.hub-root .util-note{color:#ffffff8c;font-size:11.5px;margin-left:auto}@media(max-width:900px){.hub-root .util-note{margin-left:0;flex-basis:100%}}.hub-root nav.tabnav{background:var(--color-paper);border-bottom:1px solid var(--color-rule);padding:10px clamp(18px,4vw,48px);display:flex;gap:4px;flex-wrap:wrap;position:sticky;top:0;z-index:30;box-shadow:0 2px 10px #022c520d;font-family:var(--font-ui)}.hub-root nav.tabnav button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;cursor:pointer;padding:9px 16px;font-size:13px;font-weight:600;color:var(--color-ink-muted);border-radius:999px;white-space:nowrap;font-family:var(--font-ui);transition:background .15s ease,color .15s ease}.hub-root nav.tabnav button .tabno{display:inline-block;font-size:10.5px;font-weight:800;color:var(--color-ink-muted);background:var(--color-paper-tint);border-radius:50%;width:18px;height:18px;line-height:18px;text-align:center;margin-right:7px;transition:background .15s ease,color .15s ease}.hub-root nav.tabnav button:hover{background:var(--color-paper-tint);color:var(--color-ink-2)}.hub-root nav.tabnav button.active{color:#fff;background:var(--color-ink-2)}.hub-root nav.tabnav button.active .tabno{background:#ffffff40;color:#fff}.hub-root .hub-main{padding:30px clamp(18px,4vw,48px) 60px;max-width:1440px;margin:0 auto}.hub-root section:not(.panel){margin-bottom:34px}.hub-root .panel{margin-bottom:16px}.hub-root .two-col>.panel,.hub-root .grid-2>.panel{margin-bottom:0}.hub-root .section-head{display:flex;align-items:baseline;gap:12px;margin-bottom:14px}.hub-root .section-eyebrow{font-family:var(--font-ui);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--color-ember-deep)}.hub-root .section-title{font-family:var(--font-display);font-size:22px;font-weight:600;color:var(--color-ink);margin:0}.hub-root .section-note{font-family:var(--font-ui);font-size:13px;color:var(--color-ink-muted);margin:-6px 0 16px;max-width:820px;line-height:1.55}.hub-root .filterbar{background:var(--color-paper);border-bottom:1px solid var(--color-rule);padding:14px clamp(18px,4vw,48px);display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-family:var(--font-ui);position:sticky;top:0;z-index:20;box-shadow:0 2px 10px #16324f0d}.hub-root .filterbar.inset{position:static;border:1px solid var(--color-rule);border-radius:10px;box-shadow:none;margin-top:10px}.hub-root .filterbar .flabel{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-ink-muted);font-weight:700;margin-right:6px}.hub-root .filterbar select{font-family:var(--font-ui);border:1px solid var(--color-rule);background:var(--color-paper-tint);color:var(--color-body);padding:7px 30px 7px 10px;border-radius:6px;font-size:13px;font-weight:600;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6'><path d='M0 0l5 6 5-6z' fill='%235B6472'/></svg>");background-repeat:no-repeat;background-position:right 10px center;cursor:pointer}.hub-root .filterbar select:hover{border-color:var(--color-ember)}.hub-root .reset-btn{font-family:var(--font-ui);font-size:12.5px;font-weight:700;color:var(--color-ember-deep);background:none;border:1.5px solid var(--color-ember);border-radius:999px;padding:7px 14px;cursor:pointer;margin-left:auto}.hub-root .reset-btn:hover{background:var(--color-ember);color:#fff}.hub-root .reset-btn:disabled{opacity:.4;cursor:default}.hub-root .reset-btn:disabled:hover{background:none;color:var(--color-ember-deep)}.hub-root .count-pill{font-size:12.5px;color:var(--color-ink-muted);font-weight:600}.hub-root .multiselect{position:relative;display:inline-block}.hub-root .multiselect-btn{font-family:var(--font-ui);font-size:13px;font-weight:600;color:var(--color-body);background:var(--color-paper);border:1px solid var(--color-rule);border-radius:8px;padding:8px 30px 8px 12px;cursor:pointer;position:relative;min-width:130px;text-align:left}.hub-root .multiselect-btn:after{content:"▾";position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--color-ink-muted);font-size:11px}.hub-root .multiselect-btn:hover{border-color:var(--color-ink-2)}.hub-root .multiselect.open .multiselect-btn{border-color:var(--color-ink-2);box-shadow:0 0 0 3px #0052931f}.hub-root .multiselect-panel{display:none;position:absolute;top:calc(100% + 6px);left:0;z-index:40;min-width:220px;max-height:280px;overflow-y:auto;background:var(--color-paper);border:1px solid var(--color-rule);border-radius:10px;box-shadow:var(--shadow-hub-md);padding:8px 0}.hub-root .multiselect.open .multiselect-panel{display:block}.hub-root .multiselect-panel label{display:flex;align-items:center;gap:8px;padding:6px 14px;font-size:13px;color:var(--color-body);cursor:pointer;white-space:nowrap}.hub-root .multiselect-panel label:hover{background:var(--color-paper-tint)}.hub-root .multiselect-panel .ms-actions{display:flex;gap:10px;padding:4px 14px 8px;border-bottom:1px solid var(--color-rule);margin-bottom:4px}.hub-root .multiselect-panel .ms-actions a{font-size:11.5px;font-weight:700;color:var(--color-ink-2);cursor:pointer;text-decoration:none}.hub-root .multiselect-panel .ms-actions a:hover{text-decoration:underline}.hub-root .kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.hub-root .kpi{background:var(--color-paper);border:1px solid var(--color-rule);border-radius:14px;padding:18px 18px 16px;position:relative;overflow:hidden;box-shadow:var(--shadow-hub-sm)}.hub-root .kpi:before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:var(--color-ember)}.hub-root .kpi.alt:before{background:var(--color-ink-2)}.hub-root .kpi.warn:before{background:var(--color-amber)}.hub-root .kpi.kpi-flat:before{background:none}.hub-root .kpi.kpi-flat{border-color:var(--color-rule)}.hub-root .kpi-label{font-family:var(--font-ui);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-ink-muted);margin-bottom:8px}.hub-root .kpi-value{font-family:var(--font-display);font-size:30px;font-weight:600;color:var(--color-ink);line-height:1}.hub-root .kpi-sub{font-family:var(--font-ui);font-size:12px;color:var(--color-ink-muted);margin-top:7px;line-height:1.4}.hub-root .grid-2{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.hub-root .panel{background:var(--color-paper);border:1px solid var(--color-rule);border-radius:14px;padding:20px 22px 16px;box-shadow:var(--shadow-hub-sm)}.hub-root .panel h3,.hub-root .panel h4{font-family:var(--font-ui);font-size:13.5px;font-weight:800;color:var(--color-ink);margin:0 0 4px;text-transform:uppercase;letter-spacing:.04em}.hub-root .panel h3 .h3-qualifier{font-weight:500;text-transform:none;letter-spacing:0;color:var(--color-ink-muted);font-size:12.5px}.hub-root .panel .sub{font-family:var(--font-ui);font-size:12px;color:var(--color-ink-muted);margin-bottom:10px}.hub-root .chart-wrap{position:relative}.hub-root .mt-16{margin-top:16px}.hub-root .mt-18{margin-top:18px}.hub-root .mt-20{margin-top:20px}.hub-root .legend-row{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:12px;font-family:var(--font-ui);font-size:12px;color:var(--color-ink-muted);list-style:none;padding:0}.hub-root .legend-item{display:flex;align-items:center;gap:6px}.hub-root .legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.hub-root .bubble-disclaimer{font-family:var(--font-ui);font-size:11.5px;font-style:italic;color:var(--color-ink-muted);margin:6px 0 0;padding-left:2px}.hub-root .bubble-disclaimer.plain{font-style:normal}.hub-root .bubble-disclaimer.error{font-style:normal;color:var(--color-danger)}.hub-root .callout{background:var(--callout-bg);border:none;border-left:3px solid var(--color-ember);border-radius:10px;padding:14px 16px;margin-top:14px;font-family:var(--font-ui);font-size:12.5px;color:var(--color-body);line-height:1.55}.hub-root .callout b{color:var(--color-ember-deep)}.hub-root .callout.callout-info{border-left-color:var(--color-ink-2)}.hub-root .table-scroll{overflow-x:auto;border:1px solid var(--color-rule);border-radius:14px;background:var(--color-paper)}.hub-root .scroll-x-nav{position:relative}.hub-root .scroll-x-fade{position:absolute;top:0;bottom:0;width:40px;z-index:1;pointer-events:none;opacity:0;transition:opacity .15s ease}.hub-root .scroll-x-fade.left{left:0;border-radius:14px 0 0 14px;background:linear-gradient(to right,var(--color-ink-a08),transparent)}.hub-root .scroll-x-fade.right{right:0;border-radius:0 14px 14px 0;background:linear-gradient(to left,var(--color-ink-a08),transparent)}.hub-root .scroll-x-fade.is-active{opacity:1}.hub-root .scroll-x-rail{position:absolute;top:0;bottom:0;width:56px;z-index:2;box-sizing:border-box;padding:44px 0 16px;display:flex;flex-direction:column;align-items:center;pointer-events:none}.hub-root .scroll-x-rail.left{left:0}.hub-root .scroll-x-rail.right{right:0}.hub-root .scroll-x-btn{position:sticky;top:calc(50vh - 22px);flex:none;width:44px;height:44px;display:grid;place-items:center;padding:0;border:2px solid #fff;border-radius:50%;background:var(--color-ink);color:#fff;box-shadow:var(--shadow-hub-md);cursor:pointer;opacity:0;pointer-events:none;transition:opacity .15s ease,background .15s ease}.hub-root .scroll-x-btn.is-visible,.hub-root .scroll-x-btn:focus-visible{opacity:1;pointer-events:auto}.hub-root .scroll-x-btn:hover{background:var(--color-ember)}.hub-root .scroll-x-btn:focus-visible{outline:2px solid var(--color-ember);outline-offset:2px}.hub-root table.proj{width:100%;border-collapse:collapse;font-family:var(--font-ui);font-size:12.8px}.hub-root table.proj thead th{background:var(--color-ink-2);color:#fff;text-align:left;padding:11px 12px;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.04em;position:sticky;top:0;-webkit-user-select:none;user-select:none;white-space:nowrap}.hub-root table.proj thead th.sortable{cursor:pointer}.hub-root table.proj thead th.sortable:hover{background:var(--color-ink)}.hub-root table.proj thead th .arrow{opacity:.5;font-size:10px;margin-left:3px}.hub-root tr.status-group-row td{background:var(--color-ink);color:#fff;border-bottom:none;border-top:none;padding:7px 12px;font-family:var(--font-ui)}.hub-root tr.status-group-row td .status-pill{background:#ffffff29;color:#fff}.hub-root tr.status-group-row:first-child td{border-top:none}.hub-root .status-group-count{margin-left:10px;font-size:11px;font-weight:700;color:#ffffffbf;text-transform:uppercase;letter-spacing:.04em}.hub-root table.proj tbody td{padding:9px 12px;border-bottom:1px solid var(--color-rule);vertical-align:top;color:var(--color-body)}.hub-root table.proj.compact-rows tbody td{padding:7px 12px;font-size:12.3px}.hub-root table.proj tbody tr:hover{background:#e36a2d0f}.hub-root table.proj tbody tr:nth-child(2n){background:#16324f05}.hub-root table.proj tbody tr:nth-child(2n):hover{background:#e36a2d12}.hub-root .name-cell{font-weight:700;color:var(--color-ink);max-width:260px}.hub-root .phase-tag{display:inline-block;font-size:10.5px;font-weight:700;color:var(--color-ink-muted);background:var(--color-paper-tint);border:1px solid var(--color-rule);border-radius:4px;padding:1px 6px;margin-top:3px}.hub-root .status-pill{display:inline-block;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:700;white-space:nowrap}.hub-root .st-Discovery{background:#f7e1e1;color:#c15c5c}.hub-root .st-InProgress{background:#faf3d8;color:#b39a3c}.hub-root .st-Testing{background:#eef3dd;color:#7e9950}.hub-root .st-Waiting{background:#f0e4e1;color:#9c7070}.hub-root .st-Done{background:#e1f0e6;color:#5a9770}.hub-root .st-PendingApproval{background:#fbeddd;color:#c48a45}.hub-root .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.hub-root .roi-pos{color:var(--color-success);font-weight:700}.hub-root .roi-neg{color:var(--color-danger);font-weight:700}.hub-root .dim{color:#b7bec8}.hub-root .cat-chip{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;color:var(--color-body)}.hub-root .cat-dot{width:8px;height:8px;border-radius:50%;flex:none}.hub-root .notes-cell{max-width:280px;color:var(--color-ink-muted);font-size:12px;line-height:1.4}.hub-root .mini-table{width:100%;border-collapse:collapse;font-family:var(--font-ui);font-size:12px}.hub-root .mini-table th{text-align:left;padding:6px 8px;color:var(--color-ink-muted);font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-rule)}.hub-root .mini-table td{padding:7px 8px;border-bottom:1px solid var(--rule-soft)}.hub-root .badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:10.5px;font-weight:700}.hub-root .badge-good{background:#e3f4ea;color:#2e7d5b}.hub-root .badge-warn{background:#fff3d6;color:#9a7010}.hub-root .badge-bad{background:#fde9e2;color:#c6551f}.hub-root .badge-flat{background:var(--track);color:var(--color-ink-muted)}.hub-root .two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch}.hub-root .two-col>*{min-width:0}@media(max-width:880px){.hub-root .grid-2,.hub-root .two-col{grid-template-columns:1fr}}.hub-root .legacy-tab>*:not(.legacy-banner){filter:grayscale(1) opacity(.55);pointer-events:none;-webkit-user-select:none;user-select:none}.hub-root .legacy-banner{display:flex;align-items:center;gap:16px;background:var(--callout-bg);border:2px dashed var(--color-ember);border-radius:14px;padding:18px 22px;margin-bottom:22px;position:sticky;top:70px;z-index:15;box-shadow:var(--shadow-hub-md)}.hub-root .legacy-banner-icon{font-size:34px;line-height:1}.hub-root .legacy-banner-title{font-family:var(--font-display);font-size:20px;font-weight:700;color:var(--color-ember-deep);margin-bottom:2px}.hub-root .legacy-banner-sub{font-size:13px;color:var(--color-body);max-width:760px;line-height:1.5;margin:0}.hub-root .progress-wrap{min-width:120px}.hub-root .progress-track{background:var(--track);border-radius:20px;height:8px;width:100%;overflow:hidden;position:relative}.hub-root .progress-fill{height:100%;border-radius:20px;background:var(--color-ember)}.hub-root .progress-fill.evs{background:var(--color-ink-2)}.hub-root .progress-label{font-size:10.5px;color:var(--color-ink-muted);margin-top:3px}.hub-root .progress-paused{font-size:11px;color:var(--color-amber);font-weight:700}.hub-root .src-tag{display:inline-block;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:1px 5px;border-radius:3px;margin-left:5px;vertical-align:middle}.hub-root .src-evs{background:#e3f1fb;color:#1f6fa8}.hub-root .src-est{background:#f1e7da;color:#8a5a28}.hub-root .link-ico{color:var(--color-ember-deep);text-decoration:none;font-weight:700;font-size:12px}.hub-root .link-ico:hover{text-decoration:underline}.hub-root .proj-title-click{cursor:pointer;border-bottom:1px dashed var(--color-ink-muted);text-align:left}.hub-root .proj-title-click:hover{color:var(--color-ember-deep);border-bottom-color:var(--color-ember-deep)}.hub-root .bc-reveal.wide{max-width:none}.hub-root .bc-reveal{margin-top:6px;padding:7px 9px;background:var(--color-paper-tint);border-radius:6px;font-size:11.5px;color:var(--color-ink-muted);line-height:1.4;max-width:260px}.hub-root .gantt-scale{display:flex;font-family:var(--font-ui);font-size:10.5px;color:var(--color-ink-muted);border-bottom:1px solid var(--color-rule);padding-bottom:6px;margin-bottom:4px;margin-left:260px;position:relative;height:16px}.hub-root .gantt-scale span{position:absolute;transform:translate(-50%);white-space:nowrap}.hub-root .gantt-rows{max-height:640px;overflow-y:auto}.hub-root .gantt-row{display:flex;align-items:center;min-height:34px;border-bottom:1px solid var(--rule-soft)}.hub-root .gantt-row:hover{background:#e36a2d0d}.hub-root .gantt-label{width:260px;flex:none;font-family:var(--font-ui);font-size:11.5px;color:var(--color-ink);font-weight:700;padding-right:10px;line-height:1.25}.hub-root .gantt-label .sub{font-weight:500;color:var(--color-ink-muted);font-size:10px;display:block;margin-top:1px;margin-bottom:0}.hub-root .gantt-track{flex:1;position:relative;height:20px;background:repeating-linear-gradient(90deg,#F5F2EA 0,#F5F2EA 1px,transparent 1px,transparent calc(100% / 12))}.hub-root .gantt-bar{position:absolute;top:3px;height:14px;border-radius:4px;opacity:.28}.hub-root .gantt-bar-fill{position:absolute;top:3px;height:14px;border-radius:4px}.hub-root .gantt-today{position:absolute;top:0;bottom:0;width:2px;background:var(--color-danger);z-index:2}.hub-root .gantt-legend{display:flex;gap:16px;flex-wrap:wrap;font-family:var(--font-ui);font-size:11.5px;color:var(--color-ink-muted);margin-top:10px;list-style:none;padding:0}.hub-root .gate-flow{display:flex;align-items:stretch;gap:0;flex-wrap:wrap;margin-top:14px}.hub-root .gate-step{background:#fff;border:1px solid var(--color-rule);border-radius:8px;padding:10px 14px;font-family:var(--font-ui);font-size:12px;font-weight:700;color:var(--color-ink);display:flex;align-items:center;gap:8px;min-width:140px}.hub-root .gate-step .stepno{width:20px;height:20px;border-radius:50%;background:var(--color-ember);color:#fff;font-size:10.5px;display:inline-flex;align-items:center;justify-content:center;flex:none}.hub-root .gate-arrow{color:var(--color-ember);font-size:18px;align-self:center;margin:0 4px;font-weight:400}.hub-root .gate-badges{display:flex;gap:3px;flex-wrap:nowrap}.hub-root .gate-badge{width:21px;height:21px;border-radius:5px;border:1.5px solid var(--color-rule);display:inline-flex;align-items:center;justify-content:center;font-size:8.5px;font-weight:800;color:var(--color-ink-muted);cursor:pointer;background:#fff;-webkit-user-select:none;user-select:none}.hub-root .gate-badge:hover{border-color:var(--color-ember)}.hub-root .gate-badge.checked{background:var(--color-success);border-color:var(--color-success);color:#fff}.hub-root .gate-summary{font-size:10.5px;font-weight:700;color:var(--color-ink-muted);margin-left:6px;white-space:nowrap}.hub-root .gate-summary.ready{color:var(--color-success)}.hub-root table.health-table.compact{font-size:11px;table-layout:fixed;width:100%;min-width:0}.hub-root table.health-table.compact td,.hub-root table.health-table.compact th{text-align:center;padding:5px 6px}.hub-root table.health-table.compact td:first-child,.hub-root table.health-table.compact th:first-child{text-align:left}.hub-root table.health-table.compact th{font-size:9.5px;padding:7px 6px;white-space:normal;line-height:1.15}.hub-root table.health-table.compact .name-cell{font-size:11px}.hub-root table.health-table.compact .health-effort-col{white-space:normal;line-height:1.3;overflow:hidden;text-overflow:ellipsis}.hub-root .health-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;font-size:16px;font-weight:800;cursor:pointer;border:none;color:#fff;-webkit-user-select:none;user-select:none}.hub-root .health-icon.small{width:20px;height:20px;font-size:10px}.hub-root .health-icon.green{background:var(--color-success)}.hub-root .health-icon.red{background:var(--color-danger)}.hub-root .health-icon.amber{background:var(--color-amber)}.hub-root .health-icon:hover{filter:brightness(1.08)}.hub-root .health-overall{font-weight:800;font-size:11px}.hub-root .health-overall.small{font-size:9px}.hub-root .scroll-fade-wrap{position:relative}.hub-root .gate-scroll{scrollbar-width:thin;scrollbar-color:var(--color-rule) var(--color-paper-tint);border:1px solid var(--color-rule);border-bottom:none}.hub-root .gate-scroll::-webkit-scrollbar{width:8px}.hub-root .gate-scroll::-webkit-scrollbar-track{background:var(--color-paper-tint);border-radius:4px}.hub-root .gate-scroll::-webkit-scrollbar-thumb{background:#c9c2ae;border-radius:4px}.hub-root .gate-scroll::-webkit-scrollbar-thumb:hover{background:var(--color-ember)}.hub-root .gate-scroll-more{display:block;width:100%;text-align:center;padding:7px 0;margin:0;font-family:var(--font-ui);font-size:11.5px;font-weight:800;color:#fff;background:var(--color-ink-2);border:1px solid var(--color-ink-2);border-top:none;border-radius:0 0 8px 8px;cursor:pointer;letter-spacing:.02em}.hub-root .gate-scroll-more:hover{background:var(--color-ember);border-color:var(--color-ember)}.hub-root .gate-scroll-more.at-bottom{background:var(--color-ink);color:#fff;border-color:var(--color-ink)}.hub-root .gate-scroll-more.at-bottom:hover{background:var(--color-ember);border-color:var(--color-ember)}.hub-root .edit-select{border:1px solid var(--color-rule);border-radius:5px;padding:4px;font-family:var(--font-ui);font-size:12px;background:#fffdf9;color:var(--color-ink);font-weight:700;cursor:pointer}.hub-root .edit-input{width:88px;border:1px solid var(--color-rule);border-radius:5px;padding:5px 7px;font-family:var(--font-ui);font-size:12.5px;text-align:right;background:#fffdf9;color:var(--color-ink)}.hub-root .edit-input:focus,.hub-root .edit-select:focus{outline:2px solid var(--color-ember);border-color:var(--color-ember)}.hub-root .toolbar-btn{font-family:var(--font-ui);font-size:12px;font-weight:700;padding:8px 16px;border-radius:999px;border:1.5px solid var(--color-ember);color:var(--color-ember-deep);background:#fff;cursor:pointer;margin-right:8px}.hub-root .toolbar-btn:hover{background:var(--color-ember);color:#fff}.hub-root .toolbar-btn:disabled{opacity:.5;cursor:default}.hub-root .toolbar-btn:disabled:hover{background:#fff;color:var(--color-ember-deep)}.hub-root .toolbar-btn.ghost{border-color:var(--color-rule);color:var(--color-ink-muted)}.hub-root .toolbar-btn.ghost:hover{background:var(--color-paper-tint);color:var(--color-body)}.hub-root .wb-select-btn{font-family:var(--font-ui);font-size:11px;font-weight:800;color:var(--color-ink-2);background:#e7f0f9;border:none;border-radius:999px;padding:6px 12px;cursor:pointer;white-space:nowrap}.hub-root .wb-select-btn:hover{background:#c9e4f7}.hub-root tr.row-selected td{background:#e36a2d1a!important}.hub-root .wb-panel{background:var(--color-paper);border:2px solid var(--color-ember);border-radius:10px;padding:20px 22px;margin-top:16px}.hub-root .wb-head{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:10px;margin-bottom:14px}.hub-root .wb-head h3{margin:0;font-family:var(--font-display);font-size:19px;color:var(--color-ink);font-weight:600;text-transform:none;letter-spacing:normal}.hub-root .wb-head .meta{font-family:var(--font-ui);font-size:12px;color:var(--color-ink-muted);margin-top:3px}.hub-root .wb-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#16324f8c;z-index:200;display:flex;align-items:flex-start;justify-content:center;padding:5vh 20px;overflow-y:auto}.hub-root .wb-modal{background:var(--color-paper);border-radius:12px;max-width:820px;width:100%;box-shadow:0 20px 60px #00000059;position:relative;padding:24px 26px;animation:wbModalIn .15s ease-out}@keyframes wbModalIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.hub-root .wb-modal-close{position:absolute;top:16px;right:18px;width:32px;height:32px;border-radius:50%;border:none;background:var(--color-paper-tint);color:var(--color-ink-muted);font-size:18px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.hub-root .wb-modal-close:hover{background:var(--color-ember);color:#fff}.hub-root .wb-assumptions{display:flex;gap:20px;flex-wrap:wrap;background:var(--color-paper-tint);border-radius:8px;padding:10px 14px;margin-bottom:16px;font-family:var(--font-ui);font-size:12px;color:var(--color-ink-muted);align-items:center}.hub-root .wb-assumptions label{display:flex;align-items:center;gap:6px;font-weight:700;color:var(--color-body)}.hub-root .wb-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media(max-width:880px){.hub-root .wb-grid{grid-template-columns:1fr}}.hub-root .wb-col h4,.hub-root .wb-section-heading{font-family:var(--font-ui);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--color-ember-deep);margin:0 0 10px;font-weight:800}.hub-root .wb-stated{display:block;font-size:10.5px;color:var(--color-ink-muted);font-weight:400;margin-top:2px}.hub-root .wb-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--rule-soft);font-family:var(--font-ui);font-size:12.5px;color:var(--color-body)}.hub-root .wb-row:last-child{border-bottom:none}.hub-root .wb-row .val{font-weight:700;color:var(--color-ink);font-variant-numeric:tabular-nums}.hub-root .wb-row .val.pos{color:var(--color-success)}.hub-root .wb-row .val.neg{color:var(--color-danger)}.hub-root .wb-empty{font-family:var(--font-ui);font-size:13px;color:var(--color-ink-muted);text-align:center;padding:30px 10px}.hub-root footer{font-family:var(--font-ui);font-size:11.5px;color:var(--color-ink-muted);text-align:center;padding:26px 20px 40px;line-height:1.7}.hub-root .skel-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hub-root .skel-bar{display:block;border-radius:4px;background:var(--color-rule)}.hub-root .filterbar .skel-bar,.hub-root .gate-flow .skel-bar{display:inline-block}.hub-root .skel-table{display:flex;flex-direction:column;gap:14px}.hub-root .skel-row{display:grid;gap:12px;align-items:center}@media(prefers-reduced-motion:no-preference){.hub-root .skel-bar{background:linear-gradient(90deg,var(--color-rule) 0%,var(--color-paper-tint) 50%,var(--color-rule) 100%);background-size:200% 100%;animation:hubSkeletonShimmer 1.4s ease-in-out infinite}}@keyframes hubSkeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.hub-root table.proj thead th.sticky-col{left:0;z-index:3;box-shadow:inset -1px 0 0 var(--color-rule);width:270px}.hub-root table.proj tbody td.sticky-col{position:sticky;left:0;z-index:2;box-shadow:inset -1px 0 0 var(--color-rule);background:var(--color-paper)}.hub-root table.proj tbody tr:nth-child(2n) td.sticky-col{background:linear-gradient(#16324f05,#16324f05),var(--color-paper)}.hub-root table.proj tbody tr:hover td.sticky-col{background:linear-gradient(#e36a2d0f,#e36a2d0f),var(--color-paper)}.hub-root table.proj tbody tr:nth-child(2n):hover td.sticky-col{background:linear-gradient(#e36a2d12,#e36a2d12),var(--color-paper)}.hub-root table.proj tbody tr.row-selected td.sticky-col{background:linear-gradient(#e36a2d1a,#e36a2d1a),var(--color-paper)!important}@media(max-width:900px){.hub-root table.proj thead th.sticky-col{left:auto;width:auto}.hub-root table.proj tbody td.sticky-col{position:static}}
