:root{color-scheme:light;--brand-25: #FAF8FF;--brand-50: #F4F1FE;--brand-100: #EAE4FD;--brand-200: #D6CBFB;--brand-300: #B8A6F6;--brand-400: #9479EE;--brand-500: #7352E4;--brand-600: #5B37D6;--brand-700: #4C2BBE;--brand-800: #3D2398;--brand-900: #2A1869;--brand: var(--brand-600);--brand-hover: var(--brand-700);--brand-tint: var(--brand-50);--canvas: #F7F7F9;--surface: #FFFFFF;--surface-2: #FAFAFB;--surface-3: #F2F2F5;--hover: #F4F4F7;--selected: #F3F0FE;--sidebar: #FBFBFC;--line: #EBEBEF;--line-2: #DFDEE5;--line-3: #C9C8D1;--ink: #18171F;--ink-2: #45444F;--ink-3: #6F6E7A;--ink-4: #9C9BA6;--red: #D1344F;--red-tint: #FDEFF1;--amber: #B7700F;--amber-tint: #FEF5E7;--green: #1B8A4F;--green-tint: #EAF7EF;--blue: #2F6FC0;--blue-tint: #EDF4FC;--font: "Geist", "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, sans-serif;--mono: "Geist Mono", "Cascadia Mono", Consolas, monospace;--r-xs: 4px;--r-sm: 6px;--r-md: 8px;--r-lg: 10px;--r-xl: 14px;--sh-xs: 0 1px 2px rgba(24, 23, 31, .05);--sh-sm: 0 1px 2px rgba(24, 23, 31, .04), 0 2px 6px -2px rgba(24, 23, 31, .08);--sh-md: 0 2px 4px rgba(24, 23, 31, .04), 0 8px 20px -6px rgba(24, 23, 31, .14);--sh-lg: 0 4px 8px rgba(24, 23, 31, .04), 0 18px 40px -12px rgba(24, 23, 31, .22);--sh-xl: 0 8px 16px rgba(24, 23, 31, .06), 0 32px 80px -16px rgba(24, 23, 31, .32);--focus: 0 0 0 3px rgba(91, 55, 214, .22);--ease: cubic-bezier(.2, .8, .2, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--t-fast: .12s;--t-med: .2s;--t-slow: .36s;--mix-ink: #111;--scrim: rgba(24, 23, 31, .32);--sb-w: 252px;--tb-h: 56px}:root[data-theme=dark]{color-scheme:dark}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark}}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--brand-25: #1A1630;--brand-50: #211A3D;--brand-100: #2D2454;--brand-200: #3F3378;--brand-300: #6C58C8;--brand-700: #B9A8F7;--brand-800: #CBBEFA;--brand-900: #8F78EC;--brand-hover: #6B4AE3;--brand-tint: #211A3D;--canvas: #0E0E12;--surface: #16161B;--surface-2: #1B1B21;--surface-3: #24242B;--hover: #22222A;--selected: #231D3B;--sidebar: #121216;--line: #2A2A32;--line-2: #34343D;--line-3: #484852;--ink: #EDECF2;--ink-2: #C6C5D0;--ink-3: #9D9CA9;--ink-4: #75747F;--red: #F0637A;--red-tint: #3A1820;--amber: #E6A23C;--amber-tint: #33260F;--green: #3FBF7A;--green-tint: #12291C;--blue: #6FA3E8;--blue-tint: #142338;--sh-xs: 0 1px 2px rgba(0,0,0,.4);--sh-sm: 0 1px 2px rgba(0,0,0,.4), 0 2px 6px -2px rgba(0,0,0,.5);--sh-md: 0 2px 4px rgba(0,0,0,.35), 0 8px 20px -6px rgba(0,0,0,.6);--sh-lg: 0 4px 8px rgba(0,0,0,.35), 0 18px 40px -12px rgba(0,0,0,.7);--sh-xl: 0 8px 16px rgba(0,0,0,.4), 0 32px 80px -16px rgba(0,0,0,.8);--focus: 0 0 0 3px rgba(148, 121, 238, .35);--mix-ink: #fff;--scrim: rgba(0, 0, 0, .55)}}:root[data-theme=dark]{--brand-25: #1A1630;--brand-50: #211A3D;--brand-100: #2D2454;--brand-200: #3F3378;--brand-300: #6C58C8;--brand-700: #B9A8F7;--brand-800: #CBBEFA;--brand-900: #8F78EC;--brand-hover: #6B4AE3;--brand-tint: #211A3D;--canvas: #0E0E12;--surface: #16161B;--surface-2: #1B1B21;--surface-3: #24242B;--hover: #22222A;--selected: #231D3B;--sidebar: #121216;--line: #2A2A32;--line-2: #34343D;--line-3: #484852;--ink: #EDECF2;--ink-2: #C6C5D0;--ink-3: #9D9CA9;--ink-4: #75747F;--red: #F0637A;--red-tint: #3A1820;--amber: #E6A23C;--amber-tint: #33260F;--green: #3FBF7A;--green-tint: #12291C;--blue: #6FA3E8;--blue-tint: #142338;--sh-xs: 0 1px 2px rgba(0,0,0,.4);--sh-sm: 0 1px 2px rgba(0,0,0,.4), 0 2px 6px -2px rgba(0,0,0,.5);--sh-md: 0 2px 4px rgba(0,0,0,.35), 0 8px 20px -6px rgba(0,0,0,.6);--sh-lg: 0 4px 8px rgba(0,0,0,.35), 0 18px 40px -12px rgba(0,0,0,.7);--sh-xl: 0 8px 16px rgba(0,0,0,.4), 0 32px 80px -16px rgba(0,0,0,.8);--focus: 0 0 0 3px rgba(148, 121, 238, .35);--mix-ink: #fff;--scrim: rgba(0, 0, 0, .55)}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;font:400 13.5px/1.5 var(--font);color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;letter-spacing:-.003em}button,input,textarea,select{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer;background:none;border:0;padding:0}a{color:inherit;text-decoration:none}[hidden]{display:none!important}::selection{background:var(--brand-100)}:focus-visible{outline:none;box-shadow:var(--focus)}.ic{flex-shrink:0;display:block}.num{font-variant-numeric:tabular-nums}.mono{font-family:var(--mono)}.muted{color:var(--ink-3)}.muted-p{color:var(--ink-2);margin:0;line-height:1.6}*{scrollbar-width:thin;scrollbar-color:var(--line-3) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:10px;border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background-color:var(--line-3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:34px;padding:0 14px;border-radius:var(--r-sm);font-weight:500;font-size:13px;white-space:nowrap;border:1px solid transparent;position:relative;transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast),box-shadow var(--t-fast),transform var(--t-fast)}.btn:active{transform:translateY(1px)}.btn-sm{height:30px;padding:0 11px;font-size:12.5px}.btn-xs{height:26px;padding:0 9px;font-size:12px}.btn-primary{background:var(--brand);color:#fff;box-shadow:0 1px 2px #3d239840,inset 0 1px #ffffff1f}.btn-primary:hover{background:var(--brand-hover)}.btn-secondary{background:var(--surface);border-color:var(--line-2);color:var(--ink);box-shadow:var(--sh-xs)}.btn-secondary:hover{background:var(--surface-2);border-color:var(--line-3)}.btn-ghost{color:var(--ink-2)}.btn-ghost:hover{background:var(--hover);color:var(--ink)}.btn-danger{background:var(--red);color:#fff}.btn-danger:hover{background:#b42840}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn kbd{margin-left:2px}.btn-primary kbd{background:#ffffff29;border-color:transparent;color:#fff}.icon-btn{width:32px;height:32px;display:inline-grid;place-items:center;color:var(--ink-3);border-radius:var(--r-sm);transition:background var(--t-fast),color var(--t-fast)}.icon-btn:hover{background:var(--hover);color:var(--ink)}.icon-btn.sm{width:28px;height:28px}kbd{font:500 10.5px/1 var(--mono);min-width:18px;height:18px;padding:0 4px;display:inline-grid;place-items:center;color:var(--ink-3);background:var(--surface-3);border-radius:var(--r-xs)}.av{display:inline-grid;place-items:center;flex-shrink:0;color:#fff;font-weight:600;line-height:1;border-radius:50%;letter-spacing:.01em}.av-none{background:var(--surface-3);color:var(--ink-4);box-shadow:inset 0 0 0 1px var(--line-2)}.av-stack{display:flex}.av-stack>*{margin-left:-4px;box-shadow:0 0 0 2px var(--surface)}.av-stack>*:first-child{margin-left:0}.sw{display:inline-block;flex-shrink:0;border-radius:50%}.chk{width:16px;height:16px;display:inline-grid;place-items:center;border:1.5px solid var(--line-3);border-radius:var(--r-xs);color:#fff;flex-shrink:0;transition:background var(--t-fast),border-color var(--t-fast),transform var(--t-fast);background:var(--surface)}.chk.on{background:var(--brand);border-color:var(--brand)}.chk:active{transform:scale(.9)}.pts{min-width:22px;height:20px;padding:0 6px;display:inline-grid;place-items:center;background:var(--surface-3);color:var(--ink-2);font-size:11.5px;font-weight:600;border-radius:10px;font-variant-numeric:tabular-nums}.key{font:500 11.5px/1 var(--mono);color:var(--ink-4);white-space:nowrap}.stag{display:inline-flex;align-items:center;gap:6px;font-weight:500;color:var(--ink-2);white-space:nowrap}.otag{display:inline-flex;align-items:center;height:22px;padding:0 8px;font-size:12px;font-weight:500;white-space:nowrap;border-radius:var(--r-xs);color:color-mix(in srgb,var(--c) 72%,var(--mix-ink));background:color-mix(in srgb,var(--c) 11%,var(--surface))}.etag{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;font-size:12px;font-weight:500;border-radius:var(--r-xs);max-width:180px;color:color-mix(in srgb,var(--c) 75%,var(--mix-ink));background:color-mix(in srgb,var(--c) 9%,var(--surface))}.etag .ic{color:var(--c)}.etag span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fv-empty{color:var(--ink-4)}.fv-person,.fv-inline,.fv-date{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.fv-multi{display:inline-flex;gap:4px;flex-wrap:wrap}.fv-date.overdue{color:var(--red);font-weight:500}.fv-date.soon{color:var(--amber);font-weight:500}.fv-link{display:inline-flex;align-items:center;gap:5px;color:var(--brand-700);max-width:100%;overflow:hidden}.fv-link span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fv-link:hover{text-decoration:underline}.micro{font-size:12px;font-weight:500;color:var(--ink-3)}.app{display:grid;grid-template-columns:var(--sb-w) 1fr;height:100vh;overflow:hidden}.sb{background:var(--sidebar);display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--line)}.sb-ws{display:flex;align-items:center;gap:10px;height:var(--tb-h);padding:0 14px;width:100%;text-align:left;transition:background var(--t-fast)}.sb-ws:hover{background:var(--hover)}.sb-logo{width:30px;height:30px;flex-shrink:0;display:grid;place-items:center;background:var(--brand);color:#fff;border-radius:var(--r-md);box-shadow:0 1px 2px var(--brand-shadow, rgba(61,35,152,.3)),inset 0 1px #ffffff26}.sb-logo.img{background:#fff;box-shadow:inset 0 0 0 1px var(--line);overflow:hidden;padding:3px}.sb-logo.img img{width:100%;height:100%;object-fit:contain;display:block}.sb-ws b{display:block;font-weight:600;font-size:14px;letter-spacing:-.01em}.sb-ws small{display:block;font-size:12px;color:var(--ink-4)}.sb-ws>.ic:last-child{margin-left:auto;color:var(--ink-4)}.sb-scroll{flex:1;overflow-y:auto;padding:4px 10px 12px}.sb-search{display:flex;align-items:center;gap:8px;height:34px;padding:0 10px;width:100%;margin-bottom:10px;color:var(--ink-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:var(--sh-xs);transition:border-color var(--t-fast)}.sb-search:hover{border-color:var(--line-2)}.sb-search span{flex:1;text-align:left}.sb-item{display:flex;align-items:center;gap:10px;height:32px;padding:0 10px;color:var(--ink-2);width:100%;text-align:left;border-radius:var(--r-sm);transition:background var(--t-fast),color var(--t-fast);font-weight:450}.sb-item .ic{color:var(--ink-4);transition:color var(--t-fast)}.sb-item:hover{background:var(--hover);color:var(--ink)}.sb-item.active{background:var(--brand-tint);color:var(--brand-800);font-weight:500}.sb-item.active .ic{color:var(--brand)}.sb-count{margin-left:auto;font-size:11.5px;font-weight:500;min-width:20px;height:18px;padding:0 6px;display:grid;place-items:center;color:var(--ink-3);background:var(--surface-3);border-radius:9px;font-variant-numeric:tabular-nums}.sb-count.hot{background:var(--brand);color:#fff}.sb-sec{margin-top:20px}.sb-title{display:flex;align-items:center;justify-content:space-between;padding:0 10px 6px;font-size:12px;font-weight:500;color:var(--ink-4)}.sb-title button{color:var(--ink-4);display:grid;padding:3px;border-radius:var(--r-xs)}.sb-title button:hover{color:var(--ink);background:var(--hover)}.sb-proj-key{width:20px;height:20px;display:grid;place-items:center;font-size:10px;font-weight:600;color:#fff;flex-shrink:0;border-radius:5px}.sb-sub{margin:2px 0 6px 19px;padding-left:8px;border-left:1px solid var(--line)}.sb-sub .sb-item{height:30px;font-size:13px}.sb-team{display:flex;flex-wrap:wrap;gap:6px;padding:0 10px}.sb-foot{border-top:1px solid var(--line);padding:8px 10px}.sb-user{display:flex;align-items:center;gap:10px;padding:6px 8px;width:100%;text-align:left;border-radius:var(--r-md);transition:background var(--t-fast)}.sb-user:hover{background:var(--hover)}.sb-user b{display:block;font-weight:500;font-size:13px}.sb-user small{display:block;color:var(--ink-4);font-size:12px}.sb-user>.ic:last-child{margin-left:auto;color:var(--ink-4)}.main{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--surface)}.tb{height:var(--tb-h);flex-shrink:0;display:flex;align-items:center;gap:14px;padding:0 24px;border-bottom:1px solid var(--line)}.crumbs{display:flex;align-items:center;gap:6px;color:var(--ink-3);min-width:0;white-space:nowrap;font-size:13px}.crumbs b{color:var(--ink);font-weight:500}.crumbs .ic{color:var(--ink-4)}.tb-search{flex:0 1 440px;margin-left:auto;display:flex;align-items:center;gap:8px;height:36px;padding:0 8px 0 12px;color:var(--ink-4);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);transition:border-color var(--t-fast),background var(--t-fast),box-shadow var(--t-fast)}.tb-search:hover{border-color:var(--line-2);background:var(--surface);box-shadow:var(--sh-xs)}.tb-search span{flex:1;text-align:left}.tb-right{display:flex;align-items:center;gap:6px}.sync{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 11px;color:var(--ink-3);font-size:12.5px;font-weight:500;border-radius:16px;border:1px solid var(--line);background:var(--surface);transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast);white-space:nowrap}.sync:hover{border-color:var(--line-2);color:var(--ink)}.sync .dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px var(--green-tint)}.sync.busy .dot{background:var(--brand-500);box-shadow:0 0 0 3px var(--brand-100);animation:pulse 1s var(--ease) infinite}.sync.offline{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 35%,transparent);background:var(--amber-tint)}.sync.offline .dot{background:var(--amber);box-shadow:0 0 0 3px color-mix(in srgb,var(--amber) 25%,transparent)}.badge-dot{position:relative}.badge-dot:after{content:"";position:absolute;top:7px;right:7px;width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 0 2px var(--surface)}.page{flex:1;display:flex;flex-direction:column;min-height:0}.ph{padding:20px 28px 0;flex-shrink:0}.ph-row{display:flex;align-items:center;gap:14px}.ph-key{width:40px;height:40px;display:grid;place-items:center;color:#fff;font-size:12px;font-weight:600;border-radius:var(--r-lg);box-shadow:var(--sh-sm),inset 0 1px #ffffff26}.ph-title{margin:0;font-size:21px;font-weight:600;letter-spacing:-.02em;line-height:1.2}.ph-title button{display:inline-flex;align-items:center;gap:6px;border-radius:var(--r-sm);padding:2px 6px;margin-left:-6px;transition:background var(--t-fast)}.ph-title button:hover{background:var(--hover)}.ph-title button .ic{color:var(--ink-4)}.ph-meta{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--ink-3);margin-top:3px}.ph-meta .pill{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 8px;border-radius:10px;background:var(--surface-3);color:var(--ink-2);font-weight:500;font-size:11.5px}.ph-meta .sep{width:3px;height:3px;border-radius:50%;background:var(--line-3)}.ph-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.tabs{display:flex;gap:4px;margin-top:16px;position:relative;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.tab{display:flex;align-items:center;gap:7px;height:40px;padding:0 12px;color:var(--ink-3);font-weight:500;white-space:nowrap;transition:color var(--t-fast);position:relative;z-index:0}.tab:before{content:"";position:absolute;inset:5px 0;border-radius:var(--r-sm);background:transparent;transition:background var(--t-fast);z-index:-1}.tab:hover{color:var(--ink)}.tab:hover:before{background:var(--hover)}.tab.active{color:var(--ink)}.tab.active .ic{color:var(--brand)}.tab .cnt{font-size:11px;font-weight:500;min-width:18px;height:17px;padding:0 5px;display:grid;place-items:center;border-radius:9px;background:var(--surface-3);color:var(--ink-3)}.tab.active .cnt{background:var(--brand-100);color:var(--brand-700)}.tab-ind{position:absolute;left:0;bottom:-1px;height:2px;background:var(--brand);width:0;pointer-events:none;border-radius:2px}.tools{display:flex;align-items:center;gap:8px;padding:14px 28px;flex-wrap:wrap;flex-shrink:0}.search-box{display:flex;align-items:center;gap:7px;height:34px;padding:0 10px;width:240px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--surface);color:var(--ink-4);transition:border-color var(--t-fast),box-shadow var(--t-fast),width var(--t-med) var(--ease)}.search-box:focus-within{border-color:var(--brand-400);box-shadow:var(--focus);width:290px}.search-box input{border:0;outline:0;flex:1;min-width:0;background:transparent;color:var(--ink)}.search-box input::placeholder{color:var(--ink-4)}.tools-l{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tools-r{margin-left:auto;display:flex;align-items:center;gap:8px}.avf{display:flex;padding-left:4px}.avf button{margin-left:-3px;position:relative;border-radius:50%;transition:transform var(--t-fast) var(--ease),opacity var(--t-fast)}.avf button:first-child{margin-left:0}.avf button .av{box-shadow:0 0 0 2px var(--surface)}.avf button:hover{transform:translateY(-2px);z-index:2}.avf button.on{z-index:1}.avf button.on .av{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--brand)}.avf.has-on button:not(.on){opacity:.4}.fbtn{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 12px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--surface);color:var(--ink-2);font-weight:500;transition:border-color var(--t-fast),background var(--t-fast)}.fbtn:hover{border-color:var(--line-3);color:var(--ink);background:var(--surface-2)}.fbtn.on{border-color:var(--brand-200);background:var(--brand-tint);color:var(--brand-800)}.fbtn .n{min-width:18px;height:18px;display:grid;place-items:center;background:var(--brand);color:#fff;font-size:11px;font-weight:600;padding:0 5px;border-radius:9px}.divider-v{width:1px;height:20px;background:var(--line);margin:0 4px}.seg{display:inline-flex;padding:3px;gap:2px;background:var(--surface-3);border-radius:var(--r-md)}.seg button{height:28px;padding:0 12px;color:var(--ink-3);font-weight:500;font-size:12.5px;border-radius:var(--r-sm);transition:background var(--t-fast),color var(--t-fast),box-shadow var(--t-fast);display:inline-flex;align-items:center;gap:6px}.seg button:hover{color:var(--ink)}.seg button.on,.seg button[aria-selected=true],.seg button[aria-checked=true]{background:var(--surface);color:var(--ink);box-shadow:var(--sh-xs)}.chip-sprint{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 12px;border-radius:var(--r-sm);background:var(--brand-tint);color:var(--brand-800);font-weight:500;font-size:12.5px}.chip-sprint .bar{width:64px;height:5px;background:var(--brand-100);position:relative;overflow:hidden;border-radius:3px}.chip-sprint .bar i{position:absolute;inset:0 auto 0 0;background:var(--brand);border-radius:3px}.view{flex:1;min-height:0;overflow:auto;position:relative}.board{display:inline-flex;flex-direction:column;min-width:100%;padding:0 28px 28px}.board-cols{display:flex;gap:12px;position:sticky;top:0;z-index:3;background:var(--surface)}.col-h{width:296px;flex-shrink:0;padding:10px 8px 8px 12px;display:flex;align-items:center;gap:8px;border-radius:var(--r-lg) var(--r-lg) 0 0;background:var(--canvas);transition:width var(--t-slow) var(--ease-out)}.col-h .nm{font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.col-h .ct{color:var(--ink-3);font-size:12px;font-weight:500;min-width:20px;height:18px;padding:0 6px;border-radius:9px;display:grid;place-items:center;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);font-variant-numeric:tabular-nums}.col-h .wip{font-size:11px;font-weight:500;padding:2px 7px;border-radius:9px;color:var(--ink-3);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);font-variant-numeric:tabular-nums}.col-h .wip.bad{color:var(--red);background:var(--red-tint);box-shadow:none}.col-h .acts{margin-left:auto;display:flex;opacity:0;transition:opacity var(--t-fast)}.col-h:hover .acts{opacity:1}.col-h .pts-sum{font-size:11.5px;color:var(--ink-4);white-space:nowrap}.col-h.collapsed{width:46px;padding:12px 0;flex-direction:column;justify-content:flex-start;gap:10px;cursor:pointer;border-radius:var(--r-lg)}.col-h.collapsed .nm{writing-mode:vertical-rl;transform:rotate(180deg);overflow:visible}.col-h.collapsed .acts,.col-h.collapsed .wip,.col-h.collapsed .pts-sum{display:none}.lane{margin-top:10px}.lane-h{display:flex;align-items:center;gap:9px;height:36px;padding:0 6px;text-align:left;font-weight:600;position:sticky;left:28px;border-radius:var(--r-sm);transition:background var(--t-fast)}.lane-h:hover{background:var(--hover)}.lane-h .chev{color:var(--ink-4);transition:transform var(--t-med) var(--ease)}.lane.collapsed .lane-h .chev{transform:rotate(-90deg)}.lane-h .ct{color:var(--ink-4);font-weight:400;font-size:12.5px}.lane-row{display:flex;gap:12px}.lane .cell{border-radius:var(--r-lg)}.lane.collapsed .lane-row{display:none}.cell{width:296px;flex-shrink:0;min-height:80px;background:var(--canvas);padding:2px 8px 8px;display:flex;flex-direction:column;gap:8px;border-radius:0 0 var(--r-lg) var(--r-lg);transition:width var(--t-slow) var(--ease-out),background var(--t-med),opacity var(--t-med),box-shadow var(--t-med)}.board.single .cell{min-height:calc(100vh - 300px)}.cell.collapsed{width:46px;padding:8px 0;overflow:hidden}.cell.collapsed>*{display:none}.is-dragging .cell.dz-ok{background:var(--brand-25);box-shadow:inset 0 0 0 1px var(--brand-100)}.is-dragging .cell.dz-blocked{opacity:.45}.is-dragging .cell.dz-blocked .card{filter:grayscale(.6)}.is-dragging .cell.dz-over{background:var(--brand-50);box-shadow:inset 0 0 0 1.5px var(--brand-300)}.drop-ph{height:var(--h, 80px);border-radius:var(--r-md);background:color-mix(in srgb,var(--brand) 6%,transparent);border:1.5px dashed var(--brand-300);flex-shrink:0;animation:phIn var(--t-med) var(--ease-out)}@keyframes phIn{0%{height:0;opacity:0}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:11px 12px 10px;cursor:grab;position:relative;-webkit-user-select:none;user-select:none;box-shadow:var(--sh-xs);transition:border-color var(--t-fast),box-shadow var(--t-med) var(--ease),transform var(--t-med) var(--ease)}.card:hover{border-color:var(--line-2);box-shadow:var(--sh-md);transform:translateY(-1px)}.card:active{cursor:grabbing}.card.dragging{opacity:.35;transform:none;box-shadow:none}.card .c-top{display:flex;align-items:center;gap:7px;min-height:20px;padding-right:28px}.card .c-top .c-pri{margin-left:auto;transition:transform var(--t-fast)}.card .c-more{position:absolute;top:7px;right:7px;width:26px;height:26px;display:grid;place-items:center;border-radius:var(--r-sm);color:var(--ink-3);background:var(--surface);box-shadow:var(--sh-sm),inset 0 0 0 1px var(--line);opacity:0;transform:scale(.9);transition:opacity var(--t-fast),transform var(--t-fast)}.card:hover .c-more{opacity:1;transform:none}.card .c-more:hover{color:var(--ink);background:var(--surface-2)}.card .c-title{margin:6px 0 0;font-weight:500;font-size:13.5px;line-height:1.42;color:var(--ink);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;letter-spacing:-.008em}.card.done .c-title{color:var(--ink-3)}.card .c-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:9px}.card .c-foot{display:flex;align-items:center;gap:10px;margin-top:11px;color:var(--ink-3);font-size:12px}.card .c-meta{display:inline-flex;align-items:center;gap:4px;font-weight:500;font-variant-numeric:tabular-nums}.card .c-meta.overdue{color:var(--red)}.card .c-meta.soon{color:var(--amber)}.card .c-meta.run{color:var(--brand-700)}.card .c-right{margin-left:auto;display:flex;align-items:center;gap:6px}.card .c-extra{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;margin-top:9px;font-size:12px;color:var(--ink-2)}.card .c-extra span:nth-child(odd){color:var(--ink-4)}.card.pending:after,.bl-row.pending:after{content:"";position:absolute;left:10px;right:10px;top:-1px;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--brand-400),transparent);background-size:50% 100%;background-repeat:no-repeat;animation:sync .9s linear infinite}tr.pending td.td-title{background-image:linear-gradient(90deg,transparent,rgba(115,82,228,.08),transparent);background-size:50% 100%;background-repeat:no-repeat;animation:sync .9s linear infinite}.card.rollback,.bl-row.rollback{animation:rollback .6s var(--ease);border-color:#f1a7b4;box-shadow:0 0 0 3px var(--red-tint)}@keyframes sync{0%{background-position:-50% 0}to{background-position:150% 0}}@keyframes rollback{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.col-add{height:34px;display:flex;align-items:center;gap:6px;padding:0 8px;color:var(--ink-4);font-weight:500;width:100%;border-radius:var(--r-sm);transition:color var(--t-fast),background var(--t-fast)}.col-add:hover{color:var(--ink);background:#18171f0a}.quick-add{background:var(--surface);border:1px solid var(--brand-300);border-radius:var(--r-md);box-shadow:var(--focus),var(--sh-sm);padding:9px 10px;animation:phIn var(--t-med) var(--ease-out)}.quick-add textarea{width:100%;border:0;outline:0;resize:none;min-height:44px;font-weight:500;background:transparent}.quick-add .qa-ft{display:flex;align-items:center;gap:6px;justify-content:flex-end}.quick-add .qa-ft .hint{margin-right:auto;color:var(--ink-4);font-size:11.5px;display:flex;gap:4px;align-items:center}.add-col{width:46px;flex-shrink:0;display:grid;place-items:center;border-radius:var(--r-lg);border:1px dashed var(--line-2);color:var(--ink-4);align-self:stretch;transition:color var(--t-fast),border-color var(--t-fast),background var(--t-fast)}.add-col:hover{color:var(--brand-700);border-color:var(--brand-300);background:var(--brand-25)}.tbl-wrap{padding:0 28px 48px}.grp{margin-bottom:28px;--c: var(--ink-3)}.grp-h{display:flex;align-items:center;gap:10px;height:36px;text-align:left;padding:0 4px;border-radius:var(--r-sm);margin-bottom:6px}.grp-h .chev{color:var(--ink-4);transition:transform var(--t-med) var(--ease)}.grp.collapsed .grp-h .chev{transform:rotate(-90deg)}.grp-h .dotc{width:10px;height:10px;border-radius:3px;background:var(--c)}.grp-h .nm{font-weight:600;font-size:14.5px;letter-spacing:-.01em}.grp-h .ct{color:var(--ink-3);font-size:12px;font-weight:500;height:20px;padding:0 8px;border-radius:10px;background:var(--surface-3);display:grid;place-items:center}.grp-h .sum{color:var(--ink-4);font-size:12.5px}.grp-body{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--sh-xs)}.grp.collapsed .grp-body{display:none}table.tbl{border-collapse:separate;border-spacing:0;width:100%;min-width:max-content}.tbl th{position:sticky;top:0;background:var(--surface-2);z-index:1;height:36px;padding:0 12px;font-size:12px;font-weight:500;color:var(--ink-3);text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}.tbl th.th-title{min-width:380px}.tbl th button{display:inline-flex;align-items:center;gap:4px;color:inherit}.tbl th button:hover{color:var(--ink)}.tbl th.sorted{color:var(--brand-700)}.tbl th.th-add{width:44px;padding:0 6px}.tbl td{height:42px;padding:0;border-bottom:1px solid var(--line);white-space:nowrap;position:relative;background:var(--surface);transition:background var(--t-fast)}.tbl tbody tr:hover td{background:var(--surface-2)}.tbl tbody tr.sel td{background:var(--selected)}.tbl td.td-chk,.tbl th.td-chk{width:40px;text-align:center}.tbl td.td-chk .chk{margin:0 auto;cursor:pointer;opacity:.55;transition:opacity var(--t-fast)}.tbl tr:hover td.td-chk .chk,.tbl tr.sel td.td-chk .chk{opacity:1}.tbl td.td-title{padding:0 12px 0 4px;cursor:pointer}.tbl .tt{display:flex;align-items:center;gap:9px}.tbl .tt .t{overflow:hidden;text-overflow:ellipsis;max-width:440px;font-weight:500}.tbl .tt .open{margin-left:auto;opacity:0;color:var(--ink-3);display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:3px 7px;border-radius:var(--r-xs);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);transition:opacity var(--t-fast)}.tbl tr:hover .tt .open{opacity:1}.tbl .tt .cm{color:var(--ink-4);display:inline-flex;gap:3px;align-items:center;font-size:12px}.tbl td.td-f{min-width:130px;cursor:pointer;padding:0 12px}.tbl td.td-f:hover{background:var(--hover)!important}.tbl td.td-fill{padding:5px 6px;min-width:128px;cursor:pointer}.cell-fill{display:grid;place-items:center;height:30px;color:#fff;font-weight:500;font-size:12.5px;padding:0 10px;border-radius:var(--r-sm);transition:filter var(--t-fast),transform var(--t-fast)}.tbl td.td-fill:hover .cell-fill{filter:brightness(.95)}.cell-empty{display:grid;place-items:center;height:30px;border-radius:var(--r-sm);border:1px dashed transparent;color:var(--ink-4);transition:border-color var(--t-fast)}.tbl td.td-fill:hover .cell-empty{border-color:var(--line-2)}.tbl td.td-time{min-width:140px;padding:0 12px}.timer{display:inline-flex;align-items:center;gap:9px;font-variant-numeric:tabular-nums;color:var(--ink-2)}.timer .tbtn{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--brand-50);color:var(--brand);transition:background var(--t-fast),color var(--t-fast),transform var(--t-fast)}.timer .tbtn:hover{background:var(--brand);color:#fff;transform:scale(1.06)}.timer.run .tbtn{background:var(--red);color:#fff}.timer.run{color:var(--red);font-weight:500}.tbl tr.row-add td{padding:0 12px;color:var(--ink-4);cursor:text}.tbl tr.row-add td:hover{color:var(--ink-2)}.tbl tr.row-add input{border:0;outline:0;width:100%;height:40px;background:transparent}.tbl tr.sum td{border-bottom:0;height:40px;background:var(--surface-2)!important}.dist{display:flex;height:22px;margin:0 6px;gap:2px;border-radius:var(--r-xs);overflow:hidden}.dist i{display:block;height:100%;transition:flex-grow var(--t-slow) var(--ease-out)}.grp-add{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 14px;border:1px dashed var(--line-2);border-radius:var(--r-md);color:var(--ink-3);font-weight:500;transition:border-color var(--t-fast),color var(--t-fast),background var(--t-fast)}.grp-add:hover{border-color:var(--brand-300);color:var(--brand-700);background:var(--brand-25)}.bulk{position:fixed;left:50%;bottom:28px;transform:translate(-50%);z-index:30;display:flex;align-items:center;gap:2px;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-xl);animation:bulkIn var(--t-slow) var(--ease-out)}.bulk .n{display:grid;place-items:center;min-width:28px;height:28px;padding:0 8px;margin-right:6px;background:var(--brand);color:#fff;font-weight:600;border-radius:var(--r-sm);font-variant-numeric:tabular-nums}.bulk .lbl{margin-right:12px;color:var(--ink-2);font-weight:500}.bulk button{height:32px;padding:0 11px;display:inline-flex;align-items:center;gap:7px;color:var(--ink-2);font-weight:500;border-radius:var(--r-sm);transition:background var(--t-fast),color var(--t-fast)}.bulk button:hover{background:var(--hover);color:var(--ink)}.bulk button:has(svg):nth-last-child(2):hover{background:var(--red-tint);color:var(--red)}.bulk .sep{width:1px;height:20px;background:var(--line);margin:0 4px}@keyframes bulkIn{0%{transform:translate(-50%,20px);opacity:0}}.bl-wrap{padding:0 28px 48px;display:flex;flex-direction:column;gap:16px}.sp-box{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--sh-xs);overflow:hidden}.sp-box.active{border-color:var(--brand-200);box-shadow:0 0 0 3px var(--brand-25),var(--sh-xs)}.sp-h{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--surface-2);border-bottom:1px solid var(--line);flex-wrap:wrap}.sp-box.collapsed .sp-h{border-bottom:0}.sp-h .tg{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px}.sp-h .tg .chev{color:var(--ink-4);transition:transform var(--t-med) var(--ease)}.sp-box.collapsed .tg .chev{transform:rotate(-90deg)}.sp-h .dates{color:var(--ink-3);font-size:12.5px}.sp-h .goal{flex-basis:100%;padding-left:24px;display:flex;align-items:center;gap:6px;color:var(--ink-2);font-size:13px}.sp-h .r{margin-left:auto;display:flex;align-items:center;gap:10px}.state{font-size:11.5px;font-weight:500;padding:2px 8px;border-radius:10px}.state.active{background:var(--green-tint);color:var(--green)}.state.planned{background:var(--surface-3);color:var(--ink-3)}.cat-sum{display:flex;height:6px;width:120px;gap:2px;background:var(--surface-3);border-radius:3px;overflow:hidden}.cat-sum i{display:block}.sp-body{min-height:44px;transition:background var(--t-med)}.is-dragging .sp-body.dz-over{background:var(--brand-25)}.bl-row{display:flex;align-items:center;gap:10px;height:44px;padding:0 16px;border-bottom:1px solid var(--line);background:var(--surface);cursor:grab;position:relative;transition:background var(--t-fast)}.bl-row:hover{background:var(--surface-2)}.bl-row.dragging{opacity:.35}.bl-row .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.bl-row .r{display:flex;align-items:center;gap:12px}.bl-row .r .stag{font-size:12.5px;min-width:130px}.bl-empty{margin:12px 16px;padding:20px;text-align:center;color:var(--ink-4);border:1px dashed var(--line-2);border-radius:var(--r-md);font-size:13px}.bl-add{display:flex;align-items:center;gap:7px;height:40px;padding:0 16px;color:var(--ink-4);width:100%;font-weight:500;transition:color var(--t-fast),background var(--t-fast)}.bl-add:hover{color:var(--ink);background:var(--surface-2)}.bl-add-in{display:flex;align-items:center;gap:8px;padding:6px 16px 8px}.bl-add-in input{flex:1;height:34px;border:1px solid var(--brand-300);border-radius:var(--r-sm);box-shadow:var(--focus);padding:0 10px;outline:0}.dash{padding:0 28px 48px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}.pn{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;min-width:0;position:relative;box-shadow:var(--sh-xs)}.pn-h{display:flex;align-items:center;gap:10px;margin-bottom:18px}.pn-h h3{margin:0;font-size:14.5px;font-weight:600;letter-spacing:-.01em}.pn-h .sub{color:var(--ink-4);font-size:12.5px}.pn-h .r{margin-left:auto}.c3{grid-column:span 3}.c4{grid-column:span 4}.c5{grid-column:span 5}.c6{grid-column:span 6}.c7{grid-column:span 7}.c8{grid-column:span 8}.c12{grid-column:span 12}.sprint-strip{display:grid;grid-template-columns:1.5fr repeat(4,1fr) auto;align-items:stretch;padding:0}.sprint-strip>div{padding:20px 22px}.sprint-strip>div+div{border-left:1px solid var(--line)}.sprint-strip .nm{font-size:19px;font-weight:600;letter-spacing:-.02em;margin-top:6px}.sprint-strip .goal{color:var(--ink-2);font-size:13px;margin-top:4px;display:flex;gap:6px;align-items:flex-start}.sprint-strip .goal .ic{margin-top:3px;color:var(--brand)}.sprint-strip .v{font-size:26px;font-weight:600;letter-spacing:-.03em;margin-top:8px;font-variant-numeric:tabular-nums;line-height:1.1}.sprint-strip .v small{font-size:13px;color:var(--ink-4);font-weight:500;letter-spacing:0}.sprint-strip .act{display:flex;align-items:center}.catbar{display:flex;height:6px;gap:2px;margin-top:12px;border-radius:3px;overflow:hidden}.catbar i{display:block;height:100%;transform-origin:left;animation:growX .9s var(--ease-out) backwards}@keyframes growX{0%{transform:scaleX(0)}}.kpi{display:flex;flex-direction:column}.kpi .kh{display:flex;align-items:center;gap:10px}.kpi .ki{width:32px;height:32px;border-radius:var(--r-md);display:grid;place-items:center;background:var(--brand-50);color:var(--brand)}.kpi .ki.red{background:var(--red-tint);color:var(--red)}.kpi .ki.green{background:var(--green-tint);color:var(--green)}.kpi .ki.amber{background:var(--amber-tint);color:var(--amber)}.kpi .v{font-size:30px;font-weight:600;letter-spacing:-.03em;margin-top:14px;line-height:1;font-variant-numeric:tabular-nums}.kpi .ft{margin-top:10px;font-size:12.5px;color:var(--ink-3);display:flex;align-items:center;gap:6px}.kpi .ft .up{color:var(--green);font-weight:500}.kpi .ft .dn{color:var(--red);font-weight:500}.viz{position:relative}.viz>svg{display:block;width:100%;height:auto;overflow:visible}.viz .grid line{stroke:var(--line)}.viz .axis text{fill:var(--ink-4);font-size:11px;font-family:var(--font);font-variant-numeric:tabular-nums}.legend{display:flex;gap:16px;font-size:12px;color:var(--ink-3)}.legend .k{display:inline-flex;align-items:center;gap:7px}.legend .ln{display:inline-block;width:14px;height:3px;border-radius:2px}.legend .ln.dashed{background:repeating-linear-gradient(90deg,var(--ink-4) 0 4px,transparent 4px 7px)}.tip{position:absolute;pointer-events:none;z-index:5;background:var(--surface);color:var(--ink);padding:9px 11px;font-size:12px;white-space:nowrap;transform:translate(-50%,calc(-100% - 12px));border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-lg);line-height:1.55;transition:left 60ms linear,top 60ms linear}.tip .h{font-weight:600;margin-bottom:2px}.tip .r{display:flex;align-items:center;gap:8px;color:var(--ink-3)}.tip .r i{width:8px;height:8px;display:inline-block;border-radius:2px}.tip .r b{margin-left:auto;padding-left:14px;color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}.bars{display:grid;gap:9px}.bar-row{display:grid;grid-template-columns:128px 1fr 34px;align-items:center;gap:12px;font-size:13px;position:relative}.bar-row .lb{display:flex;align-items:center;gap:8px;min-width:0;color:var(--ink-2)}.bar-row .lb span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-row .tr{height:8px;background:var(--surface-3);position:relative;border-radius:4px;overflow:hidden}.bar-row .tr i{position:absolute;inset:0 auto 0 0;border-radius:4px;transform-origin:left;animation:growX .8s var(--ease-out) backwards}.bar-row .v{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.bar-row:hover .tr i{filter:brightness(.92)}.vel{display:flex;align-items:flex-end;gap:18px;height:160px;padding:0 4px;border-bottom:1px solid var(--line-2)}.vel .g{flex:1;display:flex;align-items:flex-end;justify-content:center;gap:4px;height:100%;position:relative}.vel .g i{width:16px;display:block;border-radius:4px 4px 0 0;transform-origin:bottom;animation:growY .8s var(--ease-out) backwards}@keyframes growY{0%{transform:scaleY(0)}}.vel-x{display:flex;gap:18px;padding:8px 4px 0}.vel-x span{flex:1;text-align:center;font-size:11.5px;color:var(--ink-4)}.feed-it{display:flex;gap:11px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.feed-it:last-child{border-bottom:0}.feed-it .tx{color:var(--ink-2);line-height:1.5}.feed-it .tx b{color:var(--ink);font-weight:500}.feed-it .tx a{font-family:var(--mono);font-size:12px;color:var(--brand-700);cursor:pointer}.feed-it .wh{font-size:12px;color:var(--ink-4)}.mini{display:flex;align-items:center;gap:10px;height:42px;border-bottom:1px solid var(--line);cursor:pointer;padding:0 8px;margin:0 -8px;border-radius:var(--r-sm);transition:background var(--t-fast)}.mini:hover{background:var(--surface-2)}.mini:last-child{border-bottom:0}.mini .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.inbox{padding:0 28px 48px;max-width:940px}.inbox-list{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--surface);box-shadow:var(--sh-xs)}.in-it{display:flex;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line);cursor:pointer;background:var(--surface);transition:background var(--t-fast);position:relative;align-items:flex-start}.in-it:last-child{border-bottom:0}.in-it:hover{background:var(--surface-2)}.in-it .ud{width:8px;height:8px;border-radius:50%;background:transparent;margin-top:12px;flex-shrink:0}.in-it.unread .ud{background:var(--brand)}.in-it .bd{flex:1;min-width:0}.in-it .bd .s{color:var(--ink-3);font-size:12.5px;margin-top:3px;display:flex;gap:6px;align-items:center}.in-it .bd .q{color:var(--ink-2);font-size:13px;margin-top:8px;padding:8px 10px;background:var(--surface-2);border-radius:var(--r-sm)}.set{display:grid;grid-template-columns:232px 1fr;min-height:100%}.set-nav{border-right:1px solid var(--line);padding:12px 10px}.set-nav button{display:flex;align-items:center;gap:10px;height:36px;padding:0 12px;width:100%;text-align:left;color:var(--ink-2);font-weight:500;border-radius:var(--r-sm);transition:background var(--t-fast),color var(--t-fast)}.set-nav button:hover{background:var(--hover);color:var(--ink)}.set-nav button.on{color:var(--brand-800);background:var(--brand-tint)}.set-nav button.on .ic{color:var(--brand)}.set-main{padding:24px 36px 64px;min-width:0}.set-h{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px}.set-h h2{margin:0;font-size:18px;font-weight:600;letter-spacing:-.02em}.set-h p{margin:5px 0 0;color:var(--ink-3);max-width:640px;line-height:1.55}.set-h .r{margin-left:auto;display:flex;gap:8px;align-items:center;flex-shrink:0}.st-list,.fd-list{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--surface);box-shadow:var(--sh-xs)}.st-row{display:grid;grid-template-columns:28px 1fr 180px 110px 110px 64px;align-items:center;gap:10px;height:50px;padding:0 14px;border-bottom:1px solid var(--line);background:var(--surface);transition:background var(--t-fast)}.st-row:last-child{border-bottom:0}.st-row:hover{background:var(--surface-2)}.st-row.head,.fd-row.head{height:38px;min-height:38px;background:var(--surface-2)}.st-row .grip,.fd-row .grip{color:var(--ink-4);cursor:grab;display:grid;opacity:.6;transition:opacity var(--t-fast)}.st-row:hover .grip,.fd-row:hover .grip{opacity:1}.st-row.dragging,.fd-row.dragging{opacity:.4}.st-row .nm-in{display:flex;align-items:center;gap:10px}.st-row input.inl{border:1px solid transparent;height:32px;padding:0 8px;outline:0;background:transparent;width:100%;font-weight:500;border-radius:var(--r-sm);transition:border-color var(--t-fast),background var(--t-fast),box-shadow var(--t-fast)}.st-row input.inl:hover{border-color:var(--line-2);background:var(--surface)}.st-row input.inl:focus{border-color:var(--brand-400);background:var(--surface);box-shadow:var(--focus)}.st-row input.wip-in{width:72px}.color-btn{width:22px;height:22px;border-radius:var(--r-sm);box-shadow:inset 0 0 0 1px #00000014;flex-shrink:0;transition:transform var(--t-fast)}.color-btn:hover{transform:scale(1.1)}.colors{display:grid;grid-template-columns:repeat(8,22px);gap:7px;padding:10px}.colors button{width:22px;height:22px;border-radius:var(--r-sm);transition:transform var(--t-fast)}.colors button:hover{transform:scale(1.15)}.colors button.on{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--ink)}.cat-pill{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 10px;border:1px solid var(--line-2);border-radius:var(--r-sm);font-size:12.5px;font-weight:500;color:var(--ink-2);background:var(--surface);transition:border-color var(--t-fast)}.cat-pill:hover{border-color:var(--line-3)}.st-actions{display:flex;justify-content:flex-end;gap:2px}.wf{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-2);position:relative;overflow:auto;margin-top:20px;box-shadow:var(--sh-xs)}.wf-bar{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--surface);position:sticky;left:0;top:0;z-index:2;flex-wrap:wrap}.wf-bar .hint{color:var(--ink-3);font-size:12.5px;display:flex;align-items:center;gap:7px}.wf-bar .r{margin-left:auto;display:flex;align-items:center;gap:10px}.wf-canvas{position:relative;min-width:1520px;height:420px;background-image:radial-gradient(var(--line-2) 1px,transparent 1px);background-size:20px 20px}.wf-canvas>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.wf-edge{fill:none;stroke:var(--ink-4);stroke-width:1.5;transition:stroke var(--t-fast)}.wf-edge-hit{fill:none;stroke:transparent;stroke-width:14;cursor:pointer;pointer-events:stroke}.wf-edge-g:hover .wf-edge{stroke:var(--red);stroke-width:2}.wf-edge-g .del{opacity:0;transition:opacity var(--t-fast)}.wf-edge-g:hover .del{opacity:1}.wf-edge.new{stroke:var(--brand-500);stroke-width:2;stroke-dasharray:5 4;animation:dash .6s linear infinite}@keyframes dash{to{stroke-dashoffset:-18}}.wf-edge.draw{animation:edgeIn .5s var(--ease-out)}@keyframes edgeIn{0%{stroke-dasharray:400;stroke-dashoffset:400}to{stroke-dasharray:400;stroke-dashoffset:0}}.wf-node{position:absolute;width:160px;height:52px;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-md);box-shadow:var(--sh-sm);display:flex;align-items:center;gap:10px;padding:0 12px;cursor:move;-webkit-user-select:none;user-select:none;transition:box-shadow var(--t-med),border-color var(--t-fast)}.wf-node:hover{box-shadow:var(--sh-md);border-color:var(--line-3)}.wf-node.moving{box-shadow:var(--sh-lg);z-index:5}.wf-node b{font-weight:600;font-size:12.5px;display:block}.wf-node small{display:block;color:var(--ink-4);font-size:11.5px}.wf-node .port{position:absolute;right:-7px;top:50%;width:14px;height:14px;margin-top:-7px;border-radius:50%;background:var(--brand);border:2px solid var(--surface);box-shadow:var(--sh-sm);cursor:crosshair;opacity:0;transition:opacity var(--t-fast),transform var(--t-fast)}.wf-node:hover .port,.wf-canvas.linking .port{opacity:1}.wf-node .port:hover{transform:scale(1.25)}.wf-canvas.linking .wf-node{cursor:crosshair}.wf-canvas.linking .wf-node.target{border-color:var(--brand-400);box-shadow:var(--focus),var(--sh-md)}.wf-free .wf-edge,.wf-free .wf-edge-g{opacity:.25}.fd-row{display:grid;grid-template-columns:28px 1fr 150px 150px 80px 84px;gap:10px;align-items:center;min-height:52px;padding:0 14px;border-bottom:1px solid var(--line);background:var(--surface);transition:background var(--t-fast)}.fd-row:last-child{border-bottom:0}.fd-row:hover{background:var(--surface-2)}.fd-row .nm{display:flex;align-items:center;gap:10px;font-weight:500}.fd-row .nm .ti{width:28px;height:28px;display:grid;place-items:center;background:var(--surface-3);color:var(--ink-2);border-radius:var(--r-sm)}.fd-row .sys{font-size:11px;color:var(--ink-3);font-weight:500;padding:1px 7px;background:var(--surface-3);border-radius:9px}.fd-row .opts{display:flex;gap:4px;flex-wrap:wrap;padding:8px 0;align-items:center}.switch{width:34px;height:20px;background:var(--line-3);position:relative;border-radius:10px;transition:background var(--t-med) var(--ease);flex-shrink:0}.switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:transform var(--t-med) var(--ease-out)}.switch.on{background:var(--brand)}.switch.on:after{transform:translate(14px)}.type-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.type-grid button{height:68px;border:1px solid var(--line-2);border-radius:var(--r-md);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:var(--ink-2);font-weight:500;font-size:12.5px;transition:border-color var(--t-fast),background var(--t-fast),color var(--t-fast),box-shadow var(--t-fast)}.type-grid button:hover{border-color:var(--line-3);color:var(--ink)}.type-grid button.on{border-color:var(--brand-400);background:var(--brand-25);color:var(--brand-800);box-shadow:var(--focus)}.type-grid button:disabled:not(.on){opacity:.45;cursor:not-allowed}.opt-ed{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.opt-ed .row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-bottom:1px solid var(--line)}.opt-ed .row:last-child{border-bottom:0}.opt-ed input{flex:1;height:32px;border:1px solid transparent;border-radius:var(--r-sm);padding:0 8px;outline:0}.opt-ed input:focus{border-color:var(--brand-400);box-shadow:var(--focus)}.field-lbl{display:block;font-size:12.5px;font-weight:500;color:var(--ink-2);margin:16px 0 6px}.text-in{width:100%;height:38px;border:1px solid var(--line-2);border-radius:var(--r-sm);padding:0 11px;outline:0;transition:border-color var(--t-fast),box-shadow var(--t-fast);background:var(--surface)}.text-in:focus{border-color:var(--brand-400);box-shadow:var(--focus)}.im-wrap{position:fixed;inset:0;z-index:45;display:grid;place-items:center;padding:32px}.scrim{position:fixed;inset:0;background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn var(--t-med) var(--ease)}.im-wrap>.scrim{position:absolute}.scrim.out{animation:fadeOut .18s var(--ease) forwards}.im{position:relative;width:min(1180px,100%);height:min(860px,100%);background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--sh-xl);display:flex;flex-direction:column;overflow:hidden;animation:imIn .38s var(--ease-out);transform-origin:var(--ox, 50%) var(--oy, 50%);transition:width var(--t-slow) var(--ease-out),height var(--t-slow) var(--ease-out)}.im.full{width:100%;height:100%}.im.out{animation:imOut .18s var(--ease) forwards}@keyframes imIn{0%{opacity:0;transform:scale(.92) translateY(10px)}}@keyframes imOut{to{opacity:0;transform:scale(.97) translateY(4px)}}.im-head{display:flex;align-items:center;gap:8px;height:56px;padding:0 14px 0 24px;border-bottom:1px solid var(--line);flex-shrink:0}.im-head .cr{display:flex;align-items:center;gap:8px;color:var(--ink-3);font-size:13px;min-width:0}.im-head .cr .ic{color:var(--ink-4)}.im-head .acts{margin-left:auto;display:flex;align-items:center;gap:2px}.im-head .watch{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border:1px solid var(--line-2);border-radius:var(--r-sm);color:var(--ink-2);font-size:12.5px;margin-right:6px}.im-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 360px}.im-main{overflow-y:auto;padding:26px 36px 64px}.im-side{overflow-y:auto;border-left:1px solid var(--line);background:var(--surface-2);padding:20px 20px 40px}.im-title{width:100%;font-size:24px;font-weight:600;letter-spacing:-.025em;line-height:1.3;border:1px solid transparent;border-radius:var(--r-md);padding:4px 10px;margin-left:-11px;resize:none;outline:0;overflow:hidden;background:transparent;transition:background var(--t-fast),border-color var(--t-fast),box-shadow var(--t-fast)}.im-title:hover{background:var(--surface-2)}.im-title:focus{border-color:var(--brand-300);background:var(--surface);box-shadow:var(--focus)}.im-tools{display:flex;gap:6px;margin:10px 0 4px}.im-tools button{height:30px;padding:0 11px;border:1px solid var(--line-2);border-radius:var(--r-sm);display:inline-flex;align-items:center;gap:6px;color:var(--ink-2);font-size:12.5px;font-weight:500;background:var(--surface);transition:border-color var(--t-fast),color var(--t-fast),background var(--t-fast)}.im-tools button:hover{border-color:var(--line-3);color:var(--ink);background:var(--surface-2)}.sec{margin-top:28px}.sec-h{display:flex;align-items:center;gap:8px;margin-bottom:10px}.sec-h h4{margin:0;font-size:14px;font-weight:600}.sec-h .c{color:var(--ink-4);font-size:12.5px}.sec-h .r{margin-left:auto;display:flex;gap:6px;align-items:center}.md{color:var(--ink-2);line-height:1.7;font-size:14px;padding:10px 12px;margin:0 -12px;border-radius:var(--r-md);border:1px solid transparent;cursor:text;transition:background var(--t-fast),border-color var(--t-fast)}.md:hover{background:var(--surface-2);border-color:var(--line)}.md h2{font-size:15px;font-weight:600;color:var(--ink);margin:18px 0 6px}.md h2:first-child{margin-top:0}.md p{margin:0 0 8px}.md ul,.md ol{margin:0 0 10px;padding-left:22px}.md li{margin:3px 0}.md li::marker{color:var(--ink-4)}.md strong{color:var(--ink);font-weight:600}.md code{font-family:var(--mono);font-size:12.5px;background:var(--surface-3);padding:1px 5px;border-radius:var(--r-xs)}.md .ph-empty{color:var(--ink-4)}.md-edit textarea{width:100%;min-height:220px;border:1px solid var(--brand-300);border-radius:var(--r-md);box-shadow:var(--focus);padding:12px 14px;outline:0;resize:vertical;line-height:1.65;font-family:var(--mono);font-size:13px}.md-edit .bar{display:flex;gap:6px;margin-top:8px;align-items:center}.md-edit .bar .hint{margin-right:auto;color:var(--ink-4);font-size:12px;display:flex;gap:4px;align-items:center}.subs{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.subt{display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;border-bottom:1px solid var(--line);transition:background var(--t-fast)}.subt:last-child{border-bottom:0}.subt:hover{background:var(--surface-2)}.subt .s-t{flex:1;transition:color var(--t-med)}.subt.done .s-t{color:var(--ink-4);text-decoration:line-through}.subt .del{opacity:0;transition:opacity var(--t-fast)}.subt:hover .del{opacity:1}.subt input{flex:1;border:0;outline:0;height:100%;background:transparent}.subt .chk{cursor:pointer}.subt>.ic{color:var(--ink-4)}.progress{height:5px;background:var(--surface-3);position:relative;overflow:hidden;border-radius:3px}.progress i{position:absolute;inset:0 auto 0 0;background:var(--brand);border-radius:3px;transition:width var(--t-slow) var(--ease-out)}.act-tabs{display:inline-flex;padding:3px;gap:2px;background:var(--surface-3);border-radius:var(--r-md);margin-bottom:16px}.act-tabs button{height:28px;padding:0 12px;color:var(--ink-3);font-weight:500;font-size:12.5px;border-radius:var(--r-sm);transition:background var(--t-fast),color var(--t-fast),box-shadow var(--t-fast)}.act-tabs button:hover{color:var(--ink)}.act-tabs button.on{color:var(--ink);background:var(--surface);box-shadow:var(--sh-sm)}.tl{display:flex;flex-direction:column;gap:16px}.tl-c{display:flex;gap:11px}.tl-c .bx{flex:1;min-width:0}.tl-c .who{font-size:13px;font-weight:600}.tl-c .who span{font-weight:400;color:var(--ink-4);margin-left:6px}.tl-c .msg{margin-top:5px;color:var(--ink-2);white-space:pre-wrap;line-height:1.6;padding:10px 12px;background:var(--surface-2);border:1px solid var(--line);border-radius:2px var(--r-md) var(--r-md) var(--r-md)}.tl-a{display:flex;gap:11px;align-items:center;font-size:12.5px;color:var(--ink-3)}.tl-a b{color:var(--ink-2);font-weight:500}.tl-a .line{width:28px;display:grid;place-items:center;color:var(--ink-4)}.cbox{display:flex;gap:11px;margin-bottom:20px}.cbox .bx{flex:1;border:1px solid var(--line-2);border-radius:var(--r-md);transition:border-color var(--t-fast),box-shadow var(--t-fast);background:var(--surface);overflow:hidden}.cbox .bx:focus-within{border-color:var(--brand-300);box-shadow:var(--focus)}.cbox textarea{width:100%;border:0;outline:0;resize:none;min-height:46px;padding:11px 13px;background:transparent;transition:min-height var(--t-med) var(--ease);display:block}.cbox .bx:focus-within textarea{min-height:90px}.cbox .bar{display:flex;align-items:center;gap:6px;padding:6px 8px;border-top:1px solid var(--line);background:var(--surface-2)}.cbox .bar .hint{margin-right:auto;color:var(--ink-4);font-size:12px;padding-left:4px;display:flex;gap:4px;align-items:center}.status-btn{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;color:#fff;font-weight:600;font-size:13px;border-radius:var(--r-sm);box-shadow:inset 0 1px #ffffff26,0 1px 2px #0000001f;transition:filter var(--t-fast)}.status-btn:hover{filter:brightness(.94)}.next-steps{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px;align-items:center}.next-steps .lbl{width:100%;font-size:12px;color:var(--ink-4);margin-bottom:2px}.side-box{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-lg);margin-top:16px;overflow:hidden}.side-box>.hd{display:flex;align-items:center;gap:8px;height:44px;padding:0 16px;width:100%;text-align:left;font-weight:600;font-size:13.5px;transition:background var(--t-fast)}.side-box>.hd:hover{background:var(--surface-2)}.side-box>.hd .ic:first-child{color:var(--ink-4);transition:transform var(--t-med) var(--ease)}.side-box.collapsed>.hd .ic:first-child{transform:rotate(-90deg)}.side-box.collapsed>.bd{display:none}.side-box>.bd{padding:8px 16px 14px;border-top:1px solid var(--line)}.prop{display:grid;grid-template-columns:108px minmax(0,1fr);align-items:center;min-height:36px;gap:8px}.prop>label{color:var(--ink-3);font-size:13px}.prop .val{display:flex;align-items:center;min-height:32px;padding:2px 8px;margin-left:-9px;border-radius:var(--r-sm);text-align:left;font-size:13px;min-width:0;cursor:pointer;transition:background var(--t-fast);overflow:hidden}.prop .val:hover{background:var(--hover)}.prop .val.static{cursor:default}.prop .val.static:hover{background:none}.prop .val .fv-person span:last-child{overflow:hidden;text-overflow:ellipsis}.prop .sub-act{color:var(--brand-700);font-size:12.5px;font-weight:500}.prop .sub-act:hover{text-decoration:underline}.time-sum{display:flex;justify-content:space-between;font-size:12.5px;color:var(--ink-3);margin:8px 0;font-variant-numeric:tabular-nums}.time-sum b{color:var(--ink);font-weight:600}.time-acts{display:flex;gap:6px;margin-top:12px;flex-wrap:wrap}.dev-row{display:flex;align-items:center;gap:8px;height:34px;font-size:13px;color:var(--ink-3)}.dev-row code{font-family:var(--mono);font-size:12px;color:var(--ink);background:var(--surface-3);padding:3px 7px;border-radius:var(--r-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.modal-wrap{position:fixed;inset:0;z-index:50;display:grid;place-items:start center;padding-top:10vh}.modal-wrap .scrim{z-index:0;position:absolute}.modal{width:min(700px,94vw);background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--sh-xl);position:relative;z-index:1;max-height:80vh;display:flex;flex-direction:column;overflow:hidden;animation:modalIn var(--t-slow) var(--ease-out)}.modal.sm{width:min(460px,94vw)}.modal.md{width:min(580px,94vw)}.modal-wrap.out .modal{animation:modalOut .15s var(--ease) forwards}.modal-wrap.out .scrim{animation:fadeOut .15s var(--ease) forwards}@keyframes modalIn{0%{transform:translateY(-8px) scale(.98);opacity:0}}@keyframes modalOut{to{transform:translateY(-4px) scale(.99);opacity:0}}@keyframes fadeIn{0%{opacity:0}}@keyframes fadeOut{to{opacity:0}}.m-hd{display:flex;align-items:center;gap:8px;padding:18px 22px 4px}.m-hd b{font-size:15.5px;font-weight:600;letter-spacing:-.01em}.m-hd .acts{margin-left:auto}.m-bd{padding:10px 22px;overflow-y:auto}.m-ft{display:flex;align-items:center;gap:8px;padding:14px 22px;border-top:1px solid var(--line);margin-top:10px;background:var(--surface-2)}.m-ft>span:first-child{margin-right:auto;display:flex;align-items:center;gap:9px;color:var(--ink-2);font-size:13px}.c-title-in{width:100%;border:0;outline:0;font-size:21px;font-weight:600;letter-spacing:-.02em;padding:6px 0;background:transparent}.c-title-in::placeholder,.c-desc-in::placeholder{color:var(--ink-4);font-weight:400}.c-desc-in{width:100%;border:0;outline:0;resize:none;min-height:88px;line-height:1.6;background:transparent}.c-props{display:flex;flex-wrap:wrap;gap:6px;padding:12px 0 4px;border-top:1px solid var(--line)}.c-prop{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 10px;border:1px solid var(--line-2);border-radius:var(--r-sm);font-size:12.5px;color:var(--ink-2);background:var(--surface);max-width:260px;overflow:hidden;transition:border-color var(--t-fast),background var(--t-fast)}.c-prop:hover{border-color:var(--line-3);background:var(--surface-2)}.c-prop .k{color:var(--ink-4)}.radio{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line-2);border-radius:var(--r-md);margin-bottom:8px;cursor:pointer;transition:border-color var(--t-fast),background var(--t-fast),box-shadow var(--t-fast)}.radio.on{border-color:var(--brand-400);background:var(--brand-25);box-shadow:var(--focus)}.radio .rd{width:16px;height:16px;border:1.5px solid var(--line-3);border-radius:50%;margin-top:1px;flex-shrink:0;position:relative}.radio.on .rd{border:5px solid var(--brand)}.radio small{display:block;color:var(--ink-3)}.sumg{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0 14px}.sumg div{padding:14px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2)}.sumg b{font-size:24px;font-weight:600;display:block;letter-spacing:-.02em}.sumg span{color:var(--ink-3);font-size:12.5px}.popover{position:fixed;z-index:60;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-lg);min-width:200px;max-height:400px;display:flex;flex-direction:column;animation:popIn .15s var(--ease-out);transform-origin:top;outline:0;overflow:hidden}.popover.out{animation:popOut .11s var(--ease) forwards}@keyframes popIn{0%{opacity:0;transform:translateY(-4px) scale(.98)}}@keyframes popOut{to{opacity:0;transform:translateY(-2px) scale(.99)}}.m-search{display:flex;align-items:center;gap:8px;height:40px;padding:0 12px;border-bottom:1px solid var(--line);color:var(--ink-4);flex-shrink:0}.m-search input{border:0;outline:0;flex:1;background:transparent;color:var(--ink)}.m-list{overflow-y:auto;padding:5px}.m-item{display:flex;align-items:center;gap:10px;height:34px;padding:0 9px;width:100%;text-align:left;color:var(--ink);border-radius:var(--r-sm);transition:background 80ms}.m-item:hover,.m-item.kb{background:var(--hover)}.m-item:disabled{color:var(--ink-4);cursor:not-allowed;background:none}.m-item:disabled .ic{opacity:.45}.m-item .m-l{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-item .m-tick{color:var(--brand);display:grid}.m-item .m-hint{color:var(--ink-4);font-size:11.5px}.m-item.danger{color:var(--red)}.m-item.danger:hover{background:var(--red-tint)}.m-item.m-create{color:var(--brand-700);font-weight:500}.m-sep{height:1px;background:var(--line);margin:5px -5px}.m-head{font-size:11.5px;font-weight:500;color:var(--ink-4);padding:8px 9px 4px}.m-empty{padding:16px;text-align:center;color:var(--ink-4)}.m-foot{display:flex;align-items:center;gap:6px;padding:9px 12px;border-top:1px solid var(--line);color:var(--ink-3);font-size:12px;background:var(--surface-2)}.ip{padding:12px}.ip input{width:100%;height:36px;border:1px solid var(--line-2);border-radius:var(--r-sm);padding:0 10px;outline:0}.ip input:focus{border-color:var(--brand-400);box-shadow:var(--focus)}.ip-quick{display:flex;gap:4px;flex-wrap:wrap;margin-top:8px}.ip-quick .btn{background:var(--surface-3)}.ip-ft{display:flex;justify-content:flex-end;gap:6px;margin-top:10px}.net{padding:5px;width:320px}.net .m-item{height:auto;padding:9px;align-items:flex-start}.net .m-item small{display:block;color:var(--ink-3);font-size:12px}.net-st{padding:14px;border-bottom:1px solid var(--line);font-size:12.5px;color:var(--ink-2);display:grid;gap:5px;line-height:1.5}.net-st b{font-weight:600;color:var(--ink)}.pal{width:min(660px,94vw)}.pal-in{display:flex;align-items:center;gap:10px;padding:0 18px;height:58px;border-bottom:1px solid var(--line);color:var(--ink-4)}.pal-in input{flex:1;border:0;outline:0;font-size:16px;color:var(--ink);background:transparent}.pal-list{max-height:420px;overflow-y:auto;padding:6px}.pal-sec{font-size:12px;font-weight:500;color:var(--ink-4);padding:10px 10px 4px}.pal-it{display:flex;align-items:center;gap:10px;height:42px;padding:0 10px;cursor:pointer;color:var(--ink-3);border-radius:var(--r-sm)}.pal-it .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}.pal-it.on{background:var(--brand-tint)}.pal-ft{display:flex;gap:16px;padding:10px 16px;border-top:1px solid var(--line);color:var(--ink-4);font-size:12px;background:var(--surface-2)}.pal-ft span{display:inline-flex;gap:4px;align-items:center}.toasts{position:fixed;bottom:24px;right:24px;z-index:70;display:flex;flex-direction:column;gap:8px;align-items:flex-end}.toast{display:flex;align-items:center;gap:11px;min-width:320px;max-width:480px;background:var(--surface);color:var(--ink-2);padding:12px 10px 12px 14px;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-lg);position:relative;overflow:hidden;animation:toastIn .32s var(--ease-out)}.toast .t-ic{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--green-tint);color:var(--green);flex-shrink:0}.toast.error .t-ic{background:var(--red-tint);color:var(--red)}.toast.warn .t-ic{background:var(--amber-tint);color:var(--amber)}.toast .t-msg{flex:1;line-height:1.45}.toast .t-msg b{color:var(--ink);font-weight:600}.toast .t-act{color:var(--brand-700);font-weight:600;padding:5px 9px;border-radius:var(--r-sm);white-space:nowrap}.toast .t-act:hover{background:var(--brand-tint)}.toast .t-x{color:var(--ink-4);display:grid;padding:5px;border-radius:var(--r-xs)}.toast .t-x:hover{color:var(--ink);background:var(--hover)}.toast .t-bar{position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--brand-300);transform-origin:left;animation:tbar linear forwards}.toast.error .t-bar{background:#f1a7b4}.toast.hold .t-bar{animation-play-state:paused}.toast.out{animation:toastOut .24s var(--ease) forwards}@keyframes toastIn{0%{transform:translateY(12px) scale(.98);opacity:0}}@keyframes toastOut{to{transform:translate(16px);opacity:0}}@keyframes tbar{to{transform:scaleX(0)}}.empty{display:grid;place-items:center;padding:80px 20px}.empty-in{text-align:center;max-width:440px}.empty-art{width:60px;height:60px;display:grid;place-items:center;margin:0 auto 18px;border-radius:16px;color:var(--brand);background:var(--brand-50);box-shadow:inset 0 0 0 1px var(--brand-100)}.empty h3{margin:0 0 6px;font-size:16.5px;font-weight:600;letter-spacing:-.01em}.empty p{margin:0 0 20px;color:var(--ink-3);line-height:1.6}.shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.shortcuts .row{display:flex;align-items:center;justify-content:space-between;height:38px;border-bottom:1px solid var(--line)}.shortcuts .row span:last-child{display:flex;gap:4px}.no-anim,.no-anim *{animation:none!important}.skel{background:linear-gradient(90deg,var(--surface-3) 0%,var(--surface-2) 50%,var(--surface-3) 100%);background-size:200% 100%;animation:shimmer 1.2s linear infinite;border-radius:var(--r-md)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skel-board{display:flex;gap:12px;padding:0 28px}.skel-col{width:296px;display:flex;flex-direction:column;gap:8px}@keyframes pulse{50%{opacity:.35}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media(max-width:1280px){.c3{grid-column:span 6}.c4,.c5,.c7,.c8{grid-column:span 12}.sprint-strip{grid-template-columns:1fr 1fr 1fr}.im-body{grid-template-columns:minmax(0,1fr) 320px}}@media(max-width:900px){.app{grid-template-columns:1fr}.sb,.tb-search span{display:none}.tb-search{flex:0 0 auto}.im-wrap{padding:0}.im{border-radius:0;height:100%}.im-body{grid-template-columns:1fr}.im-side{border-left:0;border-top:1px solid var(--line)}.c3{grid-column:span 12}.set{grid-template-columns:1fr}.set-nav{display:flex;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line)}}.im-head .watch{cursor:pointer;background:var(--surface)}.im-head .watch:hover{background:var(--hover)}.im-head .watch.on{color:var(--brand-700);border-color:var(--brand-200);background:var(--brand-tint)}.subt .s-edit{text-align:left;background:none;border:0;padding:0;font:inherit;color:inherit;cursor:text}.subt .s-edit:hover{text-decoration:underline dotted var(--ink-4)}.subt .s-in{height:28px;border:1px solid var(--brand-400);border-radius:var(--r-sm);padding:0 8px;box-shadow:var(--focus);outline:0;background:var(--surface)}.tl-acts{margin-left:auto;display:inline-flex;gap:2px;opacity:0;transition:opacity var(--t-fast)}.tl-c:hover .tl-acts,.tl-a:hover .tl-acts,.tl-acts:focus-within{opacity:1}.tl-c .who,.tl-a{display:flex;align-items:center;gap:8px}@media(hover:none){.tl-acts{opacity:1}}.att{border:1px dashed transparent;border-radius:var(--r-md);transition:border-color var(--t-fast),background var(--t-fast)}.att.drag{border-color:var(--brand-400);background:var(--brand-tint)}.att-row{display:flex;align-items:center;gap:10px;padding:8px 6px;border-bottom:1px solid var(--line)}.att-row:last-of-type{border-bottom:0}.att-ic{width:32px;height:32px;border-radius:var(--r-sm);display:grid;place-items:center;background:var(--surface-3);color:var(--ink-3);flex:none}.att-ic.img{background:var(--blue-tint);color:var(--blue)}.att-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.att-name{background:none;border:0;padding:0;text-align:left;font:inherit;font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.att-name:disabled{cursor:default;color:var(--ink-3)}.att-name:not(:disabled):hover{color:var(--brand-700);text-decoration:underline}.att-main small{display:inline-flex;align-items:center;gap:5px;color:var(--ink-3);font-size:11.5px}.att-st.ok{color:var(--green)}.att-st.bad{color:var(--red);font-weight:600}.att-st.muted{color:var(--amber)}.att-row.up .progress{height:4px}.att-drop{display:flex;align-items:center;gap:8px;width:100%;margin-top:8px;padding:10px 12px;border:1px dashed var(--line-3);border-radius:var(--r-md);background:var(--surface-2);color:var(--ink-2);font-size:13px;cursor:pointer}.att-drop:hover{border-color:var(--brand-400);color:var(--brand-700)}.att-drop .muted{font-size:12px}.links .lk-g+.lk-g{margin-top:8px}.lk-h{font-size:11.5px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;margin:4px 0}.lk-row{display:flex;align-items:center;gap:8px;padding:6px 4px;border-bottom:1px solid var(--line)}.lk-row .key{font:500 12px var(--mono)}.lk-row .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.lk-row.done .t{color:var(--ink-3);text-decoration:line-through}.links .sub-act{display:inline-flex;align-items:center;gap:6px;margin-top:8px}.mention{position:relative;flex:1;display:flex}.mention textarea{flex:1}.mention-list{position:absolute;left:0;top:calc(100% + 4px);z-index:30;min-width:240px;padding:4px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line-2);box-shadow:var(--sh-lg)}.mention-list button{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border:0;border-radius:var(--r-sm);background:none;text-align:left;font:inherit;color:var(--ink);cursor:pointer}.mention-list button.on,.mention-list button:hover{background:var(--selected)}.cbox .bx{overflow:visible}.danger-zone{max-width:640px;margin-top:36px;border:1px solid color-mix(in srgb,var(--red) 35%,var(--line));border-radius:var(--r-lg)}.danger-zone h3{margin:0;padding:12px 16px;font-size:13.5px;color:var(--red);border-bottom:1px solid var(--line)}.dz-row{display:flex;align-items:center;gap:16px;padding:14px 16px}.dz-row+.dz-row{border-top:1px solid var(--line)}.dz-row>div{flex:1}.dz-row p{margin:3px 0 0;color:var(--ink-3);font-size:12.5px}.archived-banner{display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--amber-tint);color:var(--amber);font-size:13px;border-bottom:1px solid var(--line)}.search-pg{padding:18px 24px 40px;max-width:1280px}.sq-box{position:relative}.sq-in{position:relative;display:flex;align-items:center;gap:10px;padding:6px 6px 6px 14px;border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--sh-xs)}.sq-in:focus-within{border-color:var(--brand-400);box-shadow:var(--focus)}.sq-in.bad{border-color:var(--red)}.sq-in textarea{flex:1;border:0;outline:0;resize:none;font:14px var(--mono);background:transparent;padding:8px 0;line-height:1.5;color:var(--ink)}.sq-sug{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:30;padding:4px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line-2);box-shadow:var(--sh-lg)}.sq-sug button{display:flex;align-items:center;gap:10px;width:100%;padding:7px 10px;border:0;background:none;border-radius:var(--r-sm);font:inherit;text-align:left;color:var(--ink);cursor:pointer}.sq-sug button.on,.sq-sug button:hover{background:var(--selected)}.sq-sug .k{font-size:10.5px;padding:1px 6px;border-radius:4px;background:var(--surface-3);color:var(--ink-3);min-width:48px;text-align:center}.sq-sug b{font:500 13px var(--mono)}.sq-sug small{margin-left:auto;color:var(--ink-3);font-size:12px}.sq-hint{padding:6px 10px 4px;font-size:11.5px;color:var(--ink-4);border-top:1px solid var(--line);margin-top:4px}.sq-meta{display:flex;align-items:center;gap:12px;margin-top:10px;font-size:13px;color:var(--ink-3);flex-wrap:wrap}.sq-meta code{font-size:12px;padding:2px 8px;border-radius:4px;background:var(--surface-3);color:var(--ink-2);max-width:100%;overflow:hidden;text-overflow:ellipsis}.sq-meta .btn{margin-left:auto}.sq-body{display:grid;grid-template-columns:260px 1fr;gap:24px;margin-top:22px}@media(max-width:900px){.sq-body{grid-template-columns:1fr}}.sq-side h4{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);margin:0 0 8px}.sq-f{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:13px}.sq-f .icon-btn{margin-left:auto}.sq-ex{display:block;width:100%;text-align:left;padding:8px 10px;margin-bottom:6px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);cursor:pointer;font:inherit;color:var(--ink)}.sq-ex:hover{border-color:var(--brand-300)}.sq-ex b{display:block;font-size:12.5px;margin-bottom:3px}.sq-ex code{font-size:11px;color:var(--ink-3);word-break:break-word}.sq-row{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:0;border-bottom:1px solid var(--line);background:var(--surface);font:inherit;text-align:left;cursor:pointer;color:var(--ink)}.sq-row:hover{background:var(--hover)}.sq-row .key{font:500 12px var(--mono);color:var(--ink-3);min-width:72px}.sq-row .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-archive summary{cursor:pointer;list-style:none}.sb-archive summary::-webkit-details-marker{display:none}.sb-item.muted{color:var(--ink-3)}.wh-evs{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px}.wh-ev{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.secret-box{display:block;padding:10px 12px;border-radius:var(--r-md);background:var(--surface-3);font:13px var(--mono);word-break:break-all;-webkit-user-select:all;user-select:all}.fl-bar{fill:var(--brand-200)}.fl-bar:hover{fill:var(--brand-400)}.fl-line{stroke:var(--green)}.qe{display:inline-flex;align-items:center;justify-content:center;border:0;background:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;border-radius:var(--r-sm);transition:box-shadow var(--t-fast),background var(--t-fast)}.qe:hover{box-shadow:0 0 0 2px var(--brand-200)}.qe:focus-visible{outline:2px solid var(--brand-500);outline-offset:1px}.qe.qe-av{border-radius:50%}.qe.pts{border-radius:10px}.qe.pts:hover{background:var(--brand-100);color:var(--brand-700)}.qe.pts.empty{background:transparent;color:var(--ink-4);box-shadow:inset 0 0 0 1px var(--line-2)}.card .qe.pts.empty{opacity:0}.card:hover .qe.pts.empty,.card .qe.pts.empty:focus-visible{opacity:1}.qe.qe-tag{border-radius:var(--r-sm)}.qe.qe-ghost{opacity:0}.bl-row:hover .qe.qe-ghost,.qe.qe-ghost:focus-visible{opacity:1}.qe-ph{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;font-size:12px;color:var(--ink-3);border:1px dashed var(--line-3);border-radius:var(--r-sm)}.qe:not(.qe-av):not(.pts):not(.qe-tag){width:22px;height:22px}.qe:not(.qe-av):not(.pts):not(.qe-tag):hover{background:var(--hover);box-shadow:none}.rt.view.can{cursor:text}.rt.view .rt-doc{padding:10px 12px;margin:0 -12px}.rt.view.can:hover .rt-doc{background:var(--surface-2);border-color:var(--line)}.rt.view.can:focus-visible{outline:none}.rt.view.can:focus-visible .rt-doc{box-shadow:var(--focus)}.rt.view>.ph-empty{color:var(--ink-4);padding:10px 12px;margin:0 -12px;border-radius:var(--r-md);border:1px solid transparent}.rt.view.can:hover>.ph-empty{background:var(--surface-2);border-color:var(--line)}.rt.edit{border:1px solid var(--brand-300);border-radius:var(--r-md);box-shadow:var(--focus);background:var(--surface)}.rt.edit.bare{border-color:var(--line);box-shadow:none}.rt.edit.bare:focus-within{border-color:var(--brand-300);box-shadow:var(--focus)}.rt-bar{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:2px;flex-wrap:wrap;padding:5px 6px;border-bottom:1px solid var(--line);background:var(--surface-2);border-radius:var(--r-md) var(--r-md) 0 0}.rt-b{width:28px;height:28px;display:grid;place-items:center;border:0;background:none;border-radius:var(--r-sm);color:var(--ink-2);cursor:pointer}.rt-b:hover:not(:disabled){background:var(--hover);color:var(--ink)}.rt-b.on{background:var(--brand-50);color:var(--brand-700)}.rt-b:disabled{opacity:.35;cursor:default}.rt-sel{height:28px;border:0;background:none;border-radius:var(--r-sm);padding:0 6px;font:500 12.5px var(--font);color:var(--ink-2);cursor:pointer}.rt-sel:hover{background:var(--hover)}.rt-sep{width:1px;height:18px;background:var(--line-2);margin:0 4px}.rt-grow{flex:1}.rt-body{display:block;cursor:text;resize:vertical;overflow:auto;max-height:60vh}.rt-body .rt-doc{min-height:inherit;margin:0;border:0;padding:12px 14px;outline:none;cursor:text}.rt-body .rt-doc:hover{background:none}.rt.edit>.bar{display:flex;gap:6px;align-items:center;padding:8px 10px;border-top:1px solid var(--line)}.rt.edit>.bar .hint{margin-right:auto;color:var(--ink-4);font-size:12px;display:flex;gap:4px;align-items:center}.c-desc-rt{margin-top:6px}.rt-doc{white-space:pre-wrap;word-wrap:break-word}.rt-doc>:first-child{margin-top:0}.rt-doc h1{font-size:18px;font-weight:650;color:var(--ink);margin:20px 0 8px;letter-spacing:-.01em}.rt-doc h3{font-size:14px;font-weight:600;color:var(--ink);margin:14px 0 4px}.rt-doc em{font-style:italic}.rt-doc s{color:var(--ink-3)}.rt-doc a{color:var(--brand-600);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.rt-doc blockquote{margin:8px 0;padding:2px 0 2px 14px;border-left:3px solid var(--line-3);color:var(--ink-3)}.rt-doc pre{background:var(--surface-3);border-radius:var(--r-md);padding:10px 12px;margin:8px 0;overflow-x:auto}.rt-doc pre code{background:none;padding:0;font-size:12.5px;line-height:1.55}.rt-doc hr{border:0;border-top:1px solid var(--line-2);margin:16px 0}.rt-doc ul[data-type=taskList]{list-style:none;padding-left:2px}.rt-doc ul[data-type=taskList] li{display:flex;gap:8px;align-items:flex-start}.rt-doc ul[data-type=taskList] li>label{margin-top:3px;flex:none}.rt-doc ul[data-type=taskList] li>label input{width:15px;height:15px;accent-color:var(--brand-600)}.rt-doc ul[data-type=taskList] li>div{flex:1}.rt-doc ul[data-type=taskList] li>div>p{margin:0}.rt-doc ul[data-type=taskList] li[data-checked=true]>div{color:var(--ink-4);text-decoration:line-through}.rt-doc p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--ink-4);float:left;height:0;pointer-events:none}.rt-doc .ProseMirror-selectednode{outline:2px solid var(--brand-300)}.av{overflow:hidden}.av>img{width:100%;height:100%;object-fit:cover;display:block}.prof{max-width:880px;margin:0 auto;padding:28px 32px 64px;display:flex;flex-direction:column;gap:18px}.prof-hero{display:flex;align-items:center;gap:20px;padding:22px 24px;border:1px solid var(--line);border-radius:var(--r-xl);background:linear-gradient(135deg,var(--brand-50),var(--surface) 60%)}.prof-av{position:relative;flex:none}.prof-av .av{box-shadow:0 0 0 4px var(--surface),var(--sh-md);font-size:30px!important}.prof-av-btn{position:absolute;right:-2px;bottom:-2px;width:30px;height:30px;border-radius:50%;border:0;display:grid;place-items:center;background:var(--brand);color:#fff;cursor:pointer;box-shadow:0 0 0 3px var(--surface)}.prof-av-btn:hover{background:var(--brand-hover)}.prof-id{flex:1;min-width:0}.prof-id h1{margin:0;font-size:22px;letter-spacing:-.015em;color:var(--ink)}.prof-id p{margin:3px 0 0;color:var(--ink-3)}.prof-mail{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px}.pill{display:inline-flex;align-items:center;gap:3px;height:20px;padding:0 8px;border-radius:10px;background:var(--surface-3);color:var(--ink-2);font-weight:500;font-size:11.5px}.pill.ok{background:var(--green-tint);color:var(--green)}.pill.warn{background:var(--amber-tint);color:var(--amber)}.link-btn{border:0;background:none;padding:0;color:var(--brand-600);font:inherit;font-size:12.5px;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.prof-av-acts{display:flex;gap:6px;flex-direction:column;align-items:stretch}.prof-card{border:1px solid var(--line);border-radius:var(--r-xl);background:var(--surface);padding:18px 22px 20px}.prof-h{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin:10px 0;flex-wrap:wrap}.prof-card>.prof-h{margin-top:0}.prof-h h2{margin:0;font-size:15px;font-weight:600;color:var(--ink)}.prof-h p{margin:3px 0 0;font-size:12.5px;color:var(--ink-3)}.prof-form{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px}.prof-form .full{grid-column:1 / -1}.prof-form textarea.text-in{height:auto;resize:vertical;padding:8px 10px;line-height:1.5}.prof-form-f{display:flex;gap:8px;justify-content:flex-end;align-items:center;margin-top:10px}.prof-form-f .field-err{margin:0 auto 0 0}.prof .st-list{border:1px solid var(--line);border-radius:var(--r-xl);background:var(--surface);overflow:hidden}.crop{position:relative;overflow:hidden;margin:4px auto 0;border-radius:var(--r-lg);background:#111;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.crop:active{cursor:grabbing}.crop>img{position:absolute;left:0;top:0;max-width:none;pointer-events:none}.crop-mask{position:absolute;inset:0;pointer-events:none;border-radius:50%;box-shadow:0 0 0 999px #0000008c;outline:2px solid rgba(255,255,255,.85)}.crop-zoom{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:12.5px;color:var(--ink-3)}.crop-zoom input{flex:1;accent-color:var(--brand-600)}@media(max-width:720px){.prof{padding:18px 16px 48px}.prof-hero{flex-direction:column;align-items:flex-start}.prof-av-acts{flex-direction:row}.prof-form{grid-template-columns:1fr}}.ann-stack{display:flex;flex-direction:column}.ann-bar{display:flex;align-items:flex-start;gap:10px;padding:9px 16px;font-size:13px;border-bottom:1px solid var(--line);background:var(--blue-tint);color:var(--blue)}.ann-bar.warning{background:var(--amber-tint);color:var(--amber)}.ann-bar.critical{background:var(--red-tint);color:var(--red)}.ann-bar>svg{margin-top:2px;flex:none}.ann-t{flex:1;min-width:0;display:flex;gap:8px;flex-wrap:wrap}.ann-t b{font-weight:600}.ann-t span{color:var(--ink-2)}.ann-bar .icon-btn{color:inherit}.appr{margin:4px 0 14px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--amber) 40%,var(--line));background:var(--amber-tint);border-radius:var(--r-md);display:grid;gap:6px;font-size:13px}.appr-h{display:flex;align-items:center;gap:8px;color:var(--ink)}.appr-h>svg{color:var(--amber);flex-shrink:0}.appr-h span{display:inline-flex;align-items:center;gap:5px;flex-wrap:wrap}.appr-m{display:flex;align-items:center;gap:6px;color:var(--ink-3);font-size:12.5px}.appr-note{color:var(--ink-2);white-space:pre-wrap;padding:6px 10px;background:var(--surface);border-radius:var(--r-sm)}.appr-acts{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:2px}.appr-acts .text-in{flex:1;min-width:160px;height:30px}.tl-c.reply{margin-left:38px;margin-top:-4px}.tl-c.reply .msg{background:var(--surface)}.tl-reply{margin-top:4px;display:inline-flex;align-items:center;gap:4px;font-size:12px}.av-stack{display:inline-flex;align-items:center}.av-stack>span+span{margin-left:-6px}.av-stack>span>*{box-shadow:0 0 0 2px var(--surface);border-radius:50%}.ms-chip{display:inline-flex;align-items:center;gap:6px}.prop .val svg:last-child:not(:first-child){margin-left:4px;color:var(--ink-4)}.c-tpl{margin:-4px 0 6px}.c-prop:disabled{opacity:.55;cursor:not-allowed}.rule-chips{display:flex;flex-wrap:wrap;gap:6px}.chip-t{height:26px;padding:0 10px;border-radius:13px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink-2);font-size:12.5px;transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast)}.chip-t:hover{border-color:var(--brand-300)}.chip-t.on{background:var(--brand-50);border-color:var(--brand-400);color:var(--brand-700);font-weight:500}.role-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:2px;border:1px solid var(--line);border-radius:var(--r-md);padding:4px}.tp-row,.rc-row{display:grid;align-items:center;gap:10px;min-height:52px;padding:6px 14px;border-bottom:1px solid var(--line);background:var(--surface)}.tp-row{grid-template-columns:1fr 150px 90px 100px 84px}.rc-row{grid-template-columns:1fr 140px 90px 160px 60px 190px}.tp-row:last-child,.rc-row:last-child{border-bottom:0}.tp-row.head,.rc-row.head{min-height:38px;background:var(--surface-2)}.rc-row.off{color:var(--ink-4)}.tp-n{display:flex;flex-direction:column;min-width:0}.tp-n small{color:var(--ink-4);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tp-ty{display:inline-flex;align-items:center;gap:6px;min-width:0}.tp-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rc-row .st-actions,.tp-row .st-actions{display:flex;gap:4px;justify-content:flex-end}.ms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.ms-card{border:1px solid var(--line);border-top:3px solid var(--c);border-radius:var(--r-md);padding:12px 14px;display:grid;gap:8px;background:var(--surface)}.ms-card.done{opacity:.7}.ms-h{display:flex;align-items:center;gap:8px}.ms-h b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ms-dot{width:9px;height:9px;transform:rotate(45deg);background:var(--c);flex-shrink:0}.ms-d{display:flex;justify-content:space-between;font-size:12.5px;color:var(--ink-3)}.ms-tone.overdue{color:var(--red);font-weight:600}.ms-tone.soon{color:var(--amber);font-weight:600}.ms-desc{margin:0;font-size:12.5px;color:var(--ink-3);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ms-f{display:flex;justify-content:space-between;font-size:12px;color:var(--ink-4)}.rl-list{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.rl-r{display:grid;grid-template-columns:1fr 110px 130px 160px 70px 170px;gap:10px;align-items:center;min-height:48px;padding:0 14px;border-bottom:1px solid var(--line)}.rl-r:last-child{border-bottom:0}.rl-r.head{min-height:36px;background:var(--surface-2)}.rl-n{display:inline-flex;align-items:center;gap:8px;text-align:left;min-width:0}.rl-n:hover b{color:var(--brand)}.rl-st{display:inline-flex;height:22px;align-items:center;padding:0 8px;border-radius:11px;font-size:12px;font-weight:500;background:var(--brand-50);color:var(--brand-700)}.rl-st.released{background:var(--green-tint);color:var(--green)}.m-hd .rl-st{margin-left:4px}.rl-late{color:var(--red);font-weight:500}.rl-p{display:flex;align-items:center;gap:8px}.rl-p .progress{flex:1}.rl-p small{color:var(--ink-4);width:34px;text-align:right}.rl-r .st-actions{display:flex;gap:4px;justify-content:flex-end}.rl-items{max-height:260px;overflow:auto;margin:6px 0 4px}.gantt-view{padding:0 28px 40px;display:grid;gap:12px}.g-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.g-range{font-size:12.5px;margin-left:4px}.g-und{margin-left:auto;display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-3)}.gantt{display:grid;grid-template-columns:300px 1fr;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}.gantt>p{grid-column:1 / -1;margin:0}.g-left{border-right:1px solid var(--line);min-width:0}.g-lh{height:52px;display:flex;align-items:flex-end;padding:0 12px 8px;font-size:11.5px;font-weight:600;color:var(--ink-4);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--line);background:var(--surface-2)}.g-lr{width:100%;display:flex;align-items:center;gap:8px;padding:0 12px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}.g-lr:hover{background:var(--surface-2)}.g-lr .key{color:var(--ink-4);font-size:12px;font-family:var(--mono);flex-shrink:0}.g-lr .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.g-lr.epic{font-weight:600;background:var(--surface-2)}.g-lr.child{padding-left:26px}.g-scroll{overflow-x:auto;min-width:0}.g-canvas{position:relative}.g-head{height:52px;position:relative;border-bottom:1px solid var(--line);background:var(--surface-2)}.g-months span{position:absolute;top:0;height:26px;line-height:26px;padding-left:8px;font-size:12px;font-weight:600;color:var(--ink-2);border-left:1px solid var(--line);white-space:nowrap;overflow:hidden}.g-ticks span{position:absolute;top:28px;height:22px;line-height:22px;font-size:11px;color:var(--ink-4);padding-left:3px;border-left:1px solid var(--line)}.g-ticks span.we{color:var(--ink-4);opacity:.6}.g-body{position:relative}.g-line{position:absolute;left:0;right:0;height:1px;background:var(--line)}.g-we{position:absolute;top:0;bottom:0;background:var(--surface-2)}.g-sprint{position:absolute;top:0;bottom:0;background:color-mix(in srgb,var(--brand) 5%,transparent);border-left:1px dashed var(--brand-200);border-right:1px dashed var(--brand-200)}.g-sprint.active{background:color-mix(in srgb,var(--brand) 9%,transparent)}.g-sprint span{position:absolute;bottom:4px;left:6px;font-size:10.5px;color:var(--brand-600);font-weight:500;white-space:nowrap}.g-today{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--red);opacity:.7;z-index:2}.g-ms{position:absolute;top:0;bottom:0;width:0;border-left:2px dotted var(--c);z-index:2}.g-ms b{position:absolute;top:2px;left:4px;font-size:10.5px;font-weight:600;white-space:nowrap;color:var(--c);background:var(--surface);padding:0 4px;border-radius:3px}.g-ms.done{opacity:.5}.g-deps{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:visible}.g-dep{fill:none;stroke:#9894a9;stroke-width:1.4}.g-dep.bad{stroke:var(--red);stroke-width:1.8}.g-barx{position:absolute;height:22px;border-radius:6px;background:color-mix(in srgb,var(--c) 22%,var(--surface));border:1px solid color-mix(in srgb,var(--c) 60%,transparent);display:flex;align-items:center;z-index:3;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none}.g-barx.can{cursor:grab}.g-barx.drag{cursor:grabbing;box-shadow:var(--sh-md);z-index:4}.g-barx.epic{height:12px;margin-top:5px;background:var(--brand-200);border-color:var(--brand-400)}.g-barx.done{opacity:.55}.g-barx.late{border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red)}.g-barx:focus-visible{outline:0;box-shadow:var(--focus)}.g-barx .lbl{flex:1;min-width:0;padding:0 8px;font-size:11.5px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}.g-barx .hdl{width:7px;align-self:stretch;cursor:ew-resize;flex-shrink:0}.g-barx .hdl:hover{background:color-mix(in srgb,var(--c) 45%,transparent)}.g-undated{border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 16px;background:var(--surface)}.g-undated .micro{margin-bottom:6px}.rp-bar{display:flex;align-items:center;gap:10px}.rp-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:16px}.rp-tile{border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px}.rp-tile .v{font-size:26px;font-weight:600;letter-spacing:-.02em;margin-top:6px;font-variant-numeric:tabular-nums}.rp-tile .v.muted{color:var(--ink-3)}.rp-tile .ft{font-size:12px;color:var(--ink-3);margin-top:4px}.rp-trend{display:flex;align-items:flex-end;gap:6px;height:140px;padding-top:6px}.rp-trend .g{flex:1;min-width:14px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}.rp-trend .g i{width:100%;max-width:34px;background:var(--brand);border-radius:3px 3px 0 0}.rp-trend .g span{font-size:10.5px;color:var(--ink-4);white-space:nowrap}.rp-note{font-size:12px;display:flex;align-items:center;gap:6px;margin:10px 0 0}.rp-scs{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px;margin-bottom:14px}.rp-sc{border:1px solid var(--line);border-radius:var(--r-md);padding:8px 10px;display:grid}.rp-sc b{font-size:20px;font-variant-numeric:tabular-nums}.rp-sc small{color:var(--ink-4);font-size:11.5px}.rp-sc.add b{color:var(--amber)}.rp-sc.rem b{color:var(--red)}.rp-sc.done b{color:var(--green)}.rp-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}.rp-cols .micro{margin-bottom:4px}@media(max-width:900px){.gantt{grid-template-columns:160px 1fr}.g-lr .key{display:none}.rl-r{grid-template-columns:1fr 90px 90px}.rl-r>:nth-child(4),.rl-r>:nth-child(5){display:none}.rl-r .st-actions{grid-column:1 / -1;justify-content:flex-start;padding-bottom:8px}.tp-row,.rc-row{grid-template-columns:1fr auto}.tp-row>:not(:first-child):not(:last-child),.rc-row>:not(:first-child):not(:last-child):not(:nth-child(5)){display:none}.rp-cols{grid-template-columns:1fr}.gantt-view{padding:0 16px 32px}}:root{--mf-gray: #6F6E7A;--mf-red: #C42B47;--mf-orange: #C2581F;--mf-yellow: #9A7400;--mf-green: #1B8A4F;--mf-blue: #2F6FC0;--mf-purple: #6A3FD1;--mf-pink: #B8327F;--mfb-gray: #EDEDF1;--mfb-red: #FCE3E7;--mfb-orange: #FDE9DC;--mfb-yellow: #FFF3BF;--mfb-green: #DDF3E5;--mfb-blue: #DDEBFB;--mfb-purple: #ECE5FD;--mfb-pink: #FBE2EF}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--mf-gray: #A9A8B3;--mf-red: #FF7B8F;--mf-orange: #FF9E66;--mf-yellow: #F2C94C;--mf-green: #5FD08D;--mf-blue: #7AB3FF;--mf-purple: #B49BFF;--mf-pink: #F28BC6;--mfb-gray: #34333B;--mfb-red: #4A1D27;--mfb-orange: #4A2A16;--mfb-yellow: #463A0E;--mfb-green: #173A27;--mfb-blue: #18304F;--mfb-purple: #2E2352;--mfb-pink: #4A1C36}}:root[data-theme=dark]{--mf-gray: #A9A8B3;--mf-red: #FF7B8F;--mf-orange: #FF9E66;--mf-yellow: #F2C94C;--mf-green: #5FD08D;--mf-blue: #7AB3FF;--mf-purple: #B49BFF;--mf-pink: #F28BC6;--mfb-gray: #34333B;--mfb-red: #4A1D27;--mfb-orange: #4A2A16;--mfb-yellow: #463A0E;--mfb-green: #173A27;--mfb-blue: #18304F;--mfb-purple: #2E2352;--mfb-pink: #4A1C36}.mf-c-gray{color:var(--mf-gray)}.mf-c-red{color:var(--mf-red)}.mf-c-orange{color:var(--mf-orange)}.mf-c-yellow{color:var(--mf-yellow)}.mf-c-green{color:var(--mf-green)}.mf-c-blue{color:var(--mf-blue)}.mf-c-purple{color:var(--mf-purple)}.mf-c-pink{color:var(--mf-pink)}.mf-b-gray{background:var(--mfb-gray)}.mf-b-red{background:var(--mfb-red)}.mf-b-orange{background:var(--mfb-orange)}.mf-b-yellow{background:var(--mfb-yellow)}.mf-b-green{background:var(--mfb-green)}.mf-b-blue{background:var(--mfb-blue)}.mf-b-purple{background:var(--mfb-purple)}.mf-b-pink{background:var(--mfb-pink)}.rt-doc [class*=mf-b-]{border-radius:3px;padding:1px 2px;-webkit-box-decoration-break:clone;box-decoration-break:clone}.mf-f-serif{font-family:Lora,Georgia,Times New Roman,serif}.mf-f-mono{font-family:var(--mono);font-size:.94em}.mf-f-hand{font-family:Caveat,Segoe Print,cursive;font-size:1.28em;line-height:1.2}.rt-color{position:relative}.rt-a{font-weight:700;font-size:14px;line-height:1;margin-top:-4px}.rt-a-bar{position:absolute;left:7px;right:7px;bottom:5px;height:3px;border-radius:2px;background:var(--ink-2)}.mf-bar-gray{background:var(--mf-gray)}.mf-bar-red{background:var(--mf-red)}.mf-bar-orange{background:var(--mf-orange)}.mf-bar-yellow{background:var(--mf-yellow)}.mf-bar-green{background:var(--mf-green)}.mf-bar-blue{background:var(--mf-blue)}.mf-bar-purple{background:var(--mf-purple)}.mf-bar-pink{background:var(--mf-pink)}.rt-font{max-width:112px}.cp{padding:10px;display:flex;flex-direction:column;gap:10px}.cp-sec small{display:block;font-size:11.5px;color:var(--ink-3);font-weight:500;margin-bottom:6px}.cp-row{display:grid;grid-template-columns:repeat(9,1fr);gap:4px}.cp-sw{width:22px;height:22px;border-radius:6px;border:1px solid var(--line-2);display:grid;place-items:center;font-weight:700;font-size:12px;cursor:pointer;background:var(--surface);padding:0}.cp-sw:hover{transform:scale(1.08)}.cp-sw.on{box-shadow:0 0 0 2px var(--brand-500);border-color:transparent}.cp-sw.none i{width:14px;height:2px;background:var(--red);transform:rotate(-45deg);border-radius:1px}.cp-clear{border:0;background:none;padding:6px 4px 0;text-align:left;font:500 12.5px var(--font);color:var(--ink-2);cursor:pointer;border-top:1px solid var(--line)}.cp-clear:hover{color:var(--ink)}.rt-ur{display:contents}.rt.bare .rt-ur{display:none}.rt.bare .rt-bar{gap:1px}.rt.bare .rt-sep{margin:0 2px}.tok-off{opacity:.6}.tok-warn{display:flex;gap:8px;align-items:flex-start;padding:9px 12px;border-radius:var(--r-md);background:var(--amber-tint);color:var(--amber);font-size:13px;margin:0 0 10px}.tok-warn>svg{margin-top:2px;flex:none}.tok-box{display:flex;gap:8px;align-items:center}.tok-box code{flex:1;min-width:0;padding:9px 10px;border-radius:var(--r-md);background:var(--surface-3);font-size:12px;word-break:break-all;-webkit-user-select:all;user-select:all}.tok-code{margin:0 0 8px;padding:10px 12px;border-radius:var(--r-md);background:var(--surface-3);font:12px/1.5 var(--mono);white-space:pre-wrap;word-break:break-all;max-height:220px;overflow:auto;-webkit-user-select:all;user-select:all}.tok-scope{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tok-scope .radio{text-align:left}@media(max-width:560px){.tok-scope{grid-template-columns:1fr}}.dev-sum{font-size:12px;color:var(--ink-3);margin:2px 0 6px}.dev-item{display:flex;align-items:center;gap:8px;min-height:30px;font-size:12.5px;color:var(--ink-3);border-bottom:1px solid var(--line)}.dev-item .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}.dev-item code{font:500 11.5px var(--mono)}.dev-item .muted{flex:none;font-size:11.5px}.dev-state{flex:none;font-size:11px;font-weight:600;border:1px solid;border-radius:999px;padding:1px 7px}.dev-more{font-size:12px;margin:4px 0}.dev-hint{font-size:12px;margin:6px 0 2px}.hier-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font:500 12px var(--mono);margin-bottom:6px}.hier-crumbs .lnk{display:inline-flex;align-items:center;gap:4px}.hier-crumbs .lnk+.lnk:before{content:"›";color:var(--ink-3);margin-right:4px}.hier-ru{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--ink-3);margin:2px 0 6px}.hier-ru .progress{flex:1;max-width:220px}.hier-pct{font-size:11.5px;flex:none}.hier-acts{display:flex;gap:6px;flex-wrap:wrap}.br-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,340px);gap:32px;align-items:start;max-width:940px}.br-logo{display:flex;gap:16px;align-items:flex-start;margin-top:8px}.br-logo-box{width:96px;height:96px;flex-shrink:0;display:grid;place-items:center;border-radius:var(--r-lg);background:repeating-conic-gradient(var(--surface-3) 0 25%,var(--surface) 0 50%) 0 0 / 14px 14px;box-shadow:inset 0 0 0 1px var(--line);overflow:hidden;padding:10px}.br-logo-box img{max-width:100%;max-height:100%;object-fit:contain;display:block}.br-logo-box .sb-logo{width:44px;height:44px}.br-logo-t{min-width:0;flex:1}.br-sws{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.br-sw{width:30px;height:30px;border-radius:50%;border:0;cursor:pointer;box-shadow:inset 0 0 0 1px #0000001f;transition:transform var(--t-fast) var(--ease-out)}.br-sw:hover{transform:scale(1.08)}.br-sw.on{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--ink)}.br-custom{display:flex;gap:8px;align-items:center;max-width:240px}.br-custom input[type=color]{width:40px;height:34px;padding:2px;border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--surface);cursor:pointer;flex-shrink:0}.br-note{display:flex;gap:6px;align-items:flex-start;font-size:12.5px;color:var(--ink-2);background:var(--amber-tint);border-radius:var(--r-md);padding:8px 10px;margin:12px 0 0;max-width:520px;line-height:1.5}.br-note .ic{color:var(--amber);margin-top:2px;flex-shrink:0}.br-acts{display:flex;gap:8px;margin-top:20px;flex-wrap:wrap}.br-pv{display:grid;grid-template-columns:130px 1fr;border:1px solid;border-radius:var(--r-lg);overflow:hidden;margin-top:8px;font-size:12px}.br-pv-sb{border-right:1px solid;padding:10px 8px;display:flex;flex-direction:column;gap:4px}.br-pv-ws{display:flex;align-items:center;gap:6px;margin-bottom:6px;min-width:0}.br-pv-ws b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.br-pv-ws .sb-logo{width:22px;height:22px;border-radius:6px}.br-pv-it{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:6px;font-weight:500}.br-pv-main{padding:12px;display:flex;flex-direction:column;gap:10px}.br-pv-btn{padding:5px 10px;border-radius:7px;font-weight:500}.br-pv-chip{padding:2px 8px;border-radius:999px;font-weight:500;font-size:11px}.br-pv-bar{height:6px;border-radius:3px;overflow:hidden}.br-pv-bar i{display:block;height:100%;width:62%;border-radius:3px}.br-ramp{display:grid;grid-template-columns:repeat(11,1fr);height:22px;border-radius:var(--r-md);overflow:hidden;margin-top:10px;box-shadow:inset 0 0 0 1px var(--line)}@media(max-width:860px){.br-grid{grid-template-columns:1fr}}.sb-ws>span:not(.sb-logo){min-width:0}.sb-ws b,.sb-ws small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-logo-wide{flex:1;min-width:0;height:22px;display:flex;align-items:center;padding-left:2px}.sb-logo-wide img{max-width:min(100%,150px);max-height:100%;object-fit:contain;object-position:left center;display:block}:root[data-theme=dark] .sb-logo-wide{height:30px;flex:0 1 auto;padding:4px 10px;border-radius:var(--r-md);background:#ffffffeb}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .sb-logo-wide{height:30px;flex:0 1 auto;padding:4px 10px;border-radius:var(--r-md);background:#ffffffeb}}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:fixed;left:12px;top:-48px;z-index:100;padding:8px 14px;background:var(--brand);color:#fff;border-radius:var(--r-sm);font-weight:500;transition:top var(--t-fast)}.skip-link:focus{top:12px}:focus-visible{outline:2px solid var(--brand-400);outline-offset:1px;box-shadow:none}.card:focus-visible{outline:2px solid var(--brand-400);outline-offset:2px}.view:focus{outline:none}.in-it,.mini,.bar-row,.t-link,.lnk,.row-add-btn{font:inherit;color:inherit;text-align:left}.inbox-list{list-style:none;margin:0;padding:0}.inbox-list>li{border-bottom:1px solid var(--line)}.inbox-list>li:last-child{border-bottom:0}.in-it{width:100%;border-bottom:0!important}.in-it .bd>span{display:block}.in-it .bd .s{display:flex}.mini{width:calc(100% + 16px)}.bar-row{width:100%;cursor:pointer}.tbl .tt .t.t-link{overflow:hidden;text-overflow:ellipsis;max-width:440px;font-weight:500;white-space:nowrap}.tbl .tt .t.t-link:hover{color:var(--brand-700)}.lnk{font-family:var(--mono);font-size:12px;color:var(--brand-700)}.row-add-btn{width:100%;height:40px;color:var(--ink-4)}.row-add-btn:hover{color:var(--ink-2)}.tbl tr.row-more td{height:40px;padding:0 12px;background:var(--surface-2)}.field-err{color:var(--red);font-size:12px;margin:6px 0 0}.view-loading{padding:24px 28px}.boot-err{position:fixed;inset:0;display:grid;place-items:center;padding:24px;background:var(--canvas);text-align:center}.boot-err h3{margin:0 0 6px;font-size:16.5px}.boot-err p{margin:0 0 20px;color:var(--ink-3)}.tb-menu,.sb-scrim{display:none}.bd-line{stroke:var(--brand)}.bd-ideal{stroke:var(--ink-4)}.bd-today{stroke:var(--line-3)}.bd-muted{fill:var(--ink-4)}.bd-dot{fill:var(--brand);stroke:var(--surface)}.bd-label{fill:var(--ink)}.viz .hv .hl{stroke:var(--ink-3)}:root[data-theme=dark] .card.rollback,:root[data-theme=dark] .bl-row.rollback{border-color:var(--red)}@media(max-width:1100px){.hide-md{display:none!important}}@media(max-width:640px){.hide-sm{display:none!important}}@media(max-width:900px){.sb{display:flex;position:fixed;z-index:60;top:0;bottom:0;left:0;width:min(300px,86vw);transform:translate(-102%);transition:transform var(--t-slow) var(--ease-out);box-shadow:var(--sh-xl)}.sb.open{transform:none}.sb-scrim{display:block;position:fixed;inset:0;z-index:55;background:var(--scrim);opacity:0;pointer-events:none;transition:opacity var(--t-med)}.sb-scrim.on{opacity:1;pointer-events:auto}.tb-menu{display:grid;margin-left:-6px}.tb{padding:0 12px;gap:8px}.crumbs{flex:1;min-width:0;overflow:hidden}.crumbs>*{flex-shrink:0}.crumbs .crumb-p{flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.tb-search{margin-left:0;width:36px;padding:0;justify-content:center}.tb-search kbd{display:none}.ph{padding:14px 16px 0}.ph-row{gap:10px}.ph-key{width:34px;height:34px;font-size:10.5px}.ph-txt{min-width:0}.ph-title button{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabs{margin-top:12px}.tools{padding:10px 16px;gap:8px}.tools-r{margin-left:0}.board{padding:0 16px 20px}.tbl-wrap,.dash,.inbox,.bl-wrap{padding-left:16px;padding-right:16px}.tbl th.th-title{min-width:240px}.view-loading{padding:16px}.bulk{left:12px;right:12px;bottom:12px;transform:none;flex-wrap:wrap;justify-content:center;animation:none}.toasts{left:12px;right:12px;bottom:12px}.toast{min-width:0;width:100%;max-width:none}.modal{width:calc(100vw - 16px);max-height:calc(100vh - 16px)}.modal-wrap{padding-top:8px}.wf-bar{flex-wrap:wrap}}@media(max-width:640px){.sync{padding:0 8px}.sync .sync-t{display:none}.tb-right .btn-primary{padding:0 10px}.search-box,.search-box:focus-within{width:100%;flex:1 1 100%}.avf{max-width:100%;overflow-x:auto;scrollbar-width:none}.divider-v{display:none}.col-h,.cell{width:min(82vw,296px)}.ph-actions{margin-left:auto}.ph-meta{flex-wrap:wrap;row-gap:4px}.im .cr .cr-name,.bulk .lbl{display:none}.shortcuts{grid-template-columns:1fr}.sp-h{flex-wrap:wrap}}.st-row{grid-template-columns:28px minmax(160px,1fr) 150px minmax(200px,1.4fr) 86px 84px 56px 44px;height:auto;min-height:52px;padding-top:6px;padding-bottom:6px}.tr-cell{display:flex;align-items:center;gap:6px;min-width:0}.tr-chips{display:flex;flex-wrap:wrap;gap:4px;min-width:0}.tr-chip{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 7px;font-size:11.5px;font-weight:500;color:var(--ink-2);background:var(--surface-3);border-radius:11px;white-space:nowrap}.tr-chip.any{background:transparent;box-shadow:inset 0 0 0 1px var(--line-2);color:var(--ink-3)}.tr-none{font-size:12px;color:var(--amber);font-weight:500}.tr-ed-h{display:flex;align-items:center;gap:7px;padding:12px 14px 8px;font-size:13px;flex-wrap:wrap}.tr-ed-h .muted{font-size:12.5px}.tr-ed-row{display:flex;align-items:center;gap:2px;padding-right:4px}.tr-ed-row .m-item{flex:1}.tr-ed-acts{display:inline-flex;gap:10px}.sub-act{color:var(--brand-700);font-size:12.5px;font-weight:500}.sub-act:hover{text-decoration:underline}.rule-ed .rule-sec{padding:6px 8px 8px;border-top:1px solid var(--line)}.rule-ed .rule-sec .micro{padding:6px 4px 0}.rule-ed .m-item{height:32px}.rule-sw{display:flex;align-items:flex-start;gap:10px;padding:8px 4px;cursor:pointer}.rule-sw span{display:grid;font-size:13px;font-weight:500}.rule-sw small{color:var(--ink-3);font-weight:400;font-size:12px}.role-dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex-shrink:0}.role-chip{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:11px;font-size:12px;font-weight:500;white-space:nowrap;color:color-mix(in srgb,var(--c) 78%,var(--mix-ink));background:color-mix(in srgb,var(--c) 13%,var(--surface))}.role-chip.muted{opacity:.55;text-decoration:line-through}.cond-chip{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:11px;font-size:12px;font-weight:500;color:var(--amber);background:var(--amber-tint)}.rule-badges{display:flex;gap:4px;flex-wrap:wrap;align-items:center}.rl-row{display:grid;grid-template-columns:minmax(240px,1fr) minmax(220px,1.2fr) 130px;align-items:center;gap:12px;min-height:48px;padding:6px 14px;border-bottom:1px solid var(--line)}.rl-row:last-child{border-bottom:0}.rl-row.head{min-height:38px;background:var(--surface-2)}.rl-tr{display:flex;align-items:center;gap:6px;font-size:13px;flex-wrap:wrap}.rl-tr .ic{color:var(--ink-4)}.st-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px}.ro-fieldset{border:0;margin:0;padding:0;min-width:0}.ro-fieldset:disabled .switch,.ro-fieldset:disabled .color-btn,.ro-fieldset:disabled .cat-pill,.ro-fieldset:disabled .icon-btn{opacity:.55;cursor:not-allowed}.ro-fieldset:disabled .grip{display:none}.ro-note{display:flex;align-items:center;gap:8px;padding:10px 14px;margin:0 0 14px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2);font-size:13px}.ro-chip{display:inline-flex;align-items:center;gap:4px;margin-left:8px;height:20px;padding:0 7px;border-radius:10px;font-size:11px;font-weight:500;color:var(--ink-3);background:var(--surface-3)}.md.ro{cursor:default}.status-btn:disabled{cursor:default;filter:saturate(.8)}.acc-sum{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin:-6px 0 14px;font-size:13px;color:var(--ink-2)}.ac-row{display:grid;grid-template-columns:minmax(220px,1.3fr) 160px 210px minmax(220px,1fr);align-items:center;gap:12px;min-height:54px;padding:6px 14px;border-bottom:1px solid var(--line)}.ac-row:last-child{border-bottom:0}.ac-row.head{min-height:38px;background:var(--surface-2)}.ac-search{display:flex;align-items:center;gap:8px;height:40px;padding:0 14px;border-bottom:1px solid var(--line);color:var(--ink-4)}.ac-search input{border:0;outline:0;flex:1;background:transparent;color:var(--ink)}.mem{display:flex;align-items:center;gap:10px;min-width:0}.mem>span{display:grid;min-width:0}.mem b{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mem small{color:var(--ink-3);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cat-pill.on{border-color:var(--brand-300);background:var(--brand-25)}.cat-pill:disabled{cursor:default;opacity:.7}.perm-dots{display:flex;flex-wrap:wrap;gap:4px}.perm-dot{display:inline-flex;align-items:center;gap:3px;height:20px;padding:0 6px;border-radius:10px;font-size:11px;color:var(--ink-4);background:var(--surface-3)}.perm-dot.on{color:var(--green);background:var(--green-tint)}.adm-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.seg .cnt{margin-left:6px;font-size:11px;color:var(--ink-4);font-weight:500}.mb-row{display:grid;grid-template-columns:minmax(230px,1.4fr) minmax(140px,1fr) 170px minmax(120px,1fr) 90px 110px 44px;align-items:center;gap:12px;min-height:56px;padding:6px 14px;border-bottom:1px solid var(--line);background:var(--surface)}.mb-row:last-child{border-bottom:0}.mb-row.head{min-height:38px;background:var(--surface-2)}.mb-row.off{opacity:.6}.mb-row input.inl{border:1px solid transparent;height:32px;padding:0 8px;outline:0;background:transparent;width:100%;border-radius:var(--r-sm);color:var(--ink-2)}.mb-row input.inl:hover{border-color:var(--line-2)}.mb-row input.inl:focus{border-color:var(--brand-400);box-shadow:var(--focus);background:var(--surface)}.pa{display:flex;gap:4px;flex-wrap:wrap}.pa-chip{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 7px 0 2px;border-radius:11px;background:var(--surface-3);font-size:11.5px;color:var(--ink-2)}.pa-chip .sb-proj-key{width:18px;height:18px;font-size:9px;border-radius:9px}.st-pill{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:11px;font-size:12px;font-weight:500}.st-active{color:var(--green);background:var(--green-tint)}.st-invited{color:var(--blue);background:var(--blue-tint)}.st-off{color:var(--ink-3);background:var(--surface-3)}.roles{display:grid;grid-template-columns:260px 1fr;gap:16px;align-items:start}.role-list{display:grid;gap:2px;border:1px solid var(--line);border-radius:var(--r-lg);padding:6px;background:var(--surface)}.role-it{display:flex;align-items:center;gap:9px;height:38px;padding:0 10px;border-radius:var(--r-sm);text-align:left;color:var(--ink-2)}.role-it:hover{background:var(--hover)}.role-it.on{background:var(--brand-tint);color:var(--ink);font-weight:500}.role-it .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-it .sys,.fd-row .sys.custom{font-size:10.5px;color:var(--ink-4);padding:1px 6px;border-radius:8px;background:var(--surface-3)}.role-it .sys.custom{color:var(--brand-700);background:var(--brand-50)}.role-it .ct{font-size:12px;color:var(--ink-3);font-variant-numeric:tabular-nums;min-width:18px;text-align:right}.role-detail{border:1px solid var(--line);border-radius:var(--r-lg);padding:18px 20px;background:var(--surface);min-width:0}.rd-h{display:flex;align-items:center;gap:10px}.rd-h h3{margin:0;font-size:17px;font-weight:600}.rd-h .r{margin-left:auto;display:flex;gap:4px}.rd-h .danger:hover{color:var(--red);background:var(--red-tint)}input.rd-name{font-size:17px!important;font-weight:600;border:1px solid transparent;height:36px;padding:0 8px;outline:0;background:transparent;border-radius:var(--r-sm);min-width:0;flex:1}input.rd-name:hover,input.rd-name:focus{border-color:var(--line-2)}.rd-desc{margin-top:10px}.rd-members{display:flex;align-items:center;gap:10px;margin:14px 0 16px}.perm-group{margin-top:14px}.perm-group>.micro{margin-bottom:4px}.perm-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line);cursor:pointer}.perm-row:last-child{border-bottom:0}.perm-row span{display:grid}.perm-row b{font-weight:500;font-size:13.5px}.perm-row small{color:var(--ink-3);font-size:12px}.mx-wrap{overflow:auto;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}.mx{border-collapse:collapse;width:100%;min-width:760px}.mx th,.mx td{border-bottom:1px solid var(--line);padding:8px 12px;text-align:center;font-size:13px}.mx thead th{position:sticky;top:0;background:var(--surface-2);font-weight:500;font-size:12.5px;color:var(--ink-2);white-space:nowrap}.mx thead th .role-dot{margin-right:6px}.mx tbody th{text-align:left;font-weight:400;display:grid;min-width:240px}.mx tbody th b{font-weight:500}.mx tbody th small{color:var(--ink-3);font-size:11.5px}.mx tr.mx-g th{display:table-cell;background:var(--surface-2);font-size:11.5px;font-weight:500;color:var(--ink-4);text-transform:none;padding:6px 12px}.mx td .chk{margin:0 auto;cursor:pointer}.mx td .chk.locked{cursor:not-allowed;opacity:.6}.mx tr.mx-sum th,.mx tr.mx-sum td{font-weight:600;font-variant-numeric:tabular-nums;border-bottom:0;display:table-cell}.au-row{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line);font-size:13px;color:var(--ink-2)}.au-row:last-child{border-bottom:0}.au-row>div{flex:1;min-width:0}.au-row b{color:var(--ink);font-weight:500}.au-kind{font-size:11px;font-weight:500;padding:2px 8px;border-radius:10px;background:var(--surface-3);color:var(--ink-3);white-space:nowrap}.au-kind.k-role{color:var(--brand-700);background:var(--brand-50)}.au-kind.k-workflow{color:var(--amber);background:var(--amber-tint)}.au-kind.k-member{color:var(--blue);background:var(--blue-tint)}.acting{display:flex;align-items:center;gap:10px;padding:8px 24px;background:var(--amber-tint);color:var(--ink);font-size:13px;border-bottom:1px solid color-mix(in srgb,var(--amber) 30%,transparent);flex-wrap:wrap}.acting .btn{margin-left:auto}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.role-radios{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.role-radios .radio b{display:flex;align-items:center}.inv-projects{border:1px solid var(--line);border-radius:var(--r-md)}.inv-p{display:flex;align-items:center;gap:10px;min-height:44px;padding:4px 12px;border-bottom:1px solid var(--line)}.inv-p:last-child{border-bottom:0}.inv-p .nm{flex:1;font-weight:500}.sb-title button{margin-left:auto}@media(max-width:1100px){.st-row{grid-template-columns:24px minmax(140px,1fr) 130px minmax(160px,1.2fr) 70px 70px 44px 40px}.mb-row{grid-template-columns:minmax(200px,1.5fr) minmax(120px,1fr) 160px 80px 44px}.ac-row{grid-template-columns:minmax(200px,1.3fr) 150px 200px}.roles{grid-template-columns:1fr}}@media(max-width:900px){.st-row{grid-template-columns:24px 1fr 1fr 40px;row-gap:6px}.st-row.head{display:none}.st-row>:nth-child(5),.st-row>:nth-child(6),.st-row>:nth-child(7){display:none}.st-row .tr-cell{grid-column:2 / -1}.rl-row{grid-template-columns:1fr}.rl-row.head{display:none}.acting{padding:8px 12px}}@media(max-width:640px){.mb-row{grid-template-columns:1fr 140px 40px}.ac-row{grid-template-columns:1fr}.ac-row.head{display:none}.grid2,.role-radios{grid-template-columns:1fr}}.load-more{display:block;width:100%;padding:8px 10px;text-align:center;border-radius:var(--r-sm, 6px)}.load-more:disabled{color:var(--ink-3, #8A879A);cursor:progress;text-decoration:none}.cell .load-more{margin-top:4px}.auth{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);background:var(--surface);color:var(--ink)}@media(max-width:1040px){.auth{grid-template-columns:1fr}.auth-aside{display:none}}.auth-main{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;padding:28px clamp(20px,5vw,56px)}.auth-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.auth-top-r{font-size:13px;color:var(--ink-3)}.auth-top-r a{color:var(--brand-700);font-weight:500;text-decoration:none;margin-left:4px}@media(max-width:1040px){.auth-top-r{display:none}}@media(min-width:1041px){.auth-foot{display:none}}.auth-top-r a:hover{text-decoration:underline}.auth-brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-size:17px;letter-spacing:-.01em}.auth-mark{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--brand-500),var(--brand-800));box-shadow:0 6px 16px -6px #3d23988c,inset 0 1px #ffffff40}.auth-body{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 0}.auth-form{width:100%;max-width:400px;animation:auth-in .5s var(--ease-out) both}@keyframes auth-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.auth-form h1{font-size:28px;line-height:1.15;letter-spacing:-.025em;font-weight:650;margin:0 0 8px}.auth-sub{color:var(--ink-3);font-size:14.5px;line-height:1.5;margin:0 0 26px}.auth-sub b{color:var(--ink-2);font-weight:600}.auth-form .field-lbl{font-size:13px;color:var(--ink-2);margin:18px 0 7px;display:flex;align-items:center;justify-content:space-between}.auth-form form>.field-lbl:first-child{margin-top:0}.auth-form .text-in{height:44px;font-size:14.5px;border-radius:var(--r-md);padding:0 14px;background:var(--surface)}.auth-form .text-in:hover{border-color:var(--line-3)}.auth-form .text-in:focus{border-color:var(--brand-500)}.auth-form .text-in[aria-invalid=true]{border-color:var(--red)}.auth-btn{width:100%;height:44px;justify-content:center;margin-top:22px;font-size:14.5px;font-weight:550;border-radius:var(--r-md)}.auth-btn+.auth-btn{margin-top:10px}.auth-btn.btn-secondary{background:var(--surface)}.auth-btn[disabled]{opacity:.55;cursor:not-allowed}.auth-btn.is-busy{position:relative;color:transparent!important}.auth-btn.is-busy:after{content:"";position:absolute;inset:0;margin:auto;width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;animation:auth-spin .7s linear infinite}.auth-btn.btn-secondary.is-busy:after,.auth-btn.btn-ghost.is-busy:after{border-color:var(--line-2);border-top-color:var(--brand)}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-slug{display:flex;align-items:stretch;border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--surface);transition:border-color var(--t-fast),box-shadow var(--t-fast)}.auth-slug:focus-within{border-color:var(--brand-500);box-shadow:var(--focus)}.auth-form .auth-slug .text-in,.auth-form .auth-slug .text-in:focus,.auth-form .auth-slug .text-in:focus-visible{flex:1;min-width:0;border:0;box-shadow:none;outline:none;background:transparent}.auth-slug .muted{display:flex;align-items:center;padding:0 14px;border-left:1px solid var(--line);color:var(--ink-3);font-size:13.5px;background:var(--surface-2);border-radius:0 var(--r-md) var(--r-md) 0}.auth-pw{position:relative}.auth-pw .text-in{padding-right:44px}.auth-pw-t{position:absolute;right:4px;top:4px;width:36px;height:36px;border:0;background:none;border-radius:var(--r-sm);color:var(--ink-3);cursor:pointer;display:grid;place-items:center}.auth-pw-t:hover{background:var(--hover);color:var(--ink)}.auth-hint{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--amber);margin:7px 0 0}.auth-form .field-err{display:flex;gap:8px;align-items:flex-start;margin:14px 0 0;padding:10px 12px;border-radius:var(--r-md);background:var(--red-tint);color:var(--red);font-size:13px;line-height:1.45}.auth-form p.field-err:empty{display:none}.auth-note{font-size:12.5px;color:var(--ink-3);line-height:1.5;margin:8px 0 0}.auth-ws{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-2);margin:0 0 22px}.auth-ws-i{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;color:#fff;font-weight:650;background:linear-gradient(135deg,var(--brand-400),var(--brand-700));flex:none}.auth-ws b{display:block;font-size:14px}.auth-ws small{color:var(--ink-3);font-size:12.5px}.auth-ws .lnk{margin-left:auto;font-size:13px}.auth-sep{display:flex;align-items:center;gap:12px;color:var(--ink-4);font-size:12px;margin:22px 0 2px;text-transform:uppercase;letter-spacing:.06em}.auth-sep:before,.auth-sep:after{content:"";flex:1;height:1px;background:var(--line)}.auth-foot{margin-top:26px;font-size:13.5px;color:var(--ink-3);text-align:center}.auth-foot a{color:var(--brand-700);font-weight:500;text-decoration:none;margin-left:5px}.auth-foot a:hover{text-decoration:underline}.auth-sent{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;margin-bottom:18px;color:var(--brand-700);background:var(--brand-tint)}.auth-legal{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--ink-4)}.auth-legal span{display:inline-flex;align-items:center;gap:6px}.auth-form .grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}@media(max-width:520px){.auth-form .grid2{grid-template-columns:1fr}.auth-form h1{font-size:24px}}.lnk{background:none;border:0;padding:0;color:var(--brand-700);cursor:pointer;font:inherit;font-weight:500}.lnk:hover{text-decoration:underline}.auth-aside{position:relative;overflow:hidden;margin:12px;min-height:calc(100dvh - 24px);border-radius:22px;color:#edeafb;background:radial-gradient(120% 80% at 100% 0%,rgba(148,121,238,.35),transparent 55%),radial-gradient(90% 70% at 0% 100%,rgba(91,55,214,.45),transparent 60%),linear-gradient(160deg,#1b1240,#120c2c 55%,#0c0820)}.auth-aside:before{content:"";position:absolute;inset:0;opacity:.5;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(80% 70% at 60% 40%,#000 20%,transparent 75%);mask-image:radial-gradient(80% 70% at 60% 40%,#000 20%,transparent 75%)}.aa-glow{position:absolute;width:520px;height:520px;right:-140px;top:18%;border-radius:50%;background:radial-gradient(circle,rgba(184,166,246,.28),transparent 65%);filter:blur(10px)}.aa-inner{position:relative;height:100%;display:flex;flex-direction:column;justify-content:center;padding:clamp(36px,5vw,64px);max-width:680px;margin:0 auto}.aa-badge{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;font-size:12px;font-weight:500;color:#d6cbfb;background:#ffffff12;border:1px solid rgba(255,255,255,.12)}.auth-aside h2{font-size:clamp(28px,2.6vw,38px);line-height:1.12;letter-spacing:-.03em;font-weight:650;color:#fff;margin:18px 0 14px}.auth-aside h2 em{font-style:normal;background:linear-gradient(90deg,#cbbefa,#9479ee);-webkit-background-clip:text;background-clip:text;color:transparent}.aa-inner>p{font-size:15px;line-height:1.6;color:#b9b2da;margin:0 0 30px;max-width:520px}.aa-window{position:relative;border-radius:14px;background:#fffffff5;color:#18171f;box-shadow:0 40px 80px -30px #000000a6,0 0 0 1px #ffffff1a;transform:perspective(1400px) rotateX(4deg) rotateY(-6deg);transform-origin:50% 0}.aa-chrome{display:flex;align-items:center;gap:6px;padding:10px 14px;border-bottom:1px solid #EBEBEF;font-size:12px;color:#6f6e7a;font-weight:500}.aa-chrome i{width:9px;height:9px;border-radius:50%;background:#e3e2ea}.aa-chrome span:first-of-type{margin-left:10px}.aa-live{margin-left:auto;display:inline-flex;align-items:center;gap:6px;color:#1b8a4f;font-size:11.5px}.aa-live b{width:7px;height:7px;border-radius:50%;background:#1b8a4f;box-shadow:0 0 #1b8a4f80;animation:aa-pulse 2s infinite}@keyframes aa-pulse{70%{box-shadow:0 0 0 7px #1b8a4f00}to{box-shadow:0 0 #1b8a4f00}}.aa-board{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:12px;background:#f7f7f9;border-radius:0 0 14px 14px;min-height:236px}.aa-col-h{display:flex;align-items:center;gap:7px;font-size:11.5px;font-weight:600;color:#45444f;margin:2px 2px 8px}.aa-col-h i{width:8px;height:8px;border-radius:50%}.aa-col-h span{margin-left:auto;color:#9c9ba6;font-weight:500}.aa-card{background:#fff;border:1px solid #EBEBEF;border-radius:9px;padding:9px 10px;margin-bottom:8px;box-shadow:0 1px 2px #18171f0d;transition:transform .5s var(--ease-out),opacity .5s}.aa-card.moving{animation:aa-lift 3.2s var(--ease) infinite}.aa-card.fresh{animation:aa-drop .6s var(--ease-out) both;box-shadow:0 0 0 2px #7352e459,0 8px 20px -8px #5b37d666}@keyframes aa-lift{0%,60%{transform:none}85%{transform:translate(6px,-3px) rotate(1.5deg);box-shadow:0 12px 24px -10px #18171f4d}to{transform:none}}@keyframes aa-drop{0%{opacity:0;transform:translate(-24px,-6px) rotate(-2deg)}to{opacity:1;transform:none}}.aa-card.ghost{opacity:0;transform:translate(24px,-4px) rotate(2deg);transition-duration:.25s;pointer-events:none}.aa-card.done .aa-card-t{color:#9c9ba6;text-decoration:line-through;text-decoration-color:#c9c8d1}.aa-card-k{display:flex;align-items:center;gap:6px;font:500 10.5px var(--mono);color:#6f6e7a}.aa-card-k i{width:7px;height:7px;border-radius:2px}.aa-card-t{font-size:12px;font-weight:500;line-height:1.35;margin:5px 0 8px;color:#18171f}.aa-card-f{display:flex;align-items:center;gap:6px}.aa-tag{font-size:10px;font-weight:500;padding:1px 6px;border-radius:4px;color:var(--c);background:color-mix(in srgb,var(--c) 12%,#fff)}.aa-pts{margin-left:auto;font-size:10px;min-width:16px;height:16px;border-radius:8px;display:grid;place-items:center;background:#f2f2f5;color:#45444f}.aa-av{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:8.5px;font-weight:650;flex:none}.aa-toast{position:absolute;left:-26px;bottom:-22px;display:flex;gap:10px;align-items:center;padding:10px 14px 10px 10px;border-radius:12px;font-size:12px;line-height:1.35;background:#fff;color:#18171f;box-shadow:0 20px 40px -14px #00000080,0 0 0 1px #18171f0f;opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s var(--ease-out)}.aa-toast.on{opacity:1;transform:none}.aa-toast .aa-av{width:28px;height:28px;font-size:10px}.aa-toast small{display:block;color:#6f6e7a;font-size:11px}.aa-lock{position:absolute;right:-14px;top:-16px;display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;font:500 11px var(--mono);color:#fff;background:linear-gradient(135deg,#5b37d6,#3d2398);box-shadow:0 12px 26px -10px #3d2398cc,inset 0 1px #fff3;animation:aa-float 6s ease-in-out infinite}@keyframes aa-float{50%{transform:translateY(-5px)}}.aa-feats{list-style:none;padding:0;margin:50px 0 0;display:grid;gap:16px}.aa-feats li{display:flex;gap:14px;font-size:13.5px;line-height:1.5;color:#b9b2da}.aa-feats li>span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:none;color:#cbbefa;background:#ffffff12;border:1px solid rgba(255,255,255,.1)}.aa-feats b{display:block;color:#fff;font-weight:600;font-size:14px}.aa-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.aa-chips span{font-size:11.5px;padding:4px 10px;border-radius:999px;color:#d6cbfb;border:1px solid rgba(255,255,255,.14)}@media(max-height:820px){.aa-feats{margin-top:36px;gap:12px}.aa-feats li:nth-child(3){display:none}}@media(prefers-reduced-motion:reduce){.aa-card,.aa-toast,.aa-lock,.aa-live b,.auth-form{animation:none!important;transition:none!important}}.is-syncing{transition:opacity .2s}.board.is-syncing .card,.tbl-wrap.is-syncing tbody,.bl-wrap.is-syncing .sp-body{opacity:.92}.auth-ok{display:inline-flex;align-items:center;gap:4px;color:var(--green);font-size:12px;font-weight:500}.mod-page{padding:20px 28px 56px;max-width:1280px}.mod-h{align-items:center}.mod-h h2{display:flex;align-items:center;gap:10px}.mod-badge{width:36px;height:36px;border-radius:var(--r-md);display:grid;place-items:center;background:var(--brand-50);color:var(--brand);flex-shrink:0}.mod-tag{font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--brand-700);background:var(--brand-50);padding:2px 8px;border-radius:10px}.mod-sub{font-size:13.5px;font-weight:600;margin:26px 0 10px}.mod-foot{font-size:12px;margin-top:18px}.tone-tag{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 8px;border-radius:10px;font-size:11.5px;font-weight:500;white-space:nowrap;color:var(--c);background:color-mix(in srgb,var(--c) 12%,transparent)}.meter{display:block;position:relative;height:6px;min-width:60px;flex:1;border-radius:3px;background:var(--surface-3);overflow:hidden}.meter i{position:absolute;inset:0 auto 0 0;border-radius:3px;transition:width var(--t-slow) var(--ease-out)}.secret-box{border:1px solid var(--line-2);border-radius:var(--r-md);padding:10px 12px;margin:10px 0;background:var(--surface-2)}.secret-box>div{display:flex;align-items:center;gap:8px;margin-top:4px}.secret-box code{font:500 12.5px var(--mono);word-break:break-all;flex:1}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.text-in.ta{height:auto;padding:9px 11px;resize:vertical;line-height:1.5;font:inherit}.text-in.mono,.mono{font-family:var(--mono)}select.text-in{appearance:auto}.chk-row{display:flex;align-items:center;gap:9px;min-height:32px;font-size:13px}.chk-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:2px 14px}.card-list{display:grid;gap:10px}.note-bar{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--r-md);background:var(--amber-tint);color:var(--ink-2);font-size:13px;margin-bottom:14px}.goal-sum,.trace-sum{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.goal-sum>div,.trace-sum>div{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:12px 16px;min-width:130px;display:grid;gap:4px;box-shadow:var(--sh-xs)}.goal-sum b,.trace-sum b{font-size:22px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.modal.lg{width:min(860px,96vw)}.pn-ft{display:flex;align-items:center;gap:12px;margin-top:16px}.pn-ft .muted{font-size:12.5px;margin-right:auto}.key{font:500 12px var(--mono);color:var(--ink-2)}.gc-card{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);padding:14px 16px;box-shadow:var(--sh-xs)}.gc-card.off{opacity:.65}.gc-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.gc-prov{font-size:11.5px;font-weight:600;padding:2px 8px;border-radius:var(--r-sm);background:var(--ink);color:var(--surface)}.gc-meta{font-size:12.5px}.gc-acts{margin-left:auto;display:flex;gap:6px;align-items:center}.gc-rules{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.gc-rule{display:inline-flex;gap:6px;font-size:12.5px;padding:4px 10px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line)}.gc-rule.none b{color:var(--ink-4);font-weight:400}.tr-grid{display:grid;gap:8px}.tr-row{display:grid;grid-template-columns:200px 1fr;align-items:center;gap:12px;font-size:13px}.steps{margin:14px 0 4px;padding-left:20px;display:grid;gap:6px;font-size:13px;color:var(--ink-2)}.steps code{font:500 12px var(--mono);word-break:break-all}.dl-list{display:grid;gap:8px}.dl-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-md);font-size:13px}.dl-detail{flex-basis:100%;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12.5px;color:var(--ink-2)}.dl-detail .bad{color:var(--red)}.range-in{display:inline-flex;align-items:center;gap:6px}.range-in .text-in{height:32px;width:150px}.mod-kpis{padding:0;margin-bottom:18px}.mod-kpis .v small{font-size:14px;color:var(--ink-3);font-weight:500}.fc-row{display:flex;flex-wrap:wrap;gap:28px;align-items:flex-end}.fc-row>div{display:grid;gap:4px}.fc-row b{font-size:22px;font-weight:600;font-variant-numeric:tabular-nums}.fc-row small{font-size:13px;color:var(--ink-3);font-weight:500}.fc-row .fc-msg{margin-left:auto;align-self:center}.cap-row{display:grid;grid-template-columns:minmax(220px,1.4fr) 90px 150px minmax(150px,1fr) minmax(150px,1fr) 150px;align-items:center;gap:12px;min-height:56px;padding:6px 14px;border-bottom:1px solid var(--line);background:var(--surface);font-size:13px}.cap-row:last-child{border-bottom:0}.cap-row.head{min-height:38px;background:var(--surface-2)}.cap-row .num{font-variant-numeric:tabular-nums;font-weight:500}.cap-row .num small{color:var(--ink-3);font-weight:400}.cap-load{display:flex;align-items:center;gap:10px}.cap-load b{font-variant-numeric:tabular-nums;min-width:44px;text-align:right}.cap-off{margin-left:8px;font-size:12px;display:inline-flex;align-items:center;gap:3px}.off-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid var(--line);font-size:13px}.off-row:last-child{border-bottom:0}.off-hol{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--blue-tint);color:var(--blue)}.dow{display:flex;gap:6px;flex-wrap:wrap}.dow button{height:32px;min-width:46px;border-radius:var(--r-sm);border:1px solid var(--line-2);color:var(--ink-2);font-weight:500}.dow button.on{background:var(--brand);border-color:var(--brand);color:#fff}.tc-layout{display:grid;grid-template-columns:210px 1fr;gap:20px;align-items:start}.tc-folders{display:grid;gap:2px;position:sticky;top:0}.tc-folders button{display:flex;align-items:center;gap:8px;height:34px;padding:0 10px;border-radius:var(--r-sm);color:var(--ink-2);font-weight:500;text-align:left}.tc-folders button:hover{background:var(--hover)}.tc-folders button.on{background:var(--brand-tint);color:var(--brand-800)}.tc-folders .cnt{margin-left:auto;font-size:11.5px;color:var(--ink-3)}.tc-main{min-width:0}.tc-row,.run-row{display:grid;align-items:center;gap:12px;min-height:46px;padding:6px 14px;border-bottom:1px solid var(--line);background:var(--surface);font-size:13px;width:100%;text-align:left}.tc-row{grid-template-columns:90px minmax(0,1fr) 60px 90px 80px 110px}.run-row{grid-template-columns:90px minmax(0,1fr) 150px 130px 150px}.tc-row:last-child,.run-row:last-child{border-bottom:0}.tc-row.head,.run-row.head{min-height:38px;background:var(--surface-2)}button.tc-row:hover{background:var(--surface-2)}.tc-row.off{opacity:.55}.tc-row .t,.run-row .t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.steps-ed{border:1px solid var(--line);border-radius:var(--r-md);padding:8px;display:grid;gap:6px}.se-row{display:grid;grid-template-columns:22px 1.4fr 1fr 1.4fr 64px;gap:8px;align-items:center}.se-row.head{padding:0 0 2px}.se-row .text-in{height:34px}.se-acts{display:flex;gap:2px}.run-steps{display:grid;gap:8px}.rs-row{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:10px;align-items:center;font-size:13px}.rs-row .t small{display:block;color:var(--ink-3)}.rs-row>.text-in{grid-column:2 / -1;height:34px}.cy-card{display:grid;gap:8px;width:100%;text-align:left;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);padding:14px 16px;box-shadow:var(--sh-xs);transition:border-color var(--t-fast)}.cy-card:hover{border-color:var(--line-3)}.cy-top{display:flex;align-items:center;gap:8px}.cy-ft{font-size:12.5px}.cy-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.cy-prog{display:flex;align-items:center;gap:10px;flex:1;min-width:220px;max-width:420px;font-size:12.5px}.cy-counts{display:flex;flex-wrap:wrap;gap:14px;font-size:13px;margin-bottom:12px}.tr-mx{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) 130px;gap:12px;align-items:center;min-height:46px;padding:6px 14px;border-bottom:1px solid var(--line);background:var(--surface);font-size:13px}.tr-mx:last-child{border-bottom:0}.tr-mx.head{min-height:38px;background:var(--surface-2)}.tr-mx .req{display:flex;align-items:center;gap:8px;min-width:0}.tr-mx .req .t{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tr-mx .cases{display:flex;flex-wrap:wrap;gap:4px}.case-chip{font:500 11.5px var(--mono);padding:2px 7px;border-radius:var(--r-xs);color:var(--c);background:color-mix(in srgb,var(--c) 12%,transparent)}.trace-sum>div:first-child{min-width:220px}.goal-row{display:grid;grid-template-columns:minmax(0,1fr) 100px minmax(160px,220px) 100px 44px;gap:12px;align-items:center;min-height:48px;padding:6px 14px;border-bottom:1px solid var(--line);background:var(--surface);font-size:13px}.goal-row:last-child{border-bottom:0}.goal-row.head{min-height:38px;background:var(--surface-2)}.goal-name{display:flex;align-items:center;gap:8px;min-width:0;padding-left:calc(var(--d, 0) * 24px)}.goal-name .t{font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.goal-dot{width:26px;display:grid;place-items:center}.goal-dot:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--line-3)}.lvl{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;border-radius:var(--r-xs);background:var(--surface-3);color:var(--ink-3);flex-shrink:0}.lvl-company{background:var(--brand-50);color:var(--brand-700)}.lvl-team{background:var(--blue-tint);color:var(--blue)}.goal-meter{display:flex;align-items:center;gap:10px}.goal-meter b{font-variant-numeric:tabular-nums;min-width:38px;text-align:right}.goal-title{font-size:20px;font-weight:600;letter-spacing:-.02em;margin:6px 0 8px}.goal-prog{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0 6px;font-size:13px}.goal-prog>b{font-size:24px;font-variant-numeric:tabular-nums}.goal-prog .meter{max-width:260px}.goal-prog .muted{display:inline-flex;align-items:center;gap:6px}.kr-list{display:grid;gap:10px}.kr-row{border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px;display:grid;gap:8px}.kr-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.kr-pct{margin-left:auto;font-weight:600;font-variant-numeric:tabular-nums}.kr-det{font-size:12.5px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.kr-q{font:500 11.5px var(--mono);background:var(--surface-2);padding:2px 6px;border-radius:var(--r-xs)}.kr-issues{display:grid;gap:2px}.kr-issue{display:flex;align-items:center;gap:8px;font-size:12.5px;padding:4px 6px;border-radius:var(--r-xs);text-align:left}.kr-issue:hover{background:var(--hover)}.kr-issue .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kr-issue.done .t{color:var(--ink-3);text-decoration:line-through}.kr-form{border:1px dashed var(--line-3);border-radius:var(--r-md);padding:12px;display:grid;gap:10px;margin-top:10px}.kr-form-ft{display:flex;align-items:center;gap:8px}.kr-form-ft label{margin-right:auto;font-size:12.5px}.ci-list{display:grid;gap:2px}.ci-row{display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:start;padding:8px 0;border-bottom:1px solid var(--line);font-size:12.5px}.ci-note{display:block;color:var(--ink-2);margin-top:3px;white-space:pre-wrap}.dq-row{display:grid;grid-template-columns:minmax(0,1.6fr) 140px minmax(220px,1fr) 130px 44px;gap:12px;align-items:center;min-height:56px;padding:6px 14px;border-bottom:1px solid var(--line);background:var(--surface);font-size:13px;width:100%;text-align:left}.dq-row:last-child{border-bottom:0}.dq-row.head{min-height:38px;background:var(--surface-2)}button.dq-row:hover{background:var(--surface-2)}.dq-row.breached{box-shadow:inset 3px 0 0 var(--red)}.dq-row .t{display:grid;min-width:0}.dq-row .t b{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dq-row .t small{font-size:12px}.dq-sla{display:flex;flex-wrap:wrap;gap:4px}.desk-setup{display:grid;gap:16px;max-width:880px}.rt-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.rt-row:last-child{border-bottom:0}.ff-list{display:grid;gap:8px}.ff-row{display:grid;grid-template-columns:1.4fr 130px 150px 100px 32px;gap:8px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:var(--r-md)}.ff-row .text-in{height:34px}.ff-opts{grid-column:1 / -1}.req-panel{border:1px solid var(--brand-100);border-radius:var(--r-lg);padding:14px 16px;background:var(--brand-25)}.req-meta{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between;font-size:13px;margin-bottom:10px}.req-msgs{display:grid;gap:8px;margin:8px 0}.req-msg{padding:10px 12px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);max-width:88%}.req-msg.agent{justify-self:end;background:var(--brand-50);border-color:var(--brand-100)}.req-msg .h{display:flex;gap:8px;align-items:baseline;font-size:12.5px}.req-msg p{margin:4px 0 0;font-size:13px;line-height:1.55;white-space:pre-wrap}.req-reply{display:grid;gap:8px;justify-items:end}.portal{min-height:100vh;display:flex;flex-direction:column;background:var(--surface-2);color:var(--ink)}.portal-top{display:flex;align-items:center;gap:10px;padding:18px 24px;border-bottom:1px solid var(--line);background:var(--surface)}.portal-top .mod-badge{width:30px;height:30px}.portal-main{flex:1;width:min(720px,100%);margin:0 auto;padding:32px 16px}.portal-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px;box-shadow:var(--sh-xs)}.portal-card h1{font-size:22px;letter-spacing:-.02em;margin:0 0 8px}.portal-card h2{font-size:15px;margin:22px 0 6px}.portal-types{display:grid;gap:10px;margin-top:20px}.portal-type{display:grid;grid-template-columns:1fr auto;gap:2px 12px;text-align:left;padding:14px 16px;border:1px solid var(--line-2);border-radius:var(--r-md);transition:border-color var(--t-fast),background var(--t-fast)}.portal-type:hover{border-color:var(--brand-400);background:var(--brand-25)}.portal-type .muted{grid-column:1;font-size:13px}.portal-type .ic{grid-row:1 / 3;grid-column:2;align-self:center;color:var(--brand)}.portal-form{display:grid;gap:2px;margin-top:14px}.portal-form>.btn-primary{justify-self:start;margin-top:18px}.portal-err{color:var(--red);font-size:13px;margin:10px 0 0}.portal-ok{text-align:center;display:grid;justify-items:center;gap:10px}.portal-check{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--green-tint);color:var(--green)}.portal-ref{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:13px}.portal-steps{display:flex;gap:0;list-style:none;padding:0;margin:18px 0 4px;counter-reset:s}.portal-steps li{flex:1;position:relative;padding-top:22px;font-size:12.5px;color:var(--ink-3);text-align:center}.portal-steps li:before{content:"";position:absolute;top:6px;left:0;right:0;height:3px;background:var(--line-2)}.portal-steps li.on{color:var(--ink);font-weight:500}.portal-steps li.on:before{background:var(--brand)}.portal-reply{display:grid;gap:6px}.portal-reply .btn{justify-self:start}.portal-foot{text-align:center;font-size:12px;padding:20px 16px 28px;display:flex;gap:6px;justify-content:center;align-items:center}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}@media(max-width:1100px){.cap-row{grid-template-columns:minmax(180px,1fr) 70px 130px minmax(120px,1fr) 120px}.cap-row>:nth-child(4){display:none}}@media(max-width:900px){.mod-page{padding:16px 16px 48px}.tc-layout{grid-template-columns:1fr}.tc-folders{position:static;display:flex;overflow-x:auto}.tc-folders button{flex-shrink:0}.dq-row{grid-template-columns:minmax(0,1fr) minmax(180px,auto) 44px}.ff-row{grid-template-columns:1fr 1fr}.se-row{grid-template-columns:22px 1fr}.se-row.head{display:none}.se-row>.text-in,.se-acts{grid-column:2}}@media(max-width:640px){.grid3,.tr-row{grid-template-columns:1fr}.mod-h{flex-wrap:wrap}.mod-h .r{margin-left:0;width:100%}.cap-row{grid-template-columns:minmax(0,1fr) 110px}.cap-row>:nth-child(n+3):not(.cap-load){display:none}.cap-row.head>:nth-child(n+2){display:none}.tc-row{grid-template-columns:76px minmax(0,1fr) 96px}.run-row{grid-template-columns:76px minmax(0,1fr) 120px}.tr-mx{grid-template-columns:minmax(0,1fr) 110px}.tr-mx>.cases{grid-column:1 / -1;grid-row:2}.goal-row{grid-template-columns:minmax(0,1fr) 90px}.goal-row>.goal-meter{display:none}.dq-row{grid-template-columns:minmax(0,1fr)}.portal-card{padding:20px}.fc-row .fc-msg{margin-left:0}}.modal .sub-act,.mod-page .sub-act,.hier .sub-act{display:inline-flex;align-items:center;gap:6px;margin-top:8px}.portal-form>.btn-ghost{justify-self:start}
