@import"https://fonts.googleapis.com/css2?family=Zilla+Slab:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&family=Source+Sans+3:ital,wght@0,300..700;1,400..700&display=swap";.bp{--bg: #f6f7f9;--surface: #ffffff;--surface-2: #fafbfc;--surface-3: #f1f3f5;--border: #e9eaee;--border-strong: #dcdee3;--border-faint: #eef0f2;--ink: #15171c;--ink-2: #5b616e;--ink-3: #8b909c;--ink-4: #aeb3bd;--accent: #af007c;--accent-ink: #ffffff;--accent-weak: color-mix(in oklab, var(--accent) 11%, #fff);--accent-weak-ink: color-mix(in oklab, var(--accent) 80%, #000 6%);--accent-line: color-mix(in oklab, var(--accent) 28%, #fff);--critical: #e5564b;--critical-weak: #fdecea;--good: #1f9d68;--warn: #d98a2b;--sh-sm: 0 1px 2px rgba(16, 18, 24, .05);--sh-md: 0 2px 6px rgba(16, 18, 24, .06), 0 1px 2px rgba(16, 18, 24, .05);--sh-lg: 0 8px 28px -6px rgba(16, 18, 24, .18), 0 2px 6px rgba(16, 18, 24, .06);--sh-pop: 0 12px 40px -8px rgba(16, 18, 24, .28);--r-sm: 6px;--r-md: 9px;--r-lg: 13px;--r-xl: 18px;--row-h: 38px;--pad-card: 13px;--font-ui: var(--font-body), ui-sans-serif, system-ui, sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, monospace;--day-w: 30px;--label-w: 300px}.bp *{box-sizing:border-box}.bp{height:100%}.bp{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-ui);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.bp #root{height:100%}.bp h1,.bp h2,.bp h3,.bp h4,.bp p{margin:0}.bp button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}.bp input,.bp select,.bp textarea{font:inherit;color:inherit}.bp ::selection{background:var(--accent-weak)}.bp .mono{font-family:var(--font-mono);font-feature-settings:"tnum" 1;letter-spacing:-.01em}.bp *::-webkit-scrollbar{width:11px;height:11px}.bp *::-webkit-scrollbar-thumb{background:#d7dade;border-radius:8px;border:3px solid transparent;background-clip:padding-box}.bp *::-webkit-scrollbar-thumb:hover{background:#c2c6cd;border:3px solid transparent;background-clip:padding-box}.bp *::-webkit-scrollbar-track{background:transparent}.bp .app{height:100vh;display:grid;grid-template-rows:auto 1fr;overflow:hidden}.bp .topbar{display:flex;align-items:center;gap:18px;padding:0 18px;height:56px;background:var(--surface);border-bottom:1px solid var(--border);z-index:20}.bp .brand{display:flex;align-items:center;gap:11px;min-width:0}.bp .brand-mark{width:28px;height:28px;border-radius:8px;background:linear-gradient(150deg,var(--accent),color-mix(in oklab,var(--accent) 60%,#000 18%));display:grid;place-items:center;color:#fff;flex:none;box-shadow:var(--sh-sm),inset 0 1px #ffffff40}.bp .brand-mark svg{width:16px;height:16px}.bp .brand-text{min-width:0}.bp .brand-text .kicker{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-weight:700}.bp .brand-text .proj{font-size:14px;font-weight:650;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px;line-height:1.15}.bp .topbar-spacer{flex:1}.bp .crumbs{display:flex;align-items:center;gap:8px;color:var(--ink-3);font-size:12.5px}.bp .crumbs .chip{display:inline-flex;align-items:center;gap:6px;background:var(--surface-3);border:1px solid var(--border);padding:4px 9px;border-radius:999px;color:var(--ink-2);font-weight:600;font-size:11.5px}.bp .crumbs .chip b{color:var(--ink);font-weight:650}.bp .seg{display:inline-flex;padding:3px;gap:2px;flex:none;background:var(--surface-3);border:1px solid var(--border);border-radius:10px}.bp .seg button{white-space:nowrap}.bp .seg button{display:inline-flex;align-items:center;gap:7px;padding:6px 13px;border-radius:7px;font-size:12.5px;font-weight:600;color:var(--ink-2);transition:background .12s,color .12s,box-shadow .12s}.bp .seg button svg{width:14px;height:14px;opacity:.85}.bp .seg button:hover{color:var(--ink)}.bp .seg button.on{background:var(--surface);color:var(--ink);box-shadow:var(--sh-sm)}.bp .btn{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 13px;border-radius:9px;font-weight:600;font-size:13px;white-space:nowrap;flex:none;border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);transition:background .12s,border-color .12s,transform .04s}.bp .btn:hover{background:var(--surface-2);border-color:var(--ink-4)}.bp .btn:active{transform:translateY(1px)}.bp .btn svg{width:15px;height:15px}.bp .btn.primary{background:var(--accent);color:var(--accent-ink);border-color:transparent;box-shadow:var(--sh-sm)}.bp .btn.primary:hover{background:color-mix(in oklab,var(--accent) 88%,#000)}.bp .btn.ghost{border-color:transparent;background:transparent;color:var(--ink-2)}.bp .btn.ghost:hover{background:var(--surface-3);color:var(--ink)}.bp .btn.icon{width:34px;padding:0;justify-content:center}.bp .body{display:grid;grid-template-columns:var(--side-w, 312px) 1fr;min-height:0;transition:grid-template-columns .18s ease}.bp .body.collapsed{--side-w: 0px}.bp .sidebar{background:var(--surface);border-right:1px solid var(--border);overflow-y:auto;overflow-x:hidden;min-width:0}.bp .side-inner{padding:16px 16px 40px;display:grid;gap:22px;min-width:280px}.bp .side-group{display:grid;gap:11px}.bp .side-head{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);font-weight:700}.bp .side-head svg{width:14px;height:14px}.bp .side-head .count{margin-left:auto;color:var(--ink-4);font-weight:600;letter-spacing:0;text-transform:none;font-size:11px}.bp .field{display:grid;gap:5px}.bp .field>span{font-size:11.5px;color:var(--ink-2);font-weight:600}.bp .field input,.bp .field select,.bp .ctl{width:100%;height:34px;padding:0 10px;background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;color:var(--ink);font-size:13px;transition:border-color .12s,box-shadow .12s}.bp .field input:hover,.bp .field select:hover{border-color:var(--ink-4)}.bp .field input:focus,.bp .field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.bp .field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' stroke='%238b909c' stroke-width='1.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px}.bp .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:9px}.bp .role-row{display:grid;grid-template-columns:74px 1fr;align-items:center;gap:9px}.bp .role-row .rk{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:600;color:var(--ink-2)}.bp .role-row input{height:31px}.bp .dot{width:9px;height:9px;border-radius:3px;flex:none}.bp .holiday-row{display:grid;grid-template-columns:1fr 31px;gap:7px}.bp .holiday-row button{height:31px;border-radius:7px;background:var(--surface-3);color:var(--ink-3);border:1px solid var(--border)}.bp .holiday-row button:hover{color:var(--critical);background:var(--critical-weak)}.bp .linkbtn{font-size:12px;color:var(--accent-weak-ink);font-weight:650;padding:4px 0;text-align:left}.bp .linkbtn:hover{text-decoration:underline}.bp .main{min-width:0;display:grid;grid-template-rows:auto auto 1fr;overflow:hidden}.bp .main-head{display:flex;align-items:center;gap:14px;padding:11px 18px;background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap}.bp .collapse-btn{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:var(--ink-3);border:1px solid var(--border)}.bp .collapse-btn:hover{background:var(--surface-3);color:var(--ink)}.bp .collapse-btn svg{width:16px;height:16px}.bp .metricbar{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.bp .metric{display:flex;align-items:baseline;gap:7px;padding:5px 11px;border-radius:9px;background:var(--surface-2);border:1px solid var(--border)}.bp .metric .v{font-size:15px;font-weight:700;color:var(--ink)}.bp .metric .v.mono{font-size:14px}.bp .metric .l{font-size:11.5px;color:var(--ink-2);font-weight:500}.bp .metric.accent{background:var(--accent-weak);border-color:var(--accent-line)}.bp .metric.accent .v,.bp .metric.accent .l{color:var(--accent-weak-ink)}.bp .metric.crit{background:var(--critical-weak);border-color:color-mix(in oklab,var(--critical) 30%,#fff)}.bp .metric.crit .v,.bp .metric.crit .l{color:var(--critical)}.bp .toolrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 18px;background:var(--surface);border-bottom:1px solid var(--border)}.bp .filter{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 8px 0 11px;border-radius:8px;border:1px solid var(--border-strong);background:var(--surface);color:var(--ink-2);font-size:12.5px;font-weight:600}.bp .filter svg{width:14px;height:14px;color:var(--ink-3)}.bp .filter select{border:0;background:none;outline:none;font-weight:600;color:var(--ink);height:100%;padding-right:16px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' stroke='%238b909c' stroke-width='1.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right center}.bp .mf{position:relative;display:inline-flex}.bp .mf-btn{cursor:pointer;font:inherit;font-size:12.5px;font-weight:600}.bp .mf-btn.on{border-color:var(--accent-line);background:var(--accent-weak);color:var(--accent-weak-ink)}.bp .mf-btn .mf-caret{font-size:9px;color:var(--ink-3)}.bp .mf-pop{position:absolute;top:calc(100% + 4px);left:0;z-index:40;min-width:210px;max-height:300px;overflow-y:auto;background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;box-shadow:var(--sh-md, 0 8px 26px rgba(0,0,0,.14));padding:4px}.bp .mf-row{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:0;background:none;font:inherit;font-size:12.5px;font-weight:600;color:var(--ink);padding:6px 8px;border-radius:7px;cursor:pointer}.bp .mf-row:hover{background:var(--surface-2, #f5f6f8)}.bp .mf-row.mf-all{color:var(--ink-3);border-bottom:1px solid var(--border);border-radius:7px 7px 0 0;margin-bottom:2px}.bp .mf-chk{width:15px;height:15px;border:1.5px solid var(--border-strong);border-radius:4px;flex:none;display:grid;place-items:center;font-size:9px;font-weight:800;color:#fff}.bp .mf-chk.on{background:var(--accent);border-color:var(--accent)}.bp .mf-olbl{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bp .toggle-pill{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 12px;border-radius:8px;border:1px solid var(--border-strong);background:var(--surface);font-size:12.5px;font-weight:600;color:var(--ink-2)}.bp .toggle-pill:hover{border-color:var(--ink-4)}.bp .toggle-pill.on{background:var(--accent-weak);border-color:var(--accent-line);color:var(--accent-weak-ink)}.bp .toggle-pill .sw{width:26px;height:15px;border-radius:999px;background:var(--border-strong);position:relative;transition:background .14s;flex:none}.bp .toggle-pill.on .sw{background:var(--accent)}.bp .toggle-pill .sw:after{content:"";position:absolute;top:2px;left:2px;width:11px;height:11px;border-radius:50%;background:#fff;transition:transform .14s;box-shadow:var(--sh-sm)}.bp .toggle-pill.on .sw:after{transform:translate(11px)}.bp .view-scroll{overflow:auto;min-height:0;background:var(--bg)}.bp .rc-spm{--rc: oklch(.54 .14 318)}.bp .rc-sd{--rc: oklch(.62 .11 235)}.bp .rc-ae{--rc: oklch(.64 .13 150)}.bp .rc-psc{--rc: oklch(.56 .15 305)}.bp .rc-pm{--rc: oklch(.7 .13 72)}.bp .rc-render{--rc: oklch(.62 .13 22)}.bp .rc-data{--rc: oklch(.64 .1 212)}.bp .rc-lts{--rc: oklch(.68 .13 110)}.bp .rc-sim{--rc: oklch(.6 .16 330)}.bp .rc-kam{--rc: oklch(.58 .07 262)}.bp .rc-exec{--rc: oklch(.44 .04 290)}.bp .rc-all{--rc: oklch(.6 .03 250)}.bp .rc-other{--rc: oklch(.62 .02 250)}.bp .role-chip{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:650;color:var(--ink-2);background:var(--surface-3);border:1px solid var(--border);padding:2px 8px 2px 6px;border-radius:999px;white-space:nowrap}.bp .role-chip .dot{background:var(--rc)}.bp .stage-pill{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:11px;font-weight:700;letter-spacing:.01em;padding:2px 9px;border-radius:999px;background:color-mix(in oklab,var(--sc) 13%,#fff);color:color-mix(in oklab,var(--sc) 72%,#000 8%)}.bp .sc-1{--sc: #6b7a82}.bp .sc-2{--sc: #72b9d6}.bp .sc-3{--sc: #a2c037}.bp .sc-4{--sc: #e7b042}.bp .sc-5{--sc: #d2767d}.bp .tag{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:650;padding:2px 7px;border-radius:6px;background:var(--surface-3);color:var(--ink-2);border:1px solid var(--border)}.bp .tag.opt{color:var(--warn);background:#fcf4e7;border-color:#f2e3c4}.bp .tag.crit{color:var(--critical);background:var(--critical-weak);border-color:color-mix(in oklab,var(--critical) 28%,#fff)}.bp .tag.meet{color:var(--accent-weak-ink);background:var(--accent-weak);border-color:var(--accent-line)}.bp .tag.wait{color:#8a5a10;background:#fcf4e7;border-color:#f2e3c4}.bp .task-row.wait .tname{opacity:.55}.bp .empty{display:grid;place-items:center;gap:8px;padding:80px 20px;text-align:center;color:var(--ink-3)}.bp .empty svg{width:30px;height:30px;opacity:.5}.bp .empty b{color:var(--ink-2);font-weight:650}.bp .gantt{padding:16px;min-width:0}.bp .gantt-frame{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-sm);overflow:hidden;min-width:min-content}.bp .gantt-scroll{overflow:auto;max-height:calc(100vh - 210px);position:relative}.bp .gantt-inner{position:relative;width:max-content}.bp .g-head{position:sticky;top:0;z-index:8}.bp .g-months{display:flex;background:var(--surface-2);border-bottom:1px solid var(--border-faint)}.bp .g-resize{position:absolute;right:-4px;top:0;bottom:0;width:8px;cursor:col-resize;z-index:11}.bp .g-resize:hover{background:linear-gradient(to right,transparent 2px,var(--accent) 3px,var(--accent) 5px,transparent 6px)}.bp .g-corner{position:sticky;left:0;z-index:9;width:var(--label-w);flex:none;background:var(--surface-2);border-right:1px solid var(--border);display:flex;align-items:center;padding:0 14px;gap:8px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.bp .g-month{flex:none;border-right:1px solid var(--border);padding:6px 10px;font-size:11.5px;font-weight:700;color:var(--ink-2);white-space:nowrap;display:flex;align-items:center}.bp .g-days{display:flex;background:var(--surface);border-bottom:1px solid var(--border)}.bp .g-days .g-corner{background:var(--surface);border-bottom:0;height:34px}.bp .g-day{width:var(--day-w);flex:none;height:34px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:10.5px;color:var(--ink-3);border-right:1px solid var(--border-faint);gap:0}.bp .g-day .dn{font-weight:700;color:var(--ink-2);font-size:11px;line-height:1}.bp .g-day .dw{font-size:8.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-4);line-height:1.4}.bp .g-day.we{background:var(--surface-3)}.bp .g-day.we .dn{color:var(--ink-4)}.bp .g-day.today{background:var(--accent-weak)}.bp .g-day.today .dn,.bp .g-day.today .dw{color:var(--accent-weak-ink)}.bp .g-stage-band{display:flex;align-items:stretch;background:var(--surface-2);border-bottom:1px solid var(--border-faint);border-top:1px solid var(--border-faint)}.bp .g-stage-band:first-child{border-top:0}.bp .g-stage-label{position:sticky;left:0;z-index:6;width:var(--label-w);flex:none;background:var(--surface-2);border-right:1px solid var(--border);display:flex;align-items:center;gap:9px;padding:7px 14px}.bp .g-stage-label .sbar{width:3px;align-self:stretch;border-radius:2px;background:var(--sc)}.bp .g-stage-track{flex:1;position:relative}.bp .g-rows{position:relative}.bp .g-grid{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;left:var(--label-w);pointer-events:none;background-image:repeating-linear-gradient(90deg,var(--border-faint) 0,var(--border-faint) 1px,transparent 1px,transparent var(--day-w))}.bp .g-weekend-layer{position:absolute;top:0;right:0;bottom:0;left:0;left:var(--label-w);z-index:0;pointer-events:none}.bp .g-weekend{position:absolute;top:0;bottom:0;background:color-mix(in oklab,var(--surface-3) 70%,transparent)}.bp .g-todayline{position:absolute;top:0;bottom:0;width:2px;background:var(--accent);z-index:5;opacity:.55}.bp .g-todayline:before{content:"Today";position:absolute;top:-1px;left:4px;font-size:9.5px;font-weight:700;color:var(--accent-weak-ink);background:var(--accent-weak);padding:1px 5px;border-radius:4px;white-space:nowrap}.bp .g-row{display:flex;align-items:stretch;position:relative;z-index:1;border-bottom:1px solid var(--border-faint);min-height:var(--row-h)}.bp .g-row:hover .g-rowlabel{background:var(--surface-2)}.bp .g-row.dim{opacity:.32}.bp .g-row.focus .g-rowlabel{background:var(--accent-weak)}.bp .g-rowlabel{position:sticky;left:0;z-index:3;width:var(--label-w);flex:none;background:var(--surface);border-right:1px solid var(--border);display:flex;align-items:center;gap:9px;padding:5px 14px 5px 22px;transition:background .1s}.bp .g-rowlabel .rl-main{min-width:0;flex:1}.bp .g-rowlabel .rl-task{font-size:12.5px;font-weight:550;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}.bp .g-rowlabel .rl-task .mi{color:var(--accent-weak-ink);flex:none;display:inline-flex}.bp .g-rowlabel .rl-task .mi svg{width:12px;height:12px}.bp .g-rowlabel .rl-sub{font-size:10.5px;color:var(--ink-3);display:flex;align-items:center;gap:6px;margin-top:1px}.bp .g-rowlabel .rl-owner{color:var(--ink-2);font-weight:600}.bp .g-track{flex:1;position:relative}.bp .g-bar{position:absolute;height:22px;top:50%;transform:translateY(-50%);border-radius:6px;display:flex;align-items:center;padding:0 8px;gap:6px;background:color-mix(in oklab,var(--rc) 16%,#fff);border:1px solid color-mix(in oklab,var(--rc) 42%,#fff);color:color-mix(in oklab,var(--rc) 78%,#000 6%);font-size:11px;font-weight:650;white-space:nowrap;overflow:hidden;cursor:pointer;z-index:2;box-shadow:var(--sh-sm);transition:box-shadow .12s,transform .04s,filter .12s}.bp .g-bar .barfill{position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--rc);border-radius:6px 0 0 6px}.bp .g-bar:hover{box-shadow:var(--sh-md);filter:brightness(.99);z-index:4}.bp .g-bar.crit{background:var(--critical-weak);border-color:color-mix(in oklab,var(--critical) 45%,#fff);color:color-mix(in oklab,var(--critical) 82%,#000)}.bp .g-bar.crit .barfill{background:var(--critical)}.bp .g-bar.milestone{width:22px!important;height:22px;padding:0;border-radius:6px;transform:translateY(-50%) rotate(45deg);justify-content:center;background:var(--rc);border-color:color-mix(in oklab,var(--rc) 70%,#000 10%);color:#fff}.bp .g-bar.milestone .barlabel,.bp .g-bar.milestone .barfill{display:none}.bp .g-bar.wait{opacity:.5;filter:saturate(.45);border-style:dashed}.bp .g-bar.wait:hover{opacity:.85}.bp .g-bar.related{box-shadow:0 0 0 2px var(--accent-weak),var(--sh-md)}.bp .g-bar.rel-up{background:#e3eefb;border-color:#2f74d0;color:#1d4e8f;box-shadow:0 0 0 2px #2f74d080,var(--sh-md);z-index:4}.bp .g-bar.rel-up .barfill{background:#2f74d0}.bp .g-bar.rel-down{background:#e4f5ec;border-color:#1f9d68;color:#135f3f;box-shadow:0 0 0 2px #1f9d6880,var(--sh-md);z-index:4}.bp .g-bar.rel-down .barfill{background:#1f9d68}.bp .g-row.anc .g-rowlabel{background:#e3eefb;box-shadow:inset 3px 0 #2f74d0}.bp .g-row.desc .g-rowlabel{background:#e4f5ec;box-shadow:inset 3px 0 #1f9d68}.bp .g-bar.focusbar{box-shadow:0 0 0 2px var(--accent),var(--sh-md);z-index:5}.bp .g-row.anc .g-rowlabel{background:#e9f1fb}.bp .g-row.desc .g-rowlabel{background:#e8f6ef}.bp .g-handle{position:absolute;top:0;bottom:0;width:9px;z-index:6;opacity:0;transition:opacity .1s;background:color-mix(in oklab,var(--rc) 55%,#fff)}.bp .g-handle:after{content:"";position:absolute;top:-4px;right:-3px;bottom:-4px;left:-3px}.bp .g-handle-w{left:0;cursor:ew-resize;border-radius:5px 0 0 5px}.bp .g-handle-e{right:0;cursor:ew-resize;border-radius:0 5px 5px 0}.bp .g-row:hover .g-handle,.bp .g-bar.dragging .g-handle{opacity:.9}.bp .g-handle:hover{opacity:1!important;background:var(--rc)}.bp .g-handle-sigma{cursor:pointer;background:repeating-linear-gradient(to bottom,color-mix(in oklab,var(--rc) 60%,#fff) 0 3px,transparent 3px 6px)}.bp .g-bar.dragging{box-shadow:0 0 0 2px var(--accent),var(--sh-lg);z-index:8;transition:none}.bp .g-bar.pinned{border-style:solid;border-color:color-mix(in oklab,var(--rc) 70%,#000 8%)}.bp .g-pinchip{flex:none;display:inline-flex;align-items:center;gap:4px;height:18px;padding:0 6px 0 5px;margin-left:6px;font:inherit;font-size:10px;font-weight:650;line-height:1;border:1px solid color-mix(in oklab,var(--rc) 34%,transparent);border-radius:5px;cursor:pointer;white-space:nowrap;color:color-mix(in oklab,var(--rc) 85%,#000);background:color-mix(in oklab,var(--rc) 18%,#fff);transition:background .1s,color .1s}.bp .g-pinchip:hover,.bp .g-pinchip:focus-visible{background:var(--rc);color:#fff;border-color:var(--rc)}.bp .g-pinchip svg{flex:none}.bp .g-childrow{font-size:11px}.bp .g-childlabel{padding-left:34px!important;gap:6px;color:var(--ink-2)}.bp .g-childtick{width:6px;height:6px;border-radius:2px;background:var(--ink-4);flex:none}.bp .rl-childtask{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bp .g-bar.g-childbar{height:15px;font-size:10px;opacity:.92;background:color-mix(in oklab,var(--rc) 10%,#fff);border-style:dashed}.bp .g-dragbadge{position:fixed;z-index:9999;pointer-events:none;padding:4px 9px;border-radius:6px;font-size:11.5px;font-weight:700;background:var(--ink);color:#fff;box-shadow:var(--sh-md);white-space:nowrap}.bp .g-deps{position:absolute;top:0;right:0;bottom:0;left:0;left:var(--label-w);z-index:3;pointer-events:none;overflow:visible}.bp .g-deps path{fill:none;stroke:var(--ink-4);stroke-width:1.4;opacity:.5}.bp .g-deps path.crit{stroke:var(--critical);opacity:.75;stroke-width:1.7}.bp .g-deps path.lit{stroke:var(--accent);opacity:.95;stroke-width:1.9}.bp .g-deps path.up{stroke:#2f74d0;opacity:.95;stroke-width:1.9}.bp .g-deps path.down{stroke:#1f9d68;opacity:.95;stroke-width:1.9}.bp .g-deps .arrowhead{fill:var(--ink-4);opacity:.5}.bp .g-deps .arrowhead.crit{fill:var(--critical);opacity:.75}.bp .g-deps .arrowhead.lit{fill:var(--accent);opacity:.95}.bp .g-deps .arrowhead.up{fill:#2f74d0;opacity:.95}.bp .g-deps .arrowhead.down{fill:#1f9d68;opacity:.95}.bp .chain-legend .ln{width:18px;height:0;border-top:1.6px solid var(--ink-4);display:inline-block}.bp .chain-legend .ln.crit{border-color:var(--critical)}.bp .kanban{padding:16px;height:100%}.bp .kanban-scroll{display:flex;gap:14px;overflow-x:auto;padding-bottom:8px;align-items:flex-start;min-height:0}.bp .kcol{flex:1 1 0;min-width:268px;max-width:360px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-lg);display:flex;flex-direction:column;max-height:calc(100vh - 200px)}.bp .kcol-head{display:flex;align-items:center;gap:9px;padding:12px 13px 10px;position:sticky;top:0}.bp .kcol-head .knum{width:22px;height:22px;border-radius:7px;flex:none;display:grid;place-items:center;font-size:11px;font-weight:800;color:#fff;background:var(--sc)}.bp .kcol-head h3{font-size:13px;font-weight:700;color:var(--ink);flex:1;min-width:0}.bp .kcol-head .kc{font-size:11px;font-weight:700;color:var(--ink-3);background:var(--surface-3);border:1px solid var(--border);border-radius:999px;padding:1px 8px}.bp .kcol-bar{height:3px;background:var(--sc);opacity:.5;margin:0 13px;border-radius:2px}.bp .kcards{display:flex;flex-direction:column;gap:9px;padding:11px 11px 14px;overflow-y:auto}.bp .kcard{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);padding:var(--pad-card);display:grid;gap:9px;cursor:pointer;position:relative;box-shadow:var(--sh-sm);transition:box-shadow .12s,border-color .12s,transform .05s,opacity .12s}.bp .kcard:hover{box-shadow:var(--sh-md);border-color:var(--ink-4)}.bp .kcard.dim{opacity:.34}.bp .kcard.focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak),var(--sh-md)}.bp .kcard.anc{border-color:var(--accent-line);box-shadow:0 0 0 2px var(--accent-weak)}.bp .kcard.desc{border-color:color-mix(in oklab,var(--accent) 30%,#fff)}.bp .kcard.crit{border-left:3px solid var(--critical)}.bp .kcard-top{display:flex;align-items:flex-start;gap:9px}.bp .kcard-title{flex:1;min-width:0;font-size:13px;font-weight:600;color:var(--ink);line-height:1.3;display:flex;gap:6px}.bp .kcard-title .mi{color:var(--accent-weak-ink);flex:none;margin-top:1px}.bp .kcard-title .mi svg{width:13px;height:13px}.bp .kcheck{width:18px;height:18px;border-radius:6px;border:1.5px solid var(--border-strong);flex:none;display:grid;place-items:center;background:var(--surface);transition:all .12s}.bp .kcheck.on{background:var(--accent);border-color:var(--accent)}.bp .kcheck svg{width:12px;height:12px;color:#fff;opacity:0}.bp .kcheck.on svg{opacity:1}.bp .kcard.muted{opacity:.5}.bp .kcard-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.bp .kcard-foot{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--ink-3);padding-top:2px;border-top:1px solid var(--border-faint)}.bp .kcard-foot .dates{display:inline-flex;align-items:center;gap:5px}.bp .kcard-foot .dur{margin-left:auto;font-weight:700;color:var(--ink-2)}.bp .kdep{display:flex;align-items:center;gap:6px;font-size:10.5px;color:var(--ink-3);background:var(--surface-2);border:1px solid var(--border-faint);border-radius:7px;padding:4px 7px}.bp .kdep svg{width:12px;height:12px;flex:none;color:var(--ink-4)}.bp .kdep b{color:var(--ink-2);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bp .kdep.lit{background:var(--accent-weak);border-color:var(--accent-line);color:var(--accent-weak-ink)}.bp .kdep.lit svg,.bp .kdep.lit b{color:var(--accent-weak-ink)}.bp .kcol-empty{color:var(--ink-4);font-size:12px;text-align:center;padding:20px 8px;border:1px dashed var(--border-strong);border-radius:var(--r-md)}.bp .tbl-wrap{padding:16px}.bp .tbl-frame{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-sm);overflow:hidden}.bp .tbl-scroll{overflow:auto;max-height:calc(100vh - 210px)}.bp table.sched{border-collapse:separate;border-spacing:0;width:100%;min-width:1080px}.bp table.sched thead th{position:sticky;top:0;z-index:5;background:var(--surface-2);text-align:left;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);padding:10px 12px;border-bottom:1px solid var(--border);white-space:nowrap}.bp table.sched td{padding:0 12px;border-bottom:1px solid var(--border-faint);height:var(--row-h);font-size:12.5px;vertical-align:middle}.bp table.sched tr.stage-row td{background:var(--surface-2);height:30px;padding:4px 14px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);border-bottom:1px solid var(--border);position:sticky;left:0}.bp table.sched tr.task-row:hover td{background:var(--surface-2)}.bp table.sched tr.task-row.dim{opacity:.4}.bp table.sched tr.task-row.focus td{background:var(--accent-weak)}.bp table.sched tr.task-row.anc td{background:#e3eefb}.bp table.sched tr.task-row.desc td{background:#e4f5ec}.bp table.sched tr.task-row.anc td:first-child{box-shadow:inset 3px 0 #2f74d0}.bp table.sched tr.task-row.desc td:first-child{box-shadow:inset 3px 0 #1f9d68}.bp table.sched tr.off td{color:var(--ink-4)}.bp .tname{font-weight:550;color:var(--ink);display:flex;align-items:center;gap:7px}.bp .tname .mi{color:var(--accent-weak-ink);display:inline-flex}.bp .tname .mi svg{width:13px;height:13px}.bp .tname.off{color:var(--ink-4);font-weight:500}.bp .tsub{font-size:10.5px;color:var(--ink-4);margin-top:1px}.bp .cell-check{width:38px}.bp .cell-check .kcheck{margin:0 auto}.bp .dep-cell{display:inline-flex;align-items:center;gap:6px;max-width:220px}.bp .dep-cell .dline{color:var(--ink-4);flex:none}.bp .dep-cell .dline svg{width:13px;height:13px}.bp .dep-cell .dname{font-size:11.5px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bp .dep-cell.none{color:var(--ink-4);font-size:11.5px}.bp .tin{width:100%;height:28px;padding:0 8px;border:1px solid transparent;border-radius:6px;background:transparent;font-size:12.5px;transition:border-color .1s,background .1s}.bp .tin:hover{border-color:var(--border-strong);background:var(--surface)}.bp .tin:focus{outline:none;border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px var(--accent-weak)}.bp .tin.num{width:58px;text-align:center;font-family:var(--font-mono)}.bp .date-mono{font-family:var(--font-mono);font-size:11.5px;color:var(--ink-2);white-space:nowrap}.bp .dur-bar{display:inline-flex;align-items:center;gap:6px}.bp .dur-bar .meter{width:42px;height:5px;border-radius:3px;background:var(--surface-3);overflow:hidden}.bp .dur-bar .meter span{display:block;height:100%;background:var(--rc);border-radius:3px}.bp .chain-legend{display:inline-flex;align-items:center;gap:12px;font-size:11.5px;color:var(--ink-2);font-weight:600}.bp .chain-legend .sw{width:14px;height:10px;border-radius:3px;display:inline-block}.bp .chain-legend .li{display:inline-flex;align-items:center;gap:6px}.bp .gt-tip{position:fixed;z-index:200;background:#1b1d22;color:#fff;border-radius:9px;padding:10px 12px;font-size:11.5px;box-shadow:var(--sh-pop);pointer-events:none;max-width:280px;line-height:1.5}.bp .gt-tip h5{margin:0 0 4px;font-size:12.5px;font-weight:650;display:flex;align-items:center;gap:6px}.bp .gt-tip .row{display:flex;justify-content:space-between;gap:16px;color:#b9bcc4}.bp .gt-tip .row b{color:#fff;font-weight:600}.bp .gt-tip .tdot{width:8px;height:8px;border-radius:3px}.bp .gt-tip .sep{height:1px;background:#ffffff1f;margin:6px 0}.bp .gt-tip .crit-flag{color:#ff9d96;font-weight:600}.bp .tmc-wrap{display:flex;align-items:stretch;gap:0;min-height:0;flex:1;overflow:hidden}.bp .tmc-main{flex:1;min-width:0;display:grid;grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr)}.bp .tmc-toolbar{display:flex;align-items:center;gap:10px;padding:10px 18px;border-bottom:1px solid var(--border-faint);background:var(--surface)}.bp .tmc-board{display:flex;gap:14px;padding:16px 18px 22px;overflow:auto;align-items:flex-start}.bp .tmc-col{width:300px;flex:none}.bp .tmc-colhead{display:flex;align-items:center;gap:8px;padding:0 2px 8px}.bp .tmc-colhead .cdot{width:9px;height:9px;border-radius:3px;flex:none}.bp .tmc-colhead .cname{font-size:12.5px;font-weight:800;letter-spacing:.02em;color:var(--ink)}.bp .tmc-colhead .chint{font-size:10.5px;color:var(--ink-3);margin-left:auto}.bp .tmc-rule{height:3px;border-radius:2px;margin-bottom:10px}.bp .tmc-cards{display:flex;flex-direction:column;gap:10px}.bp .tmc-card{position:relative;flex:none;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--sh-sm);padding:10px 12px 9px 15px;cursor:pointer;transition:box-shadow .12s,border-color .12s}.bp .tmc-card:hover{box-shadow:var(--sh-md);border-color:var(--border-strong)}.bp .tmc-card.on{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.bp .tmc-card .tmc-bar{position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:var(--r-md) 0 0 var(--r-md)}.bp .tmc-trow{display:flex;align-items:flex-start;gap:6px}.bp .tmc-name{font-size:12.5px;font-weight:700;color:var(--ink);flex:1;line-height:1.3}.bp .tmc-trow .chev{color:var(--ink-4);font-size:11px;flex:none}.bp .tmc-meta{display:flex;align-items:center;gap:8px;margin-top:6px;flex-wrap:wrap}.bp .tmc-owner{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:var(--ink-2)}.bp .tmc-check{margin-top:8px;border-top:1px dashed var(--border);padding-top:7px}.bp .tmc-chk-h{font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);margin-bottom:5px}.bp .tmc-chk-r{display:flex;align-items:center;gap:7px;padding:2px 0}.bp .tmc-chk-r .sq{width:11px;height:11px;border:1.5px solid var(--border-strong);border-radius:3px;flex:none}.bp .tmc-chk-r .knm{font-size:11px;color:var(--ink-2);line-height:1.3}.bp .tmc-dep{margin-top:7px;font-size:10.5px;font-weight:650;color:#8a5a10}.bp .tmc-foot{display:flex;align-items:center;gap:7px;margin-top:8px;padding-top:7px;border-top:1px solid var(--border-faint);color:var(--ink-3)}.bp .sop{width:456px;flex:none;border-left:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column;min-height:0}.bp .sop-h{display:flex;align-items:flex-start;gap:10px;padding:14px 16px 12px;border-bottom:1px solid var(--border-faint)}.bp .sop-ht{flex:1;min-width:0}.bp .sop-tags{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:7px}.bp .sop-owner{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:650;color:var(--ink-2)}.bp .sop-title{font-size:15px;font-weight:800;color:var(--ink);line-height:1.25;display:flex;align-items:center;gap:7px}.bp .sop-meta{font-size:11px;color:var(--ink-3);margin-top:4px;font-family:var(--font-mono)}.bp .sop-body{overflow-y:auto;padding:12px 16px 20px;display:grid;gap:16px;align-content:start}.bp .sop-sec{display:grid;gap:7px}.bp .sop-lbl{font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}.bp .sop-p{font-size:12.5px;line-height:1.55;color:var(--ink-2);margin:0}.bp .sop-p.dimmed,.bp .dimmed{color:var(--ink-4)}.bp .sop-ta{width:100%;font:inherit;font-size:12.5px;line-height:1.5;padding:8px 10px;border:1px solid var(--border-strong);border-radius:8px;resize:vertical}.bp .sop-how{width:100%;font-size:11.5px;margin-top:3px}.bp .sop-how-p{font-size:11.5px;color:var(--ink-3);line-height:1.45;margin-top:2px}.bp .sop-steps{margin:0;padding-left:20px;display:grid;gap:9px}.bp .sop-steps li{font-size:12px}.bp .sop-step-nm{font-weight:650;color:var(--ink);display:flex;align-items:center;gap:7px;flex-wrap:wrap}.bp .sop-io{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.bp .sop-io .io-k,.bp .sop-unblocks .io-k{font-size:10.5px;font-weight:750;color:var(--ink-3);width:66px;flex:none}.bp .sop-unblocks{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;margin-top:2px}.bp .sop-note{font-size:10.5px;color:var(--ink-4);line-height:1.5;margin-top:6px}.bp .art-chip{display:inline-flex;align-items:center;gap:7px;padding:4px 9px;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface-2);cursor:pointer;font-size:11px;font-weight:650;color:var(--ink-2)}.bp .art-chip:hover{border-color:var(--accent);color:var(--accent-weak-ink)}.bp .art-bar{display:inline-flex;gap:2px;width:44px;flex:none}.bp .art-bar i{flex:1;height:5px;border-radius:2px;background:#e3e6ea}.bp .art-bar i.on{background:#2f8fd6}.bp .art-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:8px 10px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);cursor:pointer}.bp .art-row:hover{border-color:var(--border-strong);box-shadow:var(--sh-sm)}.bp .art-main{flex:1;min-width:0;display:grid;gap:4px}.bp .art-nm{font-size:12px;font-weight:700;color:var(--ink)}.bp .art-sub{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.bp .art-prod{font-size:10.5px;color:var(--ink-4)}.bp .art-state{display:grid;gap:3px;justify-items:end;flex:none}.bp .art-rung{font-size:10.5px;font-weight:700;color:#2f8fd6}.bp .art-rung.dimmed{color:var(--ink-4);font-weight:600}.bp .art-ladder{display:flex;gap:5px;flex-wrap:wrap}.bp .art-rungbtn{font-size:11px;font-weight:650;padding:5px 10px;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--ink-3);cursor:pointer}.bp .art-rungbtn:disabled{cursor:default}.bp .art-rungbtn.past{background:#e7f1fa;border-color:#b5d3ea;color:#2f6f9d}.bp .art-rungbtn.on{background:#2f8fd6;border-color:#2f8fd6;color:#fff}.bp .tmc-head{display:flex;align-items:flex-start;gap:14px;padding:12px 18px 4px}.bp .tmc-headL{flex:1;min-width:0}.bp .tmc-kick{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.bp .tmc-sum{font-size:12px;color:var(--ink-2);line-height:1.5;margin-top:3px;max-width:460px}.bp .tmc-sum b{color:var(--ink)}.bp .tmc-headR{display:flex;align-items:center;gap:10px;flex:none}.bp .tmc-toolbar{border-bottom:0;padding-top:4px}.bp .tmc-cards{max-height:calc(100vh - 330px);overflow-y:auto;padding:2px}.bp .tmc-chk-h{display:flex;justify-content:space-between}.bp .tmc-chk-r{align-items:flex-start}.bp .tmc-chk-r .sq{margin-top:2px}.bp .tmc-chk-r .kmain{display:grid;gap:3px;justify-items:start}.bp .sop-kick{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:3px}.bp .sop-meta2{font-size:11px;color:var(--ink-3);line-height:1.45;margin-top:4px}.bp .sop-box{background:var(--surface-3);border-radius:9px;padding:9px 12px;font-size:12px;line-height:1.5;color:var(--ink-2)}.bp .sop-box.amber{background:#fdf8ec;border:1px solid #ecd9ab;color:#8a5a10}.bp .sop-box.amber b{color:#6d4408}.bp .sop-box.green{background:#e4f5ec;border:1px solid #bfe5d2;color:#135f3f}.bp .sop-io{display:grid;gap:5px;justify-items:start}.bp .sop-io .io-k{width:auto;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-4)}.bp .sop-ub{display:flex;align-items:baseline;gap:7px;background:none;border:0;padding:2px 0;font-size:12px;color:var(--ink-2);cursor:pointer;text-align:left}.bp .sop-ub:hover{color:var(--accent-weak-ink)}.bp .sop-ub .ar{color:var(--ink-4);flex:none}.bp .sop-unblocks{display:grid;gap:2px}.bp .art-chip .lk{color:var(--ink-4);font-size:10px}.bp .art-bar.wide{width:150px}.bp .art-bar.wide i{height:6px}.bp .art-row{display:grid;gap:7px}.bp .art-r1{display:flex;align-items:center;gap:10px;justify-content:space-between}.bp .art-r2{display:flex;align-items:center;gap:10px}.bp .art-r3{display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap}.bp .art-url{font-family:var(--font-mono);font-size:10.5px;color:#2f8fd6;font-weight:600}.bp .art-ladder{display:grid;gap:2px;justify-items:start}.bp .art-rungrow{display:flex;align-items:center;gap:9px;background:none;border:0;padding:4px 2px;font-size:12.5px;font-weight:600;color:var(--ink-4);cursor:pointer}.bp .art-rungrow .rdot{width:12px;height:12px;border-radius:50%;background:#e3e6ea;flex:none}.bp .art-rungrow.past{color:var(--ink-3)}.bp .art-rungrow.past .rdot{background:#2f8fd6}.bp .art-rungrow.on{color:#2f6f9d;font-weight:800}.bp .art-rungrow.on .rdot{background:#2f8fd6;box-shadow:0 0 0 3px #e7f1fa}.bp .art-rungrow:disabled{cursor:default}.bp .art-kv{display:flex;gap:12px;align-items:baseline}.bp .art-kv .k{width:96px;flex:none;font-size:11px;font-weight:700;color:var(--ink-3)}.bp .art-kv .v{font-size:12.5px;color:var(--ink);flex:1}.bp .tmc-main{grid-template-rows:auto auto 1fr}.bp .asg-people{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:4px 0 16px}.bp .asg-person{display:inline-flex;align-items:center;gap:7px;padding:5px 12px 5px 6px;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;font-size:12px;font-weight:650;color:var(--ink-2)}.bp .asg-person:hover{border-color:var(--accent)}.bp .asg-person.on{border-color:var(--accent);background:var(--accent-weak);color:var(--accent-weak-ink);box-shadow:0 0 0 2px var(--accent-weak)}.bp .asg-q{width:22px;height:22px;border-radius:50%;background:var(--surface-3);border:1px dashed var(--border-strong);display:inline-flex;align-items:center;justify-content:center;font-weight:800;color:var(--ink-3)}.bp .asg-head{display:flex;align-items:center;gap:8px;margin:0 0 14px;flex-wrap:wrap}.bp .asg-who{display:inline-flex;align-items:center;gap:9px;font-size:14px;color:var(--ink)}.bp .asg-roles{font-size:11.5px;color:var(--ink-3);font-weight:500}.bp .asg-plan{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-sm);margin-bottom:14px;overflow:hidden}.bp .asg-planhead{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:10px 14px;background:color-mix(in oklab,var(--pc) 7%,var(--surface));border:0;border-bottom:1px solid var(--border-faint);cursor:pointer}.bp .asg-planhead:hover .pn{color:var(--accent-weak-ink)}.bp .asg-planhead .pdot{width:9px;height:9px;border-radius:3px;background:var(--pc);flex:none}.bp .asg-planhead .pn{font-size:13px;font-weight:800;color:var(--ink)}.bp .asg-planhead .pc{font-size:11.5px;color:var(--ink-3)}.bp .asg-rows{display:grid}.bp .asg-row{display:flex;align-items:center;gap:12px;padding:7px 14px;border-bottom:1px solid var(--border-faint);font-size:12.5px}.bp .asg-row:last-child{border-bottom:0}.bp .asg-row.done{opacity:.55}.bp .asg-row.late{background:color-mix(in oklab,var(--critical-weak) 45%,transparent)}.bp .asg-task{flex:1;min-width:0;font-weight:650;color:var(--ink);display:flex;align-items:center;gap:7px}.bp .asg-task .mi{color:var(--accent-weak-ink);display:inline-flex}.bp .asg-task .mi svg{width:12px;height:12px}.bp .asg-dates{width:150px;flex:none;color:var(--ink-2)}.bp .asg-dur{width:40px;flex:none;text-align:right;color:var(--ink-3)}.bp .asg-state{display:inline-flex;align-items:center;gap:5px;width:150px;flex:none}.bp .asg-role{display:inline-flex;align-items:center;gap:6px;width:130px;flex:none;font-size:11px;color:var(--ink-3)}.bp .sop-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1190;background:#15171c1f}.bp .sop.sop-overlay{position:fixed;top:0;right:0;bottom:0;z-index:1200;width:min(456px,92vw);box-shadow:-12px 0 40px #15171c2e;border-left:1px solid var(--border-strong)}.bp .sop-namelink{cursor:pointer}.bp .sop-namelink:hover{color:var(--accent-weak-ink);text-decoration:underline;text-decoration-color:var(--accent-line);text-underline-offset:2px}.bp .dl-wrap{overflow-y:auto;background:var(--bg);padding:20px 0 40px}.bp .dl-inner{max-width:760px;margin:0 auto;display:grid;gap:14px}.bp .dl-compose{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-sm);padding:14px 16px;display:grid;gap:9px}.bp .dl-compose-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.bp .dl-h{font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}.bp .dl-ta{width:100%;box-sizing:border-box;border:1px solid var(--border-strong);border-radius:8px;padding:8px 10px;font-size:13px;font-family:inherit;line-height:1.5;resize:vertical;background:var(--surface);color:var(--ink)}.bp .dl-ta:focus{outline:none;border-color:var(--accent-line)}.bp .dl-compose-foot{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.bp .dl-toolrow{display:flex;align-items:center;gap:10px;padding:0 2px}.bp .dl-count{font-size:11.5px;color:var(--ink-3)}.bp .dl-empty{background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--r-lg);padding:22px 20px;font-size:12.5px;line-height:1.6;color:var(--ink-3);text-align:center}.bp .dl-day{display:grid;gap:7px}.bp .dl-date{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);padding:6px 2px 0}.bp .dl-today{font-size:9.5px;letter-spacing:.06em;padding:1px 6px;border-radius:999px;background:var(--accent-weak);color:var(--accent-weak-ink)}.bp .dl-entry{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--sh-sm);padding:10px 12px}.bp .dl-kind{font-size:9.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:3px 7px;border-radius:999px;white-space:nowrap;margin-top:1px}.bp .dl-k-note{background:var(--accent-weak);color:var(--accent-weak-ink)}.bp .dl-k-back{background:var(--warn-weak, #fdf1dc);color:var(--warn-ink, #7a5310)}.bp .dl-k-kick,.bp .dl-k-skip{background:var(--critical-weak, #fbe3e3);color:var(--critical-ink, #8c2b2b)}.bp .dl-k-unblock{background:var(--ok-weak, #e2f2e6);color:var(--ok-ink, #256b38)}.bp .dl-k-replan{background:var(--surface-3, #eceef2);color:var(--ink-2, #4a5160)}.bp .dl-body{min-width:0;display:grid;gap:4px}.bp .dl-ctx{font-size:11px;color:var(--ink-3);line-height:1.45}.bp .dl-text{font-size:13px;line-height:1.55;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}.bp .dl-edit{display:grid;gap:6px}.bp .dl-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:2px}.bp .dl-by{font-size:11px;color:var(--ink-2);font-weight:650}.bp .dl-src{font-size:10px;color:var(--ink-3);font-style:italic}.bp .dl-task{border:1px solid var(--border-strong);background:transparent;border-radius:999px;padding:1px 8px;font-size:10.5px;color:var(--ink-2);cursor:pointer;font-family:inherit;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bp .dl-task:hover{border-color:var(--accent-line);color:var(--accent-weak-ink)}.bp .dl-actions{display:flex;gap:8px;align-items:center}.bp .dl-entry .dl-actions{opacity:0;transition:opacity .12s ease}.bp .dl-entry:hover .dl-actions,.bp .dl-entry:focus-within .dl-actions{opacity:1}.bp .dl-tabnum{margin-left:5px;font-size:10px;font-weight:800;padding:0 5px;border-radius:999px;background:var(--accent-weak);color:var(--accent-weak-ink)}.bp .g-stage-label.clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.bp .g-stage-label.clickable:hover .stage-pill{filter:brightness(.94)}.bp .g-stage-caret{font-size:9px;color:var(--ink-3);width:10px;flex:none;display:inline-flex;justify-content:center}.bp .g-stage-band.closed .g-stage-label{font-weight:650}.bp .g-stage-track{position:relative}.bp .g-rollup{position:absolute;top:50%;transform:translateY(-50%);height:12px;border-radius:4px;cursor:pointer;background:color-mix(in oklab,var(--ink-3) 26%,#fff);border:1px solid color-mix(in oklab,var(--ink-3) 42%,#fff);display:flex;align-items:center;padding:0 6px;overflow:hidden}.bp .g-rollup:hover{background:color-mix(in oklab,var(--ink-3) 34%,#fff)}.bp .g-rollup-label{font-size:9px;font-weight:650;color:var(--ink-2);white-space:nowrap;line-height:1}.bp .stage-caret{border:0;background:none;cursor:pointer;padding:0 2px;font-size:10px;color:var(--ink-3);line-height:1}.bp .stage-caret:hover{color:var(--ink)}.bp .stage-pill.clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.bp .stage-count{font-size:10.5px;font-weight:650;color:var(--ink-3)}.bp .side-note{font-size:10.5px;line-height:1.45;color:var(--ink-3);margin:-2px 0 7px;padding-left:1px}.bp .hol-head{padding:12px 14px 8px;display:grid;gap:3px}.bp .hol-head b{font-size:12.5px}.bp .hol-sub{font-size:10.5px;line-height:1.5;color:var(--ink-3);max-width:70ch}.bp .hol-list{padding:0 14px 14px;display:grid;gap:7px;justify-items:start}.bp .hol-empty{font-size:11px;color:var(--ink-3);font-style:italic}.bp .shell{height:100vh;display:grid;grid-template-columns:var(--rail-w, 250px) 1fr;overflow:hidden}.bp .rail{background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;min-width:0}.bp .rail-head{display:flex;align-items:center;gap:11px;padding:14px 16px 12px}.bp .rail-head .brand-mark{width:30px;height:30px}.bp .rail-head .kicker{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);font-weight:700}.bp .rail-head .wsname{font-size:14.5px;font-weight:700;color:var(--ink);line-height:1.1}.bp .rail-scroll{flex:1;overflow-y:auto;padding:4px 10px 24px;display:flex;flex-direction:column;gap:3px}.bp .rail-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:8px 11px;border-radius:9px;font-size:13.5px;font-weight:600;color:var(--ink-2);transition:background .1s,color .1s}.bp .rail-item svg{width:17px;height:17px;color:var(--ink-3);flex:none}.bp .rail-item:hover{background:var(--surface-3);color:var(--ink)}.bp .rail-item.on{background:var(--accent-weak);color:var(--accent-weak-ink)}.bp .rail-item.on svg{color:var(--accent-weak-ink)}.bp .rail-item .badge{margin-left:auto;font-size:11px;font-weight:700;color:var(--ink-3);background:var(--surface-3);border-radius:999px;padding:1px 8px;min-width:22px;text-align:center}.bp .rail-item.on .badge{background:color-mix(in oklab,var(--accent) 18%,#fff);color:var(--accent-weak-ink)}.bp .rail-section{display:flex;align-items:center;gap:8px;padding:16px 11px 6px;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4);font-weight:700}.bp .rail-section .ct{margin-left:auto;letter-spacing:0}.bp .rail-plan{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:7px 11px;border-radius:9px;color:var(--ink-2);transition:background .1s}.bp .rail-plan:hover,.bp .rail-plan.on{background:var(--surface-3)}.bp .rail-plan .pdot{width:9px;height:9px;border-radius:3px;flex:none;background:var(--pc)}.bp .rail-plan .pn{font-size:12.5px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.bp .rail-plan.on .pn{color:var(--ink)}.bp .rail-plan .pcount{font-size:10.5px;color:var(--ink-4);font-weight:600}.bp .rail-new{margin:6px 0 2px;display:flex;align-items:center;gap:9px;padding:8px 11px;border-radius:9px;border:1px dashed var(--border-strong);color:var(--ink-2);font-weight:600;font-size:12.5px;width:100%}.bp .rail-new:hover{border-color:var(--accent);color:var(--accent-weak-ink);background:var(--accent-weak)}.bp .rail-new svg{width:15px;height:15px}.bp .railzone{position:relative;min-width:0}.bp .railzone .rail{height:100%}.bp .rail-icons{align-items:center}.bp .rail-icons .rail-head{padding:13px 0 10px;justify-content:center}.bp .rail-icons .rail-scroll{padding:4px 8px 20px;align-items:center;width:100%}.bp .rail-flyout{position:absolute;left:0;top:0;bottom:0;width:250px;z-index:70;opacity:0;transform:translate(-10px);pointer-events:none;transition:opacity .13s ease,transform .15s ease;box-shadow:var(--sh-pop);border-right:1px solid var(--border-strong)}.bp .railzone:hover .rail-flyout,.bp .railzone:focus-within .rail-flyout{opacity:1;transform:none;pointer-events:auto}.bp .railzone:hover .rail-icons{background:var(--surface-2)}.bp .ri{width:40px;height:36px;border-radius:9px;display:grid;place-items:center;color:var(--ink-3);position:relative;flex:none}.bp .ri svg{width:18px;height:18px}.bp .ri:hover{background:var(--surface-3);color:var(--ink)}.bp .ri.on{background:var(--accent-weak);color:var(--accent-weak-ink)}.bp .ri .bdot{position:absolute;top:3px;right:3px;min-width:15px;height:15px;border-radius:999px;background:var(--surface-3);color:var(--ink-3);font-size:8.5px;font-weight:800;display:grid;place-items:center;padding:0 3px;border:1.5px solid var(--surface)}.bp .ri.on .bdot{background:color-mix(in oklab,var(--accent) 20%,#fff);color:var(--accent-weak-ink)}.bp .ri-rule{width:24px;height:1px;background:var(--border);margin:7px 0;flex:none}.bp .ri .pchip{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;font-family:var(--font-mono);font-size:9px;font-weight:800;color:#fff;background:var(--pc)}.bp .rail-pin{margin-left:auto;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;color:var(--ink-4);border:1px solid transparent;flex:none}.bp .rail-pin:hover{background:var(--surface-3);color:var(--ink-2);border-color:var(--border)}.bp .rail-pin.on{background:var(--accent-weak);color:var(--accent-weak-ink);border-color:var(--accent-line)}.bp .wb-toolbar .tb-title{display:flex;align-items:center;gap:8px;flex:none;padding-right:11px;border-right:1px solid var(--border);margin-right:2px}.bp .wb-toolbar .tb-title h1{font-size:14px;font-weight:750;color:var(--ink);white-space:nowrap}.bp .wb-toolbar .tb-title .n{font-size:11px;color:var(--ink-4);font-weight:650}.bp .wb-toolbar .tb-sep{width:1px;height:20px;background:var(--border);flex:none;margin:0 2px}.bp .shell-main{display:grid;grid-template-rows:auto 1fr;min-width:0;overflow:hidden}.bp .shell-head{display:flex;align-items:center;gap:14px;padding:0 18px;height:56px;background:var(--surface);border-bottom:1px solid var(--border);flex:none}.bp .sh-title{display:flex;align-items:center;gap:11px;min-width:0}.bp .sh-title .pdot{width:11px;height:11px;border-radius:4px;background:var(--pc);flex:none}.bp .sh-title h1{font-size:16px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bp .sh-sub{font-size:12px;color:var(--ink-3);font-weight:500}.bp .sh-spacer{flex:1}.bp .portfolio{overflow-y:auto;padding:24px 26px 60px;background:var(--bg)}.bp .pf-stats{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}.bp .pf-stat{flex:1;min-width:150px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:15px 17px;box-shadow:var(--sh-sm)}.bp .pf-stat .v{font-size:26px;font-weight:750;color:var(--ink);line-height:1;letter-spacing:-.02em}.bp .pf-stat .l{font-size:12px;color:var(--ink-2);margin-top:7px;font-weight:550}.bp .pf-stat .spark{display:flex;gap:3px;margin-top:11px;height:6px}.bp .pf-stat .spark i{flex:1;border-radius:2px;background:var(--surface-3)}.bp .pf-sectitle{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-weight:700;margin:4px 0 13px}.bp .pf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:15px}.bp .plan-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-sm);overflow:hidden;cursor:pointer;text-align:left;display:flex;flex-direction:column;transition:box-shadow .14s,border-color .14s,transform .06s}.bp .plan-card:hover{box-shadow:var(--sh-lg);border-color:var(--border-strong);transform:translateY(-2px)}.bp .plan-card .pc-top{height:5px;background:var(--pc)}.bp .plan-card .pc-body{padding:16px 17px 17px;display:flex;flex-direction:column;gap:13px}.bp .pc-row1{display:flex;align-items:flex-start;gap:10px}.bp .pc-name{flex:1;min-width:0}.bp .pc-name h3{font-size:15.5px;font-weight:700;color:var(--ink);line-height:1.2}.bp .pc-name .cust{font-size:12.5px;color:var(--ink-2);margin-top:3px}.bp .pc-bid{font-size:11px;font-weight:700;color:var(--ink-2);background:var(--surface-3);border:1px solid var(--border);border-radius:7px;padding:3px 8px;flex:none}.bp .pc-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11.5px;color:var(--ink-3)}.bp .pc-meta .mi{display:inline-flex;align-items:center;gap:5px}.bp .pc-meta .mi svg{width:13px;height:13px}.bp .pc-prog{display:flex;flex-direction:column;gap:7px}.bp .pc-prog .bar{height:7px;border-radius:4px;background:var(--surface-3);overflow:hidden;display:flex}.bp .pc-prog .bar i{height:100%;display:block}.bp .pc-prog .lab{display:flex;align-items:center;justify-content:space-between;font-size:11.5px;color:var(--ink-2)}.bp .pc-prog .lab b{color:var(--ink);font-weight:650}.bp .pc-status{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:650;padding:2px 9px;border-radius:999px}.bp .pc-status .d{width:7px;height:7px;border-radius:50%}.bp .st-active{color:#1f8f6b;background:#e7f6ef}.bp .st-active .d{background:#1f9d68}.bp .st-early{color:var(--ink-2);background:var(--surface-3)}.bp .st-early .d{background:var(--ink-3)}.bp .st-wrap{color:#b06a14;background:#fdf2e0}.bp .st-wrap .d{background:var(--warn)}.bp .plan-card.newcard{align-items:center;justify-content:center;border-style:dashed;color:var(--ink-3);min-height:190px;gap:10px}.bp .plan-card.newcard:hover{border-color:var(--accent);color:var(--accent-weak-ink);background:var(--accent-weak);transform:none}.bp .plan-card.newcard svg{width:26px;height:26px}.bp .pf-group-head{display:flex;align-items:baseline;gap:11px;margin:20px 0 12px}.bp .pf-group-head h2{font-size:14.5px;font-weight:750;color:var(--ink);letter-spacing:-.01em}.bp .pf-group-head .gc{font-size:11.5px;color:var(--ink-3);font-weight:600}.bp .pf-group-head .rule{flex:1;height:1px;background:var(--border);align-self:center}.bp .rail-cust{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-4);font-weight:750;padding:9px 11px 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bp .pf-cols{display:flex;gap:16px;align-items:flex-start;flex-wrap:nowrap;overflow-x:auto;padding-bottom:10px}.bp .pf-custcol{width:318px;flex:none;display:grid;gap:12px;border-radius:var(--r-lg);transition:box-shadow .12s}.bp .pf-custcol.dropt{box-shadow:0 0 0 2px var(--accent)}.bp .cust-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-sm);padding:14px 15px 13px;display:grid;gap:11px}.bp .cust-tile .logo-tile{width:100%;height:72px;background:#fff;border:1px solid var(--border-faint);border-radius:9px;overflow:hidden;display:grid}.bp .cust-tile .logo-tile image-slot{width:100%;height:100%}.bp .cust-tile .ct-name{font-size:15px;font-weight:750;color:var(--ink);letter-spacing:-.01em}.bp .cust-tile .ct-sub{font-size:11.5px;color:var(--ink-3);margin-top:2px;font-weight:550}.bp .cust-tile .ct-foot{display:flex;align-items:center;gap:7px}.bp .pf-custcol .plan-card{width:100%}.bp .pf-newcol{width:318px;flex:none}.bp .pf-newcol .plan-card.newcard{width:100%;min-height:150px}.bp .wb{display:grid;grid-template-rows:auto 1fr;min-height:0;overflow:hidden}.bp .wb-toolbar{display:flex;align-items:center;gap:11px;padding:11px 18px;background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap}.bp .wb-legend{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.bp .wb-legend .li{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ink-2);font-weight:600}.bp .wb-legend .li .pdot{width:9px;height:9px;border-radius:3px;background:var(--pc)}.bp .wb-body{overflow:auto;padding:16px;background:var(--bg);min-height:0}.bp .wb-cols{display:flex;gap:13px;align-items:flex-start;min-height:100%}.bp .wb-col{flex:1 1 0;min-width:252px;max-width:320px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-lg);display:flex;flex-direction:column;max-height:calc(100vh - 184px);transition:background .12s,border-color .12s}.bp .wb-col.drop{background:var(--accent-weak);border-color:var(--accent)}.bp .wb-col-head{display:flex;align-items:center;gap:9px;padding:12px 13px 9px}.bp .wb-col-head .ttl{font-size:13px;font-weight:700;color:var(--ink)}.bp .wb-col-head .ct{font-size:11px;font-weight:700;color:var(--ink-3);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:1px 8px}.bp .wb-col-head .hint{font-size:10.5px;color:var(--ink-4);margin-left:auto;font-weight:500}.bp .wb-col-line{height:3px;margin:0 13px;border-radius:2px}.bp .cl-backlog{background:#c3c8d0}.bp .cl-todo{background:#72b9d6}.bp .cl-inprogress{background:#1f9d68}.bp .cl-review{background:#e7b042}.bp .cl-done{background:#6b7280}.bp .wb-cards{display:flex;flex-direction:column;gap:9px;padding:11px;overflow-y:auto;min-height:60px}.bp .wb-card{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);padding:11px 12px 11px 14px;display:flex;flex-direction:column;gap:9px;position:relative;box-shadow:var(--sh-sm);cursor:grab;transition:box-shadow .12s,border-color .12s,opacity .12s}.bp .wb-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:var(--r-md) 0 0 var(--r-md);background:var(--pc)}.bp .wb-card:hover{box-shadow:var(--sh-md);border-color:var(--ink-4)}.bp .wb-card.dragging{opacity:.4;cursor:grabbing}.bp .wb-card .wc-title{font-size:12.5px;font-weight:600;color:var(--ink);line-height:1.32;display:flex;gap:6px}.bp .wb-card .wc-title .mi{color:var(--accent-weak-ink);flex:none;margin-top:1px}.bp .wb-card .wc-title .mi svg{width:13px;height:13px}.bp .wb-card .wc-plan{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:650;color:var(--ink-2)}.bp .wb-card .wc-crumb{font-size:9.5px;font-weight:700;color:var(--ink-4);letter-spacing:.01em;margin-bottom:-3px}.bp .wb-card .wc-crumb b{color:var(--accent-weak-ink);font-weight:800}.bp .mini-crumb{font-size:9px;font-weight:700;color:var(--ink-4)}.bp .sub-roll{border:1px solid var(--border-faint);border-radius:9px;background:var(--surface-2);padding:7px 8px;display:grid;gap:5px}.bp .sub-roll .sr-head{display:flex;align-items:center;justify-content:space-between;font-size:8.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3)}.bp .sub-roll .sr-sum{font-family:var(--font-mono);color:var(--ink-2);letter-spacing:0}.bp .sub-roll .sr-sum.over{color:#d2382a}.bp .sub-roll .sr-row{display:flex;align-items:center;gap:8px;padding:3px 2px;border-radius:6px}.bp .sub-roll .sr-row.on{background:color-mix(in oklab,var(--accent-weak) 40%,transparent)}.bp .sub-roll .subring{position:relative;display:inline-grid;place-items:center;flex:none}.bp .sub-roll .sr-main{flex:1;min-width:0;display:grid;gap:2px}.bp .sub-roll .sr-name{font-size:11.5px;font-weight:600;color:var(--ink);line-height:1.2}.bp .sub-roll .sr-d{font-family:var(--font-mono);font-size:10px;font-weight:700;color:var(--ink-3);flex:none}.bp .sub-roll .sr-d.over{color:#d2382a}.bp .sub-roll .sr-chk{width:18px;height:18px;margin:0 5px;border-radius:5px;background:var(--surface-3);border:1px solid var(--border-strong);cursor:pointer;flex:none;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;line-height:1;transition:background .12s,border-color .12s}.bp .sub-roll .sr-chk.on{background:#1f9d68;border-color:#1f9d68}.bp .sub-roll .sr-switch{width:32px;height:18px;border-radius:999px;background:var(--surface-3);border:1px solid var(--border-strong);position:relative;cursor:pointer;flex:none;transition:background .12s,border-color .12s}.bp .sub-roll .sr-switch .knob{position:absolute;top:1px;left:1px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:var(--sh-sm);transition:left .12s}.bp .sub-roll .sr-switch.on{background:#1f9d68;border-color:#1f9d68}.bp .sub-roll .sr-switch.on .knob{left:15px}.bp .wb-card .wc-plan .pdot{width:8px;height:8px;border-radius:3px;background:var(--pc);flex:none}.bp .wb-card .wc-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.bp .wb-card .wc-foot{display:flex;align-items:center;gap:8px;font-size:10.5px;color:var(--ink-3);padding-top:7px;border-top:1px solid var(--border-faint)}.bp .wb-card .wc-foot .dur{margin-left:auto;font-weight:700;color:var(--ink-2)}.bp .wb-card .wc-remove{position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:6px;display:grid;place-items:center;color:var(--ink-4);opacity:0;transition:opacity .1s,background .1s,color .1s}.bp .wb-card:hover .wc-remove{opacity:1}.bp .wb-card .wc-remove:hover{background:var(--critical-weak);color:var(--critical)}.bp .wb-card .wc-remove svg{width:13px;height:13px}.bp .wb-col-empty{color:var(--ink-4);font-size:11.5px;text-align:center;padding:18px 8px;border:1px dashed var(--border-strong);border-radius:var(--r-md)}.bp .wb-col-add{display:flex;align-items:center;justify-content:center;gap:7px;padding:8px;border-radius:var(--r-md);color:var(--ink-3);font-size:12px;font-weight:600;border:1px dashed transparent}.bp .wb-col-add:hover{background:var(--surface);border-color:var(--border-strong);color:var(--ink-2)}.bp .scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#14161c6b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;display:grid;place-items:center;padding:30px}.bp .modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--sh-pop);width:min(640px,100%);max-height:82vh;display:flex;flex-direction:column;overflow:hidden}.bp .modal-head{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--border)}.bp .modal-head h2{font-size:16px;font-weight:700;flex:1}.bp .modal-head .x{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:var(--ink-3)}.bp .modal-head .x:hover{background:var(--surface-3);color:var(--ink)}.bp .modal-tabs{display:flex;gap:4px;padding:10px 18px 0;flex-wrap:wrap}.bp .modal-tab{padding:6px 11px;border-radius:8px;font-size:12px;font-weight:600;color:var(--ink-2);display:inline-flex;align-items:center;gap:7px}.bp .modal-tab .pdot{width:8px;height:8px;border-radius:3px;background:var(--pc)}.bp .modal-tab:hover{background:var(--surface-3)}.bp .modal-tab.on{background:var(--accent-weak);color:var(--accent-weak-ink)}.bp .modal-search{padding:12px 18px 8px}.bp .modal-search input{width:100%;height:36px;padding:0 12px;border:1px solid var(--border-strong);border-radius:9px;background:var(--surface-2);font-size:13px}.bp .modal-search input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.bp .modal-list{overflow-y:auto;padding:4px 12px 14px;display:flex;flex-direction:column;gap:3px}.bp .pick-row{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:9px;cursor:pointer}.bp .pick-row:hover{background:var(--surface-3)}.bp .pick-row.added{opacity:.55}.bp .pick-row .pk-main{flex:1;min-width:0}.bp .pick-row .pk-task{font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bp .pick-row .pk-sub{font-size:11px;color:var(--ink-3);display:flex;align-items:center;gap:7px;margin-top:2px}.bp .pick-row .pk-add{font-size:12px;font-weight:650;color:var(--accent-weak-ink);padding:5px 10px;border-radius:8px;border:1px solid var(--accent-line);background:var(--accent-weak);flex:none}.bp .pick-row.added .pk-add{color:var(--good);border-color:color-mix(in oklab,var(--good) 30%,#fff);background:#e7f6ef}.bp .modal-stage-h{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-4);font-weight:700;padding:12px 10px 4px}.bp .board-pin{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 9px;border-radius:7px;font-size:11px;font-weight:650;border:1px solid var(--border-strong);background:var(--surface);color:var(--ink-3)}.bp .board-pin:hover{border-color:var(--accent);color:var(--accent-weak-ink)}.bp .board-pin svg{width:13px;height:13px}.bp .board-pin.on{background:var(--accent-weak);border-color:var(--accent-line);color:var(--accent-weak-ink)}.bp .board-pin .cap{font-family:var(--font-ui)}.bp .cap-pill{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 11px 0 6px;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface);font-size:12px;font-weight:600;color:var(--ink-2);white-space:nowrap;flex:none}.bp .cap-pill .av{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:9px;font-weight:750;color:#fff;background:var(--ac, var(--ink-3));flex:none;letter-spacing:.02em}.bp .cap-pill .frac{font-family:var(--font-mono);font-size:11.5px;font-weight:600}.bp .cap-pill.cap-ok .frac{color:#1f8f6b}.bp .cap-pill.cap-near{border-color:#ecd9ab;background:#fdf8ec}.bp .cap-pill.cap-near .frac{color:#b06a14}.bp .cap-pill.cap-over{border-color:#f3c1bc;background:#fdeeec}.bp .cap-pill.cap-over .frac{color:#d2382a;font-weight:700}.bp .cap-pill.cap-over .nm{color:#b03328}.bp .cap-pill.sm{height:24px;font-size:10.5px;gap:5px;padding:0 8px 0 4px}.bp .cap-pill.sm .av{width:17px;height:17px;font-size:7.5px}.bp .cap-pill.sm .frac{font-size:10px}.bp .cap-gear{width:32px;height:32px;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface);display:grid;place-items:center;color:var(--ink-3);flex:none}.bp .cap-gear:hover{border-color:var(--accent);color:var(--accent-weak-ink);background:var(--accent-weak)}.bp .cap-gear svg{width:15px;height:15px}.bp .role-chip.tint{background:color-mix(in oklab,var(--rc) 11%,#fff);border-color:color-mix(in oklab,var(--rc) 32%,#fff);color:color-mix(in oklab,var(--rc) 75%,#000);font-weight:700}.bp .wc-dep{display:flex;align-items:center;gap:6px;font-size:10.5px;color:var(--ink-3);background:var(--surface-2);border:1px solid var(--border-faint);border-radius:7px;padding:4px 7px;min-width:0}.bp .wc-dep svg{width:12px;height:12px;flex:none;color:var(--ink-4)}.bp .wc-dep b{color:var(--ink-2);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bp .wc-dep.waiting{background:#fdf8ec;border-color:#ecd9ab;color:#b06a14}.bp .wc-dep.waiting svg,.bp .wc-dep.waiting b{color:#b06a14}.bp .wc-dep.cleared{background:#e9f7f0;border-color:#c4e8d6;color:#1f8f6b}.bp .wc-dep.cleared svg,.bp .wc-dep.cleared b{color:#1f8f6b}.bp .wc-unblocks{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:700;color:var(--accent-weak-ink);background:var(--accent-weak);border:1px solid var(--accent-line);border-radius:7px;padding:3px 8px;cursor:pointer;flex:none}.bp .wc-unblocks svg{width:12px;height:12px}.bp .wc-unblocks:hover{filter:brightness(.97)}.bp .wc-unblocks.active{background:var(--accent);color:#fff;border-color:transparent}.bp .wb-card.lit{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak),var(--sh-md)}.bp .wb-card.lit-up{border-color:#2f74d0;box-shadow:0 0 0 3px #2f74d02e,var(--sh-md)}.bp .wb-card.lit-down{border-color:#1f9d68;box-shadow:0 0 0 3px #1f9d682e,var(--sh-md)}.bp .wb-card.dimmed{opacity:.3}.bp .lim-row{display:grid;grid-template-columns:30px 1fr 86px;align-items:center;gap:11px;padding:7px 10px;border-radius:9px}.bp .lim-row:hover{background:var(--surface-2)}.bp .lim-row .av{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:750;color:#fff;background:var(--ac)}.bp .lim-row .nm{font-size:13px;font-weight:600;color:var(--ink)}.bp .lim-row .sub{font-size:10.5px;color:var(--ink-3);margin-top:1px}.bp .lim-row input{width:100%;height:30px;padding:0 9px;border:1px solid var(--border-strong);border-radius:8px;font-size:13px;text-align:center;font-family:var(--font-mono)}.bp .lim-row input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.bp .lane-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-sm);overflow:clip visible;margin:16px}.bp .lane-grid{display:grid}.bp .lg-head{padding:9px 11px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--border);background:var(--surface-2);display:flex;align-items:center;gap:7px;position:sticky;top:0;z-index:4}.bp .lg-head .cline{width:14px;height:3px;border-radius:2px;flex:none}.bp .lg-head .ct{font-size:10px;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:0 6px;color:var(--ink-3);letter-spacing:0}.bp .lane-head{padding:12px 13px;border-bottom:1px solid var(--border-faint);border-right:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column;gap:7px;justify-content:flex-start;min-width:0}.bp .lane-head .ln{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:var(--ink);line-height:1.25;min-width:0}.bp .lane-head .ln .pdot{width:9px;height:9px;border-radius:3px;background:var(--pc);flex:none}.bp .lane-head .ln .lname{overflow:hidden}.bp .lane-head .ls{font-size:10.5px;color:var(--ink-3);font-weight:550}.bp .lane-logo{height:24px;max-width:64px;object-fit:contain;background:#fff;border:1px solid var(--border);border-radius:5px;padding:2px 4px;flex:none}.bp .wc-logo{height:17px;max-width:46px;object-fit:contain;background:#fff;border:1px solid var(--border-faint);border-radius:4px;padding:1px 3px;flex:none}.bp .mav{width:17px;height:17px;border-radius:50%;display:grid;place-items:center;font-size:7px;font-weight:800;color:#fff;flex:none;letter-spacing:.02em}.bp .pav{border-radius:50%;flex:none;object-fit:cover;display:block}.bp .pav.init{display:grid;place-items:center;font-weight:800;color:#fff;letter-spacing:.02em}.bp .pav.over-halo{box-shadow:0 0 0 1.5px #fff,0 0 0 3.5px #e5564b}.bp .cap-pill .av.avimg{object-fit:cover;border-radius:50%}.bp .wc-team{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.bp .lane-team{display:grid;gap:3px;padding-top:3px}.bp .ltb{display:flex;align-items:baseline;gap:6px;cursor:default;min-width:0}.bp .ltb-dot{width:8px;height:8px;border-radius:50%;flex:none;align-self:center}.bp .ltb-name{font-size:11px;font-weight:650;color:var(--ink-2);white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}.bp .ltb-name.over{color:#d2382a}.bp .ltb-sep{font-size:10px;color:var(--ink-4);flex:none}.bp .ltb-role{font-size:10px;font-weight:600;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bp .lim-photo{width:28px;height:28px;display:block}.bp .lim-photo image-slot{width:28px;height:28px}.bp .tl-wrap{display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}.bp .tl-toolbar{display:flex;align-items:center;gap:10px;padding:12px 16px;flex-wrap:wrap;flex:none}.bp .tl-scroll{flex:1;min-height:0;overflow:auto;padding:0 16px 14px;position:relative}.bp .toolrow-spacer{flex:1}.bp .tl-zoom{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:3px 6px 3px 3px;box-shadow:var(--sh-sm)}.bp .tl-zoom .zbtn{width:24px;height:24px;border-radius:7px;border:0;background:var(--surface-3);color:var(--ink-2);font-size:16px;line-height:1;cursor:pointer;display:grid;place-items:center}.bp .tl-zoom .zbtn:hover{background:var(--accent-weak);color:var(--accent-weak-ink)}.bp .tl-zoom .zrange{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:104px;height:4px;border-radius:3px;background:var(--surface-3);outline:none}.bp .tl-zoom .zrange::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);border:2px solid #fff;box-shadow:var(--sh-sm);cursor:pointer}.bp .tl-zoom .zrange::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--accent);border:2px solid #fff;cursor:pointer}.bp .tl-zoom .zpct{font-size:11.5px;font-weight:750;color:var(--ink);font-variant-numeric:tabular-nums;min-width:40px;text-align:center}.bp .tl-zoom .zfit{border:0;background:transparent;font:inherit;font-size:11px;font-weight:700;color:var(--accent-weak-ink);padding:3px 8px;border-radius:7px;cursor:pointer;border-left:1px solid var(--border)}.bp .tl-zoom .zfit:hover{background:var(--accent-weak)}.bp .tl-mini{display:flex;align-items:center;gap:11px;padding:8px 16px;background:var(--surface);border-top:1px solid var(--border);flex:none}.bp .tl-mini-lbl{font-size:9.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-4);flex:none}.bp .tl-mini-track{position:relative;flex:1;height:30px;background:var(--surface-2);border:1px solid var(--border);border-radius:7px;overflow:hidden}.bp .tl-mini-tick{position:absolute;top:0;bottom:0;width:1px;background:var(--border-faint)}.bp .tl-mini-today{position:absolute;top:0;bottom:0;width:1.5px;background:var(--accent);opacity:.5}.bp .tl-mini-bar{position:absolute;border-radius:2px;opacity:.88}.bp .tl-mini-win{position:absolute;top:-1px;bottom:-1px;background:color-mix(in oklab,var(--accent) 13%,transparent);border:1.5px solid var(--accent);border-radius:5px;cursor:grab}.bp .tl-mini-win:active{cursor:grabbing}.bp .tl-legend{display:inline-flex;align-items:center;gap:11px;font-size:11px;color:var(--ink-2);font-weight:600;flex-wrap:wrap}.bp .tl-legend .sw{width:12px;height:9px;border-radius:3px;display:inline-block}.bp .tl-legend .li{display:inline-flex;align-items:center;gap:5px}.bp .pt{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-sm);overflow:hidden;width:max-content;min-width:100%}.bp .pt-head{display:flex;border-bottom:1px solid var(--border);background:var(--surface-2)}.bp .pt-corner{width:230px;flex:none;padding:6px 12px;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);border-right:1px solid var(--border);display:flex;align-items:center;gap:7px;position:sticky;left:0;background:var(--surface-2);z-index:3}.bp .pt-months{position:relative;flex:1;height:26px}.bp .pt-scale{position:relative;flex:1;height:38px}.bp .pt-month{position:absolute;top:0;bottom:0;border-left:1px solid var(--border);padding:4px 0 0 7px;font-size:10px;font-weight:750;color:var(--ink-2)}.bp .pt-days{position:absolute;left:0;right:0;bottom:0;height:15px}.bp .pt-day{position:absolute;bottom:0;height:15px;line-height:14px;overflow:hidden;font-family:Consolas,monospace;font-size:9px;color:var(--ink-3);padding-left:3px;border-left:1px solid var(--border-faint);white-space:nowrap}.bp .pt-day.we{color:var(--ink-4);background:var(--surface-2)}.bp .pt-body{position:relative}.bp .pt-grid{position:absolute;top:0;right:0;bottom:0;left:230px;pointer-events:none;z-index:0}.bp .pt-gline{position:absolute;top:0;bottom:0;width:1px;background:var(--border-faint)}.bp .pt-today{position:absolute;top:0;bottom:0;width:2px;background:var(--accent);opacity:.55;z-index:6;pointer-events:none}.bp .pt-row{display:flex;align-items:stretch;border-bottom:1px solid var(--border-faint);position:relative}.bp .pt-row:last-child{border-bottom:0}.bp .pt-label{width:230px;flex:none;padding:3px 12px;border-right:1px solid var(--border);display:flex;align-items:center;gap:6px;background:var(--surface);z-index:2;min-width:0;position:sticky;left:0}.bp .pt-label .nm{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:70px;flex:none;max-width:130px}.bp .pt-label .nm .pdot{width:7px;height:7px;border-radius:2.5px;background:var(--pc);flex:none}.bp .pt-label .nm .chev{color:var(--ink-4);font-size:8px;width:9px;flex:none}.bp .pt-label .sub{font-size:9px;color:var(--ink-4);font-weight:700;margin-left:auto;flex:none}.bp .pt-track{flex:1;position:relative;min-height:22px}.bp .cap-line{position:absolute;top:4px;bottom:4px;border-radius:3px}.bp .cap-g0{background:#cdebdc}.bp .cap-g1{background:#7ecfa6}.bp .cap-g2{background:#f0c463}.bp .cap-g3{background:#e5564b}.bp .pt-row.clickable{cursor:pointer}.bp .pt-row.clickable:hover .pt-label{background:var(--surface-2)}.bp .ppl-drawer{background:color-mix(in oklab,var(--accent-weak) 45%,#fff)}.bp .ppl-drawer .pt-label{background:transparent;padding-left:30px}.bp .ppl-drawer .pt-label .nm{font-weight:600;font-size:10px}.bp .ppl-drawer .pt-track{min-height:18px}.bp .ppl-drawer .cap-line{top:3px;bottom:3px}.bp .roll-bar{position:absolute;height:6px;border-radius:3px;box-shadow:var(--sh-sm)}.bp .share-chips{display:inline-flex;gap:4px;margin-left:auto;flex:0 1 auto;min-width:0;overflow:hidden}.bp .share-chip{font-size:8px;font-weight:800;border-radius:4px;padding:1px 5px;letter-spacing:.02em;white-space:nowrap}.bp .sc-ok{background:#e2f3ea;color:#1f8f6b}.bp .sc-mid{background:#fdf3dd;color:#b06a14}.bp .sc-hot{background:#fdeeec;color:#d2382a}.bp .plan-sub .pt-label{padding-left:30px;background:var(--surface-2)}.bp .plan-sub .pt-track{min-height:24px}.bp .tl-stage{position:absolute;top:7px;height:10px;border-radius:3px;cursor:pointer;box-shadow:var(--sh-sm)}.bp .tl-stage:hover{filter:brightness(.93)}.bp .mt-dot{position:absolute;top:50%;width:9px;height:9px;transform:translate(-50%,-50%) rotate(45deg);border-radius:2px;background:var(--accent);border:1px solid #fff;z-index:4;cursor:pointer;box-shadow:var(--sh-sm)}.bp .mt-dot:hover{transform:translate(-50%,-50%) rotate(45deg) scale(1.25)}.bp .mt-dot.due{background:var(--pc);cursor:default}.bp .mt-dot.due:hover{transform:translate(-50%,-50%) rotate(45deg)}.bp .stg-task{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:8px;cursor:pointer}.bp .stg-task:hover{background:var(--surface-3)}.bp .stg-task .t{flex:1;min-width:0;font-size:12.5px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;gap:6px;align-items:center}.bp .stg-task .t .mi{color:var(--accent-weak-ink);display:inline-flex}.bp .stg-task .t .mi svg{width:12px;height:12px}.bp .stg-task .d{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-3);flex:none}.bp .mx{border-collapse:separate;border-spacing:3px}.bp .mx th{font-size:9.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);padding:3px 6px;text-align:center}.bp .mx th.rowh{text-align:right}.bp .mx td{min-width:72px;height:30px;border-radius:6px;text-align:center;font-family:var(--font-mono);font-size:10.5px;font-weight:700;padding:0 6px}.bp .tchip{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:9.5px;font-weight:700;border-radius:5px;padding:1px 6px;flex:none}.bp .tchip svg{width:9px;height:9px}.bp .t-ok{background:#e2f3ea;color:#1f8f6b}.bp .t-warn{background:#fdf3dd;color:#b06a14}.bp .t-over{background:#fdeeec;color:#d2382a}.bp .t-none{background:var(--surface-3);color:var(--ink-4)}.bp .sticker{position:absolute;top:-8px;right:-7px;z-index:6;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:6px;transform:rotate(4deg);box-shadow:0 2px 6px #10121838,inset 0 0 0 1.5px #ffffff8c;cursor:pointer;line-height:1.3;text-align:center}.bp .sticker.ready{background:#1f9d68;color:#fff}.bp .sticker.blk-int{background:#e5564b;color:#fff;transform:rotate(-4deg)}.bp .sticker.blk-ext{background:#5b4ba6;color:#fff;transform:rotate(-4deg)}.bp .sticker .sub2{display:block;font-size:7px;font-weight:700;letter-spacing:.03em;opacity:.85;text-transform:none}.bp .sticker.flat{position:static;transform:none}.bp .mini .sticker{top:-7px;right:-5px}.bp .quick-tray{position:absolute;top:-13px;left:10px;z-index:7;display:none;gap:4px;background:var(--surface);border:1px solid var(--border-strong);border-radius:999px;padding:3px 5px;box-shadow:var(--sh-md)}.bp .wb-card:hover .quick-tray{display:flex}.bp .quick-tray button{font-size:8px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;border-radius:5px;padding:2px 7px}.bp .quick-tray .qt-ready{background:#e2f3ea;color:#1f8f6b}.bp .quick-tray .qt-int{background:#fdeeec;color:#d2382a}.bp .quick-tray .qt-ext{background:#efecf9;color:#5b4ba6}.bp .quick-tray button:hover{filter:brightness(.94)}.bp .steps{display:flex;gap:3px}.bp .step{flex:1;display:grid;gap:2px;min-width:0}.bp .step .sbar{height:5px;border-radius:3px;background:var(--surface-3);position:relative;overflow:hidden}.bp .step .sbar i{position:absolute;left:0;top:0;bottom:0;border-radius:3px}.bp .step .slab{font-size:7px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-4);text-align:center;white-space:nowrap}.bp .step.cur .slab{color:var(--ink-2)}.bp .step .sval{font-family:var(--font-mono);font-size:8px;font-weight:700;text-align:center;color:var(--ink-3)}.bp .wc-ring-row{display:flex;justify-content:flex-end;align-items:center;margin-top:7px;padding-right:2px}.bp .tring-wrap{display:flex;align-items:center;gap:9px}.bp .tring-lab{font-size:10px;font-weight:800;color:var(--ink-3);white-space:nowrap}.bp .tring-lab.under{color:#1f8f6b}.bp .tring{position:relative;flex:none}.bp .tring .ring-fc{position:absolute;right:-5px;bottom:-4px;font-family:var(--font-mono);font-size:10px;font-weight:700;color:var(--ink-3);background:var(--surface);border-radius:5px;padding:0 3px;white-space:nowrap}.bp .tring .ring-over{position:absolute;right:-7px;top:-6px;font-size:9px;font-weight:800;color:#d2382a;background:#fdeeec;border:1px solid #f3c8c2;border-radius:6px;padding:1px 5px;white-space:nowrap;font-variant-numeric:tabular-nums}.bp .tring-mini{display:inline-flex;align-items:center;gap:3px;margin-left:auto;flex:none}.bp .tring-mini svg{flex:none}.bp .tring-mini .tm-fc{font-family:var(--font-mono);font-size:9px;font-weight:700;color:var(--ink-3);white-space:nowrap}.bp .qchip{display:inline-flex;align-items:center;gap:3px;flex:none;white-space:nowrap;font-family:var(--font-mono);font-size:9.5px;font-weight:700;color:var(--ink-3);background:var(--surface-3);border:1px solid var(--border);border-radius:999px;padding:1px 6px}.bp .qchip.sm{font-size:8.5px;padding:0 5px}.bp .qchip.over{background:#fdf3dd;border-color:#ecd9ab;color:#b06a14}.bp .blocked-row{display:flex;align-items:center;gap:7px;font-size:10.5px;font-weight:650;border-radius:8px;padding:5px 9px}.bp .blocked-row.int{background:#fdeeec;color:#b03328;border:1px solid #f3c1bc}.bp .blocked-row.ext{background:#efecf9;color:#5b4ba6;border:1px solid #d6cfee}.bp .blocked-row .who{margin-left:auto;font-family:var(--font-mono);font-size:10px}.bp .roll-tabs{display:inline-flex;padding:3px;gap:2px;background:var(--surface-3);border:1px solid var(--border);border-radius:9px}.bp .roll-tabs button{padding:4px 11px;border-radius:6px;font-size:11px;font-weight:700;color:var(--ink-2)}.bp .roll-tabs button.on{background:var(--surface);color:var(--ink);box-shadow:var(--sh-sm)}.bp .rollt{width:100%;border-collapse:collapse}.bp .rollt th{font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);text-align:left;padding:5px 8px;border-bottom:1px solid var(--border)}.bp .rollt th.r,.bp .rollt td.r{text-align:right}.bp .rollt td{font-size:11.5px;padding:6px 8px;border-bottom:1px solid var(--border-faint);font-weight:600;color:var(--ink)}.bp .rollt td.mono2{font-family:var(--font-mono);font-size:10.5px;font-weight:700}.bp .ubar{display:inline-flex;align-items:center;gap:6px}.bp .ubar .tk{width:80px;height:6px;border-radius:3px;background:var(--surface-3);overflow:hidden;display:flex}.bp .ubar .tk i{height:100%}.bp .tpl-wrap{overflow-y:auto;padding:22px 26px 60px;background:var(--bg)}.bp .tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:13px;max-width:1180px}.bp .tpl-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-sm);padding:14px 15px;display:grid;gap:10px;cursor:pointer;text-align:left}.bp .tpl-card:hover{box-shadow:var(--sh-md);border-color:var(--border-strong)}.bp .tpl-card .th2{display:flex;align-items:flex-start;gap:8px}.bp .tpl-card h3{font-size:14.5px;font-weight:750;flex:1;line-height:1.25;color:var(--ink)}.bp .tpl-badge{font-size:8.5px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;border-radius:5px;padding:2px 7px;flex:none}.bp .tb-def{background:var(--accent-weak);color:var(--accent-weak-ink);border:1px solid var(--accent-line)}.bp .tb-act{background:#e2f3ea;color:#1f8f6b;border:1px solid #c4e8d6}.bp .tb-lib{background:var(--surface-3);color:var(--ink-3);border:1px solid var(--border)}.bp .tpl-meta{display:flex;gap:12px;font-size:11px;color:var(--ink-3);font-weight:600;flex-wrap:wrap}.bp .tpl-meta b{color:var(--ink);font-weight:750}.bp .tpl-foot2{display:flex;align-items:center;gap:6px;font-size:10.5px;color:var(--ink-4);border-top:1px solid var(--border-faint);padding-top:9px;flex-wrap:wrap}.bp .tpl-foot2 .btn{height:23px;font-size:10px;padding:0 8px;border-radius:6px}.bp .tpl-card.newt{border-style:dashed;place-items:center;color:var(--ink-3);min-height:140px}.bp .tpl-card.newt:hover{border-color:var(--accent);color:var(--accent-weak-ink);background:var(--accent-weak)}.bp .ed{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-sm);overflow:hidden;max-width:1180px}.bp .ed-head{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);flex-wrap:wrap}.bp .ed-head input.nm2{font-size:15px;font-weight:750;border:1px solid transparent;border-radius:8px;padding:4px 9px;width:240px;background:transparent;color:var(--ink)}.bp .ed-head input.nm2:hover,.bp .ed-head input.nm2:focus{border-color:var(--border-strong);background:var(--surface);outline:none}.bp .edt{width:100%;border-collapse:collapse}.bp .edt th{font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);text-align:left;padding:7px 10px;border-bottom:1px solid var(--border);background:var(--surface-2);position:sticky;top:0;z-index:2}.bp .edt th.c,.bp .edt td.c{text-align:center}.bp .edt td{font-size:12px;padding:5px 10px;border-bottom:1px solid var(--border-faint);font-weight:550;color:var(--ink)}.bp .edt tr.stage td{background:var(--surface-2);padding:4px 12px;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2)}.bp .edt tr.offrow td{opacity:.45}.bp .edt .mono3{font-family:var(--font-mono);font-size:10.5px;font-weight:700}.bp .src-seg{display:inline-flex;gap:1px;background:var(--surface-3);border:1px solid var(--border);border-radius:7px;padding:2px}.bp .src-seg button{font-size:8.5px;font-weight:800;letter-spacing:.03em;padding:2px 7px;border-radius:5px;color:var(--ink-3);text-transform:uppercase}.bp .src-seg button:disabled{opacity:.35;cursor:not-allowed}.bp .src-seg button.on{background:var(--surface);color:var(--accent-weak-ink);box-shadow:var(--sh-sm)}.bp .actuals{display:inline-flex;align-items:baseline;gap:4px;font-family:var(--font-mono);font-size:9.5px;color:var(--ink-3);white-space:nowrap}.bp .actuals b{color:var(--accent-weak-ink);font-size:10.5px}.bp .actuals .nn{color:var(--ink-4)}.bp .no-act{font-size:9.5px;color:var(--ink-4);font-style:italic}.bp .dep-toolbar{display:flex;align-items:center;gap:10px;padding:11px 16px;border-bottom:1px solid var(--border);flex-wrap:wrap;background:var(--surface)}.bp .dep-hint{font-size:11px;color:var(--ink-3);font-weight:600}.bp .flow-wrap{position:relative;overflow:auto;background:var(--bg);min-height:320px}.bp .flow-inner{position:relative}.bp .flow-inner svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible}.bp .flow-inner svg path.fl{fill:none;stroke:var(--ink-4);stroke-width:1.6;pointer-events:stroke;cursor:pointer}.bp .flow-inner svg path.fl:hover{stroke:var(--critical)}.bp .flow-inner svg .ah2{fill:var(--ink-4)}.bp .fnode{position:absolute;width:172px;background:var(--surface);border:1px solid var(--border-strong);border-radius:9px;padding:8px 10px;box-shadow:var(--sh-sm);font-size:11px;font-weight:650;color:var(--ink);display:grid;gap:4px}.bp .fnode .fr2{display:flex;align-items:center;gap:5px;font-size:9px;color:var(--ink-3);font-weight:700}.bp .fnode .fr2 .rdot{width:7px;height:7px;border-radius:2.5px;background:var(--rc)}.bp .fnode .port{position:absolute;right:-7px;top:50%;transform:translateY(-50%);width:13px;height:13px;border-radius:50%;background:var(--accent);border:2px solid #fff;box-shadow:var(--sh-sm);cursor:crosshair}.bp .fnode .port:hover{transform:translateY(-50%) scale(1.25)}.bp .fnode.src{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.bp .fnode.cand{cursor:pointer;border-style:dashed;border-color:var(--accent-line)}.bp .fnode.cand:hover{background:var(--accent-weak);border-color:var(--accent)}.bp .tree-wrap{padding:14px 16px 24px;background:var(--bg);display:grid;gap:2px;align-content:start;min-height:320px}.bp .tnode{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:7px 10px;font-size:11.5px;font-weight:650;color:var(--ink);max-width:470px;cursor:grab}.bp .tnode .rdot{width:7px;height:7px;border-radius:2.5px;flex:none;background:var(--rc)}.bp .tnode .grip2{color:var(--ink-4);font-size:10px;letter-spacing:-1px;flex:none}.bp .tnode .dur2{margin-left:auto;font-family:var(--font-mono);font-size:9.5px;color:var(--ink-3);flex:none}.bp .tnode.droptgt{border:1.5px dashed var(--accent);background:var(--accent-weak)}.bp .tnode.dragging2{opacity:.4}.bp .tline{border-left:2px solid var(--border-strong);margin-left:14px;padding-left:14px;display:grid;gap:2px;padding-top:2px}.bp .troot-zone{max-width:470px;border:1.5px dashed var(--border-strong);border-radius:8px;padding:6px 10px;font-size:10.5px;color:var(--ink-4);font-weight:650;text-align:center;margin-bottom:6px}.bp .troot-zone.droptgt{border-color:var(--accent);background:var(--accent-weak);color:var(--accent-weak-ink)}.bp .xstage{font-size:9px;font-weight:700;color:#b06a14;background:#fdf8ec;border:1px solid #ecd9ab;border-radius:5px;padding:1px 6px;flex:none}.bp .sub-toggle{display:inline-flex;align-items:center;gap:6px;background:transparent;border:0;cursor:pointer;font:inherit;color:var(--ink-2);padding:2px 5px;border-radius:7px}.bp .sub-toggle:hover{background:var(--surface-3)}.bp .sub-toggle .chev{color:var(--ink-4);font-size:8px;width:9px;flex:none}.bp .sub-toggle.on .chev{color:var(--accent-weak-ink)}.bp .sub-toggle .add-sub{font-size:10.5px;font-weight:700;color:var(--accent-weak-ink);white-space:nowrap}.bp tr.row-open>td{background:var(--accent-weak)}.bp tr.sub-drawer-row>td{padding:0;background:color-mix(in oklab,var(--accent-weak) 45%,#fff)}.bp .sub-drawer{padding:9px 16px 12px 30px}.bp .sub-drawer .sdh{font-size:10.5px;font-weight:700;color:var(--ink-3);margin-bottom:8px}.bp .sub-drawer .sub-list{max-width:460px;display:grid;gap:5px}.bp .sub-drawer .sub-row .sbul{width:6px;height:6px;border-radius:50%;background:var(--ink-4);flex:none;margin:0 3px}.bp .dempty-sub{font-size:11px;color:var(--ink-4);padding:3px 2px}.bp .dur-roll{color:#2a6fdb;background:#e8f0fc;border-radius:4px;padding:1px 6px;font-weight:700}.bp .chld{max-width:560px;display:grid;gap:4px}.bp .chld-h,.bp .chld-r,.bp .chld-tot{display:grid;grid-template-columns:1fr 130px 58px 58px 58px 22px;gap:7px;align-items:center}.bp .chld-h{font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-4);padding:0 2px 2px}.bp .chld-h .n,.bp .chld-r .n,.bp .chld-tot .n{text-align:right}.bp .chld-r .tin{width:100%}.bp .chld-r .tin.num{text-align:right}.bp .chld-r .cn{font-weight:550;color:var(--ink)}.bp .chld-r .cr{font-size:11px;color:var(--ink-2)}.bp .chld-r .sdel{justify-self:center}.bp .chld-tot{border-top:1px solid var(--border);padding-top:5px;margin-top:2px;font-size:11px;font-weight:800;color:#2a6fdb}.bp .chld-tot>span:first-child{color:var(--ink-3);font-weight:700}.bp .lock-btn{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 13px;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface);font-size:12px;font-weight:700;color:var(--ink-2);flex:none}.bp .lock-btn:hover{border-color:var(--ink-4)}.bp .lock-btn.open{background:var(--accent-weak);border-color:var(--accent-line);color:var(--accent-weak-ink)}.bp .ovr-dot{width:8px;height:8px;border-radius:50%;background:#e7b042;display:inline-block;flex:none;cursor:pointer;box-shadow:0 0 0 2px #fdf3dd}.bp .ovr-dot:hover{background:#d2382a;box-shadow:0 0 0 2px #fdeeec}.bp .ovr-dot.ro{cursor:default;margin-left:4px}.bp .ovr-dot.ro:hover{background:#e7b042;box-shadow:0 0 0 2px #fdf3dd}.bp .pw-pop{position:absolute;top:calc(100% + 8px);right:0;z-index:50;width:220px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--sh-pop);padding:12px}.bp .pw-pop input{width:100%;height:32px;border:1px solid var(--border-strong);border-radius:8px;padding:0 10px;font-size:13px}.bp .pw-pop input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.bp .pw-err{font-size:11px;color:var(--critical);font-weight:650;margin-top:6px}.bp .rep-step{display:inline-flex;align-items:center;gap:0;border:1px solid var(--border-strong);border-radius:7px;overflow:hidden;background:var(--surface);flex:none}.bp .rep-step button{width:22px;height:24px;font-size:12px;font-weight:800;color:var(--ink-3);background:var(--surface-2)}.bp .rep-step button:hover{color:var(--accent-weak-ink);background:var(--accent-weak)}.bp .rep-step .rv{padding:0 8px;font-family:var(--font-mono);font-size:11px;font-weight:800;color:var(--ink)}.bp .rep-step .rv.on{color:var(--accent-weak-ink)}.bp .rep-badge{font-size:9px;font-weight:900;letter-spacing:.04em;border-radius:5px;padding:1px 6px;background:var(--accent-weak);color:var(--accent-weak-ink);border:1px solid var(--accent-line);font-family:var(--font-mono);white-space:nowrap;flex:none}.bp .cycle-dots{display:inline-flex;gap:3px;align-items:center;flex:none}.bp .cycle-dots i{width:8px;height:8px;border-radius:50%;border:1.5px solid var(--border-strong);background:var(--surface)}.bp .cycle-dots i.done{background:#1f9d68;border-color:#1f9d68}.bp .cycle-dots i.cur{border-color:var(--accent);background:var(--accent-weak)}.bp .sub-list{display:grid;gap:4px}.bp .sub-row{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--ink);font-weight:550}.bp .sub-row .schk{width:15px;height:15px;border-radius:5px;border:1.5px solid var(--border-strong);display:grid;place-items:center;font-size:9px;color:#fff;flex:none;cursor:pointer;background:var(--surface)}.bp .sub-row .schk.on{background:#1f9d68;border-color:#1f9d68}.bp .sub-row.done2{color:var(--ink-4);text-decoration:line-through}.bp .sub-row .sdel{margin-left:auto;color:var(--ink-4);font-size:11px;cursor:pointer;opacity:0}.bp .sub-row:hover .sdel{opacity:1}.bp .sub-row .sdel:hover{color:var(--critical)}.bp .roll-mini{display:flex;align-items:center;gap:7px;min-width:0}.bp .roll-mini .bar{flex:1;height:5px;border-radius:3px;background:var(--surface-3);overflow:hidden}.bp .roll-mini .bar i{display:block;height:100%;background:#1f9d68}.bp .roll-mini .pct{font-family:var(--font-mono);font-size:9px;font-weight:700;color:var(--ink-3);flex:none}.bp .subchip{font-size:9px;font-weight:800;font-family:var(--font-mono);color:#1f8f6b;background:#e2f3ea;border:1px solid #c4e8d6;border-radius:5px;padding:1px 6px;white-space:nowrap;flex:none}.bp .md{height:100%;display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}.bp .md-tabs{display:flex;align-items:center;gap:4px;padding:11px 16px 0;flex-wrap:wrap;flex:none}.bp .md-tab{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:650;color:var(--ink-2);background:var(--surface-2);border:1px solid var(--border);border-bottom:none;border-radius:9px 9px 0 0;padding:8px 13px;cursor:pointer}.bp .md-tab:hover{background:var(--surface-3)}.bp .md-tab.on{background:var(--surface);color:var(--ink);box-shadow:0 -1px 0 var(--accent) inset}.bp .md-tab .ic{font-size:13px;color:var(--ink-4)}.bp .md-tab.on .ic{color:var(--accent-weak-ink)}.bp .md-tab .ct{font-family:var(--font-mono);font-size:10px;font-weight:700;color:var(--ink-4);background:var(--surface-3);border-radius:5px;padding:0 5px}.bp .md-tab.on .ct{background:var(--accent-weak);color:var(--accent-weak-ink)}.bp .md-tabspacer{flex:1}.bp .md-toolbar{display:flex;align-items:center;gap:12px;padding:11px 16px;border-top:1px solid var(--border);background:var(--surface);flex:none;flex-wrap:wrap}.bp .md-count{font-size:11px;font-weight:800;font-family:var(--font-mono);color:var(--ink-3);background:var(--surface-3);border-radius:6px;padding:2px 8px;flex:none}.bp .md-note{font-size:11.5px;color:var(--ink-3);line-height:1.4;max-width:640px}.bp .md-tspacer{flex:1}.bp .md-pw{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--accent-weak);border-bottom:1px solid var(--accent-line);font-size:12px;color:var(--ink-2);flex:none}.bp .md-pw input{height:30px;border:1px solid var(--border-strong);border-radius:8px;padding:0 10px;font-size:13px;width:180px;background:var(--surface)}.bp .md-pw input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.bp .md-pwerr{color:var(--critical);font-weight:700}.bp .md-report{display:flex;align-items:center;gap:8px;padding:9px 16px;background:#e2f3ea;border-bottom:1px solid #c4e8d6;color:#1f7a56;font-size:12px;flex:none}.bp .md-report.err{background:#fdeeec;border-color:#f3c8c2;color:#b03328}.bp .md-report b{font-weight:800}.bp .md-report .md-x{margin-left:auto;cursor:pointer;font-size:15px;color:inherit;opacity:.6;padding:0 4px}.bp .md-report .md-x:hover{opacity:1}.bp .md-scroll{flex:1;min-height:0;overflow:auto;padding:0 0 20px}.bp .md-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:12px}.bp .md-table thead th{position:sticky;top:0;z-index:2;background:var(--surface-2);font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);text-align:left;padding:9px 12px;border-bottom:1px solid var(--border);white-space:nowrap}.bp .md-table th.n,.bp .md-table td.n{text-align:right}.bp .md-table td{padding:6px 12px;border-bottom:1px solid var(--border-faint);color:var(--ink);font-weight:550;white-space:nowrap;vertical-align:middle}.bp .md-table tbody tr:hover td{background:var(--surface-2)}.bp .md-gutter{width:40px;text-align:right;color:var(--ink-4);font-family:var(--font-mono);font-size:10px;font-weight:600;background:var(--surface-2);position:sticky;left:0}.bp .md-table thead th.md-gutter{z-index:3}.bp .md-empty{text-align:center;color:var(--ink-4);padding:26px;font-weight:600}.bp .md-muted{color:var(--ink-4)}.bp .md-mono{font-family:var(--font-mono);font-size:10.5px}.bp .md-roll{color:#2a6fdb;background:#e8f0fc;border-radius:4px;padding:1px 6px;font-weight:700;font-family:var(--font-mono);font-size:10.5px}.bp .md-chk{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:4px;border:1.5px solid var(--border-strong);color:#1f8f6b;font-size:10px;font-weight:800}.bp .md-chk.on{background:#e2f3ea;border-color:#c4e8d6}.bp .md-pill{font-size:9.5px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-2);background:var(--surface-3);border:1px solid var(--border);border-radius:5px;padding:1px 7px}.bp .md-roles{display:inline-flex;gap:4px;flex-wrap:wrap}.bp .md-childrow td{background:color-mix(in oklab,var(--accent-weak) 30%,var(--surface));border-bottom-color:var(--border-faint)}.bp .md-childrow:hover td{background:color-mix(in oklab,var(--accent-weak) 42%,var(--surface))!important}.bp .md-sub{display:inline-flex;align-items:center;gap:7px;padding-left:14px;font-weight:600}.bp .md-elbow{color:var(--ink-4)}.bp .md-block{font-size:11px;color:var(--ink-2);white-space:normal;display:inline-block;max-width:340px;line-height:1.4}.bp .tav{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:800;color:#fff;flex:none}.bp .role-tag{display:inline-flex;align-items:center;gap:4px;font-size:9.5px;font-weight:800;border-radius:5px;padding:2px 7px;background:var(--surface-3);border:1px solid var(--border);color:var(--ink-2);margin:1px 4px 1px 0;white-space:nowrap}.bp .role-tag .x{color:var(--ink-4);cursor:pointer}.bp .role-tag .x:hover{color:var(--critical)}.bp .role-tag.add{border-style:dashed;color:var(--ink-4);cursor:pointer}.bp .role-tag.add:hover{border-color:var(--accent);color:var(--accent-weak-ink)}.bp .vac-chip{display:inline-flex;align-items:center;gap:5px;font-size:9.5px;font-weight:700;border-radius:999px;padding:2px 8px;background:#fdf3dd;border:1px solid #ecd9ab;color:#b06a14;font-family:var(--font-mono);margin:1px 4px 1px 0;white-space:nowrap}.bp .vac-chip .x{cursor:pointer;opacity:.6}.bp .vac-chip .x:hover{opacity:1;color:var(--critical)}.bp .vac-chip.add{background:var(--surface-3);border:1px dashed var(--border-strong);color:var(--ink-4);font-family:var(--font-ui);cursor:pointer}.bp .vac-chip.add:hover{border-color:var(--accent);color:var(--accent-weak-ink)}.bp .vac-chip.now{background:#fdeeec;border-color:#f3c1bc;color:#d2382a}.bp .off-badge{position:absolute;bottom:-4px;right:-5px;width:15px;height:15px;border-radius:50%;background:#e7b042;border:1.5px solid #fff;display:grid;place-items:center;font-size:8px;z-index:2}.bp .cap-v{background:repeating-linear-gradient(135deg,#f0c463 0,#f0c463 3px,#fdf3dd 3px,#fdf3dd 7px)}.bp .pfilter{display:inline-flex;align-items:center;gap:3px;flex-wrap:wrap}.bp .pfa{position:relative;border-radius:50%;padding:2px;display:inline-grid;place-items:center;border:2px solid transparent}.bp .pfa:hover{border-color:var(--accent-line)}.bp .pfa.on{border-color:var(--accent);background:var(--accent-weak)}.bp .conf-pill{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px;border-radius:999px;font-size:11px;font-weight:800;color:#d2382a;background:#fdeeec;border:1px solid #f3c1bc}.bp .conf-pill:hover{filter:brightness(.97)}.bp .rbadge{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:5px;background:#1f9d68;color:#fff;font-size:9.5px;font-weight:900;flex:none;box-shadow:var(--sh-sm)}.bp .rbadge.sm{width:13px;height:13px;font-size:8px}.bp .rskip{display:inline-flex;align-items:center;font-size:9px;font-weight:800;color:var(--ink-4);letter-spacing:.03em;white-space:nowrap}.bp .steps .slab.skip{text-decoration:line-through;opacity:.55}.bp .steps .sbar.hatch2{background:repeating-linear-gradient(135deg,var(--surface-3) 0,var(--surface-3) 3px,var(--surface) 3px,var(--surface) 6px)}.bp .rgate{position:fixed;left:50%;bottom:26px;transform:translate(-50%);z-index:300;display:flex;align-items:center;gap:10px;max-width:560px;width:max-content;background:#1b1d22;color:#fff;border-radius:11px;padding:11px 14px;font-size:12.5px;font-weight:600;box-shadow:var(--sh-pop)}.bp .rgate .rg-go{font-size:11.5px;font-weight:750;padding:5px 11px;border-radius:7px;background:#1f9d68;color:#fff;white-space:nowrap}.bp .rgate .rg-go:hover{filter:brightness(1.1)}.bp .rgate .rg-skip{font-size:11.5px;font-weight:750;padding:5px 11px;border-radius:7px;background:#ffffff24;color:#fff;white-space:nowrap}.bp .rgate .rg-skip:hover{background:#ffffff3d}.bp .seg-bar{display:flex;height:6px;border-radius:4px;overflow:hidden;background:var(--surface-3);flex:1;min-width:0}.bp .seg-bar i{height:100%}.bp .lh-flow{display:flex;align-items:center;gap:7px;margin-top:6px}.bp .lh-frac{font-size:9.5px;font-weight:800;font-family:var(--font-mono);color:var(--ink-2);white-space:nowrap;flex:none}.bp .lh-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.bp .al-chip{display:inline-flex;align-items:center;gap:4px;font-size:9px;font-weight:800;padding:2px 7px;border-radius:999px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.bp .al-block{background:#fdeeec;color:#d2382a;border:1px solid #f3c1bc}.bp .al-over{background:#fdf3dd;color:#b06a14;border:1px solid #ecd9ab}.bp .al-ms{background:var(--accent-weak);color:var(--accent-weak-ink);border:1px solid var(--accent-line)}.bp .due-chip{display:inline-flex;align-items:center;gap:4px;font-size:9.5px;font-weight:800;font-family:var(--font-mono);padding:2px 8px;border-radius:999px;white-space:nowrap;flex:none}.bp .due-ok{background:#e2f3ea;color:#1f8f6b;border:1px solid #c4e8d6}.bp .due-warn{background:#fdf3dd;color:#b06a14;border:1px solid #ecd9ab}.bp .due-hot{background:#fdeeec;color:#d2382a;border:1px solid #f3c1bc}.bp .lh-foot{display:flex;align-items:center;gap:7px;margin-top:8px}.bp .lh-foot .drawer-pill{margin-top:0;margin-left:auto}.bp .more-pill{display:block;width:100%;padding:4px 6px;border-radius:7px;border:1px dashed var(--border-strong);color:var(--ink-3);font-size:9.5px;font-weight:750;text-align:center}.bp .more-pill:hover{border-color:var(--accent);color:var(--accent-weak-ink);background:var(--accent-weak)}.bp .lane-bar{grid-column:1 / -1;position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:11px;padding:9px 13px 9px 17px;margin-top:12px;box-shadow:var(--sh-sm)}.bp .lane-grid .lane-bar:first-of-type{margin-top:6px}.bp .lane-bar .lb-edge{position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--pc)}.bp .lb-row{display:flex;align-items:center;gap:11px;min-width:0;flex-wrap:nowrap}.bp .lb-name{min-width:0;flex:none;max-width:260px;cursor:pointer}.bp .lb-name b{display:block;font-size:13px;font-weight:750;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.bp .lb-name .cust{font-size:9.5px;color:var(--ink-3);font-weight:600;white-space:nowrap}.bp .lb-flow{flex:1 1 90px;display:flex;align-items:center;gap:7px;min-width:70px;margin:0 6px}.bp .lb-chips{display:flex;align-items:center;gap:5px;flex:none;flex-wrap:nowrap;max-width:44%;overflow:hidden}.bp .lane-bar .lane-team{display:flex;flex-wrap:nowrap;gap:3px 14px;flex:0 1 auto;min-width:0;overflow:hidden}.bp .lane-bar .ltb{flex:none}.bp .lane-toggle{flex:none;width:18px;height:18px;border-radius:5px;display:grid;place-items:center;border:1px solid var(--border-strong);background:var(--surface);color:var(--ink-2);font-size:13px;font-weight:800;line-height:1;cursor:pointer;padding:0}.bp .lane-toggle:hover{border-color:var(--accent);color:var(--accent-weak-ink);background:var(--accent-weak)}.bp .lane-bar.closed{padding-top:6px;padding-bottom:6px;margin-top:6px;background:var(--surface-2);box-shadow:none}.bp .lane-bar.closed .lb-name b{font-weight:700;color:var(--ink-2)}.bp .lane-grid .lg-head{position:sticky;top:0;z-index:28;background:var(--surface);box-shadow:0 1px 0 var(--border)}.bp .lane-cell{padding:8px;border-bottom:1px solid var(--border-faint);display:flex;flex-direction:column;gap:6px;background:var(--surface-2);min-height:70px;transition:background .12s}.bp .lane-cell+.lane-cell{border-left:1px solid var(--border-faint)}.bp .lane-cell.drop{background:var(--accent-weak)}.bp .mini{background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;padding:7px 9px 7px 12px;position:relative;box-shadow:var(--sh-sm);display:grid;gap:5px;cursor:pointer;transition:box-shadow .12s,border-color .12s,opacity .12s}.bp .mini:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:8px 0 0 8px;background:var(--pc)}.bp .mini:hover{box-shadow:var(--sh-md);border-color:var(--ink-4)}.bp .mini.dragging{opacity:.4}.bp .mini.lit{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-weak),var(--sh-md)}.bp .mini.lit-up{border-color:#2f74d0;box-shadow:0 0 0 2px #2f74d033,var(--sh-md)}.bp .mini.lit-down{border-color:#1f9d68;box-shadow:0 0 0 2px #1f9d6833,var(--sh-md)}.bp .mini.dimmed{opacity:.3}.bp .mini .mt{font-size:11.5px;font-weight:600;color:var(--ink);line-height:1.3;display:flex;gap:5px}.bp .mini .mt .mi{color:var(--accent-weak-ink);display:inline-flex;flex:none;margin-top:1px}.bp .mini .mt .mi svg{width:11px;height:11px}.bp .mini .mm{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--ink-3);flex-wrap:wrap}.bp .mini .mm .rdot{width:7px;height:7px;border-radius:2.5px;background:var(--rc);flex:none}.bp .mini .mm .ofrac{font-family:var(--font-mono);font-weight:700}.bp .mini .mm .ofrac.ok{color:#1f8f6b}.bp .mini .mm .ofrac.near{color:#b06a14}.bp .mini .mm .ofrac.over{color:#d2382a}.bp .mini .mm .wait{color:#b06a14;display:inline-flex;align-items:center;gap:3px;font-weight:700}.bp .mini .mm .wait svg{width:10px;height:10px}.bp .mini .mm .ub{color:var(--accent-weak-ink);font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:3px}.bp .mini .mm .ub svg{width:10px;height:10px}.bp .mini .mm .ub:hover{text-decoration:underline}.bp .lg-head.lg-spine{padding:9px 4px;justify-content:center}.bp .lane-width{flex:none;width:18px;height:18px;border-radius:5px;display:grid;place-items:center;border:1px solid var(--border-strong);background:var(--surface);color:var(--ink-3);font-size:11px;font-weight:800;line-height:1;padding:0;cursor:pointer}.bp .lg-proj .lane-width{margin-left:4px}.bp .lane-width:hover{border-color:var(--accent);color:var(--accent-weak-ink);background:var(--accent-weak)}.bp .spine{position:relative;border-bottom:1px solid var(--border-faint);border-right:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column;align-items:center;gap:5px;padding:8px 3px;min-width:0;overflow:hidden;min-height:190px}.bp .spine:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--pc)}.bp .spine .sp-name{writing-mode:vertical-rl;transform:rotate(180deg);font-size:12px;font-weight:750;color:var(--ink);line-height:1.15;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-height:0;text-align:center;margin:1px 0}.bp .spine .sp-name .cust{font-weight:600;color:var(--ink-3);font-size:10.5px}.bp .spine .sp-bl{flex:none;font-size:9px;font-weight:800;font-family:var(--font-mono);color:var(--ink-3);background:var(--surface-3);border:1px solid var(--border);border-radius:5px;padding:2px 4px;line-height:1;text-align:center;cursor:pointer}.bp .spine .sp-bl:hover{border-color:var(--ink-4);color:var(--ink)}.bp .spine .sp-bl.warn{color:#b06a14;background:#fcf4e7;border-color:#f2e3c4}.bp .spine .sp-bl.open{background:var(--accent-weak);border-color:var(--accent-line);color:var(--accent-weak-ink)}.bp .spine:hover .qa-btn{opacity:1}.bp .mini.full{padding:10px 11px 10px 14px;gap:7px;border-radius:var(--r-md)}.bp .mini.full:before{border-radius:var(--r-md) 0 0 var(--r-md);width:4px}.bp .mini.full .mt{font-size:12.5px}.bp .mini.full .mm{font-size:10.5px;gap:7px}.bp .mini.full .mf{display:flex;align-items:center;gap:8px;font-size:10.5px;color:var(--ink-3);padding-top:7px;border-top:1px solid var(--border-faint)}.bp .mini.full .mf .dur{margin-left:auto;font-weight:700;color:var(--ink-2)}.bp .mini.full .mf{position:relative}.bp .dbtn{font-family:var(--font-mono);font-feature-settings:"tnum" 1;letter-spacing:-.01em;font-size:10.5px;color:var(--ink-3);border:1px solid transparent;border-radius:6px;padding:2px 5px;margin:-2px -5px;cursor:pointer;transition:background .1s,border-color .1s,color .1s}.bp .mini:hover .dbtn{border-color:var(--border);background:var(--surface-2)}.bp .dbtn:hover{border-color:var(--accent-line);background:var(--accent-weak);color:var(--accent-weak-ink)}.bp .mini-pin{flex:none;display:inline-flex;align-items:center;justify-content:center;width:18px;height:16px;padding:0;border-radius:5px;cursor:pointer;border:1px solid color-mix(in oklab,var(--accent) 34%,transparent);color:var(--accent-weak-ink);background:var(--accent-weak)}.bp .mini-pin:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.bp .rt-pop{position:absolute;top:calc(100% + 6px);left:-6px;z-index:60;width:300px;background:var(--surface);border:1px solid var(--border-strong);border-radius:11px;box-shadow:var(--sh-lg);padding:11px 12px;display:grid;gap:9px;text-align:left;cursor:default}.bp .rt-head{font-size:10px;font-weight:750;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-4)}.bp .rt-head b{color:var(--ink-2);font-weight:750;text-transform:none;letter-spacing:0;font-size:11.5px}.bp .rt-row{display:flex;align-items:center;gap:9px}.bp .rt-lab{font-size:11px;font-weight:700;color:var(--ink-2);width:48px;flex:none}.bp .rt-in{height:30px;padding:0 8px;font-size:12.5px;font-weight:650;font-family:var(--font-mono);border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-2);color:var(--ink);flex:1;min-width:0}.bp .rt-in:focus{outline:none;border-color:var(--accent);background:var(--surface)}.bp .rt-in.num{flex:none;width:62px;text-align:center}.bp .rt-unit{font-size:10.5px;font-weight:650;color:var(--ink-3)}.bp .rt-pin{font-size:9.5px;font-weight:750;color:var(--accent-weak-ink);background:var(--accent-weak);border:1px solid var(--accent-line);border-radius:5px;padding:1px 6px;flex:none}.bp .rt-derived{font-size:11px;color:var(--ink-3);font-weight:600}.bp .rt-derived b{font-family:var(--font-mono);color:var(--ink-2);font-weight:700}.bp .rt-was{color:var(--ink-4);font-weight:600}.bp .rt-note{font-size:10.5px;color:var(--ink-4);font-weight:600;line-height:1.45}.bp .rt-foot{display:flex;align-items:center;gap:8px;border-top:1px solid var(--border-faint);padding-top:9px}.bp .rt-foot .btn{height:28px;font-size:12px;margin-left:auto}.bp .rt-foot .btn:disabled{opacity:.4;cursor:default}.bp .rt-rel{font-size:10.5px;font-weight:650;color:var(--ink-3)}.bp .rt-warn{background:#fdf8ec;border:1px solid #ecd9ab;border-radius:9px;padding:8px 9px;display:grid;gap:7px}.bp .rt-warn.armed{border-color:#d9a93f}.bp .rt-warn .wh{font-size:10.5px;font-weight:800;color:#8a5a10;line-height:1.3}.bp .rt-warn .wb{font-size:10.5px;color:#8a5a10;font-weight:600;line-height:1.45}.bp .rt-warn .wb code{font-family:var(--font-mono);font-size:10px;background:#fff;border:1px solid #f2e3c4;border-radius:4px;padding:0 4px}.bp .rt-why{width:100%;height:30px;padding:0 9px;font-size:12px;font-weight:600;border:1px solid #ecd9ab;border-radius:8px;background:#fff;color:var(--ink)}.bp .rt-why:focus{outline:none;border-color:#d9a93f}.bp .rt-keep{font-size:10px;font-weight:750;color:#8a5a10}.bp .rt-keep .lk{font-family:var(--font-mono);background:#fff;border:1px solid #f2e3c4;border-radius:4px;padding:0 4px}.bp .drawer-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:999px;font-size:10.5px;font-weight:700;color:var(--ink-2);background:var(--surface-3);border:1px solid var(--border);cursor:pointer;width:fit-content}.bp .drawer-pill:hover{border-color:var(--ink-4)}.bp .drawer-pill.open{background:var(--accent-weak);border-color:var(--accent-line);color:var(--accent-weak-ink)}.bp .lane-drawer{grid-column:1 / -1;background:var(--accent-weak);border-bottom:1px solid var(--border);padding:10px 13px;display:flex;gap:9px;align-items:stretch;flex-wrap:wrap}.bp .lane-drawer .dlab{font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-weak-ink);align-self:center;margin-right:2px}.bp .lane-drawer .mini{width:212px;cursor:grab}.bp .lane-drawer .pull{margin-top:2px;align-self:flex-start;font-size:10px;font-weight:750;color:var(--accent-weak-ink);background:var(--surface);border:1px solid var(--accent-line);border-radius:6px;padding:3px 7px;cursor:pointer}.bp .lane-drawer .pull:hover{background:var(--accent-weak)}.bp .lane-drawer .dempty{font-size:11.5px;color:var(--accent-weak-ink);font-weight:600;align-self:center}.bp .drawer-pill .dp-warn{color:#b06a14;font-weight:800;font-size:10px}.bp .drawer-pill.open .dp-warn{color:#8a5310}.bp .lane-drawer.bl-drawer{display:block;padding:9px 13px 11px}.bp .bl-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.bp .bl-head .mf-btn{height:24px;font-size:10.5px;padding:0 8px}.bp .bl-hidden{font-size:10.5px;font-weight:700;color:var(--accent-weak-ink);opacity:.8}.bp .bl-note{font-size:10.5px;font-weight:650;color:var(--accent-weak-ink);margin-left:auto}.bp .bl-sec{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--accent-weak-ink);margin:9px 0 4px;padding-top:7px;border-top:1px solid var(--accent-line)}.bp .bl-sec:first-of-type{margin-top:0;padding-top:0;border-top:0}.bp .bl-sec .n{font-family:var(--font-mono);font-size:10px;letter-spacing:0;font-weight:800;background:var(--surface);border:1px solid var(--accent-line);border-radius:999px;padding:0 7px}.bp .bl-sec .n.warn{background:#fdf3dd;border-color:#ecd9ab;color:#b06a14}.bp .bl-none{font-size:11px;font-weight:600;color:var(--accent-weak-ink);opacity:.75;padding:3px 2px 5px}.bp .bl-row{display:grid;align-items:center;gap:10px;min-height:30px;padding:4px 10px;margin-bottom:3px;grid-template-columns:8px minmax(110px,1.7fr) minmax(40px,.5fr) minmax(70px,.9fr) minmax(130px,1.7fr) auto;background:var(--surface);border:1px solid var(--border-faint);border-radius:7px;border-left:3px solid var(--border-strong)}.bp .bl-row:hover{border-color:var(--border-strong)}.bp .bl-row.dragging{opacity:.4}.bp .bl-row.waiting{border-left-color:#c3c8d0}.bp .bl-row.stalled{border-left-color:#e0a83c;background:#fffdf7}.bp .bl-row .rdot{width:8px;height:8px;border-radius:2.5px;background:var(--rc);flex:none}.bp .bl-name{font-size:12px;font-weight:650;color:var(--ink);cursor:pointer;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bp .bl-name:hover{color:var(--accent-weak-ink);text-decoration:underline}.bp .bl-role{font-size:9.5px;font-weight:800;color:var(--ink-3);letter-spacing:.03em;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}.bp .bl-owner{font-size:10.5px;font-weight:600;color:var(--ink-2);white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}.bp .bl-why{font-size:10.5px;font-weight:600;color:var(--ink-3);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bp .bl-why b{font-weight:800}.bp .bl-why.hard{color:#b06a14}.bp .bl-when{font-size:10.5px;font-weight:650;color:var(--ink-3);white-space:nowrap}.bp .bl-when.late{color:#d2382a;font-weight:800}.bp .bl-act{display:flex;align-items:center;gap:8px;justify-self:end;white-space:nowrap}.bp .lane-drawer .pull.sm{margin-top:0;align-self:center;font-size:10px;padding:3px 8px}.bp .bl-anyway{font-size:10px!important;text-transform:none!important;letter-spacing:0!important;color:var(--ink-4)}.bp .bl-anyway:hover{color:var(--accent-weak-ink)}.bp .bl-seg{height:24px}.bp .bl-seg button{font-size:10.5px;padding:0 9px}.bp .bl-matrix{display:grid;gap:10px;align-items:start;grid-auto-flow:column;grid-auto-columns:minmax(178px,1fr);overflow-x:auto;padding-bottom:4px}.bp .bl-col{min-width:0;display:flex;flex-direction:column;gap:4px}.bp .bl-colhead{display:flex;align-items:center;gap:6px;padding:0 2px 5px;border-bottom:2px solid var(--accent-line);margin-bottom:2px}.bp .bl-colname{font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--accent-weak-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.bp .bl-colhead .n{margin-left:auto;flex:none;font-family:var(--font-mono);font-size:10px;font-weight:800;background:var(--surface);border:1px solid var(--accent-line);border-radius:999px;padding:0 7px}.bp .bl-band{font-size:8.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--accent-weak-ink);opacity:.65;padding:3px 2px 1px}.bp .bl-band.blk{border-top:1px dashed var(--accent-line);margin-top:5px;padding-top:5px}.bp .bl-band .warn{color:#b06a14;opacity:1}.bp .bl-cell{background:var(--surface);border:1px solid var(--border-faint);border-radius:7px;border-left:3px solid var(--border-strong);padding:5px 8px;display:grid;gap:2px;min-width:0}.bp .bl-cell:hover{border-color:var(--border-strong)}.bp .bl-cell.dragging{opacity:.4}.bp .bl-cell.waiting{border-left-color:#c3c8d0;background:var(--surface-2)}.bp .bl-cell.stalled{border-left-color:#e0a83c;background:#fffdf7}.bp .bl-cname{font-size:11.5px;font-weight:650;color:var(--ink);cursor:pointer;min-width:0;display:flex;align-items:baseline;gap:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bp .bl-cname:hover{color:var(--accent-weak-ink);text-decoration:underline}.bp .bl-xr{flex:none;font-size:8.5px;font-weight:800;color:var(--ink-3);background:var(--surface-3);border-radius:3px;padding:0 3px;text-decoration:none}.bp .bl-cmeta{display:flex;align-items:baseline;gap:6px;min-width:0;font-size:10px}.bp .bl-cowner{font-weight:650;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:none;max-width:45%}.bp .bl-cmeta .bl-why,.bp .bl-cmeta .bl-when{font-size:10px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bp .bl-cact{display:flex;align-items:center;gap:7px;margin-top:2px}.bp .bl-col .bl-none{font-size:10px;padding:2px 2px 4px}.bp .det-rows{display:grid;gap:0}.bp .det-row{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:8px 0;border-bottom:1px solid var(--border-faint);font-size:12.5px;align-items:center}.bp .det-row .k{color:var(--ink-3);font-weight:600;font-size:11.5px}.bp .det-row .v{color:var(--ink);font-weight:550;min-width:0}.bp .det-sec{font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-4);font-weight:800;padding:14px 0 6px}.bp .det-dep{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:8px;background:var(--surface-2);border:1px solid var(--border-faint);font-size:12px;margin-bottom:5px}.bp .det-dep b{font-weight:600;color:var(--ink);flex:1;min-width:0}.bp .det-dep .where{font-size:10.5px;font-weight:700;color:var(--ink-3);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:1px 8px;flex:none}.bp .det-dep.w{background:#fdf8ec;border-color:#ecd9ab}.bp .det-dep.w .where{color:#b06a14}.bp .det-dep.c{background:#e9f7f0;border-color:#c4e8d6}.bp .det-dep.c .where{color:#1f8f6b}.bp .det-sop{background:var(--surface-2);border:1px solid var(--border-faint);border-radius:9px;padding:10px 12px;margin-bottom:12px;display:grid;gap:6px}.bp .det-sop .sop-p{font-size:12px;line-height:1.55;color:var(--ink-2);margin:0}.bp .det-sop .sop-p.dimmed{color:var(--ink-4)}.bp .sub-roll .sr-how{font-size:10.5px;color:var(--ink-3);line-height:1.4}.bp .qa-btn{width:18px;height:18px;padding:0;border-radius:6px;flex:none;border:1px solid var(--border);background:var(--surface);color:var(--ink-3);font-size:13px;font-weight:700;line-height:1;cursor:pointer;opacity:0;transition:opacity .12s}.bp .lane-head:hover .qa-btn,.bp .lane-bar:hover .qa-btn,.bp .qa-btn:focus-visible,.bp .qa-btn.on{opacity:1}.bp .qa-btn:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-weak)}.bp .qa-wrap{position:relative;display:inline-flex;flex:none;overflow:visible}.bp .qa-pop{position:absolute;top:calc(100% + 6px);left:0;z-index:60;width:290px;background:var(--surface);border:1px solid var(--border-strong);border-radius:11px;box-shadow:var(--sh-lg, 0 10px 30px rgba(0,0,0,.18));padding:11px 12px;display:grid;gap:9px;text-align:left;cursor:default}.bp .qa-head{font-size:10px;font-weight:750;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-4)}.bp .qa-head b{color:var(--ink-2);font-weight:750}.bp .qa-name{width:100%;height:30px;padding:0 9px;font-size:13px;font-weight:600;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-2);color:var(--ink)}.bp .qa-name:focus{outline:none;border-color:var(--accent);background:var(--surface)}.bp .qa-team{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.bp .qa-av{width:24px;height:24px;border-radius:999px;padding:0;flex:none;cursor:pointer;background:var(--av);color:#fff;font-size:9.5px;font-weight:800;letter-spacing:.02em;border:2px solid transparent;opacity:.5;transition:opacity .1s}.bp .qa-av:hover{opacity:.85}.bp .qa-av.on{opacity:1;border-color:var(--ink)}.bp .qa-owner{font-size:10.5px;font-weight:650;color:var(--ink-3);margin-left:3px}.bp .qa-foot{display:flex;align-items:center;gap:8px}.bp .qa-def{font-size:10px;color:var(--ink-4);font-weight:650}.bp .qa-go{height:26px;font-size:11.5px;margin-left:auto}.bp .qa-go:disabled{opacity:.4;cursor:default}.bp .qa-plan{font:inherit;font-size:11px;font-weight:750;color:var(--ink-2);text-transform:none;letter-spacing:0;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:1px 4px;max-width:190px}.bp .lg-proj{display:flex;align-items:center;gap:8px}.bp .count-chip{font:inherit;font-size:9.5px;font-weight:750;letter-spacing:.01em;text-transform:none;color:var(--ink-3);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:1px 7px;cursor:pointer;white-space:nowrap}.bp .count-chip:hover{color:var(--ink);border-color:var(--ink-4)}.bp .count-chip.on{color:var(--accent-weak-ink);background:var(--accent-weak);border-color:var(--accent)}.bp .count-chip .cc-note{color:var(--ink-4);font-weight:650}.bp .shell-main.has-snapbar{grid-template-rows:auto auto 1fr}.bp .snapbar{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:7px 18px;background:#2f3a4b;color:#eef2f8;font-size:11.5px;line-height:1.4;border-bottom:1px solid #1d2531}.bp .snapbar b{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#ffd479}.bp .snapbar .sb-at{font-weight:700;white-space:nowrap}.bp .snapbar .sb-msg{color:#b9c4d4}.bp .blk-tip{position:fixed;z-index:220;pointer-events:none;background:#1b1d22;color:#fff;border-radius:9px;padding:10px 12px;font-size:11.5px;line-height:1.5;box-shadow:var(--sh-pop)}.bp .blk-tip h5{margin:0 0 5px;font-size:9.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.bp .blk-tip h5.ext{color:#c9a7ff}.bp .blk-tip h5.int{color:#ffc48a}.bp .blk-tip .bt-by{font-weight:700;font-size:12.5px}.bp .blk-tip .bt-note{color:#e6e8ee;font-style:italic;margin:3px 0 4px}.bp .blk-tip .bt-note.none{color:#7d838f;font-style:normal}.bp .blk-tip .bt-since{color:#b9bcc4;font-size:11px}.bp .blk-tip .bt-sep{height:1px;background:#ffffff21;margin:8px 0 7px}.bp .blk-tip .bt-head{font-size:9.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#8b919d;margin-bottom:4px}.bp .blk-tip .bt-row{margin-bottom:5px}.bp .blk-tip .bt-when{display:flex;gap:8px;align-items:baseline;font-size:11px}.bp .blk-tip .bt-when .mono{font-family:ui-monospace,Consolas,monospace;color:#cfd3da}.bp .blk-tip .bt-who{color:#fff;font-weight:600}.bp .blk-tip .bt-days{margin-left:auto;color:#b9bcc4;font-family:ui-monospace,Consolas,monospace}.bp .blk-tip .bt-pnote{color:#8b919d;font-style:italic;font-size:10.5px;padding-left:1px}.bp.bp-band{height:auto;background:transparent;color:var(--fives-white)}.bp.bp-band .wb-toolbar{background:transparent;border:0;box-shadow:none;padding:0;margin:0;flex-wrap:wrap;row-gap:8px}.bp.bp-band .band-count{font-size:12px;color:#fffc;white-space:nowrap}.bp.bp-band .wb-toolbar>span[style*=uppercase]{display:none}.bp.bp-band{flex:1;min-width:0}.bp.bp-band .tb-sep{display:none}:root{--fives-purple:#AF007C;--fives-purple-ink:#8A0062;--fives-dark-purple:#340633;--fives-blue:#6DA5D3;--fives-salmon:#FAC39D;--fives-green:#6EB3A6;--fives-grey-1:#ECECEC;--fives-grey-2:#B2B2B1;--fives-grey-3:#878786;--fives-grey-4:#323335;--fives-white:#FFFFFF;--fives-black:#000000;--activity-high-precision-machines:#C49C4D;--activity-process-industries:#007479;--activity-smart-automation:#203669;--activity-transversal:#52356F;--brand:var(--fives-purple);--brand-contrast:var(--fives-white);--brand-deep:var(--fives-dark-purple);--text-heading:var(--fives-dark-purple);--text-body:var(--fives-grey-4);--text-muted:var(--fives-grey-3);--text-on-brand:var(--fives-white);--text-link:var(--fives-purple);--text-link-hover:var(--fives-purple-ink);--surface-page:var(--fives-white);--surface-subtle:var(--fives-grey-1);--surface-card:var(--fives-white);--surface-inverse:var(--fives-dark-purple);--surface-brand:var(--fives-purple);--border-subtle:var(--fives-grey-1);--border-default:var(--fives-grey-2);--border-strong:var(--fives-grey-3);--border-brand:var(--fives-purple);--focus-ring:var(--fives-purple);--status-info:var(--fives-blue);--status-success:var(--activity-process-industries);--status-warning:var(--activity-high-precision-machines);--status-critical:var(--fives-purple)}:root{--font-display:"Zilla Slab","Archer",Georgia,serif;--font-body:"Source Sans 3","Universalis ADF",Arial,sans-serif;--font-office:Arial,Helvetica,sans-serif;--fw-light:300;--fw-book:400;--fw-medium:500;--fw-bold:700;--fs-11:11px;--fs-12:12px;--fs-14:14px;--fs-16:16px;--fs-18:18px;--fs-22:22px;--fs-28:28px;--fs-34:34px;--fs-44:44px;--fs-56:56px;--fs-72:72px;--lh-tight:1.06;--lh-snug:1.2;--lh-normal:1.5;--lh-loose:1.65;--ls-tight:-.02em;--ls-normal:0;--ls-label:.08em;--ls-eyebrow:.14em;--type-hero-family:var(--font-display);--type-hero-size:var(--fs-72);--type-hero-weight:var(--fw-light);--type-hero-lh:var(--lh-tight);--type-title-family:var(--font-display);--type-title-size:var(--fs-44);--type-title-weight:var(--fw-book);--type-section-family:var(--font-display);--type-section-size:var(--fs-28);--type-section-weight:var(--fw-medium);--type-eyebrow-family:var(--font-body);--type-eyebrow-size:var(--fs-12);--type-eyebrow-weight:var(--fw-bold);--type-eyebrow-tracking:var(--ls-eyebrow);--type-body-family:var(--font-body);--type-body-size:var(--fs-16);--type-body-lh:var(--lh-loose);--type-lead-size:var(--fs-22);--type-caption-size:var(--fs-12)}:root{--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:40px;--space-8:56px;--space-9:72px;--space-10:96px;--space-11:128px;--layout-max:1280px;--layout-narrow:760px;--layout-gutter:24px;--layout-gutter-lg:48px;--section-pad-y:var(--space-10);--grid-gap:24px;--logo-min-width:60px;--logo-clearance:.22em}:root{--radius-none:0;--radius-xs:2px;--radius-sm:3px;--radius-md:4px;--radius-pill:999px;--radius-circle:50%;--border-width-hair:1px;--border-width-thick:2px;--border-rule:4px}:root{--shadow-none:none;--shadow-card:0 1px 2px rgba(50,51,53,.08),0 2px 8px rgba(50,51,53,.06);--shadow-raised:0 2px 4px rgba(50,51,53,.08),0 8px 24px rgba(50,51,53,.1);--shadow-overlay:0 12px 48px rgba(52,6,51,.28);--shadow-inset-hair:inset 0 -1px 0 var(--fives-grey-1);--scrim-image:linear-gradient(to top,rgba(52,6,51,.72) 0%,rgba(52,6,51,0) 62%);--scrim-overlay:rgba(52,6,51,.55)}:root{--gradient-main:linear-gradient(115deg,#340633 0%,#7A0058 42%,#AF007C 100%);--gradient-high-precision-machines:linear-gradient(115deg,#AF007C 0%,#AF007C 60%,#C49C4D 100%);--gradient-process-industries:linear-gradient(115deg,#AF007C 0%,#AF007C 60%,#007479 100%);--gradient-smart-automation:linear-gradient(115deg,#AF007C 0%,#AF007C 60%,#203669 100%);--gradient-transversal:linear-gradient(115deg,#AF007C 0%,#AF007C 60%,#52356F 100%)}:root{--ease-standard:cubic-bezier(.4,0,.2,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in:cubic-bezier(.4,0,1,1);--duration-fast:.12s;--duration-base:.2s;--duration-slow:.4s;--duration-reveal:.6s;--transition-colors:color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}body{margin:0;font-family:var(--font-body);font-size:var(--fs-16);line-height:var(--lh-loose);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased;text-wrap:pretty}h1,h2,h3,h4{font-family:var(--font-display);color:var(--text-heading);line-height:var(--lh-snug);margin:0;font-weight:var(--fw-book)}a{color:var(--text-link);text-decoration:none;transition:var(--transition-colors)}a:hover{color:var(--text-link-hover);text-decoration:underline}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}::selection{background:var(--fives-purple);color:#fff}html,body,#root{height:100%}button{font-family:inherit}.hover-row{cursor:pointer;transition:var(--transition-colors)}.hover-row:hover{background:var(--fives-grey-1)!important}.chip-button{transition:var(--transition-colors)}.tab-inverse:hover{color:var(--fives-white)!important}.tab:not(.tab-inverse):hover{color:var(--fives-purple)!important}@media print{html,body,#root{height:auto!important;overflow:visible!important}[data-shell],[data-scroll]{height:auto!important;overflow:visible!important;display:block!important}[data-print-hide]{display:none!important}[data-two-panel]{display:block!important}[data-scroll]{background:var(--fives-white)!important;padding:0!important}[data-page]{box-shadow:none!important;margin:0!important;padding:0!important;max-width:none!important}[data-block]{break-inside:avoid}}@page{size:letter;margin:.6in .7in}
