@import "https://fonts.googleapis.com/css2?family=Sora:wght@400;600;700;800&family=Manrope:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap";
:root{--brand-blue:#0f86fa;--navy:#192734;--anthracite:#111;--ink:#161616;--candy-coral:#ff6b57;--fg:var(--ink);--mut:#3a3a38;--sub:#6b6b66;--border:#e7e6e1;--border-strong:#d8d7d1;--accent:#0a6fd6;--accent-press:#0857a8;--focus-ring:#0f86fa;--success:#1f9d62;--warning:#c9871a;--danger:#d8453a;--side-w:232px;--row-h:38px;--topbar-h:52px;--tool-bg:#fbfbfa;--tool-panel:#fff;--tool-line:#ece9e3;--tool-line-soft:#f2f0ec;--tool-hover:#f4f2ee;--tool-active:#eef4fd;--tool-active-line:#d4e4fb;--surface:#fff;--scroll-thumb:#d8d5cf;--inverse-bg:var(--anthracite);--inverse-fg:#fff;--primary-bg:#e0effe;--primary-fg:#0857a8;--primary-border:#0f86fa42;--primary-bg-hover:#cfe7fe;--primary-border-hover:#0f86fa61;--st-todo:#0f86fa;--st-todo-tint:#eaf3fe;--st-doing:#e0a100;--st-doing-tint:#fdf4d9;--st-review:#7c5cfc;--st-review-tint:#efeafe;--st-waiting:#e8607a;--st-waiting-tint:#fdebef;--st-done:#1f8a5b;--st-done-tint:#e6f4ec;--st-grey:#9b968c;--st-grey-tint:#f0eee9;--on-candy:#161616;--font-display:"Sora", system-ui, -apple-system, sans-serif;--font-body:"Manrope", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-pill:999px;--shadow-xs:0 1px 2px #1111110d;--shadow-sm:0 2px 6px #1111110f;--shadow-md:0 8px 24px #11111114;--ease-out:cubic-bezier(.22, 1, .36, 1);--lift:translateY(-2px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--fg:#eceae5;--mut:#c6c3bc;--sub:#918e86;--border:#34322e;--border-strong:#45423c;--accent:#57aeff;--accent-press:#82c2ff;--tool-bg:#1b1a18;--tool-panel:#232220;--tool-line:#34322e;--tool-line-soft:#2b2925;--tool-hover:#2a2825;--tool-active:#1e2c40;--tool-active-line:#2f4d75;--surface:#262522;--scroll-thumb:#45423c;--inverse-bg:#eceae5;--inverse-fg:#161616;--primary-bg:color-mix(in srgb, #0f86fa 22%, var(--surface));--primary-fg:var(--accent);--primary-border:#0f86fa73;--primary-bg-hover:color-mix(in srgb, #0f86fa 30%, var(--surface));--primary-border-hover:#0f86fa99;--st-todo-tint:color-mix(in srgb, var(--st-todo) 18%, #1b1a18);--st-doing-tint:color-mix(in srgb, var(--st-doing) 18%, #1b1a18);--st-review-tint:color-mix(in srgb, var(--st-review) 18%, #1b1a18);--st-waiting-tint:color-mix(in srgb, var(--st-waiting) 18%, #1b1a18);--st-done-tint:color-mix(in srgb, var(--st-done) 18%, #1b1a18);--st-grey-tint:color-mix(in srgb, var(--st-grey) 18%, #1b1a18);--on-candy:#eceae5}}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{font-family:var(--font-body);color:var(--fg);background:var(--tool-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:14px;line-height:1.45}a{color:var(--accent);text-decoration:none}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}input,textarea{font-family:inherit}::selection{background:color-mix(in srgb, var(--brand-blue) 22%, transparent)}.scroll{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent;overflow-y:auto}.mono,.mono-ref{font-family:var(--font-mono)}.app{grid-template-columns:var(--side-w) 1fr;height:100dvh;display:grid}.sidebar{background:var(--tool-bg);border-right:1px solid var(--tool-line);flex-direction:column;min-height:0;display:flex}.side-top{padding:12px 12px 4px}.brand-row{align-items:center;gap:9px;padding:4px 8px 10px;display:flex}.side-scroll{flex:1;min-height:0;overflow-y:auto}.nav{flex-direction:column;gap:1px;padding:6px 8px;display:flex}.nav-item{border-radius:var(--r-sm);color:var(--mut);text-align:left;align-items:center;gap:10px;width:100%;padding:7px 10px;font-size:13.5px;font-weight:500;line-height:1.2;display:flex;position:relative}.nav-item svg{opacity:.85;flex:none;width:16px;height:16px}.nav-item:hover{background:var(--tool-hover);color:var(--fg);text-decoration:none}.nav-item.active{background:var(--tool-active);color:var(--accent-press)}.nav-item.active:before{content:"";background:var(--brand-blue);border-radius:0 2px 2px 0;width:3px;position:absolute;top:6px;bottom:6px;left:0}.nav-item .count{font-family:var(--font-mono);color:var(--sub);margin-left:auto;font-size:11px}.side-foot{border-top:1px solid var(--tool-line);align-items:center;gap:9px;margin-top:auto;padding:10px 12px;display:flex}.avatar{color:#fff;border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:700;display:grid}.side-foot .who{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.2;overflow:hidden}.side-foot .who span{color:var(--sub);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:400;display:block;overflow:hidden}.foot-logout{border-radius:var(--r-sm);width:28px;height:28px;color:var(--sub);place-items:center;margin-left:auto;display:grid}.foot-logout:hover{background:var(--tool-hover);color:var(--fg)}.main{background:var(--tool-bg);flex-direction:column;min-width:0;min-height:0;display:flex}.topbar2{height:var(--topbar-h);border-bottom:1px solid var(--tool-line);flex:none;align-items:center;gap:12px;padding:0 16px;display:flex}.crumb-back{border-radius:var(--r-md);width:28px;height:28px;color:var(--sub);flex:none;place-items:center;display:grid}.crumb-back:hover{background:var(--tool-hover);color:var(--fg)}.crumb{color:var(--mut);align-items:center;gap:8px;min-width:0;font-size:13.5px;display:flex}.crumb .sep{color:var(--sub)}.crumb .here{color:var(--fg);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.crumb .mono-ref{color:var(--sub);font-size:11.5px}.topbar2 .right{align-items:center;gap:10px;margin-left:auto;display:flex}.topbar2 .client-name{color:var(--sub);font-size:12.5px}.tb-btn{border-radius:var(--r-md);height:30px;color:var(--mut);border:1px solid #0000;align-items:center;gap:7px;padding:0 11px;font-size:13px;font-weight:500;display:inline-flex}.tb-btn:hover{background:var(--tool-hover);color:var(--fg);text-decoration:none}.content{flex:1;min-height:0}.page{max-width:1040px;padding:20px 24px 48px}.page-head{margin-bottom:14px}.page-head h1{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 3px;font-size:20px;font-weight:800}.page-head .sub{color:var(--mut);font-size:13.5px}.sec{margin-top:26px;scroll-margin-top:12px}.sec-h{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--sub);align-items:center;gap:8px;margin-bottom:6px;font-size:10.5px;display:flex}.sec-h .n{color:var(--sub)}.tbl-wrap{background:var(--tool-panel);border:1px solid var(--tool-line);border-radius:var(--r-md);overflow-x:auto}.tbl{border-collapse:collapse;width:100%}.tbl thead th{text-align:left;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--sub);border-bottom:1px solid var(--tool-line);white-space:nowrap;background:var(--tool-bg);padding:9px 12px;font-size:10.5px;font-weight:500}.tbl tbody td{height:var(--row-h);border-bottom:1px solid var(--tool-line-soft);vertical-align:middle;white-space:nowrap;padding:0 12px;font-size:13.5px}.tbl tbody tr:last-child td{border-bottom:0}.tbl tbody tr.rowlink{cursor:pointer}.tbl tbody tr.rowlink:hover{background:var(--tool-hover)}.tbl .t-title{color:var(--fg);white-space:normal;width:100%;font-weight:500}.tbl .t-title a{color:inherit;display:block}.tbl .t-title a:hover{color:var(--accent);text-decoration:none}.t-ref{font-family:var(--font-mono);color:var(--sub);font-size:11px}.t-dot{border-radius:50%;width:9px;height:9px;display:inline-block}.due{font-family:var(--font-mono);color:var(--mut);font-size:12px}.tbl-empty{color:var(--sub);padding:16px 12px;font-size:13px}.pill{font-family:var(--font-mono);letter-spacing:.02em;border-radius:var(--r-pill);white-space:nowrap;color:var(--on-candy);align-items:center;gap:6px;padding:2px 9px;font-size:11px;font-weight:600;display:inline-flex}.pill .pd{border-radius:50%;width:6px;height:6px}.pill.blue{background:var(--st-todo-tint)}.pill.blue .pd{background:var(--st-todo)}.pill.green{background:var(--st-done-tint)}.pill.green .pd{background:var(--st-done)}.pill.amber{background:var(--st-doing-tint)}.pill.amber .pd{background:var(--st-doing)}.pill.pink{background:var(--st-waiting-tint)}.pill.pink .pd{background:var(--st-waiting)}.pill.grey{background:var(--st-grey-tint)}.pill.grey .pd{background:var(--st-grey)}.route-card{border:1px solid color-mix(in srgb, var(--st-waiting) 34%, var(--tool-line));background:linear-gradient(180deg, var(--st-waiting-tint), var(--surface));border-radius:var(--r-lg);margin-bottom:4px;padding:16px 18px}.route-card .rc-h{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--st-waiting);align-items:center;gap:8px;margin-bottom:12px;font-size:10.5px;display:flex}.route-target{background:var(--surface);border:1px solid var(--tool-line);border-radius:var(--r-md);color:inherit;align-items:center;gap:11px;margin-bottom:12px;padding:11px 13px;display:flex}.route-target:hover{border-color:var(--border-strong);text-decoration:none}.route-target .tt{flex:1;min-width:0}.route-target .tt .tc{font-family:var(--font-mono);color:var(--mut);align-items:center;gap:6px;font-size:11px;display:flex}.route-target .tt .tn{margin-top:2px;font-size:13.5px;font-weight:600}.route-actions{flex-wrap:wrap;gap:8px;display:flex}.btn{border-radius:var(--r-md);border:1px solid var(--tool-line);background:var(--surface);height:32px;color:var(--fg);align-items:center;gap:7px;padding:0 13px;font-size:13px;font-weight:600;display:inline-flex}.btn:hover{background:var(--tool-hover);text-decoration:none}.btn svg{width:14px;height:14px}.btn.dark{background:var(--primary-bg);color:var(--primary-fg);border-color:var(--primary-border)}.btn.dark:hover{background:var(--primary-bg-hover);border-color:var(--primary-border-hover)}.btn:disabled{opacity:.55;cursor:default}.td-fields{flex-direction:column;gap:2px;margin-bottom:18px;display:flex}.fld{align-items:center;gap:12px;min-height:30px;font-size:13.5px;display:flex}.fld .fk{width:140px;color:var(--sub);flex:none;align-items:center;gap:8px;font-size:12.5px;display:inline-flex}.fld .fk svg{opacity:.8;width:14px;height:14px}.fld .fv{min-width:0}.workflow{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.workflow li{align-items:center;gap:10px;font-size:13px;display:flex}.workflow .dot{background:var(--tool-line);border-radius:50%;flex:none;width:8px;height:8px}.workflow .dot.done{background:var(--st-done)}.workflow .dot.doing{background:var(--st-doing)}.workflow .done-label{color:var(--sub)}.card{background:var(--tool-panel);border:1px solid var(--tool-line);border-radius:var(--r-md);padding:16px 18px}.inp,textarea.inp{border:1px solid var(--tool-line);border-radius:var(--r-sm);width:100%;color:var(--fg);background:var(--surface);outline:none;padding:8px 10px;font-size:13.5px}.inp:focus{border-color:var(--focus-ring);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand-blue) 14%, transparent)}.lbl{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--sub);margin:0 0 5px;font-size:10.5px;display:block}.hint{color:var(--sub);font-size:12.5px}.notice-ok{background:var(--st-done-tint);color:var(--st-done);border-radius:var(--r-sm);padding:12px 14px;font-size:13.5px}.notice-err{background:var(--st-waiting-tint);color:var(--st-waiting);border-radius:var(--r-sm);margin-bottom:12px;padding:10px 13px;font-size:13px}.login-wrap{background:var(--tool-bg);justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.login-card{background:var(--tool-panel);border:1px solid var(--tool-line);border-radius:var(--r-lg);width:100%;max-width:392px;box-shadow:var(--shadow-md);text-align:center;padding:32px 30px}.login-card h1{font-family:var(--font-display);letter-spacing:-.02em;margin:18px 0 6px;font-size:18px;font-weight:800}.login-card p{color:var(--mut);margin:0 0 20px;font-size:13.5px}.login-card form{text-align:left;flex-direction:column;gap:12px;display:flex}.login-card form .btn{justify-content:center;height:36px}.login-note{color:var(--sub);margin-top:18px;font-size:12px}@media (max-width:860px){.app{grid-template-columns:1fr}.sidebar{display:none}.page{padding:16px 14px 40px}.tbl thead th.hide-m,.tbl tbody td.hide-m{display:none}.tbl .t-title{white-space:normal}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
