:root{--ink:#202129;--text:#5b5d6b;--muted:#686a78;--accent:#6458cf;--accent-strong:#5145b0;--accent-border:#c4bef0;--selected:#ebe8fc;--avatar-bg:#eeecf8;--surface:#fff;--surface-soft:#fafafd;--surface-muted:#f2f2f7;--line:#e3e3eb;--bg:#fff;--red:#b33e4d;--red-soft:#fbecee;--red-pattern:#d78994;--green:#28785b;--amber:#8a641c;--amber-soft:#fcf5e6;--state-idle:#8a8d9b;--deadline-marker:#555968;--grid-line:#ececf2;--weekend:#f5f5fa;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-size:16px}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}button,input,select{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:wait;opacity:.55}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}svg{flex-shrink:0}button svg{pointer-events:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--surface);padding:12px;position:fixed;top:-80px;left:20px}.skip-link:focus{top:10px}.sidebar{background:var(--surface-muted);border-right:1px solid var(--line);z-index:40;flex-direction:column;width:196px;padding:18px 12px;display:flex;position:fixed;inset:0 auto 0 0}.workspace-brand{align-items:center;gap:9px;height:30px;padding:0 6px;font-size:14px;display:flex}.workspace-brand strong{flex:1;font-weight:600}.workspace-brand>svg{color:var(--muted)}.workspace-logo{background:var(--accent);width:25px;height:25px;color:var(--surface);border-radius:6px;place-items:center;font-size:14px;font-weight:650;display:grid}.sidebar-section-label{color:var(--muted);justify-content:space-between;margin:34px 0 10px;padding:0 10px;font-size:11px;font-weight:500;display:flex}.sidebar-section-label.department-label{margin-top:30px}.department-label>span{color:var(--muted);font-weight:400}.sidebar-page,.sidebar-departments button{width:100%;min-height:34px;color:var(--text);text-align:left;background:0 0;border:0;border-radius:5px;align-items:center;gap:10px;padding:7px 10px;font-size:13px;display:flex}.sidebar-page.active{color:var(--ink);background:var(--selected);font-weight:550}.sidebar-departments{flex-direction:column;gap:3px;display:flex}.sidebar-departments button:hover{background:#ededf1}.sidebar-departments button.selected{background:var(--selected);color:var(--accent-strong)}.team-glyph{width:18px;height:18px;color:var(--muted);background:var(--surface);border:1px solid #dedee6;border-radius:4px;flex-shrink:0;place-items:center;font-size:10px;font-weight:500;display:grid}.sidebar-linear{color:var(--muted);align-items:center;gap:8px;margin-top:auto;padding:12px 8px 0;font-size:11px;display:flex}.workspace-main{min-width:0;margin-left:196px}.topbar{background:var(--surface);border-bottom:1px solid var(--line);z-index:30;align-items:center;gap:32px;height:55px;padding:0 26px;display:flex;position:sticky;top:0}h1{margin:0;font-weight:600}.workspace-title{white-space:nowrap;align-items:center;gap:10px;font-size:14px;display:flex}.heading-count{color:var(--muted);background:var(--surface-muted);border-radius:4px;padding:2px 6px;font-size:11px;font-weight:450}.view-tabs{align-self:stretch;gap:22px;display:flex}.view-tabs a{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:flex;position:relative}.view-tabs a.active{color:var(--ink);font-weight:550}.view-tabs a.active:after{content:"";background:var(--accent);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:0;right:0}.topbar-right{align-items:center;gap:9px;margin-left:auto;display:flex}.sync-label{color:var(--muted);white-space:nowrap;font-size:11px}.icon-button{width:29px;height:29px;color:var(--muted);background:0 0;border:0;border-radius:5px;place-items:center;display:grid}.icon-button:hover{color:var(--text);background:#f2f2f6}.account{margin-left:6px;position:relative}.account summary{cursor:pointer;align-items:center;gap:6px;list-style:none;display:flex}.account summary>svg{color:var(--muted)}.account summary::-webkit-details-marker{display:none}.filter-popover summary::-webkit-details-marker{display:none}.user-avatar{border:1px solid var(--line);background:var(--avatar-bg);width:25px;height:25px;color:var(--accent-strong);border-radius:50%;place-items:center;font-size:10px;display:grid}.account-menu{background:var(--surface);border:1px solid var(--line);z-index:60;border-radius:7px;min-width:170px;padding:10px;font-size:13px;position:absolute;top:36px;right:0;box-shadow:0 8px 26px #17172615}.account-menu strong{padding:3px 7px 10px;display:block}.account-menu button{background:0 0;border:0;border-radius:4px;align-items:center;gap:10px;width:100%;padding:8px;display:flex}.account-menu button:hover{background:#f5f5f7}.main-content{margin:auto;padding:0 0 18px}.toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;min-height:53px;padding:9px 26px;display:flex}.department-tabs{display:none}.toolbar-actions{align-items:center;gap:8px;display:flex}.view-context{color:var(--muted);white-space:nowrap;gap:16px;font-size:11px;display:flex}.view-context>span+span:before{content:"·";padding-right:16px}.search-box{color:var(--muted);border:1px solid #0000;border-radius:5px;align-items:center;gap:7px;height:29px;padding:0 8px;display:flex}.search-box input{width:135px;color:var(--ink);background:0 0;border:0;outline:none;min-width:0;font-size:12px}.search-box input::placeholder{color:var(--muted)}.search-box:focus-within{border-color:var(--muted);background:var(--surface)}.search-box button{color:var(--muted);background:0 0;border:0;place-items:center;padding:0;display:grid}.filter-popover{position:relative}.filter-popover summary{cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:5px;align-items:center;gap:6px;padding:5px 9px;font-size:12px;line-height:17px;list-style:none;display:flex}.filter-popover summary.filter-active{color:var(--accent);border-color:var(--muted)}.filter-count{background:var(--selected);border-radius:4px;padding:0 4px;font-size:10px}.filter-panel{background:var(--surface);border:1px solid var(--line);z-index:35;border-radius:8px;width:330px;max-height:70vh;padding:18px;font-size:13px;position:absolute;top:36px;right:0;overflow:auto;box-shadow:0 12px 40px #17172620}.filter-panel>label{flex-direction:column;gap:7px;display:flex}.filter-panel select{background:var(--surface);width:100%;color:var(--text);border:1px solid #dfdfe6;border-radius:4px;padding:7px;font-size:12px}.filter-panel fieldset{border:0;margin:20px 0 0;padding:0}.filter-panel legend{color:var(--muted);margin-bottom:10px;font-size:12px}.people-options,.state-options{grid-template-columns:1fr 1fr;gap:9px;max-height:150px;margin-bottom:11px;display:grid;overflow:auto}.check-option{color:var(--text);align-items:center;gap:7px;font-size:12px;display:flex}.check-option input{accent-color:var(--accent)}.date-filter{align-items:center;gap:6px;display:flex}.date-filter input{border:1px solid #dedee6;border-radius:4px;width:calc(50% - 10px);padding:6px;font-size:11px}.reset-filters{background:var(--surface-muted);width:100%;color:var(--text);border:0;border-radius:4px;margin-top:17px;padding:7px;font-size:12px}.demo-banner{background:var(--surface-muted);border-bottom:1px solid var(--line);color:var(--muted);text-align:right;padding:5px 26px;font-size:10px}.notice{background:var(--amber-soft);color:var(--amber);justify-content:center;align-items:center;gap:15px;padding:9px 26px;font-size:12px;display:flex}.notice button{color:inherit;background:0 0;border:0;text-decoration:underline}.node-list{--list-columns:minmax(260px, 1fr) 160px 95px 90px 90px}.list-columns,.list-row{grid-template-columns:var(--list-columns);align-items:center;column-gap:14px;padding:0 26px;display:grid}.list-columns{height:33px;color:var(--text);border-bottom:1px solid var(--line);font-size:10px}.list-columns>span:first-child{padding-left:27px}.list-group-heading{background:var(--surface-soft);border-bottom:1px solid var(--line);height:34px;color:var(--text);align-items:center;gap:8px;margin:0;padding:0 26px;font-size:12px;font-weight:550;display:flex}.count{color:var(--muted);margin-left:3px;font-size:11px;font-weight:400}.list-row{border-bottom:1px solid var(--line);min-height:48px;font-size:13px}.list-row:hover{background:var(--surface-soft)}.list-task{align-items:center;gap:8px;min-width:0;padding:10px 0;display:flex}.row-expand,.row-expand-spacer{flex-shrink:0;width:18px;height:23px}.row-expand{color:var(--muted);background:0 0;border:0;border-radius:3px;place-items:center;padding:0;display:grid}.row-expand:hover{color:var(--accent-strong);background:var(--selected)}.list-task-title{align-items:baseline;gap:12px;min-width:0;line-height:1.6;display:flex}.identifier{font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap;font-size:11px;font-weight:400}.list-task-title>.identifier{flex-shrink:0;width:57px}.list-task-title>a,.list-task-title>span:last-child:not(.identifier){word-break:break-word;font-weight:500}.title-link-icon{vertical-align:middle;color:var(--muted);opacity:0;margin-left:5px;display:inline}.list-task-title a:hover .title-link-icon,.node-card h3 a:hover .title-link-icon{opacity:1}.deadline{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.deadline time{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px;font-weight:550}.deadline>span{color:var(--text);white-space:nowrap;font-size:10px}.deadline.overdue time,.deadline.overdue>span{color:var(--red)}.deadline.compact time{color:var(--muted);font-size:12px;font-weight:400}.deadline.overdue.compact time{color:var(--red)}.person{color:var(--text);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:flex}.avatar{background:var(--avatar-bg);width:21px;height:21px;color:var(--accent-strong);border-radius:50%;flex-shrink:0;place-items:center;font-size:9px;display:grid}.unassigned{color:var(--amber)}.status{white-space:nowrap;color:var(--muted);align-items:center;gap:6px;font-size:11px;display:flex}.state-started{color:var(--accent)}.state-completed{color:var(--green)}.state-canceled,.state-duplicate,.state-unstarted,.state-backlog{color:var(--muted)}.list-progress{align-items:center;display:flex}.list-progress button{color:var(--muted);background:0 0;border:0;border-radius:4px;align-items:center;gap:3px;margin-left:-7px;padding:5px 7px;font-size:12px;display:flex}.list-progress button:hover{background:var(--selected)}.list-progress strong{color:var(--text);font-weight:450}.list-progress svg{color:var(--muted);margin-left:8px}.rotated{transform:rotate(180deg)}.no-children{color:var(--muted)}.list-children{background:var(--surface-soft);border-bottom:1px solid var(--line)}.list-plan-note{color:var(--muted);gap:14px;padding:9px 26px 7px 78px;font-size:10px;display:flex}.list-plan-note>span{color:var(--muted)}.list-child{min-height:40px}.list-child .list-task{color:var(--text);gap:8px;padding-left:24px;font-size:12px}.list-child .list-task>svg{color:var(--muted)}.list-child .list-task-title>.identifier{width:57px;font-size:10px}.list-child .list-task-title>a,.list-child .list-task-title>span:last-child:not(.identifier){font-weight:400}.list-child .avatar{width:18px;height:18px;font-size:8px}.list-child .person,.list-child .status{font-size:11px}.child-department{color:var(--muted);font-size:10px}.list-row.matched-row{background:var(--selected)}.list-empty{color:var(--muted);margin:0;padding:18px 52px;font-size:12px}.board-grid{background:var(--surface-soft);grid-auto-columns:280px;grid-auto-flow:column;align-items:start;gap:14px;min-height:calc(100vh - 177px);padding:20px 26px 32px;display:grid;overflow-x:auto}.department{min-width:0;padding:0}.department-heading{align-items:center;gap:8px;padding:0 4px 12px;display:flex}.department-mark{background:var(--accent);opacity:.8;border-radius:3px;width:8px;height:8px}.department-heading h2{color:var(--text);margin:0;font-size:12px;font-weight:550}.department-cards{flex-direction:column;gap:10px;display:flex}.node-card{background:var(--surface);border:1px solid var(--line);border-radius:6px;overflow:hidden;box-shadow:0 1px 2px #18182705}.node-card:hover,.node-card.is-open{border-color:var(--muted)}.node-card.is-canceled h3{color:var(--muted);text-decoration:line-through}.node-topline{justify-content:space-between;align-items:center;gap:8px;padding:12px 14px 0;display:flex}.node-card h3{word-break:break-word;margin:10px 14px 15px;font-size:14px;font-weight:550;line-height:1.65}.node-deadline{border-top:1px solid var(--line);align-items:center;gap:10px;margin:0 14px 14px;padding:9px 0 0;display:flex}.field-label{color:var(--muted);white-space:nowrap;font-size:10px}.node-deadline .deadline{flex:1;justify-content:space-between;gap:5px}.node-deadline .deadline time{font-size:14px}.node-owner{justify-content:space-between;align-items:center;gap:8px;padding:0 14px 11px;display:flex}.collaboration{color:var(--muted);border:1px solid var(--line);background:#f6f5f8;border-radius:4px;padding:2px 5px;font-size:10px}.expand-row{background:var(--surface);border:0;border-top:1px solid var(--line);width:100%;color:var(--muted);justify-content:space-between;align-items:center;padding:8px 14px;font-size:11px;display:flex}.expand-row:hover{background:var(--selected)}.children-list{border-top:1px solid var(--line);background:var(--surface-soft);padding:0 12px 3px}.planned-note{color:var(--muted);padding:9px 1px 4px;font-size:10px}.child-row{border-bottom:1px solid var(--line);align-items:flex-start;gap:8px;padding:10px 1px;display:flex}.child-row:last-child{border-bottom:0}.child-row>.state-icon{margin-top:3px}.child-content{min-width:0;color:var(--text);flex:1;font-size:12px;line-height:1.7}.child-content>a svg{vertical-align:middle;color:var(--muted);margin-left:4px;display:inline}.child-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:7px;margin-top:5px;font-size:10px;display:flex}.child-meta .deadline{margin-left:auto}.matched{background:var(--selected);box-shadow:0 0 0 4px var(--selected);border-radius:3px}.column-empty{min-height:120px;color:var(--muted);border:1px dashed var(--line);border-radius:5px;flex-direction:column;justify-content:center;align-items:center;gap:9px;font-size:11px;display:flex}.page-footer{color:var(--muted);justify-content:space-between;margin:20px 26px 0;font-size:10px;display:flex}.page-footer a{align-items:center;gap:4px;display:flex}.global-empty{text-align:center;min-height:420px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;padding:60px 24px;display:flex}.global-empty h2{color:var(--text);margin:18px 0 8px;font-size:18px;font-weight:550}.global-empty p{max-width:530px;font-size:13px;line-height:1.8}.primary-button,.secondary-button{border-radius:5px;justify-content:center;align-items:center;gap:8px;margin-top:14px;padding:9px 14px;font-size:13px;display:inline-flex}.primary-button{border:1px solid var(--accent);color:var(--surface);background:var(--accent)}.primary-button:hover{background:var(--accent-strong);color:var(--surface)}.secondary-button{background:var(--surface);color:var(--muted);border:1px solid #dfdce7}.skeleton-board{flex-direction:column;gap:20px;padding:24px 26px;display:flex}.skeleton-column div{background:linear-gradient(90deg, #f2f0f6, var(--surface-soft), #f2f0f6);background-size:200% 100%;border-radius:3px;height:32px;margin-bottom:8px;animation:1.5s infinite shimmer}.skeleton-column div:first-child{width:12%;height:14px}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{background-position:-200% 0}}@media (min-width:1600px){.board-grid{grid-auto-columns:minmax(280px,1fr)}.node-list{--list-columns:minmax(320px, 1fr) 200px 140px 120px 100px}.list-row{min-height:52px}}@media (max-width:1150px){.sidebar{width:172px}.workspace-main{margin-left:172px}.topbar{gap:24px;padding:0 20px}.sync-label{display:none}.node-list{--list-columns:minmax(210px, 1fr) 125px 80px 76px 70px}.list-row,.list-columns{column-gap:10px;padding:0 20px}.list-task-title{gap:8px}.list-task-title>.identifier{display:none}.list-group-heading{padding:0 20px}.list-due .deadline{gap:3px}.view-context>span+span{display:none}}@media (max-width:800px){.sidebar{display:none}.workspace-main{margin-left:0}.topbar{gap:22px;height:53px;padding:0 16px}.toolbar{flex-wrap:wrap;gap:9px;padding:10px 16px}.department-tabs{white-space:nowrap;gap:4px;width:100%;padding-bottom:4px;display:flex;overflow:auto}.department-tabs button{color:var(--muted);background:0 0;border:0;border-radius:4px;padding:5px 8px;font-size:12px}.department-tabs .selected{background:var(--selected);color:var(--accent-strong)}.view-context{display:none}.toolbar-actions{width:100%}.search-box{border-color:var(--muted);flex:1}.search-box input{width:100%}.list-columns,.list-row,.list-group-heading{padding:0 16px}.filter-panel{width:min(330px,100vw - 32px);right:-34px}.board-grid{grid-auto-columns:280px;min-height:calc(100vh - 220px);padding:18px 16px}}@media (max-width:600px){.topbar{gap:16px}.workspace-title{gap:6px;font-size:13px}.view-tabs{gap:14px}.view-tabs a{gap:4px;font-size:12px}.view-tabs svg{display:none}.topbar-right{gap:2px}.account{margin-left:2px}.account summary>svg{display:none}.demo-banner{padding:5px 16px;font-size:10px}.node-list{--list-columns:minmax(0, 1fr) 78px}.list-columns{height:31px}.list-columns>span:nth-child(n+3){display:none}.list-row{grid-template-rows:auto auto;gap:5px 12px;padding:9px 16px;position:relative}.list-task{grid-area:1/1;padding:0}.list-task-title{font-size:13px;line-height:1.55}.list-due{grid-area:1/2/3;align-self:center}.list-due .deadline{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.list-due .deadline time{font-size:13px}.list-due .deadline>span{font-size:10px}.list-owner{grid-area:2/1;padding-left:26px}.list-owner .person{font-size:10px}.list-owner .avatar{width:16px;height:16px;font-size:8px}.list-state{display:none}.list-progress{grid-area:2/1;justify-self:end;font-size:10px}.list-progress button{padding:0 4px;font-size:10px}.list-progress svg{margin-left:4px}.list-plan-note{padding:9px 16px 7px 42px}.list-child .list-task{padding-left:20px}.list-child .list-task-title{font-size:12px}.list-child .list-owner{padding-left:40px}.child-department{grid-area:2/1;justify-self:end;font-size:10px}.list-child{padding-top:9px;padding-bottom:9px}.list-child .list-task-title>.identifier{display:none}.list-group-heading{height:34px;font-size:12px}.no-children{display:none}.page-footer{margin:16px 16px 0}.notice{padding:8px 16px;line-height:1.6}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.gantt{border:1px solid var(--line);background:var(--surface);border-radius:10px;overflow:hidden}.gantt-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;padding:12px 16px;display:flex}.range-controls{color:var(--text);align-items:center;gap:5px;font-size:13px;display:flex}.today-button{border:1px solid var(--line);background:var(--surface);border-radius:5px;margin-left:10px;padding:7px 10px;font-size:12px}.scale-switch{background:var(--surface-muted);border-radius:6px;padding:3px;display:flex}.scale-switch button{color:var(--muted);background:0 0;border:0;border-radius:4px;padding:5px 15px;font-size:13px}.scale-switch button.selected{background:var(--surface);color:var(--accent);box-shadow:0 1px 3px #1623450d}.gantt-scroll{--tree-width:340px;min-height:320px;max-height:calc(100vh - 240px);scroll-padding-left:var(--tree-width);scroll-padding-top:68px;overflow:auto}.gantt-grid{width:calc(var(--timeline-width) + var(--tree-width));min-width:100%}.gantt-header,.gantt-row{width:100%;display:flex}.gantt-header{z-index:12;background:var(--surface);border-bottom:1px solid var(--line);height:68px;position:sticky;top:0}.gantt-label{width:var(--tree-width);min-width:var(--tree-width);z-index:4;background:var(--surface);border-right:1px solid var(--line);align-items:center;gap:7px;padding:0 14px;display:flex;position:sticky;left:0}.gantt-header-label{z-index:14;color:var(--muted);justify-content:space-between;padding-left:22px;font-size:13px}.gantt-header-label span{font-size:12px}.gantt-header-dates,.gantt-row-timeline{flex-shrink:0;display:block;overflow:hidden}.month-label{fill:var(--text);font-size:13px}.gantt-row{border-bottom:1px solid var(--line)}.gantt-row.department{background:#f8f8fa;border:0;border-radius:0;min-height:0;padding:0}.gantt-row.department .gantt-label{background:var(--surface-muted)}.gantt-department{width:100%;color:var(--text);background:0 0;border:0;align-items:center;gap:9px;padding:0;font-size:14px;display:flex}.gantt-department strong{font-weight:600}.gantt-department span{color:var(--muted);font-size:12px}.gantt-row.child .gantt-label{padding-left:30px}.gantt-task-indent{align-items:center;gap:5px;display:flex}.gantt-task-indent button{color:var(--muted);background:0 0;border:0;place-items:center;width:18px;padding:0;display:grid}.gantt-indent-spacer{width:18px}.gantt-task-name{min-width:0;color:var(--ink);flex-direction:column;flex:1;gap:3px;font-size:14px;display:flex}.gantt-task-name>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.gantt-task-name a,.gantt-task-name small{color:var(--muted);align-items:center;gap:4px;font-size:11px;display:flex}.gantt-owner{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:55px;margin-left:auto;font-size:12px;overflow:hidden}.gantt-row.child .gantt-task-name{font-size:13px}.gantt-row.child .gantt-task-name a,.gantt-row.child .gantt-task-name small{display:none}.gantt-row.is-selected .gantt-label,.gantt-row.matched-row .gantt-label{background:var(--selected)}.gantt-row.is-selected .gantt-task-name{color:var(--accent)}.gantt-bar{cursor:pointer;outline:none}.gantt-bar:focus-visible rect{stroke:var(--accent-strong);stroke-width:2px}.gantt-bar:hover rect{filter:brightness(.97)}.gantt-legend{color:var(--muted);border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:18px;padding:14px 18px;font-size:12px;display:flex}.gantt-legend>span{align-items:center;gap:6px;display:flex}.gantt-legend i{display:inline-block}.legend-plan{background:var(--accent);border-radius:2px;width:16px;height:8px}.legend-due{background:var(--deadline-marker);width:2px;height:12px;margin:0 5px}.legend-complete{border:2px solid var(--green);border-radius:50%;width:9px;height:9px}.legend-overdue{background:repeating-linear-gradient(45deg, var(--red-soft), var(--red-soft) 2px, var(--red-pattern) 2px, var(--red-pattern) 3px);width:16px;height:8px}.gantt-hint{color:var(--muted);margin-left:auto;font-size:12px}.login-page{background:radial-gradient(ellipse at 50% 5%, #eeebfc 0, transparent 60%), var(--surface-soft);justify-content:center;align-items:center;min-height:100svh;padding:35px 20px;display:flex;position:relative}.login-card{background:var(--surface);border:1px solid var(--line);text-align:center;border-radius:18px;flex-direction:column;align-items:center;width:410px;max-width:100%;padding:40px 36px;display:flex;box-shadow:0 12px 70px #16345f08}.login-logo{background:var(--accent);color:var(--surface);border-radius:17px;place-items:center;width:62px;height:62px;margin-bottom:24px;display:grid;box-shadow:0 8px 20px #5e6ad228}.login-card h1{font-size:27px}.login-intro{color:var(--muted);margin:13px 0 0;font-size:14px;line-height:1.8}.login-rule{background:#ededf0;width:100%;height:1px;margin:28px 0 7px}.login-button{justify-content:space-between;width:100%;padding:13px 16px;font-size:14px}.login-pending{color:var(--amber);margin-top:20px;font-size:14px;line-height:1.8}.login-footnote{color:var(--muted);margin-top:24px;margin-bottom:0;font-size:12px}.login-bottom{color:var(--muted);letter-spacing:2px;font-size:12px;position:absolute;bottom:24px}.login-error{color:var(--red);background:var(--red-soft);border-radius:5px;padding:10px;font-size:14px;line-height:1.7}.login-button:disabled{cursor:default;opacity:.5}@media (max-width:1000px){.gantt-scroll{--tree-width:280px}.gantt-hint{margin-left:0}}@media (max-width:600px){.gantt-scroll{--tree-width:210px;max-height:65vh}.gantt-label{gap:4px;padding:0 7px}.gantt-owner{display:none}.gantt-row.child .gantt-label{padding-left:18px}.gantt-toolbar{flex-wrap:wrap;gap:5px;padding:10px 8px}.range-controls{gap:0;font-size:12px}.range-controls .icon-button{width:26px}.today-button{margin-left:5px;font-size:12px}.scale-switch button{padding:4px 10px}.gantt-legend{gap:12px;padding:12px}.gantt-header-label{font-size:12px}.gantt-header-label span{display:none}.login-card{padding:32px 25px}.gantt-task-name,.gantt-row.child .gantt-task-name{font-size:14px}}.state-duplicate{color:var(--muted)}.list-task-title>a,.list-task-title>span:last-child:not(.identifier){font-size:14px}.list-due>.deadline>time{color:var(--ink);font-size:14px}.list-due>.deadline.overdue>time{color:var(--red)}.list-child .list-task-title>a,.list-child .list-task-title>span:last-child:not(.identifier){font-size:12px}.list-child .list-due>.deadline>time{color:var(--muted);font-size:12px}.list-child .list-due>.deadline.overdue>time{color:var(--red)}@media (max-width:600px){.list-task-title>a,.list-task-title>span:last-child:not(.identifier),.list-due>.deadline>time{font-size:13px}}.list-team-tag{color:var(--muted);background:var(--avatar-bg);white-space:nowrap;border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:10px}
