.v9{--sales:#4f46e5;--sales-soft:#eef2ff;--sales-border:#c7d2fe;--eng:#0d9488;--eng-soft:#f0fdfa;--eng-border:#99f6e4;--ball:#f59e0b;--ball-soft:#fffbeb;--ball-border:#fcd34d;--blocker:#dc2626;--blocker-soft:#fef2f2;--ink:#111827;--ink-2:#4b5563;--ink-3:#9ca3af;--line:#e5e7eb;--bg:#e8ebef;--card:#fff;background:var(--bg);color:var(--ink);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:13px;line-height:1.45}.v9 *,.v9 :before,.v9 :after{box-sizing:border-box}.v9 .topbar{border-bottom:1px solid var(--line);z-index:10;background:#fff;align-items:center;gap:16px;margin:0;padding:10px 20px;display:flex;position:sticky;top:0}.v9 .topbar h1{letter-spacing:.05em;align-items:center;gap:8px;margin:0;font-size:15px;font-weight:800;display:flex}.v9 .topbar .ver{color:var(--ink-3);letter-spacing:0;margin-left:4px;font-size:11px;font-weight:400}.v9 .kplogo{width:28px;height:28px;display:block}.v9 .tabs{gap:4px;margin-left:12px;display:flex}.v9 .tab{border:1px solid var(--line);color:var(--ink-2);cursor:pointer;background:#fff;border-radius:7px;padding:5px 14px;font-family:inherit;font-size:12px;font-weight:600;text-decoration:none}.v9 .tab.active{background:var(--ink);color:#fff;border-color:var(--ink)}.v9 .tab-dd{position:relative}.v9 .dd-menu{border:1px solid var(--line);z-index:30;background:#fff;border-radius:9px;min-width:140px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 6px 24px #0000001f}.v9 .dd-menu button{text-align:left;cursor:pointer;width:100%;font:inherit;color:var(--ink-2);background:0 0;border:none;border-radius:6px;padding:7px 12px;font-size:12px;font-weight:600;display:block}.v9 .dd-menu button:hover{color:var(--ink);background:#f3f4f6}.v9 .filterbar{flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;display:flex}.v9 .filterbar .f-search{border:1px solid var(--line);font:inherit;min-width:210px;color:var(--ink);background:#fff;border-radius:7px;padding:5px 10px;font-size:12px}.v9 .filterbar select{border:1px solid var(--line);font:inherit;color:var(--ink-2);cursor:pointer;background:#fff;border-radius:7px;padding:5px 8px;font-size:12px}.v9 .filterbar .f-clear{border:1px solid var(--line);font:inherit;color:var(--ink-2);cursor:pointer;background:#fff;border-radius:7px;padding:5px 10px;font-size:12px}.v9 .filterbar .f-clear:hover{border-color:var(--ink-3);color:var(--ink)}.v9 .layout{align-items:flex-start;max-width:2200px;margin:0 auto;display:flex}.v9 .devrail{flex-shrink:0;order:1;width:96px;max-height:calc(100vh - 54px);padding:16px 10px;position:sticky;top:54px;overflow-y:auto}.v9 .devrail .rail-h{letter-spacing:.08em;color:var(--ink-3);margin-bottom:7px;padding-left:2px;font-size:9.5px;font-weight:800}.v9 .devrail .rail-q{border:1px solid var(--line);width:100%;font:inherit;background:#fff;border-radius:7px;margin-bottom:6px;padding:4px 7px;font-size:10.5px}.v9 .dev-btn{border:1px solid var(--line);width:100%;color:var(--ink-2);cursor:pointer;background:#fff;border-radius:7px;align-items:center;gap:4px;margin-bottom:4px;padding:5px 7px;font-family:inherit;font-size:11px;font-weight:800;text-decoration:none;display:flex}.v9 .dev-btn:hover{border-color:var(--ink-3);color:var(--ink)}.v9 .dev-btn.active{background:var(--ink);color:#fff;border-color:var(--ink)}.v9 .dev-btn .riskdot{background:var(--blocker);border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-left:auto}.v9 .wrap{flex:1;order:2;min-width:0;padding:18px 20px 60px}.v9 .riterail{flex-shrink:0;order:3;width:252px;max-height:calc(100vh - 54px);padding:16px 14px;position:sticky;top:54px;overflow-y:auto}.v9 .riterail .legend{border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;align-items:flex-start;gap:9px;margin-bottom:12px;padding:12px 13px}.v9 .legend{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:14px;font-size:11px;display:flex}.v9 .dot{vertical-align:-1px;border-radius:50%;width:9px;height:9px;margin-right:4px;display:inline-block}.v9 .ball-chip{background:var(--ball-soft);border:1px solid var(--ball-border);color:#92400e;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 9px;font-size:11px;font-weight:700;display:inline-flex}.v9 .ball-chip .b{background:var(--ball);border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 3px #f59e0b38}.v9 .ball-chip.both{color:#7c2d12;background:#fef3c7;border-color:#f59e0b}.v9 .ball-chip.both .b{box-shadow:0 0 0 3px #f59e0b38, 6px 0 0 0 var(--ball);margin-right:5px}.v9 .board{grid-template-columns:1fr 1fr;gap:18px;display:grid}.v9 .board-col{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden}.v9 .board-col header{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:12px 16px;display:flex}.v9 .board-col.sales header{background:var(--sales-soft)}.v9 .board-col.eng header{background:var(--eng-soft)}.v9 .board-col header .side-name{letter-spacing:.04em;font-size:13px;font-weight:800}.v9 .board-col.sales .side-name{color:var(--sales)}.v9 .board-col.eng .side-name{color:var(--eng)}.v9 .board-col header .count{color:var(--ink-2);border:1px solid var(--line);background:#fff;border-radius:999px;margin-left:auto;padding:2px 10px;font-size:12px;font-weight:700}.v9 .bcard{border-bottom:1px solid var(--line);cursor:pointer;align-items:flex-start;gap:14px;padding:15px 18px;display:flex}.v9 .bcard:hover{background:#fafafa}.v9 .bcard:last-child{border-bottom:none}.v9 .bcard .idcol{min-width:72px}.v9 .bcard .pid{color:var(--ink);font-size:13.5px;font-weight:800}.v9 .bcard .cust{color:var(--ink-3);font-size:11.5px}.v9 .bcard .toks{gap:3px;margin-top:5px;display:flex}.v9 .bcard .mid{flex:1}.v9 .bcard .prod{font-size:13.5px;font-weight:700}.v9 .bcard .owe{color:var(--ink-2);margin-top:3px;font-size:12.5px}.v9 .bcard .owe b{color:#92400e}.v9 .bcard .meta{text-align:right;min-width:120px}.v9 .bcard.blocker{background:var(--blocker-soft)}.v9 .ball-token.sm{border-width:1px;width:20px;height:20px;font-size:10.5px}.v9 .riskbtn{border:1.5px solid var(--blocker);background:var(--blocker-soft);color:var(--blocker);cursor:pointer;white-space:nowrap;border-radius:999px;padding:4px 12px;font-family:inherit;font-size:11.5px;font-weight:800}.v9 .riskbtn:hover{background:var(--blocker);color:#fff}.v9 .cat-section.flash{transition:box-shadow .3s;box-shadow:0 0 0 4px #dc262673}.v9 .chip{border:1px solid var(--line);color:var(--ink-2);background:#fff;border-radius:999px;margin-left:4px;padding:1px 8px;font-size:10.5px;font-weight:700;display:inline-block}.v9 .chip.cat{background:#f3f4f6}.v9 .chip.stage{background:#fff}.v9 .chip.days{background:var(--ball-soft);border-color:var(--ball-border);color:#92400e}.v9 .chip.blk{background:var(--blocker);border-color:var(--blocker);color:#fff}.v9 .chip.nodue{border:1px dashed var(--ball-border);color:#92400e;background:#fff;font-style:italic}.v9 .proj-head{background:var(--card);border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:16px;padding:14px 18px;display:flex}.v9 .proj-head .title{font-size:15px;font-weight:800}.v9 .proj-head .sub{color:var(--ink-2);font-size:12px}.v9 .proj-head .tierbtn{border:1px solid var(--line);color:var(--ink-2);cursor:pointer;background:#fff;border-radius:6px;padding:1px 7px;font-size:11px;font-weight:700}.v9 .proj-head .tierbtn:hover{border-color:var(--ink-3);color:var(--ink)}.v9 .proj-head .tierpick{gap:3px;margin-left:4px;display:inline-flex}.v9 .proj-head .tieropt{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:6px;padding:1px 7px;font-size:11px;font-weight:700}.v9 .proj-head .tieropt.cur{background:var(--ink);color:#fff;border-color:var(--ink)}.v9 .proj-head .tieropt:hover:not(.cur){border-color:var(--ink-3)}.v9 .ball-jump{cursor:pointer;background:0 0;border:0;align-items:center;margin:0;padding:0;line-height:0;display:inline-flex}.v9 .ball-jump:hover{transform:translateY(-1px)}.v9 .pass-arc{width:92%;height:30px;margin:2px auto -3px;display:block;overflow:visible}.v9 .art-thumb{border:1px solid var(--line);border-radius:6px;line-height:0;display:inline-block;overflow:hidden}.v9 .art-thumb img{object-fit:cover;width:44px;height:44px;display:block}.v9 .art-thumb:hover{border-color:var(--ink-3)}.v9 .att-chip.linked{text-decoration:none}.v9 .att-chip.linked:hover{border-color:var(--ink-3);color:var(--ink)}.v9 .pair-grid.slide-eng{grid-template-columns:64px 1fr}.v9 .pair-grid.slide-sales{grid-template-columns:1fr 64px}.v9 .pair-grid.slide-eng .mid-cell,.v9 .pair-grid.slide-sales .mid-cell{display:none}.v9 .pcol{min-width:0}.v9 .pcol.collapsed{border-radius:12px;min-height:160px;position:relative;overflow:hidden}.v9 .pcol.collapsed .col-head,.v9 .pcol.collapsed .tile{filter:blur(1.8px);opacity:.5;pointer-events:none;-webkit-user-select:none;user-select:none}.v9 .pcol.collapsed .tile{width:340px;position:relative}.v9 .pair-grid.slide-eng .pcol.collapsed .tile{margin-left:-278px}.v9 .sliver-btn{z-index:2;cursor:pointer;color:var(--ink-2);background:linear-gradient(90deg,#fff0,#ffffff59);border:0;font-size:15px;position:absolute;inset:0}.v9 .sliver-btn:hover{color:var(--ink);background:linear-gradient(90deg,#ffffff1a,#ffffff8c)}.v9 .pcol.own{animation:.35s v9slidein}@keyframes v9slidein{0%{transform:translateX(var(--slide-from,0));opacity:.6}to{opacity:1;transform:none}}.v9 .pair-grid.slide-eng .pcol.own{--slide-from:56px}.v9 .pair-grid.slide-sales .pcol.own{--slide-from:-56px}.v9 .subpanel{background:var(--card);border:1.5px solid #cbd2da;border-radius:10px;margin-top:10px;padding:8px 12px;box-shadow:0 1px 3px #1118270f}.v9 .subpanel summary{cursor:pointer;letter-spacing:.03em;align-items:center;gap:8px;font-size:11.5px;font-weight:800;list-style:none;display:flex}.v9 .subpanel summary::-webkit-details-marker{display:none}.v9 .subpanel summary:after{content:"▾";color:var(--ink-3);margin-left:auto}.v9 .subpanel:not([open]) summary:after{content:"▸"}.v9 .subpanel.engc summary{color:var(--eng)}.v9 .subpanel.salesc summary{color:var(--sales)}.v9 .subpanel .fields{margin-top:6px}.v9 .recv-group{margin-top:12px;padding-left:10px;position:relative}.v9 .recv-group:before{content:"";border-radius:2px;width:3px;position:absolute;top:4px;bottom:4px;left:0}.v9 .recv-group.from-sales:before{background:var(--sales)}.v9 .recv-group.from-eng:before{background:var(--eng)}.v9 .recv-tag{letter-spacing:.08em;font-size:9.5px;font-weight:800}.v9 .recv-group.from-sales .recv-tag{color:var(--sales)}.v9 .recv-group.from-eng .recv-tag{color:var(--eng)}.v9 .recv-tile{background:#ffffff8c;border:1.5px dashed;border-radius:10px;margin-top:6px;padding:8px 12px}.v9 .recv-group.from-sales .recv-tile{border-color:var(--sales)}.v9 .recv-group.from-eng .recv-tile{border-color:var(--eng)}.v9 .recv-tile h4{color:var(--ink-2);margin:0 0 4px;font-size:11px;font-weight:800}.v9 .subpanel .f,.v9 .recv-tile .f{gap:8px;font-size:12px;display:flex}.v9 .subpanel .f .k,.v9 .recv-tile .f .k{color:var(--ink-3);flex-shrink:0;min-width:132px}.v9 .rail.flip .rcard.you-owe{order:2}.v9 .proj-head .desc{color:var(--ink-2);max-width:560px;margin-top:3px;font-size:12px}.v9 .proj-head .statusline{flex-wrap:wrap;align-items:center;gap:8px;max-width:640px;margin-top:6px;font-size:12px;display:flex}.v9 .proj-head .statusline .scan-text{color:var(--ink)}.v9 .proj-head .status-add{align-items:center;gap:6px;display:inline-flex}.v9 .proj-head .status-history{border-left:2px solid var(--line);max-width:640px;margin-top:4px;padding-left:8px}.v9 .proj-head .status-hist-row{color:var(--ink-2);align-items:baseline;gap:8px;padding:1px 0;font-size:11.5px;display:flex}.v9 .proj-head .status-hist-row .shist-text{color:var(--ink-2)}.v9 .proj-head .status-hist-row .shist-meta{white-space:nowrap;color:var(--ink-3,var(--ink-2));opacity:.8;margin-left:auto;font-size:10.5px}.v9 .proj-head .status-add input{border:1px solid var(--line);border-radius:6px;width:180px;padding:2px 8px;font-size:11.5px}.v9 .proj-head .leads{color:var(--ink-2);gap:14px;margin-left:auto;font-size:12px;display:flex}.v9 .plist-controls{gap:8px;margin-bottom:12px;display:flex}.v9 .plist-controls input[type=search]{border:1px solid var(--line);font:inherit;background:#fff;border-radius:8px;flex:1;padding:7px 12px;font-size:12.5px}.v9 .plist-controls select{border:1px solid var(--line);font:inherit;color:var(--ink-2);background:#fff;border-radius:8px;padding:6px 10px;font-size:12px}.v9 .plist{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.v9 .prow{border-bottom:1px solid var(--line);cursor:pointer;align-items:flex-start;gap:14px;padding:11px 16px;display:flex}.v9 .prow:hover{background:#fafafa}.v9 .prow:last-child{border-bottom:none}.v9 .prow .pid{color:#2563eb;min-width:66px;font-size:12.5px;font-weight:800}.v9 .prow .pmeta{text-align:right;min-width:200px}.v9 .side-balls{align-items:center;gap:5px;display:inline-flex}.v9 .side-balls .sb-l{letter-spacing:.04em;font-size:11px;font-weight:800}.v9 .ball-token{cursor:default;background:radial-gradient(circle at 35% 30%,#fde68a,#f59e0b);border:1.5px solid #d97706;border-radius:50%;justify-content:center;align-items:center;width:27px;height:27px;font-size:13px;display:inline-flex;position:relative;box-shadow:0 1px 3px #d9770666}.v9 .ball-token.blk{background:radial-gradient(circle at 35% 30%,#fca5a5,#dc2626);border-color:#b91c1c;box-shadow:0 1px 3px #b91c1c66}.v9 .noball{color:var(--ink-3);font-size:11px;font-style:italic}.v9 .tok-lock{font-size:10px;line-height:1;position:absolute;bottom:-5px;right:-6px}.v9 .board-toggle{gap:4px;margin-bottom:12px;display:flex}.v9 .board-toggle button{border:1px solid var(--line);color:var(--ink-2);cursor:pointer;background:#fff;border-radius:7px;padding:4px 12px;font-family:inherit;font-size:11.5px;font-weight:700}.v9 .board-toggle button.on{background:var(--ink);color:#fff;border-color:var(--ink)}.v9 .ledger-controls{align-items:center;gap:8px;margin-bottom:10px;display:flex}.v9 .ledger-controls input[type=search]{border:1px solid var(--line);font:inherit;background:#fff;border-radius:8px;flex:1;padding:7px 12px;font-size:12.5px}.v9 .ledger-controls select{border:1px solid var(--line);font:inherit;color:var(--ink-2);background:#fff;border-radius:8px;padding:6px 10px;font-size:12px}.v9 .ledger-controls .lc-check{color:var(--ink-2);white-space:nowrap;align-items:center;gap:4px;font-size:11.5px;display:flex}.v9 .ledger{border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px 16px}.v9 .ledger table{border-collapse:collapse;width:100%;font-size:12px}.v9 .ledger th{text-align:left;color:var(--ink-3);letter-spacing:.04em;border-bottom:1px solid var(--line);padding:4px 10px 6px 0;font-size:10.5px;font-weight:600}.v9 .ledger td{vertical-align:middle;border-bottom:1px solid #f3f4f6;padding:6px 10px 6px 0}.v9 .ledger .cap{color:var(--ink-3);margin-top:8px;font-size:10.5px}.v9 .stagebar{align-items:stretch;gap:4px;margin-bottom:8px;display:flex}.v9 .seg{text-align:center;border:1px solid var(--line);color:var(--ink-3);background:#fff;border-radius:8px;flex:1;padding:4px 2px 5px;font-size:9.5px}.v9 .seg b{color:var(--ink-2);font-size:10.5px;display:block}.v9 .seg.done{background:#eceef1}.v9 .seg.done b{color:var(--ink-3)}.v9 .seg.current{border-color:var(--ball-border);background:var(--ball-soft)}.v9 .seg.current b{color:#92400e}.v9 .gatechip{cursor:pointer;white-space:nowrap;background:#fff;border:1.5px solid;border-radius:999px;align-self:center;padding:4px 9px;font-family:inherit;font-size:10px;font-weight:800}.v9 .gatechip.closed{color:#065f46;background:#ecfdf5;border-color:#a7f3d0}.v9 .gatechip.open{border-color:var(--ball-border);color:#92400e;background:var(--ball-soft)}.v9 .cat-section{border:2px solid;border-radius:14px;margin-bottom:26px;padding:14px 16px 2px;box-shadow:0 1px 5px #1118270f}.v9 .cat-head{align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.v9 .cat-icon{background:#fff;border:1px solid;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:19px;display:flex}.v9 .cat-head h2{letter-spacing:.04em;margin:0;font-size:17px;font-weight:800}.v9 .cat-head h2 .vs{color:var(--ink-3);padding:0 2px;font-weight:500}.v9 .cat-head .def{color:var(--ink-2);max-width:780px;margin-top:3px;font-size:12px}.v9 .attn{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.v9 .attn-item{border:1.5px solid var(--line);cursor:pointer;color:var(--ink-2);background:#fff;border-radius:9px;align-items:center;gap:6px;padding:6px 12px;font-family:inherit;font-size:11.5px;font-weight:600;display:inline-flex;box-shadow:0 1px 3px #1118270f}.v9 .attn-item:hover{border-color:var(--ink-3);color:var(--ink)}.v9 .attn-item.k-ball{border-color:var(--ball-border);background:var(--ball-soft);color:#92400e}.v9 .attn-item.k-risk,.v9 .attn-item.k-blocker{background:var(--blocker-soft);color:var(--blocker);border-color:#fca5a5}.v9 .attn-item.k-review{color:#6d28d9;background:#f5f3ff;border-color:#ddd6fe}.v9 .defs{border:1px solid var(--line);background:#fff;border-radius:10px;margin-bottom:16px;padding:8px 14px}.v9 .defs summary{cursor:pointer;color:var(--ink-2);font-size:12px;font-weight:700}.v9 .defs-grid{grid-template-columns:1fr 1fr;gap:8px 20px;padding:10px 2px 8px;display:grid}.v9 .riterail .defs-grid{grid-template-columns:1fr}.v9 .defs .di{align-items:baseline;gap:9px;font-size:12px;display:flex}.v9 .defs .di b{white-space:nowrap}.v9 .defs .di .ic{flex-shrink:0}.v9 .defs-grid.ballside{border-top:1px dashed var(--line)}.v9 .pair-grid{grid-template-columns:1fr 210px 1fr;gap:0 14px;display:grid}.v9 .col-head{letter-spacing:.06em;padding:4px 4px 10px;font-size:12px;font-weight:800}.v9 .col-head.sales{color:var(--sales)}.v9 .col-head.eng{color:var(--eng);text-align:right}.v9 .col-head.mid{color:var(--ink-3);text-align:center;letter-spacing:0;font-weight:600}.v9 .tile{background:var(--card);border:1.5px solid #cbd2da;border-radius:12px;margin-bottom:14px;padding:12px 14px;position:relative;box-shadow:0 1px 4px #11182714}.v9 .tile.sales{border-left:4px solid var(--sales-border)}.v9 .tile.eng{border-right:4px solid var(--eng-border)}.v9 .tile.has-ball{border-color:var(--ball-border);background:#fffdf5;box-shadow:0 0 0 3px #f59e0b24}.v9 .tile.dim{opacity:.68}.v9 .tile h3{letter-spacing:.03em;align-items:center;gap:8px;margin:0;font-size:12px;font-weight:800;display:flex}.v9 .tile.sales h3{color:var(--sales)}.v9 .tile.eng h3{color:var(--eng)}.v9 .tile .fields{gap:3px;margin-top:8px;display:grid}.v9 .tile .f{gap:8px;font-size:12px;display:flex}.v9 .tile .f .k{color:var(--ink-3);flex-shrink:0;min-width:108px}.v9 .tile .f .v{color:var(--ink);font-weight:500}.v9 .seg.seg-click{cursor:pointer}.v9 .seg.seg-click:hover{border-color:var(--ink-3)}.v9 .imgstrip{gap:10px;margin-bottom:14px;padding-bottom:4px;display:flex;overflow-x:auto}.v9 .imgcard{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;flex:0 0 132px;text-decoration:none;position:relative;overflow:hidden}.v9 .imgcard .ith-img{object-fit:cover;background:#f3f4f6;width:100%;height:78px;display:block}.v9 .imgcard .ilbl{color:var(--ink-2);border-top:1px solid var(--line);white-space:nowrap;text-overflow:ellipsis;padding:4px 7px;font-size:10px;font-weight:600;overflow:hidden}.v9 .imgcard .pin{border:1px solid var(--line);color:var(--ink-2);z-index:1;background:#fff;border-radius:999px;padding:1px 6px;font-size:9px;font-weight:800;position:absolute;top:4px;left:4px}.v9 .pass-card{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;overflow:hidden;box-shadow:0 1px 2px #0000000a}.v9 .pass-card .thumb{text-align:center;justify-content:center;align-items:center;min-height:44px;padding:6px 8px;display:flex;position:relative}.v9 .pass-card .thumb.quote{color:#92400e;background:linear-gradient(135deg,#fffbeb,#fef3c7);font-size:10.5px;font-style:italic;line-height:1.3}.v9 .pass-card .thumb.quote.blk{color:var(--blocker);background:linear-gradient(135deg,#fef2f2,#fee2e2)}.v9 .pass-card .cap{border-top:1px solid var(--line);padding:4px 8px 5px}.v9 .pass-card .cap .t{color:var(--ink);font-size:10.5px;font-weight:700}.v9 .pass-card .cap .s{color:var(--ink-3);font-size:9.5px}.v9 .pass-card.empty{box-shadow:none;cursor:default;border-style:dashed}.v9 .pass-card.empty .thumb{color:var(--ink-3);background:0 0;font-size:11px}.v9 .mid-cell .when{color:var(--ink-3);text-align:center;font-size:10px}.v9 .mid-cell{flex-direction:column;justify-content:center;align-items:center;gap:5px;margin-bottom:14px;display:flex}.v9 .pass-dir{letter-spacing:.05em;align-items:center;gap:5px;font-size:10px;font-weight:800;display:flex}.v9 .pass-dir .a{font-size:13px;line-height:1}.v9 .pass-dir.toEng{color:var(--eng)}.v9 .pass-dir.toSales{color:var(--sales)}.v9 .pass-dir.none{color:var(--ink-3);font-weight:600}.v9 .pass-dir.both{color:var(--ball)}.v9 .commit{border-top:1px dashed #a7f3d0;margin-top:9px;padding-top:8px}.v9 .commit .u{color:var(--ink);font-size:12px}.v9 .commit .u b{color:#065f46;font-weight:800}.v9 .commit .meta{color:var(--ink-3);font-size:10.5px}.v9 .due-chip{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:999px;padding:1px 9px;font-size:10.5px;font-weight:700;display:inline-block}.v9 .due-chip.soon{background:var(--ball-soft);border-color:var(--ball-border);color:#92400e}.v9 .due-chip.overdue{background:var(--blocker-soft);color:var(--blocker);border-color:#fca5a5}.v9 .ask{border-top:1px dashed var(--ball-border);color:#92400e;margin-top:9px;padding-top:7px;font-size:12px}.v9 .ask b{font-weight:800}.v9 .draft{background:#f5f3ff;border:1.5px solid #ddd6fe;border-radius:9px;margin-top:9px;padding:9px 11px}.v9 .draft .d-line{color:#4c1d95;margin-bottom:7px;font-size:12px}.v9 .draft .d-line b{font-weight:800}.v9 .draft .d-sub{color:#7c3aed;font-size:11px}.v9 .commit .row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:5px;display:flex}.v9 .reply{border-top:1px dashed var(--ball-border);gap:6px;margin-top:9px;padding-top:8px;display:grid}.v9 .reply .hint{color:#92400e;font-size:10.5px;font-weight:700}.v9 .reply textarea{resize:none;border:1px solid var(--line);width:100%;font:inherit;background:#fff;border-radius:8px;height:44px;padding:6px 8px;font-size:12px}.v9 .reply .row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.v9 .reply input[type=date],.v9 .reply select{border:1px solid var(--line);font:inherit;color:var(--ink-2);background:#fff;border-radius:8px;padding:4px 8px;font-size:11.5px}.v9 .reply button.post{background:var(--ink);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:5px 12px;font-family:inherit;font-size:11.5px;font-weight:700}.v9 .reply button.post:hover:not(:disabled){background:#000}.v9 .reply button.pass{background:var(--ball)}.v9 .reply button.pass:hover:not(:disabled){background:#d97706}.v9 .reply button:disabled{opacity:.5;cursor:default}.v9 .reply button.resolve{background:#059669}.v9 .reply button.resolve:hover:not(:disabled){background:#047857}.v9 .thread{border:1px solid var(--line);background:#f8fafc;border-radius:8px;flex-direction:column;gap:3px;margin-bottom:8px;padding:7px 9px;display:flex}.v9 .thread .tr{color:var(--ink-2);flex-wrap:wrap;align-items:baseline;gap:5px;font-size:11px;display:flex}.v9 .thread .tr .tk{color:var(--ink-3);font-weight:800}.v9 .thread .tr.resolved .tk{color:#059669}.v9 .thread .tr.pass .tk{color:#92400e}.v9 .thread .tr .tt{color:var(--ink-1)}.v9 .thread .tr .ta{color:var(--ink-3);margin-left:auto;font-size:10px}.v9 .resolved-hint{color:#059669;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;margin-bottom:8px;padding:5px 9px;font-size:11px;font-weight:700}.v9 .await-other{color:var(--ink-3);padding:7px 6px;font-size:11px;font-style:italic}.v9 .await-other .ao-t{color:var(--ink-2);font-style:normal}.v9 .litem{border:1px solid var(--line);background:#fff;border-radius:9px;margin-bottom:8px;padding:8px 10px}.v9 .litem.resolved{opacity:.7;background:#f8fafc}.v9 .litem .lthread{flex-direction:column;gap:3px;margin-bottom:6px;display:flex}.v9 .litem .lthread .tr{color:var(--ink-2);flex-wrap:wrap;align-items:baseline;gap:5px;font-size:11px;display:flex}.v9 .litem .lthread .tr .tk{color:var(--ink-3);font-weight:800}.v9 .litem .lthread .tr.resolved .tk{color:#059669}.v9 .litem .lthread .tr.pass .tk{color:#92400e}.v9 .litem .lthread .tr .tt{color:var(--ink-1)}.v9 .litem .lthread .tr .ta{color:var(--ink-3);margin-left:auto;font-size:10px}.v9 .litem-resolved{color:#059669;margin-bottom:6px;font-size:10.5px}.v9 .litem .lrow{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.v9 .litem .lrow .ltext{border:1px solid var(--line);font:inherit;border-radius:7px;flex:150px;padding:4px 8px;font-size:12px}.v9 .litem .lrow .ldue{border:1px solid var(--line);font:inherit;border-radius:7px;padding:3px 6px;font-size:11px}.v9 .litem .lrow button.post{background:var(--ink);color:#fff;cursor:pointer;border:none;border-radius:7px;padding:5px 10px;font-family:inherit;font-size:11px;font-weight:700}.v9 .litem .lrow button.post:hover:not(:disabled){background:#000}.v9 .litem .lrow button.pass{background:var(--ball)}.v9 .litem .lrow button.resolve{background:#059669}.v9 .litem .lrow button:disabled{opacity:.5;cursor:default}.v9 .litem .lerr{color:var(--blocker);margin-top:3px;font-size:10.5px}.v9 .passmini{border:1px solid var(--ball-border);background:var(--ball-soft);color:#92400e;cursor:pointer;border-radius:8px;margin-left:auto;padding:3px 10px;font-family:inherit;font-size:11px;font-weight:700}.v9 .passmini:hover:not(:disabled){background:var(--ball);color:#fff}.v9 .passmini:disabled{opacity:.5;cursor:default}.v9 .draft .row{gap:6px;display:flex}.v9 .draft button.release{color:#fff;cursor:pointer;background:#6d28d9;border:none;border-radius:8px;padding:5px 12px;font-family:inherit;font-size:11.5px;font-weight:700}.v9 .draft button.release:hover:not(:disabled){background:#5b21b6}.v9 .draft button.adjust{color:#6d28d9;cursor:pointer;background:#fff;border:1px solid #ddd6fe;border-radius:8px;padding:4px 10px;font-family:inherit;font-size:11.5px;font-weight:600}.v9 .draft button:disabled{opacity:.5;cursor:default}.v9 .draft input[type=text]{font:inherit;border:1px solid #ddd6fe;border-radius:7px;padding:3px 7px;font-size:12px}.v9 .tile .notify{color:var(--ink-3);margin-top:6px;font-size:10.5px}.v9 .tile .notify b{color:var(--ink-2);font-weight:600}.v9 .proj-btn{border:1px solid var(--line);color:var(--ink-2);cursor:pointer;background:#fff;border-radius:7px;padding:5px 10px;font-family:inherit;font-size:12px;font-weight:600;text-decoration:none}.v9 .proj-btn.active{border-color:var(--ink);color:var(--ink);background:#f3f4f6}.v9 .rail{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;display:grid}.v9 .rcard{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px}.v9 .rcard.owe{border-color:var(--ball-border);background:#fffdf5}.v9 .rcard h3{letter-spacing:.05em;color:var(--ink-2);align-items:center;gap:8px;margin:0 0 7px;font-size:11px;font-weight:800;display:flex}.v9 .ritem{border-bottom:1px solid #f3f4f6;align-items:baseline;gap:10px;padding:4px 0;font-size:12px;display:flex}.v9 .ritem:last-of-type{border-bottom:none}.v9 .ritem .rc{min-width:92px;color:var(--ink-2);font-weight:800}.v9 .side-grid{grid-template-columns:1fr 1fr;align-items:start;gap:14px;margin-bottom:14px;display:grid}.v9 .panel{background:var(--card);border:1.5px solid #cbd2da;border-radius:12px;padding:12px 14px;box-shadow:0 1px 4px #11182714}.v9 .panel.full{grid-column:1/-1}.v9 .panel h3{letter-spacing:.03em;align-items:center;gap:8px;margin:0 0 8px;font-size:12px;font-weight:800;display:flex}.v9 .panel.engc h3{color:var(--eng)}.v9 .panel.salesc h3{color:var(--sales)}.v9 .panel .fields{gap:3px;display:grid}.v9 .panel .f{gap:8px;font-size:12px;display:flex}.v9 .panel .f .k{color:var(--ink-3);flex-shrink:0;min-width:132px}.v9 .panel .f .v{color:var(--ink);font-weight:500}.v9 .badge{border:1px solid;border-radius:999px;padding:1px 7px;font-size:9.5px;font-weight:700}.v9 .badge.internal{color:#6d28d9;background:#f5f3ff;border-color:#ddd6fe}.v9 .badge.recv{border-color:var(--line);color:var(--ink-3);background:#f3f4f6}.v9 .scan-text{font-size:12.5px}.v9 .scan-meta{color:var(--ink-3);align-items:center;gap:5px;margin-top:6px;font-size:10.5px;display:flex}.v9 .log{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-top:6px;padding:14px 18px}.v9 .log h2{letter-spacing:.05em;color:var(--ink-2);margin:0 0 10px;font-size:12px;font-weight:800}.v9 .log-row{border-bottom:1px solid #f3f4f6;align-items:baseline;gap:12px;padding:6px 0;font-size:12px;display:flex}.v9 .log-row:last-child{border-bottom:none}.v9 .log-row .d{color:var(--ink-3);font-variant-numeric:tabular-nums;min-width:78px}.v9 .log-row .from{min-width:130px;font-weight:700}.v9 .log-row .from.sales{color:var(--sales)}.v9 .log-row .from.eng{color:var(--eng)}.v9 .log-row .from.mgr{color:#7c3aed}.v9 .log-src{border:1px solid var(--line);background:#f9fafb;border-radius:9px;gap:3px;margin:4px 0 8px 90px;padding:9px 12px;font-size:11.5px;display:grid}.v9 .log-src .f{gap:8px;display:flex}.v9 .log-src .k{color:var(--ink-3);flex-shrink:0;min-width:88px}.v9 .log-src .v{color:var(--ink)}.v9 .log-src pre.v{white-space:pre-wrap;word-break:break-word;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.v9 .addendum{color:var(--ink-2);font-size:10.5px;font-style:italic;display:block}.v9 .status-add{align-items:center;gap:6px;margin-top:8px;display:flex}.v9 .status-add input{border:1px solid var(--line);font:inherit;background:#fff;border-radius:8px;flex:1;padding:5px 9px;font-size:12px}.v9 .loading{text-align:center;color:var(--ink-3);padding:40px;font-size:12.5px}.v9 .overlay{z-index:50;background:#11182773;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.v9 .modal{background:#fff;border-radius:14px;width:460px;max-width:92vw;padding:18px 20px;box-shadow:0 10px 40px #00000040}.v9 .modal h3{margin:0 0 10px;font-size:13px;font-weight:800}.v9 .modal textarea,.v9 .modal input[type=text]{border:1px solid var(--line);width:100%;font:inherit;border-radius:8px;margin-bottom:8px;padding:7px 9px;font-size:12.5px}.v9 .modal textarea{resize:none;height:64px}.v9 .modal select{border:1px solid var(--line);width:100%;font:inherit;background:#fff;border-radius:8px;margin-bottom:8px;padding:6px 9px;font-size:12.5px}.v9 .modal label{color:var(--ink-2);padding:3px 0;font-size:12px;font-weight:600;display:block}.v9 .modal .lane-tag{border:1px solid var(--line);border-radius:999px;align-items:center;gap:5px;margin-bottom:8px;padding:3px 11px;font-size:11.5px;font-weight:800;display:inline-flex}.v9 .modal .lane-tag.gate{color:#92400e;border-color:var(--ball-border);background:var(--ball-soft)}.v9 .modal .who{color:var(--ink-2);margin:4px 0 8px;font-size:11.5px}.v9 .modal .m-row{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.v9 .modal .m-row button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;padding:6px 14px;font-size:12px;font-weight:700}.v9 .modal .m-row button:disabled{opacity:.5;cursor:default}.v9 .modal .m-row button.go{background:var(--ink);color:#fff;border-color:var(--ink)}.v9 .modal .warn{color:var(--blocker);background:var(--blocker-soft);border:1px solid #fecaca;border-radius:8px;margin-bottom:8px;padding:7px 10px;font-size:11.5px}.v9 .modal .toast{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;margin-bottom:8px;padding:7px 10px;font-size:11.5px}.v9 .pencil,.v9 .lockbtn{border:1px solid var(--line);cursor:pointer;color:var(--ink-2);white-space:nowrap;background:#fff;border-radius:7px;padding:1px 7px;font-size:10.5px;font-weight:700}.v9 .pencil:hover{border-color:var(--ink-3);color:var(--ink)}.v9 .lockbtn{color:#92400e;border-color:var(--ball-border);background:var(--ball-soft)}.v9 .lockbtn:hover{background:#fef3c7}.v9 .f-edit{flex:1;align-items:center;gap:5px;display:flex}.v9 .f-edit input{border:1px solid var(--line);font:inherit;border-radius:6px;flex:1;padding:2px 6px;font-size:11.5px}.v9 .f-edit button{border:1px solid var(--line);cursor:pointer;color:var(--ink-2);background:#fff;border-radius:6px;padding:2px 7px;font-size:10.5px;font-weight:700}.v9 .f-edit button.save{background:var(--ink);color:#fff;border-color:var(--ink)}.v9 .f .edited,.v9 .dp-field .edited{color:var(--ink-3);margin-left:4px;font-size:9.5px}.v9 .att-row{flex-wrap:wrap;align-items:center;gap:6px;margin:5px 0;display:flex}.v9 button.attach{border:1px solid var(--line);color:var(--ink-2);cursor:pointer;background:#fff;border-radius:8px;padding:4px 10px;font-size:11.5px;font-weight:600}.v9 button.attach:hover{border-color:var(--ink-3)}.v9 button.attach:disabled{opacity:.5;cursor:default}.v9 .att-folder{border:1px solid var(--line);font:inherit;color:var(--ink-2);background:#fff;border-radius:8px;padding:4px 8px;font-size:11px}.v9 .att-chips{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.v9 .att-chip{border:1px solid var(--line);color:var(--ink-2);background:#f3f4f6;border-radius:6px;align-items:center;gap:4px;padding:2px 8px;font-size:10.5px;font-weight:600;display:inline-flex}.v9 .att-chip.on-commit{color:#065f46;background:#ecfdf5;border-color:#a7f3d0}.v9 .att-chip .x{cursor:pointer;color:var(--ink-3);font-weight:700}.v9 .att-chip .x:hover{color:var(--blocker)}.v9 .att-note{color:var(--ink-3);font-size:10px}@media (width<=820px){.v9 .topbar{flex-wrap:wrap;gap:8px 10px;padding:8px 12px}.v9 .topbar h1{font-size:14px}.v9 .tabs{flex-wrap:wrap;gap:4px;margin-left:0}.v9 .tab{padding:5px 11px}.v9 .filterbar{gap:6px;width:100%;margin-left:0}.v9 .filterbar .f-search{flex:140px;min-width:0}.v9 .filterbar select{flex:auto;min-width:0}.v9 .layout{flex-direction:column;max-width:100%}.v9 .devrail{-webkit-overflow-scrolling:touch;border-bottom:1px solid var(--line);flex-direction:row;order:1;align-items:center;gap:6px;width:100%;max-height:none;padding:8px 12px;display:flex;position:static;overflow:auto visible}.v9 .devrail .rail-h{display:none}.v9 .devrail .rail-q{flex:none;width:130px;margin-bottom:0}.v9 .dev-btn{white-space:nowrap;flex:none;width:auto;margin-bottom:0}.v9 .dev-btn .riskdot{margin-left:3px}.v9 .wrap{order:2;padding:12px 12px 44px}.v9 .riterail{display:none}.v9 .board,.v9 .pair-grid,.v9 .pair-grid.slide-eng,.v9 .pair-grid.slide-sales{grid-template-columns:1fr;gap:12px}.v9 .pcol.collapsed .tile{width:100%}.v9 .subpanel .f,.v9 .recv-tile .f{flex-wrap:wrap}.v9 .subpanel .f .k,.v9 .recv-tile .f .k{min-width:96px}.v9 .prow .pmeta,.v9 .bcard .meta{text-align:left;min-width:0}.v9 .proj-head .title{font-size:14px}.v9 .proj-head .desc{max-width:100%}.v9 .wrap{overflow-x:hidden}.v9 .stagebar{-webkit-overflow-scrolling:touch;padding-bottom:4px;overflow-x:auto}.v9 .seg{flex:none;min-width:48px;font-size:10px}.v9 .seg b{font-size:11px}.v9 .gatechip{flex:none;padding:5px 11px;font-size:11px}.v9 .f{flex-wrap:wrap}.v9 .subpanel .f .k,.v9 .recv-tile .f .k,.v9 .fields .f .k,.v9 .f .k{flex-basis:100%;min-width:0}.v9 .f .v,.v9 .fields .f .v{word-break:break-word;overflow-wrap:anywhere}.v9 .prow{flex-wrap:wrap;gap:6px 10px}.v9 .prow .pid{min-width:0}.v9 .prow .pmeta{text-align:left;width:100%;min-width:0}.v9 .side-balls,.v9 .log-row{flex-wrap:wrap}.v9 .log-row>span{overflow-wrap:anywhere}.v9 pre{white-space:pre-wrap;word-break:break-word}.v9 .gi{flex-wrap:wrap}.v9 .gi .st{min-width:0}.v9 .cat-head{flex-wrap:wrap}.v9 .cat-head h2{font-size:15px}}.v9 .datesbtn{cursor:pointer;background:#fff;border:1.5px solid #cbd5e1;border-radius:8px;margin:6px 0 0;padding:4px 12px;font-size:13px;font-weight:600}.v9 .datesbtn:hover{border-color:#94a3b8}.v9 .datespanel{background:#fff;border:1.5px solid #cbd5e1;border-radius:10px;flex-wrap:wrap;gap:14px;margin-top:8px;padding:12px 14px;display:flex}.v9 .dp-col{flex:1;min-width:200px}.v9 .dp-h{text-transform:uppercase;color:#475569;margin-bottom:6px;font-size:11px;font-weight:700}.v9 .dp-row{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;gap:8px;padding:3px 0;font-size:13px;display:flex}.v9 .dp-lane{text-transform:capitalize;font-weight:600}.v9 .dp-holder{color:#64748b;font-size:12px}.v9 .dp-nodue{color:#b45309;font-size:12px;font-weight:600}.v9 .dp-empty{color:#94a3b8}.v9 .dp-jump{cursor:pointer}.v9 .dp-jump:hover{background:#f8fafc}.v9 .dp-feas{border-radius:8px;flex-basis:100%;padding:8px 12px;font-size:13.5px;font-weight:600}.v9 .dp-feas.green{color:#166534;background:#f0fdf4;border:1.5px solid #bbf7d0}.v9 .dp-feas.amber{color:#92400e;background:#fffbeb;border:1.5px solid #fde68a}.v9 .dp-feas.red{color:#991b1b;background:#fef2f2;border:1.5px solid #fecaca}.v9 .gatepills{gap:6px;margin:8px 0 4px;display:flex}.v9 .gatepill{border:1.5px solid var(--line);cursor:pointer;background:#fff;border-radius:20px;padding:3px 13px;font-size:12.5px;font-weight:700}.v9 .gatepill.g1{color:#2563eb}.v9 .gatepill.g2{color:#b45309}.v9 .gatepill.g3{color:#7c3aed}.v9 .gatepill.all{color:var(--ink-2)}.v9 .gatepill.g1.active{background:#eff6ff;border-color:#bfdbfe}.v9 .gatepill.g2.active{background:#fffbeb;border-color:#fde68a}.v9 .gatepill.g3.active{background:#f5f3ff;border-color:#ddd6fe}.v9 .gatepill.all.active{color:var(--ink);background:#f1f5f9;border-color:#cbd5e1}.v9 .gatecard{background:#fff;border:1.5px solid #d7dbe2;border-radius:10px;margin:10px 0;padding:14px 16px}.v9 .gatecard.at{border-color:#b45309;box-shadow:0 1px 6px #b453092e}.v9 .gatecard.focus{outline:2px solid #6d28d9}.v9 .gatehead{align-items:baseline;gap:10px;display:flex}.v9 .gstate.at{color:#b45309;font-weight:700}.v9 .gstate.closed{color:#15803d}.v9 .gdwell{color:#6b7280;font-size:.85em}.v9 .gopen{color:#6b7280;margin-left:auto}.v9 .gblocked{color:#991b1b;background:#fef2f2;border:1.5px solid #fecaca;border-radius:8px;margin:8px 0;padding:8px 10px}.v9 .gwaivers{color:#6d28d9;margin:6px 0;font-size:.9em}.v9 .gside{letter-spacing:.06em;color:#6b7280;margin-top:10px;font-size:.78em}.v9 .goalrow{border-bottom:1px solid #eef1f5;padding:6px 0}.v9 .goalrow.closed .gtitle{color:#15803d}.v9 .goalrow.waived .gtitle{color:#6d28d9}.v9 .gtitle{font:inherit;cursor:pointer;background:0 0;border:0}.v9 .goalfill{margin:6px 0 4px 22px}.v9 .ghelp{color:#6b7280;font-size:.9em}.v9 .goalfill textarea,.v9 .goalfill input,.v9 .gwaiveform input{border:1.5px solid #d7dbe2;border-radius:6px;width:100%;padding:6px}.v9 .gerr{color:#b91c1c}.v9 .pricing-actions{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 2px;display:flex}.v9 .pricing-actions .pricing-open{color:var(--accent,#4a2d8e);border:1px solid var(--line,#ccc);border-radius:6px;padding:3px 8px;font-size:12px;text-decoration:none}.v9 .pricing-actions .pricing-input{cursor:pointer;background:var(--accent,#4a2d8e);color:#fff;border:none;border-radius:6px;padding:4px 10px;font-size:12px}
