:root{--bg:#f6f5f2;--panel:#fff;--panel-2:#fbfaf8;--ink:#1d2230;--ink-2:#545b6b;--ink-3:#8a90a0;--line:#e7e4de;--line-2:#efede8;--nav:#141a2a;--nav-ink:#c9cfdc;--accent:#2f6df6;--accent-soft:#e8efff;--good:#16a34a;--good-soft:#e5f6ea;--warn:#d97706;--warn-soft:#fdf1df;--bad:#dc2626;--bad-soft:#fde8e8;--agent:#7c3aed;--agent-soft:#f1eafe;--radius:10px;--shadow:0 1px 2px #141a2a0f, 0 2px 8px #141a2a0a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0f1320;--panel:#171c2b;--panel-2:#1b2132;--ink:#e7eaf2;--ink-2:#a9b0c2;--ink-3:#737b90;--line:#2a3145;--line-2:#232a3c;--nav:#0b0f19;--accent:#5b8cff;--accent-soft:#1d2a4d;--good-soft:#12301f;--warn-soft:#33260f;--bad-soft:#3a1717;--agent-soft:#2a1d49;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font:14px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{letter-spacing:-.01em;margin:0}h1{font-size:22px;font-weight:700}h2{font-size:16px;font-weight:600}h3{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);font-size:13px;font-weight:600}.app{grid-template-columns:220px 1fr;height:100%;display:grid}.nav{background:var(--nav);color:var(--nav-ink);flex-direction:column;gap:2px;padding:18px 12px;display:flex;overflow-y:auto}.brand{color:#fff;align-items:center;gap:10px;padding:4px 10px 18px;font-size:15px;font-weight:700;display:flex}.brand .dot{background:linear-gradient(135deg,#2f6df6,#7c3aed);border-radius:7px;place-items:center;width:26px;height:26px;font-size:13px;display:grid}.brand small{color:var(--nav-ink);opacity:.7;font-size:11px;font-weight:500;display:block}.nav a{color:var(--nav-ink);border-radius:7px;justify-content:space-between;align-items:center;padding:8px 10px;font-weight:500;display:flex}.nav a:hover{background:#ffffff0f;text-decoration:none}.nav a.on{color:#fff;background:#ffffff1a}.nav .count{color:#fff;background:#2f6df6;border-radius:10px;padding:0 7px;font-size:11px;font-weight:600}.nav .count.bad{background:var(--bad)}.nav .sep{background:#ffffff14;height:1px;margin:10px 4px}.nav .capture{color:#fff;background:#2f6df6;justify-content:center;margin:4px 0 14px;font-weight:600}.nav .capture:hover{background:#3d78ff}.nav .foot{gap:4px;margin-top:auto;padding:10px;font-size:12px;display:grid}.nav .foot .me{color:#fff;display:grid}.nav .foot .me span{color:var(--nav-ink);opacity:.7;font-size:11px}.nav .foot a{color:var(--nav-ink);padding:0}.nav .foot a:hover{color:#fff;background:0 0}.login-bg{background:var(--bg);place-items:center;min-height:100%;padding:24px 16px;display:grid}.login{gap:14px;width:min(400px,100%);padding:28px;display:grid}.login h1{font-size:22px}.login p{margin:0}.login button.primary{justify-content:center;padding:9px 12px}.brand-mark{align-items:center;gap:10px;margin-bottom:4px;display:flex}.brand-mark .dot{color:#fff;background:linear-gradient(135deg,#2f6df6,#7c3aed);border-radius:8px;place-items:center;width:30px;height:30px;display:grid}.brand-mark small{color:var(--ink-3);font-size:12px;display:block}.login-err{background:var(--bad-soft);color:var(--bad);border-radius:7px;padding:8px 10px;font-size:13px}.main{min-width:0;overflow-y:auto}.page{max-width:1400px;padding:24px 28px 60px}.page.wide{max-width:none}.head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;display:flex}.head .grow{flex:1}.sub{color:var(--ink-2);margin-top:2px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card.pad{padding:16px}.card>.card-h{border-bottom:1px solid var(--line-2);align-items:center;gap:8px;padding:12px 16px;display:flex}.card>.card-h h2{flex:1;font-size:14px}.card>.card-b{padding:12px 16px}.grid{gap:16px;display:grid}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.split{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:16px;display:grid}@media (width<=1100px){.split{grid-template-columns:1fr}.g3,.g4{grid-template-columns:1fr 1fr}}@media (width<=760px){.app{grid-template-columns:1fr}.nav{flex-direction:row;padding:8px;overflow-x:auto}.nav .brand,.nav .sep,.nav .foot{display:none}.split,.g2,.g3,.g4{grid-template-columns:1fr}.page{padding:16px}}.stat{padding:14px 16px}.stat .k{color:var(--ink-3);font-size:12px;font-weight:500}.stat .v{letter-spacing:-.02em;margin-top:2px;font-size:24px;font-weight:700}.stat .d{color:var(--ink-2);font-size:12px}.stat.link{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;white-space:normal;display:block}.stat.link:hover{border-color:var(--accent)}.stat .k{justify-content:space-between;display:flex}.stat .go{color:var(--accent);opacity:0;transition:opacity .15s}.stat.link:hover .go,.stat.link:focus-visible .go{opacity:1}button,.btn{font:inherit;border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:7px;align-items:center;gap:6px;padding:6px 12px;font-weight:500;display:inline-flex}button:hover{border-color:var(--ink-3)}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover{filter:brightness(1.08)}button.ghost{color:var(--ink-2);background:0 0;border-color:#0000}button.ghost:hover{background:var(--panel-2)}button.small{padding:3px 8px;font-size:12px}button.danger{color:var(--bad)}button:disabled{opacity:.5;cursor:default}input,select,textarea{font:inherit;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:7px;width:100%;padding:6px 9px}textarea{resize:vertical;min-height:70px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}input[type=checkbox]{width:auto}label.f{color:var(--ink-2);flex-direction:column;gap:4px;font-size:12px;font-weight:500;display:flex}.form{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.form .full{grid-column:1/-1}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row.end{justify-content:flex-end}.muted{color:var(--ink-3)}.small{font-size:12px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.pre{white-space:pre-wrap}.empty{color:var(--ink-3);text-align:center;padding:18px;font-size:13px}.pill{background:var(--panel-2);border:1px solid var(--line);color:var(--ink-2);white-space:nowrap;border-radius:20px;align-items:center;gap:4px;padding:1px 8px;font-size:11px;font-weight:600;display:inline-flex}.pill.good{background:var(--good-soft);color:var(--good);border-color:#0000}.pill.warn{background:var(--warn-soft);color:var(--warn);border-color:#0000}.pill.bad{background:var(--bad-soft);color:var(--bad);border-color:#0000}.pill.agent{background:var(--agent-soft);color:var(--agent);border-color:#0000}.pill.blue{background:var(--accent-soft);color:var(--accent);border-color:#0000}table.t{border-collapse:collapse;width:100%}table.t th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);border-bottom:1px solid var(--line);padding:8px 12px;font-size:11px;font-weight:600}table.t td{border-bottom:1px solid var(--line-2);vertical-align:middle;padding:9px 12px}table.t tr.click{cursor:pointer}table.t tr.click:hover td{background:var(--panel-2)}.list>div{border-bottom:1px solid var(--line-2);align-items:center;gap:10px;padding:10px 16px;display:flex}.list>div:last-child{border-bottom:0}.list>div.click{cursor:pointer}.list>div.click:hover{background:var(--panel-2)}.list .grow{flex:1;min-width:0}.list .t1{font-weight:600}.list .t2{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.board{align-items:flex-start;gap:12px;padding-bottom:12px;display:flex;overflow-x:auto}.col{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;flex:0 0 260px;max-height:calc(100vh - 170px);display:flex}.col.drop{outline:2px dashed var(--accent)}.col-h{border-bottom:1px solid var(--line);padding:10px 12px}.col-h .n{color:var(--ink-3);font-size:11px;font-weight:600}.col-h .name{justify-content:space-between;font-weight:600;display:flex}.col-b{flex-direction:column;gap:8px;padding:8px;display:flex;overflow-y:auto}.dcard{background:var(--panel);border:1px solid var(--line);cursor:pointer;box-shadow:var(--shadow);border-radius:8px;padding:10px}.dcard:hover{border-color:var(--accent)}.dcard .nm{align-items:center;gap:6px;font-weight:600;display:flex}.owner{background:var(--accent-soft);width:22px;height:22px;color:var(--accent);border-radius:50%;flex:none;place-items:center;margin-left:auto;font-size:10px;font-weight:700;display:grid}.dcard .meta{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.dcard .na{color:var(--ink-2);margin-top:6px;font-size:12px}.prio1{border-left:3px solid var(--bad)}.rail{grid-template-columns:repeat(10,1fr);gap:3px;margin:6px 0 2px;display:grid}.rail div{background:var(--line);border-radius:3px;height:6px}.rail div.done{background:var(--accent)}.rail div.cur{background:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.stages{flex-wrap:wrap;gap:4px;display:flex}.stages button{padding:4px 9px;font-size:12px}.stages button.done{background:var(--accent-soft);color:var(--accent);border-color:#0000}.stages button.cur{background:var(--accent);color:#fff;border-color:var(--accent)}.tl{position:relative}.tl .it{border-bottom:1px solid var(--line-2);grid-template-columns:28px 1fr;gap:10px;padding:10px 16px;display:grid}.tl .ic{background:var(--panel-2);border:1px solid var(--line);border-radius:50%;place-items:center;width:28px;height:28px;font-size:13px;display:grid}.tl .ic.in{background:var(--good-soft);border-color:#0000}.tl .ic.out{background:var(--accent-soft);border-color:#0000}.tl .ic.agent{background:var(--agent-soft);border-color:#0000}.tl .hd{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tl .bd{color:var(--ink-2);white-space:pre-wrap;max-height:160px;margin-top:4px;font-size:13px;overflow:auto}.checks{gap:2px;display:grid}.check{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:4px 6px;font-size:13px;display:flex}.check:hover{background:var(--panel-2)}.check .bx{border:1.5px solid var(--ink-3);color:#fff;border-radius:4px;flex:none;place-items:center;width:16px;height:16px;font-size:11px;display:grid}.check.on .bx{background:var(--good);border-color:var(--good)}.check.on span.l{color:var(--ink-2)}.phase-h{color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;margin:10px 6px 4px;font-size:11px;font-weight:700}.tabs{border-bottom:1px solid var(--line);gap:2px;margin-bottom:16px;display:flex;overflow-x:auto}.tabs button{color:var(--ink-2);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:8px 12px}.tabs button.on{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}.modal-bg{z-index:50;background:#0a0e1973;place-items:start center;padding:6vh 16px;display:grid;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--panel);border-radius:12px;width:min(760px,100%);box-shadow:0 20px 60px #00000040}.modal .m-h{border-bottom:1px solid var(--line);align-items:center;padding:16px 20px;display:flex}.modal .m-h h2{flex:1}.modal .m-b{padding:16px 20px}.modal .m-f{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.drop-zone{border:2px dashed var(--line);text-align:center;color:var(--ink-2);cursor:pointer;border-radius:10px;padding:18px}.drop-zone:hover{border-color:var(--accent)}.drop-zone img{border-radius:8px;max-width:100%;max-height:220px}.bar{background:var(--line);border-radius:4px;height:8px;overflow:hidden}.bar>div{background:var(--accent);border-radius:4px;height:100%}.bar.warn>div{background:var(--warn)}.bar.bad>div{background:var(--bad)}.funnel .fr{grid-template-columns:170px 1fr 60px 70px;align-items:center;gap:10px;padding:5px 0;font-size:13px;display:grid}.chart{align-items:flex-end;gap:3px;height:120px;padding-top:6px;display:flex}.chart .c{border-radius:3px 3px 0 0;flex-direction:column-reverse;flex:1;min-width:4px;display:flex;overflow:hidden}.chart .c .a{background:var(--agent)}.chart .c .m{background:var(--accent)}.sop h4{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);margin:14px 0 4px;font-size:12px}.sop .txt{white-space:pre-wrap}.sop .script{white-space:pre-wrap;background:var(--panel-2);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:6px;padding:10px 12px;font-size:13px}.toast{background:var(--nav);color:#fff;z-index:60;border-radius:8px;padding:10px 14px;position:fixed;bottom:18px;right:18px;box-shadow:0 8px 24px #0003}.toast.err{background:var(--bad)}@media print{.nav,.no-print,.head button{display:none!important}.app{display:block}.main{overflow:visible}.card{box-shadow:none;break-inside:avoid}body{background:#fff}.print-break{break-before:page}}.invite-link{background:var(--accent-soft);border-radius:8px;gap:8px;margin-top:12px;padding:12px;display:grid}.invite-link input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}@media (width<=760px){.card-b .form[style]{grid-template-columns:1fr!important}}
