.o2-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.o2-title{font-size:28px;font-weight:800;letter-spacing:-.02em;margin:0;color:var(--text)}.o2-sub{font-size:12.5px;color:var(--text-sub);margin-top:2px}.o2-sub i{font-style:normal;margin:0 6px;color:var(--dimmer)}.o2-tools{gap:10px;flex-wrap:wrap}.o2-date,.o2-tools{display:flex;align-items:center}.o2-date{gap:6px}.o2-date .lbl{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 12px;border:1px solid var(--ctrl-border);border-radius:8px;background:var(--bg-panel);font-size:12.5px;font-weight:500;color:var(--text);white-space:nowrap}.o2-ib{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--ctrl-border);border-radius:8px;background:var(--bg-panel);color:var(--text-sub);cursor:pointer}.o2-ib:hover{color:var(--text);border-color:var(--ctrl-border-hover)}.o2-seg{display:flex;padding:3px;border-radius:9px;background:var(--ink-06)}.o2-seg button{border:0;background:none;height:28px;padding:0 14px;border-radius:7px;font:inherit;font-size:12.5px;color:var(--text-sub);cursor:pointer}.o2-seg button.on{background:var(--brand);color:var(--on-brand,var(--bg-panel));font-weight:600}.o2-btn{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px;border-radius:8px;border:1px solid var(--ctrl-border);background:var(--bg-panel);font:inherit;font-size:12.5px;font-weight:600;color:var(--text);cursor:pointer;white-space:nowrap}.o2-btn:hover{border-color:var(--ctrl-border-hover)}.o2-btn.pri{background:var(--brand);border-color:var(--brand);color:var(--on-brand,var(--bg-panel))}.o2-btn.pri:hover:not(:disabled){background:var(--brand-strong);border-color:var(--brand-strong)}.o2-body{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:14px;gap:14px;align-items:start;margin-top:14px}.o2-body.has-side{grid-template-columns:minmax(0,1fr) var(--side-w)}:root{--side-w:380px}@media (max-width:1500px){:root{--side-w:340px}}.o2-main{display:flex;flex-direction:column;gap:12px;min-width:0}.o2-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));padding:0;overflow:hidden}.o2-kpi{display:flex;gap:12px;padding:14px 14px 12px;border-left:1px solid var(--ink-06);min-width:0}.o2-kpi:first-child{border-left:0}.o2-kpi .ic{width:36px;height:36px;flex:none;border-radius:8px;display:grid;place-items:center;background:var(--ink-04);color:var(--text-sub)}.o2-kpi .l{font-size:11.5px;color:var(--text-sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.o2-kpi .v{font-size:22px;font-weight:700;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.o2-kpi .d{font-size:11.5px;font-weight:600;margin-top:4px;white-space:nowrap}.o2-kpi .s{font-size:11px;color:var(--text-sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.o2-kpi.crit{background:color-mix(in srgb,var(--c-red-bg) 60%,var(--bg-panel));cursor:pointer}.o2-kpi.crit .ic{background:var(--c-red-bg);border:1px solid var(--c-red-bd)}.o2-kpi.crit .ic,.o2-kpi.crit .l,.o2-kpi.crit .v{color:var(--c-red-fg)}.o2-kpi.crit .s{display:flex;align-items:center;gap:4px}.o2-up{color:var(--c-green-fg)}.o2-down{color:var(--c-red-fg)}.o2-kpi.click{cursor:pointer;transition:background .12s var(--ease)}.o2-kpi.click:hover{background:var(--ink-03)}.o2-kpi.on{background:var(--ink-04);box-shadow:inset 0 -2px 0 var(--text)}.o2-kpi[data-hue=green] .ic{background:var(--c-green-bg);color:var(--c-green-fg)}.o2-kpi[data-hue=red] .ic{background:var(--c-red-bg);color:var(--c-red-fg)}.o2-kpi[data-hue=amber] .ic{background:var(--c-amber-bg);color:var(--c-amber-fg)}.o2-kpi.on[data-hue=green]{box-shadow:inset 0 -2px 0 var(--c-green-fg)}.o2-kpi.on[data-hue=red]{box-shadow:inset 0 -2px 0 var(--c-red-fg)}.o2-kpi.on[data-hue=amber]{box-shadow:inset 0 -2px 0 var(--c-amber-fg)}.o2-kpi.crit.calm{background:var(--bg-panel);cursor:default}.o2-kpi.crit.calm .ic{background:var(--ink-04);color:var(--text-sub);border-color:transparent}.o2-kpi.crit.calm .l,.o2-kpi.crit.calm .v{color:var(--text)}.o2-alert{display:flex;align-items:center;gap:14px;padding:12px 14px 12px 16px;border-radius:10px;border:1px solid var(--c-red-bd);background:color-mix(in srgb,var(--c-red-bg) 75%,var(--bg-panel))}.o2-alert>svg{color:var(--c-red-fg);flex:none}.o2-alert .t{font-weight:700;color:var(--c-red-fg);font-size:13px}.o2-alert .x{font-size:12px;color:var(--text-sub);line-height:1.5;margin-top:2px}.o2-alert .go{margin-left:auto;height:30px;padding:0 14px;border-radius:var(--chip-r);border:1.5px solid color-mix(in srgb,var(--c-red-fg) 55%,transparent);background:var(--bg-panel);font:inherit;font-size:12px;font-weight:600;white-space:nowrap}.o2-alert .cl,.o2-alert .go{color:var(--c-red-fg);cursor:pointer}.o2-alert .cl{border:0;background:none;padding:4px;display:grid}.o2-filters{padding:10px;flex-wrap:wrap}.o2-filters,.o2-search{display:flex;align-items:center;gap:8px}.o2-search{flex:1 1 240px;max-width:360px;height:34px;padding:0 10px;border:1px solid var(--ctrl-border);border-radius:8px;background:var(--bg-panel);color:var(--dim)}.o2-search input{border:0;outline:0;background:none;font:inherit;font-size:12.5px;color:var(--text);flex:1 1;min-width:0}.o2-badge{min-width:20px;height:20px;padding:0 6px;border-radius:6px;background:var(--brand);color:var(--on-brand,var(--bg-panel));font-size:11px;font-weight:700;display:inline-grid;place-items:center}.o2-found{margin-left:auto;font-size:12px;color:var(--text-sub);white-space:nowrap}.o2-pop{background:var(--bg-modal);border:1px solid var(--ink-10);border-radius:10px;box-shadow:var(--shadow-lg);padding:6px;min-width:220px;z-index:1000}.o2-pop button.it,.o2-pop label{display:flex;align-items:center;gap:8px;width:100%;padding:7px 9px;border-radius:6px;font:inherit;font-size:12.5px;color:var(--text);background:none;border:0;cursor:pointer;text-align:left}.o2-pop button.it:hover,.o2-pop label:hover{background:var(--ink-05)}.o2-pop .tt{color:var(--dim);padding:6px 9px 4px}.o2-pop .sep{height:1px;background:var(--ink-06);margin:4px 0}.o2-card{overflow:hidden}.o2-scroll{overflow-x:auto}.o2-tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:12.5px}.o2-tbl th{text-align:left;font-weight:500;font-size:11.5px;color:var(--text-sub);padding:10px;border-bottom:1px solid var(--ink-06);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.o2-tbl th.s{cursor:pointer}.o2-tbl th.s:hover{color:var(--text)}.o2-tbl th .ar{font-size:9px;margin-left:4px;color:var(--dim)}.o2-tbl td{padding:0 10px;height:44px;border-bottom:1px solid var(--ink-04);white-space:nowrap;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.o2-tbl tbody tr{cursor:pointer}.o2-tbl tbody tr:hover td{background:var(--ink-03)}.o2-tbl tbody tr.sel td{background:var(--ink-05)}.o2-tbl tbody tr:last-child td{border-bottom:0}.o2-tbl .c{text-align:center}.o2-tbl .r{text-align:right}.o2-cb{vertical-align:middle}.o2-st{display:inline-flex;align-items:center;gap:6px;padding:3px 9px 3px 7px;border-radius:6px;font-size:11.5px;font-weight:500;background:var(--c-gray-bg);color:var(--c-gray-fg);border:1px solid var(--c-gray-bd)}.o2-st[data-hue=red]{background:var(--c-red-bg);color:var(--c-red-fg);border-color:var(--c-red-bd)}.o2-st[data-hue=amber]{background:var(--c-amber-bg);color:var(--c-amber-fg);border-color:var(--c-amber-bd)}.o2-st[data-hue=green]{background:var(--c-green-bg);color:var(--c-green-fg);border-color:var(--c-green-bd)}.o2-st .ic{width:13px;height:13px;border-radius:50%;background:currentColor;display:grid;place-items:center}.o2-st .ic svg{color:var(--bg-panel)}.o2-pct{display:flex;align-items:center;gap:10px}.o2-pct span{width:40px;text-align:right;font-weight:600}.o2-pct .t{width:90px;height:7px;border-radius:4px;background:var(--ink-06);position:relative;overflow:hidden}.o2-pct .t b{position:absolute;left:0;top:0;bottom:0;border-radius:4px}.o2-g{color:var(--c-green-fg)}.o2-a{color:var(--c-amber-fg)}.o2-r{color:var(--c-red-fg)}.o2-muted{color:var(--dim)}.o2-kebab{width:28px;height:28px;border-radius:6px;border:0;background:none;color:var(--text-sub);cursor:pointer;display:grid;place-items:center}.o2-kebab:hover{background:var(--ink-06);color:var(--text)}.o2-side{position:-webkit-sticky;position:sticky;top:12px;display:flex;flex-direction:column;gap:10px;max-height:calc(100vh - 24px);overflow-y:auto;padding:14px}.o2-side-h{display:flex;gap:12px;align-items:flex-start}.o2-side-h .nm{font-size:16px;font-weight:700;color:var(--text)}.o2-side-h .gr{font-size:12px;color:var(--text-sub);margin-top:3px}.o2-side-h .x{margin-left:auto;border:0;background:none;color:var(--dim);cursor:pointer;padding:2px;display:grid}.o2-tabs{display:flex;gap:18px;border-bottom:1px solid var(--ink-06);margin:4px -14px 2px;padding:0 14px}.o2-tabs button{border:0;background:none;font:inherit;font-size:12.5px;color:var(--text-sub);padding:9px 0;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.o2-tabs button.on{color:var(--text);font-weight:700;border-color:var(--text)}.o2-box{border:1px solid var(--ink-07);border-radius:10px;padding:12px}.o2-box-h{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}.o2-box-h b{color:var(--text)}.o2-link{border:0;background:none;font:inherit;font-size:11.5px;color:var(--text-sub);cursor:pointer;display:inline-flex;align-items:center;gap:4px;text-decoration:underline;text-underline-offset:2px;padding:0}.o2-link:hover{color:var(--text)}.o2-big{display:flex;align-items:center;gap:14px}.o2-big .n{font-size:28px;font-weight:800;color:var(--text);white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.o2-big .n small{font-size:18px;font-weight:600;color:var(--text-sub)}.o2-big .n em{font-style:normal;font-size:11.5px;font-weight:400;color:var(--text-sub);margin-left:6px}.o2-big .t{flex:1 1;height:8px;border-radius:4px;background:var(--ink-06);position:relative;overflow:hidden}.o2-big .t b{position:absolute;left:0;top:0;bottom:0;border-radius:4px}.o2-mini{display:grid;grid-template-columns:repeat(4,1fr);margin-top:12px;border-top:1px solid var(--ink-05);padding-top:10px}.o2-mini>div{padding:0 8px;border-left:1px solid var(--ink-06)}.o2-mini>div:first-child{border-left:0;padding-left:0}.o2-mini b{display:block;font-size:15px;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.o2-mini span{font-size:10.5px;color:var(--text-sub)}.o2-shift{display:grid;grid-template-columns:minmax(0,1fr) 40px 58px 86px;grid-column-gap:8px;column-gap:8px;align-items:center;min-height:32px;font-size:12px;border-bottom:1px solid var(--ink-04)}.o2-shift:last-child{border-bottom:0}.o2-shift .dt{display:flex;align-items:baseline;gap:6px;min-width:0;white-space:nowrap}.o2-shift .dt b{min-width:44px;font-weight:500;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.o2-shift .dt em{font-style:normal;min-width:18px;color:var(--text-sub)}.o2-shift .dt em.rel{color:var(--text);font-weight:600}.o2-shift .hr{text-align:right;color:var(--text-sub);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.o2-shift .o2-pill{display:block;min-width:0;width:100%;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis}.o2-shift .w{display:inline-flex;align-items:center;gap:6px;color:var(--text-sub);white-space:nowrap;min-width:0}.o2-shift .w i{flex:none;width:7px;height:7px;border-radius:50%;background:var(--c-green-fg);display:inline-block}.o2-shift .w svg{flex:none;color:var(--dim)}.o2-pill{display:inline-block;font-size:10.5px;font-weight:600;line-height:16px;padding:1px 7px;border-radius:5px;background:var(--c-gray-bg);color:var(--c-gray-fg);min-width:44px;text-align:center;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.o2-pill[data-hue=green]{background:var(--c-green-bg);color:var(--c-green-fg)}.o2-pill[data-hue=amber]{background:var(--c-amber-bg);color:var(--c-amber-fg)}.o2-pill[data-hue=red]{background:var(--c-red-bg);color:var(--c-red-fg)}.o2-note{display:grid;grid-template-columns:30px 1fr auto;grid-gap:10px;gap:10px;padding:7px 0;font-size:12px;color:var(--text);line-height:1.45}.o2-note .when{font-size:10.5px;color:var(--dim);white-space:nowrap}.o2-rec{display:grid;grid-template-columns:22px 1fr auto;grid-gap:10px;gap:10px;align-items:center;border:1px solid var(--c-green-bd);background:color-mix(in srgb,var(--c-green-bg) 70%,var(--bg-panel));border-radius:10px;padding:12px}.o2-rec b{font-size:12.5px;color:var(--c-green-fg)}.o2-rec div div{font-size:12px;color:var(--text-sub);margin-top:3px;line-height:1.45}.o2-rec[data-hue=red]{border-color:var(--c-red-bd);background:color-mix(in srgb,var(--c-red-bg) 70%,var(--bg-panel))}.o2-rec[data-hue=red] b,.o2-rec[data-hue=red]>svg{color:var(--c-red-fg)}.o2-rec[data-hue=amber]{border-color:var(--c-amber-bd);background:color-mix(in srgb,var(--c-amber-bg) 70%,var(--bg-panel))}.o2-rec[data-hue=amber] b,.o2-rec[data-hue=amber]>svg{color:var(--c-amber-fg)}.o2-rec>svg{color:var(--c-green-fg)}.o2-kv{display:grid;grid-template-columns:1fr auto;grid-gap:8px 12px;gap:8px 12px;font-size:12.5px}.o2-kv span{color:var(--text-sub)}.o2-kv b{color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}@media (max-width:1400px){.o2-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.o2-kpi:nth-child(4){border-left:0}.o2-kpi:nth-child(n+4){border-top:1px solid var(--ink-06)}}@media (max-width:1180px){.o2-body.has-side{grid-template-columns:minmax(0,1fr)}.o2-side{position:static;max-height:none}}@media (max-width:640px){.o2-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.o2-kpi:nth-child(odd){border-left:0}.o2-kpi:nth-child(n+3){border-top:1px solid var(--ink-06)}.o2-alert{flex-wrap:wrap}.o2-alert .go{margin-left:0}}@media (max-width:1760px){.o2-body.has-side .o2-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.o2-body.has-side .o2-kpi:nth-child(4){border-left:0}.o2-body.has-side .o2-kpi:nth-child(n+4){border-top:1px solid var(--ink-06)}}.o2-tbl th.col-drag{position:relative;cursor:-webkit-grab;cursor:grab}.o2-tbl th.col-drag:before{content:"";position:absolute;left:1px;top:50%;width:6px;height:12px;transform:translateY(-50%);background-image:radial-gradient(circle,var(--dim) 1.05px,transparent 1.35px);background-size:3px 3px;opacity:0;transition:opacity .12s var(--ease)}.o2-tbl th.col-drag:hover:before{opacity:.9}.o2-tbl .col-lifted{background-color:color-mix(in srgb,var(--brand) 6%,var(--bg-panel))!important}.o2-tbl thead th.col-lifted{color:var(--text)}.o2-tbl thead th.col-lifted:before{opacity:0}.o2-tbl .col-landed{animation:colLanded .9s var(--ease)}@media (prefers-reduced-motion:reduce){.o2-tbl .col-landed{animation:none}}.o2-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:26px 18px 18px}.o2-empty .ic{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--ink-05);color:var(--text-sub);margin-bottom:6px}.o2-empty b{font-size:14.5px;color:var(--text)}.o2-empty span{font-size:12px;color:var(--text-sub);line-height:1.5;max-width:260px}.o2-ghost{display:flex;flex-direction:column;gap:8px;border-style:dashed}.o2-ghost b{font-size:12.5px;color:var(--dim);font-weight:600}.o2-ghost i{display:block;height:8px;border-radius:4px;background:var(--ink-05)}@media (max-width:1180px){.o2-side-empty{display:none}}.o2-nm-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.o2-side-h button.nm{border:0;background:none;padding:0;font:inherit;font-size:16px;font-weight:700;color:var(--text);cursor:pointer;text-align:left}.o2-side-h button.nm:hover{text-decoration:underline;text-underline-offset:3px}.o2-card-btn{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 8px;border-radius:6px;border:1px solid var(--ctrl-border);background:var(--ink-04);font:inherit;font-size:11.5px;font-weight:600;color:var(--text);cursor:pointer;white-space:nowrap}.o2-card-btn:hover{background:var(--brand);border-color:var(--brand);color:var(--on-brand,var(--bg-panel))}.o2-notes{display:flex;flex-direction:column;gap:10px}.o2-cnt{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;margin-left:6px;border-radius:9px;background:var(--ink-06);font-size:10.5px;font-weight:700;color:var(--text-sub);vertical-align:1px}.o2-notes-sub{font-size:11.5px;color:var(--text-sub);line-height:1.45;margin-top:-6px}.o2-nf{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:9px;background:var(--ink-03);border:1px solid var(--ink-06)}.o2-nf textarea.inp{height:auto;min-height:64px;padding:8px 10px;resize:vertical;line-height:1.45;font-size:12.5px}.o2-topics{display:flex;flex-wrap:wrap;gap:5px}.o2-topics button{height:22px;padding:0 8px;border-radius:11px;border:1px solid var(--ink-08);background:var(--bg-panel);font:inherit;font-size:11px;color:var(--text-sub);cursor:pointer}.o2-topics button:hover{color:var(--text);border-color:var(--ink-15)}.o2-nf-l{font-size:11px;color:var(--dim)}.o2-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:6px;gap:6px;margin-top:-2px}.o2-metrics button{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:7px 8px;border-radius:8px;border:1px solid var(--ink-08);background:var(--bg-panel);font:inherit;cursor:pointer;text-align:left;min-width:0}.o2-metrics button:hover{border-color:var(--ink-15)}.o2-metrics button.on{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.o2-metrics .k{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;line-height:1.2;color:var(--text-sub)}.o2-metrics .k>svg{flex:none}.o2-metrics b{font-size:14px;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.o2-nf-foot{display:flex;align-items:center;gap:8px}.o2-nf-foot .o2-btn:disabled{opacity:.45;cursor:default}.o2-notes-empty{display:flex;gap:10px;align-items:flex-start;font-size:12px;color:var(--text-sub);line-height:1.5;padding:4px 2px}.o2-notes-empty>svg{flex:none;color:var(--dim);margin-top:1px}.o2-tl{display:flex;flex-direction:column;position:relative;padding-left:16px}.o2-tl:before{content:"";position:absolute;left:4px;top:8px;bottom:8px;width:1px;background:var(--ink-08)}.o2-tl-it{position:relative;display:flex;flex-direction:column;gap:5px;padding:8px 0 10px;border-bottom:1px solid var(--ink-04)}.o2-tl-it:last-child{border-bottom:0;padding-bottom:2px}.o2-tl-it .dot{position:absolute;left:-15px;top:13px;width:9px;height:9px;border-radius:50%;background:var(--bg-panel);border:2px solid var(--dim)}.o2-tl-it[data-hue=green] .dot{border-color:var(--c-green-fg)}.o2-tl-it[data-hue=amber] .dot{border-color:var(--c-amber-fg)}.o2-tl-it[data-hue=red] .dot{border-color:var(--c-red-fg)}.o2-tl-it .meta{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--text-sub);min-height:22px}.o2-tl-it .meta b{color:var(--text);font-weight:600}.o2-tl-it .tx{font-size:12.5px;color:var(--text);line-height:1.5;white-space:pre-wrap;word-break:break-word}.o2-tl-it .eff{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--text-sub);flex-wrap:wrap}.o2-tl-it .eff .m{display:inline-flex;align-items:center;gap:4px;padding:1px 6px;border-radius:5px;background:var(--ink-05)}.o2-tl-it .eff b{color:var(--text)}.o2-tl-it .eff .o2-pill{min-width:0;white-space:nowrap}.l2-seg button{padding:0 12px}.l2-row{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);grid-gap:12px;gap:12px}.l2-days{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:16px;gap:16px;padding:12px 16px}.l2-days-t{font-size:12.5px;color:var(--text-sub);align-self:start}.l2-bars{display:flex;align-items:flex-end;gap:3px;height:48px}.l2-bars span{flex:1 1;min-width:3px;max-width:9px;border-radius:2px;background:var(--ink-15)}.l2-bars span.td{background:var(--c-green-fg)}.l2-bars span.fut{background:var(--ink-05)}.l2-avg{border-left:1px solid var(--ink-07);padding-left:16px;display:flex;flex-direction:column}.l2-avg b{font-size:17px;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.l2-avg span{font-size:11px;color:var(--text-sub);max-width:70px;line-height:1.3}.l2-att{--h-fg:var(--c-green-fg);--h-bg:var(--c-green-bg);--h-bd:var(--c-green-bd);display:flex;align-items:center;gap:12px;padding:12px 14px;border-color:var(--h-bd);background:color-mix(in srgb,var(--h-bg) 45%,var(--bg-panel))}.l2-att[data-hue=red]{--h-fg:var(--c-red-fg);--h-bg:var(--c-red-bg);--h-bd:var(--c-red-bd)}.l2-att[data-hue=amber]{--h-fg:var(--c-amber-fg);--h-bg:var(--c-amber-bg);--h-bd:var(--c-amber-bd)}.l2-att>svg{color:var(--h-fg);flex:none}.l2-att>div{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.l2-att b{font-size:13px;color:var(--h-fg)}.l2-att span{font-size:11.5px;color:var(--text-sub)}.l2-tbl td{height:50px}.l2-two{display:flex;flex-direction:column;line-height:1.3}.l2-tag,.l2-two>span:last-child{font-size:11.5px}.l2-tag{display:inline-block;padding:2px 8px;border-radius:5px;background:var(--ink-05);border:1px solid var(--ink-07);color:var(--text-sub)}.o2-tbl tbody tr.l2-failed td{background:color-mix(in srgb,var(--c-red-bg) 40%,transparent)}.o2-tbl tbody tr.l2-failed:hover td{background:color-mix(in srgb,var(--c-red-bg) 60%,transparent)}.o2-pop a.it{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:6px;font-size:12.5px;color:var(--text);text-decoration:none}.o2-pop a.it:hover{background:var(--ink-05)}.l2-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 12px;border-top:1px solid var(--ink-06);font-size:12px}.l2-foot .pager{margin:0}.l2-cnt{display:inline-block;padding:1px 7px;border-radius:5px;border:1px solid var(--ink-08);margin-left:4px;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.l2-sec{border-top:1px solid var(--ink-06);padding-top:12px;display:flex;flex-direction:column;gap:10px}.l2-sec-t{gap:8px;font-size:12.5px;color:var(--text-sub)}.l2-client,.l2-sec-t{display:flex;align-items:center}.l2-client{gap:12px}.l2-client .av{width:40px;height:40px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--ink-05);color:var(--text-sub)}.l2-client b{display:block;font-size:14.5px;color:var(--text)}.l2-client span{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.l2-copy{border:0;background:none;color:var(--dim);cursor:pointer;padding:2px;display:grid}.l2-copy:hover{color:var(--text)}.l2-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px 16px;gap:14px 16px;border-top:1px solid var(--ink-06);padding-top:12px}.l2-fact{display:flex;flex-direction:column;gap:6px;min-width:0}.l2-fact .k{font-size:11.5px;color:var(--text-sub)}.l2-fact .v{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--text)}.l2-fact .v>svg{color:var(--text-sub);margin-top:2px}.l2-note{border:1px solid var(--ink-07);border-radius:8px;padding:10px 12px;font-size:12.5px;line-height:1.55;color:var(--text);white-space:pre-wrap}.l2-hist{display:grid;grid-template-columns:auto 1fr;grid-gap:6px 12px;gap:6px 12px;font-size:12px}.l2-hist span{color:var(--text-sub)}.l2-hist b{font-weight:500;color:var(--text)}.l2-acts{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.l2-wide{width:100%;justify-content:center}@media (max-width:1400px){.l2-row{grid-template-columns:1fr}}@media (max-width:640px){.l2-days{grid-template-columns:1fr}.l2-avg{border-left:0;padding-left:0}}.lf-side{gap:12px;padding-bottom:0}.lf-body{gap:14px}.lf-body,.lf-sec{display:flex;flex-direction:column}.lf-sec{border-top:1px solid var(--ink-06);padding-top:12px;gap:10px}.lf-body>.lf-sec:first-child,.lf-body>.lf-who+.lf-sec{border-top:0;padding-top:0}.lf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px 12px;gap:10px 12px}.lf-f{display:flex;flex-direction:column;gap:5px;min-width:0}.lf-f.wide{grid-column:1/-1}.lf-l{font-size:11.5px;color:var(--text-sub)}.lf-f .field-err,.lf-f .field-hint{font-size:11.5px;line-height:1.4}.lf-ta{height:auto;min-height:56px;padding:8px 10px;resize:vertical;line-height:1.45}.lf-side .inp{height:34px;font-size:12.5px}.lf-side .lf-ta{height:auto}.lf-side .lead-time{height:34px}.lf-acts{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:10px;background:var(--ink-03);border:1px solid var(--ink-07)}.lf-sk{justify-content:center;text-decoration:none;background:var(--bg-panel)}.lf-status{display:flex;flex-direction:column;gap:8px}.lf-st3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:6px;gap:6px}.lf-st3 button{--hf:var(--text-sub);--hb:var(--bg-panel);--hd:var(--ink-10);display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 6px;border-radius:8px;border:1.5px solid var(--ink-08);background:var(--bg-panel);font:inherit;font-size:12.5px;font-weight:600;color:var(--text);cursor:pointer;white-space:nowrap;transition:border-color .12s var(--ease),background .12s var(--ease)}.lf-st3 button[data-hue=amber]{--hf:var(--c-amber-fg);--hb:var(--c-amber-bg);--hd:var(--c-amber-bd)}.lf-st3 button[data-hue=green]{--hf:var(--c-green-fg);--hb:var(--c-green-bg);--hd:var(--c-green-bd)}.lf-st3 button[data-hue=red]{--hf:var(--c-red-fg);--hb:var(--c-red-bg);--hd:var(--c-red-bd)}.lf-st3 button>svg{color:var(--hf)}.lf-st3 button:hover{border-color:var(--hd);background:color-mix(in srgb,var(--hb) 45%,var(--bg-panel))}.lf-st3 button.on{border-color:var(--hf);background:var(--hb);color:var(--hf)}.lf-st3 button:disabled{opacity:.6;cursor:default}.lf-why{display:flex;flex-direction:column;gap:8px;padding-top:2px}.lf-reasons{display:flex;flex-wrap:wrap;gap:5px}.lf-reasons button{max-width:100%;height:24px;padding:0 9px;border-radius:12px;border:1px solid var(--ink-08);background:var(--bg-panel);font:inherit;font-size:11.5px;color:var(--text);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lf-reasons button:hover{border-color:var(--c-red-bd)}.lf-reasons button.on{border-color:var(--c-red-fg);background:var(--c-red-bg);color:var(--c-red-fg)}.lf-danger{background:var(--c-red-fg);color:var(--bg-panel)}.lf-danger,.lf-danger:hover{border-color:var(--c-red-fg)}.lf-danger:hover{filter:brightness(1.05)}.lf-danger:disabled{opacity:.45;cursor:default}.lf-reason-now{font-size:12.5px;color:var(--text);padding:7px 10px;border-radius:7px;background:color-mix(in srgb,var(--c-red-bg) 60%,var(--bg-panel));border:1px solid var(--c-red-bd)}.lf-bar{display:flex;align-items:center;gap:8px;width:100%}.lf-side .lf-bar{position:-webkit-sticky;position:sticky;bottom:0;margin:0 -14px;padding:10px 14px 12px;background:var(--bg-panel);border-top:1px solid var(--ink-06);z-index:1}.lf-bar .o2-btn{height:32px}.lf-bar .o2-btn:disabled{opacity:.5;cursor:default}.lf-del{border:0;background:none;color:var(--c-red-fg);font-weight:500;padding:0 8px}.lf-del:hover{background:var(--c-red-bg)}.lf-side:not(:has(.lf-bar)){padding-bottom:14px}.lf-mh{display:inline-flex;align-items:center;gap:10px}.lf-mh-ic{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--brand);color:var(--on-brand,var(--bg-panel))}.lf-who{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:var(--ink-03);border:1px solid var(--ink-07)}.lf-who b{display:block;font-size:13px;color:var(--text)}.lf-who span{font-size:11.5px;color:var(--text-sub)}@media (max-width:560px){.lf-grid{grid-template-columns:1fr}}.o2-title,.page-title{font-size:30px;line-height:1.1;font-weight:800;letter-spacing:-.02em;color:var(--text);margin:0}.o2-sub,.page-sub{font-size:13px;line-height:1.5;margin-top:4px;color:var(--text-sub)}.stack>.page-head{margin-bottom:0}.o2-body{margin-top:16px}:is(.page-head,.stack>.toolbar,.card-pad>.toolbar) :is(.btn,.inp,.sel-trigger){font-size:13px}:is(.page-head,.stack>.toolbar,.card-pad>.toolbar) .seg>button{font-size:13px}.o2-btn,.o2-date .lbl,.o2-search{height:var(--ctl-h);font-size:13px}.o2-ib{width:var(--ctl-h);height:var(--ctl-h)}.o2-seg button{height:calc(var(--ctl-h) - 6px);font-size:13px}:is(.o2-tools,.o2-filters) :is(.sel-trigger,.date-inp .inp){height:var(--ctl-h)!important;font-size:13px}.o2-search input{font-size:13px}:is(.o2-side,.lf-bar,.modal) .o2-btn{height:32px;font-size:12.5px}.card-title,.d2-h{font-size:14px;font-weight:700;letter-spacing:-.005em}.card-sub{font-size:12px}.o2-box-h b{font-size:13px;font-weight:700}.d2-tbl th,.o2-tbl th,.tbl th{font-size:12px;font-weight:600;color:var(--text-sub)}.d2-tbl td,.o2-tbl td,.tbl td{font-size:13px}.d2-tbl th,.o2-tbl th{background:var(--sch-head);padding-top:var(--th-py);padding-bottom:var(--th-py)}.o2-tbl td{padding-top:var(--td-py);padding-bottom:var(--td-py)}.d2-tbl td{height:36px}.d2-kpi-v,.kpi-value,.o2-kpi .v{font-size:22px;font-weight:700;letter-spacing:-.01em}.d2-kpi-l,.kpi-label,.o2-kpi .l{font-size:12px}.d2-kpi-u,.kpi-sub,.o2-kpi .s{font-size:11.5px}.d2-st,.o2-st{font-size:12px}.mi{flex:none;vertical-align:-2px;margin-right:6px}.d2-h>.title-ic,.mi,.o2-box-h b>.mi{color:var(--text-sub)}.d2-h>.title-ic{vertical-align:-2.5px;margin-right:7px}.d2-kpi-l>.mi{margin-right:5px;vertical-align:-1.5px}.o2-kpi-b{flex:1 1;min-width:0}.o2-kpi .d,.o2-kpi .l,.o2-kpi .s,.o2-kpi .v{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.o2-kpi .v{line-height:1.2}.o2-kpi .v .pc{font-size:12px;font-weight:600;color:var(--text-sub);margin-left:7px;letter-spacing:0;line-height:1}.o2-kpi[data-hue=green] .v .pc{color:var(--c-green-fg)}.o2-kpi[data-hue=red] .v .pc{color:var(--c-red-fg)}.o2-kpi[data-hue=amber] .v .pc{color:var(--c-amber-fg)}.o2-kpi.crit .d{color:var(--c-red-fg);font-weight:500}.o2-kpi.crit.calm .d{color:var(--text-sub)}.o2-kpi{gap:10px;padding:14px 12px 12px 14px}.o2-kpi .ic{width:32px;height:32px}.o2-tbl td,.o2-tbl th{padding-left:8px;padding-right:8px}.o2-pct{gap:6px}.o2-pct span{width:38px}.o2-pct .t{width:60px}.o2-tbl td:last-child,.o2-tbl th:last-child{width:36px}.o2-kpi .d,.o2-kpi .l,.o2-kpi .s{height:16px;line-height:16px}.o2-kpi .v{height:28px;line-height:28px}.o2-kpi .d,.o2-kpi .v{margin-top:2px}.d2,.d2-charts,.l2-row,.o2-body,.o2-main{gap:16px}.stack>.collapse:not(.open){margin-top:-16px}.stack:has(.sched){gap:16px}.stack:has(.sched)>.page-head{margin-bottom:0}.o2-head>:first-child{flex:1 1 240px;min-width:0}.o2-head>.o2-tools{margin-left:auto;justify-content:flex-end}.o2-ib:disabled{opacity:.4;cursor:default}.o2-kpis[data-n="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:1100px){.o2-kpis[data-n="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}}.o2-tbl tr.grp-head td{font-weight:600;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-top:1px solid var(--ink-07);border-bottom:0;box-shadow:inset 0 -1px 0 var(--ink-06)}.o2-tbl tbody tr.grp-head:hover td,.o2-tbl tfoot td,.o2-tbl tr.grp-head td{background:var(--bg-strip)}.o2-tbl tfoot td{height:40px;padding-top:0;padding-bottom:0;font-weight:600;border-top:1px solid var(--ink-08);white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.o2-tbl tr.gone-sep td{height:auto;padding-top:10px;padding-bottom:4px;font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--dim);border-top:1px dashed var(--ink-10);cursor:default}.o2-tbl tbody tr.gone-sep:hover td,.o2-tbl tr.gone-sep td{background:var(--bg-panel)}.o2-tbl tbody tr.static{cursor:default}.o2-tbl tr.dim td{color:var(--dim)}.o2-tbl td.r,.o2-tbl th.r{text-align:right}.pay-tbl td{height:48px}.pay-sv{display:inline-block;margin-left:6px;padding:0 5px;border-radius:4px;font-size:10px;font-weight:700;line-height:16px;vertical-align:1px;background:var(--ink-06);color:var(--text-sub)}.pay-acts{display:inline-flex;align-items:center;gap:2px}.pp-info{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,280px);grid-gap:10px 24px;gap:10px 24px;padding:14px 16px}.pp-lines{display:flex;flex-direction:column;gap:7px;font-size:12.5px;line-height:1.5;color:var(--text)}.pp-line{display:grid;grid-template-columns:104px minmax(0,1fr);grid-gap:10px;gap:10px}.pp-next{display:flex;flex-direction:column;gap:6px;border-left:1px solid var(--ink-07);padding-left:18px;font-size:12.5px}.pp-next>b{font-size:12px;color:var(--text-sub);font-weight:600;margin-bottom:2px}.pp-next>span{display:flex;gap:6px;flex-wrap:wrap}@media (max-width:900px){.pp-info{grid-template-columns:1fr}.pp-next{border-left:0;padding-left:0}}.ps-side{gap:12px}.ps-hero{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:10px;background:var(--ink-03);border:1px solid var(--ink-07)}.ps-hero .l{font-size:12px;color:var(--text-sub)}.ps-hero .v{font-size:30px;font-weight:800;letter-spacing:-.02em;color:var(--text);line-height:1.1}.ps-hero .t{height:6px;border-radius:3px;background:var(--ink-06);overflow:hidden;margin-top:2px}.ps-hero .t b{display:block;height:100%;border-radius:3px;background:var(--c-green-fg)}.ps-hero .s{font-size:12px;color:var(--text-sub)}.ps-hero .s b{color:var(--text);font-weight:600}.ps-hero .tax{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:8px;margin-top:2px;border-top:1px dashed var(--ink-10);font-size:12.5px;color:var(--text-sub)}.ps-hero .tax>span:last-child{font-weight:700;color:var(--text)}.ps-pay{width:100%;justify-content:center;margin-top:4px}.ps-lines{display:flex;flex-direction:column}.ps-line{display:flex;align-items:flex-start;gap:10px;padding:6px 0;border-bottom:1px dashed var(--ink-06);font-size:12.5px}.ps-line:last-child{border-bottom:0}.ps-line .k{flex:1 1;min-width:0;color:var(--text)}.ps-line .k small{display:block;font-size:11px;color:var(--dim);line-height:1.4}.ps-line .v{white-space:nowrap;color:var(--text)}.ps-line.minus .v{color:var(--c-red-fg)}.ps-line.total{font-weight:700}.ps-list{display:flex;flex-direction:column}.ps-it{display:flex;align-items:center;gap:8px;min-height:30px;padding:4px 0;border-bottom:1px solid var(--ink-04);font-size:12.5px}.ps-it:last-child{border-bottom:0}.ps-it .d{flex:none;min-width:42px}.ps-it .c,.ps-it .d{color:var(--text-sub)}.ps-it .c{flex:1 1;min-width:0;line-height:1.35;overflow-wrap:anywhere}.ps-it b{flex:none;font-weight:600;color:var(--text)}.ps-it .acts{display:inline-flex;gap:2px;flex:none}.ps-it.dim .c,.ps-it.dim .d{color:var(--dim)}.ps-chip{flex:none;font-size:11px;font-weight:500;padding:1px 7px;border-radius:5px;background:var(--c-gray-bg);color:var(--c-gray-fg);border:1px solid var(--c-gray-bd)}.ps-chip[data-hue=green]{background:var(--c-green-bg);color:var(--c-green-fg);border-color:var(--c-green-bd)}.ps-chip[data-hue=red]{background:var(--c-red-bg);color:var(--c-red-fg);border-color:var(--c-red-bd)}.ps-chip[data-hue=amber]{background:var(--c-amber-bg);color:var(--c-amber-fg);border-color:var(--c-amber-bd)}.ps-empty{font-size:12px;color:var(--dim)}.ps-note{font-size:11.5px;color:var(--dim);line-height:1.45;margin-top:8px}.ps-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.ps-grid>div{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:8px;background:var(--ink-03);min-width:0}.ps-grid span{font-size:10.5px;color:var(--text-sub);white-space:nowrap}.ps-grid b{font-size:14px;color:var(--text)}.ps-grid b.o2-g{color:var(--c-green-fg)}.ps-grid b.o2-r{color:var(--c-red-fg)}.ps-acts{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;padding-bottom:2px}.ps-acts .o2-btn{justify-content:center}.pf-card{overflow:hidden}.pf-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px 12px}.pf-sub{font-size:12px;color:var(--text-sub);line-height:1.45;margin-top:3px}.pf-sum{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink-06);border-bottom:1px solid var(--ink-06)}.pf-sum>div{display:flex;flex-direction:column;gap:2px;padding:10px 16px;border-left:1px solid var(--ink-06);min-width:0}.pf-sum>div:first-child{border-left:0}.pf-sum span{font-size:11.5px;color:var(--text-sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pf-sum b{font-size:18px;font-weight:700;color:var(--text)}.pf-sum b.o2-g{color:var(--c-green-fg)}.pf-sum b.o2-r{color:var(--c-red-fg)}.pf-note{display:flex;gap:8px;align-items:flex-start;margin:12px 16px 0;padding:9px 12px;border-radius:8px;font-size:12.5px;line-height:1.5;border:1px solid var(--c-gray-bd);background:var(--c-gray-bg);color:var(--text)}.pf-note[data-hue=green]{border-color:var(--c-green-bd);background:color-mix(in srgb,var(--c-green-bg) 60%,var(--bg-panel))}.pf-note[data-hue=red]{border-color:var(--c-red-bd);background:color-mix(in srgb,var(--c-red-bg) 60%,var(--bg-panel))}.pf-note>svg{flex:none;margin-top:2px}.pf-note[data-hue=green]>svg{color:var(--c-green-fg)}.pf-note[data-hue=red]>svg{color:var(--c-red-fg)}.pf-card>.pf-note+.o2-scroll,.pf-card>.pf-sum+.o2-scroll{margin-top:12px}.pf-card>.o2-scroll+.o2-scroll{margin-top:0}.pf-approve{padding:14px 16px 16px;border-top:1px solid var(--ink-06)}@media (max-width:900px){.pf-sum{grid-template-columns:repeat(2,minmax(0,1fr))}.pf-sum>div:nth-child(3){border-left:0}}.kpi{display:grid;grid-template-columns:34px minmax(0,1fr);grid-column-gap:12px;column-gap:12px;grid-row-gap:3px;row-gap:3px;align-content:start;padding:14px 12px 12px 14px}.kpi:not(:has(>.kpi-icb)){grid-template-columns:minmax(0,1fr)}.kpi>:not(.kpi-icb){grid-column:-2/-1;min-width:0}.kpi-icb{grid-column:1;grid-row:1/span 3;align-self:start;width:34px;height:34px;border-radius:8px;display:grid;place-items:center;background:var(--ink-04);color:var(--text-sub)}.kpi.click{cursor:pointer}.kpi-grid{gap:0;row-gap:0;background:var(--bg-panel);border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow-xs);overflow:hidden}.kpi-grid>.card,.kpi-grid>.kpi.card{border:0;border-radius:0;background:transparent;box-shadow:-1px 0 0 var(--ink-06),0 -1px 0 var(--ink-06)}.kpi-grid>.kpi.click:hover{background:var(--ink-03)}.kpi-grid>.kpi{row-gap:3px}.app-content>div>.stack>.toolbar{background:var(--bg-panel);border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow-xs);padding:10px}.seg{padding:3px;gap:0;border-radius:9px;background:var(--ink-06);border:0}.seg>button{border-radius:7px;padding:0 14px;font-size:13px}.seg>button[aria-pressed=true]{box-shadow:none}.field .seg>button{padding:0 10px}.page-head .btn{font-weight:600}.tbl th.sticky-col{background:var(--sch-head)}.app-content .tbl:not(.sched)>tbody>tr>td{height:44px}.kpi{grid-template-columns:32px minmax(0,1fr)}.kpi-icb{width:32px;height:32px}.o2-sub,.page-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:none}.o2-sub-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:7px;vertical-align:1px;background:var(--dim)}.o2-sub-dot[data-hue=green]{background:var(--c-green-fg)}.o2-sub-dot[data-hue=amber]{background:var(--c-amber-fg)}.o2-sub-dot[data-hue=red]{background:var(--c-red-fg)}.btn{font-weight:600;box-shadow:none}.btn:not(.btn-ghost):not(.btn-primary):not(.btn-danger):not(.btn-danger-solid){color:var(--text)}.btn-primary,.o2-btn{box-shadow:none}:is(.o2-side,.lf-bar,.modal) .o2-btn{font-size:13px}.btn:disabled,.o2-btn:disabled{opacity:.5;cursor:not-allowed}.lf-l,.o2-nf-l{font-size:12px;font-weight:500;color:var(--text-sub)}.o2-pop,.sel-pop{border-radius:10px;border:1px solid var(--ink-10);box-shadow:var(--shadow-xl);background:var(--bg-modal)}.sel-pop{padding:6px}.sel-opt{border-radius:6px;padding:7px 10px 7px 8px}.o2-pop a.it,.o2-pop button.it,.o2-pop label{font-size:13px;border-radius:6px;padding:7px 10px}.o2-pop .tt{font-size:11px;padding:6px 10px 4px}.chip,.o2-st{height:22px;padding:0 8px;border-radius:6px;font-size:12px;font-weight:500;line-height:20px}.o2-st{padding-left:7px}.modal-title{font-size:17px;font-weight:700;letter-spacing:-.01em}.modal-head{padding:16px 18px 12px}.o2-tbl td{padding-top:6px;padding-bottom:6px}.pay-tbl td{height:44px}.kpi-label{line-height:16px}.kpi-value{line-height:28px}.kpi-sub{line-height:16px}.collapse{transition:grid-template-rows .3s var(--ease),opacity .22s var(--ease),margin-top .3s var(--ease)}.o2-main>.collapse:not(.open),.stack>.collapse:not(.open){margin-top:-16px}@media (prefers-reduced-motion:reduce){.collapse{transition:none}}.o2-btn.ghost{border-color:transparent;background:transparent;color:var(--text-sub)}.o2-btn.ghost:hover{background:var(--ink-05);color:var(--text);border-color:transparent}.o2-btn{padding:0 13px}:is(.o2-side,.lf-bar,.modal) .o2-btn{padding:0 12px}.rep-w{width:100%;max-width:960px}.o2-side{top:calc(12px + var(--sh-h, 0px));max-height:calc(100vh / var(--ui-scale, 1) - 24px - var(--sh-h, 0px));transition:top .2s var(--ease),max-height .2s var(--ease)}@media (max-width:1180px){.o2-side{top:auto;max-height:none}}@media (prefers-reduced-motion:reduce){.o2-side{transition:none}}.lc-wrap{padding:0;gap:0;overflow:hidden;height:calc(100vh / var(--ui-scale, 1) - 24px - var(--sh-h, 0px))}@media (min-width:1181px){.o2-body.has-side:has(>.lc-wrap){grid-template-columns:minmax(0,1fr) clamp(var(--side-w),30vw,460px)}}@media (max-width:1180px){.lc-wrap{height:auto}.lc-side .lc-pane{max-height:70vh}}.modal-body.bare{padding:0;gap:0;overflow:hidden;flex:1 1;min-height:0}.lc{display:flex;flex-direction:column;min-height:0;height:100%}.lc-modal{height:min(780px,calc(100vh / var(--ui-scale, 1) - 48px))}.lc-head{display:flex;align-items:flex-start;gap:4px;padding:14px 12px 4px 16px}.lc-id{flex:1 1;min-width:0}.lc-name{font-size:17px;font-weight:700;line-height:1.25;color:var(--text);overflow-wrap:anywhere}.lc-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:5px}.lc-phone{display:inline-flex;align-items:center;gap:6px;border:0;background:none;padding:0;font:inherit;font-size:13px;color:var(--text);cursor:pointer}.lc-phone svg{color:var(--dim)}.lc-phone:hover svg{color:var(--text)}.lc-ic{width:30px;height:30px;flex:none;display:grid;place-items:center;border:0;border-radius:8px;background:none;color:var(--text-sub);cursor:pointer}.lc-ic:hover{background:var(--ink-05);color:var(--text)}.lc-line{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;padding:4px 16px 12px;font-size:12px;color:var(--text-sub)}.lc-line>span{display:inline-flex;align-items:center;gap:5px}.lc-pane{flex:1 1;min-height:0;overflow-y:auto;padding:12px 16px 14px}.lc-foot{display:flex;align-items:center;gap:8px;padding:10px 16px 12px;border-top:1px solid var(--ink-06);background:var(--bg-panel)}.lc .inp{height:34px;font-size:12.5px}.lc .lf-ta{height:auto}.lc .lead-time{height:34px}.lc-player{display:flex;align-items:center;gap:10px;padding:7px 10px 7px 7px;border-radius:999px;background:var(--ink-04);border:1px solid var(--ink-06)}.lc-player audio{display:none}.lc-play{width:30px;height:30px;flex:none;display:grid;place-items:center;border:0;border-radius:50%;background:var(--brand);color:var(--on-brand);cursor:pointer}.lc-seek{flex:1 1;min-width:0;height:4px;margin:0;border-radius:2px;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;background:linear-gradient(to right,var(--brand) var(--p,0),var(--ink-10) var(--p,0))}.lc-seek::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:var(--brand);border:0}.lc-seek::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--brand);border:0}.lc-time{font-size:11.5px;white-space:nowrap}.lc-speed,.lc-time{color:var(--text-sub)}.lc-speed{min-width:38px;padding:2px 6px;border:1px solid var(--ink-10);border-radius:6px;background:none;font:inherit;font-size:11px;cursor:pointer}.lc-speed:hover{color:var(--text)}.lc-pin{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border:1px dashed var(--ink-10);border-radius:8px;font-size:12px;line-height:1.45;color:var(--text-sub)}.lc-pin svg{flex:none;margin-top:2px}.lsn{display:flex;flex-direction:column;gap:7px;padding:10px 12px;border:1px solid var(--c-amber-bd);border-left:3px solid var(--c-amber-fg);border-radius:8px;background:var(--c-amber-bg)}.lsn-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 10px;font-size:12px;color:var(--c-amber-fg)}.lsn-head b{font-weight:700}.lsn-tag{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;opacity:.85}.lsn-text{margin:0;font-size:13px;line-height:1.5;color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere}.lsn-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 10px;font-size:11px;color:var(--text-sub)}.lsn-tools{display:inline-flex;gap:10px}.lsn-acts{display:flex;gap:6px}.lsn textarea{width:100%;background:var(--bg-modal)}.lsn-add{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:7px 10px;border:1px dashed var(--c-amber-bd);border-radius:8px;background:transparent;color:var(--c-amber-fg);font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:background .12s}.lsn-add:hover{background:var(--c-amber-bg)}.lsn-mark{display:inline-grid;place-items:center;width:16px;height:16px;margin-left:5px;border-radius:5px;background:var(--c-amber-bg);color:var(--c-amber-fg);vertical-align:-3px;box-shadow:inset 0 0 0 1px var(--c-amber-bd);cursor:help}.lc-chat{flex:1 1;min-height:0;overflow-y:auto;padding:0 2px 4px}.lc-chat,.lc-msg{display:flex;flex-direction:column}.lc-msg{max-width:88%;margin-top:10px}.lc-msg.cont{margin-top:3px}.lc-msg:first-child{margin-top:0}.lc-msg.cl{align-self:flex-start}.lc-msg.op{align-self:flex-end;align-items:flex-end}.lc-who{margin:0 6px 3px;font-size:11px;font-weight:600;color:var(--text-sub)}.lc-bub{padding:7px 10px 6px;border:1px solid var(--ink-07);border-radius:12px;background:var(--bg-panel);font:inherit;font-size:12.5px;line-height:1.5;color:var(--text);text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;cursor:pointer}.lc-msg.cl:not(.cont) .lc-bub{border-top-left-radius:4px}.lc-msg.op .lc-bub{background:var(--ink-06);border-color:transparent}.lc-msg.op:not(.cont) .lc-bub{border-top-right-radius:4px}.lc-bub:hover{border-color:var(--ink-15)}.lc-msg.now .lc-bub{outline:2px solid var(--text);outline-offset:1px}.lc-ts{float:right;margin:5px 0 0 10px;font-size:10.5px;line-height:1;color:var(--dim)}.lc-talk-f{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:11.5px;color:var(--text-sub)}.lc-dot{display:inline-block;width:8px;height:8px;border-radius:50%;vertical-align:-1px}.lc-dot.op{background:var(--ink-15)}.lc-dot.cl{background:var(--bg-panel);border:1px solid var(--ink-15)}.lc-link{display:inline-flex;align-items:center;gap:5px;padding:2px 0;border:0;background:none;font:inherit;font-size:11.5px;color:var(--text-sub);cursor:pointer}.lc-link:hover{color:var(--text)}.lc-link.danger{color:var(--c-red-fg);align-self:flex-start}.lc-sub{font-size:11.5px;color:var(--dim)}.lc-sub.err{color:var(--c-red-fg)}.lc-spin{width:16px;height:16px;display:inline-block;border-radius:50%;border:2px solid var(--ink-10);border-top-color:var(--text);animation:lc-spin .8s linear infinite}.lc-spin.sm{width:10px;height:10px;border-width:1.5px}@keyframes lc-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.lc-spin{animation:none}}.lc-info{display:flex;flex-direction:column;gap:14px}.lc-dl{display:grid;grid-template-columns:92px minmax(0,1fr);margin:0;font-size:12.5px}.lc-dl dd,.lc-dl dt{margin:0;padding:8px 0;border-bottom:1px solid var(--ink-05)}.lc-dl dt{color:var(--text-sub)}.lc-dl dd{min-width:0;color:var(--text)}.lc-hint{margin-top:3px;font-size:11.5px;line-height:1.4}.lc-op{gap:6px}.lc-a,.lc-op{display:inline-flex;align-items:center}.lc-a{gap:4px;color:var(--text);text-decoration:underline;text-underline-offset:3px}.lc-cm{display:flex;flex-direction:column;gap:6px}.lc-cap{font-size:11.5px;color:var(--text-sub)}.lc-wide{width:100%;justify-content:center}.lc-edit{gap:12px}.lc-tl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.lc-tl>li{position:relative;display:grid;grid-template-columns:16px minmax(0,1fr);grid-gap:10px;gap:10px;padding-bottom:16px}.lc-tl>li:before{content:"";position:absolute;top:14px;bottom:0;width:1px;background:var(--ink-08)}.lc-tl>li:last-child:before{display:none}.lc-tl-dot{border-radius:50%;background:var(--ink-15);box-shadow:0 0 0 3px var(--bg-panel)}.lc-tl>li[data-hue=green] .lc-tl-dot{background:var(--c-green-fg)}.lc-tl>li[data-hue=red] .lc-tl-dot{background:var(--c-red-fg)}.lc-tl-b{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:12px}.lc-tl-h{display:flex;justify-content:space-between;gap:8px}.lc-tl-h b{font-weight:600;color:var(--text)}.lc-tl-h span{white-space:nowrap}.lc-tl-ch{list-style:none;margin:4px 0 0;padding:6px 8px;display:flex;flex-direction:column;gap:2px;border-radius:6px;background:var(--ink-03)}.lc-tl-ch s{color:var(--dim)}.lc-pane.rv{display:flex;flex-direction:column;gap:12px}.lc-pane.rv>*{flex:none}.lc-line+.lc-pane{border-top:1px solid var(--ink-06)}.lc-decide{padding:10px 16px 12px;border-top:1px solid var(--ink-07);background:var(--bg-panel)}.lc-decide .lf-st3 button{height:38px}.rv-sum{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--ink-07);border-radius:10px}.rv-sum p{margin:0;font-size:12.5px;line-height:1.55;color:var(--text)}.rv-cap{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-sub)}.rv-cap.busy{text-transform:none;letter-spacing:0;font-size:12px;font-weight:500}.rv-verdict{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:8px;font-size:12px;background:var(--ink-04);color:var(--text-sub)}.rv-verdict b{font-weight:600;color:var(--text)}.rv-verdict[data-kind=done]{background:var(--c-green-bg)}.rv-verdict[data-kind=done] b{color:var(--c-green-fg)}.rv-verdict[data-kind=failed]{background:var(--c-red-bg)}.rv-verdict[data-kind=failed] b{color:var(--c-red-fg)}.rv-verdict[data-kind=unsure]{background:var(--c-amber-bg)}.rv-verdict[data-kind=unsure] b{color:var(--c-amber-fg)}.rv-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:6px;gap:6px}.rv-chk{align-items:flex-start;gap:8px;padding:8px;border-radius:8px;background:var(--ink-03);font-size:12px}.rv-chk,.rv-chk>div{display:flex;min-width:0}.rv-chk>div{flex-direction:column;gap:1px}.rv-chk b{font-weight:600;color:var(--text)}.rv-chk span{color:var(--text-sub);overflow-wrap:anywhere}.rv-m{width:16px;height:16px;flex:none;margin-top:1px;display:grid;place-items:center;border-radius:50%;font-size:10px;font-weight:700}.rv-m.ok{background:var(--c-green-bg);color:var(--c-green-fg)}.rv-m.no{background:var(--c-amber-bg);color:var(--c-amber-fg)}.rv-jump{align-self:flex-start;padding:0;border:0;background:none;font:inherit;font-size:11px;color:var(--dim);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.rv-jump:hover{color:var(--text)}.rv-notice{display:flex;gap:10px;padding:12px;border:1px solid var(--ink-07);border-radius:10px;font-size:12.5px}.rv-notice>div{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.rv-notice b{font-weight:600;color:var(--text)}.rv-notice p{margin:0 0 6px;line-height:1.5;color:var(--text-sub)}.rv-notice-ic{width:30px;height:30px;flex:none;display:grid;place-items:center;border-radius:50%;background:var(--ink-05);color:var(--text-sub)}.rv-notice.err .rv-notice-ic{background:var(--c-red-bg);color:var(--c-red-fg)}.rv-notice.err p{color:var(--c-red-fg)}.rv-fold{border:1px solid var(--ink-07);border-radius:10px}.rv-fold>summary{display:flex;align-items:center;gap:8px;padding:10px 12px;list-style:none;cursor:pointer;font-size:12.5px;font-weight:600;color:var(--text)}.rv-fold>summary::-webkit-details-marker{display:none}.rv-fold>summary .o2-muted{margin-left:auto;font-weight:400;font-size:12px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rv-fold>summary:hover{background:var(--ink-03);border-radius:10px}.rv-chev{flex:none;color:var(--dim);transition:transform .15s var(--ease)}.rv-fold[open]>summary .rv-chev{transform:rotate(180deg)}.rv-fold>:not(summary){margin:2px 12px 12px}.rv-chat{flex:none;max-height:380px}@media (prefers-reduced-motion:reduce){.rv-chev{transition:none}}.lc-ghost i{display:block;flex:none;height:9px;border-radius:5px;background:var(--ink-05)}.lc-ghost .lc-line{min-height:34px}.lc-ghost-hint{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 12px 6px;text-align:center;font-size:12.5px;line-height:1.5;color:var(--text-sub)}.lc-ghost-hint .ic{width:40px;height:40px;margin-bottom:4px;display:grid;place-items:center;border-radius:50%;background:var(--ink-05);color:var(--text-sub)}.lc-ghost-hint b{font-size:14px;color:var(--text)}.lc-ghost-player{height:46px;border:1px dashed var(--ink-08);border-radius:999px}.lc-ghost .rv-fold{border-style:dashed}.lc-ghost-row{padding:14px 12px}.lc-ghost-box{display:flex;flex-direction:column;padding:14px 12px 6px}.lc-ghost-box>i{margin-bottom:8px}.lc-ghost-dl{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;padding:7px 0;border-bottom:1px solid var(--ink-05);font-size:12.5px;color:var(--dim)}.lc-ghost-dl:last-child{border-bottom:0}.lc-ghost-btn{height:38px;display:grid;place-items:center;border:1px dashed var(--ink-08);border-radius:8px;font-size:12.5px;font-weight:600;color:var(--dim)}.lc-ghost .lc-decide:after{content:"";display:block;width:60%;height:9px;margin:9px 0 5px;border-radius:5px;background:var(--ink-05)}.skh-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px;line-height:1.45}.skh-top>.o2-muted{flex:1 1;min-width:220px}.skh-cap{font-size:12px;font-weight:600;color:var(--text-sub)}.skh-list{display:flex;flex-direction:column;border:1px solid var(--ink-07);border-radius:10px;max-height:420px;overflow-y:auto}.skh-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:3px 12px;gap:3px 12px;padding:9px 12px;border-bottom:1px solid var(--ink-05);font-size:12.5px}.skh-row:last-child{border-bottom:0}.skh-row>b{font-weight:600;color:var(--text)}.skh-h{text-align:right;white-space:nowrap}.skh-h s{color:var(--dim)}.skh-parts{grid-column:1/-1;font-size:11.5px}.skh-skip{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:10px;background:var(--c-amber-bg);font-size:12px;color:var(--text)}.skh-skip>b{font-weight:600;color:var(--c-amber-fg)}.skh-err{border-radius:10px;background:var(--c-red-bg);color:var(--c-red-fg);font-size:12.5px}.lw,.skh-err{padding:10px 12px}.lw{display:flex;flex-direction:column;gap:6px;border:1px solid var(--ink-07);border-radius:12px;background:var(--bg-panel)}.lw audio{display:none}.lw-row{display:flex;align-items:center;gap:10px;height:44px}.lw-play{width:40px;height:40px;flex:none;display:grid;place-items:center;padding:0;line-height:0;border:0;border-radius:12px;background:var(--brand);color:var(--on-brand);cursor:pointer;box-shadow:0 6px 16px -6px color-mix(in srgb,var(--brand) 80%,transparent);transition:transform .15s var(--ease),background .15s}.lw-play:hover{background:var(--brand-strong);transform:scale(1.05)}.lw-bars{flex:1 1;min-width:0;height:100%;display:flex;align-items:center;justify-content:space-between;cursor:pointer;border-radius:6px}.lw-bars:focus-visible{outline:2px solid var(--text);outline-offset:2px}.lw-bars i{flex:none;width:2px;border-radius:1px;display:block;transition:background-color .15s}.lw{--lw-op:#6da886;--lw-cl:#8597c2;--lw-rest:26%}:root:not([data-theme=light]) .lw{--lw-op:#5aa077;--lw-cl:#7f97cc;--lw-rest:35%}.lw-bars i.op{background:color-mix(in srgb,var(--lw-op) var(--lw-rest),transparent)}.lw-bars i.cl{background:color-mix(in srgb,var(--lw-cl) var(--lw-rest),transparent)}.lw-bars i.gap{background:var(--ink-08)}.lw-bars i.op.done{background:var(--lw-op)}.lw-bars i.cl.done{background:var(--lw-cl)}.lw-bars i.gap.done{background:var(--ink-15)}.lw-bars i.rec{background:color-mix(in srgb,var(--lw-op) var(--lw-rest),transparent)}.lw-bars i.rec.done{background:var(--lw-op)}.lw-foot{display:flex;align-items:center;gap:10px;height:20px;font-size:11.5px}.lw-legend{flex:1 1;min-width:0;color:var(--text-sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lw .lc-dot.op{background:var(--lw-op);border:0}.lw .lc-dot.cl{background:var(--lw-cl);border:0}.qa-list{display:flex;flex-direction:column;gap:8px;max-height:420px;overflow-y:auto}.qa-card{flex:none;border:1px solid var(--ink-07);border-radius:10px;overflow:hidden}.qa-a,.qa-q{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr);grid-gap:6px;gap:6px;padding:8px 10px;border:0;background:none;font:inherit;font-size:12.5px;line-height:1.45;text-align:left;color:var(--text);cursor:pointer}.qa-q{background:var(--ink-03);color:var(--text-sub)}.qa-a{font-weight:500}.qa-a+.qa-a,.qa-q+.qa-q{border-top:1px dashed var(--ink-07)}.qa-a.now,.qa-a:hover,.qa-q.now,.qa-q:hover{background:var(--ink-05)}.qa-a.now,.qa-q.now{box-shadow:inset 3px 0 0 var(--text);color:var(--text)}.qa-ts{padding-top:2px;font-size:10.5px;color:var(--dim)}.qa-tag{margin-left:6px;padding:0 5px;border-radius:4px;background:var(--c-amber-bg);color:var(--c-amber-fg);font-size:10px;font-weight:700;vertical-align:1px}.qa-key{display:inline-block;width:10px;height:8px;border-radius:2px;vertical-align:0}.qa-key.q{background:var(--ink-08)}.qa-key.a{border:1px solid var(--ink-15)}@media (prefers-reduced-motion:reduce){.lw-bars i{transition:none}}.o2-grp{overflow:hidden}.o2-grp-h{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:12px 14px 4px;font-size:12px}.o2-grp-h b{font-size:13px;font-weight:600;color:var(--text)}.o2-grp .o2-tbl td{height:40px}.o2-grp-n{display:inline-flex;align-items:center;gap:8px;font-weight:500}.o2-grp-n i{width:8px;height:8px;border-radius:50%;flex:none}.o2-grp-n svg{color:var(--text-sub)}.o2-grp-total td{font-weight:600;background:var(--ink-03)}.o2-grp-total .o2-grp-n{font-weight:700}@media (max-width:1280px){:root{--pad-t:18px;--pad-x:20px;--pad-b:32px}}@media (max-height:820px){:root{--pad-t:14px;--pad-b:24px;--ctl-h:34px;--th-py:7px;--td-py:6px;--sch-row:40px;--sch-lane:30px;--sch-col:38px;--sch-head-h:46px;--sch-grp-h:34px;--sch-foot-h:54px;--sch-week-h:32px}.o2-title,.page-title{font-size:25px}.o2-sub,.page-sub{margin-top:2px;font-size:12.5px}.page-head{margin-bottom:4px}.stack:has(.sched){gap:8px}.stack:has(.sched) .page-head{margin-bottom:4px}.app-content>div>.stack>.toolbar{padding:8px}.app-content .tbl:not(.sched)>tbody>tr>td{height:38px}}@media (max-width:900px){:root{--pad-t:16px;--pad-x:14px;--pad-b:32px}}@media (max-width:900px) and (max-height:820px){:root{--pad-t:12px;--pad-b:24px}}.lf-brief{white-space:pre-wrap;font-size:12.5px;line-height:1.5;color:var(--text);background:var(--ink-04,var(--ink-05));border:1px solid var(--ink-07);border-radius:8px;padding:8px 10px;max-height:220px;overflow:auto}.lf-checks{display:flex;flex-direction:column;gap:6px}.lf-check{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer;padding:5px 8px;border-radius:7px;border:1px solid var(--ink-07)}.lf-check input{margin:0;width:15px;height:15px;accent-color:var(--c-green-fg)}.lf-check.on{border-color:var(--c-green-bd);background:var(--c-green-bg)}.modal-title:has(.lf-mh){flex:1 1;min-width:0}.lf-mh{display:flex;width:100%}.lf-proj{display:inline-flex;gap:2px;padding:2px;border-radius:9px;background:var(--ink-05);border:1px solid var(--ink-07);align-self:flex-start}.lf-proj.head{margin-left:auto;margin-right:6px}.lf-proj.bad{border-color:var(--c-red-fg);box-shadow:0 0 0 2px var(--c-red-bg)}.lf-proj button{display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 12px;border:0;border-radius:7px;background:none;color:var(--text-sub);font:inherit;font-size:13px;font-weight:600;letter-spacing:0;cursor:pointer;white-space:nowrap}.lf-proj button i{width:8px;height:8px;border-radius:3px;flex:none;opacity:.55}.lf-proj button:hover:not(:disabled){color:var(--text)}.lf-proj button.on{background:var(--bg-panel);color:var(--text);box-shadow:0 1px 2px rgba(0,0,0,.12),0 0 0 1px var(--ink-07)}.lf-proj button.on i{opacity:1}.lf-proj button:disabled{cursor:default}.lc-form{border:1px solid var(--ink-08,var(--ink-07));border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.lc-form.ok{border-color:var(--c-green-bd);background:color-mix(in srgb,var(--c-green-bg) 55%,transparent)}.lc-form-h{display:flex;align-items:center;gap:7px;font-size:13px;flex-wrap:wrap}.lc-form-h .o2-muted{font-size:12px}.lc-form-l{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:4px 12px;gap:4px 12px;font-size:12.5px}.lc-form-l li{display:flex;align-items:center;gap:6px;min-width:0}.lc-form-l li.on svg{color:var(--c-green-fg);flex:none}.lc-form-l li.off{color:var(--c-red-fg)}.lc-form-l li.off svg{flex:none}.l2-tag.pr{color:var(--pr-fg);background:var(--pr-bg);border-color:var(--pr-bd);font-weight:500}.lf-brief-btn{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px;border-radius:7px;border:1px solid var(--ink-12);background:var(--bg-panel);color:var(--text);font:inherit;font-size:12px;font-weight:600;cursor:pointer}.lf-brief-btn.on,.lf-brief-btn:hover{background:var(--ink-05)}.lf-brief-btn,.lf-mh{white-space:nowrap}.lead-missing.dup{color:var(--c-red-fg)}.lf-brief-pop{width:460px;max-width:calc(100vw - 32px);padding:10px 12px 12px;display:flex;flex-direction:column;gap:8px}.lf-brief-pop .lf-brief{max-height:min(420px,60vh);background:none;border:0;padding:0}.lf-brief-h{font-size:13px;font-weight:700}.lf-checks-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:6px;gap:6px}.lf-checks-g .lf-check{font-size:12.5px;padding:6px 8px;min-width:0}.lf-checks-g .lf-check span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:560px){.lf-checks-g{grid-template-columns:1fr}}.modal:has(.lf-body.lf-new) .modal-body{height:min(var(--lf-new-h,640px),calc(100vh / var(--ui-scale, 1) - 210px))}.lw-foot .lw-ib+.lc-speed,.lw-foot .lw-ib+.lw-ib{margin-left:-4px}.lw-ib{display:inline-grid;place-items:center;width:28px;height:22px;padding:0;border:1px solid var(--ink-10);border-radius:6px;background:none;color:var(--text-sub);cursor:pointer;flex:none}.lw-ib.on,.lw-ib:hover{color:var(--text);background:var(--ink-05)}.lw-vol{display:flex;align-items:center;gap:8px;padding:8px 10px;font-size:12px;color:var(--text-sub)}.lw-vol input[type=range]{width:120px;accent-color:var(--text)}.lw-vol .num{min-width:34px;text-align:right}.lc-tl{padding-top:2px}.lc-tl>li{grid-template-columns:15px minmax(0,1fr);gap:9px;padding-bottom:14px}.lc-tl>li:last-child{padding-bottom:0}.lc-tl>li:before{left:7px;top:15px}.lc-tl-dot{width:9px;height:9px;margin:4px 0 0 3px}.lc-tl-b{line-height:17px;gap:1px}.lc-tl-h{align-items:baseline}.lc-tl-h b{font-size:12.5px}.lc-tl-h span{font-size:11.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lc-tl-b>.o2-muted{font-size:12px}.o2-filters.o2-2r{flex-direction:column;flex-wrap:nowrap;align-items:stretch;justify-content:flex-start;gap:8px}.o2-frow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.o2-2r .o2-search{flex:1 1 320px;max-width:none}.o2-2r .o2-found{margin-left:4px}.o2-frow>.sel-trigger{flex:1 1 120px;min-width:110px;max-width:none;width:auto!important}.o2-frow>.o2-badge{flex:none}.o2-frow>.o2-btn{flex:1 0 auto;justify-content:center}.o2-frow>.o2-muted{flex:1 1 200px;min-width:0}.o2-frow:empty{display:none}.o2-frow:not(:has(>.sel-trigger)):not(:has(>.o2-muted))>.o2-btn{flex:1 1 auto;justify-content:center}.seg.seg-fill{display:flex;width:100%}.seg.seg-fill>button{flex:1 1}.pp-bar .pp-nav{flex:1 1 auto}.pp-bar .pp-label{flex:1 1 auto;justify-content:center}.toolbar.rep-w>.seg{flex:none;flex-wrap:nowrap}.toolbar.rep-w>.rep-date{flex:1 1 230px;min-width:max-content}.rep-date>.date-inp{flex:1 1 130px;min-width:130px}.rep-date>.btn{flex:none}.exp-proj{display:flex;flex-wrap:wrap;gap:2px;padding:2px;border-radius:9px;background:var(--ink-05);border:1px solid var(--ink-07)}.exp-proj button{flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;gap:7px;height:30px;padding:0 10px;border:0;border-radius:7px;background:none;font:inherit;font-size:13px;font-weight:600;color:var(--text-sub);cursor:pointer;white-space:nowrap}.exp-proj button i{width:8px;height:8px;border-radius:3px;flex:none}.exp-proj button:hover{color:var(--text)}.exp-proj button.on{background:var(--bg-panel);color:var(--text);box-shadow:0 1px 2px rgba(0,0,0,.12),0 0 0 1px var(--ink-07)}.pb-chips{display:flex;flex-wrap:wrap;gap:6px}.pb-chip{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 12px;border-radius:9px;border:1px solid var(--ink-07);background:var(--bg-panel);font:inherit;font-size:13px;color:var(--text);cursor:pointer;white-space:nowrap}.pb-chip:hover{border-color:var(--ctrl-border-hover)}.pb-chip:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.pb-chip.on{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.pb-chip b{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pb-chip b[data-st=wait]{color:var(--c-amber-fg)}.pb-chip b[data-st=over]{color:var(--c-red-fg)}.pb-chip b[data-st=ok]{color:var(--c-green-fg)}.pb-break{padding:10px;display:flex;flex-direction:column;gap:10px}.pb-dims{align-self:flex-start;max-width:100%;overflow-x:auto;scrollbar-width:none}.pb-dims button{white-space:nowrap}.pb-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(196px,1fr));grid-gap:8px;gap:8px}.pb-card{display:flex;flex-direction:column;gap:6px;min-width:0;padding:10px 12px;border-radius:10px;border:1px solid var(--ink-07);background:var(--bg-panel);font:inherit;color:var(--text);text-align:left;cursor:pointer;transition:border-color .15s var(--ease),background .15s var(--ease)}.pb-card:hover{border-color:var(--ctrl-border-hover)}.pb-card:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.pb-card.on{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.pb-card-h{display:flex;align-items:center;gap:7px;min-width:0;font-size:13px;font-weight:600}.pb-card-n{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pb-card-p{flex:none;font-size:11.5px;font-weight:400;color:var(--dim)}.pb-card-f{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;font-size:11.5px;color:var(--text-sub)}.pb-card-f b{font-size:16px;font-weight:700;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pb-card-r{font-size:12px;color:var(--text-sub);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pb-bar{align-items:center}.pb-bar .o2-search{flex:1 1 200px;min-width:160px}.pb-mark{display:inline-flex;flex-direction:column;gap:1px;line-height:1.25;vertical-align:middle}.pb-mark b{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pb-mark small{font-size:11.5px;color:var(--dim);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pb-mark[data-st=ok] b{color:var(--c-green-fg)}.pb-mark[data-st=part] b{color:var(--c-amber-fg)}.pb-mark[data-st=late] b{color:var(--c-red-fg)}.pb-mark-btn{height:28px!important;padding:0 10px;gap:5px;font-size:12.5px!important;white-space:nowrap}.pb-tbl .pb-do{width:1%}.o2-tbl tr.gone-sep.pb-gone td{cursor:pointer}.o2-tbl tr.gone-sep.pb-gone td:hover{color:var(--text)}.pb-gone b{color:var(--c-amber-fg)}.pb-gone .grp-chev{vertical-align:-2px}.pb-more{padding:0;overflow:hidden}.pb-more-h{display:flex;align-items:center;gap:8px;width:100%;padding:12px 14px;border:0;background:none;font:inherit;font-size:13px;color:var(--text);cursor:pointer;text-align:left;flex-wrap:wrap}.pb-more-h b{font-weight:600}.pb-more-h .o2-muted{font-size:12px}.pm-who{gap:10px;margin-bottom:12px;font-size:14px}.pm-who b{font-weight:600;margin-right:6px}.pm-type{margin:2px 0 12px}.pm-type button{flex:1 1}.pm-list{display:flex;flex-direction:column;max-height:min(38vh,300px);overflow-y:auto;margin-bottom:12px;border:1px solid var(--ink-07);border-radius:8px}.pm-it{display:flex;align-items:center;gap:8px;min-height:38px;padding:4px 10px;font-size:13px;cursor:pointer}.pm-it+.pm-it{border-top:1px solid var(--ink-04)}.pm-it .n{flex:1 1;min-width:0;display:flex;align-items:center;gap:6px}.pm-it b{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pm-sum{font-size:13px;color:var(--text-sub)}.pm-sum b{color:var(--text);font-weight:600}.pm-note{margin-top:10px;padding:8px 10px;border-radius:8px;font-size:12.5px;line-height:1.4;background:var(--ink-04);color:var(--text-sub)}.pm-note[data-tone=warn]{background:var(--c-amber-bg);color:var(--c-amber-fg)}.pl-tbl td,.pl-tbl th{vertical-align:middle}.pl-tbl .pl-who{position:-webkit-sticky;position:sticky;left:0;z-index:1;background:var(--bg-panel);min-width:150px}.pl-tbl thead .pl-who{background:var(--sch-head)}.pl-tbl tr.grp-head .pl-who{background:var(--bg-strip)}.pl-th{min-width:118px}.pl-th b{display:block;font-weight:600;font-size:12px;color:var(--text)}.pl-th small{font-size:11px;font-weight:400;color:var(--dim)}.pl-td{padding:3px 4px!important;height:46px}.pl-sum{font-size:12px;font-weight:500;padding-left:12px!important}.pl-cell,.pl-sum{color:var(--text-sub)}.pl-cell{display:flex;flex-direction:column;gap:1px;width:100%;min-height:38px;padding:3px 8px;border:0;border-radius:7px;background:var(--ink-04);font:inherit;text-align:left;cursor:pointer}.pl-cell:disabled{cursor:default}.pl-cell:not(:disabled):hover{box-shadow:inset 0 0 0 1px var(--ctrl-border-hover)}.pl-cell:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.pl-cell b{display:inline-flex;align-items:center;gap:3px;font-size:12.5px;font-weight:600}.pl-cell small{font-size:11px;opacity:.85}.pl-cell[data-st=ok]{background:var(--c-green-bg);color:var(--c-green-fg)}.pl-cell[data-st=part]{background:var(--c-amber-bg);color:var(--c-amber-fg)}.pl-cell[data-st=late]{background:var(--c-red-bg);color:var(--c-red-fg)}@media (max-width:1180px){.pay-body.has-side>.o2-side{order:-1}}@media (max-width:760px){.pb-cards{display:flex;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch}.pb-cards::-webkit-scrollbar{display:none}.pb-card{flex:0 0 172px;scroll-snap-align:start}.pb-bar .o2-search{flex-basis:100%}.pb-bar .o2-btn{flex:1 1 auto;justify-content:center}.pb-bar .o2-btn.pri{flex-basis:100%}.ph-tools .o2-date{flex:1 1 100%;min-width:0;max-width:100%}.ph-tools .o2-date>:not(.o2-ib){flex:1 1;min-width:0;width:auto!important}.pb-tbl,.pb-tbl tbody,.pb-tbl tfoot{display:block;width:100%}.pb-tbl thead{display:none}.pb-tbl tr{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-column-gap:10px;column-gap:10px;padding:8px 12px;border-bottom:1px solid var(--ink-04)}.pb-tbl td{height:auto;padding:0;border:0;white-space:normal;display:none;background:transparent!important}.pb-tbl td.pb-who,.pb-tbl[data-mode=fot] td[data-col=gross],.pb-tbl[data-mode=pay] td[data-col=toPay]{display:block}.pb-tbl td.pb-when{display:block;grid-column:1;margin-top:4px}.pb-tbl td.pb-do{display:block;grid-column:2;margin-top:4px;width:auto}.pb-tbl tr.grp-head{background:var(--bg-strip)}.pb-tbl tr.grp-head td{box-shadow:none}.pb-tbl tfoot td.pb-do,.pb-tbl tfoot td.pb-when,.pb-tbl tr.grp-head td.pb-do,.pb-tbl tr.grp-head td.pb-when{display:none}.pb-tbl tr.gone-sep td{display:block;grid-column:1/-1}.pb-tbl tfoot tr{font-weight:600}}.rop-layout{display:grid;grid-template-columns:minmax(0,960px) 300px;grid-gap:16px;gap:16px;align-items:start}.rop-layout>canvas,.rop-side{min-width:0}.rop-side{display:flex;flex-direction:column;gap:16px;position:-webkit-sticky;position:sticky;top:64px}.rop-side-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.rop-side-title{font-size:13.5px}.rop-telecom,.rop-weeks{display:flex;flex-direction:column;padding:14px 14px 12px;gap:2px}.rop-weeks .rop-side-title{margin-bottom:8px}.rop-telecom .rop-side-head{margin-bottom:6px}.rop-week-head,.rop-week-row{display:grid;grid-template-columns:minmax(0,1fr) 52px 76px;grid-gap:6px;gap:6px;align-items:baseline}.rop-week-head{padding:0 8px 4px;font-size:11.5px;color:var(--dim)}.rop-week-head>:not(:first-child),.rop-week-row>:not(:first-child){text-align:right}.rop-week{display:flex;flex-direction:column;gap:1px;width:100%;padding:7px 8px;border:0;border-radius:8px;background:none;color:var(--text);font:inherit;font-size:13px;text-align:left;cursor:pointer;transition:background .12s}.rop-week:hover{background:var(--bg-panel-hover)}.rop-week:focus-visible{outline:none;box-shadow:var(--ring)}.rop-week.on{background:var(--ink-06)}.rop-week b{font-weight:600}.rop-week-row.sub{font-size:11.5px;color:var(--text-sub)}.rop-week-row.sub>:only-child{grid-column:1/-1;text-align:left}.rop-week [data-tone=red]{color:var(--c-red-fg)}.rop-week-total{margin-top:4px;border-top:1px solid var(--line-soft);border-radius:0 0 8px 8px;padding-top:9px}.rop-tel-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 8px;border-radius:8px}.rop-tel-row.on{background:var(--ink-06)}.rop-tel-m{display:flex;flex-direction:column;min-width:0;font-size:13px}.rop-tel-m b{font-weight:500;white-space:nowrap}.rop-tel-m span{font-size:11.5px;color:var(--text-sub)}.rop-tel-m span[data-tone=amber]{color:var(--c-amber-fg)}.rop-tel-inp{display:flex;align-items:center;gap:5px;flex:none}.rop-tel-inp .inp{width:96px}.rop-tel-inp i{font-style:normal;font-size:12px;color:var(--text-sub)}.rop-side-note{margin:8px 8px 2px;font-size:11.5px;line-height:1.45;color:var(--text-sub)}.rop-telecom .save-bar{margin-top:8px;flex-wrap:wrap;justify-content:flex-end}.rop-telecom .save-bar>span{flex:1 1 100%!important}@media (max-width:1180px){.rop-layout{grid-template-columns:minmax(0,1fr)}.rop-side{position:static;order:-1;flex-direction:row;flex-wrap:wrap}.rop-side>*{flex:1 1 300px}}.lf-fa{flex-direction:column;padding:12px;border-radius:12px;background:color-mix(in srgb,var(--brand) 7%,var(--bg-panel));border:1px solid color-mix(in srgb,var(--brand) 28%,var(--ink-07))}.lf-fa,.lf-fa-top{display:flex;gap:10px}.lf-fa-top{align-items:center;min-width:0}.lf-fa-ic{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:9px;color:var(--brand);background:color-mix(in srgb,var(--brand) 14%,var(--bg-panel))}.lf-fa-t{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:1px}.lf-fa-t b{font-size:13.5px;font-weight:700;color:var(--text)}.lf-fa-t span{font-size:12px;color:var(--text-sub);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lf-fa-go{flex:none;display:inline-flex;align-items:center;gap:6px;text-decoration:none;white-space:nowrap}.lf-fa-creds{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:6px;gap:6px}.lf-fa-copy{display:flex;align-items:center;gap:8px;min-width:0;height:32px;padding:0 10px;border:1px solid var(--ink-07);border-radius:8px;background:var(--bg-panel);color:var(--text-sub);font:inherit;cursor:pointer;text-align:left}.lf-fa-copy:hover{border-color:var(--ink-12);color:var(--text)}.lf-fa-copy small{flex:none;font-size:11.5px;color:var(--text-sub)}.lf-fa-copy code{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-family:inherit;font-weight:600;color:var(--text)}.lf-fa-copy svg{flex:none}.mlf .lf-fa-top{flex-wrap:wrap}.mlf .lf-fa-t span{white-space:normal}.mlf .lf-fa-go{width:100%;height:42px;justify-content:center;font-size:14.5px}.mlf .lf-fa-copy{height:42px}