.pb,.pb-modal{--pb-bg: #f6f7f5;--pb-surface: #ffffff;--pb-surface-2: #eef1ee;--pb-fg: #1a1f1c;--pb-muted: #5f6b65;--pb-line: #d9dfdb;--pb-primary: #124737;--pb-teal: #18a0a5;--pb-teal-soft: #d7f0f1;--pb-gold: #f5a53e;--pb-gold-soft: #fdebd0;--pb-danger: #d64545;--pb-danger-soft: #fbe1e1;--pb-ok: #2e8b57;--pb-ok-soft: #dff1e6;--pb-warn: #c98a12;--pb-warn-soft: #fff1cf;--pb-info-soft: #e3ecfa;--pb-past: #eceeec;--pb-free: #e4e7e4}.pb{background:var(--pb-bg);color:var(--pb-fg);font-size:14px;line-height:1.45;min-height:100%;padding:0 16px 88px}.pb button,.pb-modal button{font:inherit}.pb-topbar{position:sticky;top:0;z-index:20;background:var(--pb-primary);color:#fff;margin:0 -16px;padding:10px 16px;display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}.pb-brand{font-weight:700;display:flex;align-items:center;gap:8px}.pb-brand small{font-weight:500;opacity:.8}.pb-weeknav{display:flex;align-items:center;gap:6px;margin-left:auto}.pb-weeknav button{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.45);border-radius:6px;min-width:34px;height:34px;cursor:pointer;font-size:14px;padding:0 8px}.pb-weeknav button:hover:not(:disabled){background:#ffffff1f}.pb-weeknav button:disabled{opacity:.4;cursor:not-allowed}.pb-weeknav .pb-wk{font-weight:600;min-width:150px;text-align:center;font-variant-numeric:tabular-nums}.pb-weeknav .pb-wk small{display:block;font-weight:400;opacity:.8;font-size:12px}.pb-versionbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px 0 4px}.pb-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;white-space:nowrap;background:var(--pb-surface-2);color:var(--pb-muted)}.pb-pill.RELEASED{background:var(--pb-ok-soft);color:var(--pb-ok)}.pb-pill.OPTIMIZED{background:var(--pb-teal-soft);color:var(--pb-teal)}.pb-pill.CALCULATING{background:var(--pb-warn-soft);color:var(--pb-warn)}.pb-pill.FAILED{color:var(--pb-danger)}.pb-pill.dirty{background:var(--pb-gold-soft);color:#7a4b00}.pb-vbtn{background:var(--pb-surface);border:1px solid var(--pb-line);border-radius:8px;padding:6px 10px;cursor:pointer;color:var(--pb-fg);display:inline-flex;gap:6px;align-items:center}.pb-vbtn:hover{border-color:var(--pb-teal)}.pb-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:6px 0 10px}.pb-seg{display:flex;flex-wrap:wrap;gap:4px;background:var(--pb-surface-2);padding:4px;border-radius:10px}.pb-seg button{border:0;background:transparent;color:var(--pb-muted);padding:6px 10px;border-radius:7px;cursor:pointer;font-weight:500;font-size:13px}.pb-seg button.on{background:var(--pb-surface);color:var(--pb-fg);font-weight:600;box-shadow:0 1px 2px #00000014}.pb-controls input[type=search]{border:1px solid var(--pb-line);background:var(--pb-surface);color:var(--pb-fg);border-radius:8px;padding:7px 10px;width:190px}.pb-toggle{display:inline-flex;align-items:center;gap:6px;color:var(--pb-muted);font-size:13px;cursor:pointer}.pb-hint{color:var(--pb-muted);font-size:12px}.pb-gridwrap{overflow:auto;max-height:calc(100vh - 330px);border:1px solid var(--pb-line);border-radius:10px;background:var(--pb-surface)}.pb-capwrap .pb-gridwrap{max-height:none}table.pb-board{border-collapse:separate;border-spacing:0;width:100%;min-width:760px;font-variant-numeric:tabular-nums}.pb-board th,.pb-board td{padding:6px 8px;border-bottom:1px solid var(--pb-line);text-align:right;white-space:nowrap;vertical-align:top}.pb-board th{font-size:12px;color:var(--pb-muted);font-weight:600;background:var(--pb-surface-2);position:sticky;top:0;z-index:2}.pb-board th.day small{display:block;font-weight:400}.pb-board th.today{color:var(--pb-teal)}.pb-board .name{text-align:left;position:sticky;left:0;background:var(--pb-surface);z-index:3;min-width:190px;max-width:240px;white-space:normal;font-weight:500;cursor:pointer}.pb-board th.name{background:var(--pb-surface-2);z-index:4}.pb-board tr.sel .name{box-shadow:inset 3px 0 0 var(--pb-teal)}.pb-board .name .meta{display:block;font-size:11px;color:var(--pb-muted);font-weight:400}.pb-board .sum{background:var(--pb-surface-2);font-weight:600}.pb-board td.cell{min-width:74px}.pb-board.detail{min-width:1180px}.pb-board.detail td.cell{min-width:50px;padding:5px 6px;font-size:13px}.pb-board.detail th.day{text-align:center}.pb-board.detail th.subh{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;top:37px}.pb-board.detail .dstart{border-left:2px solid var(--pb-line)}.pb-board.detail td.cell.prodc .v{font-weight:600}.pb-board td.cell.editable{cursor:pointer}.pb-board td.cell.editable:hover,.pb-board td.cap.editable:hover{outline:2px solid var(--pb-teal);outline-offset:-2px;border-radius:4px}.pb-board td.cap.editable{cursor:pointer}.pb-board td.past,.pb-board th.past{background:var(--pb-past);color:var(--pb-muted)}.pb-board td.free,.pb-board th.free{background:var(--pb-free);color:var(--pb-muted)}.pb-board td.override,.pb-board td.fixed{background:var(--pb-gold-soft)}.pb-board td.ext{background:var(--pb-info-soft)}.pb-board td.short{background:var(--pb-danger-soft);color:var(--pb-danger);font-weight:600}.pb-board td.dirty{box-shadow:inset 0 0 0 2px var(--pb-gold)}.pb-board td.todaycol{box-shadow:inset 0 -2px 0 var(--pb-teal)}.pb-board .v{display:block;font-weight:500}.pb-board .s{display:block;font-size:11px;color:var(--pb-muted);font-weight:400}.pb-mk{font-size:10px;margin-left:2px}.pb-lager{display:inline-block;font-size:10px;background:var(--pb-teal-soft);color:var(--pb-teal);border-radius:3px;padding:0 4px;margin-left:4px;font-weight:600;vertical-align:middle}.pb-empty{padding:24px;text-align:center;color:var(--pb-muted)}.pb-capwrap{margin-top:14px}.pb-capwrap h2{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--pb-muted);margin:0 0 6px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.pb-capwrap h2 .pb-seg{margin-left:auto;text-transform:none;letter-spacing:0}.pb-board tr.sub td{font-size:12px;color:var(--pb-muted);border-bottom:0;padding-top:0}.pb-board tr.sub td.name{font-weight:400;padding-left:20px;cursor:default}.pb-amp{display:inline-block;min-width:46px;padding:1px 6px;border-radius:5px;font-weight:600;font-size:12px}.pb-amp.g{background:var(--pb-ok-soft);color:var(--pb-ok)}.pb-amp.y{background:var(--pb-warn-soft);color:var(--pb-warn)}.pb-amp.r{background:var(--pb-danger-soft);color:var(--pb-danger)}.pb-amp.n{color:var(--pb-muted)}details.pb-legend{margin-top:12px;color:var(--pb-muted);font-size:12px}details.pb-legend summary{cursor:pointer;font-weight:600}.pb-legend ul{display:flex;flex-wrap:wrap;gap:6px 16px;padding:8px 0 0;margin:0;list-style:none}.pb-sw{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-2px;margin-right:4px;border:1px solid var(--pb-line)}.pb-actions{position:sticky;bottom:0;z-index:20;background:var(--pb-surface);border-top:1px solid var(--pb-line);margin:16px -16px 0;padding:8px 16px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.pb-btn{border:1px solid var(--pb-line);background:var(--pb-surface);color:var(--pb-fg);border-radius:8px;padding:8px 12px;cursor:pointer;font-weight:600;font-size:13px}.pb-btn:hover:not(:disabled){border-color:var(--pb-teal)}.pb-btn.primary{background:var(--pb-teal);border-color:var(--pb-teal);color:#fff}.pb-btn.ghost{background:transparent;color:var(--pb-teal);border-color:transparent}.pb-btn.danger{color:var(--pb-danger)}.pb-btn:disabled{opacity:.45;cursor:not-allowed}.pb-btn.right{margin-left:auto}.pb-scrim{position:fixed;inset:0;background:#0006;z-index:1000}.pb-sheet{position:fixed;left:50%;transform:translate(-50%);bottom:24px;width:700px;max-width:calc(100vw - 32px);z-index:1001;background:var(--pb-surface);color:var(--pb-fg);border-radius:16px;max-height:86vh;overflow:auto;padding:14px 16px 16px;box-shadow:0 -8px 30px #0003;font-size:14px}.pb-sheet h3{margin:0 0 4px;font-size:16px;font-weight:600}.pb-sheet h4{margin:14px 0 6px;font-size:14px;font-weight:600}.pb-sheet .sub{color:var(--pb-muted);font-size:12px;margin-bottom:12px}.pb-sheet .row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:10px}.pb-sheet .row>label{flex:1 1 140px;min-width:0}.pb-kv{display:grid;grid-template-columns:1fr auto;gap:4px 14px;font-size:13px;margin:0 0 12px}.pb-kv dt{color:var(--pb-muted)}.pb-kv dd{margin:0;text-align:right;font-variant-numeric:tabular-nums;font-weight:500}.pb-sheet input[type=number],.pb-sheet input[type=text]{width:100%;border:1px solid var(--pb-line);border-radius:8px;padding:8px 10px;font:inherit;background:var(--pb-surface);color:var(--pb-fg)}.pb-sheet input.big{font-size:20px;font-weight:600}.pb-sheet .foot{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.pb-note{background:var(--pb-surface-2);border-radius:8px;padding:8px 10px;font-size:12px;color:var(--pb-muted);margin-top:8px}.pb-note.warn{background:var(--pb-warn-soft);color:var(--pb-warn)}.pb-note.err{background:var(--pb-danger-soft);color:var(--pb-danger)}.pb-note.ok{background:var(--pb-ok-soft);color:var(--pb-ok)}.pb-vlist{display:grid;gap:8px}.pb-vitem{border:1px solid var(--pb-line);border-radius:10px;padding:10px 12px;display:grid;gap:6px}.pb-vitem.cur{border-color:var(--pb-teal)}.pb-vitem .top{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pb-vitem .kpis{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--pb-muted)}.pb-vitem .kpis b{color:var(--pb-fg);font-weight:600;font-variant-numeric:tabular-nums}.pb-vitem .acts{display:flex;gap:6px;flex-wrap:wrap}.pb-mini{border-collapse:collapse;width:100%;font-size:12px;font-variant-numeric:tabular-nums}.pb-mini th,.pb-mini td{padding:4px 6px;border-bottom:1px solid var(--pb-line);text-align:right;white-space:nowrap}.pb-mini th:first-child,.pb-mini td:first-child{text-align:left}.pb-mini th{color:var(--pb-muted);font-weight:600}.pb-miniwrap{overflow-x:auto;margin-bottom:10px}.pb-steps{display:flex;gap:4px;margin-bottom:12px}.pb-steps span{flex:1;height:4px;border-radius:2px;background:var(--pb-line)}.pb-steps span.done{background:var(--pb-teal)}.pb-prio{list-style:none;padding:0;margin:12px 0 10px;display:grid;gap:6px}.pb-prio li{display:flex;align-items:center;gap:8px;border:1px solid var(--pb-line);border-radius:8px;padding:6px 8px}.pb-prio li .n{width:22px;height:22px;border-radius:50%;background:var(--pb-primary);color:#fff;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.pb-prio li .t{flex:1}.pb-prog{height:10px;background:var(--pb-surface-2);border-radius:5px;overflow:hidden;margin:10px 0}.pb-prog i{display:block;height:100%;background:var(--pb-teal);transition:width .4s}.pb-chk{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer;margin-top:6px}.pb-chk input{accent-color:var(--pb-teal);width:16px;height:16px}.pb-chk.conflict{color:var(--pb-danger)}
