@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap";:root{color:#252b3d;font-synthesis:none;text-rendering:optimizelegibility;--ink:#252b3d;--ink-soft:#6c7489;--ink-faint:#9da5b6;--line:#e6e9f0;--line-strong:#d8dde8;--canvas:#f6f8fc;--paper:#fff;--glass:#ffffffb8;--glass-strong:#ffffffd6;--glass-line:#d8ddeab8;--purple:#5b5ce2;--orange:#f06d45;--green:#24b69a;--shadow:0 18px 50px #2e375d14;background:#f6f8fc;font-family:Manrope,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#root{overscroll-behavior-x:none;min-width:0;min-height:100%;margin:0}body{background:radial-gradient(circle at 78% 9%, #eee8ff94, transparent 34%), radial-gradient(circle at 42% 88%, #e1f1ff6b, transparent 32%), var(--canvas);min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #5b5ce238}.app-shell{overscroll-behavior-x:none;background:linear-gradient(120deg,#ffffff2e,#f2f1ff38 58%,#fff7ee2e);height:100vh;min-height:700px;display:flex;overflow:hidden}.sidebar{border-right:1px solid var(--glass-line);-webkit-backdrop-filter:blur(24px)saturate(125%);backdrop-filter:blur(24px)saturate(125%);background:#fafbffad;flex-direction:column;flex:0 0 238px;width:238px;min-width:0;padding:25px 16px 17px;transition:width .22s,flex-basis .22s,padding .22s,border-color .22s,opacity .18s;display:flex;overflow:hidden;box-shadow:12px 0 42px #554f9709}.sidebar>*{transition:opacity .16s,transform .22s}.sidebar.is-collapsed{opacity:0;border-right-color:#0000;flex-basis:0;width:0;padding-left:0;padding-right:0}.sidebar.is-collapsed>*{opacity:0;pointer-events:none;transform:translate(-12px)}.brand-lockup{color:#1f2536;letter-spacing:-.04em;align-items:center;gap:9px;padding:0 9px 26px;font-size:18px;font-weight:800;display:flex}.brand-mark{color:#fff;background:var(--purple);border-radius:9px;place-items:center;width:27px;height:27px;display:grid;box-shadow:0 5px 12px #5b5ce238}.brand-beta{color:#9ca3b5;letter-spacing:.06em;border:1px solid #e0e3ee;border-radius:5px;margin-left:auto;padding:4px 6px;font-family:DM Mono,monospace;font-size:9px}.workspace-switcher{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff94;border:1px solid #e6e9f0e0;border-radius:12px;align-items:center;gap:9px;min-height:55px;margin-bottom:20px;padding:10px;display:flex;box-shadow:0 8px 24px #30395d09}.workspace-switcher>svg{color:var(--ink-faint);margin-left:auto}.workspace-avatar{color:#fff;background:#22293c;border-radius:9px;place-items:center;width:29px;height:29px;font-size:12px;font-weight:800;display:grid}.workspace-switcher strong,.profile-row strong{color:var(--ink);font-size:12px;font-weight:800;display:block}.eyebrow{color:var(--ink-faint);letter-spacing:.09em;text-transform:uppercase;margin-bottom:3px;font-size:9px;font-weight:700;display:block}.primary-nav{border-bottom:1px solid var(--line);gap:3px;padding-bottom:23px;display:grid}.nav-item{color:#7a8295;text-align:left;background:0 0;border-radius:9px;align-items:center;gap:11px;width:100%;min-height:38px;padding:0 11px;font-size:12px;font-weight:700;transition:color .18s,background .18s;display:flex}.nav-item:hover,.nav-item.is-active{color:var(--purple);background:#eeefff}.nav-item.is-active svg{color:var(--purple)}.nav-count{color:#a4a9bb;margin-left:auto;font-family:DM Mono,monospace;font-size:10px}.sidebar-label{color:var(--ink-faint);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:22px 11px 9px;font-size:10px;font-weight:800;display:flex}.sidebar-label button{width:22px;height:22px;color:var(--ink-soft);background:0 0;border-radius:6px;place-items:center;display:grid}.sidebar-label button:hover{color:var(--purple);background:#edf0f6}.project-list{gap:4px;display:grid}.project-item{color:#70788d;text-align:left;background:0 0;border-radius:9px;align-items:center;gap:9px;width:100%;min-height:38px;padding:0 11px;font-size:12px;font-weight:600;display:flex}.project-item:hover,.project-item.is-active{color:var(--ink);background:#f0f2f8}.project-overview-item{color:#777f94;margin-bottom:4px}.project-overview-item svg{color:var(--purple)}.project-count{color:#a9afbd;margin-left:auto;font-family:DM Mono,monospace;font-size:9px}.project-dot{border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #5b5ce20f}.project-current{background:var(--purple);border-radius:50%;width:5px;height:5px;margin-left:auto}.sidebar-spacer{flex:1}.sidebar-footer{gap:9px;display:grid}.storage-note{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f7f8fc8a;border:1px solid #e8eaf2d1;border-radius:10px;align-items:center;gap:9px;padding:10px;display:flex}.storage-note strong,.storage-note small,.profile-row small{display:block}.storage-note strong{color:#5a6275;font-size:10px}.storage-note small,.profile-row small{color:#a2a8b7;margin-top:3px;font-size:9px}.storage-ring{border:2px solid #dfe3ed;border-top-color:var(--green);border-right-color:var(--green);border-radius:50%;place-items:center;width:25px;height:25px;display:grid;transform:rotate(-25deg)}.storage-ring span{background:var(--green);border-radius:50%;width:5px;height:5px}.storage-ring.is-online{border-top-color:var(--purple);border-right-color:var(--purple)}.storage-ring.is-online span{background:var(--purple)}.profile-row{border-top:1px solid var(--line);align-items:center;gap:9px;padding:8px 10px 0;display:flex}.profile-row-copy{flex:1;min-width:0}.profile-row-copy strong,.profile-row-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-logout-button{color:#9aa1b1;background:0 0;border-radius:8px;flex:0 0 29px;place-items:center;width:29px;height:29px;transition:color .18s,background .18s;display:grid}.sidebar-logout-button:hover{color:#bd625d;background:#fff0ee}.sidebar-logout-button:disabled{cursor:progress;opacity:.55}.main-area{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.topbar{z-index:30;-webkit-backdrop-filter:blur(22px)saturate(125%);backdrop-filter:blur(22px)saturate(125%);background:#fcfdff9e;border-bottom:1px solid #e6e9f0c7;justify-content:space-between;align-items:center;height:69px;padding:0 28px;display:flex;position:relative}.topbar-left{align-items:center;gap:8px;min-width:0;display:flex}.sidebar-toggle{color:#80889b;background:#ffffff61;flex:0 0 32px}.sidebar-toggle:hover{color:var(--purple);background:#eef0ffd1}.breadcrumb{color:#a1a8b8;align-items:center;gap:9px;font-size:11px;display:flex}.breadcrumb svg{color:#c1c6d2}.breadcrumb strong{color:#3e465a;font-size:12px}.saved-state{color:#26a38a;align-items:center;gap:5px;margin-left:8px;font-size:10px;font-weight:700;display:inline-flex}.saved-state.local,.saved-state.connecting{color:#9ca3b3}.saved-state.conflict{color:#d27656}.top-actions{align-items:center;gap:10px;display:flex}.presence-stack{align-items:center;padding-right:10px;display:flex}.presence-stack .avatar{border:2px solid #fbfcfe;margin-left:-6px}.presence-stack .avatar:first-child{margin-left:0}.presence-more{color:#697287;background:#eef0f5;border:2px solid #fbfcfe;border-radius:50%;place-items:center;width:27px;height:27px;margin-left:-5px;font-family:DM Mono,monospace;font-size:9px;display:grid}.button,.icon-button{border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:33px;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}.button:active,.icon-button:active{transform:translateY(1px)}.button-primary{color:#fff;background:var(--purple);padding:0 13px;font-size:11px;font-weight:800;box-shadow:0 6px 14px #5b5ce233}.button-primary:hover{background:#4e50d2;box-shadow:0 8px 18px #5b5ce245}.button-ghost{color:#687186;background:0 0;padding:0 10px;font-size:11px;font-weight:700}.button-ghost:hover{color:var(--purple);background:#f0f1fa}.icon-button{color:#7c8497;background:0 0;width:32px;padding:0}.icon-button:hover{color:var(--purple);background:#eef0fb}.profile-menu-wrap{z-index:31;position:relative}.profile-button{color:#8d95a8;background:0 0;border-radius:9px;align-items:center;gap:4px;min-height:34px;padding:0 2px;display:inline-flex}.profile-button:hover,.profile-button[aria-expanded=true]{color:var(--purple);background:#eef0fb}.profile-button>svg{transition:transform .18s}.profile-button[aria-expanded=true]>svg{transform:rotate(180deg)}.profile-menu{z-index:40;border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffffa;border-radius:11px;width:224px;padding:7px;position:absolute;top:42px;right:0;box-shadow:0 18px 42px #2e375d2b}.profile-menu-user{border-bottom:1px solid var(--line);align-items:center;gap:9px;min-width:0;padding:8px 8px 11px;display:flex}.profile-menu-user>div{min-width:0}.profile-menu-user strong,.profile-menu-user small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.profile-menu-user strong{color:#444c60;font-size:11px}.profile-menu-user small{color:#9aa1b1;margin-top:3px;font-size:9px}.profile-menu-logout{color:#b36763;text-align:left;background:0 0;border-radius:7px;align-items:center;gap:10px;width:100%;margin-top:5px;padding:9px 8px;display:flex}.profile-menu-logout:hover{color:#b65350;background:#fff0ee}.profile-menu-logout:disabled{cursor:progress;opacity:.58}.profile-menu-logout>span{min-width:0}.profile-menu-logout strong,.profile-menu-logout small{display:block}.profile-menu-logout strong{font-size:10px}.profile-menu-logout small{color:#ae9697;margin-top:3px;font-size:8px}.export-wrap{z-index:31;position:relative}.export-menu{z-index:40;border:1px solid var(--line);background:#fffffff7;border-radius:8px;width:190px;padding:5px;display:grid;position:absolute;top:39px;right:0;box-shadow:0 14px 30px #2e375d29}.export-menu button{color:#727b8f;text-align:left;background:0 0;border-radius:5px;padding:8px 9px;font-size:10px}.export-menu button:hover{color:var(--purple);background:#f0f1fb}.hidden-file-input{display:none}.page-header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(115deg,#ffffff8f,#eeefff47 60%,#fff4e961);justify-content:space-between;align-items:end;min-height:116px;padding:27px 28px 23px;display:flex}.date-kicker{color:#959caf;letter-spacing:.01em;align-items:center;gap:7px;margin-bottom:9px;font-family:DM Mono,monospace;font-size:10px;display:flex}.live-pulse{background:var(--orange);border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 4px #f06d451c}.page-header h1{color:#282f43;letter-spacing:-.055em;margin:0;font-size:clamp(23px,2.2vw,32px);font-weight:800;line-height:1.1}.page-header p{color:#9aa1b1;margin:10px 0 0;font-size:11px}.page-related-people{color:#858da1;align-items:center;gap:6px;margin-top:10px;font-size:10px;display:inline-flex}.page-related-people svg{color:#8d85d3}.header-divider{color:#d0d3dc;margin:0 7px}.toolbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fbfcff85;border-bottom:1px solid #e6e9f0b3;justify-content:space-between;align-items:center;min-height:67px;padding:16px 28px 13px;display:flex}.toolbar-left,.toolbar-right{align-items:center;gap:10px;display:flex}.batch-move-control{color:#777b9b;white-space:nowrap;background:#f8f8ff;border:1px solid #dddff7;border-radius:8px;align-items:center;gap:5px;padding:3px 4px 3px 8px;font-size:9px;display:inline-flex}.batch-move-control input{color:#5e647a;text-align:center;background:#fff;border:1px solid #e3e5ef;border-radius:5px;outline:0;width:42px;height:26px;padding:0 5px;font-family:DM Mono,monospace;font-size:9px}.batch-move-control .button{min-height:26px;padding:0 8px;font-size:9px}.segmented-control{border:1px solid var(--line);background:#f2f4f9;border-radius:8px;padding:3px;display:inline-flex}.segmented-control button{color:#949bad;background:0 0;border-radius:5px;min-width:28px;height:24px;font-size:10px;font-weight:800}.segmented-control button.is-active{color:var(--ink);background:#fff;box-shadow:0 2px 5px #2f37561a}.search-box{border:1px solid var(--line);color:#9aa2b3;background:#fff;border-radius:8px;align-items:center;gap:7px;width:187px;height:33px;padding:0 9px;display:flex}.search-box input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:10px}.search-box input::placeholder{color:#adb3c0}.search-box kbd{color:#a5acba;background:#fafbfc;border:1px solid #e8eaf0;border-radius:4px;align-items:center;gap:2px;padding:3px 4px;font-family:DM Mono,monospace;font-size:9px;display:inline-flex}.filter-control{border:1px solid var(--line);color:#9aa2b3;background:#fff;border-radius:8px;align-items:center;gap:6px;height:33px;padding:0 9px;display:inline-flex}.filter-control select{color:#687186;background:0 0;border:0;outline:0;font-size:10px;font-weight:700}.project-view-control{max-width:168px}.project-view-control svg{color:var(--purple);flex:none}.project-view-control select{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:132px;overflow:hidden}.timeline-navigation{border:1px solid var(--line);background:#ffffffbd;border-radius:9px;align-items:center;gap:2px;height:33px;padding:2px;display:inline-flex}.timeline-navigation-arrow{color:#858da0;background:0 0;border-radius:6px;place-items:center;width:27px;height:27px;display:grid}.timeline-navigation-arrow:hover{color:var(--purple);background:#f0f1fb}.timeline-navigation-arrow:focus-visible{outline-offset:1px;outline:2px solid #5b5ce259}.timeline-today-button{height:27px;box-shadow:none;background:0 0;border:0;padding:0 7px}.timeline-date-jump{color:#7f8799;background:0 0;border:0;border-left:1px solid #e9ebf2;outline:0;width:108px;height:27px;padding:0 4px 0 7px;font-family:DM Mono,monospace;font-size:8px}.timeline-date-jump:focus{background:#f7f7ff;border-left-color:#dfe1f4}.timeline-range-label{color:#9299aa;white-space:nowrap;min-width:54px;padding:0 7px 0 0;font-family:DM Mono,monospace;font-size:8px}.risk-strip{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffbf9a3;border:1px solid #f1e0d9c7;border-radius:9px;align-items:center;min-height:42px;margin:0 28px 13px;padding:0 12px;display:flex}.risk-strip-title,.risk-items,.risk-items button{align-items:center;display:flex}.risk-strip-title{white-space:nowrap;gap:7px}.risk-icon{color:#e47450;background:#ffebdf;border-radius:7px;place-items:center;width:23px;height:23px;display:grid}.risk-strip-title strong{color:#5f6271;font-size:10px}.risk-chip{color:#c56f52;background:#fff0e8;border-radius:5px;padding:4px 6px;font-size:9px;font-weight:700}.risk-items{gap:20px;margin-left:25px}.risk-items button{color:#9899a7;background:0 0;gap:5px;font-size:9px}.risk-items button:hover{color:#c76849}.risk-items svg{color:#b7a49a}.risk-dot{border-radius:50%;width:6px;height:6px}.risk-dot.red{background:#ee6b59}.risk-dot.amber{background:#e8a447}.risk-collapse{color:#b2a8a4;background:0 0;place-items:center;width:25px;height:25px;margin-left:auto;display:grid}.risk-strip-collapsed{color:#c56f52;text-align:left;background:#fffbf9;border:1px solid #f1e0d9;border-radius:8px;align-items:center;gap:7px;min-height:30px;margin:0 28px 13px;padding:0 12px;font-size:9px;font-weight:800;display:flex}.risk-strip-collapsed span{color:#a99792;font-weight:500}.risk-strip-collapsed svg:last-child{margin-left:auto;transform:rotate(180deg)}.gantt-card{border:1px solid var(--glass-line);-webkit-backdrop-filter:blur(18px)saturate(120%);backdrop-filter:blur(18px)saturate(120%);background:#ffffffab;border-radius:16px;flex-direction:column;flex:1;min-height:0;margin:0 28px 25px;display:flex;overflow:hidden;box-shadow:0 20px 58px #2e375d16}.gantt-scroll{overscroll-behavior:contain;touch-action:pan-x pan-y;scrollbar-color:#cfd4e1 transparent;scrollbar-width:thin;flex:1;min-height:0;overflow:auto}.gantt-inner{min-height:100%}.virtual-spacer-row{pointer-events:none;width:100%}.gantt-grid-row{grid-template-columns:362px auto;min-width:max-content;display:grid}.gantt-header-row{z-index:7;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fcfdffbd;border-bottom:1px solid #d8dde8d1;height:74px;position:sticky;top:0}.sticky-cell{z-index:6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fcfdffbd;position:sticky;left:0;box-shadow:7px 0 16px -17px #2e375d73}.gantt-header-row .sticky-cell{z-index:8}.task-column-header{border-right:1px solid var(--line);color:#727b91;letter-spacing:.04em;justify-content:space-between;align-items:center;padding:0 18px;font-size:10px;font-weight:800;display:flex;position:sticky}.column-hint{color:#b3b8c5;font-family:DM Mono,monospace;font-size:9px;font-weight:400}.column-resizer{z-index:8;cursor:col-resize;background:0 0;width:8px;position:absolute;top:0;bottom:0;right:-4px}.column-resizer:after{content:"";opacity:0;background:#d9ddea;border-radius:2px;width:2px;transition:opacity .15s,background .15s;position:absolute;top:26px;bottom:26px;left:3px}.task-column-header:hover .column-resizer:after,.column-resizer:focus-visible:after{background:var(--purple);opacity:1}.timeline-header{position:relative;overflow:hidden}.month-row,.day-row{display:flex}.month-row{border-bottom:1px solid #f0f1f5;align-items:center;height:29px}.month-cell{color:#8b93a7;white-space:nowrap;border-right:1px solid #f0f1f5;height:100%;padding:9px 6px 0;font-family:DM Mono,monospace;font-size:9px;font-weight:500}.month-cell.month-start{font-weight:700}.day-row{height:45px}.day-cell{color:#939aac;border-right:1px solid #eef0f5;flex-direction:column;justify-content:center;align-items:center;gap:5px;font-family:DM Mono,monospace;font-size:10px;display:flex}.day-cell small{color:#b1b6c3;text-transform:uppercase;font-family:Manrope,sans-serif;font-size:8px}.day-cell.is-today{color:var(--orange);font-weight:800}.now-line{z-index:5;background:var(--orange);pointer-events:none;width:1px;position:absolute;top:0;bottom:-2000px;box-shadow:0 0 0 1px #f06d4508,0 0 13px #f06d4547}.now-line span{color:#fff;background:var(--orange);white-space:nowrap;border-radius:4px;padding:3px 5px;font-size:8px;font-weight:800;position:absolute;top:6px;left:-13px}.task-row{border-bottom:1px solid #eef0f5;min-height:61px}.task-row:hover{background:#fcfcff}.task-row.selected-row{background:#fbfbff}.project-summary-row{background:linear-gradient(90deg,#fafafff5,#fdfdff9e)}.project-summary-row:hover{background:linear-gradient(90deg,#f7f7fffa,#fbfbffcc)}.project-summary-row .task-cell{background:#fafaffe0}.project-summary-row .timeline-cell{background:#fafaff6b}.project-start-row .task-cell,.project-start-row .timeline-cell{border-top:2px solid color-mix(in srgb, var(--project-color), transparent 72%)}.project-start-row .task-cell{background:color-mix(in srgb, var(--project-color), white 97%)}.project-start-row .timeline-cell{background:color-mix(in srgb, var(--project-color), white 98%)}.task-cell{border-right:1px solid var(--line);cursor:pointer;justify-content:space-between;align-items:center;min-height:61px;padding:0 12px 0 16px;display:flex}.task-indent{align-items:center;gap:7px;min-width:0;display:flex}.task-indent.project-indent{gap:8px}.task-select-checkbox{width:13px;height:13px;accent-color:var(--purple);cursor:pointer;flex:0 0 13px}.task-indent.phase-indent{gap:7px}.task-name-wrap{flex-direction:column;gap:3px;min-width:0;display:flex}.row-project-label{color:var(--project-color);letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;font-family:DM Mono,monospace;font-size:8px;font-weight:800;display:flex;overflow:hidden}.row-project-dot{border-radius:50%;flex:0 0 5px;width:5px;height:5px;box-shadow:0 0 0 3px #5b5ce212}.collapse-button{color:#8b92a5;background:0 0;border-radius:5px;flex:0 0 19px;place-items:center;width:19px;height:19px;display:grid}.collapse-button:hover{color:var(--purple);background:#f0f1fb}.child-branch{border-bottom:1px solid #e2e5ec;border-left:1px solid #e2e5ec;border-bottom-left-radius:5px;flex:0 0 16px;width:16px;height:16px}.phase-mark{border-radius:3px;flex:0 0 8px;width:8px;height:8px;box-shadow:0 0 0 3px #5b5ce217}.project-summary-mark{width:10px;height:10px;box-shadow:0 0 0 4px color-mix(in srgb, var(--project-color), transparent 86%);border-radius:4px;flex:0 0 10px}.task-type-mark{color:#b7bdca;text-align:center;flex:0 0 15px;width:15px;font-size:16px;line-height:1}.task-name{color:#5e667a;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700;overflow:hidden}.phase-row .task-name{color:#343b51;font-size:12px;font-weight:800}.project-summary-row .task-name{color:#2e3549;letter-spacing:-.02em;font-size:12px;font-weight:850}.project-summary-hint{color:#9299ac;white-space:nowrap;font-size:8px;font-weight:500}.milestone-group-list{align-items:center;gap:4px;min-width:0;display:flex;overflow:hidden}.milestone-group-item{color:#687087;text-align:left;white-space:nowrap;background:#f6f6ffdb;border-radius:6px;flex:0 auto;align-items:flex-start;gap:3px;min-width:0;max-width:132px;padding:2px 4px;font-size:9px;font-weight:800;display:inline-flex}.milestone-group-item:hover,.milestone-group-item.is-selected{color:var(--purple);background:#eeefff}.milestone-group-checkbox{width:11px;height:11px;accent-color:var(--purple);cursor:pointer;flex:0 0 11px;margin:0}.milestone-group-open{min-width:0;color:inherit;font-size:inherit;font-weight:inherit;text-align:left;background:0 0;align-items:flex-start;gap:5px;padding:3px 2px;display:inline-flex}.milestone-group-open>span:last-child{text-overflow:ellipsis;min-width:0;overflow:hidden}.milestone-group-marker{border:2px solid var(--milestone-color);background:#fff;border-radius:2px;flex:0 0 8px;width:8px;height:8px;transform:rotate(45deg)}.milestone-group-content{flex-direction:column;gap:2px;min-width:0;display:flex}.milestone-group-title{text-overflow:ellipsis;overflow:hidden}.milestone-group-people{color:#9299aa;align-items:center;gap:3px;min-width:0;max-width:102px;font-size:8px;font-weight:500;line-height:1.15;display:inline-flex;overflow:hidden}.milestone-group-people span{text-overflow:ellipsis;overflow:hidden}.milestone-group-people svg{color:#8d85d3;flex:none}.milestone-group-count{flex:none}.task-side-meta{align-items:center;gap:8px;margin-left:9px;display:flex}.project-summary-meta{gap:7px}.row-related-people{color:#8e96a8;white-space:nowrap;align-items:center;gap:3px;max-width:112px;font-family:DM Mono,monospace;font-size:9px;display:inline-flex;overflow:hidden}.row-related-people svg{color:#8d85d3}.row-related-people span{text-overflow:ellipsis;overflow:hidden}.row-related-people-below,.row-project-people{max-width:172px;font-family:Manrope,sans-serif;font-size:8px;line-height:1.15}.row-related-people-below{margin-top:1px}.row-project-people{margin-top:-1px}.row-progress-input{color:#5f6780;text-align:right;background:#ffffffa3;border:1px solid #d8ddeae6;border-radius:6px;outline:0;width:42px;height:25px;margin:0;padding:0 4px;font-family:DM Mono,monospace;font-size:9px}.row-progress-input:focus{background:#fff;border-color:#b8baf2;box-shadow:0 0 0 3px #5b5ce214}.row-progress-input::-webkit-inner-spin-button{opacity:.55;margin:0}.row-progress-input::-webkit-outer-spin-button{opacity:.55;margin:0}.row-progress{color:#9ca4b4;white-space:nowrap;align-items:center;gap:3px;font-family:DM Mono,monospace;font-size:9px;display:inline-flex}.row-progress.has-risk-text{color:#d17b60}.row-more{color:#c2c7d1;opacity:0}.task-row:hover .row-more,.selected-row .row-more{opacity:1}.phase-count{color:#b4bac7;font-family:DM Mono,monospace;font-size:9px}.timeline-cell{background:#ffffff75;min-height:61px;display:flex;position:relative;overflow:hidden}.phase-timeline-cell{background:#fdfdff94}.grid-day{border-right:1px solid #f0f1f5;flex:none;height:100%;display:inline-block}.grid-day.is-today{background:#f06d4509}.today-seam{z-index:2;pointer-events:none;background:#f06d45a6;width:1px;position:absolute;top:0;bottom:0}.task-bar,.milestone-bar{z-index:3;position:absolute}.task-bar{color:#fff;background:color-mix(in srgb, var(--task-color), white 76%);height:34px;box-shadow:0 10px 20px color-mix(in srgb, var(--task-color), transparent 72%);cursor:grab;border:0;border-radius:8px;align-items:center;transition:box-shadow .16s,filter .16s;display:flex;top:50%;overflow:hidden;transform:translateY(-50%)}.task-bar:active{cursor:grabbing}.task-bar:hover,.task-bar.is-selected{z-index:5;filter:saturate(1.08);box-shadow:0 12px 24px color-mix(in srgb, var(--task-color), transparent 58%)}.task-bar.is-selected{outline:2px solid color-mix(in srgb, var(--task-color), #fff 10%);outline-offset:2px}.task-bar-phase{border-radius:8px;height:35px}.task-bar-progress{z-index:0;width:var(--task-progress);border-radius:inherit;background:var(--task-color);pointer-events:none;transition:width .18s;position:absolute;inset:0 auto 0 0}.task-bar-title-layer{z-index:1;pointer-events:none;align-items:center;min-width:0;padding:0 10px;display:flex;position:absolute;inset:0;overflow:hidden}.task-bar-title-light{color:#fff;clip-path:inset(0 calc(100% - var(--task-progress-width)) 0 0)}.task-bar-title-dark{color:#4f5870;clip-path:inset(0 0 0 var(--task-progress-width))}.task-bar-title-text{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:10px;font-weight:800;overflow:hidden}.task-bar-content{z-index:2;pointer-events:none;justify-content:flex-end;align-items:center;gap:8px;width:100%;min-width:0;padding:0 10px;display:flex;position:relative}.task-bar-meta{color:#ffffffd6;flex:none;align-items:center;gap:5px;margin-left:auto;font-family:DM Mono,monospace;font-size:9px;display:inline-flex}.task-bar-people{align-items:center;gap:3px;display:inline-flex}.task-bar-meta svg{color:#ffd6bd}.task-bar.is-low-progress .task-bar-meta{color:#5f6780}.task-bar.is-low-progress .task-bar-meta svg{color:var(--task-color)}.resize-handle{z-index:2;opacity:0;cursor:ew-resize;background:#ffffffd9;border-radius:3px;width:5px;transition:opacity .15s;position:absolute;top:7px;bottom:7px}.task-bar:hover .resize-handle,.task-bar.is-selected .resize-handle{opacity:.9}.resize-start{left:3px}.resize-end{right:3px}.dependency-handle{z-index:6;border:1px solid color-mix(in srgb, var(--task-color), white 18%);width:22px;height:22px;color:var(--task-color);box-shadow:0 2px 7px #29304e33, 0 0 0 2px color-mix(in srgb, var(--task-color), transparent 78%);cursor:crosshair;opacity:0;background:#fffffff5;border-radius:50%;place-items:center;padding:0;transition:opacity .15s,transform .15s,box-shadow .15s,background .15s;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.dependency-handle svg{pointer-events:none}.task-bar:hover .dependency-handle,.task-bar.is-selected .dependency-handle,.dependency-handle:focus-visible{opacity:1;transform:translateY(-50%)scale(1.02)}.dependency-handle:hover{color:#fff;background:var(--task-color);box-shadow:0 3px 10px color-mix(in srgb, var(--task-color), transparent 55%), 0 0 0 3px color-mix(in srgb, var(--task-color), transparent 72%);transform:translateY(-50%)scale(1.08)}.project-stage-lane{z-index:3;position:absolute;inset:0;overflow:hidden}.project-stage-segment{color:#4f5870;background:color-mix(in srgb, var(--stage-color), white 78%);min-width:0;height:29px;box-shadow:0 7px 15px color-mix(in srgb, var(--stage-color), transparent 86%);cursor:pointer;text-align:left;border:0;border-radius:8px;align-items:center;padding:0 8px;transition:filter .16s,box-shadow .16s,transform .16s;display:flex;position:absolute;overflow:hidden}.project-stage-segment.is-overlap{border-radius:6px;height:21px;padding:0 6px}.project-stage-segment:hover,.project-stage-segment.is-selected{z-index:5;filter:saturate(1.08);box-shadow:0 9px 18px color-mix(in srgb, var(--stage-color), transparent 72%);transform:translateY(-1px)}.project-stage-progress{z-index:0;width:var(--stage-progress-width);border-radius:inherit;background:var(--stage-color);opacity:.95;pointer-events:none;max-width:100%;position:absolute;inset:0 auto 0 0}.project-stage-title,.project-stage-percent{z-index:1;text-overflow:ellipsis;white-space:nowrap;position:relative;overflow:hidden}.project-stage-title{flex:auto;min-width:0;font-size:9px;font-weight:850}.project-stage-percent{color:#4f5870c2;flex:none;margin-left:6px;font-family:DM Mono,monospace;font-size:8px}.project-stage-milestone{color:#5b6277;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;width:max-content;padding:0;display:inline-flex;position:absolute;transform:translateY(-50%)}.project-stage-milestone:hover,.project-stage-milestone.is-selected{z-index:5;color:var(--stage-color)}.project-stage-diamond{border:2px solid var(--stage-color);width:12px;height:12px;box-shadow:0 0 0 4px color-mix(in srgb, var(--stage-color), transparent 88%);background:#fff;border-radius:3px;flex:0 0 12px;transform:rotate(45deg)}.project-stage-label{text-overflow:ellipsis;white-space:nowrap;background:#ffffffe0;border-radius:5px;max-width:150px;padding:3px 5px;font-size:9px;font-weight:800;overflow:hidden}.milestone-bar{color:#5b6277;background:0 0;align-items:center;gap:8px;width:max-content;padding:0;display:flex;top:50%;transform:translateY(-50%)}.milestone-bar-grouped{gap:6px}.milestone-diamond{border:3px solid var(--task-color);width:15px;height:15px;box-shadow:0 0 0 4px color-mix(in srgb, var(--task-color), transparent 88%);background:#fff;border-radius:4px;display:block;transform:rotate(45deg)}.milestone-bar.is-selected .milestone-diamond{box-shadow:0 0 0 5px color-mix(in srgb, var(--task-color), transparent 78%)}.milestone-label{white-space:nowrap;background:#fff;border-radius:5px;padding:4px 6px;font-size:10px;font-weight:800}.milestone-bar-grouped .milestone-label{padding:3px 5px;font-size:9px}.empty-results{color:#a2a9b7;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-width:600px;min-height:260px;display:flex}.empty-results svg{color:#c5c9d3;margin-bottom:5px}.empty-results strong{color:#6d7588;font-size:12px}.empty-results span{font-size:10px}.empty-results button{color:var(--purple);background:#eeefff;border-radius:6px;margin-top:8px;padding:6px 10px;font-size:10px;font-weight:800}.gantt-footer{border-top:1px solid var(--line);color:#a1a8b7;align-items:center;gap:15px;min-height:35px;padding:0 15px;font-size:9px;display:flex}.gantt-footer>span:not(.footer-shortcut){align-items:center;gap:5px;display:inline-flex}.legend-dot{border-radius:3px;width:7px;height:7px}.legend-dot.plan{background:var(--purple)}.legend-dot.complete{background:var(--green)}.legend-dot.today{background:var(--orange)}.legend-diamond{border:2px solid var(--orange);border-radius:2px;width:7px;height:7px;transform:rotate(45deg)}.footer-shortcut{color:#b7bdc9;margin-left:auto}.avatar{color:#fff;border:2px solid #fff;border-radius:50%;flex:none;place-items:center;font-size:9px;font-weight:800;display:inline-grid;position:relative;box-shadow:0 2px 5px #252c4421}.avatar-small{width:25px;height:25px}.avatar-large{width:31px;height:31px;font-size:10px}.avatar-empty{color:#b3b9c7;box-shadow:none;background:#f6f7fa;border:1px dashed #cbd0da}.avatar-muted{filter:grayscale();opacity:.65}.online-dot{background:#26b68e;border:1px solid #fff;border-radius:50%;width:6px;height:6px;position:absolute;bottom:-1px;right:-1px}.detail-drawer{z-index:10;overscroll-behavior:contain;touch-action:pan-y;-webkit-backdrop-filter:blur(26px)saturate(125%);backdrop-filter:blur(26px)saturate(125%);background:#ffffffb8;border-left:1px solid #d8ddeac2;flex-direction:column;flex:0 0 356px;width:356px;padding:24px 22px 20px;display:flex;overflow-y:auto;box-shadow:-18px 0 44px #2e375d17}.drawer-header,.drawer-kicker,.drawer-meta-line,.section-heading,.comment-author,.drawer-bottom{align-items:center;display:flex}.drawer-header{justify-content:space-between}.drawer-kicker{color:#9da4b3;text-transform:uppercase;gap:7px;font-family:DM Mono,monospace;font-size:9px}.drawer-color{border-radius:3px;width:7px;height:7px}.drawer-title-wrap{align-items:start;gap:6px;margin-top:21px;display:flex}.drawer-title-input{color:#2e3548;letter-spacing:-.045em;background:0 0;border:0;outline:0;width:100%;min-width:0;padding:0;font-size:18px;font-weight:800;line-height:1.25}.drawer-sort-actions{gap:2px;display:inline-flex}.drawer-sort-actions .icon-button{width:24px;height:24px}.icon-button.subtle{width:25px;height:25px}.drawer-meta-line{flex-wrap:wrap;gap:8px 11px;margin-top:10px}.status-badge{border-radius:5px;align-items:center;gap:5px;padding:5px 7px;font-size:9px;font-weight:800;display:inline-flex}.status-select-wrap{cursor:pointer}.status-select{min-width:54px;color:inherit;font-size:inherit;font-weight:inherit;appearance:none;cursor:pointer;background:0 0;border:0;outline:0;padding:0 1px}.status-select-wrap>svg:last-child{pointer-events:none;flex:none;margin-left:-2px}.status-badge.active{color:#5558c9;background:#eeefff}.status-badge.done{color:#1f9c81;background:#e8f7f2}.status-badge.muted{color:#848c9d;background:#f1f3f7}.status-badge.paused{color:#be7f39;background:#fff3df}.status-badge.cancelled{color:#c07072;background:#fff0f0}.drawer-updated{color:#b0b5c2;align-items:center;gap:4px;font-size:9px;display:inline-flex}.editing-hint{color:#777bc6;align-items:center;gap:4px;font-size:9px;display:inline-flex}.editing-pulse{background:#777be0;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #777be01f}.drawer-section{border-bottom:1px solid #edf0f4db;padding:18px 0}.participant-picker{flex-wrap:wrap;gap:6px;margin-top:9px;display:flex}.participant-option{color:#7b8395;cursor:pointer;background:#fbfcfd;border:1px solid #e8eaf0;border-radius:6px;align-items:center;gap:5px;padding:5px 7px;font-size:9px;display:inline-flex}.participant-option.is-selected{color:#5b5cc5;background:#f7f7ff;border-color:#cfd1f5}.participant-option input{width:12px;height:12px;accent-color:var(--purple);margin:0}.participant-option .avatar{width:19px;height:19px;font-size:8px}.progress-section{padding-top:21px}.section-heading{justify-content:space-between}.section-heading>span,.section-heading>strong{color:#6e768a;font-size:10px}.section-heading strong{color:var(--purple);font-family:DM Mono,monospace;font-size:12px}.progress-input-wrap{color:var(--purple);align-items:center;gap:4px;font-family:DM Mono,monospace;font-size:12px;font-weight:800;display:inline-flex}.progress-number-input{width:54px;height:31px;color:var(--purple);text-align:right;background:#f4f4ffd1;border:1px solid #cfd2f4f5;border-radius:8px;outline:0;padding:0 6px;font-family:DM Mono,monospace;font-size:12px;font-weight:800}.progress-number-input:focus{border-color:var(--purple);background:#fff;box-shadow:0 0 0 4px #5b5ce21a}.progress-number-input::-webkit-inner-spin-button{opacity:.65;margin:0}.progress-number-input::-webkit-outer-spin-button{opacity:.65;margin:0}.progress-input-hint{color:#a1a8b7;margin-top:10px;font-size:9px}.field-label{color:#929aab;letter-spacing:.03em;margin-bottom:8px;font-size:9px;font-weight:800;display:block}.description-input,.comment-compose textarea{resize:vertical;color:#6b7386;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fafbfc9e;border:1px solid #e8eaf0db;border-radius:9px;outline:0;width:100%;min-height:59px;padding:9px 10px;font-size:10px;line-height:1.6}.description-input:focus,.comment-compose textarea:focus{background:#fff;border-color:#bebff3}.drawer-text-input{color:#6b7386;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fafbfc9e;border:1px solid #e8eaf0db;border-radius:9px;outline:0;width:100%;min-height:34px;padding:0 10px;font-size:10px}.field-hint{color:#a4abba;margin-top:5px;font-size:8px;line-height:1.4;display:block}.drawer-text-input:focus{background:#fff;border-color:#bebff3}.field-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.field-grid input,.field-grid select,.drawer-section>select{color:#626b80;background:#fafbfc;border:1px solid #e8eaf0;border-radius:7px;outline:0;width:100%;height:33px;padding:0 9px;font-size:10px}.field-grid input:focus,.field-grid select:focus{background:#fff;border-color:#bebff3}.duration-note{color:#a2a8b7;align-items:center;gap:6px;padding:10px 0 0;font-size:9px;display:flex}.duration-note svg{color:#9ba3b4}.duration-note strong{color:#6e778a;font-family:DM Mono,monospace;font-weight:500}.move-project-section{gap:7px;display:grid}.move-project-select{color:#626b80;background:#fafbfc;border:1px solid #e8eaf0;border-radius:7px;outline:0;width:100%;height:33px;padding:0 9px;font-size:10px}.move-project-select:focus{background:#fff;border-color:#bebff3}.move-project-select:disabled{color:#aeb4c0;cursor:not-allowed}.move-project-section small{color:#a7adba;font-size:9px;line-height:1.45}.status-options{grid-template-columns:1fr 1fr;gap:6px;display:grid}.status-options button{color:#8b93a4;text-align:left;background:#fbfcfd;border:1px solid #edf0f4;border-radius:7px;align-items:center;gap:6px;min-height:31px;padding:0 8px;font-size:9px;display:flex}.status-options button.is-selected{color:#5658bd;background:#f4f4ff;border-color:#d3d4f7;font-weight:800}.status-dot{background:#bec4cf;border-radius:50%;width:7px;height:7px}.status-dot.active{background:var(--purple)}.status-dot.done{background:var(--green)}.status-dot.paused{background:#e3a348}.status-dot.cancelled{background:#d87978}.dependency-section{padding-bottom:14px}.dependency-count,.comment-count{color:#afb5c1;align-items:center;gap:4px;font-family:DM Mono,monospace;font-size:9px;display:inline-flex}.dependency-item{color:#70788c;background:#fafbfc;border-radius:6px;align-items:center;gap:6px;min-height:31px;margin-top:8px;padding:0 8px;font-size:9px;display:flex}.dependency-item svg:first-child{color:var(--purple)}.dependency-item svg:nth-of-type(2){color:#bcc2cf;margin-left:auto}.dependency-status{color:#a7adbb}.dependency-item button{color:#b9bfca;background:0 0;border-radius:4px;place-items:center;width:20px;height:20px;margin-left:2px;display:grid}.dependency-item button:hover{color:#c16c68;background:#fff1f1}.empty-dependency{color:#b0b6c2;align-items:center;gap:6px;margin-top:10px;font-size:9px;display:flex}.empty-dependency svg{color:#bfc4cf}.dependency-add{gap:6px;margin-top:9px;display:flex}.dependency-add select{color:#8a92a3;background:#fafbfc;border:1px solid #e8eaf0;border-radius:6px;flex:1;min-width:0;height:29px;padding:0 7px;font-size:9px}.dependency-add select:disabled{color:#b4bac6;cursor:not-allowed;background:#f4f5f8}.dependency-add button{color:#fff;background:var(--purple);border-radius:6px;place-items:center;width:29px;height:29px;display:grid}.dependency-add button:disabled{color:#b9bdca;cursor:not-allowed;background:#f0f1f5}.dependency-add-hint{color:#a7adba;margin-top:6px;font-size:9px;line-height:1.4;display:block}.dependency-preview{background:#fffaf8;border:1px solid #f1dfd8;border-radius:8px;padding:10px}.dependency-preview p{color:#9f827b;margin:5px 0 9px;font-size:9px;line-height:1.45}.dependency-preview .button{color:#b36f5d;background:#fff;border-color:#f0d6cc;min-height:28px;padding:0 9px;font-size:9px}.dependency-preview-modal{background:#fff;border:1px solid #fff;border-radius:16px;width:min(620px,100%);max-height:min(720px,90vh);padding:24px;overflow-y:auto;box-shadow:0 24px 65px #1a213e2e}.dependency-preview-list{gap:7px;margin-top:22px;display:grid}.dependency-preview-row{background:#fbfcfd;border:1px solid #edf0f4;border-radius:8px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:9px;padding:10px 11px;display:grid}.dependency-preview-row>div{min-width:0}.dependency-preview-row>svg{color:#b6bcc9}.dependency-preview-row strong,.dependency-preview-row small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.dependency-preview-row strong{color:#626b7f;font-size:10px}.dependency-preview-row small{color:#a7adba;margin-top:4px;font-family:DM Mono,monospace;font-size:8px}.dependency-preview-next{background:#f2f2ff;border-radius:6px;padding:7px 8px}.dependency-preview-next strong{color:#5b5cc5}.row-status,.row-dates,.row-priority{color:#a0a7b5;white-space:nowrap;font-size:8px}.row-status{background:#f2f3f7;border-radius:4px;padding:3px 5px}.row-status.status-active{color:#5c74b6;background:#eef2ff}.row-status.status-done{color:#3e957e;background:#effaf6}.row-status.status-paused,.row-status.status-cancelled{color:#b17b5d;background:#fff7ee}.row-dates{font-family:DM Mono,monospace}.row-priority{text-align:center;min-width:12px}.row-priority.priority-high{color:#d47158}.row-priority.priority-low{color:#9ba3b1}.comments-section{padding-bottom:13px}.comment-item{gap:8px;margin-top:13px;display:flex}.comment-body{flex:1;min-width:0}.comment-author{gap:7px}.comment-author strong{color:#697287;font-size:9px}.comment-author span{color:#b1b6c2;font-family:DM Mono,monospace;font-size:8px}.comment-item p{color:#858d9f;margin:4px 0 0;font-size:9px;line-height:1.55}.comment-delete{color:#b6bbc7;opacity:0;background:0 0;border-radius:5px;flex:0 0 22px;place-items:center;width:22px;height:22px;display:grid}.comment-item:hover .comment-delete,.comment-delete:focus-visible{color:#bd766e;opacity:1;background:#fff0ef}.comment-compose{margin-top:13px;position:relative}.comment-compose textarea{min-height:52px;padding-right:45px}.comment-compose button{color:var(--purple);background:#eeefff;border-radius:5px;padding:4px 6px;font-size:9px;font-weight:800;position:absolute;bottom:7px;right:7px}.comment-compose button:disabled{color:#c3c7d2;cursor:not-allowed;background:#f4f5f8}.activity-section{padding:11px 0 10px}.activity-toggle{color:#8b93a4;text-align:left;background:0 0;border-radius:6px;justify-content:space-between;align-items:center;width:100%;padding:3px 2px;display:flex}.activity-toggle:hover{background:#f7f7fc}.activity-toggle-label{align-items:center;gap:4px;display:inline-flex}.activity-toggle-label .field-label{margin-bottom:0}.activity-toggle-label>svg{color:#aab1bf;transition:transform .18s}.activity-section.is-open .activity-toggle-label>svg{color:var(--purple);transform:rotate(90deg)}.activity-item{gap:8px;margin-top:11px;display:flex}.activity-mark{border:2px solid #b7b9ee;border-radius:50%;flex:0 0 7px;width:7px;height:7px;margin-top:4px}.activity-item>div{color:#858d9f;flex-wrap:wrap;align-items:baseline;gap:4px;font-size:9px;display:flex}.activity-item strong{color:#687187}.activity-item small{color:#b1b6c2;width:100%;font-family:DM Mono,monospace;font-size:8px}.drawer-bottom{color:#b3b8c3;justify-content:space-between;padding-top:17px;font-size:9px}.drawer-bottom>span{align-items:center;gap:5px;display:inline-flex}.danger-button{color:#c17e7e;background:0 0;align-items:center;gap:6px;padding:4px 0;font-size:9px;display:inline-flex}.danger-button:hover{color:#b65f63}.floating-undo{z-index:20;border:1px solid var(--line);background:#fffffff0;border-radius:8px;padding:4px;display:flex;position:fixed;bottom:26px;right:378px;box-shadow:0 7px 22px #2e375d1a}.floating-undo button{color:#727b8f;background:0 0;border-radius:5px;place-items:center;width:27px;height:27px;display:grid}.floating-undo button:hover:not(:disabled){color:var(--purple);background:#f0f1fb}.floating-undo button:disabled{color:#d4d8e0;cursor:not-allowed}.toast{z-index:25;color:#398975;background:#f4fcf9;border:1px solid #dbebe6;border-radius:8px;align-items:center;gap:8px;padding:10px 13px;font-size:10px;font-weight:700;animation:.22s ease-out toast-in;display:flex;position:fixed;bottom:27px;right:28px;box-shadow:0 10px 24px #2a5d4f21}.toast svg{color:var(--green)}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.auth-gate{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#23293d47;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.auth-card{background:#fffffff5;border:1px solid #fffc;border-radius:18px;width:min(410px,100%);padding:30px 31px 25px;box-shadow:0 30px 80px #1a213e38}.auth-brand{color:#252b3d;letter-spacing:-.04em;align-items:center;gap:9px;font-size:17px;font-weight:800;display:flex}.auth-kicker{color:#9ca3b3;letter-spacing:.12em;margin-top:32px;font-family:DM Mono,monospace;font-size:9px}.auth-card h2{color:#2c3347;letter-spacing:-.05em;margin:8px 0 6px;font-size:25px}.auth-card>p{color:#858d9f;margin:0 0 22px;font-size:11px;line-height:1.6}.auth-card form{gap:14px;display:grid}.auth-card label{color:#778095;gap:7px;font-size:10px;font-weight:800;display:grid}.auth-card input{color:#424a5e;background:#fbfcfe;border:1px solid #e1e4ec;border-radius:8px;outline:0;width:100%;height:39px;padding:0 11px;font-size:11px}.auth-card input:focus{background:#fff;border-color:#acaff1;box-shadow:0 0 0 4px #5b5ce214}.auth-submit{color:#fff;background:var(--purple);border-radius:8px;height:40px;margin-top:4px;font-size:11px;font-weight:800;box-shadow:0 7px 16px #5b5ce238}.auth-submit:hover{background:#4e50d2}.auth-submit:disabled{opacity:.6;cursor:progress}.auth-error{color:#bf6d63;background:#fff1ef;border-radius:7px;align-items:center;gap:6px;padding:8px 9px;font-size:10px;line-height:1.4;display:flex}.auth-switches{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:19px;display:flex}.auth-switches span{color:#9ca3b3;font-size:9px}.auth-switches button{color:#81899d;background:0 0;padding:0;font-size:9px}.auth-switches button:hover{color:var(--purple)}.modal-backdrop{z-index:45;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#23293d33;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.recycle-modal{background:#fff;border:1px solid #fff;border-radius:16px;width:min(510px,100%);padding:24px;box-shadow:0 24px 65px #1a213e2e}.modal-header{justify-content:space-between;gap:20px;display:flex}.modal-header h2{color:#30374b;letter-spacing:-.045em;margin:5px 0 6px;font-size:22px}.modal-header p{color:#929aaa;max-width:350px;margin:0;font-size:10px;line-height:1.55}.recycle-list{gap:7px;margin-top:22px;display:grid}.recycle-item{background:#fbfcfd;border:1px solid #edf0f4;border-radius:8px;justify-content:space-between;align-items:center;padding:10px 11px;display:flex}.recycle-item strong,.recycle-item small{display:block}.recycle-item strong{color:#626b7f;font-size:10px}.recycle-item small{color:#a7adba;margin-top:4px;font-size:9px}.recycle-item button{color:var(--purple);background:#eeefff;border-radius:6px;padding:6px 9px;font-size:9px;font-weight:800}.recycle-actions{align-items:center;gap:5px;display:flex}.recycle-actions button:disabled{color:#b7bbc7;cursor:not-allowed;background:#f1f2f6}.recycle-actions .permanent-delete-button{color:#bd766e;background:#fff0ef}.recycle-empty{color:#b1b7c4;flex-direction:column;align-items:center;gap:7px;padding:40px 0 21px;display:flex}.recycle-empty svg{color:#c5c9d5}.recycle-empty strong{color:#70798b;font-size:11px}.recycle-empty span{font-size:9px}.task-create-modal{background:#fff;border:1px solid #fff;border-radius:16px;width:min(590px,100%);max-height:min(760px,90vh);padding:24px;overflow-y:auto;box-shadow:0 24px 65px #1a213e2e}.task-create-form{gap:13px;margin-top:22px;display:grid}.task-create-form input,.task-create-form select{color:#626b80;background:#fafbfc;border:1px solid #e8eaf0;border-radius:7px;outline:0;width:100%;height:35px;margin-top:7px;padding:0 9px;font-size:10px}.task-create-kind{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.task-kind-option{cursor:pointer;background:#fbfcfd;border:1px solid #e8eaf0;border-radius:8px;align-items:flex-start;gap:7px;padding:10px;display:flex}.task-kind-option.is-selected{background:#f7f7ff;border-color:#cfd1f5}.task-kind-option input{width:13px;height:13px;accent-color:var(--purple);margin:1px 0 0}.task-kind-option span{min-width:0}.task-kind-option strong,.task-kind-option small{display:block}.task-kind-option strong{color:#626b7f;font-size:10px}.task-kind-option small{color:#a7adba;margin-top:4px;font-size:8px}.task-create-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.task-create-actions{justify-content:flex-end;gap:7px;margin-top:4px;display:flex}.task-create-actions .button{min-height:33px;font-size:10px}.team-modal{background:#fff;border:1px solid #fff;border-radius:16px;width:min(620px,100%);max-height:min(720px,90vh);padding:24px;overflow-y:auto;box-shadow:0 24px 65px #1a213e2e}.team-member-list{gap:7px;margin-top:22px;display:grid}.team-member-row{background:#fbfcfd;border:1px solid #edf0f4;border-radius:8px;align-items:center;gap:10px;padding:10px 11px;display:flex}.team-member-row>div{flex:1;min-width:0}.team-member-row strong,.team-member-row small{display:block}.team-member-row strong{color:#626b7f;font-size:10px}.team-member-row small{color:#a7adba;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:9px;overflow:hidden}.role-pill{color:#6668c5;background:#eeefff;border-radius:5px;padding:4px 7px;font-family:DM Mono,monospace;font-size:8px}.sharing-code-card{color:#fff;text-align:left;background:linear-gradient(135deg,#5557cf 0%,#6668dc 55%,#7678e5 100%);border:1px solid #5557cf;border-radius:13px;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:16px;width:100%;min-height:96px;margin-top:22px;padding:16px;display:grid;box-shadow:0 13px 28px #4b4dbe38}.sharing-code-card:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 16px 32px #4b4dbe45}.sharing-code-card:focus-visible{outline-offset:3px;outline:3px solid #5b5ce233}.sharing-code-card:disabled{cursor:progress;opacity:.72}.sharing-code-card>span small,.sharing-code-card>span strong{display:block}.sharing-code-card>span small{color:#ffffffb3;letter-spacing:.04em;font-size:9px;font-weight:800}.sharing-code-card>span strong{color:#fff;margin-top:7px;font-size:10px}.sharing-code-card code{gap:5px;font-family:DM Mono,monospace;display:flex}.sharing-code-card code i{color:#4547a9;background:#fffffff0;border:1px solid #ffffffb8;border-radius:7px;place-items:center;width:31px;height:39px;font-size:19px;font-style:normal;font-weight:800;display:grid;box-shadow:inset 0 -2px #40429a14}.sharing-connect-form{border-top:1px solid #edf0f4;gap:8px;margin-top:22px;padding-top:18px;display:grid}.sharing-connect-form .field-label{margin:0}.sharing-connect-fields{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.sharing-connect-fields input{color:#4c5468;letter-spacing:.08em;background:#fafbfc;border:1px solid #e2e5ed;border-radius:8px;outline:0;min-width:0;height:38px;padding:0 11px;font-family:DM Mono,monospace;font-size:12px}.sharing-connect-fields input:focus{background:#fff;border-color:#adaff0;box-shadow:0 0 0 4px #5b5ce214}.sharing-connect-fields .button{min-height:38px}.sharing-connect-form>small{color:#a2a9b8;font-size:9px;line-height:1.45}.sharing-list-heading{color:#a7adba;justify-content:space-between;align-items:center;margin-top:23px;font-family:DM Mono,monospace;font-size:9px;display:flex}.sharing-list-heading .field-label{margin:0;font-family:inherit}.sharing-list-heading+.team-member-list{margin-top:9px}.connection-remove{color:#a57979;background:#fff1ef;border-radius:5px;padding:5px 7px;font-size:8px;font-weight:800}.connection-remove:hover{color:#b45f63;background:#ffe8e5}.sharing-empty{color:#a7adba;background:#fcfcfe;border:1px dashed #dfe2ea;border-radius:9px;align-items:center;gap:11px;padding:18px 13px;display:flex}.sharing-empty svg{color:#8b8dde;flex:none}.sharing-empty strong,.sharing-empty small{display:block}.sharing-empty strong{color:#697286;font-size:10px}.sharing-empty small{color:#a2a9b8;margin-top:5px;font-size:9px;line-height:1.5}.team-invite-form{border-top:1px solid #edf0f4;margin-top:21px;padding-top:18px}.team-invite-fields{grid-template-columns:minmax(0,1fr) 112px auto;gap:7px;display:grid}.team-invite-fields input,.team-invite-fields select{color:#626b80;background:#fafbfc;border:1px solid #e8eaf0;border-radius:7px;outline:0;min-width:0;height:34px;padding:0 9px;font-size:10px}.team-invite-fields input:focus,.team-invite-fields select:focus{background:#fff;border-color:#bebff3}.invite-token{background:#f7f7ff;border:1px dashed #cfd1f5;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:10px 11px;display:flex}.invite-token code{color:#575ac5;text-overflow:ellipsis;white-space:nowrap;font-family:DM Mono,monospace;font-size:9px;display:block;overflow:hidden}.project-modal{background:#fff;border:1px solid #fff;border-radius:16px;width:min(700px,100%);max-height:min(760px,90vh);padding:24px;overflow-y:auto;box-shadow:0 24px 65px #1a213e2e}.project-manager-actions{align-items:flex-start;gap:9px;display:flex}.project-manager-actions .button{min-height:32px;padding:0 11px;font-size:9px}.project-manager-actions .button svg,.project-manager-footer .button svg{flex:none}.project-admin-heading{color:#a7adba;justify-content:space-between;align-items:center;margin-top:22px;font-family:DM Mono,monospace;font-size:9px;display:flex}.project-admin-heading .field-label{color:#747d91;margin:0;font-family:inherit;font-size:9px}.project-admin-list{gap:7px;margin-top:22px;display:grid}.project-admin-heading+.project-admin-list{margin-top:9px}.project-admin-wrap{background:#fbfcfd;border:1px solid #edf0f4;border-radius:8px}.project-admin-wrap.is-archived{opacity:.62}.project-admin-row{background:#fbfcfd;border:1px solid #edf0f4;border-radius:8px;align-items:center;gap:9px;padding:10px 11px;display:flex}.project-admin-wrap>.project-admin-row{border:0}.project-admin-row>div{flex:1;min-width:0}.project-admin-row>.project-admin-actions{flex:none;align-items:center;gap:5px;min-width:auto;display:flex}.project-admin-row strong,.project-admin-row small{display:block}.project-admin-row strong{color:#626b7f;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.project-admin-row small{color:#a7adba;margin-top:4px;font-size:9px}.project-admin-meta{flex-wrap:wrap;gap:7px 12px;display:flex}.project-admin-meta small{margin-top:4px}.project-admin-row button{color:var(--purple);background:#eeefff;border-radius:6px;padding:6px 9px;font-size:9px;font-weight:800}.project-admin-row button.project-archive-button{color:#9b7180;background:#fff1f4}.project-admin-row button:disabled{color:#b7bbc7;cursor:not-allowed;background:#f1f2f6}.project-admin-empty{color:#a7adba;text-align:center;border:1px dashed #e2e5ed;border-radius:8px;justify-items:center;gap:5px;padding:26px 16px;display:grid}.project-admin-empty svg{color:#b8bde9}.project-admin-empty strong{color:#737c90;font-size:10px}.project-admin-empty span{font-size:9px}.project-archive-toggle{color:#858da0;text-align:left;background:0 0;border-top:1px solid #edf0f4;align-items:center;gap:7px;width:100%;margin-top:17px;padding:10px 2px;font-size:9px;display:flex}.project-archive-toggle span:first-child{flex:1}.project-archive-toggle span:nth-child(2){color:#afb5c1;font-family:DM Mono,monospace}.project-archive-toggle svg{color:#aab0bf;transition:transform .15s}.project-archive-toggle svg.is-open{transform:rotate(180deg)}.project-archived-list{margin-top:0}.project-manager-footer{color:#a7adba;border-top:1px solid #edf0f4;justify-content:space-between;align-items:center;gap:16px;margin-top:22px;padding-top:17px;font-size:9px;line-height:1.45;display:flex}.project-manager-footer .button{flex:none;min-height:30px;padding:0 10px;font-size:9px}.project-settings-editor{gap:11px;padding:0 11px 12px;display:grid}.project-settings-editor .field-label{margin:0}.project-settings-editor input{color:#626b80;background:#fff;border:1px solid #e8eaf0;border-radius:7px;outline:0;width:100%;height:34px;margin-top:7px;padding:0 9px;font-size:10px}.project-settings-editor input:focus{border-color:#bebff3;box-shadow:0 0 0 3px #5b5ce214}.project-color-picker{gap:7px;display:grid}.project-color-picker-heading{justify-content:space-between;align-items:center;display:flex}.project-color-picker-heading .field-label{margin:0}.project-color-picker-heading code{color:#a0a7b6;font-family:DM Mono,monospace;font-size:8px}.project-color-options{flex-wrap:wrap;gap:8px;display:flex}.project-color-option{border:2px solid #fff;border-radius:8px;place-items:center;width:24px;height:24px;padding:0;transition:transform .15s,box-shadow .15s;display:grid;position:relative;box-shadow:0 0 0 1px #e2e5ee}.project-color-option:hover{transform:translateY(-1px);box-shadow:0 0 0 2px #5b5ce23d,0 4px 9px #2e375d1f}.project-color-option.is-selected{box-shadow:0 0 0 2px var(--ink), 0 4px 9px #2e375d21}.project-color-custom{color:#fff;font-size:14px;font-weight:800;overflow:hidden}.project-color-custom input{opacity:0;cursor:pointer;border:0;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.project-color-custom span{pointer-events:none}.project-settings-actions{color:#a7adba;justify-content:space-between;align-items:center;gap:12px;font-size:9px;display:flex}.project-settings-actions>div{flex:none;gap:6px;display:flex}.project-settings-actions .button{min-height:28px;padding:0 9px;font-size:9px}.project-create-form{border-top:1px solid #edf0f4;gap:8px;margin-top:21px;padding-top:18px;display:grid}.project-create-form input,.project-create-form select{color:#626b80;background:#fafbfc;border:1px solid #e8eaf0;border-radius:7px;outline:0;width:100%;height:34px;padding:0 9px;font-size:10px}.project-create-row{grid-template-columns:1fr auto;gap:7px;display:grid}.project-create-row .button{min-height:34px;font-size:10px}.project-member-create{background:#fbfcfd;border:1px solid #edf0f4;border-radius:8px;gap:7px;margin-top:4px;padding:10px;display:grid}.project-member-create>small{color:#a7adba;font-size:9px}.project-member-editor{gap:8px;padding:0 11px 11px;display:grid}.project-member-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.project-member-option{cursor:pointer;background:#fff;border:1px solid #e8eaf0;border-radius:7px;align-items:center;gap:7px;min-width:0;padding:7px 8px;display:flex}.project-member-option.is-selected{background:#f7f7ff;border-color:#cfd1f5}.project-member-option input{width:13px;height:13px;accent-color:var(--purple);margin:0}.project-member-option span{min-width:0}.project-member-option strong,.project-member-option small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.project-member-option strong{color:#626b7f;font-size:9px}.project-member-option small{color:#a7adba;margin-top:2px;font-size:8px}.project-member-empty{color:#a7adba;grid-column:1/-1;padding:7px;font-size:9px}.project-member-actions{color:#a7adba;justify-content:space-between;align-items:center;gap:12px;font-size:9px;display:flex}.project-member-actions .button{min-height:28px;padding:0 9px;font-size:9px}.project-editor-modal{background:#fff;border:1px solid #fff;border-radius:18px;width:min(760px,100%);max-height:min(820px,92vh);padding:26px;overflow-y:auto;box-shadow:0 24px 70px #1a213e33}.project-editor-grid{grid-template-columns:minmax(0,1fr) 215px;gap:24px;margin-top:24px;display:grid}.project-editor-form{align-content:start;gap:16px;display:grid}.project-editor-form .field-label{margin:0}.project-editor-form input,.project-editor-form select,.project-editor-form textarea{color:#5f687c;background:#fbfcfd;border:1px solid #e5e8f0;border-radius:8px;outline:0;width:100%;margin-top:7px;padding:0 10px;font-size:10px}.project-editor-form input,.project-editor-form select{height:37px}.project-editor-form textarea{resize:vertical;min-height:94px;padding-top:10px;line-height:1.5}.project-editor-form input:focus,.project-editor-form select:focus,.project-editor-form textarea:focus{background:#fff;border-color:#bebff3;box-shadow:0 0 0 3px #5b5ce214}.project-editor-members{background:#fbfcfd;border:1px solid #edf0f4;border-radius:9px;gap:8px;padding:12px;display:grid}.project-editor-members .field-label{margin:0}.project-editor-members small,.project-editor-note{color:#a7adba;font-size:9px;line-height:1.45}.project-editor-note{background:#f8f8ff;border:1px dashed #d9dcf0;border-radius:8px;align-items:flex-start;gap:9px;padding:10px 11px;display:flex}.project-editor-note svg{color:#7274cf;flex:none;margin-top:1px}.project-editor-note strong,.project-editor-note small{display:block}.project-editor-note strong{color:#676fc0;font-size:9px}.project-editor-note small{color:#989fb0;margin-top:4px;font-size:9px;line-height:1.45}.project-preview{background:#fbfbff;border:1px solid #e6e8f1;border-radius:13px;align-self:start;overflow:hidden;box-shadow:0 10px 25px #373d6a14}.project-preview-kicker{color:#9ca3b5;letter-spacing:.12em;padding:15px 15px 9px;font-family:DM Mono,monospace;font-size:8px;display:block}.project-preview-color{background:linear-gradient(135deg, var(--project-editor-color), color-mix(in srgb, var(--project-editor-color) 62%, #fff));height:52px}.project-preview-title-wrap{align-items:flex-start;gap:9px;padding:15px;display:flex}.project-preview-title-wrap .project-dot{border-radius:4px;flex:0 0 10px;width:10px;height:10px;margin-top:3px}.project-preview-title-wrap>div{min-width:0}.project-preview-title-wrap strong,.project-preview-title-wrap small{display:block}.project-preview-title-wrap strong{color:#3f475d;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.project-preview-title-wrap small{color:#979fb0;margin-top:6px;font-size:9px;line-height:1.45}.project-preview-divider{background:#e7e9f1;height:1px;margin:0 15px}.project-preview-access{color:#9ba2b2;justify-content:space-between;align-items:center;gap:8px;padding:12px 15px;font-size:9px;display:flex}.project-preview-access+.project-preview-access{padding-top:0}.project-preview-access strong{color:#687187;font-size:9px}.project-editor-actions{border-top:1px solid #edf0f4;justify-content:flex-end;gap:8px;margin-top:26px;padding-top:17px;display:flex}.project-editor-actions .button{min-height:34px;padding:0 13px;font-size:10px}.import-modal{background:#fff;border:1px solid #fff;border-radius:16px;width:min(590px,100%);max-height:min(720px,90vh);padding:24px;overflow-y:auto;box-shadow:0 24px 65px #1a213e2e}.view-settings-modal{background:#fff;border:1px solid #fff;border-radius:16px;width:min(620px,100%);max-height:min(760px,90vh);padding:24px;overflow-y:auto;box-shadow:0 24px 65px #1a213e2e}.view-current-summary{flex-wrap:wrap;gap:6px;margin-top:20px;display:flex}.view-current-summary span{color:#777f92;background:#f4f5f8;border-radius:5px;padding:6px 8px;font-size:9px}.view-section{margin-top:20px}.view-section-hint{color:#9aa2b3;margin:6px 0 10px;font-size:9px;line-height:1.45}.view-column-options{flex-wrap:wrap;gap:7px;display:flex}.view-column-option{color:#747d91;cursor:pointer;background:#fff;border:1px solid #e8eaf0;border-radius:7px;align-items:center;gap:6px;padding:7px 9px;font-size:9px;display:inline-flex}.view-column-option-people{border-color:#dedff8}.view-column-option.is-selected{color:#5d60c5;background:#f7f7ff;border-color:#cfd1f5}.view-column-option input{width:13px;height:13px;accent-color:var(--purple);margin:0}.view-save-form{margin-top:20px}.view-save-form>div{gap:7px;display:flex}.view-save-form input{color:#687187;background:#fafbfc;border:1px solid #e8eaf0;border-radius:7px;outline:0;flex:1;min-width:0;height:34px;padding:0 9px;font-size:10px}.view-save-form input:focus{background:#fff;border-color:#bebff3}.view-save-form .button{min-height:34px;font-size:9px}.saved-view-list{gap:6px;display:grid}.saved-view-row{background:#fbfcfd;border:1px solid #edf0f4;border-radius:7px;align-items:center;gap:6px;padding:7px 8px;display:flex}.saved-view-apply{text-align:left;background:0 0;flex:1;justify-items:start;min-width:0;padding:0;display:grid}.saved-view-apply strong{color:#616a7e;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:10px;overflow:hidden}.saved-view-apply small{color:#a7adba;margin-top:3px;font-size:8px}.view-empty{color:#a7adba;border:1px dashed #e3e6ee;border-radius:7px;padding:10px;font-size:9px}.view-actions{justify-content:flex-end;margin-top:20px;display:flex}.view-actions .button{min-height:32px;font-size:9px}.import-summary{grid-template-columns:repeat(3,1fr);gap:7px;margin-top:22px;display:grid}.import-summary>div{background:#fbfcfd;border:1px solid #edf0f4;border-radius:8px;align-items:baseline;gap:6px;min-width:0;padding:11px;display:flex}.import-summary strong{color:#5e667a;text-overflow:ellipsis;white-space:nowrap;font-family:DM Mono,monospace;font-size:14px;overflow:hidden}.import-summary span{color:#a7adba;white-space:nowrap;font-size:9px}.import-errors{background:#fffaf8;border:1px solid #f1deda;border-radius:8px;gap:7px;margin-top:17px;padding:11px;display:grid}.import-error{color:#ae7067;align-items:flex-start;gap:6px;font-size:9px;line-height:1.45;display:flex}.import-error svg{color:#dd8a70;flex:none;margin-top:1px}.import-ready{color:#3e937e;background:#f5fcf9;border:1px solid #d9eee7;border-radius:8px;align-items:center;gap:7px;margin-top:17px;padding:11px;font-size:10px;font-weight:700;display:flex}.import-actions{justify-content:flex-end;gap:7px;margin-top:20px;display:flex}.import-actions .button{min-height:32px;font-size:10px}.share-page{background:radial-gradient(circle at 20% 0,#f2f2ff,#0000 42%),#f7f8fc;place-items:center;min-height:100vh;padding:32px;display:grid}.share-card{background:#fffffff0;border:1px solid #e7e9f1;border-radius:18px;width:min(820px,100%);padding:30px;box-shadow:0 24px 70px #2c345b1a}.share-kicker{color:#9ca3b3;letter-spacing:.12em;margin-top:45px;font-family:DM Mono,monospace;font-size:9px}.share-card h1{color:#2c3347;letter-spacing:-.055em;margin:8px 0 5px;font-size:30px}.share-card>p{color:#858d9f;margin:0;font-size:11px}.share-summary{gap:8px;margin-top:22px;display:flex}.share-summary span{color:#6f7789;background:#f3f4f8;border-radius:6px;padding:7px 9px;font-family:DM Mono,monospace;font-size:9px}.share-task-list{gap:7px;margin-top:22px;display:grid}.share-task-row{background:#fbfcfd;border:1px solid #edf0f4;border-radius:8px;align-items:center;gap:10px;min-height:46px;padding:8px 11px;display:flex}.share-task-row>div{flex:1;min-width:0}.share-task-row strong,.share-task-row small{display:block}.share-task-row strong{color:#616a7e;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.share-task-row small{color:#a7adba;margin-top:4px;font-size:9px}.share-task-row.is-phase{background:#f7f7ff}.share-task-row.is-phase strong{color:#464c68;font-weight:800}.share-task-mark{border-radius:3px;flex:0 0 8px;width:8px;height:8px}.share-progress{color:#6b6dc4;font-family:DM Mono,monospace;font-size:10px}.share-state{color:#8991a3;justify-content:center;align-items:center;gap:8px;min-height:260px;font-size:11px;display:flex}.share-error{color:#bf6d63}@media (width<=1400px){.toolbar{flex-direction:column;align-items:stretch;gap:10px}.toolbar-left,.toolbar-right{scrollbar-width:none;justify-content:flex-start;width:100%;overflow-x:auto}.toolbar-left::-webkit-scrollbar{display:none}.toolbar-right::-webkit-scrollbar{display:none}.toolbar-left>*,.toolbar-right>*{flex:none}}@media (width<=1250px){.sidebar{flex-basis:212px;width:212px}.detail-drawer{flex-basis:322px;width:322px}.floating-undo{right:345px}.page-header,.toolbar{padding-left:20px;padding-right:20px}.risk-strip,.gantt-card{margin-left:20px;margin-right:20px}}@media (width<=1100px){html,body,#root{width:100%}.app-shell{height:100dvh;min-height:0}.sidebar{display:none}.main-area{width:100%}.detail-drawer{z-index:40;flex:none;width:min(420px,88vw);position:fixed;top:0;bottom:0;right:0;box-shadow:-20px 0 55px #232a4a2e}.topbar,.page-header,.toolbar{padding-left:18px;padding-right:18px}.risk-strip,.gantt-card{margin-left:18px;margin-right:18px}.toolbar{flex-direction:column;align-items:stretch;gap:10px}.toolbar-left,.toolbar-right{scrollbar-width:none;justify-content:flex-start;width:100%;overflow-x:auto}.toolbar-left::-webkit-scrollbar{display:none}.toolbar-right::-webkit-scrollbar{display:none}.toolbar-left>*,.toolbar-right>*{flex:none}.gantt-grid-row{grid-template-columns:250px auto!important}.task-cell{padding-left:11px;padding-right:10px}.gantt-footer{white-space:nowrap;overflow-x:auto}.footer-shortcut{display:none}}@media (width<=720px){.topbar{height:57px;padding:0 12px}.sidebar-toggle,.presence-stack,.top-actions>.button-ghost{display:none}.breadcrumb{gap:5px;min-width:0;font-size:10px}.breadcrumb>span:first-child,.breadcrumb>svg{display:none}.breadcrumb strong{text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:11px;overflow:hidden}.saved-state{text-overflow:ellipsis;white-space:nowrap;max-width:94px;margin-left:1px;font-size:9px;overflow:hidden}.top-actions{gap:2px}.profile-button{padding:0 1px}.profile-button>svg{display:none}.profile-menu{width:min(224px,100vw - 24px);right:-1px}.page-header{min-height:auto;padding:18px 14px 15px}.page-header h1{font-size:24px}.page-header p{margin-top:7px;font-size:10px;line-height:1.45}.toolbar{gap:8px;padding:10px 12px}.toolbar-left,.toolbar-right{gap:7px;padding-bottom:2px}.button-primary{min-height:36px}.search-box{width:174px}.project-view-control,.person-filter-control{width:174px;max-width:none}.project-view-control select{max-width:138px}.risk-strip{flex-wrap:wrap;align-items:flex-start;gap:8px;min-height:0;margin:0 12px 9px;padding:9px 10px;position:relative}.risk-strip-title{width:100%}.risk-items{scrollbar-width:none;gap:15px;max-width:calc(100% - 25px);margin-left:0;padding-bottom:1px;overflow-x:auto}.risk-items::-webkit-scrollbar{display:none}.risk-items button{flex:none}.risk-collapse{position:absolute;top:8px;right:8px}.risk-strip-collapsed{margin:0 12px 9px}.gantt-card{border-radius:12px;margin:0 12px 12px}.gantt-grid-row{grid-template-columns:196px auto!important}.gantt-header-row{height:66px}.task-column-header{padding:0 10px;font-size:9px}.column-hint{font-size:8px}.month-row{height:27px}.day-row{height:39px}.day-cell{gap:3px;font-size:9px}.day-cell small{font-size:7px}.task-row,.task-cell,.timeline-cell{min-height:56px}.task-cell{padding-left:8px;padding-right:7px}.task-indent{gap:4px}.task-name{font-size:10px}.task-side-meta{gap:4px;margin-left:4px}.row-related-people{max-width:60px;font-size:8px}.row-progress-input{width:36px;height:24px;padding:0 3px;font-size:8px}.row-progress{font-size:8px}.task-bar{height:32px}.task-bar-title-layer{padding:0 8px}.task-bar-title-text{font-size:9px}.task-bar-meta{gap:3px;font-size:8px}.gantt-footer{gap:10px;min-height:33px;padding:0 10px;font-size:8px}.detail-drawer{width:100vw;max-width:420px;padding:18px 16px}.drawer-title-input{font-size:17px}.drawer-section{padding:15px 0}.field-grid{grid-template-columns:1fr;gap:12px}.project-modal,.project-editor-modal{padding:19px}.project-manager-actions .button{padding:0 9px}.project-admin-row{align-items:flex-start}.project-admin-row>.project-admin-actions{flex-wrap:wrap;justify-content:flex-end}.project-manager-footer{flex-direction:column;align-items:flex-start}.project-editor-grid{grid-template-columns:1fr}.project-preview{order:-1}.project-member-picker{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
