@charset "UTF-8";
:root{--ink:#183c33;--muted:#65776d;--line:#dbe4db;--bg:#f3f6ef;--green:#225d47;--lime:#d8ed99;--white:#fffefb;--alert:#ab4d37}*{box-sizing:border-box}body{margin:0;background:var(--bg);font:16px/1.6 "Segoe UI","Microsoft JhengHei",sans-serif;color:var(--ink)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:var(--white);border:1px solid var(--line);border-radius:9px;padding:9px 14px;transition:background .18s,transform .18s}button:hover{background:#e9f1e3}button:active{transform:translateY(1px)}button:focus-visible,a:focus-visible,input:focus,select:focus,textarea:focus{outline:3px solid #77a45d;outline-offset:3px}.primary{background:var(--green);border-color:var(--green);color:white;font-weight:600}.primary:hover{background:#164833}input,select,textarea{width:100%;border:1px solid #cfdace;background:#fffefb;border-radius:8px;padding:10px 12px;color:var(--ink)}textarea{resize:vertical}.topbar{height:88px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fffefbd9;gap:24px}.brand{display:flex;align-items:center;gap:15px;text-decoration:none;color:var(--ink);font-size:19px;font-weight:650;line-height:1.25}.brand small{display:block;font-size:10px;letter-spacing:1.8px;font-weight:500;margin-top:6px;color:#69816d}.brand-mark{background:#1e4b39;color:#fff;display:grid;grid-template-columns:auto auto;align-items:center;width:58px;height:51px;border-radius:15px 4px 15px 4px;padding:0 8px;font-size:25px;letter-spacing:-2px}.brand-mark span{color:#d8ed99}.project-address{font-size:12px;letter-spacing:1.8px;color:#607b69;display:flex;align-items:center;gap:16px}.project-address>span:not(.live-dot){color:#b6c6b7}.live-dot{height:7px;width:7px;border-radius:50%;background:#6b9856;box-shadow:0 0 0 5px #eaf2e1}.language-switch{display:flex;gap:3px;background:#e9efe4;padding:4px;border-radius:9px;white-space:nowrap}.language-switch a,.language-switch button{font-size:13px;padding:5px 10px;border:0;color:#536c58;background:transparent;text-decoration:none;border-radius:6px}.language-switch .selected{background:white;color:#214b34;box-shadow:0 1px 3px #153c3310}main{max-width:1740px;margin:0 auto;padding:34px 4vw 24px}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;gap:24px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:1.7px;color:#63816a}h1{font-size:38px;line-height:1.25;font-weight:600;letter-spacing:-1px;margin:10px 0}h2,h3,p{margin:0}.page-heading p{font-size:16px;color:var(--muted)}.headerActions{display:flex;align-items:center;gap:22px}#today{font-size:14px;color:#5b7462}.overview-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(360px,1fr);gap:24px;align-items:stretch}.focus-panel{background:#204f3e;color:#f8faef;border-radius:22px;position:relative;overflow:hidden;padding:25px 30px 0;box-shadow:0 12px 35px #17452d0c}.focus-panel:before{content:'';position:absolute;right:-60px;top:-60px;width:300px;height:300px;border:1px solid #a6c7921c;border-radius:50%;box-shadow:0 0 0 40px #a6c79208,0 0 0 80px #a6c79206;pointer-events:none}.panel-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:1.5px;font-weight:600}.focus-panel .panel-label{color:#c9deba;position:relative}.panel-label i{display:inline-block;width:7px;height:7px;background:#d8ed99;border-radius:50%;margin-right:9px}.focus-meta{display:flex;gap:14px;align-items:center;color:#bed2ba;font-size:13px;margin:24px 0 12px}.focus-status{color:#f3e1b3;background:#ffffff12;border:1px solid #ffffff20;border-radius:5px;padding:3px 9px}.focus-panel h2{font-size:27px;font-weight:550;line-height:1.5;letter-spacing:.1px;position:relative;max-width:680px}.focus-blocker{margin:19px 0 21px;display:flex;gap:20px;align-items:baseline}.focus-blocker>span{color:#9dbb9d;font-size:12px;white-space:nowrap;letter-spacing:1px}.focus-blocker p{font-size:15px;color:#e3ebd8}.next-move{display:flex;gap:15px;background:#d8ed99;color:#213d2c;padding:17px 20px;border-radius:12px;min-height:100px;position:relative}.next-arrow{font-size:30px;line-height:1.3}.next-move div>span{font-size:11px;letter-spacing:1.5px;font-weight:700;color:#4b653c}.next-move p{font-size:17px;font-weight:550;line-height:1.55;margin-top:3px}.focus-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:22px 0}.focus-bottom>div{display:flex;flex-wrap:wrap;align-items:center;font-size:14px;gap:5px}.focus-due{color:#b9ceb4;margin-left:12px;font-size:13px}.focus-bottom .late{color:#f5c7a7}.focus-bottom button{background:transparent;color:#e4efd4;border-color:#769b7570;white-space:nowrap;font-size:14px;padding:8px 13px}.focus-bottom button:hover{background:#ffffff14}.focus-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 -30px;border-top:1px solid #c3d7b52b;background:#113b2e3d}.focus-picker button{background:transparent;border:0;color:#a9c1a5;border-radius:0;padding:17px 13px;display:flex;align-items:flex-start;gap:9px;min-width:0;text-align:left;font-size:12px;line-height:1.6}.focus-picker button>span:first-child{font-size:11px;color:#8fb084}.focus-picker button>span:last-child{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.focus-picker button.selected{color:#f0f7de;background:#a7c98c13;box-shadow:inset 0 3px #d8ed99}.focus-picker button:hover{background:#ffffff0c}.pulse-panel{background:var(--white);border:1px solid var(--line);border-radius:22px;padding:25px 27px;display:flex;flex-direction:column}.pulse-panel .panel-label{color:#5b735d}.small-cross{font-size:23px;color:#849d75}#completion{display:flex;align-items:center;gap:26px;margin:25px 0 22px;flex:1}.completion-ring{width:150px;height:150px;flex-shrink:0;border-radius:50%;background:conic-gradient(#609c56 var(--progress),#eaf0e3 0);padding:10px;transform:rotate(-45deg)}.completion-ring>div{border-radius:50%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--white);transform:rotate(45deg)}.completion-ring b{font-size:38px;font-weight:600;line-height:1.2}.completion-ring small{font-size:17px;margin-left:2px}.completion-ring span{font-size:11px;color:#6a8067;letter-spacing:1px;margin-top:5px}.completion-copy strong{font-size:25px}.completion-copy strong span{font-weight:400;color:#93a18b}.completion-copy p{font-size:15px;margin:3px 0;color:#53694e}.completion-copy small{font-size:12px;color:#77866d;display:block;max-width:200px}.stats{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #e4e9dd}.stat{display:grid;grid-template-columns:1fr auto;gap:4px;padding:16px 0 12px;cursor:pointer;border-bottom:1px solid #e4e9dd;align-items:center}.stat:nth-child(odd){margin-right:22px}.stat b{font-size:26px;font-weight:550}.stat small{font-size:14px;line-height:1.5}.stat>span{display:none}.stat:nth-child(2) b{color:#af5b38}.stat:nth-child(3) b{color:#8c7c3f}.stat:hover{background:#f4f8ed}.flow-section{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;align-items:center;margin:30px 0 34px;padding:5px 0}.flow-heading h2{font-size:18px;font-weight:600}.flow-heading p{font-size:13px;color:#6d806b;margin-top:6px}.stage-flow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.stage{position:relative;text-align:left;border:0;background:transparent;display:grid;grid-template-columns:1fr auto;padding:10px 10px 12px;border-radius:7px;gap:4px}.stage-number{font-size:11px;font-family:Consolas,monospace;color:#91a08a;grid-column:1/-1}.stage-name{font-size:14px;font-weight:550;line-height:1.4}.stage b{font-size:19px;line-height:1}.stage-track{grid-column:1/-1;margin-top:10px;height:4px;background:#dfe7d6;border-radius:3px;overflow:hidden}.stage-track i{display:block;background:#79a166;height:100%;border-radius:3px}.stage-3 .stage-track i{background:#b8784f}.stage-4 .stage-track i{background:#b09e54}.stage.selected{background:#e0edce;box-shadow:0 0 0 1px #bfd0ad}.stage:hover{background:#e6eedc}.work-layout{display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:28px;align-items:start}.work-main{min-width:0}.workspace-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;scroll-margin-top:20px;gap:12px}nav{display:flex;background:#e4ebdd;padding:5px;border-radius:10px;gap:3px}nav button{background:transparent;border:0;padding:9px 17px;color:#6b7b61;font-size:15px}nav button.active{background:#fffefb;color:#274b32;box-shadow:0 2px 5px #2840270a;font-weight:600}nav button:hover{background:#f4f8eb}.search-shortcut{background:transparent;border:0;color:#74846b;padding:6px;font-size:13px;white-space:nowrap}kbd{border:1px solid #c5d1bc;border-bottom-width:2px;border-radius:4px;padding:0 6px;margin-left:9px;background:#fdfdf7}.workspace{background:var(--white);border:1px solid var(--line);border-radius:15px;overflow:hidden;min-height:360px}.sectiontitle{display:flex;justify-content:space-between;align-items:center;padding:24px 23px 20px;gap:12px}.sectiontitle>div{display:flex;align-items:center;gap:12px}.sectiontitle h2{font-size:20px;font-weight:600}#count{font-size:13px;color:#72816a;background:#f1f4e9;border-radius:20px;padding:3px 10px;white-space:nowrap}.sectiontitle button{font-size:13px;padding:7px 11px}.filters{display:flex;flex-wrap:wrap;gap:8px;padding:0 23px 22px}.filters input{flex:1 1 100%;font-size:15px;padding:11px 13px;background:#f5f8ef;border-color:#e2e8d8}.filters select{width:auto;max-width:190px;font-size:13px;background:#fffefb;padding:8px}.filters button{font-size:13px;border:0;background:transparent;color:#7b886b}.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px;min-width:900px}th{text-align:left;font-size:12px;font-weight:550;color:#6b8065;background:#f1f5eb;padding:13px 16px;border-block:1px solid #e3eadb}td{padding:20px 16px;border-bottom:1px solid #e9ede2;vertical-align:top}th:first-child,td:first-child{padding-left:23px;min-width:275px}th:last-child,td:last-child{display:none}tbody tr:hover{background:#f7faef}tr:last-child td{border-bottom:0}.tasktitle{font-size:15px;font-weight:600;line-height:1.6;background:transparent;border:0;text-align:left;padding:0;max-width:360px}.tasktitle:hover{color:#54883c;background:transparent}.sub{display:block;font-size:13px;color:#718069;line-height:1.65;margin-top:7px;max-width:340px}.avatar{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:9px 3px 9px 3px;background:#e8efdc;color:#4e6b43;font-size:12px;margin-right:7px}.pill{display:inline-block;padding:3px 7px;border-radius:5px;background:#eaf0e3;color:#5b7150;font-size:12px;white-space:nowrap}.pill.受阻,.pill.緊急,.pill.Blocked,.pill.Urgent{background:#f8e6dc;color:#a55336}.pill.待核准,.pill.待驗證,.pill.Awaiting,.pill.Pending{background:#f3efd9;color:#8c7837}.late{color:#ad583e}.inline-status{width:111px;font-size:13px;padding:7px;background:#fafbf5}.horizon{border-left:1px solid #d6e0ce;padding:9px 0 0 25px;margin-top:2px}.horizon .panel-label{font-size:11px;color:#6d8061}.horizon h2{font-size:22px;letter-spacing:-.5px;margin:20px 0 7px;font-weight:550}.horizon-desc{font-size:13px;color:#73826b}.horizon-event{display:block;position:relative;text-align:left;background:transparent;border:0;border-left:1px solid #cbd9be;border-radius:0;margin-left:4px;padding:0 0 22px 19px;width:calc(100% - 4px)}.horizon-event:hover{background:transparent}.horizon-event:hover strong{color:#669441}.horizon-event:last-child{border-left-color:transparent;padding-bottom:0}#horizon-list{margin:28px 0}.event-dot{position:absolute;left:-4px;top:8px;width:7px;height:7px;background:#99b583;border-radius:50%;box-shadow:0 0 0 4px var(--bg)}.event-dot.expiry{background:#b49759}.event-date{display:block;font-family:Consolas,monospace;font-size:13px;color:#65805a}.event-date em{font:10px "Segoe UI",sans-serif;letter-spacing:.7px;margin-left:9px;color:#849076}.horizon-event strong{display:block;font-size:14px;font-weight:550;line-height:1.6;margin:6px 0}.event-owner{font-size:12px;color:#849276}.horizon-button{border-color:#ccd9c1;background:transparent;font-size:13px;width:100%}.board{display:flex;gap:13px;padding:0 20px 23px;overflow:auto}.column{flex:1;min-width:235px;border-radius:10px;background:#f0f5e8;padding:13px}.column h3{font-size:14px;display:flex;justify-content:space-between;padding:2px 2px 15px;font-weight:550}.column h3 span{color:#899c77}.card{background:#fffefb;border:1px solid #dfe7d5;border-radius:10px;padding:15px;margin-bottom:12px}.card .tasktitle{margin-top:10px}.cardbottom{display:flex;justify-content:space-between;font-size:13px;gap:8px;margin-top:16px}.people{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;padding:0 23px 24px}.person{padding:19px;border:1px solid #dce7d2;border-radius:12px;background:#fcfdf7}.person h3{font-size:16px;margin-bottom:10px}.person .tasktitle{display:block;border-top:1px solid #e5ebdd;padding-top:15px;margin-top:15px}.empty{padding:35px 20px;text-align:center;color:#7c8e71;font-size:15px}footer{margin-top:35px;border-top:1px solid #dce5d4;padding-top:20px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.notice{font-size:13px;color:#78876c;max-width:650px}.footer-tools{display:flex;gap:10px;align-items:center;font-size:12px;color:#7f8d73}.footer-tools button{font-size:12px;padding:5px 9px;background:transparent}.signature{width:100%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.5px;color:#8e9b83;border-top:1px solid #e3e9db;padding-top:20px;margin-top:3px}dialog{border:1px solid #d4e0cc;border-radius:17px;background:var(--white);color:var(--ink);width:min(760px,94vw);max-height:92vh;padding:28px;box-shadow:0 20px 80px #17372733}dialog::backdrop{background:#19372b66;backdrop-filter:blur(5px)}.dialoghead{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.dialoghead h2{font-size:25px;margin-top:5px}.close{font-size:28px;border:0;background:transparent;padding:0 8px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}label{display:block;font-size:14px;color:#596e50;margin:13px 0}label input,label select,label textarea{display:block;margin-top:6px;font-size:15px}.dialogfoot{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid #dce5d4;padding-top:20px;margin-top:25px;font-size:13px}.dialogfoot>div{display:flex;gap:10px}.danger{color:#ae573b}.muted{font-size:14px;color:#76876b;margin-bottom:15px}#history{font-size:13px;color:#7e8d72;margin-top:15px}#toast{position:fixed;left:50%;bottom:25px;transform:translateX(-50%);display:none;background:#204a34;color:#fff;border-radius:10px;padding:13px 22px;z-index:1000;font-size:15px}.detail-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(610px,95vw);height:100dvh;max-height:100dvh;border-radius:20px 0 0 20px;padding:32px 34px;border:0;animation:drawer-in .22s ease-out}.drawer-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:27px}.drawer-top button{border:0;background:transparent;font-size:29px;line-height:1;padding:4px}.drawer-tags{display:flex;gap:7px;margin-bottom:13px}.detail-drawer h2{font-size:28px;line-height:1.5;font-weight:600}.drawer-owner{display:flex;align-items:center;margin-top:20px;font-size:15px}.drawer-owner>span:last-child{margin-left:auto;color:#78886e;font-size:13px}.drawer-facts{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:24px 0;margin:20px 0;border-block:1px solid #e0e8d8}.drawer-facts small{display:block;font-size:11px;letter-spacing:1px;color:#80916f}.drawer-facts strong{font-size:14px;font-weight:550;display:block;margin-top:5px}.drawer-next{background:#e7f1d5;border-radius:12px;padding:20px}.drawer-next p{font-size:18px;font-weight:550;margin-top:9px}.drawer-section{padding:22px 0;border-bottom:1px solid #e6ecdf}.drawer-section p{font-size:15px;margin-top:9px;color:#607653;line-height:1.8}.drawer-edit{margin-top:23px;width:100%;font-size:14px}@keyframes drawer-in{from{transform:translateX(30px);opacity:.3}to{transform:translateX(0);opacity:1}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
html[lang="en"] h1{font-size:37px;letter-spacing:-1.2px}html[lang="en"] .focus-panel h2{font-size:25px;line-height:1.4}html[lang="en"] .inline-status{width:158px}html[lang="en"] .stage-name{font-size:13px}html[lang="en"] .focus-picker button{font-size:12px}
@media(min-width:1500px){.overview-grid{grid-template-columns:minmax(0,1.7fr) minmax(400px,1fr)}.focus-panel h2{font-size:31px}.focus-panel{padding-top:28px}.focus-picker button{font-size:14px}.completion-ring{width:165px;height:165px}.work-layout{grid-template-columns:minmax(0,1fr) 310px}}
@media(max-width:1150px){.topbar{padding:0 26px}.project-address{font-size:10px;gap:10px}main{padding:27px 26px}.overview-grid{grid-template-columns:minmax(0,1.35fr) minmax(330px,1fr);gap:18px}.focus-panel{padding:22px 23px 0}.focus-picker{margin:0 -23px}.focus-picker button{padding:14px 10px;font-size:12px}.focus-panel h2{font-size:24px}.pulse-panel{padding:23px 20px}#completion{gap:18px}.completion-ring{width:127px;height:127px}.completion-ring b{font-size:33px}.stat:nth-child(odd){margin-right:14px}.stat small{font-size:13px}.flow-section{grid-template-columns:160px minmax(0,1fr);gap:15px}.stage-flow{gap:4px}.stage-name{font-size:13px}.work-layout{grid-template-columns:minmax(0,1fr) 235px;gap:20px}.horizon{padding-left:19px}.search-shortcut{display:none}.headerActions{gap:13px}.focus-bottom>div{font-size:13px}.focus-due{margin-left:0;display:block;width:100%;padding-left:35px}.next-move p{font-size:16px}}
@media(max-width:900px){.project-address{display:none}.overview-grid{grid-template-columns:1fr}.pulse-panel{display:grid;grid-template-columns:1fr 1fr;gap:0 25px;padding:23px}.pulse-panel>.panel-label{grid-column:1/-1}#completion{margin:18px 0 0}.stats{margin-top:18px}.completion-copy small{display:none}.focus-picker button{font-size:13px}.focus-panel h2{font-size:28px}.flow-section{display:block}.flow-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.work-layout{grid-template-columns:1fr}.horizon{border-left:0;border-top:1px solid #d2dfc8;padding:25px 0 0;display:none}.headerActions{flex-direction:column;align-items:flex-end}.stage-name{font-size:14px}html[lang="en"] .focus-panel h2{font-size:27px}}
@media(max-width:600px){body{font-size:16px}.topbar{height:76px;padding:0 18px;gap:10px}.brand{gap:10px;font-size:17px}.brand small{font-size:9px;letter-spacing:1px}.brand-mark{width:47px;height:45px;font-size:22px;border-radius:12px 3px 12px 3px}.language-switch a,.language-switch button{font-size:12px;padding:5px 7px}main{padding:25px 17px}.page-heading{display:block;margin-bottom:22px}.eyebrow{font-size:11px}.page-heading h1,html[lang="en"] h1{font-size:30px;margin:12px 0}.page-heading p{font-size:14px}.headerActions{flex-direction:row;justify-content:space-between;margin-top:19px;align-items:center}.headerActions .primary{font-size:14px}.focus-panel{padding:21px 20px 0;border-radius:17px}.focus-meta{margin-top:20px;font-size:12px;gap:9px}.focus-panel h2,html[lang="en"] .focus-panel h2{font-size:24px}.focus-blocker{display:block;margin:17px 0}.focus-blocker p{font-size:14px;margin-top:6px}.next-move{padding:15px;gap:10px}.next-move p{font-size:16px}.focus-bottom{gap:8px}.focus-bottom button{font-size:13px;padding:8px 10px}.focus-picker{margin:0 -20px;grid-template-columns:repeat(4,1fr)}.focus-picker button{padding:13px 12px;justify-content:center}.focus-picker button>span:last-child{display:none}.focus-picker button>span:first-child{font-size:14px}.pulse-panel{grid-template-columns:1fr;padding:21px;border-radius:17px}.pulse-panel>.panel-label{grid-column:auto}#completion{justify-content:center;gap:28px;margin:20px 0}.completion-ring{width:135px;height:135px}.completion-copy p{font-size:15px}.stats{margin-top:0}.stat small{font-size:14px}.stat:nth-child(odd){margin-right:24px}.stat b{font-size:27px}.flow-section{margin:26px 0}.flow-heading{display:block}.flow-heading p{font-size:13px}.stage-flow{grid-template-columns:repeat(3,1fr);gap:8px}.stage{background:#eaf1e1;padding:12px}.stage-number{font-size:11px}.stage-name,html[lang="en"] .stage-name{font-size:14px}.workspace-nav{display:block}nav{width:100%;justify-content:space-between}nav button{font-size:14px;padding:10px 12px;flex:1}.sectiontitle{padding:18px 15px;flex-wrap:wrap}.sectiontitle h2{font-size:19px}.sectiontitle button{font-size:13px}.filters{padding:0 15px 18px}.filters input{font-size:15px}.filters select{font-size:13px;max-width:47%;flex:1}.workspace{border-radius:12px}footer{margin-top:25px}.notice{font-size:13px;line-height:1.8}.footer-tools{flex-wrap:wrap;font-size:12px}.signature{font-size:9px;display:block;line-height:1.8}.signature span{display:block}.grid{grid-template-columns:1fr}.dialogfoot{flex-wrap:wrap}.detail-drawer{padding:24px 22px;border-radius:15px 0 0 15px}.detail-drawer h2{font-size:25px}.drawer-facts{gap:16px}.drawer-owner{flex-wrap:wrap}.drawer-owner>span:last-child{margin:8px 0 0;width:100%}.drawer-next p{font-size:17px}.drawer-section p{font-size:15px}}
