:where(.tm-shell,.drawer-dock) *{box-sizing:border-box}.tm-shell{background:var(--bg);min-height:100vh;color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,sans-serif}:where(.tm-shell,.drawer-dock) :where(button,a,input,select,textarea,[tabindex],[role=button]):focus-visible{box-shadow:0 0 0 3px var(--accent-soft), 0 0 0 1px var(--accent);border-radius:var(--radius);outline:none}:where(.tm-shell,.drawer-dock) :where(input,select,textarea):focus{outline:none}:where(.tm-shell,.drawer-dock) *{scrollbar-width:thin;scrollbar-color:#cfd2d8 transparent}:where(.tm-shell,.drawer-dock) ::-webkit-scrollbar{width:10px;height:10px}:where(.tm-shell,.drawer-dock) ::-webkit-scrollbar-track{background:0 0}:where(.tm-shell,.drawer-dock) ::-webkit-scrollbar-thumb{background:#cfd2d8 padding-box content-box;border:2px solid #0000;border-radius:8px}:where(.tm-shell,.drawer-dock) ::-webkit-scrollbar-thumb:hover{background:#b6bac2 padding-box content-box}.t-micro{text-transform:uppercase;letter-spacing:.6px;color:var(--text-3);font-size:11px;font-weight:700}.t-label{color:var(--text-2);font-size:11.5px}.t-body{color:var(--text);font-size:12.5px}.tabnum{font-variant-numeric:tabular-nums}.pill{text-overflow:ellipsis;white-space:nowrap;border-radius:11px;align-items:center;gap:4px;max-width:100%;padding:2px 9px;font-size:11.5px;font-weight:600;line-height:1.5;display:inline-flex;overflow:hidden}.pill-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.pill.clickable{cursor:pointer;transition:filter .1s}.pill.clickable:hover{filter:brightness(.96)}:where(.tm-shell,.drawer-dock) .btn{border-radius:var(--radius);cursor:pointer;transition:all .12s var(--ease);border:1px solid #0000;align-items:center;gap:5px;padding:6px 12px;font-family:inherit;font-size:12.5px;font-weight:500;display:inline-flex}:where(.tm-shell,.drawer-dock) .btn-primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-accent)}:where(.tm-shell,.drawer-dock) .btn-primary:hover{background:var(--accent-hover);box-shadow:var(--shadow-accent);transform:translateY(-1px)}:where(.tm-shell,.drawer-dock) .btn-primary:active{transform:translateY(0)}:where(.tm-shell,.drawer-dock) .btn-secondary{color:var(--text);border-color:var(--border-strong);background:#fff}:where(.tm-shell,.drawer-dock) .btn-secondary:hover{background:var(--bg);border-color:var(--text-3)}.btn-ghost{color:var(--text-2);background:0 0}.btn-ghost:hover{background:var(--surface-3);color:var(--text)}.btn-success{background:var(--ok);color:#fff}.btn-success:hover{filter:brightness(.94)}:where(.tm-shell,.drawer-dock) .btn-danger{color:var(--err);background:#fff;border-color:#fecaca}:where(.tm-shell,.drawer-dock) .btn-danger:hover{background:var(--err-bg)}.segmented{background:var(--surface-3);border:1px solid var(--border);border-radius:8px;gap:2px;padding:2px;display:inline-flex}.segmented .seg{color:var(--text-2);cursor:pointer;transition:all .12s var(--ease);white-space:nowrap;background:0 0;border:0;border-radius:6px;padding:5px 11px;font-family:inherit;font-size:12px;font-weight:500}.segmented .seg:hover{color:var(--text)}.segmented .seg.on{box-shadow:var(--shadow-sm);font-weight:700}.bg-green{color:#14532d;background:#dcfce7}.bg-amber{color:#78350f;background:#fef3c7}.bg-red{color:#7f1d1d;background:#fee2e2}.bg-blue{color:#1e3a8a;background:#dbeafe}.bg-purple{color:#4c1d95;background:#ede9fe}.bg-pink{color:#831843;background:#fce7f3}.bg-orange{color:#7c2d12;background:#ffedd5}.bg-cyan{color:#155e75;background:#cffafe}.bg-gray{color:#495057;background:#f1f3f5}.bg-indigo{color:#3730a3;background:#e0e7ff}.bg-teal{color:#115e59;background:#ccfbf1}.bg-rose{color:#881337;background:#ffe4e6}.bg-lime{color:#365314;background:#ecfccb}.av-1{background:#e64980}.av-2{background:#4c6ef5}.av-3{background:#15aabf}.av-4{background:#fd7e14}.av-5{background:#82c91e}.av-6{background:#be4bdb}.av-7{background:#228be6}.av-8{background:#fa5252}.av-9{background:#20c997}.avatar-c{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.sticky-head th{z-index:4;background:var(--surface-2);position:sticky;top:0}.col-freeze-0{z-index:5;background:var(--surface-2);position:sticky;left:0}.cell-freeze-0{z-index:2;background:#fff;position:sticky;left:0}.col-freeze-1{z-index:5;background:var(--surface-2);box-shadow:2px 0 0 var(--border);position:sticky}.cell-freeze-1{z-index:2;box-shadow:2px 0 0 var(--border);background:#fff;position:sticky}.hover-lift{transition:box-shadow .12s var(--ease), border-color .12s var(--ease), transform .12s var(--ease)}.hover-lift:hover{box-shadow:var(--shadow-md);border-color:var(--accent)}.empty-state{color:var(--text-3);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:64px 24px;display:flex}.empty-state .es-icon{background:var(--accent-soft);width:48px;height:48px;color:var(--accent);border-radius:14px;justify-content:center;align-items:center;display:inline-flex}.empty-state .es-title{color:var(--text-2);font-size:14px;font-weight:600}.empty-state .es-sub{color:var(--text-3);max-width:320px;font-size:12.5px}.trk-toast{color:#fff;box-shadow:var(--shadow-lg);opacity:0;transition:.2s var(--ease);z-index:400;pointer-events:none;background:#1d1f25;border-radius:9px;align-items:center;gap:8px;padding:9px 16px;font-size:12.5px;font-weight:600;display:inline-flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%)translateY(10px)}.trk-toast.show{opacity:1;transform:translate(-50%)translateY(0)}.trk-toast .tt-dot{background:var(--ok);border-radius:50%;width:7px;height:7px}.trk-toast.err .tt-dot{background:var(--err)}.saved-ind{color:var(--text-3);white-space:nowrap;align-items:center;gap:6px;font-size:11.5px;display:inline-flex}.saved-ind .dot{background:var(--ok);border-radius:50%;width:7px;height:7px;transition:background .2s}.saved-ind.saving .dot{background:var(--amber);animation:1s infinite pulseDot}@keyframes mvFlash{0%{background:var(--accent-soft)}to{background:0 0}}@keyframes cardLand{0%{box-shadow:0 0 0 2px var(--accent);transform:scale(.94)}to{transform:scale(1)}}@keyframes dpFade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseDot{0%,to{opacity:1}50%{opacity:.4}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes rowIn{0%{opacity:0;background:var(--accent-soft)}to{opacity:1;background:0 0}}.row-in>td{animation:rowIn .5s var(--ease)}.spin{animation:.7s linear infinite spin}.tv-head{z-index:6;background:var(--surface-2);border-bottom:1px solid var(--border-strong);position:sticky;top:0}.tv-head .tv-hcell{text-transform:uppercase;letter-spacing:.5px;height:34px;color:var(--text-3);white-space:nowrap;-webkit-user-select:none;user-select:none;align-items:center;gap:5px;padding:0 12px;font-size:11px;font-weight:700;display:flex}.tv-head .tv-hcell.sortable{cursor:pointer}.tv-head .tv-hcell.sortable:hover{color:var(--text)}.tv-head .tv-hcell.active{color:var(--accent)}.tv-hcell .caret{font-size:8px}.tv-hcell .col-menu{width:18px;height:18px;color:var(--text-3);cursor:pointer;opacity:0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;font-size:13px;line-height:1;transition:opacity .1s,background .1s;display:inline-flex}.tv-head .tv-hcell:hover .col-menu{opacity:1}.tv-hcell .col-menu:hover{background:var(--surface-3);color:var(--text)}.tv-head .tv-hcell{position:relative}.tv-hcell[draggable=true]{cursor:grab}.tv-hcell.droptarget{box-shadow:inset 2px 0 0 var(--accent)}.tv-hcell .col-resize{cursor:col-resize;opacity:0;z-index:2;width:7px;height:100%;position:absolute;top:0;right:-3px}.tv-hcell .col-resize:after{content:"";background:var(--accent);border-radius:2px;width:2px;position:absolute;top:6px;bottom:6px;left:3px}.tv-head .tv-hcell:hover .col-resize{opacity:.5}.tv-hcell .col-resize:hover{opacity:1!important}.tv-row{transition:background 80ms}.tv-row:hover{background:var(--row-hover)}.tv-row.sel{background:var(--accent-soft)}.tv-row.sel:hover{background:#ece1f5}.tv-cell{border-bottom:1px solid var(--border);border-right:1px solid var(--border);align-items:center;min-width:0;padding:0 10px;display:flex}.tv-rownum{color:var(--text-3);font-variant-numeric:tabular-nums;cursor:pointer;white-space:nowrap;flex-wrap:nowrap;font-size:11px}.tv-rownum .rn-open{color:var(--accent);min-width:12px;font-size:12px;font-weight:700;display:none}.tv-row:hover .tv-rownum .rn-num{display:none}.tv-row:hover .tv-rownum .rn-open{display:inline}.tv-rownum .rn-pin{opacity:0;flex-shrink:0;width:0;margin-left:auto;padding:0;transition:opacity .12s;overflow:hidden}.tv-row:hover .tv-rownum .rn-pin,.tv-rownum .rn-pin:focus-visible,.tv-rownum .rn-pin.is-pinned{opacity:1;width:auto;padding:2px;overflow:visible}.tv-rownum .rn-pin:hover{filter:none!important}.tv-subcell .sub-pin{opacity:0;flex-shrink:0;width:0;padding:0;transition:opacity .12s;overflow:hidden}.tv-subrow:hover .tv-subcell .sub-pin,.tv-subcell .sub-pin:focus-visible,.tv-subcell .sub-pin.is-pinned{opacity:1;width:auto;padding:2px;overflow:visible}.tv-subcell .sub-pin:hover{filter:none!important}.proj-ic{color:#fff;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;font-weight:700;display:inline-flex}.status-text{cursor:pointer;align-items:center;gap:6px;font-size:12.5px;font-weight:500;display:inline-flex}.status-text .sd{border-radius:50%;flex-shrink:0;width:7px;height:7px}.tv-freeze{z-index:3;background:inherit;position:sticky}.tv-head .tv-hcell.tv-freeze{z-index:7;position:sticky}.tv-row .tv-freeze{background:#fff}.tv-row:hover .tv-freeze{background:var(--row-hover)}.tv-row.sel .tv-freeze{background:var(--accent-soft)}.tv-head .tv-freeze{z-index:7;background:var(--surface-2)}.tv-freeze.shadow{box-shadow:2px 0 0 var(--border)}.tv-ccbadge{color:var(--accent);background:#ebdef4;border-radius:999px;flex-shrink:0;align-items:center;gap:1px;padding:0 4px;font-size:8.5px;font-weight:700;display:inline-flex}.tv-ccbadge .cc-faces{align-items:center;margin-right:3px;display:inline-flex}.tv-ccbadge .cc-faces .avatar-c{margin-right:-4px;box-shadow:0 0 0 1.5px #ebdef4}.tv-ccbadge .cc-faces .avatar-c:last-child{margin-right:0}.tv-subtoggle{color:var(--accent);cursor:pointer;background:#ebdef4;border-radius:999px;flex-shrink:0;align-items:center;gap:1px;padding:0 4px 0 3px;font-size:8.5px;font-weight:700;display:inline-flex}.tv-subtoggle:hover{background:#ddd0ea}.sub-title-input{min-width:120px;font:inherit;color:#2a2140;background:0 0;border:0;border-radius:4px;outline:0;flex:0 300px;padding:2px 3px;font-size:12.5px}.sub-title-input:focus{box-shadow:0 0 0 2px var(--accent-soft);background:#fff}.sub-title-input.done{color:#6b6f7a;text-decoration:line-through}.title-sub-badge{color:#6b5e86;cursor:pointer;vertical-align:middle;background:#efeaf7;border:1px solid #e0d7ef;border-radius:999px;flex-shrink:0;align-items:center;gap:2px;margin-left:8px;padding:1px 7px;font-size:11px;font-weight:700;display:inline-flex}.title-sub-badge:hover{color:var(--accent);background:#e4dcf3}.tv-subrow{background:#fbfaff;display:grid}.tv-subrow .sub-rownum{z-index:2;border-bottom:1px solid var(--border);background:#f4f1fa;position:sticky;left:0}.tv-subcell{border-bottom:1px solid var(--border);z-index:1;align-items:center;gap:8px;width:max-content;min-width:0;padding:5px 10px 5px 18px;font-size:12.5px;display:flex;position:sticky;left:102px}.tv-subcell .sub-elbow{color:#b7abcf;flex-shrink:0;font-size:12px}.tv-subcell .sub-check{color:#fff;cursor:pointer;background:#fff;border:1.5px solid #c9bde0;border-radius:4px;flex:none;justify-content:center;align-items:center;width:15px;height:15px;font-size:10px;display:inline-flex}.tv-subcell .sub-check.done{background:var(--ok);border-color:var(--ok)}.tv-subcell .sub-title{cursor:pointer;color:#2a2140;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tv-subcell .sub-title.done{color:#6b6f7a;text-decoration:line-through}.tv-subcell .sub-tag{letter-spacing:.04em;text-transform:uppercase;color:#5e4f80;background:#efeaf7;border-radius:4px;flex-shrink:0;margin-left:auto;padding:1px 6px;font-size:9.5px;font-weight:700}.tv-subcell .sub-grip{width:11px;font-size:10px}.tv-subrow:hover .sub-grip{opacity:.75}.tv-subrow.dragging{opacity:.45}.tv-subrow.drop-above .tv-subcell{box-shadow:inset 0 2px 0 0 var(--accent)}.tv-subrow.drop-below .tv-subcell{box-shadow:inset 0 -2px 0 0 var(--accent)}.tv-rownum .row-grip{opacity:0;width:0;color:var(--text-3);letter-spacing:-1px;cursor:grab;background:0 0;border:0;flex-shrink:0;padding:0;font-size:11px;line-height:1;transition:opacity .12s;overflow:hidden}.tv-row:hover .tv-rownum .row-grip{opacity:.75;width:9px;overflow:visible}.tv-rownum .row-grip:focus-visible{opacity:1;outline:2px solid var(--accent);outline-offset:1px;border-radius:4px;width:9px;overflow:visible}.tv-rownum .row-grip:active{cursor:grabbing}.tv-row.dragging{opacity:.45}.tv-row.drop-above .tv-cell{box-shadow:inset 0 2px 0 0 var(--accent)}.tv-row.drop-below .tv-cell{box-shadow:inset 0 -2px 0 0 var(--accent)}.tv-addrow{color:var(--text-3);cursor:pointer;border-top:1px solid var(--border);align-items:center;gap:7px;padding:9px 14px;font-size:12.5px;transition:color .1s,background .1s;display:flex}.tv-addrow:hover{color:var(--accent);background:var(--row-hover)}@keyframes drawerIn{0%{opacity:.4;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.drawer-dock{animation:.18s overlayIn}.drawer-panel{animation:drawerIn .26s var(--ease);border-left:1px solid var(--border);position:relative;box-shadow:-18px 0 48px -24px #05070b38,-1px 0 #05070b0a}.drawer-dock .hs-prail{background:var(--panel);box-shadow:-18px 0 48px -24px #05070b38}.drawer-resize{cursor:ew-resize;z-index:60;flex-shrink:0;justify-content:center;align-items:center;width:9px;height:100%;display:flex}.drawer-resize:after{content:"";background:#ffffff8c;border-radius:3px;width:3px;height:46px;transition:background .15s,height .15s;box-shadow:0 0 0 1px #0f11151f}.drawer-resize:hover:after{background:#fff;height:72px}.drawer-head{border-bottom:1px solid var(--border);background:linear-gradient(#fcfaff,#fff);margin:-22px -24px 0;padding:18px 24px 16px}.drawer-section{border-top:1px solid #f1f3f5;padding:16px 0 4px}.drawer-section-label{text-transform:uppercase;letter-spacing:.6px;color:var(--text-3);margin-bottom:10px;font-size:11px;font-weight:700}.dp-prop{grid-template-columns:118px 1fr;align-items:center;gap:10px;padding:5px 0;font-size:13px;display:grid}.dp-prop .dp-k{color:var(--text-3);align-items:center;gap:6px;font-size:11.5px;display:inline-flex}.dfield{border:1px solid var(--border);font:inherit;width:100%;color:var(--text);background:#fff;border-radius:7px;outline:none;padding:7px 9px;font-size:13px;transition:border-color .12s,box-shadow .12s}.dfield:hover{border-color:var(--border-strong)}.dfield:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.td-subtabs{gap:4px;padding:2px 0 10px;display:flex}.td-subtab{cursor:pointer;color:var(--text-muted);background:0 0;border:0;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:12.5px;font-weight:600;display:inline-flex}.td-subtab:hover{background:var(--surface-3);color:var(--text)}.td-subtab.on{background:var(--accent-soft);color:var(--accent)}.td-subtab .ct{opacity:.75;font-size:11px;font-weight:600}.td-actscroll{overscroll-behavior:contain;max-height:340px;padding-right:4px;overflow-y:auto}.dp-sec-head{letter-spacing:-.01em;color:var(--text);border-top:1px solid var(--surface-3);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:18px 0 9px;font-size:13px;font-weight:600;display:flex}.dp-sec-head .ct{color:var(--text-3);margin-left:2px;font-size:11px;font-weight:600}.dp-sub{border-bottom:1px solid var(--surface-3);align-items:center;gap:10px;padding:9px 2px;font-size:13px;display:flex}.dp-cbox{border:1.5px solid var(--border-strong);cursor:pointer;background:#fff;border-radius:5px;flex:none;width:17px;height:17px;position:relative}.dp-cbox.done{background:var(--ok);border-color:var(--ok)}.dp-cbox.done:after{content:"✓";color:#fff;place-items:center;font-size:11px;display:grid;position:absolute;inset:0}.dp-sub .dp-slbl{min-width:0;color:var(--text);font:inherit;text-transform:none;letter-spacing:normal;background:0 0;border:0;outline:0;flex:1;font-size:13px;font-weight:400}.dp-sub.done .dp-slbl{color:var(--text-3);text-decoration:line-through}.dp-sub .sa{align-items:center;gap:8px;margin-left:auto;display:flex}.dp-sdue{color:var(--amber);background:var(--amber-bg);white-space:nowrap;border:1px solid #f0d0bb;border-radius:6px;padding:2px 7px;font-size:11px}.dp-sdue.empty{color:var(--text-3);border-color:var(--border);background:#fff}.dp-sremove{color:var(--text-3);cursor:pointer;background:0 0;border:0;font-size:15px;line-height:1}.dp-sremove:hover{color:var(--err)}.dp-subadd{color:var(--accent);cursor:pointer;background:0 0;border:0;margin-top:10px;padding:4px 0;font-size:12.5px;font-weight:700}.dp-subadd:hover{text-decoration:underline}.dp-sgrip{width:12px;color:var(--text-3);letter-spacing:-1px;cursor:grab;opacity:0;background:0 0;border:0;flex:none;padding:0;font-size:11px;line-height:1;transition:opacity .12s}.dp-sub:hover .dp-sgrip{opacity:.75}.dp-sgrip:focus-visible{opacity:1;outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.dp-sgrip:active{cursor:grabbing}.dp-sub.dragging{opacity:.4}.dp-sub.drop-above{box-shadow:inset 0 2px 0 0 var(--accent)}.dp-sub.drop-below{box-shadow:inset 0 -2px 0 0 var(--accent)}.dp-cmt{border-bottom:1px solid var(--surface-3);gap:10px;padding:10px 0;display:flex;position:relative}.dp-cmt .cb{flex:1;min-width:0}.dp-cmt .ch{font-size:12.5px}.dp-cmt .ch b{color:var(--text);font-weight:800}.dp-cmt .ch .t{color:var(--text-3);margin-left:6px;font-size:11px}.dp-cmt .ctxt{color:var(--text-2);word-break:break-word;margin-top:3px;font-size:12.5px;line-height:1.5}.dp-cmt .ctxt a{color:var(--accent);font-weight:600}.dp-cmt .ctxt ul,.dc-cmt-body ul{margin:4px 0;padding-left:20px;list-style:outside}.dp-cmt .ctxt ol,.dc-cmt-body ol{margin:4px 0;padding-left:20px;list-style:decimal}.dp-cmt .cacts{gap:4px;display:none;position:absolute;top:8px;right:0}.dp-cmt:hover .cacts{display:flex}.dp-cmt .cacts button{background:var(--surface-3);cursor:pointer;color:var(--text-2);border:0;border-radius:6px;padding:3px 7px;font-size:11px}.dp-cmt .cacts button:hover{background:#e9ebef}.dp-reacts{flex-wrap:wrap;gap:5px;margin-top:6px;display:flex}.dp-react{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;display:inline-flex}.dp-react.on{background:var(--accent-soft);border-color:#e6c4d4}.dp-react.add{color:var(--text-3)}.dp-ccomp{border:1px solid var(--border);background:#fff;border-radius:10px;margin-top:12px;overflow:hidden}.dp-ccomp:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.dp-ccomp-tb{background:var(--surface-2);border-bottom:1px solid #f1f3f5;align-items:center;gap:2px;padding:5px 6px;display:flex}.dp-ccomp-tb button{color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:6px;min-width:24px;padding:4px 7px;font-size:12px;font-weight:700}.dp-ccomp-tb button:hover{background:var(--surface-3)}.dp-ccomp-tb .hint{color:var(--text-3);margin-left:auto;font-size:11px;font-weight:500}.dp-ccomp-area{min-height:40px;max-height:150px;color:var(--text);outline:0;padding:9px 12px;font-size:13px;line-height:1.5;overflow:auto}.dp-ccomp-area:empty:before{content:"Comment…  (@ to mention)";color:var(--text-3)}.dp-ccomp-area a,.dc-mi-area a{color:var(--accent);cursor:pointer;font-weight:600;text-decoration:underline}.dp-ccomp-foot{justify-content:flex-end;padding:6px;display:flex}.td-headwrap{z-index:6;background:var(--surface-panel);border-bottom:1px solid var(--border);margin:-18px -24px 0;padding:18px 24px 6px;position:sticky;top:-18px}.td-headwrap.unpinned{border-bottom:none;position:static}.td-top{align-items:center;gap:8px;padding:4px 0 12px;display:flex}.td-crumb{color:var(--text-2);align-items:center;gap:6px;min-width:0;font-size:12px;display:inline-flex}.td-back{background:var(--surface-3);color:var(--text-2);cursor:pointer;border:0;border-radius:6px;flex-shrink:0;padding:3px 8px;font-size:11.5px;font-weight:600}.td-back:hover{color:var(--text);background:#e9ebef}.td-sp{align-items:center;gap:3px;margin-left:auto;display:flex}.td-saved{color:var(--text-3);margin-right:4px;font-size:11px;font-weight:600}.td-iconbtn{cursor:pointer;width:28px;height:28px;color:var(--text-2);background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;font-size:13px;display:inline-flex}.td-iconbtn:hover{background:var(--surface-3);color:var(--text)}.td-followbtn{border:1px solid var(--border-strong);cursor:pointer;color:var(--text-2);background:#fff;border-radius:7px;padding:4px 10px;font-size:12px;font-weight:600}.td-followbtn.on{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.td-flow{flex-wrap:wrap;align-items:center;gap:12px;padding:4px 0 14px;display:flex}.td-title{letter-spacing:-.02em;width:100%;color:var(--text);letter-spacing:-.3px;background:0 0;border:0;border-radius:6px;outline:0;padding:2px 0 4px;font-size:23px;font-weight:700;line-height:1.25}.td-title:focus{background:var(--surface-2);box-shadow:0 0 0 2px var(--border)}.td-subttl{color:var(--text-3);margin-bottom:8px;font-size:12px}.td-detailtoggle{color:var(--text-2);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:8px 0 4px;font-size:12.5px;font-weight:800;display:inline-flex}.td-detailtoggle:hover{color:var(--text)}.td-fields{grid-template-columns:132px 1fr;align-items:center;gap:0 14px;padding:4px 0 14px;display:grid}.td-fields .fl,.td-fields .fv{border-bottom:1px solid var(--surface-3);min-height:30px;padding:7px 0}.td-fields>:nth-last-child(-n+2){border-bottom:0}.td-fields .fl{color:var(--text-3);align-self:stretch;align-items:center;font-size:11.5px;display:flex}.td-fields .fv{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.td-tabs{border-bottom:1px solid var(--border);z-index:5;background:#fff;flex-shrink:0;gap:2px;display:flex;position:sticky;top:0;overflow-x:auto}.td-tabs button{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:11px 13px;font-size:13px;font-weight:500;transition:color .12s,border-color .12s}.td-tabs button:hover{color:var(--text-2)}.td-tabs button.on{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.td-tabct{color:var(--accent);background:var(--accent-soft);border-radius:999px;margin-left:4px;padding:1px 6px;font-size:11px;font-weight:800}.td-pane{animation:dpFade .16s var(--ease);padding:16px 0 24px}.td-layout-toggle{color:var(--text-3);align-items:center;gap:6px;font-size:11.5px;display:inline-flex}.td-summ{color:var(--text-2);align-items:center;gap:8px;margin-left:10px;font-size:12px;display:inline-flex}.td-trashed{color:var(--err);background:var(--err-bg);border:1px solid var(--err);border-radius:6px;align-items:center;gap:6px;margin:0 0 8px;padding:8px 10px;font-size:12px;font-weight:600;display:flex}.td-subof{color:var(--text-2);border-bottom:1px solid #f1f3f5;align-items:center;gap:6px;margin-bottom:6px;padding:8px 0 10px;font-size:12px;display:flex}.td-subof a{color:var(--accent);cursor:pointer;font-weight:700;text-decoration:none}.td-subof a:hover{text-decoration:underline}.td-subtag{color:var(--accent);background:var(--accent-soft);text-transform:uppercase;letter-spacing:.4px;border:1px solid #e0d7ef;border-radius:5px;padding:1px 6px;font-size:9.5px;font-weight:800}.rte{border:1px solid var(--border);background:#fff;border-radius:10px;overflow:hidden}.rte:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.rte-tb{background:var(--surface-2);border-bottom:1px solid #f1f3f5;flex-wrap:wrap;align-items:center;gap:2px;padding:6px 8px;display:flex}.rte-tb button{color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:6px;min-width:24px;padding:4px 8px;font-size:13px;font-weight:700}.rte-tb button:hover{background:var(--surface-3)}.rte-tb .sep{background:var(--border);width:1px;height:18px;margin:0 3px}.rte-area{min-height:150px;max-height:640px;color:var(--text);resize:vertical;outline:0;padding:12px 14px;font-size:13.5px;line-height:1.6;overflow:auto}.rte-area td,.rte-area th{position:relative}.rte-handle{z-index:6;background:var(--surface-3);border:1px solid var(--border);color:var(--text-3);-webkit-user-select:none;user-select:none;cursor:grab;justify-content:center;align-items:center;font-size:9px;font-weight:800;line-height:1;display:flex;position:absolute}.rte-handle:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.rte-handle.col{border-radius:4px 4px 0 0;height:11px}.rte-handle.row{border-radius:4px 0 0 4px;width:11px}.rte-drop{z-index:7;background:var(--accent);pointer-events:none;border-radius:2px;position:absolute}.rte-drop.col{width:3px;margin-left:-1.5px}.rte-drop.row{height:3px;margin-top:-1.5px}.rte-area:empty:before{content:attr(data-ph);color:var(--text-3)}.rte-area h2{margin:8px 0 4px;font-size:17px;font-weight:700}.rte-area h3{margin:6px 0 3px;font-size:15px;font-weight:700}.rte-area ul,.rte-area ol{margin:6px 0;padding-left:22px}.rte-area ul:not(.rte-check){list-style:outside}.rte-area ol{list-style:decimal}.rte-area ul:not(.rte-check) ul{list-style:circle}.rte-area ol ol{list-style:lower-alpha}.rte-area li{margin:2px 0}.rte-area blockquote{border-left:3px solid var(--border-strong);color:var(--text-2);margin:6px 0;padding:2px 0 2px 12px}.rte-area table{border-collapse:collapse;width:100%;margin:8px 0}.rte-area td,.rte-area th{border:1px solid var(--border);padding:6px 10px}.rte-area th{background:var(--surface-2);font-weight:700}.rte-area a{color:var(--accent);cursor:pointer;font-weight:600;text-decoration:underline}.rte-area .mention,.dp-cmt .mention{color:var(--accent);background:var(--accent-soft);border-radius:4px;padding:0 3px;font-weight:700}.rte-mention-pop{z-index:120;border:1px solid var(--border);box-shadow:var(--shadow-lg);background:#fff;border-radius:8px;min-width:180px;padding:4px;position:absolute;bottom:8px;left:14px}.td-layout{align-items:center;gap:8px;margin:0;padding:0;display:inline-flex}.td-layout .seg-lbl{border-radius:6px;padding:3px 7px}.td-layout .seg-lbl:hover{background:var(--surface-3);color:var(--text-2)}.td-layout .seg-lbl.on{background:var(--accent-soft)}.td-layout .lbl{color:var(--text-3);font-size:12px;font-weight:600}.td-layout .seg-lbl{color:var(--text-3);cursor:pointer;background:0 0;border:0;padding:2px 4px;font-size:12.5px;font-weight:700}.td-layout .seg-lbl.on{color:var(--accent)}.td-switch{background:var(--surface-3);border:1px solid var(--border);cursor:pointer;border-radius:999px;width:40px;height:22px;padding:0;transition:background .15s;position:relative}.td-switch.on{background:var(--accent);border-color:var(--accent)}.td-switch .knob{background:#fff;border-radius:50%;width:16px;height:16px;transition:left .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000040}.td-switch.on .knob{left:20px}.td-toast{color:#fff;z-index:200;background:#1d1f25;border-radius:8px;padding:9px 16px;font-size:12.5px;font-weight:600;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000047}.modal-overlay{z-index:120;background:#0f11156b;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{box-shadow:var(--shadow-lg);background:#fff;border-radius:14px;width:min(440px,96vw);padding:22px 24px}.modal-title{color:var(--text);margin:0 0 16px;font-size:16px;font-weight:700}.modal-input{border:1px solid var(--border);width:100%;font:inherit;color:var(--text);border-radius:8px;outline:none;padding:9px 11px;font-size:14px}.modal-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.modal-foot{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.doc-card{border:1px solid var(--border);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;transition:border-color .12s;display:flex}.doc-card:hover{border-color:var(--accent)}.doc-ic{color:#fff;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;font-weight:700;display:inline-flex}.doc-meta{color:var(--text-3);margin-top:1px;font-size:11px}.doc-add{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:6px 0;font-size:12.5px;font-weight:700}.doc-add:hover{text-decoration:underline}.doc-num{text-align:center;width:20px;color:var(--text-3);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:12px;font-weight:700}.doc-open-btn{border:1px solid var(--border);background:var(--panel);color:var(--accent);cursor:pointer;border-radius:7px;flex-shrink:0;padding:4px 10px;font-family:inherit;font-size:11.5px;font-weight:600}.doc-open-btn:hover{background:var(--accent-soft)}.files-drop{border:1.5px dashed var(--border-strong);text-align:center;color:var(--text-3);border-radius:12px;padding:30px;font-size:13px}.files-drop b{color:var(--accent);cursor:pointer}.pill-select{align-items:center;max-width:100%;display:inline-flex;position:relative}.pill-select>.pill,.pill-select>.status-text,.pill-select>.date-disp{pointer-events:none}.pill-select select,.pill-select input{opacity:0;cursor:pointer;width:100%;height:100%;font:inherit;position:absolute;inset:0}.pill-caret{opacity:.55;margin-left:1px;font-size:8px}.date-disp{align-items:center;gap:5px;font-size:12.5px;display:inline-flex}.date-disp:before{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a8f9a' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E") 50%/contain no-repeat;flex-shrink:0;width:12px;height:12px}.app-shell{flex:1;min-height:0;display:flex}.sidebar{background:var(--sidebar);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:232px;padding-bottom:12px;display:flex;position:relative;overflow-y:auto}.date-disp.due-overdue{color:#b42318;font-weight:700}.date-disp.due-today{color:#b54708;font-weight:700}.tv-row:hover .date-disp.due-overdue{color:#912018}.repeat-badge{color:var(--text-muted);cursor:default;flex-shrink:0;font-size:11px;line-height:1}.repeat-badge.due-today{color:#b54708;font-weight:700}.repeat-badge.due-overdue{color:#b42318;font-weight:700}.repeat-badge.unparsed{color:var(--text-muted);opacity:.5}.grp-hd{z-index:5;top:35px}.grp-hd-inner{align-items:center;gap:6px;max-width:calc(100vw - 300px);display:inline-flex;position:sticky;left:14px}.grp-add{color:var(--text-3);cursor:pointer;opacity:0;background:0 0;border:0;border-radius:6px;padding:2px 6px;font-size:13px;font-weight:700;line-height:1;transition:opacity .12s}.grp-hd:hover .grp-add,.grp-add:focus-visible{opacity:1}.grp-add:hover{background:var(--surface-3);color:var(--accent)}.sidebar-section{padding:10px 8px 4px}.sidebar-section h4{text-transform:uppercase;letter-spacing:.6px;color:var(--text-3);justify-content:space-between;align-items:center;padding:4px 8px;font-size:11px;font-weight:700;display:flex}.sidebar-section h4 .add{cursor:pointer;opacity:.6;font-size:14px}.sidebar-section h4 .add:hover{opacity:1;color:var(--accent)}.sv-list{flex-direction:column;gap:1px;display:flex}.sv-item{cursor:pointer;color:var(--text);-webkit-user-select:none;user-select:none;border-radius:5px;align-items:center;gap:8px;padding:6px 8px;font-size:12.5px;display:flex}.sv-item:hover{background:#0000000a}.sv-item.active{background:var(--accent-soft);color:var(--accent);font-weight:500}.sv-item .ico{color:#fff;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;font-weight:700;display:inline-flex}.sv-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sv-actions{opacity:0;gap:2px;margin-left:auto;transition:opacity .12s;display:inline-flex}.sv-item:hover .sv-actions,.sv-item:focus-within .sv-actions{opacity:1}.sv-actions button{color:var(--text-3);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:2px 3px;font-size:12px;line-height:1}.sv-actions button:hover{color:var(--accent);background:#0000000d}.sv-item.active .sv-actions button{color:var(--accent)}.sv-dirty{background:var(--accent);border-radius:999px;flex-shrink:0;width:6px;height:6px;margin-left:auto}.sv-item:hover .sv-dirty{margin-left:0}.sv-actions button:disabled{opacity:.5;cursor:default}.sv-empty{color:var(--text-3);padding:4px 8px 6px;font-size:11.5px;line-height:1.45}.sv-add{text-align:left;width:100%;color:var(--accent);cursor:pointer;background:0 0;border:0;border-radius:5px;padding:6px 8px;font-family:inherit;font-size:12.5px;font-weight:500;display:block}.sv-add:hover{background:var(--accent-soft)}.tbl-item,.view-item{text-align:left;width:100%;font:inherit;background:0 0;border:none}.tbl-item:focus-visible,.view-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.tbl-item{cursor:pointer;color:var(--text);-webkit-user-select:none;user-select:none;border-radius:5px;align-items:center;gap:8px;padding:6px 8px;font-size:12.5px;display:flex}.tbl-item:hover{background:#0000000a}.tbl-item.active{background:var(--accent-soft);color:var(--accent);font-weight:500}.tbl-item .ico{color:#fff;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;font-weight:700;display:inline-flex}.tbl-item .count{color:var(--text-2);background:#0000000f;border-radius:8px;margin-left:auto;padding:1px 6px;font-size:11px;font-weight:500}.tbl-item.active .count{background:var(--accent-soft-strong);color:var(--accent)}.views-list{border-left:1px solid var(--border);margin-top:2px;margin-bottom:4px;margin-left:14px;padding-left:12px}.view-item{cursor:pointer;color:var(--text-2);border-radius:4px;align-items:center;gap:7px;padding:4px 8px;font-size:12px;display:flex}.view-item:hover{color:var(--text);background:#0000000a}.view-item.active{background:var(--accent-soft);color:var(--accent);font-weight:500}.view-item .vico{text-align:center;flex-shrink:0;width:14px;font-size:11px}.main-col{background:var(--panel);flex-direction:column;flex:1;min-width:0;display:flex}.view-header{border-bottom:1px solid var(--border);background:#fff;flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:6px;padding:8px 14px;display:flex;overflow:auto hidden}.view-header>*{flex-shrink:0}.vh-title{align-items:center;gap:6px;margin-right:6px;font-size:13.5px;font-weight:600;display:inline-flex}.sv-strip{border-top:1px solid var(--border);background:var(--surface-3);flex-shrink:0;align-items:stretch;gap:4px;height:30px;padding:0 8px 0 10px;display:flex}.sv-tabs{scrollbar-width:thin;align-items:stretch;gap:2px;min-width:0;display:flex;overflow:auto hidden}.sv-tab{color:var(--text-2);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:1px solid #0000;border-top:0;border-radius:0 0 6px 6px;flex-shrink:0;align-items:center;gap:4px;max-width:190px;padding:0 12px;font-family:inherit;font-size:12px;transition:background .1s,color .1s;display:inline-flex;overflow:hidden}.sv-tab:hover{color:var(--text);background:#0000000b}.sv-tab:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.sv-tab.on{background:var(--surface);color:var(--accent);border-color:var(--border);box-shadow:inset 0 2px 0 var(--accent);font-weight:600}.sv-tab.on:hover{background:var(--surface)}.sv-tab-shared{opacity:.8;font-size:9px}.sv-tab-add{color:var(--text-3);padding:0 10px;font-size:14px}.sv-tab-add:hover{color:var(--accent);background:#0000000b}.sv-tabwrap{border-radius:0 0 6px 6px;flex-shrink:0;align-items:stretch;display:inline-flex}.sv-tabwrap .sv-tab{padding-right:8px}.sv-tabwrap.on .sv-tab{border-right:0;border-bottom-right-radius:0}.sv-tabmenu{width:17px;color:var(--text-3);cursor:pointer;opacity:.4;background:0 0;border:1px solid #0000;border-top:0;border-left:0;border-radius:0 0 6px 6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:11px;line-height:1;transition:opacity .1s,color .1s,background .1s;display:inline-flex}.sv-tabwrap:hover .sv-tabmenu,.sv-tabwrap.on .sv-tabmenu,.sv-tabmenu:focus-visible,.sv-tabmenu[aria-expanded=true]{opacity:1}.sv-tabwrap:hover .sv-tabmenu{background:#0000000b}.sv-tabwrap.on .sv-tabmenu{background:var(--surface);border-color:var(--border);box-shadow:inset 0 2px 0 var(--accent);color:var(--accent);border-left:0}.sv-tabmenu:hover{color:var(--accent)}.sv-tabmenu:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.sv-tab .sv-dirty{background:var(--accent);border-radius:50%;flex-shrink:0;width:5px;height:5px}.sv-menu-head{border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.5px;color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;margin-bottom:3px;padding:4px 9px 6px;font-size:11px;font-weight:700;overflow:hidden}.sv-menu .sv-menu-grp{border-top:1px solid var(--border);margin-top:3px;padding-top:3px}.sv-menu .tm-menu-glyph{text-align:center;flex-shrink:0;width:14px}.sv-pin{background:var(--accent-soft);height:22px;color:var(--accent);cursor:pointer;border:1px solid #0000;border-radius:5px;flex-shrink:0;align-self:center;align-items:center;gap:5px;margin-left:auto;padding:0 8px;font-family:inherit;font-size:11.5px;transition:all .1s;display:inline-flex}.sv-pin:hover{background:var(--accent);color:#fff}.sv-pin:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media (max-width:720px){.sv-pin-txt{display:none}}.statusbar .sb-main{align-items:center;gap:10px;min-width:0;display:inline-flex}.sv-open{border:1px solid var(--border);background:var(--surface);height:19px;color:var(--text-2);cursor:pointer;white-space:nowrap;border-radius:5px;flex-shrink:0;align-items:center;gap:6px;padding:0 7px;font-family:inherit;font-size:11.5px;transition:all .1s;display:inline-flex}.sv-open:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.sv-open:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.sv-open .ico{color:var(--text-3)}.sv-open:hover .ico,.sv-open:hover .chev{color:var(--accent)}.sv-open .nm{text-overflow:ellipsis;max-width:160px;font-weight:600;overflow:hidden}.sv-open .chev{color:var(--text-3);font-size:10px}.toolbar-btn{cursor:pointer;color:var(--text-2);background:0 0;border:1px solid #0000;border-radius:5px;align-items:center;gap:5px;padding:5px 9px;font-family:inherit;font-size:12px;transition:all .1s;display:inline-flex}.toolbar-btn:hover{background:var(--bg);color:var(--text)}.toolbar-btn.has{background:var(--accent-soft);color:var(--accent)}.toolbar-chip{align-items:center;display:inline-flex}.toolbar-chip.clearable .toolbar-btn{border-top-right-radius:0;border-bottom-right-radius:0;padding-right:6px}.toolbar-clear{display:none}.toolbar-chip.clearable .toolbar-clear{border:1px solid #0000;border-left:1px solid var(--surface);cursor:pointer;background:var(--accent-soft);width:20px;color:var(--accent);border-radius:0 5px 5px 0;justify-content:center;align-self:stretch;align-items:center;margin:0;padding:0;font-family:inherit;font-size:13px;line-height:1;transition:all .1s;display:inline-flex}.toolbar-chip.clearable .toolbar-clear:hover{background:var(--accent);color:#fff}.tb-divider{background:var(--border);width:1px;height:18px;margin:0 4px}.statusbar{border-top:1px solid var(--border);background:var(--surface-2);color:var(--text-3);flex-shrink:0;justify-content:space-between;align-items:center;padding:6px 14px;font-size:11.5px;display:flex}.statusbar b{color:var(--text-2);font-weight:600}.pop-backdrop{z-index:90;position:fixed;inset:0}.popover{z-index:100;border:1px solid var(--border);box-shadow:var(--shadow-lg);background:#fff;border-radius:8px;min-width:232px;max-width:380px;max-height:420px;padding:4px;font-size:12.5px;position:fixed;overflow-y:auto}.popover-search{padding:4px}.popover-search input{border:1px solid var(--border);border-radius:5px;outline:none;width:100%;padding:6px 9px;font-family:inherit;font-size:12px}.popover-search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.popover-divider{background:var(--border);height:1px;margin:4px 0}.popover-hint{color:var(--text-3);text-transform:uppercase;letter-spacing:.5px;padding:6px 10px;font-size:11px;font-weight:600}.popover-opt{cursor:pointer;color:var(--text);border-radius:5px;align-items:center;gap:8px;padding:6px 10px;display:flex}.popover-opt:hover,.popover-opt.hi{background:var(--bg)}.popover-opt.selected{background:var(--accent-soft);color:var(--accent)}.popover-opt .check{color:var(--accent);text-align:center;flex-shrink:0;width:12px;font-size:11px}.popover-opt .col-icon{color:var(--text-3);text-align:center;flex-shrink:0;width:14px;font-size:11px}.popover-opt .opt-badge{border-radius:6px;margin-left:auto;padding:1px 6px;font-size:9px;font-weight:700}.popover-foot{border-top:1px solid var(--border);justify-content:flex-end;gap:6px;margin-top:4px;padding:8px 8px 6px;display:flex}.filter-pop{min-width:400px;max-width:500px;padding:10px}.filter-pop h5{text-transform:uppercase;letter-spacing:.5px;color:var(--text-3);margin:0 0 8px;font-size:11px;font-weight:700}.filter-row{align-items:center;gap:6px;margin-bottom:6px;display:flex}.filter-row select,.filter-row input{border:1px solid var(--border);background:#fff;border-radius:5px;outline:none;min-width:0;padding:5px 8px;font-family:inherit;font-size:12px}.filter-row select:focus,.filter-row input:focus{border-color:var(--accent)}.filter-row .fr-prefix{color:var(--text-3);flex-shrink:0;width:42px;font-size:11px}.filter-row .fr-field{flex:1.4}.filter-row .fr-op{flex:1}.filter-row .fr-val{flex:1.6}.filter-row .fr-x{width:24px;height:26px;color:var(--text-3);cursor:pointer;background:0 0;border:0;border-radius:4px;flex-shrink:0;font-size:15px}.filter-row .fr-x:hover{background:var(--err-bg);color:var(--err)}.filter-row .fr-multi{border:1px solid var(--border);min-width:0;font:inherit;color:var(--text-3);cursor:pointer;text-align:left;background:#fff;border-radius:5px;flex:1.6;justify-content:space-between;align-items:center;gap:6px;padding:5px 8px;font-size:12px;display:flex}.filter-row .fr-multi:hover{border-color:var(--accent)}.filter-row .fr-multi.has{color:var(--text);border-color:var(--accent)}.fr-multi-lbl{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fr-multi-caret{color:var(--text-3);flex-shrink:0;font-size:10px}.fr-multi-panel{border:1px solid var(--border);background:var(--bg);border-radius:6px;max-height:168px;margin:-2px 0 8px 48px;padding:4px;overflow-y:auto}.fr-multi-search{border:1px solid var(--border);background:#fff;border-radius:5px;outline:none;width:100%;margin-bottom:4px;padding:5px 8px;font-family:inherit;font-size:12px}.fr-multi-search:focus{border-color:var(--accent)}.fr-multi-opt{color:var(--text);cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:4px 8px;font-size:12px;display:flex}.fr-multi-opt:hover{background:#fff}.fr-multi-opt.on{background:var(--accent-soft);color:var(--accent);font-weight:600}.fr-multi-opt input{accent-color:var(--accent);flex-shrink:0;margin:0}.fr-multi-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fr-multi-note{color:var(--text-3);padding:5px 8px;font-size:11px;line-height:1.4}.filter-pop .add-cond{color:var(--accent);cursor:pointer;padding:6px 4px 2px;font-size:12px;font-weight:600}.filter-pop .add-cond:hover{text-decoration:underline}.doc-stage{background:var(--surface-3);width:100vw;height:100vh;display:flex;overflow:hidden}.doc-main{flex-direction:column;flex:1;min-width:0;display:flex}.doc-head{background:var(--panel);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;padding:12px 20px;display:flex}.doc-ic{background:var(--accent-soft);width:26px;height:26px;color:var(--accent);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;display:flex}.doc-title-in{color:var(--text);background:0 0;border:none;outline:none;flex:1;min-width:60px;font-family:inherit;font-size:18px;font-weight:700}.doc-typechip{text-transform:uppercase;letter-spacing:.5px;color:var(--text-3);background:var(--surface-3);border-radius:6px;padding:3px 8px;font-size:11px;font-weight:700}.doc-saved{color:var(--ok);min-width:58px;font-size:12px;font-weight:600}.doc-saved.on{color:var(--amber)}.doc-saved.err{color:var(--danger,#c0392b)}.doc-acts{align-items:center;gap:4px;margin-left:6px;display:flex}.doc-acts button{border:1px solid var(--border);background:var(--panel);color:var(--text-2);cursor:pointer;white-space:nowrap;border-radius:7px;padding:5px 9px;font-family:inherit;font-size:12px}.doc-acts button:hover{background:var(--surface-3);color:var(--text)}.doc-acts .doc-close{color:var(--text-3);border-color:#0000;padding:4px 8px;font-size:14px}.doc-canvas{flex:1;justify-content:center;padding:28px 24px 80px;display:flex;overflow-y:auto}.doc-canvas .rte{width:100%;max-width:820px}.doc-canvas-rich{min-height:0;padding:16px 24px 14px;overflow:hidden}.doc-canvas-rich .rte{max-width:var(--doc-w,980px);background:0 0;border:0;border-radius:0;flex-direction:column;min-height:0;display:flex;overflow:visible}.doc-canvas-rich .rte-tb{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:10px;flex-wrap:wrap;flex-shrink:0;margin-bottom:14px;padding:7px 10px;position:static}.doc-canvas-rich .rte-tb button{padding:5px 9px;font-size:13px}.doc-canvas-rich .rte-area.rte-doc{resize:none;flex:auto;min-height:0;max-height:none;overflow-y:auto}.rte-area.rte-doc{background:var(--panel);border:1px solid var(--border);min-height:60vh;box-shadow:var(--shadow-sm);border-radius:12px;padding:44px 56px 40vh;font-size:15.5px;line-height:1.75}.rte-area.rte-doc h1,.rte-area.rte-doc h2,.rte-area.rte-doc h3{scroll-margin-top:28px}.rte-area.rte-doc h1{margin:18px 0 8px;font-size:26px}.rte-area.rte-doc h2{margin:16px 0 6px;font-size:21px}.rte-area.rte-doc h3{margin:14px 0 6px;font-size:17px}.rte-area.rte-doc pre{background:var(--surface-3);border:1px solid var(--border);white-space:pre-wrap;border-radius:8px;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;overflow-x:auto}.rte-area.rte-doc hr{border:none;border-top:2px solid var(--border);margin:20px 0}.rte-area.rte-doc img{border-radius:8px;max-width:100%;margin:8px 0}.rte-area ul.rte-check{padding-left:4px;list-style:none}.rte-area ul.rte-check>li{margin:3px 0;padding-left:26px;position:relative}.rte-area ul.rte-check>li:before{content:"";border:1.5px solid var(--border-strong);cursor:pointer;border-radius:4px;width:16px;height:16px;position:absolute;top:3px;left:0}.rte-area ul.rte-check>li.done:before{background:var(--accent);border-color:var(--accent);content:"✓";color:#fff;text-align:center;font-size:11px;line-height:15px}.rte-area ul.rte-check>li.done{color:var(--text-3);text-decoration:line-through}.doc-sheet{width:100%;max-width:100%}.doc-sheet-scroll{border:1px solid var(--border-strong);max-height:70vh;box-shadow:var(--shadow-sm);background:var(--panel);border-radius:10px;overflow:auto}.doc-sheet table{border-collapse:separate;border-spacing:0;background:var(--panel);width:max-content;min-width:100%}.doc-sheet th,.doc-sheet td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:0;position:relative}.doc-sheet thead th{z-index:3;background:var(--surface-3);border-bottom:1.5px solid var(--border-strong);position:sticky;top:0}.doc-sheet th input,.doc-sheet td input{width:100%;min-width:0;font:inherit;color:var(--text);background:0 0;border:none;outline:none;padding:8px 10px;font-size:13px}.doc-sheet th input{color:var(--text-2);font-size:12px;font-weight:700}.doc-sheet .sh-resize{cursor:col-resize;z-index:4;width:7px;height:100%;position:absolute;top:0;right:-3px}.doc-sheet .sh-resize:hover{background:var(--accent);opacity:.5}.doc-sheet .sh-footer{flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px;display:flex}.doc-sheet .sh-hint{color:var(--text-3);font-size:11.5px}.doc-sheet tbody tr:nth-child(2n) td{background:var(--surface-2)}.doc-sheet tbody tr.sh-rowactive td,.doc-sheet th.sh-active{background:var(--accent-soft)}.doc-sheet td.sh-cellactive{box-shadow:inset 0 0 0 2px var(--accent);z-index:1}.doc-sheet td.sh-cellactive input{background:var(--panel)}.doc-sheet .sh-corner,.doc-sheet .sh-rownum{background:var(--surface-3);text-align:center;width:42px;min-width:42px;color:var(--text-3);z-index:2;font-size:11px;position:sticky;left:0}.doc-sheet thead .sh-corner{z-index:4}.doc-sheet .sh-rownum span{font-variant-numeric:tabular-nums;padding:8px 0;display:inline-block}.doc-sheet .sh-rownum.sh-active{color:var(--accent);font-weight:700}.doc-sheet .sh-add{text-align:center;background:var(--surface-3);width:38px}.doc-sheet .sh-pad{border-right:none}.doc-sheet .sh-del{color:var(--text-3);cursor:pointer;opacity:0;background:0 0;border:none;font-size:12px;line-height:1;position:absolute;top:3px;right:1px}.doc-sheet th:hover .sh-del,.doc-sheet .sh-rownum:hover .sh-del{opacity:1}.doc-sheet .sh-add button{color:var(--text-2);cursor:pointer;background:0 0;border:none;width:100%;padding:6px;font-size:15px}.doc-sheet .sh-add button:hover{color:var(--accent)}.doc-sheet .sh-addrow{border:1px dashed var(--border-strong);background:var(--panel);color:var(--text-2);cursor:pointer;border-radius:8px;margin-top:10px;padding:7px 12px;font-size:12.5px}.doc-sheet .sh-addrow:hover{color:var(--accent);border-color:var(--accent)}.doc-side{background:var(--panel);border-left:1px solid var(--border);flex-shrink:0;width:340px;padding:18px 18px 40px;position:relative;overflow-y:auto}.doc-stage.no-side .doc-side{display:none}.ds-eyebrow{text-transform:uppercase;letter-spacing:.6px;color:var(--text-3);font-size:11px;font-weight:700}.ds-title{color:var(--text);margin:6px 0 8px;font-size:16px;font-weight:700}.ds-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ds-proj{color:var(--accent);font-size:12px;font-weight:600}.ds-tracker{color:var(--accent);margin:10px 0 4px;font-size:12.5px;font-weight:600;text-decoration:none;display:inline-block}.ds-tracker:hover{text-decoration:underline}.ds-status-pills{flex-wrap:wrap;gap:5px;margin:12px 0;display:flex}.ds-status{border:1px solid var(--border);background:var(--panel);color:var(--text-2);cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:4px 9px;font-family:inherit;font-size:11.5px;display:inline-flex}.ds-status:hover{background:var(--surface-3)}.ds-proj{border-radius:6px;padding:2px 8px}.doc-side .td-fields{grid-template-columns:86px 1fr;gap:8px 10px;padding:4px 0 8px}.doc-side .td-fields .fv{font-size:12px}.doc-side .td-fields .pill{font-size:11px}.ds-tabs{border-bottom:1px solid var(--border);gap:2px;margin-bottom:12px;display:flex}.ds-tabs button{color:var(--text-2);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px;font-family:inherit;font-size:12.5px}.ds-tabs button.on{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.ds-ct{background:var(--surface-3);color:var(--text-3);border-radius:8px;margin-left:4px;padding:0 5px;font-size:11px}.ds-group{text-transform:uppercase;letter-spacing:.5px;color:var(--text-3);margin:14px 0 8px;font-size:11px;font-weight:700}.ds-field{grid-template-columns:96px 1fr;align-items:center;gap:8px;padding:5px 0;font-size:12.5px;display:grid}.ds-fl{color:var(--text-3)}.ds-fv{color:var(--text)}.ds-person{align-items:center;gap:5px;display:inline-flex}.ds-doclink{color:var(--text);border-bottom:1px solid var(--border);padding:6px 0;font-size:12.5px;text-decoration:none;display:block}.ds-doclink:hover{color:var(--accent)}.ds-sub{align-items:center;gap:7px;padding:5px 0;font-size:12.5px;display:flex}.ds-cbox{border:1.5px solid var(--border-strong);border-radius:4px;flex-shrink:0;width:15px;height:15px}.ds-cbox.done{background:var(--ok);border-color:var(--ok)}.ds-empty{color:var(--text-3);padding:8px 0;font-size:12.5px}@media print{.doc-side,.doc-side-resize,.doc-head,.doc-tabs,.doc-outline,.doc-statusbar,.doc-cmt-rail,.doc-stage>.hs-prail{display:none!important}.doc-stage,.doc-main,.doc-work,.doc-pane,.doc-canvas,.doc-canvas-rich,.doc-canvas-rich .rte,.rte-area.rte-doc,.doc-canvas-rich .rte-area.rte-doc{width:auto!important;max-width:none!important;height:auto!important;min-height:0!important;max-height:none!important;display:block!important;overflow:visible!important}.doc-canvas,.doc-canvas-rich{padding:0!important}.rte-area.rte-doc,.doc-canvas-rich .rte-area.rte-doc{box-shadow:none;border:none;padding:0!important}.doc-canvas-rich .rte-tb{display:none!important}}.doc-work{flex:1;min-height:0;display:flex;overflow:hidden}.doc-work .doc-canvas{flex:1}.doc-pane{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.doc-statusbar{border-top:1px solid var(--border);background:var(--panel);color:var(--text-3);font-variant-numeric:tabular-nums;flex-shrink:0;align-items:center;gap:10px;padding:7px 22px;font-size:11.5px;display:flex}.doc-statusbar b{color:var(--text-2);font-weight:700}.doc-statusbar .dsb-sep{background:var(--border);width:1px;height:12px}.doc-statusbar .dsb-spacer{flex:1}.doc-statusbar .dsb-hint{color:var(--text-3);opacity:.75;white-space:nowrap}.doc-outline{background:var(--panel);border-right:1px solid var(--border);flex-shrink:0;width:236px;padding:12px 8px 30px;overflow-y:auto}.doc-outline .do-head{text-transform:uppercase;letter-spacing:.6px;color:var(--text-3);justify-content:space-between;align-items:center;padding:2px 6px 10px;font-size:11px;font-weight:700;display:flex}.doc-outline .do-empty{color:var(--text-3);margin:0;padding:4px 6px;font-size:11.5px;line-height:1.6}.doc-outline .do-item{text-align:left;width:100%;color:var(--text-2);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;border-left:2px solid #0000;border-radius:6px;padding:5px 8px;font-family:inherit;font-size:12.5px;line-height:1.4;display:block;overflow:hidden}.doc-outline .do-item:hover{background:var(--surface-3);color:var(--text)}.doc-outline .do-item.on{color:var(--accent);background:var(--accent-soft);border-left-color:var(--accent);font-weight:600}.doc-outline .do-item.l1{color:var(--text);font-weight:700}.doc-outline .do-item.l2{padding-left:18px}.doc-outline .do-item.l3{padding-left:30px;font-size:12px}.doc-outline .do-untitled{color:var(--text-3);font-style:italic}.doc-stage.focus .doc-side,.doc-stage.focus .doc-side-resize,.doc-stage.focus>.hs-prail,.doc-stage.focus .doc-cmt-rail,.doc-stage.focus .doc-tabs{display:none!important}.doc-stage.focus{background:var(--surface-2)}.doc-stage.focus .doc-head{background:0 0;border-bottom-color:#0000}.doc-stage.focus .doc-head .doc-typechip{display:none}.doc-stage.focus .doc-canvas-rich{padding-top:8px}.doc-stage.focus .doc-canvas-rich .rte-tb{opacity:.45;transition:opacity .18s}.doc-stage.focus .doc-canvas-rich:hover .rte-tb,.doc-stage.focus .doc-canvas-rich .rte-tb:focus-within{opacity:1}.doc-acts button.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.dc-hl{cursor:pointer;background:#fff3bf;border-bottom:2px solid #f2c94c;border-radius:2px}.dc-hl-flash{background:#ffe08a;transition:background .3s}.dc-selbtn{background:var(--accent);color:#fff;cursor:pointer;box-shadow:var(--shadow-md);border:none;border-radius:8px;padding:6px 11px;font-family:inherit;font-size:12px;font-weight:600}.doc-cmt-rail{border-left:1px solid var(--border);background:var(--surface-3);flex-shrink:0;width:320px;padding:14px 12px 40px;overflow-y:auto}.dc-rail-head{text-transform:uppercase;letter-spacing:.5px;color:var(--text-3);align-items:center;gap:6px;padding:2px 4px 10px;font-size:12px;font-weight:700;display:flex}.dc-rail-head .dc-ct{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:0 7px;font-size:11px}.dc-empty{color:var(--text-3);padding:12px 6px;font-size:12.5px;line-height:1.6}.dc-card{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow-sm);cursor:pointer;border-radius:10px;margin-bottom:10px;padding:10px}.dc-card.dc-composing{cursor:default;border-color:var(--accent)}.dc-quote{color:var(--text-2);text-overflow:ellipsis;-webkit-line-clamp:2;background:#fffbea;border-left:3px solid #f2c94c;border-radius:3px;-webkit-box-orient:vertical;margin-bottom:8px;padding:2px 8px;font-size:11.5px;display:-webkit-box;overflow:hidden}.dc-cmt{align-items:flex-start;gap:8px;padding:5px 0;display:flex}.dc-cmt-meta{align-items:baseline;gap:6px;font-size:12.5px;display:flex}.dc-cmt-meta b{color:var(--text)}.dc-cmt-meta span{color:var(--text-3);font-size:11px}.dc-cmt-body{color:var(--text);word-break:break-word;margin-top:2px;font-size:13px;line-height:1.5}.dc-mention{color:var(--accent);background:var(--accent-soft);border-radius:4px;padding:0 3px;font-weight:600}.rte-area .mention,.dp-cmt .ctxt .mention,.dp-ccomp-area .mention,.dc-cmt-body .mention,.dc-mi-area .mention,.dc-mention{vertical-align:-4px;color:var(--accent);background:var(--accent-soft);border-radius:999px;align-items:center;gap:4px;padding:1px 7px 1px 2px;font-weight:700;line-height:1.35;display:inline-flex}.mention-face{-o-object-fit:cover;object-fit:cover;width:16px;height:16px;font-size:7.5px}.dc-mi-opt{align-items:center;gap:8px;display:flex}.dc-x{color:var(--text-3);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:15px;line-height:1}.dc-x:hover{color:var(--err)}.dc-reply{margin-top:6px}.dc-actions{border-top:1px solid var(--border);gap:8px;margin-top:8px;padding-top:8px;display:flex}.dc-actions button{border:1px solid var(--border);background:var(--panel);color:var(--text-2);cursor:pointer;border-radius:7px;padding:4px 9px;font-family:inherit;font-size:11.5px}.dc-actions button:hover{background:var(--surface-3);color:var(--text)}.dc-resolved-note{color:var(--text-3);padding:6px 4px;font-size:11.5px}.dc-mi-area{border:1px solid var(--border);background:var(--panel);border-radius:8px;outline:none;min-height:34px;padding:7px 9px;font-size:13px}.dc-mi-area.compact{min-height:28px;padding:5px 8px;font-size:12.5px}.dc-mi-area:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.dc-mi-area:empty:before{content:attr(data-ph);color:var(--text-3)}.dc-mi-actions{justify-content:flex-end;gap:6px;margin-top:6px;display:flex}.dc-mi-send{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:7px;padding:5px 12px;font-family:inherit;font-size:12px;font-weight:600}.dc-mi-cancel{border:1px solid var(--border);background:var(--panel);color:var(--text-2);cursor:pointer;border-radius:7px;padding:5px 10px;font-family:inherit;font-size:12px}.dc-mi-pop{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow-lg);z-index:320;border-radius:8px;min-width:160px;margin-top:3px;position:absolute;top:100%;left:0;overflow:hidden}.dc-mi-opt{cursor:pointer;color:var(--text);padding:6px 10px;font-size:12.5px}.dc-mi-opt.on,.dc-mi-opt:hover{background:var(--accent-soft);color:var(--accent)}.doc-tabs{border-bottom:1px solid var(--border);background:var(--surface-3);flex-shrink:0;align-items:center;gap:3px;padding:7px 12px 0;display:flex;overflow-x:auto}.doc-tab{max-width:220px;color:var(--text-2);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-bottom:none;border-radius:8px 8px 0 0;align-items:center;gap:6px;padding:7px 12px;font-family:inherit;font-size:12.5px;display:inline-flex}.doc-tab:hover{background:var(--panel);color:var(--text)}.doc-tab.on{background:var(--panel);color:var(--text);border-color:var(--border);margin-bottom:-1px;font-weight:600}.doc-tab-ic{color:var(--accent);flex-shrink:0}.doc-tab-t{text-overflow:ellipsis;overflow:hidden}.doc-tab-new{border:1px dashed var(--border-strong);background:var(--panel);color:var(--text-2);cursor:pointer;border-radius:7px;flex-shrink:0;margin-bottom:3px;padding:5px 9px;font-size:14px;line-height:1}.doc-tab-new:hover{color:var(--accent);border-color:var(--accent)}.doc-side-resize{cursor:ew-resize;background:var(--surface-3);flex-shrink:0;justify-content:center;align-items:center;width:9px;display:flex}.doc-side-resize:after{content:"";background:var(--border-strong);border-radius:3px;width:3px;height:46px;transition:background .15s,height .15s}.doc-side-resize:hover:after{background:var(--accent);height:72px}.doc-side .ds-fullrow{grid-column:1/-1;margin-top:6px}.doc-side .ds-subhead{color:var(--text-3);margin-bottom:6px;font-size:11px}.doc-side .td-fields .fv{flex-wrap:wrap;overflow:hidden}.doc-side .td-fields{overflow:hidden}.space-row{position:relative}.space-row .ico{color:#fff;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;font-weight:700;display:inline-flex}.space-row .space-act{opacity:0;transition:opacity .12s}.space-row .space-name{min-width:0}.space-row:hover .space-act,.space-row:focus-within .space-act,.space-row .space-act.star.is-default{opacity:1}.space-row:hover{background:var(--row-hover)}.sidebar-section.spaces-section{border-bottom:1px solid var(--border,#e6e8eb);margin-bottom:2px;padding-bottom:8px}[data-readonly=true] .tv-row input,[data-readonly=true] .tv-row select,[data-readonly=true] .tv-row textarea,[data-readonly=true] .tv-row button,[data-readonly=true] .tv-row [contenteditable=true],[data-readonly=true] .tv-subrow input,[data-readonly=true] .tv-subrow select,[data-readonly=true] .tv-subrow textarea,[data-readonly=true] .tv-subrow button,[data-readonly=true] .tv-subrow [contenteditable=true],[data-readonly=true] .tv-addrow{pointer-events:none}[data-readonly=true] .sub-grip,[data-readonly=true] .row-grip,[data-readonly=true] .dp-sgrip{display:none}[data-readonly=true] .tv-row .tv-freeze input[type=checkbox]{pointer-events:auto}[data-readonly=true] .tv-row .cell-add,[data-readonly=true] .tv-row .cell-set{visibility:hidden}.tasklink{background:var(--accent-soft,#f7eef3);color:var(--accent,#a31651);white-space:normal;border:1px solid #0000;border-radius:6px;align-items:center;gap:5px;padding:1px 7px 1px 6px;font-weight:600;line-height:1.45;text-decoration:none;display:inline-flex}.tasklink:hover{border-color:var(--accent,#a31651)}.tl-dot{opacity:.55;background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.tasklink.done{opacity:.62;text-decoration:line-through}.rte-area a.tasklink,.dp-ccomp-area a.tasklink,.dc-mi-area a.tasklink,.ctxt a.tasklink,.dc-cmt-body a.tasklink{font-weight:600;text-decoration:none}.rte-area a.tasklink.done,.dp-ccomp-area a.tasklink.done,.dc-mi-area a.tasklink.done,.ctxt a.tasklink.done,.dc-cmt-body a.tasklink.done{text-decoration:line-through}.rte-area a.tasklink.missing,.dp-ccomp-area a.tasklink.missing,.dc-mi-area a.tasklink.missing,.ctxt a.tasklink.missing,.dc-cmt-body a.tasklink.missing{font-weight:500}.tasklink.missing{color:var(--text-muted,#6b6570);border-color:var(--border,#e6e8eb);background:0 0;border-style:dashed;font-style:italic;font-weight:500}.rte-area .rte-callout{background:var(--surface-3,#f7f6f3);border:1px solid var(--border);border-radius:10px;gap:10px;margin:8px 0;padding:10px 14px;display:flex}.rte-area .rte-callout:before{content:attr(data-co);flex-shrink:0;font-size:17px;line-height:1.45}.rte-area .rte-callout>p{margin:0}.rte-area .rte-callout>p+p{margin-top:4px}.rte-area details.rte-toggle{margin:4px 0}.rte-area details.rte-toggle>summary{cursor:text;padding-left:24px;list-style:none;position:relative}.rte-area details.rte-toggle>summary::-webkit-details-marker{display:none}.rte-area details.rte-toggle>summary:before{content:"▸";color:var(--text-3);cursor:pointer;transition:transform .15s;position:absolute;top:0;left:4px}.rte-area details.rte-toggle[open]>summary:before{transform:rotate(90deg)}.rte-area details.rte-toggle>summary h1,.rte-area details.rte-toggle>summary h2,.rte-area details.rte-toggle>summary h3{margin:0;display:inline}.rte-area details.rte-toggle>.rte-toggle-body{padding-left:24px}.rte-area .rte-toc{border:1px solid var(--border);background:var(--surface-3,#fafafa);border-radius:10px;margin:8px 0;padding:10px 14px}.rte-toc-title{letter-spacing:.5px;text-transform:uppercase;color:var(--text-3);margin-bottom:6px;font-size:11px}.rte-toc-empty{color:var(--text-3);font-size:12.5px}.rte-toc-item{color:var(--accent);cursor:pointer;padding:2px 0;font-size:13px}.rte-toc-item:hover{text-decoration:underline}.rte-toc-item.l2{padding-left:14px}.rte-toc-item.l3{padding-left:28px}.rte-slash-pop{width:230px;max-height:280px;overflow-y:auto}.rte-slash-ic{width:26px;color:var(--text-3);font-size:12px;font-weight:600;display:inline-block}.rte-area .rte-cols{align-items:start;gap:14px;margin:8px 0;display:grid}.rte-area .rte-cols.c2{grid-template-columns:repeat(2,minmax(0,1fr))}.rte-area .rte-cols.c3{grid-template-columns:repeat(3,minmax(0,1fr))}.rte-area .rte-cols.c4{grid-template-columns:repeat(4,minmax(0,1fr))}.rte-area .rte-cols.c5{grid-template-columns:repeat(5,minmax(0,1fr))}.rte-area .rte-col{min-width:0}.rte-area .rte-col>p:first-child{margin-top:0}@media (max-width:820px){.rte-area .rte-cols{grid-template-columns:minmax(0,1fr)!important}}@media print{.rte-area .rte-cols{grid-template-columns:minmax(0,1fr)!important}}.rte-area a.rte-bk{border:1px solid var(--border);color:inherit;background:var(--panel);border-radius:10px;align-items:stretch;gap:12px;margin:8px 0;padding:10px 12px;text-decoration:none;display:flex;overflow:hidden}.rte-area a.rte-bk:hover{border-color:var(--accent)}.rte-bk-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.rte-bk-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;overflow:hidden}.rte-bk-desc{color:var(--text-2);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:12px;display:-webkit-box;overflow:hidden}.rte-bk-domain{color:var(--text-3);font-size:11.5px}.rte-bk-img{-o-object-fit:cover;object-fit:cover;border-radius:7px;flex-shrink:0;width:116px;height:76px}.rte-area a.rte-file{border:1px solid var(--border);color:inherit;background:var(--panel);border-radius:9px;align-items:center;gap:8px;margin:6px 0;padding:7px 12px;text-decoration:none;display:inline-flex}.rte-area a.rte-file:hover{border-color:var(--accent)}.rte-file-name{font-size:13px;font-weight:600}.rte-file-size,.rte-file-dl{color:var(--text-3);font-size:11.5px}.rte-file-dl{color:var(--accent)}.rte-area video.rte-video{background:#000;border-radius:10px;max-width:100%;margin:8px 0;display:block}.rte-area audio.rte-audio{width:100%;margin:8px 0;display:block}.rte-area .rte-date{background:var(--accent-soft);color:var(--accent);white-space:nowrap;border-radius:6px;padding:0 6px;font-size:12.5px}.rte-area pre{position:relative}.rte-area pre .c-com{color:#6b7280;font-style:italic}.rte-area pre .c-str{color:#0a7d55}.rte-area pre .c-num{color:#9a5b00}.rte-area pre .c-kw{color:#8a1538;font-weight:600}.rte-area pre .c-lit{color:#8a1538}.rte-area pre .c-fn,.rte-area pre .c-key{color:#2b5fd9}.rte-area pre .c-pun,.rte-area pre .c-op{color:#6b7280}.rte-area a.rte-form{border:1px solid var(--border);border-left:3px solid var(--accent);color:inherit;background:var(--panel);border-radius:10px;align-items:center;gap:10px;margin:8px 0;padding:10px 12px;text-decoration:none;display:flex}.rte-area a.rte-form:hover{border-color:var(--accent)}.rte-form-ic{font-size:18px}.rte-form-b{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.rte-form-t{color:var(--text);font-size:13.5px;font-weight:600}.rte-form-s{color:var(--text-3);font-size:11.5px}.rte-form-go{color:var(--accent);white-space:nowrap;font-size:12px;font-weight:600}.doc-head.slim{gap:8px;padding:8px 14px}.doc-crumb{color:var(--text-2);font-size:12.5px;text-decoration:none}.doc-crumb:hover{color:var(--accent)}.doc-crumb-sep{color:var(--text-3);font-size:12px}.doc-crumb-cur{color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:42ch;font-size:12.5px;font-weight:600;overflow:hidden}.doc-more{z-index:140;min-width:210px;max-height:calc(100vh - 60px);padding:4px;position:fixed;overflow-y:auto}.dph{margin:0 0 18px;position:relative}.dph-iconrow{position:relative}.dph-icon{cursor:pointer;background:0 0;border:none;border-radius:8px;padding:0;font-size:40px;line-height:1}.dph-icon:hover{background:var(--row-hover)}.dph-iconpop{z-index:140;flex-wrap:wrap;gap:2px;width:290px;padding:8px;display:flex;position:absolute;top:46px;left:0}.dph-iconpop button{cursor:pointer;background:0 0;border:none;border-radius:6px;width:32px;height:30px;font-size:17px}.dph-iconpop button:hover{background:var(--row-hover)}.dph-icon-clear{color:var(--text-3);padding:0 8px;width:auto!important;font-size:12px!important}.dph-title{letter-spacing:-.4px;width:100%;color:var(--text);background:0 0;border:none;outline:none;padding:2px 0 6px;font-family:inherit;font-size:34px;font-weight:800}.dph-title::placeholder{color:var(--text-3)}.dph-props{flex-direction:column;gap:2px;margin-bottom:10px;display:flex}.dph-row{align-items:center;gap:10px;min-height:28px;display:flex}.dph-key{color:var(--text-3);flex:0 0 96px;font-size:12px}.dph-val{color:var(--text);flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:inline-flex}.dph-val select,.dph-val input{font:inherit;border:1px solid var(--border);background:var(--panel);border-radius:6px;padding:2px 6px;font-size:13px}.dph-set{font:inherit;color:var(--text-2);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:2px 6px;font-size:13px;display:inline-flex}.dph-set:hover{background:var(--row-hover);color:var(--text)}.dph-chip{font:inherit;cursor:pointer;border:none;border-radius:9px;padding:2px 9px;font-size:11.5px}.dph-chip.sm{cursor:default;padding:1px 7px;font-size:11px}.dph-tag{background:var(--surface-3);color:var(--text-2);border-radius:6px;margin-right:4px;padding:1px 7px;font-size:11.5px}.dph-muted{color:var(--text-3);font-size:12px}.dph-link{color:var(--accent);font-weight:600;text-decoration:none}.dph-dates{align-items:center;gap:6px;display:inline-flex}.dph-dates button{border:1px solid var(--border);background:var(--panel);cursor:pointer;border-radius:6px;padding:2px 8px;font-size:12px}.dph-prog{align-items:center;gap:8px;display:inline-flex}.dph-bar{background:var(--surface-3);border-radius:4px;width:132px;height:7px;display:inline-block;overflow:hidden}.dph-bar i{background:var(--ok);border-radius:4px;height:100%;transition:width .25s;display:block}.dph-over{color:var(--err);font-size:11.5px;font-weight:600}.dph-tasks{border-top:1px solid var(--border);margin-top:4px;padding-top:10px}.dph-tasks-h{letter-spacing:.4px;text-transform:uppercase;color:var(--text-3);margin-bottom:6px;font-size:11px}.dph-task{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:3px 0;display:flex}.dph-task:last-of-type{border-bottom:none}.dph-task-t{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;font-weight:600;text-decoration:none;overflow:hidden}.dph-task-t:hover{color:var(--accent)}.dph-x{color:var(--text-3);cursor:pointer;background:0 0;border:none;border-radius:5px;padding:2px 4px;font-size:12px}.dph-x:hover{color:var(--err);background:var(--err-bg)}.dph-tasks-acts{gap:10px;margin-top:6px;display:flex}.dph-act{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;padding:2px 0;font-size:12.5px;font-weight:600}.dph-add{border:1px solid var(--border);width:100%;font:inherit;border-radius:7px;outline:none;padding:5px 8px;font-size:13px}.dph-err{color:var(--err);margin-top:4px;font-size:12px}.dph-link-pop{border:1px solid var(--border);background:var(--panel);border-radius:9px;flex-direction:column;gap:4px;margin-top:8px;padding:8px;display:flex}.dph-link-pop input{border:1px solid var(--border);font:inherit;border-radius:7px;outline:none;padding:5px 8px;font-size:13px}.dph-hit{text-align:left;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:4px 6px;font-size:12.5px;display:flex}.dph-hit:hover{background:var(--row-hover)}.rte-bubble{z-index:135;background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:9px;align-items:center;gap:1px;padding:3px;display:flex;position:absolute}.rte-bubble button{font:inherit;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 7px;font-size:12.5px;line-height:1}.rte-bubble button:hover{background:var(--row-hover);color:var(--accent)}.rte-bubble .sep{background:var(--border);width:1px;height:16px;margin:0 2px}.rte-gutter{z-index:60;width:22px;height:22px;color:var(--text-3);cursor:pointer;background:0 0;border:none;border-radius:6px;font-size:14px;line-height:1;position:absolute;left:-4px}.rte-gutter:hover{background:var(--row-hover);color:var(--accent)}@media print{.rte-bubble,.rte-gutter,.doc-more{display:none!important}}.doc-canvas-rich{overflow-y:auto}.doc-canvas-rich .doc-page{width:100%;max-width:var(--doc-w,980px);flex-direction:column;display:flex}.doc-canvas-rich .doc-page .rte{max-width:none;overflow:visible}.doc-canvas-rich .doc-page .rte-area.rte-doc{flex:none;min-height:55vh;max-height:none;overflow:visible}@media print{.doc-canvas-rich .doc-page{max-width:none!important}}.doc-canvas-rich .doc-page{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:14px;margin-bottom:24px;padding:40px 56px 22vh}.doc-canvas-rich .doc-page .rte-area.rte-doc{box-shadow:none;background:0 0;border:none;border-radius:0;min-height:42vh;padding:0}.doc-canvas-rich .doc-page .dph{padding:0}.doc-canvas-rich .doc-spread{width:100%;max-width:var(--doc-w,980px);align-items:flex-start;gap:20px;display:flex}.doc-canvas-rich.with-cmt .doc-spread{max-width:calc(var(--doc-w,980px) + 320px)}.doc-canvas-rich .doc-spread>.doc-page{flex:auto;min-width:0}.doc-cmt-gutter{flex:0 0 300px;width:300px}.doc-cmt-gutter .doc-cmt-rail{background:0 0;border-left:none;width:auto;padding:0 0 40px;overflow:visible}.dc-stack{position:relative}@media (max-width:1240px){.doc-canvas-rich .doc-spread{flex-direction:column}.doc-canvas-rich.with-cmt .doc-spread{max-width:var(--doc-w,980px)}.doc-cmt-gutter{flex:none;width:100%}.doc-cmt-gutter .doc-cmt-rail{border-top:1px solid var(--border);padding:16px 0 24px}.dc-stack{height:auto!important}.dc-stack>.dc-card{visibility:visible!important;position:static!important}}@media print{.doc-cmt-gutter{display:none!important}.doc-canvas-rich .doc-page{box-shadow:none!important;border:none!important;padding:0!important}}.doc-canvas-rich.w-full{background:var(--panel);padding-left:28px;padding-right:28px}.doc-canvas-rich.w-full .doc-page{box-shadow:none;background:0 0;border:none;border-radius:0;margin-bottom:0;padding:14px 0 22vh}.doc-canvas-rich{flex-direction:column;justify-content:flex-start;align-items:center}.dph-who{align-items:center;gap:5px;display:inline-flex}.rte-modes{grid-template-columns:1fr 1fr;gap:6px;display:grid}.rte-mode{text-align:left;border:1px solid var(--border);background:var(--panel);cursor:pointer;font:inherit;color:var(--text);border-radius:9px;flex-direction:column;align-items:flex-start;gap:1px;padding:7px 9px;display:flex}.rte-mode:hover{background:var(--surface-3)}.rte-mode.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.rte-mode .rte-mode-ic{color:var(--accent);font-size:13px;line-height:1}.rte-mode b{font-size:12px}.rte-mode .rte-mode-hint{color:var(--text-3);font-size:11px;line-height:1.3}.rte-mode.wide{grid-column:1/-1}.rte-embed-dialog{z-index:140;flex-direction:column;gap:10px;width:min(440px,100vw - 32px);max-height:min(560px,100vh - 64px);padding:14px;display:flex;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 24px 64px -16px #05070b47,0 0 0 1px #05070b0f}.pop-backdrop.dim{z-index:139;background:#0f111547}.rte-embed-dialog .rte-embed-title{font-size:13px;font-weight:700}.rte-embed-dialog .rte-embed-sub{color:var(--text-3);margin-top:-4px;font-size:11.5px}.rte-area.rte-doc>p:last-child:empty:before{content:"Type / for blocks, or click ＋ in the margin";color:var(--text-3);pointer-events:none;position:absolute}.rte-area.rte-doc>p:last-child:has(>br:only-child):before{content:"Type / for blocks, or click ＋ in the margin";color:var(--text-3);pointer-events:none;position:absolute}.rte-area.rte-doc>p:last-child:empty{position:relative}.rte-area.rte-doc>p:last-child:has(>br:only-child){position:relative}.hover-lift .board-grip{opacity:0;align-self:flex-start;margin-top:2px}.hover-lift:hover .board-grip,.hover-lift .board-grip:focus-visible{opacity:1}.tv-hcell .col-grip{width:12px;color:var(--text-3);letter-spacing:-1px;cursor:grab;opacity:0;background:0 0;border:0;flex:none;padding:0;font-size:11px;line-height:1;transition:opacity .12s}.tv-head .tv-hcell:hover .col-grip,.tv-hcell .col-grip:focus-visible{opacity:1}.tv-hcell .col-grip:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:3px}.hover-lift .board-open{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:block}.hover-lift .board-open:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.rte-area ins.sug,.doc-body ins.sug{color:#14532d;background:#e6f6ea;-webkit-text-decoration:underline #16a34a;text-decoration:underline #16a34a;text-decoration-thickness:1.5px}.rte-area del.sug,.doc-body del.sug{color:#7f1d1d;background:#fdecec;-webkit-text-decoration:line-through #dc2626;text-decoration:line-through #dc2626}.sug-bar{border:1px solid var(--border);background:var(--panel);border-radius:10px;margin:0 0 12px;padding:8px 12px;font-size:12.5px}@media (max-width:640px){.sidebar{z-index:80;width:min(300px,86vw);position:fixed;top:0;bottom:0;left:0;box-shadow:12px 0 40px #05070b47}.sidebar .hs-ptoggle.in-panel{opacity:1}.view-header{flex-wrap:wrap;overflow:visible}.pp-row{grid-template-columns:minmax(0,1fr) 70px!important;gap:8px!important;padding:0 12px!important}.pp-row>:nth-child(n+2):not(:last-child){display:none!important}.drawer-dock{left:0}.drawer-panel{max-width:100vw;width:100vw!important;min-width:0!important;padding:12px 14px!important}.drawer-resize{display:none}.td-top{flex-wrap:wrap}.tv-head,.tv-body{font-size:12px}}.content-tint{--accent:var(--plum);--accent-hover:var(--plum-hover);--accent-soft:var(--plum-soft);--accent-soft-strong:var(--plum-soft-strong);--row-hover:var(--plum-row-hover)}.content-tint .tv-hcell.cs-ro{color:#7a6843;background:#f5f0e6}.content-tint .tv-hcell.cs-ro .cs-ro-mark{opacity:.7;filter:grayscale();margin-right:5px;font-size:11px}.content-tint .tv-hcell.cs-own{box-shadow:inset 0 -2px 0 var(--accent-soft-strong)}.cs-legend{color:var(--text-3);align-items:center;gap:6px;font-size:11.5px;display:inline-flex}.cs-legend i{background:#f5f0e6;border:1px solid #e6dcc6;border-radius:3px;width:12px;height:12px;display:inline-block}.cs-wrap .tv-row .tv-cell{align-items:flex-start;min-height:34px;padding-top:6px;padding-bottom:6px;height:auto!important}.cs-wrap .tv-row .tv-cell.tv-rownum,.cs-wrap .tv-row .tv-cell.tv-freeze:first-child{align-items:center}.cs-ai-opt{text-align:left;border:1px solid var(--border);width:100%;font:inherit;color:var(--text);cursor:pointer;background:#fff;border-radius:7px;padding:7px 9px;font-size:12.5px;line-height:1.45;display:block}.cs-ai-opt:hover{border-color:var(--accent);background:var(--accent-soft)}