:root{color:#10263f;background:#fbfcfd;font-family:PingFang SC,Noto Sans CJK SC,Microsoft YaHei,system-ui,sans-serif;font-synthesis:none;--ink: #10263f;--muted: #64758a;--line: #dce5eb;--soft-line: #e9eef2;--primary: #056789;--primary-dark: #034d68;--primary-soft: #edf6f9;--warning: #df9200;--warning-dark: #a56400;--warning-soft: #fff5e2;--success: #218454;--success-soft: #eaf5ed;--violet: #6755a8;--violet-soft: #f2effb}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%}body{margin:0;background:#fbfcfd;color:var(--ink);-webkit-font-smoothing:antialiased}.auth-screen{display:grid;min-height:100vh;padding:32px;place-items:center;background:radial-gradient(circle at 18% 16%,#e5f4f7 0,transparent 33%),#f7fafb}.auth-card{width:min(100%,470px);padding:34px;border:1px solid #d9e6eb;border-radius:12px;background:#fff;box-shadow:0 18px 48px #1239501a}.auth-card h1{margin:8px 0;color:#173950;font-size:27px;letter-spacing:-.5px}.auth-card>p{margin:0 0 22px;color:#62798a;font-size:14px;line-height:1.65}.auth-card form{display:grid;gap:12px}.auth-card .button-primary{justify-content:center;width:100%;margin-top:4px}.auth-error{margin:0;color:#a64e42;font-size:13px}.auth-switch{display:inline-flex;margin-top:16px;color:var(--primary)}button,input,select,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(5,103,137,.24);outline-offset:2px}.app-shell{display:flex;min-height:100vh;background:#fbfcfd}.sidebar{position:sticky;top:0;z-index:3;display:flex;flex:0 0 196px;flex-direction:column;width:196px;height:100vh;padding:42px 0 28px;border-right:1px solid var(--soft-line);background:#fbfcfd}.brand{padding:0 32px;color:#0a3350;font-size:28px;font-weight:760;letter-spacing:-.7px;line-height:1}.nav-list{display:grid;gap:8px;margin-top:45px}.nav-item{position:relative;display:flex;align-items:center;gap:17px;width:100%;height:56px;padding:0 32px;border:0;background:transparent;cursor:pointer;font-size:17px;text-align:left}.nav-item:hover{background:#f2f7f9}.nav-item.is-active{background:#edf5f8;color:#084f70;font-weight:650}.nav-item.is-active:before{position:absolute;top:0;bottom:0;left:7px;width:4px;border-radius:4px;background:var(--primary);content:""}.profile-button{display:flex;align-items:center;gap:11px;margin-top:auto;padding:12px 32px;border:0;background:transparent;cursor:pointer;font-size:16px}.profile-button span{flex:1;text-align:left}.weekly-main,.secondary-view,.project-main,.letter-main{flex:1;min-width:0;padding:30px 34px 34px 36px}.week-header,.project-header,.letter-header{display:grid;grid-template-columns:1fr auto auto;gap:24px;align-items:center;min-height:92px;border-bottom:1px solid var(--line)}.eyebrow{margin:0 0 8px;color:var(--primary);font-size:14px;font-weight:700;letter-spacing:.04em}h1{margin:0;font-size:34px;letter-spacing:-.9px;line-height:1.12}.week-switcher{color:#344c64;font-size:15px;font-weight:600}.button-primary,.button-secondary,.button-warning,.button-ai{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border-radius:5px;font-size:15px;font-weight:650;cursor:pointer}.button-primary{border:1px solid var(--primary);background:var(--primary);color:#fff}.button-primary:hover{border-color:var(--primary-dark);background:var(--primary-dark)}.button-secondary{border:1px solid #9cadbc;background:#fff;color:#1d344b}.button-secondary:hover{border-color:var(--primary);color:var(--primary);background:#f5fafb}.button-warning{border:1px solid var(--warning);background:var(--warning);color:#fff}.button-warning:hover{border-color:var(--warning-dark);background:var(--warning-dark)}.button-ai{border:1px solid #b8afe0;background:#fff;color:#50418c}.button-ai:hover{border-color:var(--violet);background:var(--violet-soft)}.button-primary:disabled{cursor:not-allowed;opacity:.45}.weekly-layout{display:grid;grid-template-columns:minmax(0,1fr) 284px;gap:24px;padding-top:25px}.route-column{min-width:0}.focus-strip{display:flex;align-items:center;gap:13px;min-height:70px;padding:13px 17px;border:1px solid #cce0e7;border-left:5px solid var(--primary);border-radius:7px;background:#f7fbfc}.focus-strip>svg{color:var(--primary)}.focus-strip div{display:grid;gap:3px}.focus-strip span{color:var(--primary);font-size:12px;font-weight:700;letter-spacing:.04em}.focus-strip strong{font-size:16px}.focus-strip p{margin:0 0 0 auto;color:#687b8d;font-size:13px}.route-section{margin-top:27px}.route-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:17px}.route-section-heading h2{margin:0;font-size:25px;letter-spacing:-.45px}.route-section-heading p{margin:7px 0 0;color:var(--muted);font-size:14px}.route-summary{display:flex;align-items:center;gap:6px;color:#5b6c7e;font-size:13px;white-space:nowrap}.route-summary svg:first-child{color:var(--primary)}.route-summary svg:nth-child(2){margin-left:8px;color:var(--warning)}.route-board{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.route-board-header,.route-row{display:grid;grid-template-columns:226px minmax(0,1fr)}.route-board-header{min-height:54px;border-bottom:1px solid var(--line);color:#68798c;font-size:13px}.route-board-header>span{display:flex;align-items:center;padding:0 16px}.week-axis{display:grid;grid-template-columns:repeat(7,1fr);min-width:0}.week-day{display:grid;min-width:0;place-content:center;gap:2px;border-left:1px solid #eef2f5;color:#748497;text-align:center}.week-day strong{color:#344d65;font-size:16px}.week-day.is-today{background:#edf7fa;color:var(--primary)}.week-day.is-today strong{color:var(--primary)}.route-row{min-height:122px;border-bottom:1px solid var(--soft-line)}.route-row:last-child{border-bottom:0}.route-project{padding:15px 16px;border:0;border-right:1px solid var(--line);background:#fff;cursor:pointer;text-align:left}.route-project:hover{background:#f8fbfc}.route-area{display:block;overflow:hidden;color:#8795a3;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.route-project-name{display:block;margin-top:3px;color:#112b44;font-size:16px;font-weight:720}.route-phase{display:block;margin-top:4px;color:#3f5970;font-size:13px}.route-goal{display:block;margin-top:6px;overflow:hidden;color:#7a8998;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.route-grid{position:relative;display:grid;min-width:0;overflow:hidden;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:50px 1fr}.route-grid-columns{position:absolute;z-index:0;top:0;right:0;bottom:0;left:0;display:grid;pointer-events:none;grid-template-columns:repeat(7,minmax(0,1fr))}.route-grid-columns i{border-left:1px solid #eef2f5}.route-grid-columns i:last-child{border-right:1px solid #eef2f5}.today-column{position:relative;z-index:0;background:#e5f7fa9e;grid-column:6;grid-row:1 / 3}.phase-bar{z-index:1;align-self:center;height:25px;margin:0 7px;padding:5px 8px;overflow:hidden;border-radius:4px;font-size:11px;line-height:15px;text-overflow:ellipsis;white-space:nowrap}.phase-done{background:#e8f3eb;color:#397054}.phase-current{background:#e6f3f7;color:#17617c}.phase-risk{background:#fff1d9;color:#a35e00}.node-lane{z-index:1;display:grid;align-items:start;min-width:0;grid-column:1 / 8;grid-row:2;grid-template-columns:repeat(7,minmax(0,1fr))}.timeline-node{display:grid;justify-items:center;gap:5px;min-width:0;padding:5px 2px 0;border:0;background:transparent;color:#52687a;cursor:pointer;font-size:11px;line-height:1.2}.timeline-node:hover>span:last-child{color:var(--primary);text-decoration:underline}.timeline-node>span:last-child{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-dot{display:block;width:13px;height:13px;border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #9aadb9;background:#fff}.node-ready{color:var(--primary);font-weight:650}.node-ready .node-dot{box-shadow:0 0 0 2px var(--primary);background:var(--primary)}.node-blocked{color:#ae6700;font-weight:650}.node-blocked .node-dot{box-shadow:0 0 0 2px var(--warning);background:var(--warning)}.node-done{color:#6f907b}.node-done .node-dot{box-shadow:0 0 0 1px var(--success);background:var(--success)}.timeline-node.is-selected{border-radius:4px;background:#05678914}.bottom-summary{display:grid;gap:13px;margin-top:21px;grid-template-columns:repeat(3,1fr)}.summary-card{display:flex;align-items:center;min-width:0;gap:11px;min-height:70px;padding:12px;border:1px solid var(--line);border-radius:6px;background:#fff}.summary-icon{display:grid;flex:0 0 36px;width:36px;height:36px;place-items:center;border-radius:50%;background:#eaf5f8;color:var(--primary)}.summary-icon.warning{background:#fff2dd;color:var(--warning)}.summary-icon.soft{background:#eef2f6;color:#5e7084}.summary-card div:nth-child(2){display:grid;min-width:0;gap:4px}.summary-card span{color:#758598;font-size:11px}.summary-card strong{overflow:hidden;color:#213b52;font-size:13px;font-weight:620;text-overflow:ellipsis;white-space:nowrap}.ai-companion{align-self:start;min-width:0;padding:20px 18px;border:1px solid #ded9ee;border-radius:7px;background:#fcfbff}.ai-topline{display:flex;align-items:center;gap:8px;color:#403477;font-size:14px;font-weight:720}.ai-topline small{margin-left:auto;padding:3px 7px;border-radius:10px;background:#eeeafb;color:#776ab1;font-size:10px;font-weight:650}.ai-spark{display:grid;width:29px;height:29px;place-items:center;border-radius:50%;background:#e9e4fa;color:var(--violet)}.ai-companion h2{margin:17px 0 9px;color:#283e56;font-size:19px;letter-spacing:-.3px;line-height:1.38}.ai-companion>p{margin:0;color:#687287;font-size:13px;line-height:1.65}.ai-context{display:grid;gap:9px;margin-top:17px;padding:14px 0;border-top:1px solid #e5e1f2;border-bottom:1px solid #e5e1f2;color:#4c5870;font-size:12px}.ai-context span{display:flex;align-items:center;gap:8px}.ai-context svg{color:#7160ad}.ai-current{margin:16px 0;padding:12px;border-radius:5px;background:#f4f2fb}.ai-current span{display:block;color:#796bab;font-size:11px;font-weight:700}.ai-current strong{display:block;margin-top:5px;color:#354863;font-size:13px}.ai-current p{margin:7px 0 0;color:#687287;font-size:12px;line-height:1.55}.button-ai{width:100%;min-height:40px;font-size:13px}.ai-footnote{margin-top:12px!important;color:#938aa9!important;font-size:11px!important;text-align:center}.project-main{max-width:1500px}.project-header{grid-template-columns:1fr auto}.project-header>div>p:last-child,.secondary-header>p:last-child,.letter-header>div>p:last-child{margin:12px 0 0;color:var(--muted)}.project-hierarchy{display:grid;gap:12px;margin-top:23px;padding:15px 17px;border:1px solid #d8e6e9;border-radius:7px;background:#f9fcfc}.hierarchy-label{display:flex;align-items:center;gap:9px;color:#396175;font-size:13px;font-weight:650}.hierarchy-label svg{color:var(--primary)}.hierarchy-path{display:flex;flex-wrap:wrap;align-items:center;gap:7px;color:#79899a;font-size:12px}.hierarchy-path strong{color:#21445b;font-weight:680}.hierarchy-path svg{color:#a0acb6}.project-management{display:grid;min-height:600px;margin-top:22px;border:1px solid var(--line);border-radius:7px;background:#fff;grid-template-columns:236px minmax(0,1fr)}.project-list{border-right:1px solid var(--line)}.project-list-top{display:flex;align-items:center;justify-content:space-between;min-height:57px;padding:0 14px;border-bottom:1px solid var(--line)}.project-list-top strong{font-size:14px}.project-list-top button{padding:0;border:0;background:none;color:var(--primary);cursor:pointer;font-size:12px}.project-list-item{position:relative;display:grid;width:100%;gap:4px;padding:15px 15px 16px;border:0;border-bottom:1px solid var(--soft-line);background:#fff;cursor:pointer;text-align:left}.project-list-item:hover{background:#f7fbfc}.project-list-item.is-selected{background:#edf6f8}.project-list-item.is-selected:before{position:absolute;top:0;bottom:0;left:0;width:3px;background:var(--primary);content:""}.project-list-area{overflow:hidden;color:#8493a0;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.project-list-item strong{font-size:15px}.project-list-item small{overflow:hidden;color:#63778b;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.project-list-state{position:absolute;right:13px;bottom:14px;color:#458066;font-size:11px}.project-detail{min-width:0;padding:27px 30px 32px}.detail-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.detail-title p{margin:0 0 5px;color:var(--primary);font-size:13px;font-weight:680}.detail-title h2{margin:0;font-size:27px;letter-spacing:-.6px}.text-button{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:transparent;color:#42657b;cursor:pointer;font-size:14px}.text-button:hover{color:var(--primary);text-decoration:underline}.danger-text{color:#9b6548}.danger-text:hover{color:#a4441f}.lifecycle{display:grid;margin-top:27px;padding:17px 8px;border-top:1px solid var(--soft-line);border-bottom:1px solid var(--soft-line);grid-template-columns:repeat(5,1fr)}.lifecycle-step{position:relative;display:grid;justify-items:center;gap:7px;color:#9ba9b5;font-size:12px}.lifecycle-step:after{position:absolute;top:11px;left:calc(50% + 19px);width:calc(100% - 38px);height:1px;background:#d9e1e7;content:""}.lifecycle-step:last-child:after{display:none}.lifecycle-step span{z-index:1;display:grid;width:23px;height:23px;place-items:center;border:1px solid #cdd8df;border-radius:50%;background:#fff;font-size:11px}.lifecycle-step.is-done,.lifecycle-step.is-current{color:#1f5f78}.lifecycle-step.is-done span{border-color:var(--success);background:var(--success);color:#fff}.lifecycle-step.is-current span{border:2px solid var(--primary);color:var(--primary)}.lifecycle-step.is-done:after{background:var(--success)}.detail-grid{display:grid;gap:14px;margin-top:23px;grid-template-columns:1fr 1fr}.detail-grid article{min-height:128px;padding:17px;border:1px solid var(--line);border-radius:6px;background:#fff}.detail-kicker{display:block;color:#6a7e90;font-size:11px;font-weight:720;letter-spacing:.04em}.detail-grid h3,.week-plan-card h3,.project-events h3{margin:7px 0 8px;color:#203c54;font-size:16px;line-height:1.45}.detail-grid p,.week-plan-card p{margin:0;color:#65778a;font-size:13px;line-height:1.6}.week-plan-card{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:14px;padding:17px;border:1px solid #cfe0e6;border-radius:6px;background:#f8fbfc}.project-events{margin-top:27px}.section-mini-header{display:flex;align-items:flex-end;justify-content:space-between}.section-mini-header>span{color:#8695a3;font-size:12px}.event-row{position:relative;margin-left:6px;padding:10px 0 10px 20px;border-left:1px solid #d7e1e7;color:#566d80;font-size:13px}.event-dot{position:absolute;top:14px;left:-5px;width:9px;height:9px;border-radius:50%;background:var(--primary)}.empty-state{margin-top:30px;padding:42px;border:1px dashed #cbd6dd;border-radius:7px;color:var(--muted);text-align:center}.letter-main{max-width:1110px}.letter-header{grid-template-columns:1fr auto}.letter-status{display:flex;align-items:center;gap:9px;color:#496377;font-size:13px}.letter-status svg{color:var(--primary)}.letter-days{display:grid;gap:9px;margin-top:25px;grid-template-columns:repeat(4,1fr)}.letter-days button{display:grid;gap:4px;padding:13px;border:1px solid var(--line);border-radius:5px;background:#fff;color:#718194;cursor:pointer;text-align:left}.letter-days button:hover,.letter-days button.is-selected{border-color:#9bc3d1;background:#f2f9fa;color:var(--primary)}.letter-days strong{font-size:17px}.letter-days span{font-size:12px}.letter-timeline{position:relative;display:grid;gap:0;margin-top:27px}.timeline-rail{position:absolute;top:20px;bottom:20px;left:11px;width:1px;background:#d6e0e6}.letter-event{position:relative;z-index:1;display:grid;align-items:start;gap:18px;width:100%;padding:18px 15px 18px 0;border:0;border-bottom:1px solid var(--soft-line);background:transparent;cursor:pointer;text-align:left;grid-template-columns:23px 68px minmax(0,1fr) 24px}.letter-event:hover{background:#f8fbfc}.letter-event.is-expanded{padding-left:12px;border-radius:6px;background:#f5fafb}.letter-dot{display:block;width:11px;height:11px;margin-top:5px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #94adba;background:#d5e4e9}.letter-event.is-expanded .letter-dot{box-shadow:0 0 0 2px var(--primary);background:var(--primary)}.letter-event-meta{display:grid;gap:4px;color:#77889a;font-size:12px}.letter-event-meta strong{color:#39556a}.letter-event h2{margin:0;color:#264258;font-size:17px}.letter-event p{margin:6px 0 0;color:#65778a;font-size:13px;line-height:1.55}.letter-event ul{display:grid;gap:5px;margin:11px 0 0;padding:0;color:#3b687b;font-size:12px;list-style:none}.letter-event li:before{margin-right:7px;color:var(--primary);content:"•"}.letter-event>svg{margin-top:3px;color:#95a4af}.daily-letter{margin-top:28px;padding:24px;border:1px solid #cddde3;border-radius:8px;background:#fbfefe}.daily-letter-top{display:flex;align-items:center;justify-content:space-between;color:#728296;font-size:12px}.daily-letter-top small{display:inline-flex;align-items:center;gap:5px;color:#7769a8}.daily-letter h2{margin:16px 0 9px;font-size:23px}.daily-letter>p{max-width:700px;margin:0;color:#536b7e;line-height:1.75}.letter-callout{display:flex;align-items:flex-start;gap:10px;margin:17px 0;padding:13px;border-left:3px solid var(--primary);background:#eff8fa;color:#456376;font-size:13px;line-height:1.6}.letter-callout svg{flex:0 0 auto;margin-top:1px;color:var(--primary)}.secondary-view{max-width:1100px;padding-top:58px}.secondary-header{padding-bottom:28px;border-bottom:1px solid var(--line)}.secondary-header h1{font-size:36px}.settings-list{max-width:760px;margin-top:34px;border-top:1px solid var(--line)}.settings-list label{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:94px;border-bottom:1px solid var(--line)}.settings-list label span{display:grid;gap:8px}.settings-list small{color:var(--muted)}.settings-list select{min-width:130px;padding:10px 12px;border:1px solid #aab8c5;border-radius:5px;background:#fff}.dialog-backdrop{position:fixed;z-index:20;top:0;right:0;bottom:0;left:0;display:grid;padding:28px;overscroll-behavior:contain;place-items:center;background:#0f223557}.dialog{position:relative;width:min(590px,100%);max-height:calc(100vh - 56px);padding:34px;overflow:auto;overscroll-behavior:contain;border-radius:8px;background:#fff;box-shadow:0 20px 50px #10263f33}.dialog h2{margin:0 35px 13px 0;font-size:25px}.dialog-close{position:absolute;top:16px;right:16px;display:grid;width:38px;height:38px;place-items:center;border:0;background:transparent;cursor:pointer}.dialog-intro{margin:0 0 20px;color:#63758a;line-height:1.65}.form-label{display:grid;gap:8px;margin-top:15px;color:#344e64;font-size:14px;font-weight:650}.form-label input,.form-label select,.form-label textarea{width:100%;padding:10px 12px;border:1px solid #cbd5dd;border-radius:5px;background:#fff;color:#1c344a;font-weight:400}.form-label textarea{min-height:82px;resize:vertical;line-height:1.55}.form-grid{display:grid;gap:12px;grid-template-columns:1fr 1fr}.form-grid .form-label{margin-top:0}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.drawer-backdrop{justify-items:end;padding:24px;background:#0f223538}.node-drawer{width:min(460px,100%);height:calc(100vh - 48px);max-height:none;padding:30px;border-radius:9px}.drawer-project{display:grid;gap:4px;padding-bottom:18px;border-bottom:1px solid var(--soft-line)}.drawer-project span{color:#778a9b;font-size:11px}.drawer-project strong{color:#1e3e57;font-size:17px}.drawer-project small{color:#547087;font-size:13px}.node-status-card{margin-top:20px;padding:14px;border-radius:6px;background:#eff8fa}.node-status-card span{color:var(--primary);font-size:12px;font-weight:720}.node-status-card p{margin:7px 0 0;color:#446276;font-size:14px;line-height:1.65}.node-status-card.blocked{background:#fff6e6}.node-status-card.blocked span{color:#a56400}.node-status-card.done{background:#edf7f0}.node-status-card.done span{color:var(--success)}.drawer-facts{display:grid;gap:12px;margin-top:21px;color:#516a7f;font-size:13px;line-height:1.55}.drawer-facts span{display:flex;align-items:flex-start;gap:8px}.drawer-facts svg{flex:0 0 auto;margin-top:1px;color:var(--primary)}.drawer-actions{display:grid;gap:11px;margin-top:26px}.drawer-actions button{width:100%}.drawer-note{display:flex;align-items:flex-start;gap:8px;margin-top:25px;padding-top:16px;border-top:1px solid #e4e0f0;color:#756e8b;font-size:12px;line-height:1.55}.drawer-note svg{flex:0 0 auto;color:var(--violet)}.toast{position:fixed;z-index:30;right:28px;bottom:28px;display:flex;align-items:center;gap:9px;min-height:48px;padding:0 18px;border-radius:5px;background:#163f36;color:#fff;box-shadow:0 12px 30px #112a3e2e}@media(max-width:1280px){.sidebar{flex-basis:82px;width:82px}.brand{padding:0 13px;font-size:19px}.nav-item{justify-content:center;padding:0}.nav-item span,.profile-button span,.profile-button svg:last-child{display:none}.profile-button{justify-content:center;padding:12px 0}.weekly-main,.secondary-view,.project-main,.letter-main{padding-right:26px;padding-left:28px}.weekly-layout{grid-template-columns:minmax(0,1fr) 255px;gap:18px}.route-board-header,.route-row{grid-template-columns:204px minmax(540px,1fr)}.route-board{overflow-x:auto}.focus-strip p{display:none}.route-section-heading{display:block}.route-summary{margin-top:11px}.project-management{grid-template-columns:214px minmax(0,1fr)}}@media(max-width:960px){.weekly-layout{display:block}.ai-companion{margin-top:20px}.ai-context{grid-template-columns:repeat(3,1fr)}.ai-current{display:none}.ai-companion h2{font-size:18px}.project-management{grid-template-columns:190px minmax(0,1fr)}.project-detail{padding:24px}}@media(max-width:760px){.app-shell{display:block;padding-bottom:68px}.sidebar{position:fixed;z-index:10;top:auto;bottom:0;display:block;width:100%;height:68px;min-height:0;padding:0;border:0;border-top:1px solid var(--line)}.brand,.profile-button{display:none}.nav-list{display:grid;height:100%;margin:0;grid-template-columns:repeat(4,1fr)}.nav-item{flex-direction:column;gap:4px;height:68px;font-size:11px}.nav-item span{display:block}.nav-item.is-active:before{top:0;right:24%;bottom:auto;left:24%;width:auto;height:3px}.weekly-main,.secondary-view,.project-main,.letter-main{min-height:calc(100vh - 68px);padding:22px 18px 28px}.week-header,.project-header,.letter-header{grid-template-columns:1fr auto;min-height:78px;gap:12px}.week-header h1,.project-header h1,.letter-header h1{font-size:28px}.week-switcher{grid-row:2;grid-column:1 / 3;padding-bottom:12px;font-size:13px}.create-button{min-width:42px;padding:0 10px;font-size:0}.create-button svg{width:21px;height:21px}.weekly-layout{padding-top:17px}.focus-strip{align-items:flex-start;min-height:79px;padding:14px}.focus-strip strong{font-size:14px}.route-section{margin-top:23px}.route-section-heading h2{font-size:23px}.route-board{margin-right:-18px;margin-left:-18px}.route-board-header,.route-row{grid-template-columns:172px minmax(540px,1fr)}.route-project{padding:13px 12px}.route-project-name{font-size:15px}.route-phase{font-size:12px}.route-goal{font-size:11px}.bottom-summary{grid-template-columns:1fr}.ai-companion{padding:18px}.ai-context{grid-template-columns:1fr}.project-header>div>p:last-child,.letter-header>div>p:last-child{display:none}.project-hierarchy{margin-top:17px}.hierarchy-path{line-height:1.7}.project-management{display:block;margin:18px -18px 0;border-right:0;border-left:0;border-radius:0}.project-list{display:flex;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line)}.project-list-top{position:absolute;left:-9999px}.project-list-item{display:grid;flex:0 0 172px;min-height:100px;border-right:1px solid var(--soft-line);border-bottom:0}.project-detail{padding:23px 18px}.detail-title h2{font-size:24px}.lifecycle{margin-right:-10px;margin-left:-10px;padding-right:0;padding-left:0}.lifecycle-step{font-size:10px}.lifecycle-step:after{left:calc(50% + 15px);width:calc(100% - 30px)}.detail-grid{grid-template-columns:1fr}.week-plan-card{display:grid}.week-plan-card .button-primary{width:100%}.letter-status{font-size:0}.letter-status svg{width:23px;height:23px}.letter-days{overflow-x:auto;margin-right:-18px;grid-template-columns:repeat(4,116px)}.letter-event{gap:11px;grid-template-columns:21px 50px minmax(0,1fr) 20px}.letter-event h2{font-size:15px}.daily-letter{padding:19px}.form-grid{grid-template-columns:1fr}.dialog-backdrop{padding:15px}.dialog{padding:29px 22px 24px}.dialog-actions{flex-direction:column-reverse}.dialog-actions button{width:100%}.drawer-backdrop{padding:0}.node-drawer{width:100%;height:min(720px,94vh);margin-top:auto;padding:25px 22px;border-radius:12px 12px 0 0}.toast{right:18px;bottom:84px;left:18px;justify-content:center}}.project-list-toolbar{display:flex;align-items:center;justify-content:space-between;margin-top:24px;padding:0 0 14px;border-bottom:1px solid var(--line)}.project-list-toolbar div{display:flex;align-items:baseline;gap:9px}.project-list-toolbar strong{font-size:17px}.project-list-toolbar span{color:#8291a0;font-size:13px}.project-list-toolbar button{border:0;background:transparent;color:var(--primary);cursor:pointer;font-size:13px}.project-table{border-top:1px solid var(--line)}.project-table-header,.project-row{display:grid;align-items:center;gap:22px;grid-template-columns:minmax(190px,1.1fr) minmax(150px,.8fr) minmax(210px,1.4fr) 80px 25px}.project-table-header{min-height:47px;padding:0 17px;border-bottom:1px solid var(--line);color:#7d8e9e;font-size:12px}.project-row{width:100%;min-height:94px;padding:13px 17px;border:0;border-bottom:1px solid var(--soft-line);background:#fff;color:#4d667b;cursor:pointer;text-align:left;font-size:13px}.project-row:hover{background:#f5fafb}.project-row>svg{color:#99a9b7}.project-row-name{display:grid;min-width:0;gap:3px}.project-row-name small{overflow:hidden;color:#8a98a5;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.project-row-name strong{overflow:hidden;color:#1a3851;font-size:17px;text-overflow:ellipsis;white-space:nowrap}.project-row-name em{color:#648095;font-size:11px;font-style:normal}.project-state{display:inline-flex;align-items:center;gap:6px;color:#39765a;font-size:12px}.project-state i{display:block;width:7px;height:7px;border-radius:50%;background:var(--success)}.project-state.is-计划{color:#286c87}.project-state.is-计划 i{background:var(--primary)}.project-state.is-归档{color:#7f8e9b}.project-state.is-归档 i{background:#9aa8b3}.project-list-hint{display:flex;align-items:center;gap:8px;margin:18px 0 0;color:#748697;font-size:12px}.project-list-hint svg{color:var(--primary)}.project-drawer{width:min(600px,100%)}.project-drawer .lifecycle{margin-top:20px}.project-drawer-section{margin-top:21px;padding:14px;border-radius:6px;background:#f7fafb}.project-drawer-section p{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin:7px 0 0;color:#49677c;font-size:13px}.project-drawer-grid{display:grid;gap:11px;margin-top:13px;grid-template-columns:1fr 1fr}.project-drawer-grid article{display:grid;gap:7px;min-height:106px;padding:14px;border:1px solid var(--line);border-radius:6px}.project-drawer-grid strong{color:#29455d;font-size:14px;line-height:1.45}.project-drawer-grid small{color:#687c8e;font-size:12px;line-height:1.5}.project-drawer-plan{display:grid;gap:8px;margin-top:13px;padding:15px;border:1px solid #c9e0e6;border-radius:6px;background:#f7fbfc}.project-drawer-plan strong{color:#254258;font-size:15px;line-height:1.5}.project-drawer-footer{margin-top:22px}.letter-main{max-width:1260px}.letter-layout{display:grid;gap:30px;margin-top:27px;grid-template-columns:minmax(0,1fr) minmax(350px,430px)}.letter-layout .letter-timeline{margin-top:0}.letter-layout .daily-letter{position:sticky;top:24px;align-self:start;min-height:390px;margin-top:0}.letter-points{display:grid;gap:7px;margin:18px 0;padding:0;color:#486a7d;font-size:13px;list-style:none}.letter-points li:before{margin-right:8px;color:var(--primary);content:"•"}.account-area{position:relative;margin-top:auto}.profile-identity{display:flex;align-items:center;gap:11px;width:100%;padding:12px 32px;border:0;background:transparent;color:#28445b;cursor:pointer;font-size:16px}.profile-identity:hover{background:#f3f7f9}.profile-identity span{flex:1;text-align:left}.profile-identity svg:last-child{color:#7b8b9a}.account-menu{position:absolute;right:16px;bottom:57px;left:16px;padding:6px;border:1px solid var(--line);border-radius:6px;background:#fff;box-shadow:0 10px 28px #142e4324}.account-menu button{display:flex;align-items:center;gap:9px;width:100%;min-height:38px;padding:0 10px;border:0;border-radius:4px;background:transparent;color:#314c62;cursor:pointer;text-align:left}.account-menu button:hover{background:#eef6f8;color:var(--primary)}.planning-drawer{width:min(640px,100%)}.planning-drawer .drawer-project{padding-bottom:15px}.planning-drawer .form-label small{color:#8291a0;font-size:11px;font-weight:400}.planning-stages,.planning-week{margin-top:22px;padding-top:18px;border-top:1px solid var(--soft-line)}.planning-section-title{display:grid;gap:4px;margin-bottom:12px}.planning-section-title span{color:#294a61;font-size:14px;font-weight:700}.planning-section-title small{color:#7b8b99;font-size:12px}.stage-editor{display:grid;gap:10px;margin-top:9px;grid-template-columns:24px minmax(0,1fr)}.stage-editor>span{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:#eaf4f7;color:var(--primary);font-size:12px;font-weight:700}.stage-editor>div{display:grid;gap:7px}.stage-editor input{width:100%;padding:9px 10px;border:1px solid #cbd5dd;border-radius:5px;color:#284357}.stage-editor input:first-child{font-weight:650}.add-stage{display:inline-flex;align-items:center;gap:5px;margin:12px 0 0 34px;padding:5px 0;border:0;background:transparent;color:var(--primary);cursor:pointer;font-size:13px}@media(max-width:760px){.nav-list{grid-template-columns:repeat(2,1fr)}.account-area{display:none}.letter-entry{min-width:42px;padding:0 10px;font-size:0}.letter-entry svg{width:21px;height:21px}.project-table-header{display:none}.project-row{min-height:84px;gap:10px;grid-template-columns:minmax(0,1fr) auto 20px}.project-row>span:nth-child(2),.project-row>span:nth-child(3){display:none}.project-row-name strong{font-size:16px}.project-drawer-grid{grid-template-columns:1fr}.project-drawer,.planning-drawer{width:100%}.letter-layout{display:block;margin-top:20px}.letter-layout .daily-letter{position:static;min-height:0;margin-top:23px}.letter-layout .letter-timeline{margin-top:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.period-control{display:flex;align-items:center;justify-content:flex-end;gap:12px;color:#456176}.period-control>div{display:inline-flex;padding:3px;border:1px solid var(--line);border-radius:6px;background:#fff}.period-control button{min-height:30px;padding:0 11px;border:0;border-radius:4px;background:transparent;color:#6a7d8f;cursor:pointer;font-size:13px}.period-control button:hover{background:#f2f7f8;color:var(--primary)}.period-control button.is-selected{background:#e7f3f6;color:var(--primary);font-weight:720}.period-control>span{font-size:13px;font-weight:650;white-space:nowrap}@media(max-width:760px){.period-control{grid-row:2;grid-column:1 / 3;justify-content:space-between;padding-bottom:12px}.period-control button{padding:0 9px}.period-control>span{font-size:12px}}.partners-main{flex:1;min-width:0;max-width:1280px;padding:30px 34px 34px 36px}.partner-metrics{display:grid;gap:14px;margin-top:25px;grid-template-columns:repeat(3,minmax(0,1fr))}.partner-metrics article{display:grid;gap:5px;padding:17px;border:1px solid var(--line);border-radius:7px;background:#fff}.partner-metrics span{color:#758698;font-size:12px}.partner-metrics strong{color:#1e3c54;font-size:24px}.partner-metrics small{color:#788999;font-size:12px}.partner-cloud-layout{display:grid;gap:16px;margin-top:18px;grid-template-columns:minmax(0,1.5fr) minmax(300px,.7fr)}.partner-cloud-card,.partner-focus-card{padding:20px;border:1px solid var(--line);border-radius:8px;background:#fff}.partner-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.partner-section-heading h2{margin:6px 0 0;color:#1d3a51;font-size:19px}.partner-section-heading .detail-kicker{display:flex;align-items:center;gap:6px}.partner-section-heading small{color:#7d8d9c;font-size:11px;text-align:right}.partner-cloud{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px 20px;min-height:212px;margin-top:16px;padding:24px;border-radius:7px;background:#f7fafb}.partner-chip{display:grid;gap:4px;place-items:center;padding:0;border:0;border-radius:50%;background:#e7f3f6;color:#26536a;cursor:pointer;aspect-ratio:1}.partner-chip>span{display:grid;place-items:center;border-radius:50%;background:#d4e9ee;color:#176f8d;font-weight:760}.partner-chip strong{font-size:13px}.partner-chip small{color:#638093;font-size:10px}.partner-chip.is-high{width:112px}.partner-chip.is-high>span{width:36px;height:36px}.partner-chip.is-medium{width:90px;background:#eff6f8}.partner-chip.is-medium>span{width:30px;height:30px}.partner-chip.is-low{width:74px;background:#f4f7f8}.partner-chip.is-low>span{width:26px;height:26px}.partner-chip.is-selected{outline:3px solid #2b86a3;outline-offset:3px}.partner-focus-card{display:grid;align-content:start;gap:16px}.partner-focus-title{display:flex;align-items:center;gap:11px;padding-bottom:15px;border-bottom:1px solid var(--soft-line)}.partner-focus-title>span{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;background:#e4f2f6;color:#11718f;font-size:17px;font-weight:760}.partner-focus-title div{display:grid;gap:3px}.partner-focus-title strong{color:#1d3c54;font-size:16px}.partner-focus-title small{color:#708294;font-size:12px}.partner-focus-card dl{display:grid;gap:11px;margin:0}.partner-focus-card dl div{display:flex;justify-content:space-between;gap:16px;color:#748698;font-size:12px}.partner-focus-card dt,.partner-focus-card dd{margin:0}.partner-focus-card dd{color:#36546a;font-weight:650;text-align:right}.partner-focus-card .button-primary{width:100%}.partner-list{margin-top:18px;border-top:1px solid var(--line)}.partner-list-header,.partner-row{display:grid;align-items:center;gap:18px;grid-template-columns:minmax(170px,1fr) minmax(150px,.8fr) minmax(180px,1fr) minmax(180px,1.1fr) 20px}.partner-list-header{min-height:46px;padding:0 17px;border-bottom:1px solid var(--line);color:#7c8c9a;font-size:12px}.partner-row{width:100%;min-height:72px;padding:10px 17px;border:0;border-bottom:1px solid var(--soft-line);background:#fff;color:#4a667a;cursor:pointer;font-size:13px;text-align:left}.partner-row:hover{background:#f6fafb}.partner-row>span:first-child{display:flex;align-items:center;gap:10px;color:#28495f}.partner-row strong{color:#203e55}.partner-row>svg{color:#9aabb7}.avatar-dot{display:grid;width:29px;height:29px;place-items:center;border-radius:50%;background:#edf4f6;color:#527285;font-size:12px;font-style:normal;font-weight:760}.avatar-dot.is-high{background:#dceff3;color:#12708d}.avatar-dot.is-medium{background:#eaf3f6;color:#447187}.task-link-list{display:grid;gap:7px;margin:7px 0 2px}.task-link-list button{display:grid;gap:3px;width:100%;padding:10px;border:1px solid #d5e3e8;border-radius:5px;background:#fff;color:#2c4c61;cursor:pointer;text-align:left}.task-link-list button:hover{border-color:#9fcbd8;background:#f5fafb}.task-link-list small{overflow:hidden;color:#6e8697;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.stage-goal-editor>div{gap:6px}.stage-goal-editor input:nth-child(2){color:#607a8c;font-size:12px}.task-editor{display:grid;gap:10px;margin-top:12px;grid-template-columns:24px minmax(0,1fr)}.task-editor>span{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:#edf6f8;color:var(--primary);font-size:12px;font-weight:700}.task-editor>div{display:grid;gap:7px}.task-editor input,.task-editor select{width:100%;min-height:38px;padding:9px 10px;border:1px solid #cbd5dd;border-radius:5px;background:#fff;color:#284357}.task-editor-row{display:grid;gap:7px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}@media(max-width:1280px){.partners-main{padding-right:26px;padding-left:28px}}@media(max-width:960px){.partner-cloud-layout{grid-template-columns:1fr}.partner-list-header,.partner-row{grid-template-columns:minmax(150px,1fr) minmax(140px,.9fr) minmax(170px,1fr) 20px}.partner-list-header span:nth-child(3),.partner-row>span:nth-child(3){display:none}}@media(max-width:760px){.partners-main{min-height:calc(100vh - 68px);padding:22px 18px 28px}.nav-list{grid-template-columns:repeat(3,1fr)}.partner-metrics{grid-template-columns:1fr}.partner-section-heading{display:block}.partner-section-heading small{display:block;margin-top:7px;text-align:left}.partner-cloud{gap:13px;padding:18px 8px}.partner-chip.is-high{width:94px}.partner-chip.is-medium{width:78px}.partner-list{margin-right:-18px;margin-left:-18px}.partner-list-header{display:none}.partner-row{min-height:72px;grid-template-columns:minmax(0,1fr) minmax(120px,.9fr) 18px}.partner-row>span:nth-child(2){display:none}.task-editor-row{grid-template-columns:1fr}}.partner-followups{margin-top:26px}.partner-followup-heading,.partner-library-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.partner-followup-heading h2,.partner-library-heading h2{margin:6px 0 0;color:#1d3a51;font-size:21px}.partner-followup-heading .detail-kicker,.partner-library-heading .detail-kicker{display:flex;align-items:center;gap:6px}.partner-followup-heading p{margin:0;color:#76899a;font-size:12px}.partner-followup-grid{display:grid;gap:13px;margin-top:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.followup-card{display:grid;gap:13px;padding:15px;border:1px solid var(--line);border-radius:7px;background:#fff}.followup-card.is-selected{border-color:#81b6c7;box-shadow:inset 3px 0 0 var(--primary)}.followup-card-main{display:grid;align-items:center;gap:9px;width:100%;padding:0;border:0;background:transparent;color:#29465a;cursor:pointer;text-align:left;grid-template-columns:30px minmax(0,1fr) 18px}.followup-card-main>div{display:grid;gap:3px;min-width:0}.followup-card-main strong{color:#1e3d54;font-size:15px}.followup-card-main small{overflow:hidden;color:#718596;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.followup-card-main svg{color:#94a6b2}.followup-card p{min-height:38px;margin:0;color:#47677c;font-size:13px;line-height:1.48}.followup-card .button-primary{min-height:36px;padding:0 10px;font-size:13px}.partner-library-layout{display:grid;gap:16px;margin-top:28px;grid-template-columns:minmax(0,1fr) 270px}.partner-library-section,.partner-quick-detail{padding:18px;border:1px solid var(--line);border-radius:7px;background:#fff}.partner-relationship-note{display:flex;align-items:center;gap:7px;color:#637d8f;font-size:12px}.partner-relationship-note svg{color:var(--primary)}.partner-library{margin-top:14px;border-top:1px solid var(--soft-line)}.partner-library-row{display:grid;align-items:center;gap:11px;width:100%;min-height:58px;padding:8px 4px;border:0;border-bottom:1px solid var(--soft-line);background:#fff;color:#5b7283;cursor:pointer;text-align:left;font-size:12px;grid-template-columns:29px minmax(140px,1fr) minmax(100px,.8fr) minmax(92px,.7fr) 18px}.partner-library-row:hover,.partner-library-row.is-selected{background:#f4fafb}.partner-library-row strong{display:block;color:#23445b;font-size:14px}.partner-library-row small{display:block;margin-top:3px;color:#8594a1;font-size:11px}.partner-library-row>svg{color:#9cacb7}.needs-push{color:#a16a14}.is-calm{color:#5e8773}.partner-quick-detail{display:grid;align-content:start;gap:15px;min-height:196px}.partner-quick-detail>p{margin:0;color:#567084;font-size:13px;line-height:1.65}.partner-quick-detail .text-button{justify-self:start;color:var(--primary)}.partner-quick-detail .partner-focus-title{padding-bottom:13px}@media(max-width:1180px){.partner-followup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-library-layout{grid-template-columns:1fr}.partner-quick-detail{min-height:0}.partner-library-row{grid-template-columns:29px minmax(150px,1fr) minmax(120px,.8fr) minmax(96px,.7fr) 18px}}@media(max-width:760px){.partner-followup-heading,.partner-library-heading{display:block}.partner-followup-heading p{margin-top:8px}.partner-followup-grid{grid-template-columns:1fr}.partner-library-layout{margin-top:22px}.partner-library-section,.partner-quick-detail{padding:15px}.partner-relationship-note{margin-top:10px}.partner-library-row{grid-template-columns:29px minmax(0,1fr) minmax(76px,.65fr) 18px}.partner-library-row>span:nth-of-type(2){display:none}}.project-basics-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding:13px 14px;border:1px solid var(--soft-line);border-radius:6px;background:#fafcfc}.project-basics-card p{margin:5px 0 0;color:#526d80;font-size:13px}.project-stage-path{margin-top:20px}.project-stage-path .section-mini-header{align-items:center}.project-stage-path h3{margin:5px 0 0;color:#234158;font-size:16px}.stage-path-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.stage-path-list span{padding:6px 9px;border:1px solid #d9e3e8;border-radius:999px;color:#6d8191;font-size:12px}.stage-path-list span.is-current{border-color:#8bbfce;background:#eaf6f8;color:#14718d;font-weight:700}.stage-goal-editor{position:relative}.stage-goal-editor>button{display:grid;width:24px;height:24px;padding:0;place-items:center;border:0;border-radius:50%;background:#eaf4f7;color:var(--primary);cursor:pointer;font-size:12px;font-weight:700}.stage-goal-editor.is-current>button{background:var(--primary);color:#fff}.stage-goal-editor.is-current>div{padding:10px;border:1px solid #a9cfda;border-radius:6px;background:#f9fcfc}.current-stage-task-header{display:grid;gap:4px;padding:13px;border-left:3px solid var(--primary);background:#eff8fa}.current-stage-task-header span{color:#5c7889;font-size:11px;font-weight:700}.current-stage-task-header strong{color:#20465c;font-size:15px}.current-stage-task-header small{color:#637e90;font-size:12px;line-height:1.5}.quick-add-partner{display:inline-flex;align-items:center;gap:5px;width:fit-content;padding:3px 0;border:0;background:transparent;color:var(--primary);cursor:pointer;font-size:12px}.quick-partner-create{display:grid;gap:6px;grid-template-columns:minmax(0,1fr) auto auto}.quick-partner-create input{width:100%;min-height:34px;padding:7px 9px;border:1px solid #a8cbd5;border-radius:5px}.quick-partner-create button{min-height:34px;padding:0 9px;border:1px solid #aec3cd;border-radius:4px;background:#fff;color:#385a6e;cursor:pointer;font-size:12px}.quick-partner-create button:first-of-type{border-color:var(--primary);background:var(--primary);color:#fff}@media(max-width:760px){.project-basics-card{display:grid}.quick-partner-create{grid-template-columns:1fr auto}.quick-partner-create button:last-child{grid-column:1 / 3}}.project-goal-panel{display:flex;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--soft-line)}.project-goal-panel h3{margin:7px 0;color:#1b3952;font-size:20px}.project-goal-panel p{max-width:440px;margin:0;color:#5b7184;font-size:13px;line-height:1.6}.project-goal-panel small{display:block;margin-top:8px;color:#8492a0;font-size:11px}.project-stage-strip{margin-top:20px}.project-stage-strip h3{margin:5px 0 0;color:#234158;font-size:16px}.stage-number-strip{display:flex;align-items:stretch;gap:8px;margin-top:13px;overflow-x:auto;padding-bottom:3px}.stage-number-strip>button:not(.stage-add-shortcut){display:grid;flex:0 0 102px;gap:4px;padding:10px;border:1px solid #d5e1e6;border-radius:6px;background:#fff;color:#667d8e;cursor:pointer;text-align:left}.stage-number-strip>button:not(.stage-add-shortcut):hover{border-color:#9fc4d0;background:#f7fbfc}.stage-number-strip>button.is-current{border-color:#74b2c5;background:#edf8fa;color:#126d89}.stage-number-strip>button span{display:grid;width:21px;height:21px;place-items:center;border-radius:50%;background:#eef3f5;font-size:11px;font-weight:720}.stage-number-strip>button.is-current span{background:var(--primary);color:#fff}.stage-number-strip>button strong{overflow:hidden;color:inherit;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.stage-number-strip>button small{overflow:hidden;color:#8293a0;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.stage-add-shortcut{display:grid;flex:0 0 76px;gap:4px;place-items:center;border:1px dashed #a6c8d2;border-radius:6px;background:#fbfefe;color:var(--primary);cursor:pointer;font-size:11px}.current-stage-panel{display:grid;gap:13px;margin-top:20px;padding:15px;border:1px solid #b9d8e1;border-radius:7px;background:#f8fcfc}.current-stage-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.current-stage-heading h3{margin:6px 0 4px;color:#1e4258;font-size:16px;line-height:1.45}.current-stage-heading p{margin:0;color:#708495;font-size:12px}.current-stage-heading .button-secondary{min-height:36px;padding:0 10px;font-size:12px}.current-task-list{display:grid;gap:8px}.current-task-list>div{display:flex;justify-content:space-between;align-items:center}.current-task-list>div strong{color:#31556a;font-size:13px}.current-task-list>button{display:grid;align-items:center;gap:6px;width:100%;min-height:51px;padding:9px 10px;border:1px solid #cbdde3;border-radius:5px;background:#fff;color:#294d62;cursor:pointer;text-align:left;grid-template-columns:minmax(0,1fr) auto 18px}.current-task-list>button:hover{border-color:#95c4d0}.current-task-list>button small{color:#758b9a;font-size:11px}.current-task-list>button svg{color:#91a4af}.current-stage-panel>.button-secondary,.current-stage-panel>.button-primary{width:100%}.stage-task-actions{display:grid;gap:8px}.stage-task-primary-actions{display:grid;gap:8px;grid-template-columns:auto minmax(0,1fr)}.stage-task-primary-actions .button-secondary{min-height:40px}.stage-task-secondary-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.stage-task-secondary-actions .button-secondary{min-height:34px;padding:0 10px;font-size:12px}.stage-finished-label{display:inline-flex;align-items:center;gap:5px;color:#367255;font-size:12px;font-weight:700}.stage-finished-label svg{color:var(--success)}.inline-task-creator{display:grid;gap:10px;padding:12px;border:1px solid #b9d8e1;border-radius:6px;background:#fff}.inline-task-creator label{display:grid;gap:7px}.inline-task-creator textarea{width:100%;min-height:66px;padding:10px 11px;resize:vertical;border:1px solid #c6d8df;border-radius:5px;color:#203d53;font:inherit;line-height:1.5}.inline-task-creator>div{display:flex;align-items:center;justify-content:flex-end;gap:12px}.inline-task-creator .button-primary{min-height:36px;padding:0 12px}@media(max-width:760px){.project-goal-panel,.current-stage-heading{display:grid}.stage-number-strip>button:not(.stage-add-shortcut){flex-basis:94px}.current-task-list>button{grid-template-columns:minmax(0,1fr) 18px}.current-task-list>button small{display:none}}.task-context-nav{display:flex;align-items:center;gap:8px;min-width:0;padding:0 0 17px;border-bottom:1px solid var(--soft-line)}.task-context-nav>button{display:grid;gap:3px;min-width:0;padding:0;border:0;background:transparent;color:#2e5368;cursor:pointer;text-align:left}.task-context-nav>button span{color:#8091a0;font-size:11px}.task-context-nav>button strong{max-width:170px;overflow:hidden;color:#1d4158;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.task-context-nav>button:hover strong{color:var(--primary);text-decoration:underline;text-underline-offset:3px}.task-context-nav>svg{flex:0 0 auto;color:#a0b0ba}.phase-planned{background:#f0f4f6;color:#718496}.dialog-back{display:inline-flex;align-items:center;gap:5px;margin:-7px 0 14px -4px;padding:5px 4px;border:0;background:transparent;color:#607b8d;cursor:pointer;font-size:13px}.dialog-back:hover{color:var(--primary)}.stage-number-strip>button.is-completed{border-color:#a9cfb8;background:#f1f8f3;color:#367255}.stage-number-strip>button.is-completed span{background:var(--success);color:#fff}.stage-number-strip>button.is-completed.is-current{box-shadow:inset 0 0 0 1px #72b48d}.stage-action-stack{display:grid;justify-items:end;gap:7px}.stage-action-stack .button-secondary{min-height:34px;padding:0 10px;font-size:12px}.phase-complete{display:inline-flex;align-items:center;gap:5px}.phase-complete.is-completed{border-color:#9ac4aa;background:#f0f8f2;color:#367255}.current-task-list>button{grid-template-columns:18px minmax(0,1fr) auto 18px}.current-task-list>button>i{display:grid;width:18px;height:18px;place-items:center;border:1px solid #c7d6de;border-radius:50%;color:transparent;font-style:normal}.current-task-list>button.is-done{border-color:#d3e2d8;background:#fafdfb;color:#6c8a78}.current-task-list>button.is-done>i{border-color:var(--success);background:var(--success);color:#fff}.current-task-list>button.is-done>span{color:#6f8878;text-decoration:line-through}.current-task-empty{padding:12px;border:1px dashed #b8ccd5;border-radius:5px;color:#718595;font-size:12px;line-height:1.55}.stage-editor-meta{display:flex;align-items:center;gap:8px;min-height:18px;color:#698091;font-size:11px}.stage-editor-meta>span{color:var(--primary);font-weight:700}.stage-editor-meta small{display:inline-flex;align-items:center;gap:3px;color:#4d8b65;font-size:11px}.planning-item-toggle{display:grid;width:100%;min-width:0;gap:3px 10px;padding:10px 11px;border:1px solid #d5e3e8;border-radius:6px;background:#fbfdfe;color:#38576c;cursor:pointer;text-align:left;grid-template-columns:minmax(0,1fr) auto}.planning-item-toggle:hover{border-color:#95c4d1;background:#f3fafb}.planning-item-toggle>span{color:var(--primary);font-size:11px;font-weight:700}.planning-item-toggle>strong{overflow:hidden;color:#203e55;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.planning-item-toggle>small{overflow:hidden;color:#748899;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.planning-item-toggle>svg{align-self:center;grid-column:2;grid-row:1 / 4;color:#6f8798;transition:transform .16s ease}.planning-item-toggle>svg.is-expanded{transform:rotate(180deg)}.planning-item-fields{display:grid;gap:7px;padding:9px 1px 2px}@media(max-width:760px){.stage-action-stack{display:flex;justify-items:start;flex-wrap:wrap}.current-task-list>button{grid-template-columns:18px minmax(0,1fr) 18px}.current-task-list>button small{display:none}}.stage-number-strip>button.is-viewing{border-color:#72b6cb;box-shadow:inset 0 0 0 1px #bfe0e8}.stage-number-strip>button.is-viewing:not(.is-current){background:#f5fbfc;color:#1d708a}.current-stage-panel.is-history{border-color:#d5e0e5;background:#fbfcfc}.history-stage-tag{align-self:start;padding:6px 8px;border:1px solid #d3dfe4;border-radius:999px;color:#738796;font-size:11px}.current-stage-panel.is-future{border-color:#dbe5e9;background:#fcfdfd}.future-stage-tag{align-self:start;padding:6px 8px;border:1px solid #c7dce4;border-radius:999px;background:#f5fafb;color:#5d7d8c;font-size:11px}.current-task-list>button.is-closed{border-color:#dce2e5;background:#fafbfb;color:#8a969e}.current-task-list>button.is-closed>i{border-color:#aab8c0;background:#aab8c0;color:#fff}.current-task-list>button.is-closed>span{color:#7d8b93;text-decoration:line-through}.current-task-list>button.is-deferred{border-color:#ead9bd;background:#fffcf7}.current-task-list>button.is-deferred>i{border-color:#d99a39}.task-status-actions,.task-followups{margin-top:22px;padding-top:18px;border-top:1px solid var(--soft-line)}.task-status-actions>div:last-child{display:grid;gap:8px;grid-template-columns:repeat(3,1fr)}.task-status-actions button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:38px;border:1px solid #c9d8df;border-radius:5px;background:#fff;color:#3d5b6e;cursor:pointer;font-size:12px}.task-status-actions button:hover{border-color:#86b8c7;background:#f6fbfc}.task-status-actions button.is-active.done{border-color:#8ebda0;background:#eff8f1;color:#3c7c56}.task-status-actions button.is-active.closed{border-color:#b6c1c7;background:#f2f4f5;color:#65747d}.task-status-actions button.is-active.deferred{border-color:#e3bb78;background:#fff7e8;color:#9b680f}.task-status-terminal{margin:11px 0 0;padding:9px 11px;border:1px solid #b8d8c2;border-radius:5px;background:#f0f8f2;color:#397653;font-size:13px;font-weight:650}.task-status-terminal.closed{border-color:#cbd4d8;background:#f3f5f6;color:#65747d}.task-status-form{display:grid;gap:12px;margin-top:11px;padding:15px;border:1px solid #c9dfe6;border-radius:7px;background:#fbfefe}.task-status-form .planning-section-title{margin-bottom:0}.task-status-form .form-label{margin-top:0}.task-status-form-actions{display:flex;justify-content:flex-end;gap:9px}.task-status-form-actions .button-primary,.task-status-form-actions .button-secondary{min-height:36px}.followup-list{display:grid;gap:9px;margin-top:12px}.followup-list article{position:relative;display:grid;gap:8px;padding:0 0 0 18px;border-left:1px solid #d8e3e8;grid-template-columns:1fr}.followup-list article .event-dot{top:5px}.followup-list article small{color:#8394a0;font-size:11px}.followup-list article p{margin:3px 0 6px;color:#405d70;font-size:13px;line-height:1.55}.followup-empty{margin:8px 0;color:#8495a1;font-size:12px}.followup-compose{display:grid;gap:8px;margin-top:12px}.followup-compose textarea{width:100%;min-height:70px;padding:9px 10px;border:1px solid #cbd7de;border-radius:5px;color:#29465a;resize:vertical;font:inherit;font-size:13px;line-height:1.5}.followup-compose .button-secondary{justify-self:start;min-height:35px;padding:0 10px;font-size:12px}.node-unblock{width:100%;margin-top:18px}@media(max-width:760px){.task-status-actions>div:last-child{grid-template-columns:1fr}.history-stage-tag{justify-self:start}}.project-goal-panel .project-description{margin-top:8px;color:#788b98;font-size:12px}.stage-project-goal strong{font-size:16px;line-height:1.5}.stage-project-goal small{max-width:540px;line-height:1.55}.stage-field{display:grid;gap:5px}.stage-field>span{color:#466177;font-size:12px;font-weight:680}.stage-field>span small{margin-left:3px;color:#8797a3;font-size:11px;font-weight:400}.stage-field input{margin:0}.task-stage-summary{display:grid;gap:14px;margin:2px 0 20px;padding:15px 16px;border:1px solid #c8e0e7;border-radius:7px;background:#f4fafb}.task-stage-summary h3{margin:5px 0 0;color:#183b54;font-size:19px}.task-stage-goal{display:grid;gap:5px;padding-top:13px;border-top:1px solid #d9e9ed}.task-stage-goal>span,.task-input-label,.task-deadline>span{color:#627b8d;font-size:12px;font-weight:700}.task-stage-goal strong{color:#31566b;font-size:13px;line-height:1.55}.task-stage-goal small{color:#7890a0;font-size:12px}.task-input-label{display:grid;gap:6px}.task-input-label small{color:#8493a0;font-size:11px;font-weight:500}.task-edit-section{display:grid;gap:10px;margin-top:20px;padding:15px;border:1px solid #cfe1e7;border-radius:7px;background:#fbfefe}.task-edit-section .planning-section-title{margin-bottom:0}.task-edit-trigger{justify-self:start;margin-top:15px;color:var(--primary);font-size:13px;font-weight:650}.task-edit-section input,.task-edit-section select,.task-edit-section textarea{width:100%;min-height:38px;padding:9px 10px;border:1px solid #cbd5dd;border-radius:5px;background:#fff;color:#284357}.task-edit-section textarea{min-height:60px;resize:vertical;line-height:1.5}.task-edit-grid{display:grid;gap:9px;grid-template-columns:1fr 1fr}.quick-partner-create{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px}.quick-partner-create input{min-width:0}.quick-partner-create .button-secondary{min-height:38px;padding:0 11px;white-space:nowrap}.quick-partner-create .text-button{padding:0 2px;color:#647d8d;font-size:12px;white-space:nowrap}.task-save-button{justify-self:start;min-height:36px}.task-edit-cancel{justify-self:start;color:#657c8d;font-size:13px}.task-push-panel .button-secondary:disabled{cursor:not-allowed;opacity:.48}.task-editor-row{align-items:end;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.task-editor-row:has(.task-input-label:only-child){grid-template-columns:minmax(0,1fr)}.task-deadline{display:grid;gap:7px;margin-top:10px}.task-deadline>div{display:flex;flex-wrap:wrap;gap:6px}.task-deadline button{min-height:29px;padding:0 10px;border:1px solid #cbd8df;border-radius:4px;background:#fff;color:#5b7385;cursor:pointer;font-size:12px}.task-deadline button:hover,.task-deadline button.is-selected{border-color:#16809f;background:#e9f6f9;color:#086a89}.task-deadline button.clear-deadline{border-color:transparent;background:transparent;color:#7b8d9c}.task-deadline button.clear-deadline:hover{color:#25617a;text-decoration:underline}.task-input-label textarea{width:100%;min-height:58px;padding:9px 10px;border:1px solid #cbd5dd;border-radius:5px;color:#284357;font:inherit;font-size:13px;line-height:1.5;resize:vertical}.task-collaboration{margin-top:10px}.task-collaboration-heading{display:flex;align-items:center;justify-content:space-between;color:#627b8d;font-size:12px;font-weight:700}.task-collaboration-heading small{margin-left:3px;color:#8493a0;font-size:11px;font-weight:500}.task-collaboration-heading button{display:inline-grid;width:25px;height:25px;place-items:center;padding:0;border:1px solid #9bc7d3;border-radius:5px;background:#fff;color:#087393;cursor:pointer}.task-collaboration-heading button:hover{border-color:#057b9b;background:#e9f6f9}.task-collaboration-heading button.is-open svg{transform:rotate(45deg)}.task-collaboration .task-editor-row{margin-top:7px}.dashboard-summary{margin-top:18px}.weekly-layout{padding-top:19px}.weekly-layout .route-section{margin-top:0}.route-goal b{color:#0a7697;font-weight:720}@media(max-width:760px){.dashboard-summary{margin-top:14px}.weekly-layout{padding-top:17px}}.week-header{grid-template-columns:minmax(0,1fr) auto}.route-title-area{display:grid;gap:1px;min-width:0}.route-title-line{display:flex;align-items:center;gap:18px;min-width:0}.route-title-line .period-control{justify-content:flex-start}.route-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px}.route-header-actions .button-secondary{white-space:nowrap}.dashboard-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.summary-card-button{width:100%;text-align:left;cursor:pointer;font:inherit}.summary-card-button:hover,.summary-card-button.is-active{border-color:#7fb6c6;background:#f1fafb}.summary-icon.collaboration{background:#eeeffc;color:#5d55a3}.timeline-node.has-partner small{max-width:100%;overflow:hidden;color:#087394;font-size:10px;font-weight:720;line-height:1;text-overflow:ellipsis;white-space:nowrap}.route-row.is-owner-collaboration .route-project{box-shadow:inset 3px 0 #0f7f93;background:#f5fcfd}.route-row.is-owner-collaboration .route-project:hover{background:#ecf9fa}.route-row.is-owner-collaboration .phase-current{background:#e2f5f7;color:#176b7a}.route-row.is-owner-collaboration .phase-risk{background:#e8f7f7;color:#176b7a}.route-row.is-participant .route-project{box-shadow:inset 3px 0 #7568b2;background:#fcfbff}.route-row.is-participant .route-project:hover{background:#f6f3ff}.route-row.is-participant .phase-current{background:#efeafd;color:#5d519b}.route-row.is-participant .phase-risk{background:#faf0ff;color:#86509d}.timeline-node.is-collaborative-task{color:#5d519b}.timeline-node.is-collaborative-task .node-dot{box-shadow:0 0 0 2px #7568b2;background:#7568b2}.collaboration-scope-filter{display:inline-flex;gap:4px;margin:-7px 0 12px;padding:3px;border:1px solid #ddd8ef;border-radius:6px;background:#fbfaff}.collaboration-scope-filter button{min-height:28px;padding:0 10px;border:0;border-radius:4px;background:transparent;color:#6c6487;cursor:pointer;font-size:12px;font-weight:650}.collaboration-scope-filter button:hover,.collaboration-scope-filter button.is-active{background:#eeeafd;color:#5d519b}.collaborator-route-selector{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:0 9px;border:1px solid #d8d1f1;border-radius:5px;background:#fbfaff;color:#6557a4;font-size:12px;font-weight:700;white-space:nowrap}.collaborator-route-selector select{min-width:72px;border:0;outline:0;background:transparent;color:#4c417f;font:inherit;cursor:pointer}.archived-project-list{display:grid;gap:10px;margin-top:18px}.archived-project-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid #dbe5ea;border-radius:7px;background:#fbfcfd}.archived-project-row>div{display:grid;min-width:0;gap:4px}.archived-project-row strong{color:#17364d;font-size:15px}.archived-project-row span,.archived-project-row small{overflow:hidden;color:#718497;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.archived-project-row .button-secondary{flex:0 0 auto}@media(max-width:1100px){.dashboard-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.route-header-actions{flex-wrap:wrap}}@media(max-width:760px){.route-title-line{align-items:flex-start;flex-direction:column;gap:9px}.route-title-line .period-control{grid-row:auto;grid-column:auto;padding-bottom:0}.route-header-actions{grid-column:1 / -1;justify-content:flex-start}.dashboard-summary{grid-template-columns:1fr}.archived-project-row{align-items:flex-start;flex-direction:column}.archived-project-row .button-secondary{width:100%}}.period-control>.period-navigator{display:inline-flex;align-items:center;gap:3px;padding:0;border:0;background:transparent}.period-navigator>button{display:inline-grid;width:30px;min-width:30px;height:30px;padding:0;place-items:center;border:1px solid var(--line);border-radius:5px;background:#fff;color:#4a687b}.period-navigator>button:hover{border-color:#94c3d1;background:#f4fafb;color:var(--primary)}.period-navigator>span{min-width:124px;padding:0 5px;color:#456176;font-size:13px;font-weight:650;text-align:center;white-space:nowrap}.period-navigator>.period-return{width:auto;min-width:0;padding:0 9px;border-color:#a8cbd6;color:var(--primary);font-size:12px;font-weight:680}.route-board{touch-action:pan-y}@media(max-width:760px){.period-control{align-items:flex-start;flex-wrap:wrap}.period-navigator>span{min-width:112px;font-size:12px}.period-navigator>.period-return{padding:0 7px}}.partners-observation-main{max-width:1320px}.partners-observation-main .project-header{grid-template-columns:minmax(0,1fr)}.partner-observation{margin-top:28px;padding:24px;border:1px solid var(--line);border-radius:9px;background:#fff}.partner-observation-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.partner-observation-heading .detail-kicker{display:inline-flex;align-items:center;gap:6px;color:var(--primary);font-size:12px;font-weight:720}.partner-observation-heading h2{margin:7px 0 0;color:#183950;font-size:23px;letter-spacing:-.35px}.partner-observation-heading p{max-width:330px;margin:0;color:#718596;font-size:13px;line-height:1.55;text-align:right}.partner-ball-cloud{display:flex;align-items:flex-end;justify-content:center;gap:14px;min-height:340px;margin-top:25px;padding:44px 42px 38px;overflow:hidden;border:1px solid #e7eef1;border-radius:8px;background:#f8fbfc}.partner-observation-ball{display:grid;flex:0 0 auto;align-content:center;justify-items:center;gap:5px;padding:0;border:1px solid #b9d8e0;border-radius:50%;background:#e2f2f5;color:#24536a;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.partner-observation-ball:hover,.partner-observation-ball:focus-visible{z-index:1;border-color:#23809d;outline:0;box-shadow:0 10px 24px #16647c2b;transform:translateY(-7px) scale(1.03)}.partner-observation-ball>span{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:#ffffff9e;color:#0c6b89;font-size:16px;font-weight:760}.partner-observation-ball strong{font-size:15px}.partner-observation-ball small{color:#53798b;font-size:11px}.partner-observation-ball.is-large{width:210px;height:210px;margin-right:-18px;background:#d4edf2}.partner-observation-ball.is-large>span{width:48px;height:48px;font-size:20px}.partner-observation-ball.is-large strong{font-size:19px}.partner-observation-ball.is-medium{width:164px;height:164px;margin-left:-16px;background:#e2f2f5}.partner-observation-ball.is-small{width:126px;height:126px;margin-left:-17px;background:#edf6f8}.partner-observation-ball.is-medium+.partner-observation-ball.is-small{margin-left:-24px}.partner-observation-summary{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px 28px;margin-top:18px;color:#617c8d;font-size:12px}.partner-observation-summary span{display:inline-flex;align-items:center;gap:7px}.partner-observation-summary svg{color:var(--primary)}.partner-task-list{display:grid;gap:9px;margin-top:18px}.partner-task-observation{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 14px;border:1px solid #dbe7eb;border-radius:7px;background:#fbfcfc}.partner-task-observation>div{display:grid;min-width:0;gap:4px}.partner-task-observation span,.partner-task-observation small{overflow:hidden;color:#748998;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.partner-task-observation strong{color:#1d4058;font-size:15px}.task-observation-status{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:#edf5f7;color:#357185;font-size:12px;font-style:normal}.task-observation-status.is-done{background:#e8f3eb;color:#47795a}.task-observation-status.is-blocked{background:#fff2dd;color:#9b620d}@media(max-width:760px){.partner-observation{margin-right:-4px;margin-left:-4px;padding:18px 14px}.partner-observation-heading{display:grid;gap:10px}.partner-observation-heading p{text-align:left}.partner-ball-cloud{justify-content:flex-start;min-height:285px;padding:30px 14px;gap:8px;overflow-x:auto}.partner-observation-ball.is-large{width:170px;height:170px}.partner-observation-ball.is-medium{width:140px;height:140px}.partner-observation-ball.is-small{width:108px;height:108px}.partner-task-observation{align-items:flex-start;flex-direction:column;gap:10px}.task-observation-status{align-self:flex-start}}.task-target-select{margin-top:10px}.task-target-select select{width:100%;min-height:38px;padding:7px 9px;border:1px solid #cbd5dd;border-radius:5px;background:#fff;color:#284357;font:inherit;font-size:13px}.task-status-actions button.is-active.blocked{border-color:#dc930d;background:#fff2dd;color:#9c6108}.task-push-panel{margin:19px 0;padding:14px;border:1px solid #d6e7eb;border-radius:7px;background:#f7fbfc}.task-push-panel>div:last-child{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:10px}.task-push-panel strong{color:#385a6d;font-size:13px;font-weight:650}.task-push-panel .button-secondary{min-height:36px;padding:0 12px;font-size:13px;white-space:nowrap}.task-push-schedule{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto;align-items:end!important;justify-content:initial!important}.task-push-schedule.task-push-single-action{grid-template-columns:minmax(0,1fr) auto}.task-push-schedule .task-input-label{min-width:0}.task-push-schedule .task-input-label input{width:100%;min-height:36px;padding:7px 9px;border:1px solid #cbd5dd;border-radius:5px;color:#284357;font:inherit}.task-push-schedule .button-primary{min-height:36px;padding:0 12px;white-space:nowrap}.task-contact-trigger{width:100%;margin-top:10px}.task-contact-form{display:grid;gap:10px;margin-top:10px}.task-contact-form textarea{width:100%;min-height:78px;padding:9px 10px;resize:vertical;border:1px solid #cbd5dd;border-radius:5px;color:#284357;font:inherit;line-height:1.5}.task-contact-form input{width:100%;min-height:36px;padding:7px 9px;border:1px solid #cbd5dd;border-radius:5px;color:#284357;font:inherit}.task-contact-form>div{display:flex;justify-content:flex-end;gap:8px}.task-contact-form>div .button-primary,.task-contact-form>div .button-secondary{min-height:36px}.collaborator-main{max-width:1180px;margin:0 auto;padding:46px 44px 80px}.collaborator-header{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;padding-bottom:23px;border-bottom:1px solid var(--soft-line)}.collaborator-header h1{margin:7px 0 9px;color:var(--ink);font-size:34px;letter-spacing:-1px}.collaborator-header p{margin:0;color:var(--muted)}.collaborator-switcher{display:grid;gap:7px;min-width:190px;color:#6f8290;font-size:12px}.collaborator-switcher select{min-height:40px;padding:0 11px;border:1px solid #b7cbd6;border-radius:6px;background:#fff;color:#25485c;font:inherit;font-size:14px}.collaborator-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:23px 0 27px}.collaborator-summary article{display:grid;gap:5px;min-height:110px;padding:18px 20px;border:1px solid #d6e3e9;border-radius:8px;background:#fff}.collaborator-summary span,.collaborator-summary small{color:#748795;font-size:13px}.collaborator-summary strong{color:#173a51;font-size:26px}.collaborator-task-board{border:1px solid #d6e3e9;border-radius:9px;overflow:hidden;background:#fff}.collaborator-board-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;border-bottom:1px solid #e2ebef}.collaborator-board-heading h2{margin:0 0 5px;color:#173a51;font-size:20px}.collaborator-board-heading p,.collaborator-board-heading>span{margin:0;color:#748795;font-size:13px}.collaborator-task-card{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;padding:19px 22px;border:0;border-bottom:1px solid #e7eef1;background:#fff;color:inherit;cursor:pointer;text-align:left}.collaborator-task-card:last-child{border-bottom:0}.collaborator-task-card:hover{background:#f4fafc}.collaborator-task-card-main{display:grid;gap:6px;min-width:0}.collaborator-task-card-main strong{color:#173a51;font-size:17px}.collaborator-task-card-main p{margin:0;overflow:hidden;color:#718391;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.collaborator-task-card-meta{display:flex;align-items:center;justify-content:flex-end;gap:11px;color:#68808f;font-size:12px;white-space:nowrap}.collaborator-empty{padding:64px 30px;color:#718391;text-align:center}.collaborator-empty h2{margin:0 0 8px;color:#29495d;font-size:20px}.collaborator-empty p{margin:0}.collaborator-project-context{display:grid;gap:7px;padding-bottom:21px;border-bottom:1px solid var(--soft-line)}.collaborator-project-context h2,.collaborator-stage-context h3{margin:0;color:#173a51}.collaborator-project-context p,.collaborator-stage-context p{margin:0;color:#567080;line-height:1.6}.collaborator-project-context small,.collaborator-stage-context small{color:#8394a0;line-height:1.5}.collaborator-stage-context{display:grid;gap:7px;padding:20px 0;border-bottom:1px solid var(--soft-line)}.collaborator-task-context-list{padding-top:20px}.collaborator-context-task{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;width:100%;margin-top:9px;padding:13px 14px;border:1px solid #d5e2e8;border-radius:6px;background:#fff;color:#29495d;cursor:pointer;text-align:left}.collaborator-context-task:hover{border-color:#87bbd1;background:#f4fafc}.collaborator-context-task small{color:#78909e}.collaborator-task-permission{margin:0 0 18px;padding:11px 13px;border-left:3px solid #74b9d4;background:#f1f9fc;color:#507184;font-size:13px;line-height:1.6}@media(max-width:760px){.collaborator-main{padding:28px 18px 56px}.collaborator-header,.collaborator-board-heading{align-items:flex-start;flex-direction:column}.collaborator-summary{grid-template-columns:1fr}.collaborator-task-card{align-items:flex-start;flex-direction:column;gap:11px}.collaborator-task-card-meta{justify-content:flex-start;flex-wrap:wrap}.collaborator-switcher{width:100%}.collaborator-context-task{grid-template-columns:minmax(0,1fr) auto}.collaborator-context-task small{grid-column:1}}@media(max-width:760px){.task-push-panel>div:last-child{align-items:flex-start;flex-direction:column}.task-push-panel .button-secondary{width:100%}.task-push-schedule{grid-template-columns:1fr!important;width:100%}.task-push-schedule .button-primary{width:100%}}.node-status-card.waiting{background:#f2f0fb}.node-status-card.waiting span{color:#6353a8}.timeline-node.node-waiting{color:#6353a8;font-weight:650}.timeline-node.node-waiting .node-dot{box-shadow:0 0 0 2px #7b6bbb;background:#7b6bbb}.current-task-list>button.is-waiting{border-color:#d7d0ee;background:#fbfaff}.current-task-list>button.is-waiting>i{border-color:#9589c8;background:#fff}.current-task-list>button.is-waiting>span{color:#5c5191}.task-push-panel.is-due{border-color:#e4b86a;background:#fff8ea}.task-push-panel.is-due .planning-section-title>span{color:#a56a08}.task-push-panel.is-due strong{color:#85570c}.review-form{display:grid;gap:2px}.review-form .form-label{margin-top:12px}.route-board{overflow-x:auto;overscroll-behavior-x:contain;scroll-behavior:smooth;scrollbar-color:#9db8c4 #eef3f5;scrollbar-width:thin;touch-action:pan-x pan-y}.route-board-content{min-width:calc(226px + var(--timeline-width))}.route-board-content>.route-board-header,.route-board-content .route-row{grid-template-columns:226px minmax(var(--timeline-width),1fr)}.route-board-content .route-board-header>span,.route-board-content .route-project{position:sticky;z-index:4;left:0;background:#fff}.route-board-content .route-project{z-index:3}.route-board::-webkit-scrollbar{height:11px}.route-board::-webkit-scrollbar-track{background:#eef3f5}.route-board::-webkit-scrollbar-thumb{border:3px solid #eef3f5;border-radius:10px;background:#9db8c4}.route-board::-webkit-scrollbar-thumb:hover{background:#759cab}@media(max-width:1280px){.route-board-content{min-width:calc(204px + var(--timeline-width))}.route-board-content>.route-board-header,.route-board-content .route-row{grid-template-columns:204px minmax(var(--timeline-width),1fr)}}@media(max-width:760px){.route-board-content{min-width:calc(172px + var(--timeline-width))}.route-board-content>.route-board-header,.route-board-content .route-row{grid-template-columns:172px minmax(var(--timeline-width),1fr)}}@media(max-width:760px){.task-edit-grid{grid-template-columns:1fr}}.route-empty-state{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:186px;padding:28px 30px;border:1px dashed #b9d2db;background:#fbfefe}.route-empty-state h3{margin:6px 0 8px;color:#173b56;font-size:20px}.route-empty-state p{max-width:550px;margin:0;color:#6f8796;line-height:1.65}.route-empty-state .button-primary,.route-empty-state .button-secondary{flex:0 0 auto;white-space:nowrap}.button-ai:disabled{cursor:not-allowed;opacity:.52}@media(max-width:760px){.route-empty-state{align-items:flex-start;flex-direction:column;gap:18px;padding:24px 18px}.route-empty-state .button-primary,.route-empty-state .button-secondary{width:100%}}.calendar-range-picker{position:relative}.calendar-range-trigger{display:flex;align-items:center;width:100%;min-height:40px;gap:8px;padding:9px 10px;border:1px solid #cbd5dd;border-radius:5px;background:#fff;color:#758797;cursor:pointer;font:inherit;text-align:left}.calendar-range-trigger svg:first-child{flex:0 0 auto;color:#4d8397}.calendar-range-trigger span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-range-trigger.has-value{color:#075f7d;font-weight:620}.calendar-range-trigger:hover,.calendar-range-trigger:focus-visible{border-color:#78aebe;outline:0}.calendar-range-popover{position:absolute;z-index:8;top:calc(100% + 7px);left:0;width:min(330px,calc(100vw - 72px));padding:13px;border:1px solid #b8d2da;border-radius:8px;background:#fff;box-shadow:0 13px 30px #12364929}.calendar-range-heading{display:flex;align-items:center;justify-content:space-between}.calendar-range-heading strong{color:#26455a;font-size:13px}.calendar-range-heading button{display:grid;width:28px;height:28px;place-items:center;padding:0;border:1px solid #d8e4e8;border-radius:5px;background:#fff;color:#527286;cursor:pointer}.calendar-range-heading button:hover{border-color:#82b4c2;background:#f2fafb}.calendar-range-popover>p{margin:11px 0 9px;color:#6d8393;font-size:12px}.calendar-range-weekdays,.calendar-range-days{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-range-weekdays{margin-bottom:4px;color:#8497a3;font-size:11px;text-align:center}.calendar-range-days{gap:2px}.calendar-range-days i{display:block;min-height:31px}.calendar-range-days button{min-height:31px;padding:0;border:0;border-radius:4px;background:transparent;color:#334f63;cursor:pointer;font:inherit;font-size:12px}.calendar-range-days button:hover{background:#edf7f9;color:#087391}.calendar-range-days button.is-in-range{border-radius:0;background:#e7f4f7}.calendar-range-days button.is-selected{border-radius:4px;background:#087795;color:#fff;font-weight:700}.calendar-range-clear{margin-top:10px;color:#6c7f8d;font-size:12px}.task-custom-date{display:inline-flex;align-items:center;gap:6px;min-height:31px;padding:0 7px;border:1px solid #d5e1e6;border-radius:5px;background:#fff;color:#61798a;font-size:12px}.task-custom-date span{color:#61798a;font-size:12px}.task-custom-date input{width:122px;min-width:0;padding:0;border:0;color:#27465c;font:inherit;font-size:12px;outline:0}@media(max-width:560px){.task-custom-date{width:100%;justify-content:space-between}.task-custom-date input{width:148px}}.project-stage-empty{display:grid;gap:12px;padding:18px;border:1px dashed #b6d2dc;border-radius:7px;background:#fbfefe}.project-stage-empty .section-mini-header{margin:0}.project-stage-empty p{max-width:430px;margin:0;color:#6c8492;font-size:13px;line-height:1.65}.project-stage-empty .button-primary{justify-self:start}.no-stage-guide p{margin:7px 0 0;color:#6c8492;font-size:13px;line-height:1.65}.project-history-groups{display:grid;margin-top:10px}.project-history-day{border-bottom:1px solid var(--soft-line)}.project-history-day:last-child{border-bottom:0}.project-history-day-toggle{display:flex;align-items:center;width:100%;gap:8px;min-height:38px;padding:0 2px;border:0;background:transparent;color:#49677b;cursor:pointer;font-size:13px;font-weight:700;text-align:left}.project-history-day-toggle:hover{color:var(--primary)}.project-history-day-toggle small{margin-left:auto;color:#8494a1;font-size:11px;font-weight:500}.project-history-day-toggle svg{color:#8194a2}.event-row{display:flex;align-items:flex-start;gap:7px}.event-row time{flex:0 0 38px;color:#8a9aa7;font-size:11px;line-height:1.5}.event-row>span:last-child{line-height:1.5}.history-empty{margin:14px 0 0;color:#8495a1;font-size:13px}.guided-planning-header{display:grid;gap:7px;padding:1px 0 17px;border-bottom:1px solid var(--soft-line)}.guided-planning-header strong{color:#1c3b54;font-size:17px;line-height:1.55}.guided-planning-header small{color:#728797;font-size:12px;line-height:1.55}.guided-planning-step{margin-top:21px}.guided-outline-list{display:grid;gap:9px}.guided-outline-item{display:grid;align-items:center;gap:10px;grid-template-columns:26px minmax(0,1fr)}.guided-outline-item>span{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:#e9f4f7;color:var(--primary);font-size:12px;font-weight:720}.guided-outline-item input,.guided-outline-item textarea{width:100%;min-height:42px;padding:10px 11px;border:1px solid #c5d8df;border-radius:6px;background:#fff;color:#244359;font:inherit;font-size:14px;line-height:1.45}.guided-outline-item textarea{min-height:58px;resize:vertical}.guided-outline-item input:focus,.guided-outline-item textarea:focus{border-color:#73b5c8;outline:3px solid rgba(83,160,185,.12)}.guided-outline-item.is-draggable{grid-template-columns:26px 12px minmax(0,1fr);cursor:grab}.guided-outline-item.is-draggable:active{cursor:grabbing}.guided-outline-item .drag-handle{display:block;width:auto;height:auto;margin:0;border-radius:0;background:transparent;color:#8ca1af;cursor:grab;font-size:15px;font-weight:700;letter-spacing:-4px;line-height:1;-webkit-user-select:none;user-select:none}.guided-outline-item .drag-handle:first-letter{letter-spacing:0}.auto-save-status{margin-right:auto;color:#6f8595;font-size:13px}.auto-save-status.is-saving,.auto-save-status.is-pending{color:#0c779a}.auto-save-status.is-error{color:#bd5b42}.guided-planning-tip{margin:15px 0 0 36px;color:#798d9b;font-size:12px;line-height:1.6}.guided-step-tabs{display:flex;gap:7px;margin:12px 0;overflow-x:auto;padding-bottom:3px}.guided-step-tabs button{display:inline-flex;flex:0 0 auto;align-items:center;gap:6px;min-height:34px;max-width:180px;padding:0 10px;overflow:hidden;border:1px solid #cfdee4;border-radius:17px;background:#fff;color:#557083;cursor:pointer;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.guided-step-tabs button:hover,.guided-step-tabs button.is-selected{border-color:#82bfce;background:#eef9fb;color:#136b85}.guided-step-tabs button>span{display:grid;flex:0 0 auto;width:18px;height:18px;place-items:center;border-radius:50%;background:#e7f2f5;font-size:10px;font-weight:700}.guided-step-tabs button.is-selected>span{background:var(--primary);color:#fff}.guided-detail-card{display:grid;gap:12px;padding:15px;border:1px solid #bddae3;border-radius:7px;background:#fbfefe}.guided-detail-title{display:grid;gap:4px;padding-bottom:10px;border-bottom:1px solid #e1ecef}.guided-detail-title span{color:var(--primary);font-size:11px;font-weight:720}.guided-detail-title strong{color:#21445b;font-size:16px}.task-guided-header{margin-bottom:20px}.task-outline-list .guided-outline-item{align-items:start}.task-detail-card{gap:15px}@media(max-width:760px){.guided-planning-tip{margin-left:0}.guided-step-tabs button{max-width:145px}}@media(max-width:560px){.project-stage-empty .button-primary{width:100%}}.stage-editor input.field-has-value{color:#075f7d;font-weight:620}
