.hdr-title.hdr-clamp{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media print{.hdr-title.hdr-clamp{white-space:normal;overflow:visible}}.page-skel-hdr{height:72px;background:var(--navy);border-bottom:3px solid var(--teal)}.page-skel-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--gap);margin-bottom:var(--gap)}.page-skel-tile{height:96px;border-radius:var(--radius-tile)}.problem .problem-title{margin:0 0 6px;font-size:20px}.problem-actions{display:flex;gap:10px;flex-wrap:wrap}.conn-banner{display:flex;align-items:center;gap:10px;margin:0 var(--gutter) 10px;padding:8px 12px;border-radius:8px;background:var(--notice-bg);color:var(--notice-ink);font-size:13px;border-left:4px solid var(--amber)}.conn-banner.offline{background:#f6dada;color:#7f2a26;border-left-color:var(--red)}.conn-banner .conn-dot{width:8px;height:8px;border-radius:50%;background:currentColor;flex:none}.conn-banner .conn-text{flex:1}.conn-retry{font:700 12px/1 var(--font);padding:6px 10px;border-radius:6px;border:1px solid currentColor;background:#fff;color:inherit;cursor:pointer}.conn-retry:focus-visible{outline:3px solid var(--teal);outline-offset:2px}@media print{.conn-banner-live,.page-skel{display:none!important}}.login-page{min-height:100vh;display:flex;flex-direction:column;background:var(--page-bg)}.login-band{background:var(--navy);border-bottom:3px solid var(--teal);color:#fff;min-height:84px;padding:14px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.login-brand{display:flex;align-items:center;gap:12px}.login-mark{width:36px;height:36px;border:1px solid rgba(255,255,255,.25);border-radius:7px}.login-wordmark{font-size:26px;font-weight:700;letter-spacing:.14em}.login-band-sub{margin:0;font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--header-ink)}.login-main{flex:1;display:flex;flex-direction:column;align-items:center;padding:56px 16px 32px}.login-card{width:100%;max-width:420px;background:var(--card-bg);border-radius:var(--radius-card);border-top:4px solid var(--teal);box-shadow:0 1px 2px #16283f14,0 8px 24px #16283f14;padding:28px 32px 24px;display:flex;flex-direction:column}.login-title{margin:0 0 4px;font-size:22px;color:var(--navy)}.login-lede{margin:0 0 18px;color:var(--slate);font-size:13px}.login-notice{margin:0 0 16px;padding:8px 12px;border-radius:6px;background:var(--notice-bg);color:var(--notice-ink);font-size:12.5px}.login-label{font-weight:700;font-size:12.5px;margin-bottom:6px}.login-field{display:flex;align-items:stretch;border:1px solid var(--track);border-radius:6px;background:#fff}.login-field:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px #087f832e}.login-field.has-error{border-color:var(--critical)}.login-field input{flex:1;min-width:0;border:0;background:transparent;padding:10px 12px;font:inherit;font-size:15px;color:var(--navy);border-radius:6px 0 0 6px}.login-field input:focus,.login-field input:focus-visible{outline:none}.login-toggle{border:0;border-left:1px solid var(--line);background:var(--soft);color:var(--navy);font:700 12px/1 Arial,sans-serif;padding:0 14px;border-radius:0 6px 6px 0;cursor:pointer}.login-toggle:hover{background:var(--pale)}.login-caps{min-height:18px;margin:4px 0 0;font-size:12px;font-weight:700;color:var(--amber-text)}.login-error{min-height:18px;margin:2px 0 10px;font-size:12.5px;color:var(--critical);font-weight:700}.login-error:empty{margin-bottom:4px}.login-submit{height:40px;border:0;border-radius:6px;background:var(--teal);color:#fff;font:700 14px/1 Arial,sans-serif;letter-spacing:.02em;cursor:pointer}.login-submit:hover:not(:disabled){background:#066a6d}.login-submit:disabled{background:var(--slate);cursor:default}.login-note{margin:14px 0 0;font-size:11.5px;color:var(--slate)}.login-help{margin:16px 0 0;font-size:12px;color:var(--slate);text-align:center;max-width:420px}.login-checking{color:var(--slate);font-size:13px}.affect-signout{display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer}.affect-signout svg{width:16px;height:16px}@media (max-width: 520px){.login-band{padding:12px 16px}.login-main{padding-top:28px}.login-card{padding:22px 18px 18px}}:root{--navy: #16283f;--teal: #087f83;--green: #278367;--amber: #e5a13b;--amber-text: #9a6212;--red: #bf534e;--slate: #5a6a7e;--mist: #dde4eb;--page-bg: #eef1f5;--card-bg: #ffffff;--pale: #e7edf2;--line: #dde4eb;--track: #e3e9ef;--soft: #f6f8fa;--notice-bg: #fff0cf;--notice-ink: #7a4f12;--header-ink: #c7d7e7;--critical: #b42318;--blue: #235a89;--font: "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Roboto, Arial, sans-serif;--font-mono: Consolas, "Cascadia Mono", "SFMono-Regular", Menlo, monospace;--fs-xs: 11px;--fs-sm: 12px;--fs-md: 13px;--fs-lg: 14px;--fs-xl: 16px;--fs-2xl: 20px;--fs-3xl: 24px;--fs-kpi: 28px;--fs-kpi-sm: 22px;--lh-tight: 1.15;--lh: 1.4;--fw-regular: 400;--fw-medium: 600;--fw-bold: 700;--tracking-caps: .05em;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--deck-w: 1600px;--gutter: clamp(16px, 2.5cqw, 40px);--gap: var(--sp-4);--section-gap: var(--sp-5);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-card: var(--radius-lg);--radius-tile: var(--radius-md);--shadow-card: 0 1px 2px rgba(22, 40, 63, .06), 0 0 0 1px rgba(22, 40, 63, .05);--shadow-raise: 0 4px 14px rgba(22, 40, 63, .1), 0 0 0 1px rgba(22, 40, 63, .06);--ink: #16283f;--ink-2: #3d4d61;--muted: #5a6a7e;--line-strong: #c9d3dd;--surface: #ffffff;--surface-2: #f6f8fa;--hover: #f3f6f9;--good-solid: #278367;--good-tint: #e3f2ec;--good-ink: #1d6b52;--warn-solid: #e5a13b;--warn-tint: #fdf1dc;--warn-ink: #7e520c;--bad-solid: #bf534e;--bad-tint: #fbe9e8;--bad-ink: #9b2c26;--none-solid: #c9d3dd;--none-tint: #eef2f6;--none-ink: #4a5a6e;--cat-1: #087f83;--cat-2: #2f6fb5;--cat-3: #7a8798;--cat-4: #d9a441;--cat-5: #8a5fa8;--chart-h-sm: 180px;--chart-h-md: 260px;--chart-h-lg: 340px;--row-h: 36px;--row-h-compact: 28px;--cell-px: 10px;--cell-px-tight: 6px;--tile-min-h: 104px;--accent-w: 4px;color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--page-bg);color:var(--ink);font-family:var(--font);font-size:var(--fs-md);line-height:var(--lh);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea{font-family:inherit}a{color:inherit}:focus-visible{outline:3px solid var(--teal);outline-offset:2px;border-radius:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:12px;top:-48px;z-index:100;background:#fff;color:var(--navy);padding:8px 12px;border-radius:6px;font-weight:700;text-decoration:none}.skip-link:focus{top:12px}.pre{white-space:pre-wrap}.num,.tnum{font-variant-numeric:tabular-nums}.deck{min-height:100vh;display:flex;flex-direction:column;--deck-pad: max(var(--gutter), calc((100% - var(--deck-w)) / 2 + var(--gutter)))}.deck-main{flex:1;width:100%;max-width:var(--deck-w);margin-inline:auto;padding:var(--sp-5) var(--gutter) var(--sp-8);display:flex;flex-direction:column;gap:var(--section-gap);min-width:0}.stale{opacity:.55;transition:opacity .12s ease-in}.hdr-region{display:block}.hdr{background:var(--navy);border-bottom:3px solid var(--teal);color:#fff;min-height:72px;padding:var(--sp-3) var(--deck-pad, var(--gutter));display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"main aside";column-gap:var(--sp-6);row-gap:var(--sp-2);align-items:center}.hdr :focus-visible{outline-color:#fff}.hdr-main{grid-area:main;min-width:0;display:flex;flex-direction:column;gap:2px}.hdr-eyebrow{display:block;margin:0;font-size:var(--fs-xs);font-weight:var(--fw-medium);letter-spacing:.08em;line-height:16px;text-transform:uppercase;color:var(--header-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hdr-title{grid-area:main;margin:0;font-size:var(--fs-3xl);font-weight:var(--fw-bold);letter-spacing:-.005em;line-height:1.25;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hdr-title .hdr-name{display:block;overflow:hidden;text-overflow:ellipsis}.hdr-title .hdr-project{font-size:inherit}.hdr-title.compact{font-size:var(--fs-3xl)}.hdr-sub{margin:0;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--header-ink);min-width:0}.hdr-aside,.hdr-right{grid-area:aside;display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-3);align-items:center;justify-content:flex-end;min-width:0;max-width:min(640px,52cqw)}.hdr-status{display:inline-flex;align-items:center;gap:7px;height:26px;padding:0 11px 0 9px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:#ffffff14;color:#fff;font-size:var(--fs-sm);font-weight:var(--fw-medium);white-space:nowrap}.hdr-status .dot{width:7px;height:7px;border-radius:50%;background:#4fd1c5;box-shadow:0 0 0 3px #4fd1c538;flex:none}.hdr-status.saved .dot{background:#f2c980;box-shadow:0 0 0 3px #f2c98038}.hdr-facts,.hdr-right-text{margin:0;font-size:var(--fs-sm);font-weight:var(--fw-regular);color:var(--header-ink);text-align:right;line-height:1.4;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.hdr-facts b{color:#fff;font-weight:var(--fw-medium)}.hdr-facts .sep{margin:0 6px;opacity:.6}.hdr-links{display:flex;gap:var(--sp-1);flex-shrink:0}.hdr-btn{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 8px 0 10px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.22);background:transparent;color:#fff;font:var(--fw-medium) var(--fs-sm) / 1 var(--font);text-decoration:none;cursor:pointer;white-space:nowrap}.hdr-btn:hover{background:#ffffff1a;border-color:#fff6}.hdr-btn .icon{opacity:.8}.hdr .navlink{background:transparent;border-color:#ffffff38;color:#fff}.hdr .navlink:hover{background:#ffffff1a;border-color:#fff6;color:#fff}.picker{display:flex;flex-direction:column;justify-content:center;background:#fff;border-radius:6px;padding:3px 8px 4px;width:236px;min-height:44px;color:var(--navy)}.picker.project{width:230px}.picker label{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--slate)}.picker select{appearance:none;-webkit-appearance:none;border:0;padding:1px 20px 1px 0;margin:0;width:100%;font:var(--fw-medium) var(--fs-sm) var(--font);color:var(--navy);background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%235A6A7E'/%3E%3C/svg%3E") no-repeat right 2px center;cursor:pointer;text-overflow:ellipsis}.picker select:focus-visible{outline:3px solid var(--teal);outline-offset:3px}.ptabs{position:relative;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:0 1px 2px #16283f0a}.ptabs-scroll{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;padding:0 var(--deck-pad, var(--gutter))}.ptabs-scroll::-webkit-scrollbar{display:none}.ptabs-list{display:flex;gap:var(--sp-1);margin:0;padding:0;list-style:none;min-width:max-content}.ptabs-link{position:relative;display:flex;align-items:center;height:44px;padding:0 var(--sp-3);color:var(--muted);font-size:var(--fs-md);font-weight:var(--fw-medium);text-decoration:none;white-space:nowrap;border-radius:var(--radius-sm) var(--radius-sm) 0 0;transition:color .12s,background .12s}.ptabs-link:hover{color:var(--navy);background:var(--hover)}.ptabs-link[aria-current=page]{color:var(--navy)}.ptabs-link[aria-current=page]:after{content:"";position:absolute;left:var(--sp-3);right:var(--sp-3);bottom:0;height:3px;border-radius:3px 3px 0 0;background:var(--teal)}.ptabs-link:focus-visible{outline-offset:-3px}.ptabs-fade{position:absolute;top:0;bottom:1px;width:40px;pointer-events:none;opacity:0;transition:opacity .12s}.ptabs-fade.start{left:0;background:linear-gradient(to right,#fff 30%,#fff0)}.ptabs-fade.end{right:0;background:linear-gradient(to left,#fff 30%,#fff0)}.ptabs[data-scroll-start] .ptabs-fade.start,.ptabs[data-scroll-end] .ptabs-fade.end{opacity:1}.ptabs-arrow{all:unset;box-sizing:border-box;position:absolute;top:50%;z-index:1;display:grid;place-items:center;width:28px;height:28px;margin-top:-15px;border-radius:50%;background:var(--surface);border:1px solid var(--line-strong);box-shadow:0 1px 3px #16283f2e;color:var(--navy);cursor:pointer}.ptabs-arrow:hover{background:var(--surface-2);color:var(--teal)}.ptabs-arrow.start{left:4px}.ptabs-arrow.end{right:4px}.ptabs-arrow-flip{transform:scaleX(-1)}@media print{.ptabs-arrow{display:none!important}}.deck-main .ptabs{background:transparent;box-shadow:none;border-bottom-color:var(--line-strong)}.deck-main .ptabs-scroll{padding:0}.deck-main .ptabs-fade.start{background:linear-gradient(to right,var(--page-bg) 30%,rgba(238,241,245,0))}.deck-main .ptabs-fade.end{background:linear-gradient(to left,var(--page-bg) 30%,rgba(238,241,245,0))}.mnote{background:var(--surface);border-radius:var(--radius-md);border-left:3px solid var(--line-strong);box-shadow:var(--shadow-card);color:var(--ink-2);font-size:var(--fs-md);line-height:1.5}.mnote-toggle{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:var(--sp-2);width:100%;min-height:40px;padding:var(--sp-2) var(--sp-4);cursor:pointer;border-radius:0 var(--radius-md) var(--radius-md) 0}.mnote-toggle:hover{background:var(--hover)}.mnote-toggle:focus-visible{outline:3px solid var(--teal);outline-offset:-3px}.mnote-icon{flex:none;color:var(--muted)}.mnote-title{flex:none;color:var(--ink);font-weight:var(--fw-medium)}.mnote-lead{flex:1;min-width:0;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mnote-chev{flex:none;margin-left:auto;color:var(--muted);transition:transform .14s}.mnote[data-open] .mnote-chev{transform:rotate(180deg)}.mnote-body{padding:0 var(--sp-4) var(--sp-4) calc(var(--sp-4) + 24px);max-width:120ch}.mnote-body>:first-child{margin-top:0}.mnote-body>:last-child{margin-bottom:0}.mnote-body p{margin:0 0 var(--sp-2)}.mnote-body ul,.mnote-body ol{margin:0 0 var(--sp-2);padding-left:18px}.mnote-body li+li{margin-top:2px}.mnote-body b,.mnote-body strong{color:var(--ink);font-weight:var(--fw-medium)}.mnote.static .mnote-head{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4) var(--sp-1)}.mnote.static .mnote-body{padding-top:0}.card{position:relative;background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:var(--sp-4) var(--sp-5) var(--sp-5);min-width:0;display:flex;flex-direction:column}.card.accent{padding-left:calc(var(--sp-5) + 2px);overflow:hidden}.card .accent-bar{position:absolute;left:0;top:0;bottom:0;width:var(--accent-w)}.card-head{display:flex;align-items:center;gap:var(--sp-2) var(--sp-3);min-height:28px;margin-bottom:var(--sp-3)}.card-head:last-child{margin-bottom:0}.card-heading{display:flex;flex-direction:column;gap:2px;min-width:0}.card-title{margin:0;font-size:var(--fs-xl);font-weight:var(--fw-bold);line-height:1.3;color:var(--ink);letter-spacing:-.003em}.card-title.sm{font-size:var(--fs-xl)}.card-subtitle{margin:0;font-size:var(--fs-sm);font-weight:var(--fw-regular);color:var(--muted);line-height:1.4}.card-head .spacer{flex:1}.card-note{font-size:var(--fs-sm);color:var(--muted)}.card-head>.card-heading{flex:0 1 auto;max-width:100%}.rule{height:1px;background:var(--line);margin:0 0 var(--sp-3);border:0}.card-head+.rule{margin-top:calc(-1 * var(--sp-1))}.navlink{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 10px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line-strong);color:var(--navy);font:var(--fw-medium) var(--fs-sm) / 1 var(--font);text-decoration:none;white-space:nowrap;cursor:pointer;transition:background .12s,border-color .12s}.navlink:hover{background:var(--surface-2);border-color:var(--teal);color:var(--teal)}.tiles{display:grid;gap:var(--gap);align-items:stretch}.tiles.n7{grid-template-columns:repeat(7,minmax(0,1fr))}.tiles.n5{grid-template-columns:repeat(5,minmax(0,1fr))}.tiles.n6{grid-template-columns:repeat(6,minmax(0,1fr))}.tiles.n4{grid-template-columns:repeat(4,minmax(0,1fr))}.tiles.n3{grid-template-columns:repeat(3,minmax(0,1fr))}.tile{position:relative;container:tile / inline-size;background:var(--surface);border-radius:var(--radius-tile);box-shadow:var(--shadow-card);padding:var(--sp-4) var(--sp-4) var(--sp-3) var(--sp-5);min-height:var(--tile-min-h);overflow:hidden;display:flex;flex-direction:column;min-width:0}.tile .accent-bar{position:absolute;left:0;top:0;bottom:0;width:var(--accent-w);background:var(--none-solid)}.tile-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px var(--sp-1);min-height:18px;margin:-1px 0 0}.tile-label{margin:0;flex:1 1 0;min-width:min-content;max-width:100%;font-size:var(--fs-xs);font-weight:var(--fw-medium);line-height:16px;color:var(--muted);letter-spacing:var(--tracking-caps);text-transform:uppercase;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow-wrap:break-word}.tile-head>.tile-label+*,.tile-head>.tile-link,.deck-main .tile-head>.tile-label+.tile-tools{margin-left:auto}.tile-label.sm{font-size:var(--fs-xs)}.tile-link{flex:none;display:inline-grid;place-items:center;width:24px;height:24px;margin:-4px -6px -4px 0;border-radius:var(--radius-sm);color:var(--muted);text-decoration:none;transition:background .12s,color .12s}.tile-link:hover{background:var(--surface-2);color:var(--teal)}.tile-link:focus-visible{outline-offset:0}.tile:has(.tile-link:hover){box-shadow:var(--shadow-raise)}.tile-main{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-1) var(--sp-2);min-width:0;margin-top:var(--sp-2)}.tile-value{margin:var(--sp-2) 0 0;min-width:0;font-size:clamp(20px,11cqi + 4px,var(--fs-kpi));font-weight:var(--fw-bold);color:var(--ink);line-height:var(--lh-tight);letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile-main>.tile-value{margin:0;flex:0 1 auto;max-width:100%}.tile-value.v20{font-size:clamp(18px,10cqi + 2px,var(--fs-3xl))}.tile-value.v15{font-size:clamp(16px,8cqi + 2px,var(--fs-2xl))}.tile-value.text{font-size:var(--fs-lg);font-weight:var(--fw-medium);line-height:1.35;letter-spacing:0;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.tiles.n7 .tile-value:not(.text){font-size:clamp(18px,11cqi + 2px,var(--fs-kpi-sm))}.tile-delta{flex:none;margin-left:auto;display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:2px 4px;min-width:0}.tile-extras{display:flex;align-items:center;gap:var(--sp-2);margin-top:var(--sp-2);min-height:18px}.tile-sub{margin-top:auto;padding-top:var(--sp-2);font-size:var(--fs-sm);font-weight:var(--fw-regular);line-height:1.4;color:var(--muted);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.tile-sub.state{font-weight:var(--fw-medium)}.tile-sub.plain{font-weight:var(--fw-regular)}.tile .navlink{height:24px;padding:0 8px;font-size:var(--fs-xs)}@container tile (max-width: 210px){.tile-head{align-items:flex-start;min-height:32px}.tile-label{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}}@container tile (max-width: 200px){.tile-main>.tile-delta{flex-basis:100%;margin-left:0;justify-content:flex-start}}.tile .sparkline{flex:none;max-width:100%}.tile-split{display:flex;flex-direction:column;align-items:flex-start;gap:0;margin-top:var(--sp-2);min-width:0;flex:1}.tile-split .tile-value{margin:0;min-width:0}.tile-split .tile-caption{margin-top:auto;padding-top:var(--sp-2);font-size:var(--fs-sm);color:var(--muted);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.bar-row{padding:var(--sp-1) 0 2px}.bar-row+.bar-row{margin-top:var(--sp-2)}.bar-top{display:flex;align-items:baseline;gap:var(--sp-3);min-height:22px}.bar-label{font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--ink-2)}.bar-value{margin-left:auto;font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}.bar-track{position:relative;height:8px;margin:6px 0 4px;border-radius:999px;background:var(--track);overflow:hidden}.bar-fill{position:absolute;inset:0 auto 0 0;border-radius:999px}.bar-hint{font-size:var(--fs-xs);color:var(--muted);line-height:1.4}.pill{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:22px;padding:2px 9px;border-radius:999px;border:1px solid transparent;font-weight:var(--fw-medium);font-size:var(--fs-sm);line-height:1.3;white-space:nowrap;text-align:center;font-variant-numeric:tabular-nums;vertical-align:middle}.pill.block{display:flex;border-radius:var(--radius-sm)}.pill.sm{min-height:20px;font-size:var(--fs-xs);padding:1px 8px;min-width:0}.pill.solid{font-weight:var(--fw-bold);border-color:transparent}.table-wrap{position:relative;overflow:auto;border-radius:var(--radius-sm);min-height:0;-webkit-overflow-scrolling:touch}.table-wrap:focus-visible{outline-offset:0}table.dt{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs-md);line-height:1.35;color:var(--ink)}.dt caption{text-align:left}.dt th,.dt td{text-align:left;vertical-align:middle;padding:7px var(--cell-px);border-bottom:1px solid var(--line)}.dt td{height:var(--row-h)}.dt thead th{position:sticky;top:0;z-index:1;background:var(--surface-2);color:var(--muted);font-weight:var(--fw-medium);font-size:var(--fs-sm);line-height:1.3;padding-top:8px;padding-bottom:8px;border-bottom:1px solid var(--line-strong);vertical-align:bottom}.dt thead th:first-child{border-top-left-radius:var(--radius-sm)}.dt thead th:last-child{border-top-right-radius:var(--radius-sm)}.dt-th{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;text-wrap:balance}.dt.fixed .dt-th{hyphens:auto;-webkit-hyphens:auto;overflow-wrap:anywhere;-webkit-line-clamp:3;line-clamp:3}.dt.light thead th{background:var(--surface-2);color:var(--muted);border-bottom:1px solid var(--line-strong)}.dt tbody tr:hover td{background:var(--hover)}.dt tbody tr:last-child td{border-bottom-color:var(--line)}.dt tfoot td{position:sticky;bottom:0;background:var(--surface-2);color:var(--ink);font-weight:var(--fw-bold);border-top:1px solid var(--line-strong);border-bottom:0}.dt td.left,.dt th.left{text-align:left}.dt td.center,.dt th.center{text-align:center}.dt td.right,.dt th.right{text-align:right}.dt td.num,.dt td.right{font-variant-numeric:tabular-nums;white-space:nowrap}.dt th.num,.dt th.right{min-width:9ch}.dt td.date{font-variant-numeric:tabular-nums;white-space:nowrap}.dt td.wrap{white-space:normal;min-width:14ch}.dt td.note{white-space:normal;max-width:36ch;color:var(--ink-2)}.dt .pill{white-space:nowrap;font-size:var(--fs-xs)}.dt.fixed{table-layout:fixed}.dt.narrow{table-layout:auto}.dt.narrow td.wrap,.dt.narrow td.note{min-width:18ch}.dt-host{position:relative}.dt-host:before,.dt-host:after{content:"";position:absolute;top:0;bottom:0;z-index:2;width:36px;pointer-events:none;opacity:0;transition:opacity .12s}.dt-host:before{left:0;background:linear-gradient(to right,#16283f4d,#16283f00 14px),linear-gradient(to right,#fffffff2,#fff0);border-top-left-radius:var(--radius-sm)}.dt-host:after{right:0;background:linear-gradient(to left,#16283f4d,#16283f00 14px),linear-gradient(to left,#fffffff2,#fff0);border-top-right-radius:var(--radius-sm)}.dt-host[data-more-start]:before,.dt-host[data-more-end]:after{opacity:1}.dt.compact th,.dt.compact td{padding:4px var(--cell-px-tight);font-size:var(--fs-sm)}.dt.compact td{height:var(--row-h-compact)}.dt a.rowlink{color:var(--navy);font-weight:var(--fw-medium);text-decoration:none}.dt a.rowlink:hover{color:var(--teal);text-decoration:underline;text-underline-offset:3px}.dt-empty{padding:var(--sp-5) var(--sp-3);color:var(--muted);font-size:var(--fs-md);text-align:center!important}.dt .neg,.neg{color:var(--bad-ink)}.dt .muted,.muted{color:var(--muted)}.dt-more{display:flex;align-items:center;justify-content:center;gap:var(--sp-2);margin-top:var(--sp-2)}.dt-more-btn{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:var(--radius-sm);color:var(--teal);font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer}.dt-more-btn:hover{background:var(--surface-2)}.dt-more-btn:focus-visible{outline:2px solid var(--teal);outline-offset:1px}.dt-tools{display:flex;justify-content:flex-end;position:absolute;top:14px;right:14px;z-index:2}.card:has(>.dt-tools)>.card-head,.card:has(>.dt-toolbar.only-menu)>.card-head{padding-right:36px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;height:28px;min-width:28px;padding:0 6px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--muted);font:var(--fw-bold) 16px/1 var(--font);letter-spacing:.04em;cursor:pointer}.icon-btn:hover,.icon-btn[aria-expanded=true]{background:var(--surface-2);border-color:var(--line);color:var(--navy)}.deck-main select,.select{appearance:none;-webkit-appearance:none;height:32px;max-width:100%;padding:0 32px 0 10px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235A6A7E' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9.5l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center;color:var(--ink);font:var(--fw-regular) var(--fs-md) / 1 var(--font);cursor:pointer;transition:border-color .12s,box-shadow .12s}.deck-main select:hover,.select:hover{border-color:#9fb0c2}.deck-main select:focus-visible,.select:focus-visible{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px #087f832e}.deck-main .dt .dt-filter-row select{height:24px;padding:0 22px 0 6px;background-position:right 6px center;font-size:var(--fs-xs)}.tbd{border:1px dashed var(--line-strong);background:var(--surface-2);border-radius:var(--radius-md);padding:var(--sp-3) var(--sp-4);color:var(--ink-2);font-size:var(--fs-md);line-height:1.5}.tbd-title{display:block;font-size:var(--fs-xs);font-weight:var(--fw-medium);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--muted);margin-bottom:2px}.notice{background:var(--warn-tint);color:var(--warn-ink);border:1px solid #f3d9a8;border-radius:var(--radius-md);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);font-weight:var(--fw-medium);white-space:pre-wrap}.band{background:var(--surface);border-left:3px solid var(--line-strong);box-shadow:var(--shadow-card);border-radius:var(--radius-md);padding:var(--sp-3) var(--sp-4);color:var(--ink-2);font-size:var(--fs-md);line-height:1.5;white-space:pre-wrap}.band.focus{border-left-color:var(--teal);color:var(--ink);font-size:var(--fs-lg);font-weight:var(--fw-medium)}.page-foot{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-4);font-size:var(--fs-xs);line-height:1.5;color:var(--muted);white-space:pre-wrap}.page-foot .foot-note{flex:1 1 400px}.legend{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-1) var(--sp-4);font-size:var(--fs-sm);color:var(--muted)}.legend b{color:var(--ink);font-weight:var(--fw-medium)}.swatch{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-2px;margin-right:6px;box-shadow:inset 0 0 0 1px #16283f14}.freshness{display:none;flex-wrap:wrap;align-items:center;gap:4px 16px;padding:8px var(--deck-pad, var(--gutter));border-top:1px solid var(--line);font-size:var(--fs-xs);color:var(--muted)}.freshness .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:0}.freshness .run{margin-left:auto;font-family:var(--font-mono);font-size:var(--fs-xs)}.freshness .session{display:inline-flex;align-items:center;gap:8px}.freshness .session:only-child{margin-left:auto}.freshness .session .aud{padding:1px 7px;border-radius:999px;background:var(--pale);color:var(--navy);font-weight:var(--fw-medium);font-size:var(--fs-xs)}.freshness .signout{border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:4px;padding:1px 8px;font:inherit;font-size:var(--fs-xs);cursor:pointer}.freshness .signout:hover{border-color:var(--teal)}button.navlink{font:var(--fw-medium) var(--fs-sm) / 1 var(--font);cursor:pointer}.skeleton{border-radius:var(--radius-card);background:linear-gradient(90deg,#e6ebf0,#f2f5f8,#e6ebf0);background-size:200% 100%;animation:shimmer 1.3s linear infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.skeleton{animation:none}}.problem{background:#fff;border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:28px 32px;max-width:720px;margin:40px auto;border-left:4px solid var(--amber)}.problem h2{margin:0 0 6px;font-size:var(--fs-2xl)}.problem p{margin:6px 0;color:var(--muted);font-size:var(--fs-md)}.problem .navlink{margin-top:10px;margin-right:8px}.devrole{position:fixed;right:14px;bottom:16px;z-index:50;display:flex;align-items:center;gap:8px;padding:6px 8px 6px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);box-shadow:0 4px 16px #16283f29;font-size:var(--fs-xs);color:var(--slate)}.devrole fieldset{display:flex;gap:2px;border:0;margin:0;padding:2px;background:var(--pale);border-radius:999px}.devrole legend{float:left;padding:0 6px 0 0;font-weight:var(--fw-medium);letter-spacing:.04em;line-height:24px}.devrole label{position:relative;border-radius:999px;padding:4px 10px;font-weight:var(--fw-medium);cursor:pointer;color:var(--navy)}.devrole input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}.devrole label.on{background:var(--navy);color:#fff}.devrole label:has(input:focus-visible){outline:3px solid var(--teal);outline-offset:1px}.devrole .mock{font-weight:var(--fw-bold);color:var(--amber-text)}.exec-row2{display:grid;grid-template-columns:492fr 422fr 344fr;gap:var(--gap);align-items:stretch}.exec-row3{display:grid;grid-template-columns:834fr 438fr;gap:var(--gap);align-items:stretch}.proj-row2{display:grid;grid-template-columns:466fr 390fr 402fr;gap:var(--gap);align-items:stretch}.proj-row3{display:grid;grid-template-columns:560fr 352fr 346fr;gap:var(--gap);align-items:stretch}.proj-row3>.card{height:auto}.grade-row3{display:grid;grid-template-columns:520fr 754fr;gap:var(--gap);align-items:start}.kv{display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,auto);align-items:center;column-gap:var(--sp-3);min-height:36px;padding:6px 0;border-bottom:1px solid var(--line)}.kv:last-child{border-bottom:0}.kv-label{font-size:var(--fs-md);font-weight:var(--fw-regular);color:var(--ink-2)}.kv-value{font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--ink);text-align:right;white-space:pre-wrap;font-variant-numeric:tabular-nums}.kv-value.long{font-size:var(--fs-md);font-weight:var(--fw-medium)}.kv-value.muted{font-size:var(--fs-sm);font-weight:var(--fw-regular);color:var(--muted)}.kv-extra{display:flex;align-items:center;gap:var(--sp-2);justify-content:flex-end}.revbox{background:var(--none-tint);border-radius:var(--radius-sm);padding:2px 6px;font-size:var(--fs-xs);color:var(--muted);font-weight:var(--fw-medium)}.chart{width:100%;min-height:120px}@container content (max-width: 1400px){.dt{--cell-px: 7px}}@container content (max-width: 1100px){.dt{--cell-px: 5px;--cell-px-tight: 4px}.dt .pill{min-width:0;padding-left:6px;padding-right:6px}}@container content (max-width: 1280px){.deck .tiles.n7.n7{grid-template-columns:repeat(12,minmax(0,1fr))}.deck .tiles.n7>*{grid-column:span 3}.deck .tiles.n7>:nth-child(n+5){grid-column:span 4}}@container content (max-width: 1080px){.hdr{grid-template-columns:minmax(0,1fr);grid-template-areas:"main" "aside";padding-top:var(--sp-3);padding-bottom:var(--sp-3)}.hdr-aside,.hdr-right{justify-content:flex-start;max-width:none}.hdr-facts,.hdr-right-text{text-align:left}.tiles.n6{grid-template-columns:repeat(3,minmax(0,1fr))}.tiles.n4,.exec-row2,.exec-row3,.proj-row2,.proj-row3{grid-template-columns:repeat(2,minmax(0,1fr))}.exec-row2>:last-child:nth-child(odd),.exec-row3>:last-child:nth-child(odd),.proj-row2>:last-child:nth-child(odd),.proj-row3>:last-child:nth-child(odd){grid-column:1 / -1}.grade-row3{grid-template-columns:minmax(0,1fr)}.kv-list,.card>.kv{max-width:640px}}@container content (max-width: 900px){.deck .tiles.n5.n5{grid-template-columns:repeat(6,minmax(0,1fr))}.deck .tiles.n5>*{grid-column:span 2}.deck .tiles.n5>:nth-child(n+4){grid-column:span 3}}@container content (max-width: 720px){.exec-row2,.exec-row3,.proj-row2,.proj-row3{grid-template-columns:minmax(0,1fr)}.deck .tiles.n7.n7,.deck .tiles.n6,.deck .tiles.n5.n5,.deck .tiles.n3{grid-template-columns:repeat(2,minmax(0,1fr))}.deck .tiles.n7>*,.deck .tiles.n6>*,.deck .tiles.n5>*,.deck .tiles.n5>:nth-child(n+4),.deck .tiles.n7>:nth-child(n+5){grid-column:auto}.deck .tiles>:last-child:nth-child(odd){grid-column:1 / -1}}@container content (max-width: 560px){.hdr-title{font-size:var(--fs-2xl)}.picker,.picker.project{width:100%}.card{padding:var(--sp-3) var(--sp-4) var(--sp-4)}.card-head{flex-wrap:wrap}.devrole{left:14px;right:auto}}@media print{.devrole,.skip-link,.hdr-links,.dt-tools,.dt-more,.ptabs{display:none!important}body{background:#fff}.freshness{display:flex}.card,.tile,.mnote,.band{box-shadow:none;border:1px solid var(--line)}.mnote-body[hidden]{display:block!important}.mnote-chev{display:none}}:root{--sb-w: 248px;--sb-w-rail: 64px;--tb-h: 60px;--sb-bg: #12223a;--sb-ink: #d5e0ec;--sb-muted: #9fb3c8;--sb-hover: rgba(255, 255, 255, .07);--sb-active: #1f3b5b;--shadow-pop: 0 12px 32px rgba(13, 27, 44, .18), 0 2px 6px rgba(13, 27, 44, .08);--ease: cubic-bezier(.2, .7, .2, 1)}kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;background:#fff;color:var(--slate);font:600 11px/1 var(--font)}.app{display:grid;grid-template-columns:var(--sb-w) minmax(0,1fr);min-height:100vh;transition:grid-template-columns .18s var(--ease)}.app.is-collapsed{grid-template-columns:var(--sb-w-rail) minmax(0,1fr)}.app.is-drawer{grid-template-columns:minmax(0,1fr)}.app-body{min-width:0;display:flex;flex-direction:column}.app-content{flex:1;container:content / inline-size;outline:none}.app .deck{min-height:calc(100vh - var(--tb-h))}.app-content:focus,.app-content h1[tabindex="-1"]:focus{outline:none}.app .skip-link{z-index:200}.app-scrim{position:fixed;inset:0;z-index:55;background:#0d1b2c80;animation:fade-in .16s ease-out}@keyframes fade-in{0%{opacity:0}}.sb{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:var(--sb-bg);color:var(--sb-ink);border-right:3px solid var(--teal);min-width:0;z-index:30}.sb :focus-visible{outline-color:#fff;outline-offset:-2px}.sb-brand{display:flex;align-items:center;gap:8px;height:var(--tb-h);padding:0 12px 0 14px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.sb-home{display:flex;align-items:center;gap:10px;min-width:0;color:#fff;text-decoration:none;border-radius:6px}.sb-mark{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;border-radius:8px;background:var(--teal);color:#fff;font:700 18px/1 var(--font);box-shadow:inset 0 -3px #0000002e}.sb-brand-text{display:flex;flex-direction:column;min-width:0;white-space:nowrap}.sb-brand-name{font-weight:700;font-size:15px;letter-spacing:.14em}.sb-brand-sub{font-size:11px;color:var(--sb-muted)}.sb-close{margin-left:auto}.sb-nav{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:10px 10px 20px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent;mask-image:linear-gradient(to bottom,#000 calc(100% - 28px),transparent);-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 28px),transparent)}.sb-nav[data-at-end]{mask-image:none;-webkit-mask-image:none}.sb-more{display:flex;align-items:center;gap:11px;width:100%;min-height:34px;padding:6px 10px;border:0;border-radius:7px;background:transparent;color:var(--sb-muted);font:13px/1.25 var(--font);text-align:left;cursor:pointer}.sb-more:hover{background:var(--sb-hover);color:#fff}.sb-more .icon{flex-shrink:0}.sb-more .sb-count{margin-left:auto;padding:0 7px;border-radius:999px;background:#ffffff1a;font-size:11px;line-height:18px}.sb-tip{position:fixed;z-index:90;padding:6px 9px;border-radius:6px;background:var(--navy);color:#fff;font:600 12px/1 var(--font);white-space:nowrap;box-shadow:var(--shadow-pop);pointer-events:none;transform:translateY(-50%)}.sb-section+.sb-section{margin-top:14px}.sb-heading{margin:0 0 4px;padding:0 10px;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--sb-muted)}.sb-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.sb-link{position:relative;display:flex;align-items:center;gap:11px;width:100%;min-height:36px;padding:7px 10px;border:0;border-radius:7px;background:transparent;color:var(--sb-ink);font:13px/1.25 var(--font);text-align:left;text-decoration:none;cursor:pointer;transition:background .12s,color .12s}.sb-link .icon{flex-shrink:0;color:var(--sb-muted);transition:color .12s}.sb-link:hover{background:var(--sb-hover);color:#fff}.sb-link:hover .icon{color:#fff}.sb-link.active{background:var(--sb-active);color:#fff;font-weight:600}.sb-link.active:before{content:"";position:absolute;left:-10px;top:7px;bottom:7px;width:3px;border-radius:0 3px 3px 0;background:#3fc1c5}.sb-link.active .icon{color:#6fd6d9}.sb-link.disabled{opacity:.5;cursor:not-allowed}.sb-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-kbd{margin-left:auto;background:transparent;border-color:#ffffff2e;color:var(--sb-muted)}.sb-project{display:flex;align-items:center;gap:8px;width:100%;margin:2px 0 6px;padding:8px 10px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#ffffff0d;color:#fff;font:600 13px/1.25 var(--font);text-align:left;cursor:pointer}.sb-project:hover{background:#ffffff1a}.sb-project .icon{margin-left:auto;flex-shrink:0;color:var(--sb-muted)}.sb-project-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-loading{display:flex;flex-direction:column;gap:8px;padding:6px 10px}.sb-skel{height:14px;border-radius:4px;background:#ffffff14}.sb-foot{flex-shrink:0;padding:8px 10px 10px;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:6px}.sb-session{display:flex;align-items:center;gap:10px;padding:8px 6px 4px;min-width:0}.sb-avatar{display:grid;place-items:center;width:30px;height:30px;flex-shrink:0;border-radius:50%;background:#2b4a6d;color:#fff;font:600 12px/1 var(--font)}.sb-who{display:flex;flex-direction:column;min-width:0}.sb-name{color:#fff;font-weight:600;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-aud{font-size:11px;color:var(--sb-muted)}.sb-signout-slot{margin-left:auto}.sb-icon-btn{display:grid;place-items:center;width:32px;height:32px;margin-left:auto;flex-shrink:0;border:0;border-radius:7px;background:transparent;color:var(--sb-ink);cursor:pointer}.sb-icon-btn:hover{background:var(--sb-hover);color:#fff}.sb-collapse{display:flex;align-items:center;gap:10px;min-height:32px;padding:6px 12px;border:0;border-radius:7px;background:transparent;color:var(--sb-muted);font:12px var(--font);cursor:pointer}.sb-collapse:hover{background:var(--sb-hover);color:#fff}.sb[data-collapsed] .sb-label,.sb[data-collapsed] .sb-brand-text,.sb[data-collapsed] .sb-heading,.sb[data-collapsed] .sb-project-name,.sb[data-collapsed] .sb-who{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.sb[data-collapsed] .sb-kbd{display:none}.sb[data-collapsed] .sb-nav{padding:8px 8px 16px;scrollbar-width:none}.sb[data-collapsed] .sb-nav::-webkit-scrollbar{display:none}.sb[data-collapsed] .sb-more{justify-content:center;padding:7px 0}.sb[data-collapsed] .sb-more .sb-count{display:none}.sb[data-collapsed] .sb-section+.sb-section{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.08)}.sb[data-collapsed] .sb-link,.sb[data-collapsed] .sb-collapse{justify-content:center;min-height:34px;padding:7px 0}.sb[data-collapsed] .sb-link.active:before{left:-8px}.sb[data-collapsed] .sb-project{justify-content:center;padding:7px 0}.sb[data-collapsed] .sb-project .icon{margin:0}.sb[data-collapsed] .sb-brand{padding:0;justify-content:center}.sb[data-collapsed] .sb-foot{padding:8px}.sb[data-collapsed] .sb-session{justify-content:center;padding:6px 0}.sb[data-collapsed] .sb-session .sb-icon-btn,.sb[data-collapsed] .sb-signout-slot{display:none}.is-drawer .sb{position:fixed;inset:0 auto 0 0;width:min(300px,86vw);height:100dvh;z-index:60;transform:translate(-102%);visibility:hidden;transition:transform .2s var(--ease),visibility 0s linear .2s;box-shadow:8px 0 32px #0d1b2c4d}.is-drawer.drawer-open .sb{transform:none;visibility:visible;transition:transform .22s var(--ease)}.tb{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:14px;min-height:var(--tb-h);padding:8px 20px;background:#fffffff7;border-bottom:1px solid var(--line);box-shadow:0 1px #16283f08}@supports (backdrop-filter: blur(6px)){.tb{background:#ffffffe0;backdrop-filter:saturate(1.4) blur(8px)}}.tb-where{min-width:0;flex:1 1 180px;display:flex;flex-direction:column;gap:2px}.tb-crumbs ol{display:flex;align-items:center;flex-wrap:nowrap;min-width:0;gap:2px 0;margin:0;padding:0;list-style:none;font-size:14px;color:var(--slate)}.tb-crumbs li{display:inline-flex;align-items:center;min-width:0;flex-shrink:1;white-space:nowrap}.tb-crumbs li:last-child{flex-shrink:0;max-width:100%}.tb-crumbs li+li:before{content:"›" / "";margin:0 8px;color:#8a99ab;font-size:16px;line-height:1}.tb-crumbs a{color:var(--slate);text-decoration:none;border-radius:3px}.tb-crumbs a:hover{color:var(--teal);text-decoration:underline;text-underline-offset:3px}.tb-crumbs [aria-current=page]{color:var(--navy);font-weight:600}.tb-crumbs li:not(:last-child){max-width:30ch}.tb-crumbs li>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tb-fresh-row{display:flex;align-items:center;gap:6px;min-width:0}.tb-where{container:tbwhere / inline-size}.tb-fresh{margin:0;min-width:0;font-size:12px;color:var(--slate);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tb-fresh-combo{min-width:0;display:flex}button.tb-fresh{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:4px;min-width:0;max-width:100%;min-height:24px;padding:0 4px;border-radius:4px;font-size:12px;color:var(--slate);white-space:nowrap;cursor:pointer}button.tb-fresh:hover{color:var(--navy);background:var(--soft)}button.tb-fresh:focus-visible{outline:2px solid var(--teal);outline-offset:1px}button.tb-fresh .icon{flex:none;opacity:.7}.tb-fresh-full,.tb-fresh-compact{min-width:0;overflow:hidden;text-overflow:ellipsis}.tb-fresh-compact,.tb-dq-compact{display:none}@container tbwhere (max-width: 600px){.tb-dq-full{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.tb-dq-compact{display:inline}}@container tbwhere (max-width: 500px){.tb-fresh-full{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.tb-fresh-compact{display:block}}.fresh-pop{left:0;right:auto;width:max-content;max-width:min(380px,calc(100vw - 24px));padding:12px 14px;font-size:13px;color:var(--ink);white-space:normal}.fresh-pop-head{margin:0 0 6px;font-weight:600;color:var(--navy)}.fresh-pop ul{margin:0;padding:0 0 0 16px;display:grid;gap:3px}.fresh-pop-link{display:inline-block;margin-top:8px;color:var(--teal);font-weight:600;text-decoration:none}.fresh-pop-link:hover{text-decoration:underline}.tb-dq{flex:none;display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 8px;border-radius:999px;font-size:11px;font-weight:600;line-height:1;white-space:nowrap;text-decoration:none;background:#fdf3e1;color:#7a4a00;border:1px solid #f0d49a}.tb-dq.blocked{background:#fdecea;color:#8f1d14;border-color:#f2b8b2}a.tb-dq:hover{text-decoration:underline;text-underline-offset:2px}a.tb-dq:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.tb-dot{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;vertical-align:1px}.tb-tools{display:flex;align-items:center;gap:8px;flex-shrink:0}.tb-search{display:inline-flex;align-items:center;gap:8px;height:40px;min-width:250px;padding:0 8px 0 12px;border:1px solid var(--line);border-radius:8px;background:var(--soft);color:var(--slate);font:13px var(--font);cursor:pointer;transition:border-color .12s,background .12s}.tb-search:hover{border-color:#b8c6d4;background:#fff}.tb-search kbd{margin-left:auto}.tb-field{position:relative;display:inline-flex;flex-direction:column;justify-content:center;height:40px;min-width:0;padding:0 28px 0 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--navy);font:inherit;text-align:left;cursor:pointer;transition:border-color .12s,box-shadow .12s}.tb-field:hover{border-color:#b8c6d4}.tb-field:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px #087f832e}.tb-field>.icon{position:absolute;right:9px;top:50%;transform:translateY(-50%);color:var(--slate);pointer-events:none}.tb-field-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--slate);line-height:1.2}.tb-field-value,.tb-field select{font:600 12px/1.3 var(--font);color:var(--navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tb-field select{appearance:none;-webkit-appearance:none;border:0;padding:0;margin:0;background:transparent;cursor:pointer;outline:none;max-width:230px}.tb-period{width:210px}.tb-period select{position:absolute;inset:0;width:100%;max-width:none;padding:17px 28px 3px 10px;border-radius:8px}.tb-period .tb-field-label{position:absolute;top:5px;left:10px;pointer-events:none}.tb-project{width:240px}.tb-project:disabled{cursor:default;opacity:.7}.tb-project.in-route{border-color:#9fd2d4;background:#f3fafa}.tb-project:focus-visible{outline:none}.tb-icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:40px;min-width:40px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--navy);font:600 13px var(--font);cursor:pointer}.tb-icon-btn:hover{border-color:#b8c6d4;background:var(--soft)}.tb-icon-btn[aria-expanded=true]{border-color:var(--teal)}.tb-menu{border:0;margin-left:-6px}.tb-combo{position:relative}.tb-pop{position:absolute;top:calc(100% + 6px);right:0;z-index:70;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-pop);animation:pop-in .12s var(--ease)}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px)}}.combo-pop{width:340px;max-width:calc(100vw - 32px)}.combo-search{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line);color:var(--slate)}.combo-search input,.pal-input input{flex:1;min-width:0;border:0;outline:none;background:transparent;color:var(--navy);font:14px var(--font)}.combo-list{max-height:320px;overflow-y:auto;margin:0;padding:6px;list-style:none}.combo-opt{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;cursor:pointer;color:var(--navy)}.combo-opt.active{background:#e6f3f3}.combo-opt.selected .combo-name{font-weight:600}.combo-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.combo-meta{font-size:11px;color:var(--slate);white-space:nowrap}.combo-check{color:var(--teal);font-weight:600}.combo-empty{padding:14px 10px;color:var(--slate)}.combo-foot{margin:0;padding:7px 12px;border-top:1px solid var(--line);font-size:11px;color:var(--slate)}.menu-pop{min-width:240px;padding:6px}.menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:6px;background:transparent;color:var(--navy);font:13px var(--font);text-align:left;cursor:pointer}.menu-item:hover,.menu-item:focus{background:#e6f3f3;outline:none}.menu-item:focus-visible{box-shadow:inset 0 0 0 2px var(--teal)}.menu-item .icon{color:var(--teal)}.menu-item kbd{margin-left:auto}@media (max-width: 1500px){.tb-search{min-width:0}.tb-search-text,.tb-fresh-extra,.tb-print-text,.tb-print .icon:last-child{display:none}}@media (max-width: 1180px){.tb-print-text,.tb-print .icon:last-child{display:none}.tb-period,.tb-project{width:200px}}@media (max-width: 760px){.tb{flex-wrap:wrap;padding:8px 12px;gap:8px 10px}.tb-where{flex-basis:calc(100% - 60px)}.tb-tools{width:100%}.tb-period,.tb-combo:has(.tb-project){flex:1;min-width:0}.tb-period,.tb-project{width:100%}.tb-search kbd{display:none}.devrole{left:14px;right:auto}}.modal{padding:0;border:0;border-radius:14px;background:#fff;color:var(--navy);box-shadow:0 24px 64px #0d1b2c52;width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 48px)}.modal::backdrop{background:#0d1b2c7a}.modal[open]{animation:pop-in .14s var(--ease)}.modal-body{display:flex;flex-direction:column;max-height:inherit}.modal.palette{width:min(660px,calc(100vw - 32px));margin-top:11vh}.modal.sheet.wide{width:min(760px,calc(100vw - 32px))}.pal{display:flex;flex-direction:column;max-height:min(620px,calc(100dvh - 24vh))}.pal-input{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line);color:var(--slate)}.pal-input input{font-size:16px}.pal-input:focus-within{box-shadow:inset 0 -2px 0 var(--teal);border-bottom-color:var(--teal)}.pal-input input:focus-visible{outline:2px solid var(--teal);outline-offset:4px;border-radius:4px}.pal-list{flex:1;overflow-y:auto;padding:6px 8px 8px}.pal-heading{display:flex;align-items:center;gap:6px;padding:10px 10px 4px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--slate)}.pal-opt{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:8px;cursor:pointer}.pal-opt.active{background:#e6f3f3;box-shadow:inset 3px 0 0 var(--teal)}.pal-icon{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border-radius:8px;background:var(--pale);color:var(--navy)}.pal-opt.active .pal-icon{background:var(--teal);color:#fff}.pal-text{display:flex;flex-direction:column;min-width:0;flex:1}.pal-label{font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pal-desc{font-size:12px;color:var(--slate);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pal-hint{font-size:12px;color:var(--slate);white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis}.pal-kind{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--slate);padding:2px 6px;border-radius:4px;background:var(--soft);border:1px solid var(--line)}.pal-empty{margin:0;padding:26px 12px;text-align:center;color:var(--slate)}.pal-foot{display:flex;gap:16px;padding:9px 16px;border-top:1px solid var(--line);background:var(--soft);border-radius:0 0 14px 14px;font-size:12px;color:var(--slate)}.pal-foot kbd+kbd{margin-left:3px}.pal-foot span{display:inline-flex;align-items:center;gap:5px}.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 10px;border-bottom:3px solid var(--teal);background:var(--navy);color:#fff;border-radius:14px 14px 0 0}.sheet-head h2{margin:0;font-size:16px}.sheet-close{width:32px;height:32px;border:0;border-radius:6px;background:transparent;color:#fff;font-size:22px;line-height:1;cursor:pointer}.sheet-close:hover{background:#ffffff1f}.sheet-close:focus-visible{outline-color:#fff}.sheet-note{margin:12px 20px;color:var(--slate);font-size:13px}.keys{margin:6px 0;padding:0 20px;overflow-y:auto}.keys-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--line)}.keys-row dt{order:2;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.keys-row dd{margin:0;font-size:13px}.keys-combo{display:inline-flex;align-items:center;gap:5px}.keys-or,.keys-then{margin:0 4px;font-size:11px;color:var(--slate)}.pack{display:flex;flex-direction:column;min-height:0}.pack-cols{display:grid;grid-template-columns:1fr 1.3fr;gap:16px;padding:0 20px;min-height:0}.pack fieldset{margin:0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;min-width:0}.pack legend{padding:0 6px;font-weight:600;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--slate)}.pack-sub{margin:10px 0 4px;font-size:12px;font-weight:600;color:var(--slate)}.pack-projects{display:flex;flex-direction:column}.pack-scroll{max-height:300px;overflow-y:auto;margin-top:4px}.check{display:flex;align-items:center;gap:8px;padding:5px 2px;font-size:13px;cursor:pointer}.check input{width:16px;height:16px;accent-color:var(--teal)}.linkish{align-self:flex-start;padding:2px 0;border:0;background:none;color:var(--teal);font:600 12px var(--font);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.sheet-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 20px 18px}.pack-count{margin-right:auto;font-weight:600;color:var(--slate)}.btn{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 16px;border-radius:8px;font:600 13px var(--font);cursor:pointer}.btn.primary{border:1px solid var(--teal);background:var(--teal);color:#fff}.btn.primary:hover{background:#066a6d}.btn.primary:disabled{opacity:.5;cursor:not-allowed}.btn.ghost{border:1px solid var(--line);background:#fff;color:var(--navy)}.btn.ghost:hover{border-color:#b8c6d4}@media (max-width: 640px){.pack-cols{grid-template-columns:1fr}.pal-kind,.pal-desc{display:none}}.app .deck{max-width:none}.pi-group{scroll-margin-top:calc(var(--tb-h) + 12px)}.pi-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin:6px 0 10px}.pi-head h2{margin:0;font-size:16px;font-weight:700}.pi-head p{margin:0;color:var(--slate)}.pi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin:0;padding:0;list-style:none}.pi-card{position:relative;display:flex;gap:14px;height:100%;padding:16px 16px 14px;border:1px solid transparent;border-radius:var(--radius-card);background:var(--card-bg);box-shadow:0 1px 2px #16283f0f;color:var(--navy);text-decoration:none;transition:border-color .12s,box-shadow .12s,transform .12s}a.pi-card:hover{border-color:#9fd2d4;box-shadow:0 6px 18px #16283f1a;transform:translateY(-1px)}.pi-card.disabled{opacity:.6}.pi-icon{display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;border-radius:10px;background:#e6f3f3;color:var(--teal)}.pi-text{display:flex;flex-direction:column;gap:4px;min-width:0}.pi-title{font-weight:600;font-size:14px}.pi-desc{color:var(--slate);font-size:13px}.pi-tags{display:flex;gap:6px;margin-top:2px}.pi-tag{padding:1px 7px;border-radius:999px;background:var(--pale);font-size:11px;font-weight:600}.pi-go{position:absolute;right:14px;top:16px;color:var(--slate)}a.pi-card:hover .pi-go{color:var(--teal)}.pack-bar{display:flex;gap:20px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;padding:16px 18px;border-radius:var(--radius-card);background:#fff;border-left:4px solid var(--teal)}.pack-toc{margin:8px 0 0;padding-left:20px;columns:2 260px;color:var(--slate)}.pack-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pack-status{color:var(--slate);font-size:12px}.pack-sheet{border-top:6px solid var(--page-bg);box-shadow:0 -1px 0 var(--line)}@media (prefers-reduced-motion: reduce){.app,.sb,.tb-pop,.modal[open],.app-scrim,.pi-card{transition:none!important;animation:none!important}*,*:before,*:after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}.tb-crumbs{min-width:0;overflow:hidden}.tb-crumbs li:first-child{flex-shrink:0}@page{size:17in 11in;margin:.55in .45in;@top-left{font:700 9pt Segoe UI,Arial,sans-serif;color:#16283f;vertical-align:bottom;padding-bottom:6pt}@top-right{font:9pt Segoe UI,Arial,sans-serif;color:#5a6a7e;vertical-align:bottom;padding-bottom:6pt}@bottom-left{font:8pt Segoe UI,Arial,sans-serif;color:#5a6a7e;vertical-align:top;padding-top:6pt}@bottom-right{font:8pt Segoe UI,Arial,sans-serif;color:#5a6a7e;vertical-align:top;padding-top:6pt}}@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}html,body{background:#fff!important}.sb,.tb,.app-scrim,.skip-link,.devrole,.screen-only,.hdr-links,.dt-tools,.tb-pop,dialog,.freshness .run{display:none!important}.app,.app.is-collapsed,.app.is-drawer,.app-body,.app-content{display:block!important}.app .deck{max-width:none!important;min-height:0!important;margin:0!important}.app .deck-main{padding:10px 0 6px!important}.app .hdr{padding-left:18px!important;padding-right:18px!important;border-radius:6px 6px 0 0}.freshness{padding:6px 0!important}.navlink,.tile-link,.ann-badge.empty,button:has(.alert-btn-icon),.exec-aging-watch,.dt-more,.dt-options,.ov-more,.ptabs-arrow,.chart-tools{display:none!important}.tile-label,.tile-sub,.tile-split .tile-caption,.pg-name,.pg-clamp,.dt-th{display:block!important;-webkit-line-clamp:unset!important;line-clamp:none!important;overflow:visible!important;text-overflow:clip!important}.pg-name.one,.deck-main .dt td a.rowlink.pg-name.one,.deck-main .dt td .pg-name.one{white-space:normal!important}.tile-value{text-overflow:clip!important}.page-foot,.freshness{break-before:avoid;break-inside:avoid}.dt tbody tr:first-child,.dt tbody tr:nth-child(2){break-before:avoid}.dt tr{break-inside:avoid}.stale{opacity:1!important}.card,.tile,.tbd,.problem,.pi-card,.kv,.band,.legend,figure,svg,canvas{break-inside:avoid}.card:has(table){break-inside:auto}.card-head,h1,h2,h3{break-after:avoid}table{break-inside:auto}tr,td,th{break-inside:avoid}thead{display:table-header-group}tfoot{display:table-footer-group}.table-wrap,[class*=scroll],.proj-row3>.card,.exec-row2>.card,.exec-row3>.card,.proj-row2>.card{max-height:none!important;height:auto!important;overflow:visible!important}.dt thead,.dt thead th,.dt tfoot td{position:static!important}.dt thead button{display:contents!important}.dt-sort-ind{display:none!important}.exec-row2,.exec-row3,.proj-row2,.proj-row3,.grade-row3{align-items:start}a{text-decoration:none!important}.pack-sheet{border:0!important;box-shadow:none!important}.pack-sheet+.pack-sheet{break-before:page}}@media print{:root{--gap: 10px;--section-gap: 10px;--row-h: 0px;--row-h-compact: 0px}.card{padding:10px 14px 12px!important;box-shadow:none!important;border:1px solid #e3e8ef}.card-head{margin-bottom:6px!important}table.dt{font-size:11px!important;line-height:1.25!important}.dt th,.dt td{height:auto!important;padding-top:3px!important;padding-bottom:3px!important}.dt thead th,.dt .dt-sort{padding-top:3px!important;padding-bottom:3px!important;min-height:0!important}.dt .pill{padding-top:0!important;padding-bottom:0!important}.page-foot{font-size:8px!important;line-height:1.3!important;gap:2px 12px!important}.freshness{font-size:8px!important;gap:2px 12px!important;padding:3px 0 0!important}.app .deck-main{padding-bottom:0!important}.exec-tiles .tile,.proj-tiles .tile{min-height:0!important}}@media print{.app .exec-page{zoom:.94;max-width:none!important}.exec-page .exec-row4{grid-template-columns:minmax(0,5fr) minmax(0,1fr)!important}.app .ov-page{zoom:.8;max-width:none!important}.ov-page .proj-row3{grid-template-columns:640fr 330fr 300fr!important}.ov-page .chart-box.has-print .chart-print{width:100%!important;height:250px!important;object-fit:contain;object-position:left center}}
