body.lead{background:#e9edf3}.ld{max-width:480px;min-height:100vh;margin:0 auto;background:var(--bg);display:flex;flex-direction:column;color:var(--ink);font-size:14px}.ld-head{background:#183b6b;color:#fff;padding:12px 16px 16px;display:grid;gap:4px;position:sticky;top:0;z-index:2}.ld-bar{display:flex;justify-content:space-between;align-items:center;min-height:30px;margin-bottom:4px}.ld-team{font-size:12.5px;opacity:.9}.ld-ic,.ld-link{color:#fff;border:1px solid #ffffff66;border-radius:8px;background:none;font:inherit;cursor:pointer}.ld-ic{width:34px;height:32px;display:grid;place-items:center;font-size:18px}.ld-link{font-size:13px;padding:4px 10px}.ld-date{font-size:13px;opacity:.85;font-variant-numeric:tabular-nums}.ld-head h1{margin:0;font-size:32px;line-height:1.15;font-weight:800;letter-spacing:1px}.ld-head p{margin:0 0 6px;font-size:14px;opacity:.92}.ld-days{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:4px}.ld-days button{display:grid;justify-items:center;padding:8px 0 7px;border-radius:8px;background:#ffffff1f;color:#fff;border:0;font:inherit;cursor:pointer}.ld-days b{font-size:20px;font-variant-numeric:tabular-nums}.ld-days small{font-size:11px;opacity:.85}.ld-days button.on{background:#fff;color:#183b6b}.ld-days button.on small{opacity:1;font-weight:600}.ld-prog{margin-top:10px;display:grid;gap:6px}.ld-prog-l{display:flex;justify-content:space-between;font-size:12.5px}.ld-track{height:8px;border-radius:3px;background:#fff3;overflow:hidden}.ld-track span{display:block;height:100%;background:#46d17a;border-radius:3px}.ld-body{flex:1;padding:12px;display:grid;gap:8px;align-content:start}.ld-card{position:relative;background:#fff;border-radius:8px;padding:10px 12px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 8px;box-shadow:0 1px 2px #0f1b2c14}.ld-card.done{opacity:.6}.ld-card small{display:block;font-size:12px;color:var(--muted)}.ld-card b{font-size:15px;margin-right:6px;word-break:break-all}.ld-st{font-size:12.5px;color:var(--muted);white-space:nowrap}.ld-card.doing .ld-st{color:var(--blue)}.ld-card.done .ld-st{color:#1f6b3a}.ld-tag{font-size:11.5px;border-radius:4px;padding:1px 6px;background:var(--warn-bg);color:var(--warn);white-space:nowrap}.ld-panel{background:#fff;border-radius:8px;padding:12px;display:grid;gap:10px;box-shadow:0 1px 2px #0f1b2c14}.ld-panel b{font-size:15px}.ld-panel small{color:var(--muted);font-size:12.5px}.ld-hint{font-size:13px;color:var(--ink-2);background:var(--blue-bg);border-radius:8px;padding:9px 11px}.ld-warn{font-size:13px;color:var(--warn);background:var(--warn-bg);border-radius:8px;padding:9px 11px}.ld-btn{display:block;width:100%;text-align:center;border-radius:8px;padding:14px 0;font-size:17px;font-weight:700;background:var(--blue);color:#fff;border:0;font-family:inherit;cursor:pointer}.ld-btn.done{background:#1f8a4c}.ld-btn.ghost{background:#fff;color:var(--blue);border:1.5px solid #9dbbe9}.ld-btn:disabled{background:#b4c1d4;cursor:default}.ld-foot{padding:8px 12px 10px;background:var(--bg);position:sticky;bottom:58px}.ld-reason{display:flex;flex-wrap:wrap;gap:6px;grid-column:1 / -1}.ld-reason button{border:1px solid #d5dbe5;border-radius:4px;padding:5px 10px;font:inherit;font-size:13px;color:var(--ink-2);background:#fff;cursor:pointer}.ld-reason button.on{border-color:#e3b45f;background:#fffaf0;color:#8a4b00}.ld input.ld-in{border:1px solid #d5dbe5;border-radius:6px;padding:10px 12px;font:inherit;font-size:16px;width:100%;box-sizing:border-box}.ld-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.ld-nav{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border-top:1px solid var(--line);position:sticky;bottom:0}.ld-nav button{display:grid;justify-items:center;gap:2px;padding:8px 0 10px;font:inherit;font-size:12px;color:var(--muted);background:none;border:0;cursor:pointer;position:relative}.ld-nav button svg{font-size:20px}.ld-nav button.on{color:var(--blue)}.ld-nav em{position:absolute;top:4px;left:58%;background:var(--bad);color:#fff;font-style:normal;font-size:10px;border-radius:8px;padding:0 5px}.ld-route{background:#fff;border-radius:8px;padding:6px 14px;box-shadow:0 1px 2px #0f1b2c14;position:relative}.ld-route:before{content:"";position:absolute;left:20px;top:22px;bottom:22px;width:2px;background:#d5dbe5}.ld-end,.ld-node{position:relative;padding:9px 0 9px 22px;font-size:14px}.ld-end{color:var(--muted);font-size:13px}.ld-end:before,.ld-node:before{content:"";position:absolute;left:3px;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:#b4c1d4}.ld-node{display:flex;justify-content:space-between;align-items:center}.ld-node.mct span{font-weight:700}.ld-node.ok{color:var(--muted)}.ld-node.ok:before{background:#1f8a4c}.ld-node.ok small{color:#1f8a4c}.ld-node.next{background:var(--blue-bg);margin:2px -8px;padding-left:30px;padding-right:8px;border-radius:6px;color:#1f3f73}.ld-node.next:before{left:11px;background:var(--blue);box-shadow:0 0 0 3px #c9dbf6}.ld-node.next small{color:var(--blue);font-weight:600}.ld-msg{font-size:13.5px}.ld-msg.unread b:after{content:" ●";color:var(--bad);font-size:10px}.ld-toast{position:fixed;left:50%;transform:translate(-50%);bottom:130px;background:#19283d;color:#fff;padding:10px 14px;border-radius:8px;font-size:14px;z-index:9;max-width:420px}.ld-toast.bad{background:var(--bad)}.ld-toast.good{background:#1f8a4c}:root{--side: #15243c;--side-ink: #c5cede;--blue: #2867d2;--blue-dark: #2058b6;--blue-bg: #ecf2fc;--ink: #19283d;--ink-2: #33465f;--muted: #5f6d82;--faint: #647186;--bg: #f3f5f8;--card: #fff;--soft: #f7f9fc;--line: #e3e8f0;--line-2: #d5deeb;--good: #2c6e4c;--good-bg: #e9f5ef;--warn: #875c10;--warn-bg: #fff3df;--bad: #a93a48;--bad-bg: #fceced;--owner: #7a5300;--owner-bg: #ffe9a8;--demo: #586c88;--side-w: 220px;--bar-h: 0px;font-family:Inter,PingFang SC,Hiragino Sans GB,Microsoft YaHei,system-ui,sans-serif;color:var(--ink);font-size:14px;line-height:1.55}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #91b6f5;outline-offset:2px}h1,h2,h3,h4,p{margin:0}.num{font-variant-numeric:tabular-nums}.pt-muted{color:var(--muted);font-size:13px;margin-top:10px}.center{text-align:center}.pt-field{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.pt-field select{font-size:13px;padding:5px 8px;border:1px solid var(--line-2);border-radius:5px;background:#fff;color:var(--ink);max-width:230px}.pt-seg{display:inline-flex;border:1px solid var(--line-2);border-radius:6px;overflow:hidden;background:#fff}.pt-seg button{padding:5px 12px;font-size:13px;color:var(--muted)}.pt-seg button+button{border-left:1px solid var(--line-2)}.pt-seg button.on{background:var(--blue);color:#fff}.pt-seg button:disabled{color:#a3adbb;cursor:not-allowed}.pt-seg.small button{padding:4px 10px;font-size:12px}.pt-seg button.on.good{background:var(--good)}.pt-seg button.on.bad{background:var(--bad)}.pt-sep{width:1px;height:22px;background:var(--line-2)}.pt-chip{display:inline-flex;align-items:center;gap:6px;font-size:13px;padding:5px 10px;border:1px dashed #9aa9be;border-radius:6px;color:var(--demo);background:#fff}.pt-chip.on{border-style:solid;border-color:var(--blue);color:var(--blue);background:var(--blue-bg)}.pt-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:13px;padding:8px 14px;border-radius:6px;border:1px solid var(--line-2);background:#fff;color:var(--ink-2);white-space:nowrap}.pt-btn:hover{border-color:#a9c0e4;color:var(--blue)}.pt-btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.pt-btn.primary:hover{background:var(--blue-dark);color:#fff}.pt-btn.ghost{background:transparent}.pt-btn.small{font-size:12px;padding:5px 10px}.pt-btn.blocked,.pt-btn[aria-disabled=true]{background:#eef1f5;border-color:#dbe1ea;color:#6b7686;cursor:not-allowed}.pt-btn:disabled{opacity:.55;cursor:not-allowed}.pt-btn.demo{border:1.5px dashed #9aa9be;color:var(--demo);background:#fbfcfe}.pt-guard{display:inline-flex;flex-direction:column;align-items:flex-end;gap:4px;max-width:360px}.pt-guard.block{display:flex;align-items:stretch;max-width:none}.pt-guard.block .pt-btn{width:100%;padding:11px;font-size:14px}.pt-reason{font-size:12px;color:var(--bad);line-height:1.5;text-align:right}.pt-guard.block .pt-reason{text-align:left}.pt-link{display:inline-flex;align-items:center;gap:2px;white-space:nowrap;color:var(--blue);font-size:13px;font-weight:600}.pt-link:hover{text-decoration:underline}.pt-link.center{align-self:center;margin:4px auto}.pt-icon{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:6px;color:var(--muted)}.pt-icon:hover{background:var(--soft)}.pt-pill{display:inline-flex;align-items:center;font-size:12px;line-height:1.45;padding:3px 8px;border-radius:4px;background:#eef1f5;color:#4f5d71;white-space:nowrap}.pt-pill.good{background:var(--good-bg);color:var(--good)}.pt-pill.warn{background:var(--warn-bg);color:var(--warn)}.pt-pill.bad{background:var(--bad-bg);color:var(--bad)}.pt-pill.blue{background:var(--blue-bg);color:#1f57b8}.pt-owner{display:inline-flex;align-items:center;font-size:12px;line-height:1.4;padding:2px 7px;border-radius:4px;background:var(--owner-bg);color:var(--owner);font-weight:600;white-space:nowrap}.pt-owner.mini{font-size:12px;padding:1px 5px;font-weight:500;white-space:normal;line-height:1.35}.pt-panel{background:#fff;border:1px solid var(--line);border-radius:8px;min-width:0;margin-bottom:16px;overflow:hidden}.pt-panel>header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px 12px;border-bottom:1px solid var(--line)}.pt-panel h2{font-size:15px;font-weight:650}.pt-panel header p{font-size:12px;color:var(--muted);margin-top:3px}.pt-pad{padding:16px 18px}.pt-actions{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap;justify-content:flex-end}.pt-empty{padding:26px 18px;color:var(--muted);font-size:13px;text-align:center}.pt-kv{margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px 20px}.pt-kv div{min-width:0}.pt-kv dt{font-size:12px;color:var(--muted);margin-bottom:3px}.pt-kv dd{margin:0;font-size:13px;font-weight:500;overflow-wrap:anywhere}.pt-kv dd.good{color:var(--good)}.pt-web{display:grid;grid-template-columns:var(--side-w) minmax(0,1fr);min-height:calc(100vh - var(--bar-h))}.pt-side{position:sticky;top:var(--bar-h);height:calc(100vh - var(--bar-h));background:var(--side);color:var(--side-ink);display:flex;flex-direction:column;overflow-y:auto}.pt-brand{color:#fff;font-size:22px;font-weight:700;letter-spacing:-.5px;padding:18px 20px 14px;border-bottom:1px solid #ffffff15}.pt-brand span{display:block;font-size:12px;font-weight:400;letter-spacing:1px;color:#9fb0c9;margin-top:4px}.pt-project{display:flex;gap:10px;align-items:center;margin:14px 14px 16px;padding:10px;border:1px solid #ffffff14;border-radius:6px;background:#ffffff08;font-size:13px;color:#e2e9f4}.pt-project svg{font-size:20px;color:#8caae1;flex:none}.pt-project small{display:block;font-size:12px;color:#9fb0c9}.pt-nav-cap{font-size:12px;color:#8ea2c0;padding:0 20px 8px;letter-spacing:.5px}.pt-side nav{display:grid;gap:3px;padding:0 10px}.pt-side nav button{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:5px;color:#c5d1e2;font-size:14px;text-align:left}.pt-side nav button svg{font-size:17px;flex:none}.pt-side nav button span{flex:1;min-width:0}.pt-side nav button:hover{background:#ffffff0d;color:#fff}.pt-side nav button.on{background:var(--blue);color:#fff}.pt-side nav b{font-size:12px;background:#c2410c;color:#fff;padding:0 7px;border-radius:9px}.pt-static-dot{font-size:12px;color:#9fb0c9;border:1px solid #ffffff26;border-radius:3px;padding:0 4px}.pt-side nav button.on .pt-static-dot{color:#dfe8f7}.pt-side-note{margin:auto 14px 16px;font-size:12px;color:#b9c6da;line-height:1.6;padding:10px;border:1px dashed #ffffff30;border-radius:6px}.pt-webmain{min-width:0;display:flex;flex-direction:column}.pt-top{position:sticky;top:var(--bar-h);z-index:30;height:56px;display:flex;align-items:center;gap:16px;padding:0 24px;background:#fff;border-bottom:1px solid var(--line)}.pt-top-project{margin-right:auto;font-size:14px;font-weight:600;display:flex;align-items:center;gap:6px;min-width:0;white-space:nowrap}.pt-top-project span{color:var(--muted);font-weight:400}.pt-me{display:flex;align-items:center;gap:8px;font-size:13px}.pt-me small{display:block;font-size:12px;color:var(--muted)}.pt-avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#e8eef8;color:#496485}.pt-main{padding:22px 24px 40px;min-width:0}.pt-title{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.pt-title>div:first-child{min-width:0}.pt-eyebrow{display:block;font-size:12px;color:var(--muted);letter-spacing:.5px;margin-bottom:4px}.pt-title h1{font-size:24px;font-weight:650;letter-spacing:-.4px}.pt-title p{font-size:13px;color:var(--muted);margin-top:6px;max-width:760px}.pt-hint{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.pt-hint>span{font-size:13px;color:var(--muted);display:inline-flex;align-items:center;gap:6px}.pt-cards2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.pt-table-wrap{overflow-x:auto}.pt-table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}.pt-table th{font-size:12px;font-weight:500;color:var(--muted);background:#f9fafc;padding:9px 14px;border-bottom:1px solid #edf0f5;white-space:nowrap}.pt-table td{padding:10px 14px;border-bottom:1px solid #edf0f5;vertical-align:middle}.pt-table td small{display:block;font-size:12px;color:var(--muted)}.pt-table tbody tr:last-child td{border-bottom:0}.pt-table tr.pt-click{cursor:pointer}.pt-table tr.pt-click:hover,.pt-table tbody tr:hover{background:#f9fbff}.pt-table tr.pt-muted-row td{color:var(--muted)}.pt-table tr.pt-row-bad td{background:#fff8f8}.pt-blocked-note{display:flex;gap:10px;padding:12px 16px;margin-bottom:16px;background:var(--bad-bg);border:1px solid #f1c9cf;border-radius:8px;color:var(--bad)}.pt-blocked-note svg{font-size:20px;flex:none;margin-top:1px}.pt-blocked-note p{font-size:13px;color:#7c2a35;margin-top:2px}.pt-back{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);margin-bottom:10px}.pt-tabs{display:flex;gap:24px;border-bottom:1px solid #dce3ee;margin-bottom:16px}.pt-tabs button{padding:0 0 10px;font-size:14px;color:var(--muted);border-bottom:2px solid transparent}.pt-tabs button.on{color:var(--blue);border-color:var(--blue);font-weight:600}.pt-detail{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}.pt-timeline{list-style:none;margin:0;padding:0}.pt-timeline li{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:12px;position:relative;padding-bottom:14px}.pt-timeline li:before{content:"";position:absolute;left:8px;top:16px;bottom:0;width:2px;background:#dfe6f0}.pt-timeline li:last-child:before{display:none}.pt-tl-dot{width:18px;height:18px;border-radius:50%;background:#fff;border:3px solid #8fb0e3;margin-top:2px;position:relative;z-index:1}.pt-timeline li.done .pt-tl-dot{border-color:var(--good);background:var(--good-bg)}.pt-timeline li.bad .pt-tl-dot{border-color:var(--bad);background:var(--bad-bg)}.pt-timeline li.current .pt-tl-dot{border-color:var(--blue);background:var(--blue);box-shadow:0 0 0 4px var(--blue-bg)}.pt-timeline li.future .pt-tl-dot{border-color:#cfd7e3;background:#f1f4f8}.pt-timeline li.pending .pt-tl-dot{border-color:#e0b23d;background:#fff6dc}.pt-tl-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.pt-tl-head b{font-size:14px;font-weight:600}.pt-tl-head time{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.pt-tl-body p{font-size:13px;color:var(--muted);margin-top:2px}.pt-timeline li.current .pt-tl-body{background:var(--blue-bg);border-radius:6px;padding:8px 10px;margin-top:-4px}.pt-timeline li.current b{color:#1f57b8}.pt-timeline li.future b{color:#7d8898;font-weight:500}.pt-list{margin:0;padding-left:18px;display:grid;gap:8px;font-size:13px}.pt-qr{display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px;align-items:start}.pt-qr-wait{display:grid;place-items:center;width:220px;height:220px;margin:6px 0;background:var(--soft);color:var(--muted);font-size:13px}.pt-mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;background:var(--soft);border:1px solid var(--line);border-radius:4px;padding:1px 6px;overflow-wrap:anywhere}.pt-toast{position:fixed;left:50%;top:calc(var(--bar-h) + 14px);transform:translate(-50%);z-index:100;max-width:min(640px,calc(100vw - 32px));padding:11px 18px;border-radius:8px;font-size:13px;color:#fff;background:#233d60;box-shadow:0 8px 30px #10284630}.pt-toast.good{background:#235a3f}.pt-toast.bad{background:#8d2d3a}@media(max-width:1180px){.pt-split,.pt-detail{grid-template-columns:minmax(0,1fr)}}@media(max-width:860px){.pt-cards2{grid-template-columns:1fr}}@media(max-width:760px){.pt-qr{grid-template-columns:1fr}:root{--side-w: 0px}.pt-web{grid-template-columns:1fr}.pt-side{position:static;height:auto}.pt-side nav{display:flex;overflow-x:auto;padding-bottom:8px}.pt-side nav button{white-space:nowrap}.pt-project,.pt-nav-cap,.pt-side-note{display:none}.pt-top{position:static;height:auto;flex-wrap:wrap;padding:10px 14px}.pt-main{padding:16px 14px 40px}.pt-title{flex-direction:column}}@media(max-width:480px){.pt-toast{top:12px}}.pt-faint{color:#8b96a6}.pt-gap{margin:4px 0 14px}.pt-nav-cap.later{margin-top:18px}.pt-side nav.pt-later button{color:#8193ad}.pt-side nav.pt-later button:hover{background:transparent;color:#a9b8cc;cursor:not-allowed}.pt-tab-n{margin-left:6px;font-size:12px;color:var(--muted);background:#eef1f5;border-radius:9px;padding:0 7px;font-weight:500}.pt-tabs button.on .pt-tab-n{background:var(--blue-bg);color:#1f57b8}.pt-pad-x{padding:14px 18px 0}.pt-pad-x .pt-tabs{margin-bottom:0;border-bottom:0}.pt-board{display:grid;gap:14px;margin-bottom:16px}.pt-board-row h3{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;font-size:13px;font-weight:650;color:var(--ink-2);margin-bottom:8px}.pt-board-row h3 small{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:12px;font-weight:400;color:var(--muted)}.pt-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px}.pt-panel .pt-tiles{margin:0}.pt-tile{background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px 14px;text-align:left;min-width:0;display:flex;flex-direction:column;gap:2px}button.pt-tile:hover{border-color:#a6bce0}.pt-tile.on{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue) inset;background:#f8fbff}.pt-tile span{font-size:12px;color:var(--muted)}.pt-tile strong{font-size:26px;font-weight:600;line-height:1.15;font-variant-numeric:tabular-nums}.pt-tile strong.good{color:var(--good)}.pt-tile strong.warn{color:var(--warn)}.pt-tile strong.bad{color:var(--bad)}.pt-tile small{font-size:12px;color:var(--muted)}.pt-empty-cta{display:grid;justify-items:start;gap:12px;padding:8px 0}.pt-empty-cta p{font-size:13px;color:var(--ink-2);max-width:640px}.pt-search{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-2);border-radius:6px;padding:4px 8px;color:var(--muted);background:#fff}.pt-search input{border:0;outline:0;font-size:13px;width:180px;background:transparent}.pt-filterbar{display:flex;flex-wrap:wrap;gap:6px;padding:12px 18px;border-bottom:1px solid #edf0f5}.pt-filterbar button{font-size:12px;padding:4px 10px;border-radius:14px;border:1px solid var(--line-2);color:var(--ink-2);background:#fff}.pt-filterbar button.on{background:var(--blue);border-color:var(--blue);color:#fff}.pt-table.compact td,.pt-table.compact th{padding:7px 12px}.pt-table tr.pt-row-new td{background:#f4f8ff}.pt-desc{font-size:13px;color:var(--ink-2);line-height:1.6;min-width:260px}.pt-mono-cell{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;overflow-wrap:anywhere;white-space:pre-wrap}.pt-code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px}.pt-steps{list-style:none;margin:0 0 16px;padding:0;display:flex;gap:6px;flex-wrap:wrap}.pt-steps li{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);padding:7px 14px 7px 8px;border-radius:18px;background:#fff;border:1px solid var(--line)}.pt-steps li span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;background:#eef1f5}.pt-steps li.done{color:var(--good)}.pt-steps li.done span{background:var(--good-bg)}.pt-steps li.cur{color:#1f57b8;font-weight:600;border-color:var(--blue)}.pt-steps li.cur span{background:var(--blue);color:#fff}.pt-files{display:grid;gap:8px}.pt-file{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:12px;align-items:center;text-align:left;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:#fff}.pt-file>svg{font-size:24px;color:#2f7d4f}.pt-file b{display:block;font-size:14px}.pt-file small{display:block;font-size:12px;color:var(--muted);margin-top:2px}.pt-file:hover{border-color:#a6bce0}.pt-file.on{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue) inset;background:#f8fbff}.pt-wizard-foot{display:flex;justify-content:flex-end;align-items:flex-start;flex-wrap:wrap;gap:10px;margin-top:16px}.pt-wizard-foot.decide{margin:0 0 16px;padding:12px 16px;background:#fff;border:1px solid var(--line);border-radius:8px;justify-content:flex-end}.pt-namelist{font-size:13px;color:var(--ink-2);margin-bottom:12px;line-height:1.7}.pt-panel .pt-seg button{padding:7px 14px}.pt-cards{list-style:none;margin:0;padding:0}.pt-cards>li{padding:14px 18px;border-top:1px solid #edf0f5}.pt-cards>li:first-child{border-top:0}.pt-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.pt-card-head b{font-size:14px}.pt-issue-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;font-size:13px;margin-top:6px}.pt-row-acts{display:inline-flex;align-items:center;gap:12px}.pt-change{border:1px solid #f0dcb4;background:#fffaf0;border-radius:8px;padding:10px 12px;display:grid;gap:8px}.pt-change p{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:13px}.pt-change .pt-table{background:#fff;border:1px solid var(--line);border-radius:6px}.pt-change-acts{display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px}.pt-change-acts input{font-size:13px;padding:5px 8px;border:1px solid var(--line-2);border-radius:6px;min-width:180px}.pt-plain{list-style:none;margin:0;padding:0}.pt-plain li{padding:10px 18px;border-top:1px solid #edf0f5;font-size:13px}.pt-plain li:first-child{border-top:0}.pt-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 4px;align-items:center}.pt-chips li{display:inline-flex;align-items:center;gap:6px;padding:5px 9px 5px 5px;border:1px solid var(--line);border-radius:6px;background:var(--soft);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;position:relative}.pt-chips li+li{margin-left:14px}.pt-chips li+li:before{content:"";position:absolute;left:-15px;top:50%;width:12px;height:1px;background:#b7c4d8}.pt-chips li b,.pt-chips li button{font-weight:600;font-family:inherit;font-size:12px}.pt-chips li button:hover{color:var(--blue);text-decoration:underline}.pt-chips li small{font-family:inherit;font-size:12px;color:var(--muted)}.pt-chip-i{width:18px;height:18px;border-radius:50%;background:#e3e9f2;color:#4f5d71;display:grid;place-items:center;font-size:11px;font-family:inherit}.pt-chips li.mct{background:var(--blue-bg);border-color:#b6cdf2}.pt-chips li.mct .pt-chip-i{background:var(--blue);color:#fff}.pt-chips li.mct small{color:#1f57b8;font-weight:600}.pt-chips li.unknown{background:var(--bad-bg);border-color:#f1c9cf;color:var(--bad)}.pt-chips li.b{background:var(--warn-bg);border-color:#f0dcb4}.pt-qr{display:grid;grid-template-columns:auto minmax(0,1fr);gap:24px;align-items:start}.pt-label60{margin:0;width:360px;aspect-ratio:60 / 25;border:1.5px solid #1d2a3d;border-radius:6px;background:#fff;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 12px;color:#15243c;box-shadow:0 2px 10px #14243c14}.pt-label60>div{display:grid;gap:1px;min-width:0}.pt-label60 b{font-size:19px;letter-spacing:-.3px;line-height:1.2;overflow-wrap:anywhere}.pt-label60 small{font-size:11px;color:#33465f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pt-qr-side{display:grid;gap:10px;min-width:0}.pt-qr-big img{border:1px solid var(--line);border-radius:8px}.pt-node-label{margin:0 0 10px;display:grid;justify-items:center;gap:2px;padding:14px;border:1px solid var(--line-2);border-radius:10px}.pt-node-label b{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:16px}.pt-node-label small{font-size:12px;color:#1f57b8;font-weight:600}.pt-qr-wait{display:grid;place-items:center;background:var(--soft);color:var(--muted);font-size:12px}.pt-hint .pt-mono{font-size:12px}@media(max-width:760px){.pt-qr{grid-template-columns:1fr}.pt-label60{width:100%;max-width:360px}.pt-search input{width:120px}}.pt-nowrap,.pt-table td b{white-space:nowrap}.pt-file-cell{min-width:220px}.pt-table td .pt-guard{align-items:flex-start}.pt-table td .pt-guard .pt-reason{text-align:left;max-width:220px}.pt-side nav.pt-tree{display:grid;gap:2px;padding:4px 10px 0}.pt-side nav.pt-tree button.lv1{font-size:14px;font-weight:600;color:#dbe4f2}.pt-side nav.pt-tree button.lv1.open{color:#fff}.pt-side nav.pt-tree button.lv1 .pt-caret{margin-left:auto;font-size:16px;color:#9fb0c9}.pt-side nav.pt-tree button.lv1.on .pt-caret{color:#fff}.pt-sub{display:grid;gap:2px;margin:2px 0 8px 14px;padding-left:10px;border-left:1px solid #ffffff1f}.pt-side nav.pt-tree button.lv2{font-size:13px;padding:7px 10px;color:#b9c6da;font-weight:400}.pt-side nav.pt-tree button.lv2 svg{font-size:15px}.pt-side nav.pt-tree button.lv2.on{background:var(--blue);color:#fff}.pt-side nav.pt-tree button.lv1.later{font-weight:400;color:#8193ad}.pt-side nav.pt-tree button.lv1.later:hover{background:transparent;color:#a9b8cc;cursor:not-allowed}.pt-colfilter{position:relative;display:inline-flex;align-items:center;gap:4px}.pt-fbtn{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:4px;color:#8b96a6;border:1px solid transparent}.pt-fbtn:hover{background:#fff;border-color:var(--line-2);color:var(--blue)}.pt-fbtn.on{color:#fff;background:var(--blue)}.pt-fpop-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50}.pt-fpop{position:absolute;top:calc(100% + 6px);left:0;z-index:51;width:300px;display:grid;gap:8px;padding:12px;background:#fff;border:1px solid var(--line-2);border-radius:8px;box-shadow:0 12px 32px #14243c26;color:var(--ink);font-size:13px;font-weight:400;white-space:normal;text-align:left}.pt-fpop>b{font-size:13px;font-weight:650}.pt-fpop textarea{font-size:13px;padding:6px 8px;border:1px solid var(--line-2);border-radius:6px;resize:vertical}.pt-fall{display:flex;align-items:center;gap:6px;padding-bottom:6px;border-bottom:1px solid #edf0f5}.pt-flist{display:grid;max-height:220px;overflow-y:auto}.pt-flist label{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px;align-items:center;padding:4px 2px;border-radius:4px}.pt-flist label:hover{background:var(--soft)}.pt-flist label span{overflow-wrap:anywhere}.pt-flist small{color:var(--muted);font-size:12px}.pt-ffoot{display:flex;justify-content:flex-end;gap:8px;padding-top:6px;border-top:1px solid #edf0f5}.pt-activefilters{display:flex;flex-wrap:wrap;gap:6px;padding:10px 18px;border-bottom:1px solid #edf0f5;background:#f8fbff}.pt-fchip{display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:3px 4px 3px 10px;border-radius:14px;background:var(--blue-bg);color:#1f57b8}.pt-fchip button{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;color:#1f57b8}.pt-fchip button:hover{background:#d6e3f8}.pt-table-wrap:has(.pt-fpop){overflow:visible}.pt-panel:has(.pt-fpop){overflow:visible}.pt-flowroute{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:stretch;gap:12px 30px}.pt-flowroute li{position:relative;display:flex;align-items:center;gap:8px;padding:10px 14px;border:1.5px solid var(--line-2);border-radius:8px;background:#fff;font-size:15px}.pt-flowroute li+li:before{content:"";position:absolute;left:-24px;top:50%;width:16px;height:2px;background:#7f97bd}.pt-flowroute li+li:after{content:"";position:absolute;left:-10px;top:calc(50% - 5px);width:7px;height:10px;background:#7f97bd;clip-path:polygon(0 0,100% 50%,0 100%)}.pt-flowroute li b,.pt-flowroute li button{font-family:ui-monospace,SF Mono,Menlo,monospace;font-weight:650;font-size:inherit}.pt-flowroute li button:hover{color:var(--blue);text-decoration:underline}.pt-flowroute li i{font-style:normal;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;background:#e3e9f2;color:#4f5d71}.pt-flowroute li em{font-style:normal;font-size:12px;font-weight:600;padding:1px 6px;border-radius:4px;background:var(--blue);color:#fff}.pt-flowroute li.mct{background:var(--blue-bg);border-color:#8fb0e3}.pt-flowroute li.mct i{background:var(--blue);color:#fff}.pt-flowroute li.unknown{background:var(--bad-bg);border-color:#e9a9b2;color:var(--bad)}.pt-flowroute li.unknown em{background:var(--bad)}.pt-flowroute li.b{background:var(--warn-bg);border-color:#e7c88a}.pt-flowroute li.b em{background:var(--owner-bg);color:var(--owner)}.pt-flowroute li.end{background:var(--side);border-color:var(--side);color:#fff;flex-direction:column;align-items:flex-start;gap:0}.pt-flowroute li.end small{font-size:11px;color:#9fb0c9}.pt-flowroute li.end span{font-size:12px;color:#c5d1e2}.pt-flowroute li.none{color:var(--muted);border-style:dashed}.pt-flowroute li.hl{background:#fff1e6;border-color:#c2410c;box-shadow:0 0 0 3px #fbd5b5;color:#9a3412}.pt-flowroute li.hl i{background:#c2410c;color:#fff}.pt-flowroute.compact{gap:6px 18px}.pt-flowroute.compact li{padding:3px 8px;font-size:12px;border-width:1px;border-radius:5px;gap:5px}.pt-flowroute.compact li+li:before{left:-15px;width:9px}.pt-flowroute.compact li+li:after{left:-7px;width:5px;height:8px;top:calc(50% - 4px)}.pt-flowroute.compact li i{width:16px;height:16px;font-size:10px}.pt-flowroute.compact li em{font-size:10px;padding:0 4px}.pt-flowroute.compact li.end{flex-direction:row;align-items:center;gap:4px}.pt-flowroute.compact li.hl{box-shadow:0 0 0 2px #fbd5b5}.pt-detail.wide{grid-template-columns:minmax(0,1fr) 320px}.pt-nodecables{list-style:none;margin:0;padding:0}.pt-nodecables>li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:8px 18px;border-top:1px solid #edf0f5}.pt-nodecables>li:first-child{border-top:0}.pt-nodecables>li:hover{background:#fffaf5}.pt-code.hl{color:#9a3412;background:#fff1e6;border:1px solid #c2410c;border-radius:4px;padding:1px 6px}.pt-node-label.hl{border:2px solid #c2410c;box-shadow:0 0 0 4px #fbd5b5}.pt-qrmain{display:grid;grid-template-columns:auto minmax(0,1fr);gap:24px;align-items:start}.pt-qrbox{padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff;line-height:0}.pt-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#0f1b2c66;display:grid;place-items:center;padding:20px}.pt-modal-card{width:min(640px,100%);max-height:calc(100vh - 40px);overflow-y:auto;background:#fff;border-radius:12px;box-shadow:0 24px 60px #0f1b2c40;padding:18px 20px;display:grid;gap:14px}.pt-modal-card>header{display:flex;justify-content:space-between;align-items:center}.pt-modal-card>header b{font-size:16px}.pt-modal-card>footer{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.pt-modal-card>footer .pt-muted{margin:0}.pt-print-stage{display:grid;justify-items:center;gap:6px;padding:22px;border-radius:8px;background:repeating-linear-gradient(45deg,#f1f4f8 0,#f1f4f8 8px,#f7f9fc 8px,#f7f9fc 16px)}.pt-label60.big{width:480px;padding:14px 16px}.pt-label60.big b{font-size:26px}.pt-label60.big small{font-size:13px}.pt-print-size{font-size:12px;color:var(--muted)}@media(max-width:760px){.pt-qrmain,.pt-detail.wide{grid-template-columns:1fr}.pt-nodecables>li{grid-template-columns:1fr}.pt-label60.big{width:100%}}.pt-web{background:linear-gradient(to right,var(--side) var(--side-w),transparent var(--side-w))}@media(max-width:760px){.pt-web{background:none}}.pt-nodecables>li>div{display:grid;gap:2px;min-width:0}.pt-nodecables>li>div small{font-size:12px;color:var(--muted)}.pt-nodecables>li>div .pt-link{justify-self:start}.pt-nodecables>li.on{background:#fff1e6;box-shadow:inset 0 0 0 1px #f3b48a}.pt-qrthumb{padding:3px;border:1px solid var(--line-2);border-radius:6px;background:#fff;line-height:0}.pt-qrthumb:hover{border-color:#a9c0e4}.pt-qrthumb[aria-pressed=true]{border-color:#c2410c;box-shadow:0 0 0 3px #fbd5b5}.pt-sidepane{position:sticky;top:calc(var(--bar-h) + 72px);align-self:start}.pt-picked{border-color:#f3b48a;box-shadow:0 0 0 3px #fff1e6}.pt-bigqr{margin:0 0 10px;display:grid;justify-items:center;gap:4px;text-align:center}.pt-bigqr b{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:16px}.pt-bigqr small{font-size:12px;color:var(--muted)}.pt-sidepane-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}@media(max-width:1180px){.pt-sidepane{position:static}}.pt-filterbar .pt-chip-n{margin-left:4px;opacity:.75;font-variant-numeric:tabular-nums}.pt-todo{color:var(--warn);font-weight:600;font-size:13px}.pt-foot-note{padding:10px 18px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);background:var(--soft)}.pt-nl td small{display:block;color:var(--muted);font-size:12px}.pt-nl-raw{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12.5px;color:var(--ink-2);word-break:break-all}.pt-nl-raw .hit{color:var(--bad);font-weight:700}.pt-route{display:grid;grid-template-columns:440px minmax(0,1fr);gap:16px;align-items:start}.pt-route>.pt-panel{margin:0}.pt-route-tools{display:flex;gap:8px;padding:12px 16px 4px}.pt-route-select,.pt-route-search{display:flex;align-items:center;gap:6px;border:1px solid var(--line-2);border-radius:6px;background:#fff;padding:0 8px;height:34px;font-size:13px;min-width:0}.pt-route-select{flex:1.4}.pt-route-select span{color:var(--muted);white-space:nowrap}.pt-route-select select{border:0;background:transparent;min-width:0;flex:1;font-weight:600}.pt-route-search{flex:1;color:var(--faint)}.pt-route-search input{border:0;outline:0;min-width:0;flex:1;background:transparent}.pt-route-search button{color:var(--faint);display:grid;place-items:center}.pt-route-chips{padding:8px 16px 10px;gap:4px;flex-wrap:nowrap}.pt-route-chips button{padding:3px 8px;white-space:nowrap}.pt-route-scroll{max-height:calc(100vh - 360px);min-height:280px;overflow:auto}.pt-route-table thead th{position:sticky;top:0;z-index:1;background:var(--soft)}.pt-route-table td:first-child{font-weight:600;white-space:nowrap}.pt-route-table tr.on td{background:var(--blue-bg)}.pt-route-table tr.on td:first-child{box-shadow:inset 3px 0 0 var(--blue)}.pt-route-detail>header{display:flex;align-items:flex-start;gap:12px;padding:14px 20px 10px;border-bottom:1px solid var(--line)}.pt-route-detail>header>div:first-child{flex:1;min-width:0}.pt-route-detail h2{font-size:18px;display:flex;align-items:center;gap:8px}.pt-route-detail>header p{color:var(--muted);font-size:13px;margin-top:2px}.pt-route-body{display:grid;gap:14px}.pt-route-note{font-size:13px;line-height:1.6;color:var(--ink-2)}.pt-route-note.warn{color:#6b4708}.pt-route-note .pt-link{margin-left:6px}.pt-lr{list-style:none;margin:0;padding:0;display:grid}.pt-lr li{position:relative;display:grid;grid-template-columns:48px auto auto minmax(0,1fr);align-items:baseline;column-gap:10px;padding:6px 0 6px 30px;font-size:15px}.pt-lr li:before{content:"";position:absolute;left:9px;top:0;bottom:0;width:2px;background:#9bb0cf}.pt-lr li:first-child:before{top:50%}.pt-lr li:last-child:before{bottom:50%}.pt-lr li:after{content:"";position:absolute;left:4px;top:calc(50% - 6px);width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid #9bb0cf;box-sizing:border-box}.pt-lr li.mct:after{background:var(--blue);border-color:var(--blue)}.pt-lr li.bad:after{background:#c98f22;border-color:#c98f22}.pt-lr li.end{padding-top:10px;padding-bottom:10px}.pt-lr li.end:after{border-radius:3px;background:var(--side);border-color:var(--side)}.pt-lr li.none:after{display:none}.pt-lr .k{color:var(--muted);font-size:12px}.pt-lr b{font-family:ui-monospace,SF Mono,Menlo,monospace;font-weight:500;color:var(--ink-2)}.pt-lr .d{color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pt-lr em{font-style:normal;font-size:11px;font-weight:600;padding:0 5px;border-radius:3px}.pt-lr li.end b{font-weight:700;color:var(--ink)}.pt-lr li.mct b{color:var(--blue);font-weight:700}.pt-lr li.mct em{color:var(--blue);background:var(--blue-bg)}.pt-lr li.bad b{color:var(--warn);font-weight:700}.pt-lr li.bad em{color:var(--warn);background:var(--warn-bg)}.pt-lr li.none span:last-child{color:var(--muted);font-size:14px}.pt-route-raw{border-top:1px solid var(--line);padding-top:10px;font-size:12px;color:var(--muted);display:flex;gap:10px;align-items:baseline}.pt-route-raw span{flex:none}.pt-route-raw code{font-family:ui-monospace,SF Mono,Menlo,monospace;color:var(--ink-2);word-break:break-all;white-space:pre-wrap}@media(max-width:1100px){.pt-route{grid-template-columns:1fr}}.pt-login{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:var(--side)}.pt-login-card{width:min(380px,100%);background:var(--card);border-radius:12px;padding:28px 26px 24px;display:grid;gap:16px;box-shadow:0 24px 60px #0008}.pt-login-card h1{margin:0;font-size:20px}.pt-login-card h1 span{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:2px}.pt-login-card .pt-btn{justify-content:center}.pt-form-field{display:grid;gap:5px;font-size:13px;color:var(--ink-2)}.pt-form-field input,.pt-form-field select{font:inherit;font-size:14px;padding:8px 10px;border:1px solid var(--line-2);border-radius:6px;background:#fff;color:var(--ink)}.pt-form-field input:focus,.pt-form-field select:focus{outline:2px solid var(--blue-bg);border-color:var(--blue)}.pt-form-field small{font-size:12px;color:var(--muted)}.pt-form-error{margin:0;font-size:13px;color:var(--bad);background:var(--bad-bg);border-radius:6px;padding:8px 10px}.pt-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;align-items:end}.pt-modal-card>h2{margin:0;font-size:16px}.pt-modal-acts{justify-content:flex-end}.pt-pager{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:10px 14px;font-size:12px;color:var(--muted);border-top:1px solid #edf0f5}.pt-me-out{margin-left:8px}.pt-loading{padding:40px 0;text-align:center;color:var(--muted)}.pt-filters-row{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.pt-form-grid .pt-form-error{grid-column:1 / -1}.pt-side nav.pt-tree button.lv1.cat{color:#9fb0c9;font-size:12.5px;letter-spacing:.5px;background:transparent;cursor:pointer}.pt-side nav.pt-tree button.lv1.cat:hover{color:#dbe4f2;background:transparent}.pt-side nav.pt-tree button.lv1.cat svg{color:#7f93b2}.pl-win{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.pl-split{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:12px;color:var(--muted);margin-top:2px}.pl-split b{font-weight:600;color:var(--ink-2);font-variant-numeric:tabular-nums}.pl-split b.warn{color:var(--warn)}.pl-split b.blue{color:#1f57b8}.pl-todo{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;background:#fffaf0;border:1px solid #f1dfba;border-radius:8px;padding:9px 14px;font-size:13px;color:#6b4a0e;margin-bottom:14px}.pl-todo>svg{font-size:17px;color:var(--warn)}.pl-todo b{font-variant-numeric:tabular-nums}.pl-todo-go{margin-left:auto}.pl-fl{align-self:center;font-size:12px;color:var(--muted);margin-right:4px}.pl-or{align-self:center;font-size:12px;color:var(--muted);margin:0 4px}.pl-range{display:inline-flex;align-items:center;gap:6px;padding:0 8px;border:1px solid var(--line-2);border-radius:6px;background:#fff;font-size:12px;color:var(--muted)}.pl-range.on{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue) inset}.pl-range input{border:0;background:transparent;font:inherit;color:var(--ink);padding:3px 0}.pl-bulk{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 18px;border-bottom:1px solid #edf0f5;background:#fbfcfe;font-size:13px}.pl-bulk .sel{color:var(--ink-2)}.pl-bulk .sel b{font-variant-numeric:tabular-nums}.pl-bulk .right{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.pl-table .ck{width:34px;padding-right:0}.pl-table td b{font-weight:600}.pl-date,.pl-ver{font-variant-numeric:tabular-nums;white-space:nowrap}.pl-ver{font-size:12px;color:var(--muted)}.pl-st{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.pl-st small{width:100%}.pl-remind{color:var(--warn)!important}tr.pl-on td{background:#f5f9ff}.pl-cmp{font-variant-numeric:tabular-nums}.pl-cmp .old{color:var(--muted);text-decoration:line-through;text-decoration-color:#c9a35a}.pl-cmp .new{color:#8a4b00;font-weight:600}.pl-acts{display:flex;gap:6px;flex-wrap:wrap;align-items:center;white-space:nowrap}.pl-explain{padding:10px 18px;font-size:12.5px;color:var(--muted);border-bottom:1px solid #edf0f5;background:#fbfcfe;margin:0}.pl-drop{display:flex;flex-wrap:wrap;align-items:center;gap:14px;border:1.5px dashed #b9c8de;border-radius:10px;background:#fafcff;padding:14px 18px;margin-bottom:16px}.pl-drop>svg{font-size:26px;color:var(--blue)}.pl-drop>div{flex:1;min-width:220px}.pl-drop b{font-size:14px}.pl-drop small{display:block;font-size:12px;color:var(--muted);margin-top:2px}.pl-steps{display:grid;gap:10px;list-style:none;margin:0;padding:0}.pl-steps li{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:13px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--soft)}.pl-steps li span{color:var(--ink-2);flex:1;min-width:200px}.pl-tl{list-style:none;margin:0;padding:0}.pl-tl>li{border-bottom:1px solid #edf0f5}.pl-tl-row{display:grid;grid-template-columns:140px 64px minmax(0,1fr) 80px auto;align-items:center;gap:12px;padding:12px 18px;font-size:13px}.pl-tl-row .t{font-variant-numeric:tabular-nums;color:var(--ink-2)}.pl-tl-row small{display:block;font-size:12px;color:var(--muted);margin-top:1px}.pl-tl-row .who{color:var(--muted)}.pl-tl>li.open{background:#f5f9ff}.pl-tl-detail{padding:0 18px 12px 236px}.pl-tl-detail .pt-table{background:#fff;border:1px solid var(--line);border-radius:8px}@media(max-width:900px){.pl-win{grid-template-columns:repeat(2,minmax(0,1fr))}.pl-tl-row{grid-template-columns:1fr}.pl-tl-detail{padding-left:18px}}.pl-relgrid{display:grid;grid-template-columns:320px minmax(0,1fr);gap:14px;align-items:start}.pl-relgrid>.pt-panel .pt-pad{display:grid;gap:16px}.pl-field{display:grid;gap:8px}.pl-field>b{font-size:13px;font-weight:600;color:var(--ink-2)}.pl-field>b small{font-weight:400;color:var(--muted);margin-left:6px}.pl-checks{display:grid;gap:6px}.pl-checks label{display:flex;align-items:center;gap:8px;font-size:13px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:#fff;cursor:pointer}.pl-checks label.on{border-color:#a6bce0;background:#f8fbff}.pl-checks label small{margin-left:auto;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.pl-quick{display:flex;flex-wrap:wrap;gap:6px}.pl-quick button{font-size:12px;padding:3px 9px;border-radius:12px;border:1px solid var(--line-2);color:var(--ink-2);background:#fff;cursor:pointer}.pl-quick button.on{background:var(--blue);border-color:var(--blue);color:#fff}.pl-condfoot{display:flex;justify-content:flex-end}.pl-funnel{display:flex;flex-wrap:wrap;align-items:stretch;gap:10px;padding:14px 18px;border-bottom:1px solid #edf0f5}.pl-funnel>svg{align-self:center;color:#9aa8bb}.pl-funnel>div{flex:1;min-width:110px;border:1px solid var(--line);border-radius:8px;padding:9px 12px;display:grid;gap:1px}.pl-funnel>div span{font-size:12px;color:var(--muted)}.pl-funnel>div strong{font-size:22px;font-weight:600;font-variant-numeric:tabular-nums}.pl-funnel>div small{font-size:12px;color:#1f3f73}.pl-funnel>div.warn strong{color:var(--warn)}.pl-funnel>div.go{border-color:var(--blue);background:#f3f7fe;flex:1.4}.pl-funnel>div.go strong{color:#1f57b8}.pl-split2{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:16px;padding:14px 18px 16px}.pl-split2 h3{font-size:13px;font-weight:600;color:var(--ink-2);margin:0 0 8px}.pl-split2 h3 small{font-weight:400;color:var(--muted);margin-left:6px}.pl-mini{border:1px solid var(--line);border-radius:8px;overflow:hidden}.pl-mini td,.pl-mini th{padding:7px 10px}.pl-mini .num{text-align:right;font-variant-numeric:tabular-nums}.pl-mini tr.pl-total td,.pl-table tr.pl-total td{background:#f3f7fe;color:#1f3f73}.pl-scroll{max-height:420px;overflow:auto}tr.pl-dim td{background:#fbfbfc;color:var(--muted)}tr.pl-off td{color:#9aa6b8}tr.pl-off td b{font-weight:500;text-decoration:line-through;text-decoration-color:#c3ccd8}.pl-noicon{color:#c08a2a;font-size:15px}.pl-relbar{position:sticky;bottom:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;margin:14px 0;padding:12px 18px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 -6px 18px #0f1b2c12}.pl-relbar b{font-size:15px}.pl-relbar span{margin-left:12px;font-size:13px;color:var(--muted)}.pl-banner{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;border-radius:8px;padding:11px 14px;font-size:13px;margin-bottom:14px;border:1px solid #cddcf3;background:#f3f7fe;color:#1f3f73}.pl-banner>svg{font-size:18px;color:var(--blue);margin-top:1px}.pl-banner>div{flex:1;min-width:240px}.pl-banner p{margin:3px 0 0}.pl-sumlist{border:1px solid var(--line);border-radius:8px;list-style:none;margin:0;padding:0}.pl-sumlist li{display:flex;justify-content:space-between;gap:12px;padding:10px 14px;font-size:13px;border-top:1px solid #edf0f5}.pl-sumlist li:first-child{border-top:0}.pl-sumlist li b{font-variant-numeric:tabular-nums;white-space:nowrap}.pl-sumlist li.skip{color:var(--warn)}.pl-sumlist li.go{background:#f3f7fe;color:#1f3f73}.pl-sumlist li small{display:block;color:var(--muted);font-size:12px;margin-top:1px}.pl-detailgrid{display:grid;grid-template-columns:minmax(280px,400px) minmax(0,1fr);gap:14px;align-items:start;margin-bottom:14px}.pl-kv{display:grid;gap:8px;margin:0}.pl-kv div{display:grid;grid-template-columns:90px 1fr;gap:10px;font-size:13px}.pl-kv dt{color:var(--muted)}.pl-kv dd{margin:0}@media(max-width:1100px){.pl-relgrid,.pl-detailgrid,.pl-split2{grid-template-columns:1fr}}.pl-split2{display:flex;flex-wrap:wrap;align-items:flex-start}.pl-split2>div:first-child{flex:0 1 auto;min-width:0;overflow-x:auto}.pl-split2>div:last-child{flex:1 1 500px;min-width:0;overflow-x:auto}.pl-mini td,.pl-mini th{white-space:nowrap}.pl-editgrid{align-items:start}.ex-explain{display:flex;gap:12px;align-items:flex-start;background:#f4f7fc;border:1px solid #dbe5f4;border-radius:8px;padding:10px 14px;font-size:13px;color:var(--ink-2);margin-bottom:14px}.ex-explain>svg{font-size:18px;color:var(--blue);margin-top:1px;flex:none}.ex-explain p{display:flex;flex-wrap:wrap;gap:4px 18px;margin:0}.ex-explain p span b{color:var(--ink);font-weight:600;margin-right:6px}.ex-cards{list-style:none;margin:0;padding:0}.ex-cards>li{padding:12px 18px;border-top:1px solid #edf0f5;position:relative}.ex-cards>li:first-child{border-top:0}.ex-cards>li.on{background:#f8fbff}.ex-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}.ex-head b{font-size:14px}.ex-head .pt-link{font-weight:500;font-size:12px}.ex-what{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:13px}.ex-what small{color:var(--muted);font-size:12px}.ex-val{font-family:ui-monospace,Menlo,monospace;font-size:12.5px;background:#f3f5f8;padding:1px 6px;border-radius:4px}.ex-val.file{background:#fff3df;color:#8a4b00}.ex-ckbox{width:15px;height:15px;margin:0;accent-color:var(--blue);flex:none}.ex-sug{display:flex;align-items:center;gap:14px;margin-top:8px;background:#f6f9ff;border:1px solid #dfe8f7;border-radius:7px;padding:8px 10px 8px 12px}.ex-sug.none{background:#fafbfc;border-color:#e6eaf0}.ex-sug>svg{font-size:17px;color:#c98a12;flex:none}.ex-sug.none>svg{color:#8a97ab}.ex-sug .txt{flex:1;min-width:0;font-size:13px;line-height:1.5;color:var(--ink-2)}.ex-sug .txt b{color:var(--ink);font-weight:650;margin-right:8px}.ex-sug .txt .after{display:block;color:var(--muted);font-size:12px}.ex-sug .txt .ex-uncovered{display:inline-block;font-size:11.5px;color:#8a97ab;border:1px solid #e1e6ee;border-radius:10px;padding:0 7px;margin-right:8px}.ex-sug .acts{display:flex;align-items:center;gap:8px;flex:none;flex-wrap:wrap;justify-content:flex-end;position:relative}.ex-wrong{font-size:12px;color:#8a97ab;white-space:nowrap;display:inline-flex;align-items:center;gap:3px;background:none;border:0;padding:0;cursor:pointer}.ex-wrong:hover{color:var(--ink-2)}.ex-more{width:30px;padding:5px 0;justify-content:center}.ex-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:5;width:210px;background:#fff;border:1px solid var(--line-2);border-radius:8px;box-shadow:0 10px 28px #0f1b2c26;padding:6px;font-size:13px}.ex-menu button{width:100%;text-align:left;padding:7px 10px;border-radius:5px;color:var(--ink-2);display:flex;align-items:center;gap:8px;background:none;border:0;cursor:pointer;font:inherit}.ex-menu button:hover{background:#f1f5fb;color:var(--ink)}.ex-menu button svg{font-size:15px;color:#7b889c}.ex-menu hr{border:0;border-top:1px solid #edf0f5;margin:4px 2px}.ex-quick{display:flex;align-items:center;gap:8px;padding:10px 18px;border-bottom:1px solid #edf0f5;font-size:12.5px;color:var(--muted);flex-wrap:wrap}.ex-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border:1px solid var(--line-2);border-radius:14px;color:var(--ink-2);background:#fff;cursor:pointer;font:inherit;font-size:12.5px}.ex-chip b{font-weight:600;font-variant-numeric:tabular-nums}.ex-chip.on{border-color:#9dbbe9;background:#eef4fd;color:#1f57b8}.ex-bulk{display:flex;align-items:center;gap:10px;padding:10px 18px;background:#eef4fd;border-bottom:1px solid #d3e1f6;font-size:13px;flex-wrap:wrap}.ex-bulk .sel{font-weight:600;color:#1f57b8;margin-right:4px}.ex-bulk .right{margin-left:auto;display:flex;gap:10px;align-items:center}.ex-lab{color:var(--muted);font-size:12.5px}.ex-select,.ex-input{border:1px solid var(--line-2);background:#fff;border-radius:6px;padding:5px 8px;font:inherit;font-size:13px;color:var(--ink)}.ex-input{min-width:150px}.ex-input::placeholder{color:#98a3b3}.ex-diff{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px}.ex-diff .f{color:var(--muted)}.ex-modal .pt-modal-card{width:min(760px,100%)}.ex-modal.wide .pt-modal-card{width:min(920px,100%)}.ex-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.ex-modal-head h2{margin:0}.ex-modal-head small{display:block;font-size:12px;color:var(--muted);font-weight:400;margin-top:2px}.ex-from{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px}.ex-ctable{width:100%;border-collapse:collapse;font-size:13px;border:1px solid var(--line);border-radius:8px;overflow:hidden}.ex-ctable th{text-align:left;font-weight:500;font-size:12px;color:var(--muted);padding:8px 10px;background:#fafbfd;border-bottom:1px solid #e8edf4;white-space:nowrap}.ex-ctable th small{display:block;font-size:11px;color:#8a97ab;font-weight:400}.ex-ctable td{padding:7px 10px;border-bottom:1px solid #f0f2f6;vertical-align:middle;font-variant-numeric:tabular-nums}.ex-ctable tr:last-child td{border-bottom:0}.ex-ctable td.k{color:var(--ink-2);white-space:nowrap}.ex-ctable td small{display:block;font-size:11px;color:#8a97ab}.ex-ctable tr.hit td{background:#fffaf0}.ex-ctable tr.more td{color:var(--blue);cursor:pointer}.ex-field{border:1px solid var(--line-2);border-radius:6px;padding:5px 9px;font:inherit;font-size:13px;min-width:120px;width:100%;background:#fff;color:var(--ink);box-sizing:border-box}.ex-field::placeholder{color:#a3adbb}.ex-field.filled{border-color:#8fb0e6;background:#f7faff}.ex-field-hint{font-size:11.5px;color:#1f57b8;margin-top:3px;display:block}.ex-form{display:grid;grid-template-columns:1fr 1.4fr;gap:12px}.ex-form label{display:grid;gap:5px;font-size:12.5px;color:var(--muted)}.ex-form textarea{min-height:60px;resize:vertical}.ex-after{display:flex;gap:10px;align-items:flex-start;background:#f4f7fc;border:1px solid #dbe5f4;border-radius:8px;padding:9px 12px;font-size:12.5px;color:var(--ink-2)}.ex-after svg{color:var(--blue);font-size:16px;margin-top:1px;flex:none}.ex-after b{color:var(--ink);font-weight:600}.ex-cand{width:100%;border-collapse:collapse;font-size:12.5px;margin-top:8px}.ex-cand th,.ex-cand td{text-align:left;padding:5px 8px;border-bottom:1px solid #f0f2f6}.ex-cand th{font-weight:500;color:var(--muted);font-size:12px}.ex-cand td.diff{color:#8a4b00}@media(max-width:760px){.ex-sug{flex-direction:column;align-items:stretch}.ex-sug .acts{justify-content:flex-start}.ex-form{grid-template-columns:1fr}}.pt-maybe{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}.pt-maybe small{color:var(--muted);font-size:12px}.pt-check{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-2);white-space:nowrap}.pt-nl .pt-todo{white-space:nowrap}.ex-compare th small,.ex-compare td small{display:block;font-size:11.5px;color:var(--muted);font-weight:400}.ex-rules td.num,.ex-rules th.num{text-align:right;font-variant-numeric:tabular-nums}.ex-rules tr.click{cursor:pointer}.ex-rules tr.click:hover td{background:#f8fbff}.ex-head{flex-wrap:wrap}.ex-head>b{white-space:nowrap}.pl-unit,.wo-unit{font-style:normal;font-size:13px;font-weight:500;color:var(--muted);margin-left:2px}.wo-note{font-size:12px;color:var(--muted)}.wo-new{display:flex;align-items:center;gap:10px;background:var(--blue-bg);border:1px solid #c9dbf6;border-radius:8px;padding:9px 14px;margin-bottom:14px;font-size:13px;color:#1f3f73}.wo-new svg{font-size:17px;color:var(--blue);flex:none}.wo-new .pt-link-btn{margin-left:auto}.wo-desk{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;align-items:start}.wo-cond>*{min-width:0}.wo-cond{min-width:0;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px;display:grid;gap:14px;font-size:13px}.wo-cond h4{margin:0 0 6px;font-size:12.5px;color:var(--muted);font-weight:500}.wo-cond label.ck{display:flex;align-items:center;gap:8px;padding:3px 0;color:var(--ink-2);cursor:pointer}.wo-cond label.ck small{margin-left:auto;color:var(--muted);font-variant-numeric:tabular-nums}.wo-chips{display:flex;flex-wrap:wrap;gap:6px}.wo-chip{border:1px solid var(--line-2);border-radius:14px;padding:3px 10px;color:var(--ink-2);background:#fff;cursor:pointer;font:inherit;font-size:12.5px}.wo-chip.on{background:var(--blue-bg);border-color:#9dbbe9;color:#1f57b8}.wo-range{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;margin-top:8px;font-size:12px;color:var(--muted)}.wo-range input{width:100%;min-width:0;border:1px solid var(--line-2);border-radius:6px;padding:4px 6px;font:inherit;font-size:12.5px}.wo-funnel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.wo-funnel .pt-tile strong,.wo-kpis .pt-tile strong{font-size:24px}.wo-funnel .pt-tile.go{border-color:#8fb0e6;background:#f6f9ff}.wo-grid{width:100%;border-collapse:collapse;font-size:13px}.wo-grid th,.wo-grid td{border-bottom:1px solid #edf0f5;padding:9px 12px;text-align:left;vertical-align:middle}.wo-grid td.date{vertical-align:top;padding-top:16px}.wo-grid th{font-weight:500;color:var(--muted);font-size:12px;background:#fafbfd}.wo-grid td.n{font-variant-numeric:tabular-nums;white-space:nowrap}.wo-grid td.n small,.wo-grid small.m{color:var(--muted)}.wo-grid tr.clickable{cursor:pointer}.wo-grid tr.clickable:hover td{background:#f8fbff}.wo-sel{min-width:150px;border:1px solid var(--line-2);border-radius:6px;padding:4px 8px;background:#fff;font:inherit;font-size:13px;color:var(--ink)}.wo-sel.warn{border-color:#e3b45f;background:#fffaf0;color:#8a4b00}.wo-link{color:var(--blue);margin-left:8px;white-space:nowrap;background:none;border:0;padding:0;cursor:pointer;font:inherit;font-size:12px}.wo-link.on{font-weight:600;text-decoration:underline}.wo-bar{display:flex;align-items:center;gap:14px;padding:12px 16px;border-top:1px solid var(--line);background:#fafbfd;font-size:13px;flex-wrap:wrap}.wo-bar .right{margin-left:auto;display:flex;gap:10px;align-items:center}.wo-warn{color:#8a4b00}.wo-tag{font-size:11.5px;background:var(--blue-bg);color:#1f57b8;border-radius:9px;padding:1px 8px;margin-left:8px;white-space:nowrap}.wo-tag.warn{background:var(--warn-bg);color:var(--warn)}.wo-cables{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;color:var(--ink-2);padding:4px 0 2px}.sp-open>td{background:#f7faff;padding:0!important}.sp{margin:4px 12px 12px;background:#fff;border:1px solid #9dbbe9;border-radius:10px}.sp header{display:flex;align-items:baseline;gap:14px;padding:12px 16px 6px;flex-wrap:wrap}.sp-teams{display:flex;align-items:center;gap:8px;padding:4px 16px 10px;flex-wrap:wrap}.sp-quick{margin-left:auto;display:flex;gap:8px}.sp-t{width:100%;border-collapse:collapse;font-size:13px}.sp-t th,.sp-t td{padding:6px 16px;border-top:1px solid #eef1f5;text-align:left}.sp-t th{color:var(--muted);font-weight:500;font-size:12px;background:#fafbfd}.sp-c{text-align:center!important;width:120px}.sp footer{display:flex;align-items:center;gap:22px;padding:10px 16px;border-top:1px solid var(--line);background:#fafbfd;border-radius:0 0 10px 10px;font-size:13px;flex-wrap:wrap}.sp footer .right{margin-left:auto;display:flex;gap:8px}.wo-daytabs{display:flex;gap:8px;align-items:center;margin-bottom:12px;font-size:13px;flex-wrap:wrap}.wo-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.wo-why{font-size:12px;color:#8a4b00}.wo-tmr small{color:var(--muted)}.pg{display:flex;align-items:center;gap:10px}.pg-t{flex:1;height:10px;background:#e9edf3;border-radius:5px;overflow:hidden;min-width:80px}.pg-t span{display:block;height:100%;background:#1f8a4c;border-radius:5px}.pg-n{font-size:12.5px;color:var(--ink-2);white-space:nowrap;font-variant-numeric:tabular-nums;min-width:82px}.pg-n b{color:var(--ink);font-size:13.5px}.pg.big{margin-top:4px}.pg.big .pg-n{min-width:0}.wo-bind{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center}.wo-bind-code{font-size:34px;font-weight:700;letter-spacing:6px;font-variant-numeric:tabular-nums;color:var(--ink)}.wo-team-row td:first-child b{font-size:14px}@media(max-width:1100px){.wo-desk{grid-template-columns:1fr}.wo-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.pl-split .pl-sub{font-size:11.5px;color:var(--muted);padding-left:10px}
