:root{--blue:#2455db;--navy:#152955;--ink:#18253e;--muted:#738097;--line:#e6ebf3;--bg:#f4f6fa;--red:#ce424a;--green:#1a8468;--amber:#ab700d;font-family:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);font-size:16px;line-height:1.6}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:var(--blue);text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #8aaaff;outline-offset:3px}button{border:0;background:none;color:inherit}button:disabled{opacity:.42;cursor:not-allowed}.shell{min-height:100vh;display:grid;grid-template-columns:226px minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;width:226px;background:#fff;border-right:1px solid var(--line);padding:29px 18px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;gap:12px;align-items:center;padding:0 12px 34px}.mark{background:var(--blue);color:#fff;width:39px;height:39px;display:grid;place-items:center;border-radius:11px;font-size:24px;font-weight:700}.brand b{font-size:20px;letter-spacing:.04em}.brand small{display:block;font-size:12px;color:var(--muted);letter-spacing:.12em}.nav-caption{font-size:12px;color:#8b96a9;margin:8px 14px 10px}.nav{display:flex;flex-direction:column;gap:7px}.nav button{display:flex;gap:13px;align-items:center;text-align:left;padding:12px 16px;border-radius:8px;color:#65728a;font-size:15px}.nav button.active{background:#edf2ff;color:var(--blue);font-weight:650}.nav button:hover{background:#f4f6fa}.icon{width:20px;height:20px;flex:none;vertical-align:middle;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.sidebar-foot{margin-top:auto;border-top:1px solid var(--line);padding:20px 12px 0;font-size:13px;color:var(--muted)}.sidebar-foot a{display:block;margin-top:8px}.main{grid-column:2;min-width:0}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 36px;background:#fff;border-bottom:1px solid var(--line)}.crumb{font-size:14px;color:var(--muted)}.crumb strong{color:var(--ink);font-weight:500}.persona{display:flex;align-items:center;gap:10px}.persona label{font-size:12px;color:var(--muted)}.persona select{border:0;background:#f4f6fa;padding:7px 10px;border-radius:7px;max-width:170px;font-size:14px}.avatar{width:34px;height:34px;display:inline-grid;place-items:center;border-radius:50%;background:#e9efff;color:#3861c7;font-size:13px;font-weight:600;flex:none}.content{max-width:1480px;margin:auto;padding:30px 36px 70px}.page-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:23px}h1,h2,h3,p{margin:0}h1{font-size:27px;line-height:1.4;letter-spacing:-.025em}h2{font-size:18px}h3{font-size:16px}.subtitle{font-size:14px;color:var(--muted);margin-top:6px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 16px;min-height:42px;border-radius:7px;font-size:14px;font-weight:550;border:1px solid var(--line);background:#fff;white-space:nowrap}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 3px 7px #2455db1a}.btn.danger{color:var(--red);border-color:#f3d5d7}.btn.small{padding:5px 11px;min-height:32px;font-size:13px}.btn:hover{filter:brightness(.97)}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:24px}.stat{background:#fff;border:1px solid var(--line);border-radius:11px;padding:20px 22px;text-align:left;position:relative;transition:transform .15s}.stat:hover{transform:translateY(-2px)}.stat:first-child{background:var(--navy);color:#fff;border-color:var(--navy)}.stat .label{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:var(--muted)}.stat:first-child .label,.stat:first-child .stat-note{color:#b9c8e7}.stat strong{display:block;font-size:36px;font-weight:600;line-height:1.2;margin:13px 0 8px;letter-spacing:-.04em}.stat-note{font-size:12px;color:var(--muted)}.red{color:var(--red)}.green{color:var(--green)}.layout-two{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:22px;align-items:start}.panel{background:#fff;border:1px solid var(--line);border-radius:11px;overflow:hidden}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:20px 22px;border-bottom:1px solid var(--line)}.panel-title small{color:var(--muted);font-size:13px}.tabs{display:flex;gap:24px;padding:0 22px;border-bottom:1px solid var(--line);overflow:auto;white-space:nowrap}.tabs button{font-size:14px;padding:15px 0;color:var(--muted);border-bottom:2px solid transparent}.tabs button.active{color:var(--blue);border-color:var(--blue);font-weight:600}.task-row{padding:20px 22px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center}.task-row:last-child{border:0}.task-main{cursor:pointer;text-align:left;padding:0;min-width:0;width:100%}.task-main:hover .task-name{color:var(--blue)}.task-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.task-name{font-weight:600;font-size:16px}.task-id{font-size:12px;color:#97a1b1;margin-right:4px}.badges{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;padding:2px 8px;font-size:12px;border-radius:4px;line-height:1.6;background:#eff2f6;color:#67748a;white-space:nowrap}.badge.urgent{background:#fff0f0;color:#c33d47}.badge.important{background:#fff5df;color:#a57216}.badge.blue{background:#edf2ff;color:var(--blue)}.badge.green{background:#eaf8f2;color:var(--green)}.task-meta{display:flex;gap:15px;flex-wrap:wrap;margin-top:9px;color:var(--muted);font-size:13px}.task-progress{display:flex;gap:10px;align-items:center;font-size:12px;color:var(--muted);margin-top:12px}.bar{height:4px;background:#edf1f7;border-radius:3px;overflow:hidden;width:105px}.bar i{display:block;height:100%;background:#6688e8;border-radius:3px}.task-side{display:flex;flex-direction:column;align-items:flex-end;gap:15px}.mini-person{display:flex;gap:7px;align-items:center;font-size:13px;color:var(--muted)}.mini-person .avatar{width:26px;height:26px;font-size:11px}.right-stack{display:grid;gap:20px}.purpose-row{padding:13px 22px;display:flex;justify-content:space-between;font-size:14px}.purpose-row b{font-size:15px}.purpose-row:last-child{padding-bottom:23px}.tip{padding:21px;background:#edf2ff;border:1px solid #dde6ff;border-radius:11px}.tip h3{color:#3158ad;margin:0 0 9px}.tip p{font-size:13px;color:#63769d;line-height:1.8}.hint-line{font-size:12px;color:var(--muted);margin-top:20px;display:flex;gap:7px;align-items:center}.event{padding:0 22px 20px;font-size:13px;display:flex;gap:10px}.event-dot{width:6px;height:6px;border-radius:50%;background:#91a6da;flex:none;margin-top:7px}.event small{display:block;color:var(--muted);font-size:12px;margin-top:5px}.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:18px 22px;border-bottom:1px solid var(--line)}.search{flex:1;min-width:200px;position:relative}.search .icon{position:absolute;left:12px;top:11px;color:#91a0b8}.search input{width:100%;padding-left:40px}.field input,.field select,.field textarea,.toolbar input,.toolbar select{width:100%;border:1px solid #dfe5ef;background:#fff;border-radius:7px;padding:10px 12px;font-size:14px;min-height:42px;color:var(--ink);outline:none}.field input:focus,.field select:focus,.field textarea:focus,.toolbar input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2455db12}.toolbar select{width:auto;max-width:190px}.field{display:grid;gap:6px;min-width:0}.field label{font-size:14px;color:#53617a}.field textarea{resize:vertical;min-height:95px}.field small{font-size:12px;color:var(--muted)}.required{color:var(--red);margin-left:4px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.full{grid-column:1/-1}.form-section{display:grid;gap:19px;padding:23px 27px;border-bottom:1px solid var(--line)}.form-section h3{margin-bottom:0}.form-section summary{cursor:pointer;font-weight:600;font-size:15px}.form-section details[open] summary{margin-bottom:19px}.form-foot{display:flex;justify-content:flex-end;gap:10px;padding:18px 27px;background:#fff;position:sticky;bottom:0;border-top:1px solid var(--line)}.form-error{color:var(--red);background:#fff0f0;padding:10px 14px;border-radius:6px;font-size:14px;display:none}.form-error:not(:empty){display:block}.note{background:#f1f5fe;color:#58709f;border-radius:7px;padding:12px 15px;font-size:13px}.detail{max-width:930px;margin:auto}.back{display:inline-flex;gap:7px;align-items:center;color:var(--muted);font-size:14px;padding:0;margin-bottom:18px}.detail-head{padding:26px}.detail-head h1{font-size:25px;margin:12px 0 19px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.detail-grid dt{color:var(--muted);font-size:13px}.detail-grid dd{margin:5px 0 0;font-size:14px}.section-pad{padding:24px 27px;border-top:1px solid var(--line)}.section-pad>h2{margin-bottom:17px}.description{font-size:15px;white-space:pre-wrap;color:#4e5e76}.node{border:1px solid var(--line);border-radius:9px;margin:12px 0;padding:17px}.node-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.node-title{display:flex;align-items:center;gap:10px}.node-num{border:1px solid #dce5f5;background:#f5f8fd;color:#7a90b8;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;font-size:12px}.node-num.done{background:#e5f5ed;color:var(--green);border-color:#d6edde}.node-action{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.evidence{padding:10px 12px;background:#f7f9fc;border-radius:6px;font-size:13px;margin-top:12px;white-space:pre-wrap}.history{display:grid;gap:18px}.history-item{border-left:2px solid #e5ebf7;padding-left:14px;font-size:14px}.history-item small{display:block;font-size:12px;color:var(--muted);margin-top:3px}.detail-actions{position:sticky;bottom:0;padding:16px 24px;background:#fff;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:5}.detail-actions .actions{display:flex;gap:8px;flex-wrap:wrap}.muted{color:var(--muted)}.small-text{font-size:13px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;background:#f8faff;color:#7d8aa1;font-size:13px;font-weight:500;padding:13px 22px;white-space:nowrap}td{padding:15px 22px;border-top:1px solid var(--line)}td .btn{margin-right:5px}.empty{padding:50px 24px;text-align:center;color:var(--muted)}.empty .icon{width:34px;height:34px;margin-bottom:10px;color:#a4b4ce}.empty h3{color:#516078;margin-bottom:5px}.mobile-nav{display:none}.dialog{border:0;border-radius:14px;width:min(560px,calc(100vw - 30px));padding:0;color:var(--ink);box-shadow:0 24px 90px #11204435;max-height:90vh;overflow:auto}.dialog::backdrop{background:#12224466;backdrop-filter:blur(2px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;border-bottom:1px solid var(--line)}.dialog-body{padding:24px;display:grid;gap:18px}.close{font-size:23px;color:var(--muted);padding:0 6px}.dialog-foot{padding:17px 24px;display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line)}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(100px);padding:11px 20px;background:#1b2d50;color:#fff;border-radius:9px;font-size:14px;z-index:100;opacity:0;transition:.2s;max-width:calc(100vw - 30px)}#toast.show{transform:translateX(-50%) translateY(0);opacity:1}.node-editor{padding:16px;border:1px solid var(--line);border-radius:8px;background:#fafcff;margin:12px 0;display:grid;gap:14px}.check-group{display:flex;gap:9px 16px;flex-wrap:wrap}.check-group label{display:flex;gap:7px;align-items:center;font-size:14px}.check-group input{width:16px;min-height:16px;height:16px}.space-between{display:flex;justify-content:space-between;gap:10px;align-items:center}.chart{padding:23px;display:grid;gap:18px}.chart-row{display:grid;grid-template-columns:120px 1fr 28px;gap:14px;align-items:center;font-size:14px}.chart-track{background:#f1f4fa;height:10px;border-radius:3px;overflow:hidden}.chart-track span{display:block;background:#6a8be6;height:100%}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.prototype-strip{padding:7px 36px;background:#edf2fc;color:#6278a6;font-size:12px;display:flex;justify-content:space-between;gap:10px}.prototype-strip button{color:#3e61a5;text-decoration:underline;font-size:12px}.filter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;padding:18px 22px;border-bottom:1px solid var(--line)}.row-link{color:var(--blue);font-size:14px}.step-strip{display:flex;margin:15px 0 0;gap:0}.step-strip span{flex:1;border-bottom:3px solid #e7ecf5;padding:9px 0;color:#8997ae;font-size:12px}.step-strip span.done{border-color:var(--blue);color:var(--blue)}
@media(min-width:1500px){.content{padding-top:36px}.task-row{padding-top:24px;padding-bottom:24px}}
@media(max-width:1160px){.sidebar{width:190px;padding:25px 12px}.shell{grid-template-columns:190px minmax(0,1fr)}.content{padding:24px}.topbar{padding:0 24px}.layout-two{grid-template-columns:1fr}.right-stack{grid-template-columns:1fr 1fr}.tip{display:none}.stat{padding:17px}.prototype-strip{padding:7px 24px}}
@media(max-width:760px){.shell{display:block}.sidebar{display:none}.main{width:100%}.topbar{padding:0 18px;height:61px}.crumb{font-size:16px}.crumb .desktop{display:none}.persona .avatar,.persona label{display:none}.persona select{max-width:145px;font-size:12px}.content{padding:22px 16px 90px}.prototype-strip{padding:6px 17px;font-size:11px}.page-head{align-items:flex-start;gap:10px;margin-bottom:20px}h1{font-size:24px}.page-head .btn{padding:8px 11px}.cards{grid-template-columns:repeat(2,1fr);gap:11px;margin-bottom:20px}.stat{padding:16px}.stat strong{font-size:30px;margin:9px 0 5px}.stat .label{font-size:13px}.stat-note{font-size:11px}.right-stack{display:none}.panel-title{padding:17px}.tabs{padding:0 17px;gap:21px}.task-row{padding:18px 17px;grid-template-columns:1fr;gap:10px}.task-name{font-size:15px}.task-side{flex-direction:row;align-items:center;justify-content:space-between}.task-id{display:none}.task-meta{gap:6px 13px;font-size:12px}.task-progress{margin-top:10px}.mobile-nav{display:flex;justify-content:space-around;position:fixed;bottom:0;left:0;right:0;padding:9px 8px max(10px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);z-index:20}.mobile-nav button{display:grid;gap:4px;justify-items:center;min-width:48px;font-size:11px;color:#8a98ae}.mobile-nav button.active{color:var(--blue)}.mobile-nav .create-icon{background:var(--blue);padding:7px;border-radius:9px;margin-top:-13px;color:#fff}.mobile-nav .create-icon .icon{width:25px;height:25px}.grid2,.stats-grid{grid-template-columns:1fr}.detail-head{padding:20px}.detail-head h1{font-size:22px}.detail-grid{grid-template-columns:1fr 1fr;gap:17px}.section-pad{padding:20px}.detail-actions{bottom:67px;flex-direction:column;align-items:stretch;padding:12px 17px}.detail-actions .actions{justify-content:flex-end}.form-section{padding:20px}.form-foot{bottom:67px;padding:14px 20px}.full{grid-column:auto}.toolbar{padding:15px;gap:9px}.search{min-width:100%;width:100%}.toolbar select{max-width:calc(50% - 5px);flex:1}.filter-grid{grid-template-columns:1fr 1fr;padding:15px}.node-head{align-items:flex-start}.node-title{align-items:flex-start}.task-top{gap:6px}.hint-line{align-items:flex-start;font-size:11px}.chart-row{grid-template-columns:105px 1fr 25px;gap:9px}.dialog-body{padding:20px}.dialog{max-height:85vh}.page-head .subtitle{font-size:12px}th,td{padding:12px 16px}.detail .back{margin-top:0}.prototype-strip span{overflow-wrap:anywhere}.step-strip span{font-size:11px}.node-editor .grid2{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
[hidden]{display:none!important}.allocation input,.allocation select{border:1px solid #dfe5ef;border-radius:7px;padding:9px 11px;font:inherit;font-size:14px;width:100%}.task-children summary:hover{background:#f7f9fd}.task-main .task-progress{max-width:100%}.task-progress>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-editor input,.node-editor select{min-width:0}.dialog-body ol{margin:0;padding-left:22px}.dialog-body li{margin-bottom:8px}

.mark{flex:none}.brand b{white-space:nowrap}.brand small{letter-spacing:.08em;font-size:10px}.brand{padding-left:8px;padding-right:8px;gap:9px}@media(max-width:1160px){.brand b{font-size:17px}.brand .mark{width:32px;height:35px}.brand small{font-size:9px;letter-spacing:0}.brand{padding-left:7px;padding-right:0;gap:7px}}

/* V0.2: phone-first working surface and desktop content scaling */
.content{zoom:var(--content-zoom,1)}.view-tools{display:flex;align-items:center;gap:15px;flex:none}.phone-preview-link{color:#355cae;font-size:13px;font-weight:600;white-space:nowrap}.zoom-tools{display:flex;align-items:center;border:1px solid #d9e2f4;background:#fff;border-radius:6px;overflow:hidden}.prototype-strip .zoom-tools button{min-width:30px;height:28px;text-decoration:none;font-size:16px;padding:0 6px}.prototype-strip .zoom-tools #zoom-value{min-width:48px;font-size:12px;border-inline:1px solid #e7edf7}.prototype-strip{align-items:center;flex-wrap:wrap}.mobile-home-search{display:none}.large-content .layout-two{grid-template-columns:1fr}.large-content .right-stack{grid-template-columns:1fr 1fr}.large-content .task-row{grid-template-columns:1fr}.large-content .task-side{flex-direction:row;align-items:center;justify-content:space-between}.large-content .cards{grid-template-columns:repeat(2,1fr)}.large-content .grid2,.large-content .stats-grid{grid-template-columns:1fr}.large-content .filter-grid{grid-template-columns:repeat(2,1fr)}.large-content .full{grid-column:auto}.large-content .toolbar select{max-width:100%}.large-content .detail-actions{flex-wrap:wrap}.large-content .detail-grid{grid-template-columns:repeat(2,1fr)}.large-content .chart-row{grid-template-columns:105px 1fr 25px}.task-name,.description,.evidence{overflow-wrap:anywhere}
@media(max-width:760px){
:root{--bottom-nav-height:calc(66px + env(safe-area-inset-bottom,0px))}
.content{zoom:1!important;padding:17px 14px calc(var(--bottom-nav-height) + 30px)}.phone-preview-link,.zoom-tools{display:none}.prototype-strip{padding:5px 15px;gap:4px;font-size:11px}.view-tools{gap:0}.prototype-strip>span{max-width:calc(100% - 60px)}.prototype-strip .view-tools button{font-size:11px;padding:4px 0}.topbar{height:54px;padding:0 15px}.topbar .crumb{font-size:15px}.page-head{margin-bottom:15px;align-items:center}.page-head .subtitle{font-size:12px}.content[data-page="home"] .page-head .subtitle{display:none}.content[data-page="home"] .page-head h1{font-size:23px}.mobile-home-search{display:block;margin:0 0 15px;min-width:0}.mobile-home-search input{background:#fff;border:1px solid var(--line);border-radius:8px;height:44px;width:100%;font-size:16px;padding:8px 12px 8px 40px;color:var(--ink)}.content[data-page="home"] .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:17px}.content[data-page="home"] .stat{padding:13px 11px;border-radius:9px}.content[data-page="home"] .stat strong{font-size:28px;margin:5px 0 0}.content[data-page="home"] .stat-note,.content[data-page="home"] .stat .icon,.content[data-page="home"] .stat:last-child{display:none}.content[data-page="home"] .stat .label{font-size:13px;white-space:nowrap}.content[data-page="home"] .panel-title{padding:14px 15px}.content[data-page="home"] .panel-title small{font-size:11px}.content[data-page="home"] .panel-title h2{font-size:16px}.tabs{gap:22px;scrollbar-width:none;padding-inline:15px}.tabs button{font-size:14px;min-height:48px;padding:12px 0}.task-row{padding:17px 15px;gap:12px}.task-name{font-size:17px;line-height:1.55}.task-meta{font-size:14px;gap:6px 10px}.badge{font-size:12px}.task-progress{font-size:12px;gap:8px;line-height:1.5}.task-progress .bar{width:72px;flex:none}.mini-person{font-size:13px}.task-side{gap:9px}.btn,.btn.small{min-height:44px;font-size:14px;padding:8px 13px}.task-side .btn{min-width:116px}.mobile-nav{min-height:var(--bottom-nav-height);padding-bottom:max(8px,env(safe-area-inset-bottom));align-items:center}.mobile-nav button{min-width:52px;min-height:44px;font-size:12px;gap:3px}.mobile-nav .create-icon{margin-top:-10px}.field input,.field select,.field textarea,.toolbar input,.toolbar select,.allocation input,.allocation select{font-size:16px;min-height:46px}.field label{font-size:14px}.field textarea{min-height:110px}.description{font-size:16px;line-height:1.75}.detail-grid dd{font-size:15px}.node-head{flex-wrap:wrap}.node-title{min-width:0}.node-title h3{font-size:16px;overflow-wrap:anywhere}.node-num{flex:none}.node-action .btn{min-height:44px}.node-editor .grid2{grid-template-columns:1fr}.detail-actions,.form-foot{position:fixed;left:0;right:0;bottom:var(--bottom-nav-height);padding:12px 16px;background:#fff;box-shadow:0 -4px 18px #18305608;z-index:19;max-height:32dvh;overflow:auto}.detail-actions .actions{width:100%;justify-content:flex-end}.detail-actions .actions .btn{flex:1}.detail-actions .small-text{font-size:12px}.detail{padding-bottom:110px}.form-foot .btn{flex:1}.detail .panel{overflow:visible}.dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 32px);border-radius:12px}.dialog-body{padding:19px}.dialog-foot .btn{min-height:46px}.dialog-head .close{min-width:44px;min-height:44px}.space-between{flex-wrap:wrap}.form-section{padding:18px}.filter-grid{grid-template-columns:1fr 1fr}.large-content .right-stack{display:none}.large-content .task-side{flex-wrap:wrap}#toast{bottom:calc(var(--bottom-nav-height) + 16px)}
}
