@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap";:root{color:#1f2329;font-synthesis:none;text-rendering:optimizelegibility;--blue:#3370ff;--blue-soft:#eef3ff;--text:#1f2329;--muted:#646a73;--subtle:#8f959e;--border:#e5e7eb;--panel:#fff;--green:#00a870;--orange:#f08c46;--violet:#7c5cfc;letter-spacing:0;background:#f5f6f8;font-family:Noto Sans SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{background:#f5f6f8;min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:2px solid #3370ff}svg{stroke-width:1.8px;flex-shrink:0;width:18px;height:18px}h1,h2,p{margin:0}h1,h2,strong,b{font-family:DM Sans,Noto Sans SC,sans-serif}.app-shell{min-height:100vh;display:flex}.sidebar{z-index:20;border-right:1px solid var(--border);background:#fff;flex-direction:column;width:240px;padding:22px 14px 14px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:11px;padding:0 8px 25px;display:flex}.brand-mark{color:#fff;background:var(--blue);border-radius:8px;place-items:center;width:36px;height:36px;display:grid;box-shadow:0 6px 16px #3370ff33}.brand-mark svg{stroke-width:2.5px;width:21px;height:21px}.brand>div:last-child{display:grid}.brand strong{font-size:18px;line-height:20px}.brand span{color:var(--subtle);letter-spacing:1.7px;font:600 9px/14px DM Sans}.nav-label{color:#a2a7af;justify-content:space-between;align-items:center;margin:0 0 7px;padding:0 10px;font-size:11px;font-weight:600;display:flex}.nav-label button{color:var(--subtle);background:0 0;place-items:center;padding:0;display:grid}.nav-label svg{width:14px;height:14px}.main-nav{gap:4px;display:grid}.main-nav>button,.sidebar-projects>button{color:#535861;background:0 0;border-radius:6px;align-items:center;gap:11px;width:100%;height:42px;padding:0 11px;transition:all .16s;display:flex}.main-nav>button:hover,.sidebar-projects>button:hover{color:var(--text);background:#f5f6f8}.main-nav>button.active{color:var(--blue);background:var(--blue-soft);font-weight:600}.main-nav>button b{color:#7a8089;background:#f0f1f2;border-radius:10px;place-items:center;min-width:21px;height:20px;margin-left:auto;font-size:11px;display:grid}.main-nav>button.active b{color:var(--blue);background:#dce7ff}.sidebar-projects{gap:2px;margin-top:28px;display:grid}.sidebar-projects>button{font-size:13px}.sidebar-projects i{border-radius:2px;width:8px;height:8px}.sidebar-footer{border-top:1px solid var(--border);align-items:center;gap:10px;margin-top:auto;padding:15px 8px 2px;display:flex}.avatar{color:#2862df;background:#e8f1ff;border-radius:50%;place-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:grid}.sidebar-footer>div:nth-child(2){flex:1;line-height:17px;display:grid}.sidebar-footer strong{font-size:13px}.sidebar-footer span{color:var(--subtle);font-size:11px}.sidebar-footer button{color:var(--subtle);background:0 0;padding:3px}main{width:calc(100% - 240px);min-width:0;margin-left:240px}.topbar{z-index:10;border-bottom:1px solid var(--border);background:#fffffff5;justify-content:space-between;align-items:center;height:64px;padding:0 32px;display:flex;position:sticky;top:0}.topbar-left,.topbar-actions,.week-control,.search-field{align-items:center;display:flex}.week-control{gap:3px}.week-control>button:not(.today-button){width:30px;height:30px;color:var(--muted);background:0 0;border-radius:5px;place-items:center;display:grid}.week-control>button:hover{background:#f1f2f4}.week-control span{align-items:center;gap:8px;margin:0 5px;font-size:13px;font-weight:600;display:flex}.week-control span svg{color:var(--blue)}.today-button{color:var(--blue);background:var(--blue-soft);border-radius:5px;margin-left:5px;padding:5px 8px;font-size:11px}.topbar-actions{gap:10px}.search-field{width:220px;height:36px;color:var(--subtle);background:#f5f6f8;border:1px solid #0000;border-radius:6px;gap:7px;padding:0 10px;transition:all .16s}.search-field:focus-within{background:#fff;border-color:#8fb2ff;box-shadow:0 0 0 3px #3370ff14}.search-field input{width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:0;font-size:12px}.search-field button{color:var(--subtle);background:0 0;padding:0;display:grid}.search-field svg{width:15px;height:15px}.icon-button{color:#5f6670;background:0 0;border-radius:6px;place-items:center;width:36px;height:36px;display:grid}.icon-button:hover{background:#f1f2f4}.icon-button.small{width:28px;height:28px}.icon-button.small svg{width:16px;height:16px}.notification-wrap,.notification-button{position:relative}.notification-button i{background:#f54a45;border-radius:50%;width:6px;height:6px;position:absolute;top:7px;right:7px;box-shadow:0 0 0 2px #fff}.notification-popover{border:1px solid var(--border);background:#fff;border-radius:8px;width:340px;padding:8px;position:absolute;top:44px;right:0;box-shadow:0 14px 36px #1f23291f}.notification-popover>div{justify-content:space-between;align-items:center;padding:8px 9px 10px;display:flex}.notification-popover>div button{color:var(--subtle);background:0 0}.notification-popover p{border-radius:6px;gap:10px;padding:10px 9px;font-size:12px;line-height:18px;display:flex}.notification-popover p:hover{background:#f6f7f9}.notification-popover p>span:last-child{display:grid}.notification-popover small{color:var(--subtle);margin-top:2px}.notice-icon{border-radius:6px;place-items:center;width:30px;height:30px;display:grid}.notice-icon.blue{color:var(--blue);background:var(--blue-soft)}.notice-icon.amber{color:#bd6900;background:#fff4e8}.primary-button,.secondary-button,.text-button{white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:7px;font-weight:600;transition:all .16s;display:inline-flex}.primary-button{background:var(--blue);color:#fff;height:36px;padding:0 14px;font-size:12px;box-shadow:0 2px 5px #3370ff28}.primary-button:hover{background:#2862df}.secondary-button{color:#505661;background:#fff;border:1px solid #d9dce1;height:34px;padding:0 12px;font-size:12px}.secondary-button:hover{background:#fafafa;border-color:#aeb4bc}.secondary-button.full{width:100%}.text-button{color:var(--blue);background:0 0;padding:6px 0;font-size:12px}.text-button svg{width:14px;height:14px}.mobile-menu,.mobile-search,.mobile-nav{display:none}.page-content{max-width:1500px;margin:0 auto;padding:30px 32px 48px}.page-intro{justify-content:space-between;align-items:flex-start;gap:24px;min-height:86px;margin-bottom:24px;display:flex}.page-intro>div>span{color:var(--blue);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.page-intro h1{letter-spacing:0;font-size:25px;line-height:34px}.page-intro p{color:var(--muted);margin-top:4px;font-size:12px;line-height:20px}.page-intro>button{margin-top:11px}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px;display:grid}.metric{background:var(--panel);border:1px solid var(--border);border-radius:7px;align-items:center;gap:13px;min-height:110px;padding:17px;display:flex;position:relative;overflow:hidden}.metric-icon{border-radius:7px;place-items:center;width:39px;height:39px;display:grid}.metric-icon.blue{color:var(--blue);background:var(--blue-soft)}.metric-icon.orange{color:#d97123;background:#fff3ea}.metric-icon.green{color:var(--green);background:#e9f8f3}.metric-icon.violet{color:var(--violet);background:#f1edff}.metric-body{display:grid}.metric-body>span{color:var(--muted);font-size:11px}.metric-body strong{margin:1px 0;font-size:23px;line-height:30px}.metric-body small{color:var(--subtle);font-size:10px}.metric-progress{background:#eef0f3;height:3px;position:absolute;bottom:0;left:0;right:0}.metric-progress i{background:var(--blue);height:100%;display:block}.dashboard-grid{grid-template-columns:minmax(0,1.65fr) minmax(285px,.75fr);gap:16px;display:grid}.dashboard-main,.dashboard-side{align-content:start;gap:16px;display:grid}.panel{background:var(--panel);border:1px solid var(--border);border-radius:7px}.panel-header{border-bottom:1px solid #eceef1;justify-content:space-between;align-items:center;min-height:67px;padding:15px 18px;display:flex}.panel-header h2{font-size:14px;line-height:21px}.panel-header p{color:var(--subtle);margin-top:2px;font-size:10px}.focus-list{padding:4px 10px 0}.task-row{border-bottom:1px solid #eef0f2;grid-template-columns:30px minmax(260px,1fr) 60px 100px 32px;align-items:center;gap:10px;min-height:67px;padding:9px 13px;display:grid}.task-row.compact{grid-template-columns:30px minmax(0,1fr) 58px 30px}.task-row:hover{background:#fafbfc}.task-row.completed .task-info>strong{color:var(--subtle);text-decoration:line-through}.task-check{color:#aeb4bc;background:0 0;place-items:center;width:27px;height:27px;display:grid}.task-check:hover{color:var(--blue)}.task-row.completed .task-check{color:var(--green)}.task-row:not(.completed) .task-check svg.lucide-circle-dot{color:var(--blue)}.task-info{gap:6px;min-width:0;display:grid}.task-info>strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.task-info>div{color:var(--subtle);align-items:center;gap:12px;font-size:10px;display:flex}.task-info>div>span{align-items:center;gap:4px;display:inline-flex}.task-info svg{width:12px;height:12px}.project-tag{color:#4e6faa;background:#f0f4fa;border-radius:3px;padding:2px 6px}.priority{border-radius:4px;justify-content:center;align-items:center;gap:3px;width:40px;height:22px;font-size:10px;display:inline-flex}.priority svg{width:11px;height:11px}.priority-high{color:#d84c46;background:#fff0ef}.priority-medium{color:#c1741c;background:#fff5e7}.priority-low{color:#62717f;background:#f1f3f5}.assignee{color:var(--muted);align-items:center;gap:7px;font-size:11px;display:flex}.assignee span{width:24px;height:24px;color:var(--blue);background:#e8f1ff;border-radius:50%;place-items:center;font-size:9px;font-weight:700;display:grid}.task-more{opacity:0}.task-row:hover .task-more{opacity:1}.add-inline{color:#7c828b;background:0 0;align-items:center;gap:7px;width:calc(100% - 32px);height:35px;margin:7px 16px 13px;font-size:11px;display:flex}.add-inline:hover{color:var(--blue)}.add-inline svg{width:15px;height:15px}.week-columns{grid-template-columns:repeat(5,1fr);align-items:end;gap:12px;height:195px;padding:20px 20px 16px;display:grid}.day-column{background:#f8f9fb;border-radius:6px;flex-direction:column;justify-content:space-between;align-items:center;height:100%;padding:9px 5px;display:flex}.day-column.current{background:#f0f5ff;box-shadow:inset 0 0 0 1px #d9e5ff}.day-heading{text-align:center;gap:2px;display:grid}.day-heading span{color:var(--subtle);font-size:9px}.day-heading strong{font-size:13px}.day-column.current .day-heading strong{color:var(--blue)}.day-load{flex-direction:column-reverse;align-items:center;gap:4px;height:88px;display:flex}.day-load i{background:#a9bfe9;border-radius:3px 3px 1px 1px;width:12px;min-height:12px;max-height:75px}.current .day-load i{background:var(--blue)}.day-load b{color:var(--muted);font-size:9px}.day-column small{color:var(--subtle);font-size:9px}.goal-panel .panel-header,.plan-panel .panel-header{border-bottom:0}.goal-progress{align-items:center;gap:13px;padding:3px 18px 15px;display:flex}.progress-ring{--progress:0deg;background:conic-gradient(var(--blue) var(--progress), #e9edf2 0);border-radius:50%;flex:0 0 69px;place-items:center;width:69px;height:69px;display:grid;position:relative}.progress-ring:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:6px}.progress-ring span{z-index:1;text-align:center;display:grid;position:relative}.progress-ring b{font-size:15px;line-height:17px}.progress-ring small{color:var(--subtle);font-size:8px}.goal-progress>div:last-child strong{font-size:12px}.goal-progress>div:last-child p{color:var(--muted);margin-top:3px;font-size:10px;line-height:16px}.goal-checklist{gap:10px;margin:0;padding:0 18px 16px;list-style:none;display:grid}.goal-checklist li{color:#555b65;align-items:center;gap:8px;font-size:10px;display:flex}.goal-checklist svg{color:#aeb4bc;width:15px;height:15px}.goal-checklist svg.done{color:var(--green)}.goal-checklist svg.doing{color:var(--blue)}.plan-list{gap:11px;padding:1px 18px 13px;display:grid}.plan-list>div{align-items:flex-start;gap:9px;display:flex}.plan-list>div>span{width:20px;height:20px;color:var(--blue);background:var(--blue-soft);border-radius:4px;flex:0 0 20px;place-items:center;font:700 9px DM Sans;display:grid}.plan-list p{min-width:0;display:grid}.plan-list strong{white-space:nowrap;text-overflow:ellipsis;font-size:10px;line-height:15px;overflow:hidden}.plan-list small{color:var(--subtle);margin-top:1px;font-size:9px}.plan-panel .full{width:calc(100% - 36px);margin:0 18px 16px}.empty-state{min-height:140px;color:var(--subtle);text-align:center;align-content:center;place-items:center;gap:5px;display:grid}.empty-state svg{color:#b9c0c8;width:27px;height:27px}.empty-state strong{color:var(--muted);font-size:12px}.empty-state p{font-size:10px}.task-table-panel{overflow:hidden}.task-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:13px 16px;display:flex}.segmented-control{background:#f2f3f5;border-radius:6px;gap:3px;padding:3px;display:flex}.segmented-control button{min-width:63px;height:29px;color:var(--muted);background:0 0;border-radius:4px;font-size:11px}.segmented-control button.active{color:var(--text);background:#fff;font-weight:600;box-shadow:0 1px 4px #1f23291a}.task-table-header{min-height:36px;color:var(--subtle);border-bottom:1px solid var(--border);background:#fafbfc;grid-template-columns:minmax(300px,1fr) 70px 110px 32px;align-items:center;gap:10px;padding:0 13px 0 53px;font-size:10px;display:grid}.task-table .task-row:last-child{border-bottom:0}.project-grid{grid-template-columns:repeat(2,1fr);gap:15px;margin-bottom:16px;display:grid}.project-card{border:1px solid var(--border);background:#fff;border-radius:7px;padding:18px}.project-card-top{align-items:center;gap:8px;display:flex}.project-symbol{border-radius:6px;place-items:center;width:36px;height:36px;display:grid}.project-card-top>span{margin-left:auto}.project-card h2{margin:15px 0 3px;font-size:15px}.project-card>p{color:var(--subtle);font-size:10px}.status-ok,.status-risk,.status-info{border-radius:4px;justify-content:center;align-items:center;width:fit-content;height:22px;padding:0 8px;font-size:9px;font-style:normal;font-weight:600;display:inline-flex}.status-ok{color:#11865f;background:#e8f7f1}.status-risk{color:#bd6900;background:#fff3e2}.status-info{color:#2862df;background:#edf3ff}.project-progress-label{color:var(--muted);justify-content:space-between;margin:18px 0 7px;font-size:10px;display:flex}.progress-bar{background:#edf0f3;border-radius:3px;height:6px;overflow:hidden}.progress-bar i{border-radius:3px;height:100%;display:block}.project-meta{color:var(--subtle);border-top:1px solid #eef0f2;justify-content:space-between;align-items:center;margin-top:17px;padding-top:14px;font-size:10px;display:flex}.project-meta>span{align-items:center;gap:6px;display:flex}.project-meta b{color:var(--text)}.project-meta svg{width:14px;height:14px}.avatar-stack{display:flex}.avatar-stack i{color:#456087;background:#e6edfa;border:2px solid #fff;border-radius:50%;place-items:center;width:24px;height:24px;margin-left:-5px;font-size:8px;font-style:normal;display:grid}.milestone-panel .panel-header{margin-bottom:2px}.milestone-row{grid-template-columns:48px 12px 1fr 55px;align-items:center;gap:12px;min-height:65px;padding:5px 18px;display:grid}.milestone-row>div{text-align:right;display:grid}.milestone-row>div b{font-size:11px}.milestone-row>div span{color:var(--subtle);font-size:9px}.milestone-dot{background:var(--blue);border-radius:50%;width:8px;height:8px;position:relative}.milestone-dot:after{content:"";background:var(--border);width:1px;height:58px;position:absolute;top:8px;left:4px}.milestone-row:last-child .milestone-dot:after{display:none}.milestone-row p{display:grid}.milestone-row p strong{font-size:11px}.milestone-row p small{color:var(--subtle);margin-top:3px;font-size:9px}.milestone-row em{color:var(--blue);background:var(--blue-soft);text-align:center;border-radius:4px;padding:4px 7px;font-size:9px;font-style:normal}.report-grid{grid-template-columns:minmax(0,1.45fr) minmax(290px,.7fr);gap:16px;margin-bottom:16px;display:grid}.team-table-head,.team-row{grid-template-columns:1.2fr .65fr 1fr 60px;align-items:center;gap:12px;display:grid}.team-table-head{height:34px;color:var(--subtle);border-bottom:1px solid var(--border);background:#fafbfc;padding:0 18px;font-size:9px}.team-row{border-bottom:1px solid #eef0f2;min-height:61px;padding:7px 18px}.team-row:last-child{border-bottom:0}.member-cell{align-items:center;gap:9px;display:flex}.member-cell>span{color:#fff;border-radius:50%;place-items:center;width:29px;height:29px;font:600 8px DM Sans;display:grid}.member-cell p{display:grid}.member-cell strong{font-size:11px}.member-cell small{color:var(--subtle);margin-top:2px;font-size:9px}.member-tasks{color:var(--subtle);font-size:10px}.member-tasks b{color:var(--text);font-size:13px}.member-progress{align-items:center;gap:8px;display:flex}.member-progress>div{background:#edf0f3;border-radius:4px;width:75px;height:5px;overflow:hidden}.member-progress i{border-radius:4px;height:100%;display:block}.member-progress b{font-size:9px}.risk-panel{overflow:hidden}.risk-item{border:1px solid;border-radius:6px;gap:10px;margin:12px 14px 0;padding:12px;display:flex}.risk-item:last-child{margin-bottom:14px}.risk-item>span{border-radius:5px;flex:0 0 26px;place-items:center;width:26px;height:26px;display:grid}.risk-item svg{width:14px;height:14px}.risk-item>div{display:grid}.risk-item strong{font-size:10px}.risk-item p{color:var(--muted);margin-top:3px;font-size:9px;line-height:14px}.risk-item small{color:var(--subtle);margin-top:6px;font-size:8px}.risk-item.critical{background:#fff8f7;border-color:#ffd9d6}.risk-item.critical>span{color:#d84c46;background:#ffe9e7}.risk-item.warning{background:#fffbf5;border-color:#ffe4bd}.risk-item.warning>span{color:#c1741c;background:#ffeed5}.risk-item.info{background:#f8faff;border-color:#d8e5ff}.risk-item.info>span{color:var(--blue);background:#eaf1ff}.next-week-grid{grid-template-columns:repeat(3,1fr);gap:12px;padding:16px;display:grid}.next-week-grid article{border:1px solid var(--border);border-radius:6px;padding:14px}.plan-project{align-items:center;gap:7px;margin-bottom:11px;display:flex}.plan-project i{border-radius:2px;width:8px;height:8px}.plan-project strong{font-size:11px}.next-week-grid article p{color:#4e545e;align-items:flex-start;gap:6px;min-height:26px;font-size:9px;line-height:14px;display:flex}.next-week-grid article p svg{width:12px;height:12px;color:var(--green);margin-top:1px}.next-week-grid article>span{color:var(--subtle);border-top:1px solid #eef0f2;align-items:center;gap:6px;margin-top:8px;padding-top:9px;font-size:8px;display:flex}.next-week-grid article>span svg{width:12px;height:12px}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}button:disabled{cursor:wait;opacity:.62}.connection-banner{border:1px solid;border-radius:7px;align-items:center;gap:11px;min-height:68px;margin-bottom:14px;padding:12px 15px;display:flex}.connection-banner>span{border-radius:6px;flex:0 0 34px;place-items:center;width:34px;height:34px;display:grid}.connection-banner>div{flex:1;gap:3px;display:grid}.connection-banner strong{font-size:11px}.connection-banner p{color:var(--muted);font-size:9px}.connection-banner code{color:#9b5d13;background:#fff;border-radius:4px;padding:5px 8px;font:500 9px DM Sans,monospace}.connection-banner.connected{background:#f4fbf8;border-color:#cceee1}.connection-banner.connected>span{color:var(--green);background:#e0f6ed}.connection-banner.warning{background:#fffaf1;border-color:#f3dab3}.connection-banner.warning>span{color:#c1741c;background:#ffedd3}.connection-banner.offline{background:#f8f9fa;border-color:#dfe2e7}.connection-banner.offline>span{color:#68717d;background:#eceff2}.org-metrics{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px;display:grid}.org-metrics>div{border:1px solid var(--border);background:#fff;border-radius:7px;align-items:center;gap:11px;min-height:72px;padding:13px 15px;display:flex}.org-metrics>div>span{width:34px;height:34px;color:var(--blue);background:var(--blue-soft);border-radius:6px;place-items:center;display:grid}.org-metrics p{display:grid}.org-metrics small{color:var(--subtle);font-size:9px}.org-metrics strong{font-size:17px;line-height:22px}.org-panel{grid-template-columns:250px minmax(0,1fr);min-height:475px;display:grid;overflow:hidden}.org-tree{border-right:1px solid var(--border);background:#fafbfc;padding:14px 10px;position:relative}.org-tree-header{justify-content:space-between;align-items:center;height:34px;padding:0 8px;display:flex}.org-tree-header strong{font-size:11px}.org-tree-header span{color:var(--subtle);font-size:8px}.org-tree>button{color:#565d67;text-align:left;background:0 0;border-radius:5px;align-items:center;gap:8px;width:100%;min-height:46px;padding:6px 8px;display:flex;position:relative}.org-tree>button:hover,.org-tree>button.active{color:var(--blue);background:#edf3ff}.org-tree>button>i{background:#ccd2d9;width:10px;height:1px;margin-left:6px}.org-tree>button>span{color:#738096;background:#edf0f4;border-radius:5px;place-items:center;width:27px;height:27px;display:grid}.org-tree>button.active>span{color:var(--blue);background:#dce7ff}.org-tree>button svg{width:14px;height:14px}.org-tree>button>p{flex:1;min-width:0;display:grid}.org-tree>button>p strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.org-tree>button>p small{color:var(--subtle);margin-top:2px;font-size:8px}.org-tree>button>svg{color:#afb5bd}.org-tree .org-root{margin-bottom:8px}.org-tree .org-root>span{margin-left:16px}.tree-line{background:#dde1e6;width:1px;height:calc(100% - 105px);margin-left:23px;position:absolute}.org-members{min-width:0}.org-members-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:72px;padding:13px 18px;display:flex}.org-members-header>div{display:grid}.org-members-header>div>span{color:var(--subtle);font-size:8px}.org-members-header h2{margin-top:2px;font-size:15px}.org-members-header label{width:180px;height:32px;color:var(--subtle);background:#f4f5f7;border-radius:5px;align-items:center;gap:6px;padding:0 9px;display:flex}.org-members-header label svg{width:13px;height:13px}.org-members-header input{background:0 0;border:0;outline:0;width:100%;font-size:9px}.member-list-head,.org-member-row{grid-template-columns:1.1fr 1fr 65px 90px;align-items:center;gap:12px;display:grid}.member-list-head{height:34px;color:var(--subtle);border-bottom:1px solid var(--border);background:#fafbfc;padding:0 18px;font-size:8px}.org-member-row{min-height:61px;color:var(--muted);border-bottom:1px solid #eef0f2;padding:7px 18px;font-size:10px}.org-member-row:hover{background:#fbfcfd}.org-member-row>div{align-items:center;gap:9px;min-width:0;display:flex}.org-member-row>div>span{width:30px;height:30px;color:var(--blue);background:#e8f1ff;border-radius:50%;flex:0 0 30px;place-items:center;font-size:10px;font-weight:700;display:grid;overflow:hidden}.org-member-row img{object-fit:cover;width:100%;height:100%}.org-member-row>div p{min-width:0;display:grid}.org-member-row strong{color:var(--text);font-size:10px}.org-member-row small{color:var(--subtle);font-size:8px}.org-member-row em{color:#68717d;background:#eef0f2;border-radius:4px;width:fit-content;padding:3px 7px;font-size:8px;font-style:normal}.org-member-row em.online{color:#11865f;background:#e8f7f1}.org-member-row>p b{color:var(--text)}.org-empty{min-height:250px;color:var(--subtle);align-content:center;place-items:center;gap:5px;display:grid}.org-empty svg{width:28px;height:28px}.org-empty strong{color:var(--muted);font-size:11px}.org-empty p{font-size:9px}.permission-guide{border:1px solid var(--border);background:#fff;border-radius:7px;justify-content:space-between;align-items:center;gap:14px;margin-top:14px;padding:14px 16px;display:flex}.permission-guide>div{align-items:flex-start;gap:10px;display:flex}.permission-guide>div>svg{color:#c1741c;margin-top:2px}.permission-guide span{gap:3px;display:grid}.permission-guide strong{font-size:10px}.permission-guide p{color:var(--muted);font-size:9px;line-height:15px}.permission-guide code{color:#59616b;background:#f5f6f8;border-radius:4px;max-width:390px;padding:6px 9px;font:500 8px DM Sans,monospace}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#171a2166;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:8px;width:min(560px,100%);overflow:hidden;box-shadow:0 20px 60px #10121833}.small-modal{width:min(470px,100%)}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:78px;padding:15px 20px;display:flex}.modal-header span{color:var(--blue);font-size:10px}.modal-header h2{margin-top:2px;font-size:17px}.modal form{padding:20px}.form-field{gap:7px;margin-bottom:16px;display:grid}.form-field>span{color:#4e545e;font-size:11px;font-weight:600}.form-field input,.form-field select{width:100%;height:39px;color:var(--text);background:#fff;border:1px solid #d9dce1;border-radius:6px;padding:0 11px;font-size:12px}.form-field input:focus,.form-field select:focus{border-color:#7ba2ff;outline:0;box-shadow:0 0 0 3px #3370ff12}.form-grid{grid-template-columns:repeat(2,1fr);gap:0 14px;display:grid}.modal-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:9px;margin-top:5px;padding-top:16px;display:flex}.toast{z-index:120;color:#fff;background:#1f2329;border-radius:6px;align-items:center;gap:8px;height:42px;padding:0 16px;font-size:12px;display:flex;position:fixed;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #1f23292e}.toast svg{color:#51d29a}.menu-backdrop{display:none}.avatar{flex:0 0 34px;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.sidebar-footer>a{width:28px;height:28px;color:var(--subtle);border-radius:5px;place-items:center;display:grid}.sidebar-footer>a:hover{color:#d84c46;background:#fff0ef}.sidebar-footer>a svg{width:15px;height:15px}.sidebar-context{gap:9px;margin-top:28px;display:grid}.sidebar-context>div,.sidebar-context>button{min-height:34px;color:var(--muted);text-align:left;background:0 0;align-items:center;gap:9px;padding:0 10px;font-size:11px;display:flex}.sidebar-context>button{border-radius:5px}.sidebar-context>button:hover{color:var(--blue);background:var(--blue-soft)}.sidebar-context>div svg,.sidebar-context>button svg{width:15px;height:15px;color:var(--green)}.sidebar-context>div:nth-of-type(2) svg{color:var(--violet)}.sidebar-context>button svg{color:var(--blue)}.task-link{color:inherit;text-decoration:none}.task-check.readonly{pointer-events:none}.priority-unset{color:var(--subtle);background:#f4f5f7}.empty-compact{min-height:74px;color:var(--subtle);text-align:center;justify-content:center;align-items:center;gap:7px;padding:14px;font-size:10px;display:flex}.empty-compact svg{width:14px;height:14px}.plan-list>.empty-compact{justify-content:flex-start}.plan-list>.empty-compact>span{width:auto;height:auto;color:var(--subtle);font:inherit;background:0 0;border-radius:0;flex:1;display:inline}.notification-popover .empty-compact{border-top:1px solid var(--border)}.loading-rows{gap:10px;padding:13px 16px;display:grid}.loading-rows i{background:linear-gradient(90deg,#f1f2f4 25%,#f8f9fa 45%,#f1f2f4 65%) 0 0/300% 100%;border-radius:5px;height:44px;animation:1.25s infinite skeleton}@keyframes skeleton{to{background-position:-150% 0}}.profile-panel .panel-header{border-bottom:0}.profile-summary{align-items:center;gap:11px;padding:2px 18px 16px;display:flex}.profile-summary .avatar{flex-basis:44px;width:44px;height:44px}.profile-summary>div:last-child{gap:2px;min-width:0;display:grid}.profile-summary strong{font-size:13px}.profile-summary p{color:var(--muted);font-size:10px}.profile-panel dl{gap:9px;margin:0;padding:0 18px 17px;display:grid}.profile-panel dl>div{grid-template-columns:58px minmax(0,1fr);gap:9px;font-size:10px;display:grid}.profile-panel dt{color:var(--subtle)}.profile-panel dd{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.source-empty{text-align:center;align-content:center;place-items:center;gap:8px;min-height:390px;display:grid}.source-empty>div{width:54px;height:54px;color:var(--blue);background:var(--blue-soft);border-radius:8px;place-items:center;display:grid}.source-empty>div svg{width:25px;height:25px}.source-empty h2{font-size:15px}.source-empty p{max-width:420px;color:var(--muted);font-size:11px;line-height:18px}.page-notice{max-width:1500px;margin:14px auto 0;padding:0 32px}.toolbar-count{color:var(--subtle);font-size:10px}.task-table-header{grid-template-columns:minmax(300px,1fr) 70px 110px 92px}.task-table .task-row,.focus-list .task-row{grid-template-columns:30px minmax(220px,1fr) 60px 110px 92px}.task-status,.status-select{text-align:center;border:1px solid #0000;border-radius:5px;width:86px;height:28px;font-size:10px;font-weight:600}.task-status{place-items:center;display:grid}.status-select{cursor:pointer;padding:0 6px}.status-todo{color:#68717d;background:#f1f3f5}.status-doing{color:#2862df;background:#edf3ff}.status-done{color:#11865f;background:#e8f7f1}.project-symbol.blue{color:var(--blue);background:var(--blue-soft)}.project-symbol.green{color:var(--green);background:#e9f8f3}.project-symbol.violet{color:var(--violet);background:#f1edff}.project-symbol svg{width:18px;height:18px}.progress-bar i{background:var(--blue)}.project-card>p{min-height:34px;line-height:17px}.project-meta{flex-wrap:wrap;gap:10px}.ai-panel{overflow:hidden}.ai-empty{min-height:116px;color:var(--violet);justify-content:center;align-items:center;gap:14px;padding:23px;display:flex}.ai-empty>svg{width:32px;height:32px}.ai-empty>div{gap:4px;display:grid}.ai-empty strong{color:var(--text);font-size:12px}.ai-empty p{color:var(--muted);font-size:10px}.ai-result{padding:16px 18px 18px}.ai-summary{border-left:3px solid var(--violet);color:#4e545e;background:#f8f6ff;margin-bottom:14px;padding:11px 13px;font-size:11px;line-height:18px}.ai-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.ai-columns>div{border:1px solid var(--border);border-radius:6px;padding:11px}.ai-columns strong{align-items:center;gap:5px;margin-bottom:7px;font-size:10px;display:flex}.ai-columns strong svg{width:13px;height:13px;color:var(--blue)}.ai-columns p{color:var(--muted);padding-left:9px;font-size:9px;line-height:15px;position:relative}.ai-columns p:before{content:"";background:#aeb4bc;border-radius:50%;width:3px;height:3px;position:absolute;top:6px;left:0}.form-field textarea{resize:vertical;width:100%;min-height:82px;color:var(--text);background:#fff;border:1px solid #d9dce1;border-radius:6px;padding:10px 11px;font-size:11px;line-height:18px}.form-field textarea:focus{border-color:#7ba2ff;outline:0;box-shadow:0 0 0 3px #3370ff12}.ai-assist-button{color:#6546d7;background:#f8f6ff;border:1px solid #ddd5ff;border-radius:6px;justify-content:center;align-items:center;gap:7px;width:100%;min-height:38px;margin:-2px 0 16px;font-size:11px;font-weight:600;display:flex}.ai-assist-button:hover{background:#f2eeff}.ai-assist-button svg{width:15px;height:15px}.subtask-preview{background:#f8f9fb;border-radius:6px;gap:6px;margin:-6px 0 16px;padding:10px 12px;display:grid}.subtask-preview span{color:var(--muted);align-items:center;gap:7px;font-size:10px;display:flex}.subtask-preview svg{width:13px;height:13px;color:var(--green)}.form-error{color:#b83b36;background:#fff0ef;border-radius:5px;margin:0 18px 15px;padding:9px 11px;font-size:10px}.modal form .form-error{margin-left:0;margin-right:0}.primary-button.full{width:100%}.assistant-setup{padding:20px}.assistant-setup-summary{border-left:3px solid var(--blue);background:#f5f8ff;align-items:center;gap:11px;min-height:58px;margin-bottom:12px;padding:12px 14px;display:flex}.assistant-setup-summary>svg{width:25px;height:25px;color:var(--blue);flex:none}.assistant-setup-summary>div{gap:3px;display:grid}.assistant-setup-summary strong{font-size:11px}.assistant-setup-summary p{color:var(--muted);font-size:9px;line-height:15px}.assistant-setup-flow{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px;display:grid}.assistant-setup-flow>div{border-right:1px solid var(--border);grid-template-columns:25px minmax(0,1fr);align-items:start;gap:8px;min-height:76px;padding:13px 10px;display:grid}.assistant-setup-flow>div:last-child{border-right:0}.assistant-setup-flow>div>span{width:23px;height:23px;color:var(--blue);background:#eef3ff;border-radius:50%;place-items:center;font-size:9px;font-weight:700;display:grid}.assistant-setup-flow p{gap:3px;display:grid}.assistant-setup-flow strong{font-size:10px;line-height:16px}.assistant-setup-flow small{color:var(--muted);font-size:9px;line-height:14px}.install-prompt{background:#f8f9fb;border:1px solid #d9dce1;border-radius:6px;margin-bottom:12px;overflow:hidden}.install-prompt>div{background:#fff;border-bottom:1px solid #e2e4e8;justify-content:space-between;align-items:center;height:38px;padding:0 8px 0 12px;display:flex}.install-prompt>div>span{color:var(--muted);font-size:9px;font-weight:600}.install-prompt .icon-button{width:30px;height:30px}.install-prompt .icon-button svg{width:14px;height:14px}.install-prompt pre{color:#353a43;white-space:pre-wrap;word-break:break-word;-webkit-user-select:text;user-select:text;max-height:190px;margin:0;padding:12px;font-family:Consolas,SFMono-Regular,monospace;font-size:9px;line-height:16px;overflow:auto}.assistant-setup-button{text-decoration:none}.assistant-setup-note{color:var(--subtle);align-items:flex-start;gap:7px;margin-top:12px;font-size:9px;line-height:15px;display:flex}.assistant-setup-note svg{width:13px;height:13px;color:var(--green);flex:none;margin-top:1px}.assistant-copy-error{color:#b83b36;margin:-3px 0 10px;font-size:9px;line-height:15px}.capture-opt-in{background:#f7f9fd;border:1px solid #dce5f8;border-radius:6px;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:12px;padding:12px;display:grid}.capture-opt-in>svg{width:20px;height:20px;color:var(--blue)}.capture-opt-in>div{gap:2px;display:grid}.capture-opt-in strong{font-size:10px}.capture-opt-in p{color:var(--muted);font-size:9px;line-height:15px}.report-toolbar{justify-content:space-between;align-items:center;gap:14px;min-height:42px;margin:-8px 0 14px;display:flex}.report-tabs{width:fit-content}.report-save-state{color:var(--muted);align-items:center;gap:7px;font-size:10px;display:flex}.report-save-state i{background:#aeb4bc;border-radius:50%;width:7px;height:7px}.report-save-state span{border-left:1px solid var(--border);color:var(--subtle);padding-left:8px}.report-save-state.dirty i{background:var(--orange)}.report-save-state.draft i{background:var(--blue)}.report-save-state.submitted i{background:var(--green)}.report-workspace{grid-template-columns:minmax(0,1.55fr) minmax(260px,.55fr);align-items:start;gap:16px;margin-bottom:16px;display:grid}.report-editor{overflow:hidden}.report-source-strip{background:#fafbfc;border-bottom:1px solid #eceef1;align-items:center;gap:15px;min-height:42px;padding:8px 18px;display:flex}.report-source-strip span{color:#4f5967;white-space:nowrap;align-items:center;gap:5px;font-size:10px;display:inline-flex}.report-source-strip span svg{width:13px;height:13px;color:var(--blue)}.report-source-strip small{color:var(--subtle);text-align:right;margin-left:auto;font-size:9px;line-height:15px}.report-form{padding:18px}.report-form .form-field>span small{color:var(--subtle);font-size:9px;font-weight:400}.report-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;display:grid}.report-field-grid textarea{min-height:112px}.report-submit{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;padding-top:15px;display:flex}.report-submit>span{color:var(--subtle);align-items:center;gap:7px;font-size:9px;display:flex}.report-submit>span svg{width:14px;height:14px;color:var(--green)}.report-submit>div{align-items:center;gap:8px;display:flex}.report-sidebar{gap:16px;display:grid}.report-progress{padding:19px}.report-progress>strong{margin-bottom:10px;font-size:28px;display:block}.report-progress p{color:var(--subtle);margin-top:8px;font-size:10px}.submission-list{max-height:322px;padding:6px 14px 12px;overflow-y:auto}.submission-list>div{border-bottom:1px solid #eef0f2;align-items:center;gap:9px;min-height:50px;display:flex}.submission-list .avatar{flex-basis:29px;width:29px;height:29px;font-size:10px}.submission-list span{flex:1;display:grid}.submission-list strong{font-size:10px}.submission-list small{color:var(--subtle);margin-top:2px;font-size:8px}.submission-list em{width:26px;padding:0}.submission-list em svg{width:13px;height:13px}.team-reports{overflow:hidden}.team-report-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;display:grid}.team-report-grid article{border:1px solid var(--border);border-radius:6px;padding:15px}.team-report-grid article>div{grid-template-rows:14px 14px;grid-template-columns:28px 1fr;align-items:center;column-gap:8px;display:grid}.team-report-grid article>div>span{width:28px;height:28px;color:var(--blue);background:var(--blue-soft);border-radius:50%;grid-row:1/3;place-items:center;font-size:9px;font-weight:700;display:grid}.team-report-grid article>div strong{font-size:10px}.team-report-grid article>div small{color:var(--subtle);font-size:8px}.team-report-grid h3{margin:13px 0 10px;font-size:11px;line-height:18px}.team-report-grid dl{grid-template-columns:38px 1fr;gap:6px 8px;margin:0;display:grid}.team-report-grid dt{color:var(--subtle);font-size:9px}.team-report-grid dd{color:var(--muted);white-space:pre-wrap;margin:0;font-size:9px;line-height:15px}.login-screen{background:#f4f6f8;place-items:center;width:100%;min-height:100vh;margin:0;padding:24px;display:grid}.login-panel{border:1px solid var(--border);text-align:center;background:#fff;border-radius:8px;width:min(430px,100%);padding:32px;box-shadow:0 18px 55px #1f232914}.login-brand{text-align:left;width:fit-content;margin:0 auto;padding:0 0 28px}.login-icon{width:54px;height:54px;color:var(--blue);background:var(--blue-soft);border-radius:8px;place-items:center;margin:0 auto 17px;display:grid}.login-icon svg{width:25px;height:25px}.login-panel h1{font-size:20px;line-height:29px}.login-panel>p{min-height:42px;color:var(--muted);margin:7px auto 20px;font-size:12px;line-height:20px}.login-button{width:100%;height:40px;text-decoration:none}.login-security{border-top:1px solid var(--border);color:var(--subtle);text-align:left;align-items:flex-start;gap:8px;margin-top:22px;padding-top:17px;font-size:10px;line-height:16px;display:flex}.login-security svg{width:15px;height:15px;color:var(--green);margin-top:1px}@media (width<=1100px){.sidebar{width:210px}main{width:calc(100% - 210px);margin-left:210px}.topbar,.page-content{padding-left:22px;padding-right:22px}.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.report-grid{grid-template-columns:1fr}.dashboard-side{grid-template-columns:repeat(2,1fr)}.report-workspace{grid-template-columns:1fr}.report-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}.report-source-strip small{display:none}}@media (width<=760px){body{background:#fff}.sidebar{width:248px;box-shadow:none;transition:transform .2s;transform:translate(-100%)}.sidebar.sidebar-open{transform:translate(0);box-shadow:12px 0 40px #1f232926}.menu-backdrop{z-index:15;background:#171a214d;width:100%;height:100%;display:block;position:fixed;inset:0}main{width:100%;margin-left:0;padding-bottom:68px}.topbar{height:58px;padding:0 14px}.mobile-menu{margin-right:4px;display:grid}.week-control span{font-size:11px}.week-control span svg,.week-control .today-button,.topbar .search-field,.topbar-actions .primary-button{display:none}.mobile-search{height:36px;color:var(--subtle);background:#f4f5f7;border-radius:6px;align-items:center;gap:7px;margin:12px 14px 0;padding:0 10px;display:flex}.mobile-search input{background:0 0;border:0;outline:0;width:100%;font-size:11px}.mobile-search svg{width:15px;height:15px}.page-content{padding:20px 14px 26px}.page-intro{align-items:flex-end;min-height:auto;margin-bottom:18px}.page-intro h1{font-size:21px;line-height:29px}.page-intro p{max-width:270px}.page-intro>button{height:34px;padding:0 10px}.page-intro>button svg{width:15px;height:15px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.metric{gap:10px;min-height:96px;padding:12px}.metric-icon{width:34px;height:34px}.metric-icon svg{width:17px;height:17px}.metric-body strong{font-size:19px;line-height:26px}.metric-body small{font-size:8px}.dashboard-main,.dashboard-side{gap:12px}.dashboard-side{grid-template-columns:1fr}.task-row.compact{grid-template-columns:27px minmax(0,1fr) 40px;padding-left:7px;padding-right:7px}.task-row.compact .task-more{display:none}.task-info>div{gap:6px}.task-info>div>span:nth-child(n+3){display:none}.week-columns{gap:6px;padding:16px 10px}.day-column{padding-left:2px;padding-right:2px}.project-grid{grid-template-columns:1fr}.project-card{padding:15px}.report-grid{gap:12px}.team-table-head{display:none}.team-row{grid-template-columns:1fr 48px 92px;padding:9px 12px}.team-row>.status-ok,.team-row>.status-risk,.team-row>.status-info{display:none}.member-progress>div{width:57px}.next-week-grid{grid-template-columns:1fr}.task-toolbar{gap:10px;overflow-x:auto}.segmented-control button{min-width:52px}.task-table-header{display:none}.task-table .task-row{grid-template-columns:27px minmax(0,1fr) 40px;padding:9px}.task-table .assignee,.task-table .status-select{display:none}.focus-list .task-row{grid-template-columns:27px minmax(0,1fr) 40px;padding:9px}.focus-list .assignee,.focus-list .task-status{display:none}.mobile-nav{z-index:12;border-top:1px solid var(--border);height:62px;padding-bottom:env(safe-area-inset-bottom);background:#fffffff7;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav button{color:var(--subtle);background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:9px;display:flex}.mobile-nav button.active{color:var(--blue)}.mobile-nav svg{width:19px;height:19px}.notification-popover{width:auto;position:fixed;top:60px;left:14px;right:14px}.modal-backdrop{align-items:end;padding:0}.modal{border-radius:10px 10px 0 0;width:100%}.form-grid{grid-template-columns:1fr}.modal form{max-height:70vh;overflow-y:auto}.connection-banner{align-items:flex-start}.connection-banner code{display:none}.org-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.org-metrics>div{gap:7px;min-height:67px;padding:9px}.org-metrics>div>span{width:29px;height:29px}.org-metrics>div>span svg{width:15px;height:15px}.org-panel{grid-template-columns:1fr}.org-tree{border-right:0;border-bottom:1px solid var(--border);gap:7px;padding:10px;display:flex;overflow-x:auto}.org-tree-header,.org-tree .org-root,.tree-line{display:none}.org-tree>button{width:auto;min-width:130px}.org-tree>button>i,.org-tree>button>svg{display:none}.org-members-header{min-height:65px}.org-members-header label{width:135px}.member-list-head{display:none}.org-member-row{grid-template-columns:minmax(0,1fr) 65px;padding:8px 12px}.org-member-row>span,.org-member-row>p{display:none}.permission-guide{align-items:flex-start}.permission-guide code{display:none}.ai-columns,.report-field-grid,.team-report-grid,.report-sidebar{grid-template-columns:1fr}.report-submit{flex-direction:column;align-items:flex-start}.report-submit>div,.report-submit button{width:100%}.report-toolbar{flex-direction:column;align-items:flex-start}.report-source-strip{flex-direction:column;align-items:flex-start;gap:6px}.capture-opt-in{grid-template-columns:22px minmax(0,1fr)}.capture-opt-in button{grid-column:1/-1;width:100%}.assistant-setup{max-height:78vh;padding:16px;overflow-y:auto}.assistant-setup-flow{grid-template-columns:1fr}.assistant-setup-flow>div{border-right:0;border-bottom:1px solid var(--border);align-items:center;min-height:54px;padding:9px 4px}.assistant-setup-flow>div:last-child{border-bottom:0}.install-prompt pre{max-height:170px}.page-notice{padding:0 14px}}@media (width<=390px){.metric-grid{grid-template-columns:1fr}.metric{min-height:82px}.page-intro p{max-width:220px}}
