:root{--accent: #7b68ee;--accent-dark: #5f4bd8;--accent-soft: #eeebfd;--bg: #ffffff;--sidebar: #f7f8f9;--line: #e9ebf0;--line-strong: #d9dce3;--text: #292d34;--muted: #7c828d;--faint: #a0a6b1;--hover: #f3f4f6;--danger: #e0393e;--radius: 6px;--shadow: 0 4px 16px rgba(41, 45, 52, .12), 0 0 0 1px rgba(41, 45, 52, .06);--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);font-size:13px;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}button{font-family:inherit;font-size:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}::placeholder{color:var(--faint)}h1,h2,h3{margin:0;font-weight:600}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:12px}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row{display:flex;align-items:center;gap:8px}.grow{flex:1;min-width:0}.hidden{display:none!important}.btn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:var(--radius);border:1px solid var(--line-strong);background:#fff;font-weight:500;white-space:nowrap}.btn:hover{background:var(--hover)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-dark)}.btn.ghost{border-color:transparent;background:transparent;color:var(--muted)}.btn.ghost:hover{background:var(--hover);color:var(--text)}.btn.sm{height:26px;padding:0 8px;font-size:12px}.btn.danger{color:var(--danger)}.btn:disabled{opacity:.5;cursor:default}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius);color:var(--muted)}.icon-btn:hover{background:var(--hover);color:var(--text)}.icon-btn.sm{width:22px;height:22px}svg.ic{width:16px;height:16px;flex:none}svg.ic.sm{width:14px;height:14px}.app{display:flex;height:100%}.sidebar{width:260px;flex:none;background:var(--sidebar);border-right:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden}.main{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.ws-head{display:flex;align-items:center;gap:8px;padding:12px 12px 8px}.ws-logo{width:24px;height:24px;border-radius:6px;background:linear-gradient(135deg,#7b68ee,#ff6aa5);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px}.ws-name{font-weight:600;font-size:14px}.nav{padding:4px 8px}.nav-item{display:flex;align-items:center;gap:10px;height:32px;padding:0 8px;border-radius:var(--radius);color:var(--text);cursor:pointer}.nav-item:hover{background:#eceef2}.nav-item.active{background:var(--accent-soft);color:var(--accent-dark);font-weight:500}.nav-item .badge{margin-left:auto;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--accent);color:#fff;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center}.side-section{margin-top:10px;padding:0 8px;display:flex;align-items:center;justify-content:space-between}.side-section h4{margin:0;font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--muted);text-transform:uppercase;padding:6px 8px}.tree{padding:0 8px 20px;overflow:auto;flex:1}.tree-row{display:flex;align-items:center;gap:6px;height:30px;padding-right:6px;border-radius:var(--radius);cursor:pointer;color:var(--text);position:relative}.tree-row:hover{background:#eceef2}.tree-row.active{background:var(--accent-soft);color:var(--accent-dark);font-weight:500}.tree-row .caret{width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:var(--faint);border-radius:4px;flex:none}.tree-row .caret:hover{background:#0000000f;color:var(--text)}.tree-row .caret svg{transition:transform .12s}.tree-row .caret.open svg{transform:rotate(90deg)}.tree-row .name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-row .count{color:var(--faint);font-size:11px}.tree-row .more{opacity:0}.tree-row:hover .more{opacity:1}.tree-row:hover .count{display:none}.space-avatar{width:20px;height:20px;border-radius:5px;color:#fff;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;flex:none}.tree .lvl1{padding-left:4px}.tree .lvl2{padding-left:22px}.tree .lvl3{padding-left:40px}.tree .lvl2.folderless{padding-left:22px}.side-user{border-top:1px solid var(--line);padding:10px 12px;display:flex;align-items:center;gap:8px}.topbar{display:flex;align-items:center;gap:12px;height:48px;padding:0 20px;border-bottom:1px solid var(--line);flex:none}.crumbs{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;min-width:0}.crumbs .sep{color:var(--faint)}.crumbs a{color:var(--muted)}.crumbs a:hover{color:var(--text)}.crumbs b{color:var(--text);font-weight:600;font-size:13px}.search-global{margin-left:auto;position:relative}.search-global input{height:30px;width:220px;border:1px solid var(--line-strong);border-radius:15px;padding:0 12px 0 32px;background:#fff;outline:none}.search-global input:focus{border-color:var(--accent);width:320px}.search-global svg{position:absolute;left:11px;top:7px;color:var(--faint)}.search-pop{position:absolute;right:0;top:36px;width:460px;max-height:420px;overflow:auto;background:#fff;border-radius:8px;box-shadow:var(--shadow);z-index:50;padding:6px}.viewsbar{display:flex;align-items:center;gap:2px;height:42px;padding:0 14px;border-bottom:1px solid var(--line);flex:none}.view-tab{display:flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:var(--radius);color:var(--muted);font-weight:500;position:relative}.view-tab:hover{background:var(--hover);color:var(--text)}.view-tab.active{color:var(--text)}.view-tab.active:after{content:"";position:absolute;left:8px;right:8px;bottom:-7px;height:2px;background:var(--accent);border-radius:1px}.viewsbar .sep{width:1px;height:18px;background:var(--line-strong);margin:0 6px}.toolbar{display:flex;align-items:center;gap:4px;height:40px;padding:0 14px;flex:none;border-bottom:1px solid var(--line)}.tool{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 8px;border-radius:var(--radius);color:var(--muted);font-weight:500;white-space:nowrap}.tool:hover{background:var(--hover);color:var(--text)}.tool.on{color:var(--accent-dark);background:var(--accent-soft)}.toolbar .search-in{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 8px;border-radius:var(--radius);color:var(--muted)}.toolbar .search-in input{border:none;outline:none;background:transparent;width:140px}.toolbar .search-in:focus-within{background:var(--hover);color:var(--text)}.content{flex:1;overflow:auto;position:relative}.status-pill{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:4px;color:#fff;font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.status-dot{width:10px;height:10px;border-radius:3px;flex:none;display:inline-block}.status-ring{width:14px;height:14px;border-radius:50%;border:2px solid;display:inline-flex;align-items:center;justify-content:center;flex:none}.status-ring.closed{color:#fff}.pri-flag{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px}.pri-flag.empty{color:var(--faint);opacity:0}.list-row:hover .pri-flag.empty,.card:hover .pri-flag.empty{opacity:1}.avatar{width:24px;height:24px;border-radius:50%;color:#fff;font-size:10px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;flex:none;letter-spacing:.02em}.avatar.sm{width:20px;height:20px;font-size:9px}.avatar.lg{width:32px;height:32px;font-size:12px}.avatar.xl{width:40px;height:40px;font-size:14px}.avatar-stack{display:inline-flex}.avatar-stack .avatar{box-shadow:0 0 0 2px #fff;margin-left:-6px}.avatar-stack .avatar:first-child{margin-left:0}.avatar.empty{background:#fff;border:1px dashed var(--line-strong);color:var(--faint)}.tag{display:inline-flex;align-items:center;height:18px;padding:0 7px;border-radius:4px;font-size:11px;font-weight:500;color:#fff;white-space:nowrap}.type-icon{display:inline-flex;align-items:center;justify-content:center;flex:none}.type-chip{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 8px 0 4px;border-radius:6px;border:1px solid var(--line-strong);font-weight:500;font-size:12px}.type-chip:hover{background:var(--hover)}.list-view{padding:8px 20px 60px;min-width:900px}.group{margin-bottom:18px}.group-head{display:flex;align-items:center;gap:8px;height:34px;position:sticky;top:0;background:#fff;z-index:2}.group-head .toggle{color:var(--faint);width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px}.group-head .toggle:hover{background:var(--hover);color:var(--text)}.group-head .toggle svg{transition:transform .12s}.group-head .toggle.open svg{transform:rotate(90deg)}.group-head .cnt{color:var(--muted);font-size:12px}.group-head .add{color:var(--muted);font-size:12px;opacity:0;display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 6px;border-radius:4px}.group-head:hover .add,.group-head .add.always{opacity:1}.group-head .add:hover{background:var(--hover);color:var(--text)}.cols{display:grid;grid-template-columns:minmax(380px,1fr) 110px 100px 90px var(--extra-cols, " ");align-items:center}.col-head{height:28px;color:var(--muted);font-size:11px;font-weight:500;padding:0 8px;border-bottom:1px solid var(--line)}.col-head:first-child{padding-left:36px}.col-head.r{text-align:center}.list-row{height:36px;border-bottom:1px solid var(--line);cursor:pointer}.list-row:hover{background:#f8f9fb}.list-row>div{height:100%;display:flex;align-items:center;padding:0 8px;min-width:0}.list-row .name-cell{gap:8px;padding-left:8px}.list-row .name-cell .sub-toggle{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:var(--faint);border-radius:4px;flex:none}.list-row .name-cell .sub-toggle:hover{background:var(--hover);color:var(--text)}.list-row .name-cell .sub-toggle.open svg{transform:rotate(90deg)}.list-row .name-cell .title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-row.closed .title{color:var(--muted)}.list-row .meta{display:inline-flex;align-items:center;gap:3px;color:var(--faint);font-size:11px;margin-left:4px;flex:none}.list-row .meta svg{width:12px;height:12px}.list-row .sub-chip{display:inline-flex;align-items:center;gap:3px;height:18px;padding:0 6px;border-radius:9px;background:#eef0f3;color:var(--muted);font-size:11px;flex:none}.list-row .row-actions{display:none;margin-left:auto;gap:2px}.list-row:hover .row-actions{display:inline-flex}.list-row .center{justify-content:center}.list-row .date-cell{color:var(--muted);font-size:12px}.list-row .date-cell.overdue{color:var(--danger)}.list-row .cf-cell{color:var(--text);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-row .cf-cell.empty{color:transparent}.list-row:hover .cf-cell.empty{color:var(--faint)}.list-row .indent{display:inline-block;flex:none}.add-row{display:flex;align-items:center;gap:8px;height:34px;padding-left:36px;color:var(--faint);border-bottom:1px solid transparent}.add-row:hover{color:var(--muted)}.add-row.editing{background:#f8f9fb;border-bottom-color:var(--line)}.add-row input{flex:1;border:none;outline:none;background:transparent;height:100%}.add-row .hint{font-size:11px;color:var(--faint);margin-right:12px}.board{display:flex;gap:12px;padding:14px 20px 30px;height:100%;align-items:flex-start;min-width:max-content}.column{width:272px;flex:none;display:flex;flex-direction:column;max-height:100%;border-radius:8px;background:#f7f8f9}.column.over{background:#eeebfd}.column-head{display:flex;align-items:center;gap:8px;padding:10px 10px 6px}.column-head .cnt{color:var(--muted);font-size:12px}.column-head .add{margin-left:auto}.column-body{overflow-y:auto;padding:4px 8px 8px;display:flex;flex-direction:column;gap:8px;min-height:40px}.card{background:#fff;border-radius:8px;padding:10px 10px 8px;box-shadow:0 1px 2px #00000014,0 0 0 1px #0000000a;cursor:pointer;position:relative}.card:hover{box-shadow:0 2px 8px #0000001f,0 0 0 1px #0000000d}.card.dragging{opacity:.4}.card .tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.card .title{font-weight:500;line-height:1.35;white-space:pre-wrap;word-break:break-word}.card .parent{color:var(--faint);font-size:11px;margin-bottom:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card .foot{display:flex;align-items:center;gap:6px;margin-top:8px;min-height:20px}.card .foot .meta{display:inline-flex;align-items:center;gap:3px;color:var(--faint);font-size:11px}.card .foot .meta svg{width:12px;height:12px}.card .foot .right{margin-left:auto;display:inline-flex;align-items:center;gap:4px}.card .pts{font-size:11px;color:var(--muted);background:#f1f2f5;border-radius:9px;padding:0 6px;height:18px;display:inline-flex;align-items:center}.column .add-card{display:flex;align-items:center;gap:6px;height:30px;padding:0 10px;color:var(--muted);border-radius:var(--radius);margin:0 8px 8px}.column .add-card:hover{background:#eceef2;color:var(--text)}.column .new-card{background:#fff;border-radius:8px;padding:8px;margin:0 8px 8px;box-shadow:var(--shadow)}.column .new-card textarea{width:100%;border:none;outline:none;resize:none;min-height:44px;font-family:inherit}.column.closed-col .column-body{opacity:.85}.pop-wrap{position:relative;display:inline-flex}.pop{position:absolute;z-index:60;min-width:200px;background:#fff;border-radius:8px;box-shadow:var(--shadow);padding:6px}.pop.right{right:0}.pop.up{bottom:calc(100% + 4px)}.pop:not(.up){top:calc(100% + 4px)}.pop.fixed{position:fixed}.pop input.search{width:100%;height:30px;border:none;border-bottom:1px solid var(--line);outline:none;padding:0 8px;margin-bottom:4px}.menu-item{display:flex;align-items:center;gap:8px;height:30px;padding:0 8px;border-radius:var(--radius);cursor:pointer;white-space:nowrap}.menu-item:hover,.menu-item.hl{background:var(--hover)}.menu-item.on{background:var(--accent-soft)}.menu-item .check{margin-left:auto;color:var(--accent)}.menu-item.danger{color:var(--danger)}.menu-sep{height:1px;background:var(--line);margin:4px 0}.menu-head{font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:6px 8px 2px}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#292d3473;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px}.modal{width:min(1280px,100%);height:min(92vh,900px);background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;overflow:hidden}.modal-head{display:flex;align-items:center;gap:10px;height:48px;padding:0 12px 0 20px;border-bottom:1px solid var(--line);flex:none}.modal-head .crumbs b{font-weight:500}.modal-head .tid{color:var(--faint);font-size:12px;font-family:ui-monospace,Menlo,monospace}.modal-body{flex:1;display:flex;min-height:0}.task-pane{flex:1;min-width:0;overflow:auto;padding:20px 28px 60px}.act-pane{width:420px;flex:none;border-left:1px solid var(--line);display:flex;flex-direction:column;background:#fafbfc}.task-title{width:100%;border:none;outline:none;font-size:22px;font-weight:600;line-height:1.3;resize:none;padding:6px 8px;margin:6px -8px 10px;border-radius:6px;font-family:inherit}.task-title:hover{background:var(--hover)}.task-title:focus{background:#fff;box-shadow:0 0 0 2px var(--accent-soft)}.props{display:grid;grid-template-columns:1fr 1fr;gap:6px 24px;margin-bottom:20px}.prop{display:flex;align-items:center;min-height:32px;gap:10px}.prop label{width:92px;flex:none;color:var(--muted);font-size:12px;display:flex;align-items:center;gap:6px}.prop .val{display:flex;align-items:center;gap:6px;min-height:28px;padding:0 6px;border-radius:var(--radius);cursor:pointer;flex:1;min-width:0}.prop .val:hover{background:var(--hover)}.prop .val .placeholder{color:var(--faint)}.prop .val input,.prop .val textarea{border:none;outline:none;background:transparent;width:100%}.status-btn{display:inline-flex;align-items:stretch;height:28px;border-radius:6px;overflow:hidden;color:#fff;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.status-btn .lbl{display:inline-flex;align-items:center;padding:0 10px}.status-btn .next{display:inline-flex;align-items:center;padding:0 6px;border-left:1px solid rgba(255,255,255,.3)}.status-btn .next:hover{background:#0000001f}.section{margin-top:20px}.section-head{display:flex;align-items:center;gap:8px;height:30px;font-weight:600;font-size:13px;margin-bottom:6px}.section-head .cnt{color:var(--muted);font-weight:500}.section-head .right{margin-left:auto;display:inline-flex;gap:4px}.desc-view{line-height:1.55;font-size:13px;padding:8px;border-radius:6px;cursor:text;min-height:60px}.desc-view:hover{background:#fafbfc}.desc-view.empty{color:var(--faint)}.desc-edit{width:100%;min-height:260px;border:1px solid var(--accent);border-radius:6px;padding:10px;outline:none;font-family:ui-monospace,Menlo,monospace;font-size:12.5px;line-height:1.5;resize:vertical}.md{word-wrap:break-word}.md h1{font-size:20px;margin:16px 0 8px}.md h2{font-size:17px;margin:16px 0 8px}.md h3{font-size:15px;margin:14px 0 6px}.md h4{font-size:13px;margin:12px 0 4px}.md p{margin:0 0 10px}.md ul,.md ol{margin:0 0 10px;padding-left:22px}.md li{margin:2px 0}.md li.task{list-style:none;margin-left:-18px}.md li.task input{margin-right:6px;vertical-align:-1px}.md table{border-collapse:collapse;margin:8px 0 12px;font-size:12.5px}.md th,.md td{border:1px solid var(--line-strong);padding:5px 8px;text-align:left;vertical-align:top}.md th{background:#f7f8f9}.md img{max-width:min(100%,420px);max-height:320px;width:auto;height:auto;border-radius:6px;margin:4px 0;display:block;cursor:zoom-in;border:1px solid var(--line)}.md code{background:#f1f2f5;padding:1px 4px;border-radius:3px;font-size:12px}.md pre{background:#f1f2f5;padding:10px;border-radius:6px;overflow:auto}.md pre code{background:none;padding:0}.md blockquote{margin:0 0 10px;padding:2px 12px;border-left:3px solid var(--line-strong);color:var(--muted)}.md hr{border:none;border-top:1px solid var(--line);margin:14px 0}.md a{color:var(--accent)}.md .mention{color:var(--accent-dark);background:var(--accent-soft);border-radius:4px;padding:0 4px;font-weight:500}.sub-list .list-row{height:34px}.att-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.att{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff;position:relative}.att .thumb{height:100px;background:#f1f2f5;display:flex;align-items:center;justify-content:center;color:var(--faint);overflow:hidden}.att .thumb img,.att .thumb video{width:100%;height:100%;object-fit:cover}.att .info{padding:6px 8px;font-size:11px}.att .info .fn{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.att .x{position:absolute;top:4px;right:4px;background:#fff;border-radius:4px;opacity:0}.att:hover .x{opacity:1}.dropzone{border:1px dashed var(--line-strong);border-radius:8px;padding:14px;text-align:center;color:var(--muted);margin-top:10px;cursor:pointer}.dropzone.over,.dropzone:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}.ext-badge{font-size:11px;font-weight:700;text-transform:uppercase;background:#fff;border:1px solid var(--line-strong);border-radius:4px;padding:2px 6px;color:var(--muted)}.act-head{height:44px;display:flex;align-items:center;padding:0 16px;font-weight:600;border-bottom:1px solid var(--line);gap:8px}.act-head .tabs{display:inline-flex;gap:2px;margin-left:auto}.act-head .tabs button{height:26px;padding:0 8px;border-radius:4px;color:var(--muted);font-weight:500;font-size:12px}.act-head .tabs button.on{background:#fff;color:var(--text);box-shadow:0 0 0 1px var(--line)}.act-feed{flex:1;overflow:auto;padding:12px 16px;display:flex;flex-direction:column;gap:4px}.act-line{display:flex;gap:8px;align-items:flex-start;font-size:12px;color:var(--muted);padding:3px 0}.act-line .who{color:var(--text);font-weight:500}.act-line .when{margin-left:auto;color:var(--faint);white-space:nowrap}.comment{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:6px 0}.comment .c-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.comment .c-head .who{font-weight:600}.comment .c-head .when{color:var(--faint);font-size:11px}.comment .c-head .acts{margin-left:auto;opacity:0;display:inline-flex}.comment:hover .c-head .acts{opacity:1}.comment .md{font-size:13px;line-height:1.5}.comment .md p:last-child{margin-bottom:0}.comment .c-atts{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.comment .c-atts img{max-height:160px;max-width:100%;border-radius:6px;border:1px solid var(--line)}.comment .c-atts .file{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:6px;padding:4px 8px;font-size:12px;color:var(--text)}.composer{border-top:1px solid var(--line);padding:12px 16px;background:#fff}.composer .box{border:1px solid var(--line-strong);border-radius:10px;padding:8px 10px;position:relative}.composer .box:focus-within{border-color:var(--accent)}.composer textarea{width:100%;border:none;outline:none;resize:none;min-height:56px;max-height:240px;line-height:1.5;font-family:inherit}.composer .c-foot{display:flex;align-items:center;gap:4px;margin-top:6px}.composer .c-foot .btn.primary{margin-left:auto;height:28px}.composer .pending{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.composer .pending .file{display:inline-flex;align-items:center;gap:4px;background:var(--hover);border-radius:6px;padding:2px 8px;font-size:12px}.mention-pop{position:absolute;left:10px;bottom:calc(100% + 4px);width:260px;background:#fff;border-radius:8px;box-shadow:var(--shadow);padding:4px;z-index:70}.page{padding:20px 28px;max-width:1100px}.page h1{font-size:20px;margin-bottom:14px}.inbox-item{display:flex;gap:12px;padding:12px 14px;border-radius:10px;border:1px solid var(--line);margin-bottom:8px;cursor:pointer;background:#fff;align-items:flex-start}.inbox-item:hover{background:#fafbfc}.inbox-item.unread{border-left:3px solid var(--accent)}.inbox-item .what{font-size:13px;line-height:1.45}.inbox-item .task{color:var(--muted);font-size:12px;margin-top:2px}.inbox-item .when{margin-left:auto;color:var(--faint);font-size:11px;white-space:nowrap}.inbox-item .quote{margin-top:6px;padding:6px 10px;background:#f7f8f9;border-radius:6px;font-size:12px;color:var(--text);max-height:80px;overflow:hidden}.empty-state{color:var(--muted);padding:40px 0;text-align:center}.login{height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#fdf2f8,#eef2ff,#ecfeff)}.login .card{width:360px;background:#fff;border-radius:14px;box-shadow:var(--shadow);padding:32px 28px;text-align:center;cursor:default}.login .card:hover{box-shadow:var(--shadow)}.login .logo{width:44px;height:44px;border-radius:12px;margin:0 auto 14px;background:linear-gradient(135deg,#7b68ee,#ff6aa5);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px}.login h1{font-size:20px;margin-bottom:4px}.login p{color:var(--muted);margin:0 0 18px}.login input{width:100%;height:40px;border:1px solid var(--line-strong);border-radius:8px;padding:0 12px;margin-bottom:10px;outline:none}.login input:focus{border-color:var(--accent)}.login .btn{width:100%;height:40px;justify-content:center;font-size:14px}.login .err{color:var(--danger);font-size:12px;margin:-4px 0 10px}.burndown{padding:20px 28px;max-width:1100px}.bd-head{display:flex;align-items:center;gap:16px;margin-bottom:14px}.bd-head .stat{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border:1px solid var(--line);border-radius:8px;min-width:120px}.bd-head .stat b{font-size:18px}.bd-head .stat span{color:var(--muted);font-size:11px}.bd-chart{border:1px solid var(--line);border-radius:10px;padding:16px;background:#fff}.bd-legend{display:flex;gap:16px;font-size:12px;color:var(--muted);margin-top:8px}.bd-legend i{display:inline-block;width:18px;height:3px;border-radius:2px;vertical-align:middle;margin-right:6px}.seg{display:inline-flex;border:1px solid var(--line-strong);border-radius:6px;overflow:hidden;margin-left:auto}.seg button{height:28px;padding:0 12px;font-weight:500;color:var(--muted)}.seg button.on{background:var(--accent-soft);color:var(--accent-dark)}.dialog{width:460px;background:#fff;border-radius:12px;box-shadow:var(--shadow);padding:20px}.dialog h3{font-size:15px;margin-bottom:14px}.dialog label{display:block;font-size:12px;color:var(--muted);margin:10px 0 4px}.dialog input[type=text],.dialog input[type=date],.dialog select,.dialog textarea{width:100%;height:34px;border:1px solid var(--line-strong);border-radius:6px;padding:0 10px;outline:none}.dialog textarea{height:auto;padding:8px 10px}.dialog input:focus,.dialog select:focus,.dialog textarea:focus{border-color:var(--accent)}.dialog .actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.status-editor .srow{display:flex;align-items:center;gap:8px;margin:6px 0}.status-editor .srow input[type=text]{flex:1}.status-editor .srow input[type=color]{width:30px;height:30px;border:none;background:none;padding:0;cursor:pointer}.status-editor .srow select{width:100px}.toasts{position:fixed;bottom:20px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:6px;z-index:200}.toast{background:#292d34;color:#fff;padding:10px 16px;border-radius:8px;font-size:13px;box-shadow:var(--shadow)}.toast.err{background:var(--danger)}.kbd{font-family:ui-monospace,Menlo,monospace;font-size:11px;border:1px solid var(--line-strong);border-radius:4px;padding:0 4px;color:var(--muted)}.spinner{width:18px;height:18px;border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.center-page{display:flex;align-items:center;justify-content:center;height:100%;color:var(--muted)}.inline-edit{border:none;outline:none;background:transparent;font:inherit;width:100%}.checkbox{width:14px;height:14px}.row-select input{margin:0}.wb-wrap{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:#fafbfc;background-image:radial-gradient(#dfe2e8 1px,transparent 1px);background-size:20px 20px;cursor:grab;-webkit-user-select:none;user-select:none}.wb-wrap:active{cursor:grabbing}.wb-tools{position:absolute;z-index:5;top:10px;left:14px;display:flex;align-items:center;gap:4px;background:#fff;border-radius:8px;box-shadow:var(--shadow);padding:4px 6px;cursor:default}.wb-tools .sep{width:1px;height:18px;background:var(--line-strong);margin:0 4px}.wb-swatch{width:14px;height:14px;border-radius:3px;border:1px solid rgba(0,0,0,.12);display:inline-block}.wb-canvas{position:absolute;left:0;top:0;transform-origin:0 0;width:0;height:0}.wb-section{position:absolute;border-radius:12px;border:1px solid rgba(0,0,0,.06)}.wb-section-head{display:flex;align-items:center;height:44px;padding:0 10px 0 16px;cursor:move}.wb-title{font-weight:700;font-size:16px;color:#292d34;flex:1}.wb-title-input{flex:1;font-weight:700;font-size:16px;border:1px solid var(--accent);border-radius:4px;padding:2px 6px;outline:none;background:#fff}.wb-resize{position:absolute;right:2px;bottom:2px;width:14px;height:14px;cursor:nwse-resize;border-right:2px solid rgba(0,0,0,.2);border-bottom:2px solid rgba(0,0,0,.2);border-radius:0 0 4px}.wb-note{position:absolute;border-radius:4px;box-shadow:0 2px 6px #00000026;padding:10px 10px 6px;display:flex;flex-direction:column;cursor:move;font-size:14px;line-height:1.35;color:#292d34}.wb-note.sel{outline:2px solid var(--accent)}.wb-note .wb-text{flex:1;white-space:pre-wrap;word-break:break-word;min-height:70px}.wb-note textarea.wb-text{border:none;outline:none;background:transparent;resize:none;font:inherit;width:100%;cursor:text}.wb-foot{display:flex;align-items:center;gap:4px;margin-top:6px;min-height:22px}.wb-task{display:inline-flex;align-items:center;gap:5px;background:#ffffffbf;border-radius:4px;padding:2px 6px;font-size:11px;max-width:130px;cursor:pointer}.wb-task:hover{background:#fff}.inbox-tabs{display:inline-flex;gap:2px;margin-left:12px}.inbox-tabs button{height:28px;padding:0 10px;border-radius:6px;color:var(--muted);font-weight:500}.inbox-tabs button.on{background:var(--accent-soft);color:var(--accent-dark)}.inbox-item .clear{opacity:0}.inbox-item:hover .clear{opacity:1}.prefs-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line)}.prefs-row:last-child{border-bottom:none}.switch{position:relative;width:34px;height:20px;border-radius:10px;background:#d9dce3;transition:background .15s;cursor:pointer;flex:none}.switch.on{background:var(--accent)}.switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .15s}.switch.on:after{left:16px}.ctx{position:fixed;min-width:220px;background:#fff;border-radius:8px;box-shadow:var(--shadow);padding:6px}.ctx .menu-item{height:32px}.ctx .menu-item.disabled{opacity:.45;cursor:default}.ctx .menu-item.disabled:hover{background:none}.row-check{width:22px;display:inline-flex;align-items:center;justify-content:center;flex:none;margin-left:-4px}.row-check input{width:14px;height:14px;margin:0;cursor:pointer;accent-color:var(--accent);opacity:0}.list-row:hover .row-check input,.list-row.selected .row-check input,.selecting .row-check input{opacity:1}.list-row.selected{background:var(--accent-soft)!important}.list-row.drop-before{box-shadow:inset 0 2px 0 var(--accent)}.list-row.dragging{opacity:.45}.group.drop-target .group-head{background:var(--accent-soft);border-radius:6px}.group.drop-target{outline:2px dashed var(--accent);outline-offset:2px;border-radius:8px}.tree-row.drop-target{background:var(--accent-soft)!important;box-shadow:inset 0 0 0 1.5px var(--accent)}.drag-ghost{position:fixed;top:-200px;left:-200px;background:#292d34;color:#fff;padding:6px 12px;border-radius:8px;font-weight:500;font-size:13px;pointer-events:none;box-shadow:var(--shadow);max-width:320px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bulk-bar{position:fixed;left:50%;bottom:22px;transform:translate(-50%);z-index:90;background:#292d34;color:#fff;border-radius:12px;padding:8px 10px 8px 16px;display:flex;align-items:center;gap:6px;box-shadow:0 10px 30px #00000059;font-size:13px}.bulk-bar .cnt{font-weight:600;margin-right:8px;white-space:nowrap}.bulk-bar .tool{color:#d8dbe2}.bulk-bar .tool:hover{background:#ffffff1f;color:#fff}.bulk-bar .sep{width:1px;height:18px;background:#fff3;margin:0 4px}.bulk-bar .x{color:#a0a6b1;margin-left:4px}.bulk-bar .x:hover{color:#fff;background:#ffffff1f}.sprint-cell{color:var(--muted);font-size:12px;display:inline-flex;align-items:center;gap:4px;max-width:100%}.sprint-cell .ellipsis{max-width:120px}.drag-handle{width:14px;color:var(--faint);opacity:0;cursor:grab;display:inline-flex;align-items:center;flex:none}.list-row:hover .drag-handle{opacity:1}.folder-add{opacity:0}.tree-row:hover .folder-add{opacity:1}.group-head .col-head{border:none}.rte{border:1px solid var(--line-strong);border-radius:8px;background:#fff}.rte:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.rte-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:6px 8px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:1;border-radius:8px 8px 0 0}.rte-toolbar button{height:26px;min-width:26px;padding:0 6px;border-radius:4px;color:var(--muted);font-size:12px;font-weight:600;display:inline-flex;align-items:center;justify-content:center}.rte-toolbar button:hover{background:var(--hover);color:var(--text)}.rte-toolbar button.on{background:var(--accent-soft);color:var(--accent-dark)}.rte-toolbar .sep{width:1px;height:16px;background:var(--line-strong);margin:0 4px}.rte .ProseMirror{padding:12px 14px;min-height:220px;outline:none;line-height:1.55;font-size:13.5px}.rte .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--faint);float:left;pointer-events:none;height:0}.rte .ProseMirror h1{font-size:20px;margin:16px 0 8px}.rte .ProseMirror h2{font-size:17px;margin:16px 0 8px}.rte .ProseMirror h3{font-size:15px;margin:14px 0 6px}.rte .ProseMirror p{margin:0 0 8px}.rte .ProseMirror ul,.rte .ProseMirror ol{padding-left:22px;margin:0 0 8px}.rte .ProseMirror ul[data-type=taskList]{list-style:none;padding-left:4px}.rte .ProseMirror ul[data-type=taskList] li{display:flex;gap:8px;align-items:flex-start}.rte .ProseMirror ul[data-type=taskList] li>label{flex:none;margin-top:2px}.rte .ProseMirror ul[data-type=taskList] li>div{flex:1}.rte .ProseMirror table{border-collapse:collapse;margin:8px 0 12px;width:100%;table-layout:fixed}.rte .ProseMirror th,.rte .ProseMirror td{border:1px solid var(--line-strong);padding:5px 8px;vertical-align:top;min-width:60px}.rte .ProseMirror th{background:#f7f8f9;font-weight:600}.rte .ProseMirror .selectedCell{background:var(--accent-soft)}.rte .ProseMirror img{max-width:min(100%,420px);max-height:320px;border-radius:6px;display:block;border:1px solid var(--line)}.rte .ProseMirror img.ProseMirror-selectednode{outline:2px solid var(--accent)}.rte .ProseMirror code{background:#f1f2f5;padding:1px 4px;border-radius:3px;font-size:12px}.rte .ProseMirror pre{background:#f1f2f5;padding:10px;border-radius:6px}.rte .ProseMirror pre code{background:none}.rte .ProseMirror blockquote{margin:0 0 8px;padding:2px 12px;border-left:3px solid var(--line-strong);color:var(--muted)}.rte .ProseMirror a{color:var(--accent);text-decoration:underline}.rte .ProseMirror hr{border:none;border-top:1px solid var(--line);margin:12px 0}.rte-foot{display:flex;align-items:center;gap:6px;padding:6px 8px;border-top:1px solid var(--line)}.sprint-badge{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:10px;font-size:11px;font-weight:600;letter-spacing:.02em}.sprint-badge.active{background:#e3f7e8;color:#1e7a3c}.sprint-badge.planned{background:#eef0f3;color:var(--muted)}.sprint-badge.completed{background:var(--accent-soft);color:var(--accent-dark)}.sprint-dot{width:7px;height:7px;border-radius:50%;background:#1e9d4a;flex:none;margin-right:4px}.sprint-stats{display:flex;gap:10px;margin-bottom:12px}.sprint-stats>div{flex:1;border:1px solid var(--line);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column}.sprint-stats b{font-size:18px}.sprint-stats span{color:var(--muted);font-size:11px}.radio-list{display:flex;flex-direction:column;gap:8px;margin-top:4px}.radio-list label{margin:0;color:var(--text);font-size:13px;cursor:pointer}.radio-list input[type=radio]{margin:0 8px 0 0;accent-color:var(--accent)}.people-head{display:grid;grid-template-columns:40px 1fr 180px 110px 120px 32px;gap:12px;padding:0 10px 6px;font-size:11px;color:var(--muted);font-weight:500;border-bottom:1px solid var(--line)}.people-row{display:grid;grid-template-columns:40px 1fr 180px 110px 120px 32px;gap:12px;align-items:center;padding:10px;border-bottom:1px solid var(--line)}.people-row:hover{background:#fafbfc}.people-status{font-size:12px;display:inline-flex;align-items:center;gap:6px}.people-status:before{content:"";width:7px;height:7px;border-radius:50%;background:#c9ccd3}.people-status.on:before{background:#1e9d4a}.people-status.pending:before{background:#e0a800}.people-status.off:before{background:#c9ccd3}.role-select{height:28px;border:1px solid var(--line-strong);border-radius:6px;padding:0 6px;background:#fff}.role-pill{font-size:12px;color:var(--muted)}.roles-help{margin-top:24px;padding:14px 16px;background:#f7f8f9;border-radius:10px;font-size:12.5px;display:flex;flex-direction:column;gap:4px}.list-row .name-cell .sub-toggle.has-kids{color:#4a4e57;background:none}.list-row .name-cell .sub-toggle.has-kids svg{width:12px;height:12px}.list-row .name-cell .sub-toggle.has-kids:hover{color:var(--text);background:var(--hover);border-radius:4px}.list-row .name-cell .sub-toggle svg{transition:transform .12s}.tree-row.create-row{color:var(--muted)}.tree-row.create-row:hover{color:var(--text)}.tree-row .caret svg.ic{width:15px;height:15px}.toast.undo{display:flex;align-items:center;gap:12px;padding:10px 12px 10px 16px;position:relative;overflow:hidden}.undo-btn{color:#c7bdff;font-weight:600;padding:4px 10px;border-radius:6px;background:#ffffff14}.undo-btn:hover{background:#ffffff2e;color:#fff}.undo-timer{position:absolute;left:0;bottom:0;height:2px;background:var(--accent);animation:undo-shrink 5s linear forwards}@keyframes undo-shrink{0%{width:100%}to{width:0}}.seg-tabs{display:flex;background:#f1f2f5;border-radius:8px;padding:3px;margin:2px 2px 6px}.seg-tabs button{flex:1;height:28px;border-radius:6px;font-weight:500;color:var(--muted)}.seg-tabs button.on{background:#fff;color:var(--text);box-shadow:0 1px 2px #00000014}.icon-hit{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:4px;cursor:pointer;flex:none}.icon-hit:hover{background:var(--hover)}.card{padding:10px 12px}.card-cover{margin:-10px -12px 10px;height:140px;overflow:hidden;border-radius:8px 8px 0 0;background:#f1f2f5}.card-cover img{width:100%;height:100%;object-fit:cover;display:block}.card .title{font-size:13.5px}.card-meta{display:flex;align-items:center;gap:10px;margin-top:8px;color:var(--muted)}.card-meta .meta{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--muted)}.card-meta .meta svg{width:14px;height:14px}.card-pills{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px}.card .pill{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 8px;border:1px solid var(--line-strong);border-radius:6px;font-size:12px;font-weight:500;color:var(--text);background:#fff;cursor:pointer;max-width:100%}.card .pill:hover{background:var(--hover)}.card .pill .tag{height:16px}.card .pill-hit{display:inline-flex;align-items:center;height:26px;cursor:pointer}.column{background:#f7f8f9}.column-head .status-pill{height:22px}.vp-wrap{position:absolute;top:0;right:0;bottom:0;width:340px;background:#fff;border-left:1px solid var(--line);box-shadow:-8px 0 24px #0000000f;z-index:40;display:flex;flex-direction:column;overflow:auto}.vp-head{display:flex;align-items:center;gap:8px;padding:14px 12px 10px 16px}.vp-name{display:flex;align-items:center;gap:8px;margin:0 16px 10px;height:36px;border:1px solid var(--line-strong);border-radius:8px;padding:0 10px;font-weight:500}.vp-row{display:flex;align-items:center;gap:10px;height:38px;padding:0 16px;cursor:pointer;font-size:13px}.vp-row:hover{background:var(--hover)}.vp-row .vp-ic{color:var(--muted);display:inline-flex;width:18px}.vp-row .vp-val{margin-left:auto;color:var(--muted);display:inline-flex;align-items:center;gap:4px}.vp-sep{height:1px;background:var(--line);margin:6px 0}.vp-body{padding:4px 8px 16px}.vp-body .prefs-row,.vp-body .vp-row{padding-left:8px;padding-right:8px}.fchips{display:flex;flex-wrap:wrap;gap:6px;padding:4px 8px 10px}.fchip{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 8px;border:1px solid var(--line-strong);border-radius:13px;font-size:12px;cursor:pointer;background:#fff}.fchip:hover{background:var(--hover)}.fchip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-dark)}.tool .badge-n{min-width:16px;height:16px;border-radius:8px;background:var(--accent);color:#fff;font-size:10px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px}.column.sm{width:236px}.column.lg{width:330px}.column.sm .card-cover{height:96px}.column.lg .card-cover{height:190px}.card-pills.stack{flex-direction:column;align-items:stretch}.card-pills.stack .pill{justify-content:flex-start}.column.collapsed{width:44px;min-height:240px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:10px;padding:8px 0}.column.collapsed:hover{filter:brightness(.97)}.status-pill.vertical{writing-mode:vertical-rl;transform:rotate(180deg);height:auto;padding:10px 0;width:22px;justify-content:center}.group-head .ghead-user{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:12px}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;z-index:300;display:flex;align-items:center;justify-content:center;cursor:zoom-out}.lightbox img{max-width:94vw;max-height:92vh;border-radius:8px;box-shadow:0 20px 60px #00000080}.wb-wrap{touch-action:none}.wb-svg{position:absolute;left:0;top:0;width:1px;height:1px;overflow:visible}.wb-ep{fill:#fff;stroke:var(--accent);stroke-width:2;cursor:crosshair}.wb-el{position:absolute;box-sizing:border-box;-webkit-user-select:none;user-select:none}.wb-el.sel{outline:1.5px solid var(--accent)}.wb-el.locked{opacity:.9}.wb-note{border-radius:4px;box-shadow:0 2px 6px #00000026;padding:10px 10px 6px;display:flex;flex-direction:column;cursor:move;color:#292d34}.wb-note .wb-text{flex:1;white-space:pre-wrap;word-break:break-word;overflow:hidden}.wb-edit{width:100%;flex:1;border:none;outline:none;background:transparent;resize:none;font-family:inherit;cursor:text;color:inherit;white-space:pre-wrap}.wb-foot{display:flex;align-items:center;gap:4px;margin-top:6px;min-height:20px}.wb-frame{border-radius:12px;border:1.5px solid rgba(0,0,0,.12);cursor:move}.wb-frame-title{padding:10px 16px;text-align:center;color:#292d34}.wb-textel{padding:4px 6px;cursor:move;color:#292d34}.wb-textel .wb-text{white-space:pre-wrap;word-break:break-word}.wb-shape{display:flex;align-items:center;justify-content:center;cursor:move;color:#292d34;overflow:hidden}.wb-shape .wb-diamond{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.wb-shape-text{position:relative;padding:8px;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.wb-shape-text .wb-text{white-space:pre-wrap;word-break:break-word;width:100%}.wb-image{cursor:move;border-radius:6px;overflow:hidden;box-shadow:0 2px 8px #00000026}.wb-image img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.wb-emoji-el{display:flex;align-items:center;justify-content:center;cursor:move;line-height:1}.wb-taskcard{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001f,0 0 0 1px #0000000d;padding:8px 10px;display:flex;flex-direction:column;gap:4px;cursor:move;font-size:12px}.wb-taskcard-name{font-weight:600;font-size:13px;cursor:pointer}.wb-taskcard-name:hover{color:var(--accent-dark)}.wb-vote{position:absolute;right:6px;bottom:6px;background:#ffffffe6;border-radius:12px;padding:1px 7px;font-size:12px;box-shadow:0 1px 2px #00000026;cursor:pointer}.wb-vote.mine{outline:1.5px solid var(--accent)}.wb-note .wb-vote{position:static}.wb-selbox{position:absolute;border:1.5px dashed var(--accent);pointer-events:none}.wb-handle{position:absolute;width:9px;height:9px;background:#fff;border:1.5px solid var(--accent);border-radius:2px;z-index:5}.wb-handle.nw,.wb-handle.se{cursor:nwse-resize}.wb-handle.ne,.wb-handle.sw{cursor:nesw-resize}.wb-handle.n,.wb-handle.s{cursor:ns-resize}.wb-handle.e,.wb-handle.w{cursor:ew-resize}.wb-marquee{position:absolute;border:1px solid var(--accent);background:#7b68ee14;pointer-events:none}.wb-toolbar{position:absolute;left:50%;bottom:16px;transform:translate(-50%);display:flex;align-items:flex-end;gap:2px;background:#fff;border-radius:12px;box-shadow:var(--shadow);padding:6px 8px;z-index:6;cursor:default}.wb-tool{display:flex;flex-direction:column;align-items:center;gap:2px;width:56px;padding:4px 0 2px;border-radius:8px;color:var(--muted);position:relative}.wb-tool svg.ic{width:22px;height:22px}.wb-tool:hover{background:var(--hover);color:var(--text)}.wb-tool.on{background:var(--accent-soft);color:var(--accent-dark)}.wb-tool:disabled{opacity:.35}.wb-key{font-size:9px;color:var(--faint);height:10px}.wb-tool-label{font-size:10px}.wb-tb-sep{width:1px;height:34px;background:var(--line);margin:0 4px 8px;align-self:center}.wb-zoom{position:absolute;left:14px;bottom:16px;display:flex;align-items:center;gap:2px;background:#fff;border-radius:10px;box-shadow:var(--shadow);padding:4px 6px;z-index:6;cursor:default}.wb-emoji{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);width:360px;padding:8px}.wb-sticker-tabs{display:flex;flex-wrap:wrap;gap:2px;padding:2px 0 6px}.wb-sticker-tabs button{height:24px;padding:0 8px;border-radius:12px;font-size:11px;color:var(--muted)}.wb-sticker-tabs button.on{background:var(--accent-soft);color:var(--accent-dark)}.wb-sticker-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:2px;max-height:240px;overflow:auto}.wb-sticker-grid button{font-size:22px;height:36px;border-radius:6px}.wb-sticker-grid button:hover{background:var(--hover)}.wb-fbar{position:absolute;transform:translate(-50%);display:flex;align-items:center;gap:2px;background:#fff;border-radius:10px;box-shadow:var(--shadow);padding:4px 6px;z-index:7}.wb-fb-btn{display:inline-flex;align-items:center;gap:4px;height:30px;padding:0 8px;border-radius:6px;font-size:13px;color:var(--text)}.wb-fb-btn:hover{background:var(--hover)}.wb-fb-btn.on{background:var(--accent-soft);color:var(--accent-dark)}.wb-fb-sep{width:1px;height:20px;background:var(--line-strong);margin:0 4px}.wb-colors{top:calc(100% + 6px);left:0;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;width:150px}.wb-swatch.lg{width:28px;height:28px;border-radius:6px;cursor:pointer}.wb-swatch.lg:hover{outline:2px solid var(--accent)}.file-frame{position:relative;width:100%;height:100%;overflow:hidden;background:#fff}.file-frame iframe{position:absolute;top:0;left:0;width:1280px;height:800px;border:0;transform-origin:0 0;transform:scale(var(--pv-scale, .2));pointer-events:none;background:#fff}.card-cover .file-frame iframe{--pv-scale: .215}.column.sm .card-cover .file-frame iframe{--pv-scale: .17}.column.lg .card-cover .file-frame iframe{--pv-scale: .24}.att .thumb .file-frame iframe{--pv-scale: .125}.file-frame.pdf iframe{width:800px;height:1000px}.card-cover .file-frame.pdf iframe{--pv-scale: .33}.att .thumb .file-frame.pdf iframe{--pv-scale: .19}.card.drop-before{box-shadow:0 -3px 0 0 var(--accent),0 1px 2px #00000014,0 0 0 1px #0000000a!important}.drop-line{height:3px;border-radius:2px;background:var(--accent);margin:0 2px}.wb-wrap{font-family:IBM Plex Sans,Inter,sans-serif;background:#fafafa;background-image:radial-gradient(#cfd2d8 1.2px,transparent 1.2px);background-size:28px 28px}.wb-note{border-radius:1px;box-shadow:0 3px 6px #00000038,0 1px 2px #0000001f;padding:8px;color:#2b2f33;font-weight:600}.wb-note .wb-text{display:flex;align-items:center;justify-content:center;text-align:center}.wb-note .wb-edit{text-align:center;font-weight:600}.wb-note .wb-foot{margin-top:2px;min-height:16px}.wb-note .wb-foot .avatar.sm{width:16px;height:16px;font-size:8px;opacity:.85}.wb-frame{border-width:2.5px;border-style:solid;border-radius:8px}.wb-frame2{cursor:move;background:transparent}.wb-frame-head{position:absolute;left:0;right:0;top:0;height:76px;border:2.5px solid;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:17px;letter-spacing:.02em;color:#4a4f55;text-transform:uppercase}.wb-frame-body{position:absolute;left:0;right:0;top:92px;bottom:0;border:2.5px solid;border-radius:8px}.wb-frame2 .wb-title-input{font-size:17px;font-weight:600;text-transform:uppercase;text-align:center;width:80%}.wb-shape{font-weight:600;color:#4a4f55}.wb-shape-text .wb-text{letter-spacing:.02em}.wb-emoji-el{filter:drop-shadow(0 1px 1px rgba(0,0,0,.15))}.board.pdragging,.board.pdragging *{cursor:grabbing!important;-webkit-user-select:none;user-select:none}.pdrag-clone{position:fixed;z-index:300;pointer-events:none;transform:rotate(2.5deg);transform-origin:50% 50%;filter:drop-shadow(0 12px 24px rgba(0,0,0,.22))}.pdrag-clone>.card{margin:0;box-shadow:0 0 0 1px #0000000f}.pdrag-count{position:absolute;top:-8px;right:-8px;min-width:22px;height:22px;border-radius:11px;background:var(--accent);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 6px;box-shadow:0 2px 6px #00000040}.card.pdrag-hidden{display:none}.card-slot{border-radius:8px;background:#0000000e;border:1.5px dashed rgba(0,0,0,.18);box-sizing:border-box;transition:height .12s}.card{transition:transform .12s}.col-head{display:flex;align-items:center;gap:6px;cursor:pointer;border-radius:4px 4px 0 0;-webkit-user-select:none;user-select:none}.col-head:hover{background:var(--hover);color:var(--text)}.col-head.sorted{background:#f1f2f5;color:var(--text)}.col-head.col-over{box-shadow:inset 3px 0 0 var(--accent)}.sort-badge{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--accent);color:var(--accent);display:inline-flex;align-items:center;justify-content:center}.sort-badge svg{width:11px;height:11px}.pri-cell .pri-label{color:var(--text);font-size:13px}.cell-hit{display:inline-flex;align-items:center;min-height:26px;padding:0 6px;margin-left:-6px;border-radius:4px;cursor:pointer}.list-row:hover .cell-hit:hover{background:var(--hover)}.cf-cell{font-size:13px}.list-row:hover{background:#f3f4f6}.list-row>div:not(.name-cell){position:relative}.list-row:hover>div:not(.name-cell):hover{background:#fff;box-shadow:inset 0 0 0 1px var(--line-strong),0 1px 2px #0000000f;border-radius:6px}.list-row .row-actions .mini{width:24px;height:24px;border:1px solid var(--line-strong);background:#fff;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted)}.list-row .row-actions .mini:hover{color:var(--text);background:var(--hover)}.list-row .row-actions{gap:4px}.list-row>div.cell{cursor:pointer}.list-row>div.cell .cell-hit{min-height:26px}.col-head{position:relative}.sort-hint{width:20px;height:20px;border-radius:50%;background:#e4e6ea;color:#5b5f66;display:inline-flex;align-items:center;justify-content:center;opacity:0;flex:none}.sort-hint svg{width:12px;height:12px}.col-head:hover .sort-hint{opacity:1}.sort-hint:hover{background:#d5d8de;color:var(--text)}.sort-badge{cursor:pointer}.col-head.col-dragging{opacity:.4}.col-head[data-key]{cursor:grab}.list-view.col-reordering,.list-view.col-reordering *{cursor:grabbing!important;-webkit-user-select:none;user-select:none}.col-ghost{position:fixed;z-index:300;pointer-events:none;background:#fff;border:1px solid var(--line-strong);border-radius:6px;padding:4px 10px;font-size:12px;font-weight:500;box-shadow:var(--shadow);transform:rotate(2deg)}.auto-card{border:1px solid var(--line);border-radius:10px;background:#fff;margin-bottom:10px}.auto-card.off{opacity:.6}.auto-head{display:flex;align-items:center;gap:14px;padding:12px 14px}.auto-scope{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--muted);background:#f1f2f5;border-radius:10px;padding:1px 8px}.auto-rule{font-size:13px;color:var(--text);margin-top:4px;line-height:1.5}.auto-kw{color:var(--accent-dark);font-weight:600}.auto-sel{height:32px;border:1px solid var(--line-strong);border-radius:6px;padding:0 8px;background:#fff;max-width:260px}.auto-cond{background:#f7f8f9;border-radius:8px;padding:6px 8px 10px;margin:6px 0 4px}.run-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.dialog{max-width:90vw;width:auto;min-width:460px}.ws-logo-img{width:26px;height:26px;border-radius:7px;object-fit:cover}.login .logo-img{width:56px;height:56px;border-radius:14px;margin:0 auto 14px;display:block;object-fit:cover;box-shadow:0 4px 12px #0000001f}.wb-note{overflow:hidden}.wb-note .wb-foot{width:100%;min-width:0;overflow:hidden}.wb-note .wb-task{flex:1 1 auto;min-width:0;max-width:100%;font-size:10px;padding:1px 5px}.wb-note .wb-task .ellipsis{min-width:0}.wb-note .wb-text{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6}.ws-wordmark{height:20px;width:auto;display:block;margin-top:2px}:root[data-theme=dark]{--danger: #c0383c;--bg: #1b1d21;--sidebar: #202327;--line: #2d3137;--line-strong: #3a3f47;--text: #e6e8ec;--muted: #9aa0ab;--faint: #6b717c;--hover: #2a2e34;--accent-soft: #2f2a5a;--accent-dark: #a99bff;--shadow: 0 4px 16px rgba(0,0,0,.5), 0 0 0 1px rgba(255,255,255,.06);color-scheme:dark}[data-theme=dark] body{background:var(--bg)}[data-theme=dark] .btn{background:#24272c;border-color:var(--line-strong)}[data-theme=dark] .btn:hover{background:#2e3238}[data-theme=dark] .btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}[data-theme=dark] .nav-item:hover,[data-theme=dark] .tree-row:hover{background:#2a2e34}[data-theme=dark] .search-global input,[data-theme=dark] .search-pop,[data-theme=dark] .pop,[data-theme=dark] .ctx,[data-theme=dark] .modal,[data-theme=dark] .dialog,[data-theme=dark] .vp-wrap,[data-theme=dark] .wb-toolbar,[data-theme=dark] .wb-zoom,[data-theme=dark] .wb-fbar,[data-theme=dark] .col-ghost,[data-theme=dark] .new-card,[data-theme=dark] .composer,[data-theme=dark] .comment,[data-theme=dark] .auto-card,[data-theme=dark] .inbox-item,[data-theme=dark] .bd-chart,[data-theme=dark] .att,[data-theme=dark] .rte,[data-theme=dark] .rte-toolbar,[data-theme=dark] .login .card,[data-theme=dark] .wb-taskcard,[data-theme=dark] .mention-pop{background:#24272c;color:var(--text)}[data-theme=dark] .act-pane{background:#1f2226}[data-theme=dark] .group-head{background:var(--bg)}[data-theme=dark] .list-row:hover{background:#24272c}[data-theme=dark] .list-row:hover>div:not(.name-cell):hover{background:#2a2e34;box-shadow:inset 0 0 0 1px var(--line-strong)}[data-theme=dark] .list-row.selected{background:var(--accent-soft)!important}[data-theme=dark] .col-head.sorted{background:#2a2e34}[data-theme=dark] .add-row.editing{background:#24272c}[data-theme=dark] .card{background:#2a2e34;box-shadow:0 1px 2px #0006,0 0 0 1px #ffffff0d}[data-theme=dark] .card .pill{background:#24272c;border-color:var(--line-strong);color:var(--text)}[data-theme=dark] .card .pts,[data-theme=dark] .sub-chip{background:#353a41;color:var(--muted)}[data-theme=dark] .card-slot{background:#ffffff12;border-color:#ffffff38}[data-theme=dark] .column{background:#202327!important}[data-theme=dark] .column.over{background:var(--accent-soft)!important}[data-theme=dark] .column .add-card:hover{background:#2a2e34}[data-theme=dark] .status-ring.closed,[data-theme=dark] .avatar-stack .avatar{box-shadow:0 0 0 2px #2a2e34}[data-theme=dark] .avatar.empty{background:#24272c}[data-theme=dark] input,[data-theme=dark] textarea,[data-theme=dark] select,[data-theme=dark] .auto-sel,[data-theme=dark] .role-select,[data-theme=dark] .pop input.search,[data-theme=dark] .desc-edit,[data-theme=dark] .wb-title-input{background:#1b1d21;color:var(--text);border-color:var(--line-strong)}[data-theme=dark] .toolbar .search-in:focus-within,[data-theme=dark] .toolbar .tool:hover,[data-theme=dark] .view-tab:hover,[data-theme=dark] .menu-item:hover,[data-theme=dark] .menu-item.hl,[data-theme=dark] .icon-btn:hover,[data-theme=dark] .prop .val:hover,[data-theme=dark] .desc-view:hover,[data-theme=dark] .rte-toolbar button:hover,[data-theme=dark] .wb-tool:hover,[data-theme=dark] .wb-fb-btn:hover,[data-theme=dark] .vp-row:hover,[data-theme=dark] .cell-hit:hover,[data-theme=dark] .fchip:hover,[data-theme=dark] .people-row:hover,[data-theme=dark] .inbox-item:hover{background:#2e3238}[data-theme=dark] .menu-item.on,[data-theme=dark] .tool.on,[data-theme=dark] .view-tab.active,[data-theme=dark] .fchip.on,[data-theme=dark] .wb-tool.on,[data-theme=dark] .wb-fb-btn.on,[data-theme=dark] .rte-toolbar button.on,[data-theme=dark] .seg button.on,[data-theme=dark] .inbox-tabs button.on,[data-theme=dark] .seg-tabs button.on,[data-theme=dark] .act-head .tabs button.on{background:var(--accent-soft);color:var(--accent-dark)}[data-theme=dark] .seg-tabs,[data-theme=dark] .sort-hint,[data-theme=dark] .auto-scope,[data-theme=dark] .auto-cond,[data-theme=dark] .roles-help,[data-theme=dark] .inbox-item .quote,[data-theme=dark] .bd-head .stat,[data-theme=dark] .sprint-stats>div,[data-theme=dark] .md code,[data-theme=dark] .md pre,[data-theme=dark] .md th,[data-theme=dark] .rte .ProseMirror code,[data-theme=dark] .rte .ProseMirror pre,[data-theme=dark] .rte .ProseMirror th,[data-theme=dark] .att .thumb,[data-theme=dark] .ext-badge,[data-theme=dark] .wb-task,[data-theme=dark] .composer .pending .file,[data-theme=dark] .type-chip:hover,[data-theme=dark] .task-title:hover{background:#2a2e34;color:var(--text)}[data-theme=dark] .task-title:focus{background:#1b1d21}[data-theme=dark] .toast{background:#e6e8ec;color:#1b1d21}[data-theme=dark] .toast.err{background:var(--danger);color:#fff}[data-theme=dark] .toast.undo{background:#e6e8ec;color:#1b1d21}[data-theme=dark] .undo-btn{color:var(--accent-dark);background:#0000000f}[data-theme=dark] .bulk-bar{background:#e6e8ec;color:#1b1d21}[data-theme=dark] .bulk-bar .tool{color:#3b3f46}[data-theme=dark] .bulk-bar .tool:hover{background:#00000014}[data-theme=dark] .drag-ghost,[data-theme=dark] .pdrag-clone>.card{background:#2a2e34;color:var(--text)}[data-theme=dark] .sprint-badge.active{background:#163d26;color:#6fd394}[data-theme=dark] .sprint-badge.planned{background:#2a2e34}[data-theme=dark] .sprint-badge.completed{background:var(--accent-soft)}[data-theme=dark] .people-status.on:before{background:#4ec47a}[data-theme=dark] .login{background:linear-gradient(160deg,#1f1c2e,#1b1d21,#16212a)}[data-theme=dark] .modal-bg{background:#0009}[data-theme=dark] .wb-wrap{background:#1b1d21;background-image:radial-gradient(#3a3f47 1.2px,transparent 1.2px)}[data-theme=dark] .wb-shape{color:#292d34}[data-theme=dark] .file-frame,[data-theme=dark] .card-cover{background:#1b1d21}[data-theme=dark] .status-pill{filter:saturate(.95)}[data-theme=dark] .switch{background:#3a3f47}[data-theme=dark] .switch.on{background:var(--accent)}[data-theme=dark] .md a,[data-theme=dark] a{color:var(--accent-dark)}[data-theme=dark] .ws-wordmark{filter:invert(1) brightness(1.6)}.menu-group .menu-item{padding-left:16px}[data-theme=dark] .date-cell.overdue,[data-theme=dark] .menu-item.danger,[data-theme=dark] .btn.danger{color:#e06b6f}.int-h{font-size:14px;margin:22px 0 10px}.code-block{position:relative;background:#f1f2f5;border-radius:8px;padding:12px 44px 12px 14px;font-size:12.5px;overflow:auto;white-space:pre-wrap;word-break:break-all}.code-block .copy{position:absolute;top:8px;right:8px}.token-reveal{border:1px solid var(--accent);background:var(--accent-soft);border-radius:10px;padding:12px 14px;margin:10px 0}.token-code{font-family:ui-monospace,Menlo,monospace;font-size:13px;background:#fff;border-radius:6px;padding:6px 10px;word-break:break-all}.token-list{border:1px solid var(--line);border-radius:10px;margin-top:10px}.token-row{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line)}.token-row:last-child{border-bottom:none}.int-steps{padding-left:22px;line-height:1.7}.int-list{padding-left:18px;line-height:1.7}[data-theme=dark] .code-block,[data-theme=dark] .token-code{background:#24272c}.perm-table{border:1px solid var(--line);border-radius:10px;overflow:hidden}.perm-head,.perm-row{display:grid;grid-template-columns:1fr 90px 90px 90px 90px;align-items:center;padding:8px 14px;border-bottom:1px solid var(--line)}.perm-head{font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em;background:#f7f8f9}.perm-head span:not(:first-child),.perm-cell{text-align:center;display:flex;justify-content:center}.perm-group{padding:10px 14px 4px;font-size:12px;font-weight:600;color:var(--accent-dark)}.perm-row:last-child{border-bottom:none}.perm-row:hover{background:#fafbfc}.switch.locked{opacity:.45;cursor:default}[data-theme=dark] .perm-head,[data-theme=dark] .perm-row:hover{background:#24272c}.card img,.card video,.card .file-frame,.card .card-cover{-webkit-user-drag:none;-webkit-user-select:none;user-select:none;pointer-events:none}.card{-webkit-user-select:none;user-select:none}
