:root{--ink:#18283f;--muted:#657183;--nav:#18283f;--green:#bddf9c;--accent:#356a3e;--line:#e3e7eb;--bg:#f4f6f8;--white:#fff;--blue:#315ed0;--radius:16px;font-family:'Noto Sans TC',system-ui,sans-serif;color:var(--ink);font-size:16px}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #4778e0;outline-offset:3px}button{border:0;background:none;color:inherit}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.boot{padding:15vh 8vw}.brandmark{display:inline-grid;place-items:center;width:35px;height:35px;background:var(--green);color:var(--nav);font-size:24px;font-weight:800;border-radius:10px}.sidebar{position:fixed;inset:0 auto 0 0;width:236px;background:var(--nav);color:#ecf1f7;display:flex;flex-direction:column;padding:28px 18px;z-index:20}.brand{display:flex;gap:11px;align-items:center;padding:0 10px 28px}.brand strong{font-size:17px;letter-spacing:1.5px}.brand small{display:block;font-size:12px;letter-spacing:2px;margin-top:5px;color:#a4b1c4}.navlabel{color:#93a4bb;font-size:12px;letter-spacing:2px;margin:24px 14px 12px}.navlink{display:flex;align-items:center;gap:13px;padding:13px 15px;border-radius:9px;margin:4px 0;color:#b7c3d3;font-size:15px}.navlink.active{background:#30415a;color:white}.navlink.active svg{color:var(--green)}.navlink:hover{background:#263951;color:#fff}.navlink .count{margin-left:auto;background:#badc9f;color:#1b3523;border-radius:6px;font-size:12px;padding:2px 7px}.sidebottom{margin-top:auto}.support{margin:24px 5px;padding:20px 13px;border:1px solid #41516a;border-radius:12px;font-size:14px;line-height:1.8}.support p{color:#adbbce;margin:6px 0 12px;font-size:13px}.support a{display:flex;gap:9px;align-items:center;color:var(--green)}.account{display:flex;gap:10px;align-items:center;padding:12px 8px;border-top:1px solid #34445c}.avatar{background:#e8edf2;color:#30405a;width:38px;height:38px;border-radius:50%;display:inline-grid;place-items:center;flex-shrink:0;font-size:14px;font-weight:700}.avatar.green{background:#e7f0df;color:#477240}.account strong{font-size:14px}.account small{display:block;font-size:12px;color:#9fafc4;margin-top:3px}.shell{margin-left:236px;min-height:100vh}.topbar{height:78px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 38px;gap:15px}.crumb{font-size:14px;color:var(--muted);display:flex;gap:13px;align-items:center}.crumb strong{font-weight:500;color:var(--ink)}.topactions{display:flex;align-items:center;gap:20px;font-size:14px}.secure{display:flex;gap:7px;align-items:center;color:var(--muted);font-size:13px}.iconbtn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--line);border-radius:9px}.content{max-width:1440px;margin:auto;padding:30px 38px 44px}.demo{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#edf1f7;border:1px solid #dbe3ef;color:#536276;font-size:13px;padding:10px 15px;border-radius:8px;margin-bottom:28px}.demo button{font-size:13px;white-space:nowrap;color:#2b527f;text-decoration:underline}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--muted);margin:0 0 9px}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}h1{font-size:29px;font-weight:700;letter-spacing:-.8px;line-height:1.4;margin:0 0 9px}h2{font-size:18px;margin:0;font-weight:700}h3{font-size:16px;margin:0}p{line-height:1.8}.sub{color:var(--muted);font-size:14px;margin:0}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;border-radius:8px;padding:11px 18px;font-size:14px;font-weight:600;border:1px solid var(--line);background:white;white-space:nowrap}.btn.primary{background:var(--nav);border-color:var(--nav);color:white}.btn.lime{background:var(--green);border-color:var(--green);color:#223a26}.btn.danger{color:#a33737}.btn:hover{filter:brightness(.96)}.btn.small{padding:7px 12px;font-size:13px}.textbtn{font-size:14px;color:#365685;display:inline-flex;align-items:center;gap:7px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:25px}.stat{background:white;border:1px solid var(--line);border-radius:12px;padding:20px 22px;display:flex;justify-content:space-between;align-items:center}.stat span{font-size:13px;color:var(--muted)}.stat strong{display:block;font-size:30px;line-height:1.3;margin-top:9px;font-weight:600}.stat .stat-icon{background:#f2f5f8;border-radius:11px;padding:11px;display:grid;place-items:center;color:#78879c}.stat.attention{border-color:#d0dfc2;background:#f4f8ef}.stat.attention .stat-icon{background:#e2edd6;color:#577948}.grid{display:grid;grid-template-columns:minmax(0,1fr) 294px;gap:24px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.panelhead{padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:14px}.panelhead .sub{margin-top:6px;font-size:13px}.padded{padding:24px}.toolbar{display:flex;justify-content:space-between;gap:15px;padding:0 24px 18px;align-items:center}.tabs{display:flex;gap:18px;border-bottom:1px solid var(--line);overflow:auto}.tabs button{font-size:14px;white-space:nowrap;padding:13px 0;border-bottom:2px solid transparent;color:var(--muted)}.tabs button.active{color:var(--ink);font-weight:600;border-bottom-color:var(--ink)}.filters{display:flex;gap:5px;flex-wrap:wrap}.filter{font-size:13px;padding:7px 12px;color:var(--muted);border-radius:7px}.filter.active{background:#eef2f7;color:var(--ink);font-weight:600}.search{display:flex;align-items:center;gap:8px;background:#f7f8fa;border:1px solid var(--line);border-radius:8px;padding:9px 11px;max-width:215px}.search svg{width:16px;color:#8390a1}.search input{border:0;background:transparent;outline:0;width:100%;font-size:13px;min-width:0}.case-row{display:grid;grid-template-columns:45px minmax(0,1fr) auto;gap:15px;padding:24px;border-top:1px solid var(--line);align-items:start;transition:background .15s}.case-row:hover{background:#fafbfd}.case-icon{background:#edf1f7;color:#5f7494;border-radius:10px;width:44px;height:44px;display:grid;place-items:center}.case-row:nth-of-type(3n) .case-icon{background:#f0edf7;color:#8a74a3}.case-title{display:block;font-size:16px;font-weight:600;margin:0 0 7px}.meta{font-size:12px;color:var(--muted);line-height:1.8}.case-row p{font-size:13px;color:var(--muted);margin:13px 0 0}.badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:5px 9px;border-radius:5px;white-space:nowrap;background:#edf1f7;color:#526783}.badge.review{background:#fff3dc;color:#906615}.badge.progress{background:#eaf0ff;color:#3f63a5}.badge.done{background:#e8f2e4;color:#4d7842}.badge.new{background:#f0edf8;color:#786094}.case-right{text-align:right}.case-right .meta{display:block;margin-top:14px}.progressbar{height:4px;border-radius:5px;background:#edf0f4;overflow:hidden;margin-top:14px;max-width:230px}.progressbar span{display:block;height:100%;background:#849db9;border-radius:5px}.aside{display:flex;flex-direction:column;gap:20px}.actioncard{background:#eaf2e2;border:1px solid #d9e6cd;border-radius:var(--radius);padding:23px}.actioncard .kicker{display:flex;align-items:center;gap:8px;font-size:13px;color:#547143;margin-bottom:15px}.actioncard h2{font-size:17px;line-height:1.6}.actioncard p{font-size:13px;color:#5c6d56;margin:10px 0 18px}.actioncard .btn{width:100%;background:#fff;border-color:#d6e1cb}.timeline{padding:0 23px 6px}.event{position:relative;padding:0 0 24px 24px;border-left:1px solid #e0e5ea;margin-left:4px}.event:last-child{border-color:transparent}.event:before{content:'';position:absolute;left:-5px;top:5px;width:9px;height:9px;background:#c3cedc;border:2px solid white;border-radius:50%}.event strong{font-weight:500;font-size:13px;line-height:1.6;display:block}.event small{display:block;color:var(--muted);font-size:12px;margin-top:6px;line-height:1.6}.hint{padding:0 6px;font-size:12px;color:var(--muted);line-height:1.9}.footer{display:flex;justify-content:space-between;font-size:12px;color:#8792a1;margin-top:28px;gap:15px}.empty{padding:50px 25px;text-align:center;color:var(--muted)}.empty svg{width:32px;height:32px;margin-bottom:12px}.empty p{font-size:14px}.section-gap{margin-top:24px}.back{display:inline-flex;gap:7px;align-items:center;font-size:13px;color:var(--muted);margin-bottom:20px}.caseheader{padding:25px;display:flex;justify-content:space-between;gap:20px}.caseheader h1{font-size:24px}.detailtabs{padding:0 25px}.detailbody{padding:25px;min-height:330px}.milestones{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:25px 0 12px}.mile{font-size:12px;color:#8994a2}.mile span{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#f0f2f5;margin-bottom:10px;color:#8a96a5}.mile.complete span{background:#e5efde;color:#547644}.mile.current span{background:var(--nav);color:#fff}.mile.current{color:var(--ink);font-weight:600}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.fieldlabel{font-size:12px;color:var(--muted);display:block;margin-bottom:8px}.info-grid p{font-size:14px;margin:0}.note{background:#f5f7f9;border-radius:10px;padding:18px;font-size:14px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.nextstep{padding:18px;background:#edf3e7;border-radius:10px;margin-bottom:24px;display:flex;gap:12px;align-items:center;font-size:14px;line-height:1.8}.messages{display:flex;flex-direction:column;gap:24px;margin-bottom:24px}.message{display:flex;gap:12px}.message .bubble{border:1px solid var(--line);background:#fafbfc;border-radius:0 12px 12px 12px;padding:15px 18px;margin-top:9px;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9}.message.mine .bubble{background:#edf2fa;border-color:#e0e8f4}.message .msgbody{min-width:0;flex:1}.message strong{font-size:13px}.message time{font-size:12px;color:var(--muted);margin-left:12px}.composer{border:1px solid #d5dde6;border-radius:12px;padding:15px}.composer textarea{width:100%;border:0;resize:vertical;min-height:80px;outline:0;font-size:14px;line-height:1.8}.composerfooter{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px}.composerfooter small{color:var(--muted);font-size:12px}.file-row{display:flex;gap:13px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}.file-row:last-child{border:0}.file-row .fileinfo{flex:1;min-width:0}.file-row strong{display:block;font-size:14px;overflow-wrap:anywhere}.file-row .filetype{background:#eef2f7;color:#6b7e99;border-radius:8px;padding:12px;font-size:12px;font-weight:700}.uploadzone{padding:28px;text-align:center;border:1px dashed #bdc9d8;background:#fafbfd;border-radius:10px;margin-bottom:20px}.uploadzone p{font-size:13px;color:var(--muted)}.quoteheader{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:25px}.quoteheader strong{font-size:30px}.quoteheader small{font-size:13px;color:var(--muted)}.quotetable{width:100%;border-collapse:collapse;font-size:14px}.quotetable td,.quotetable th{text-align:left;padding:14px 0;border-bottom:1px solid var(--line)}.quotetable td:last-child,.quotetable th:last-child{text-align:right}.terms{font-size:13px;color:var(--muted);line-height:1.9;white-space:pre-wrap;margin:20px 0}.row-actions{display:flex;gap:10px;flex-wrap:wrap}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:19px}.formfield{display:flex;flex-direction:column;gap:8px;font-size:14px}.formfield.full{grid-column:1/-1}.formfield input,.formfield select,.formfield textarea{border:1px solid #cfd7e1;border-radius:8px;background:#fff;color:var(--ink);padding:11px 12px;width:100%;min-width:0}.formfield textarea{min-height:120px;resize:vertical;line-height:1.8}.formfield small{font-size:12px;color:var(--muted)}.check{display:flex;gap:9px;align-items:flex-start;font-size:13px;line-height:1.8;margin:20px 0}.check input{margin-top:5px}.formfoot{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:20px;margin-top:25px}.error{color:#a62b2b;background:#fff0ed;padding:12px;border-radius:8px;font-size:14px;margin:12px 0}.success{background:#edf4e5;padding:15px;border-radius:8px;font-size:14px;line-height:1.8}.loginpage{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.loginbrand{background:var(--nav);color:white;padding:10vh 9vw;display:flex;flex-direction:column;justify-content:center}.loginbrand h1{font-size:44px;line-height:1.5;margin-top:60px}.loginbrand p{color:#bbc8d8}.loginbrand .brand{padding:0}.loginform{padding:10vh 8vw;display:flex;flex-direction:column;justify-content:center;max-width:650px}.loginform h1{margin:25px 0 12px}.loginform .btn{width:100%;margin-top:15px}.loginform p{font-size:14px;color:var(--muted)}dialog{border:0;border-radius:16px;padding:28px;width:min(540px,calc(100vw - 32px));box-shadow:0 20px 80px #18283f40;color:var(--ink)}dialog::backdrop{background:#14243980;backdrop-filter:blur(3px)}dialog .modalhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}dialog p{font-size:14px;color:var(--muted)}#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);z-index:99;background:var(--nav);color:#fff;border-radius:9px;padding:14px 22px;box-shadow:0 8px 24px #18283f30;font-size:14px;display:none;max-width:calc(100% - 32px)}#toast.show{display:block}.mobilemenu{display:none}.notice-row{padding:20px 24px;border-top:1px solid var(--line);display:flex;gap:15px}.notice-row p{margin:6px 0;font-size:14px}.faq details{border-bottom:1px solid var(--line);padding:20px 0}.faq summary{cursor:pointer;font-size:15px;font-weight:500}.faq p{font-size:14px;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.danger-note{font-size:13px;color:#a34637}.admin-tag{color:#c8ddb3;font-size:12px}.money{font-variant-numeric:tabular-nums}.smallcopy{font-size:13px;color:var(--muted);line-height:1.8}.wrap{overflow-wrap:anywhere}.desktop-only{display:inline}.loading{padding:60px;color:var(--muted)}
@media(min-width:1600px){.content{padding-top:40px}.case-row{padding:28px 24px}}
@media(max-width:1200px){.sidebar{width:210px}.shell{margin-left:210px}.content{padding:25px}.topbar{padding:0 25px}.grid{grid-template-columns:minmax(0,1fr) 260px}.stats{gap:12px}.stat{padding:17px}.stat .stat-icon{display:none}.toolbar{flex-wrap:wrap}.search{max-width:100%;flex:1}.case-row{gap:10px;padding:20px}.case-right .meta{max-width:100px}.brand{padding-left:4px}.brand strong{font-size:15px}}
@media(max-width:1000px){.grid{grid-template-columns:1fr}.aside{display:grid;grid-template-columns:1fr 1fr}.hint{grid-column:1/-1}.sidebar{width:190px;padding:25px 12px}.shell{margin-left:190px}.brand strong{font-size:13px}.stats{grid-template-columns:repeat(4,1fr)}.stat{padding:15px}.stat strong{font-size:27px}.topactions{gap:10px}.secure{display:none}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);width:236px;transition:transform .2s;box-shadow:12px 0 50px #18283f25}.sidebar.open{transform:translateX(0)}.shell{margin-left:0}.mobilemenu{display:inline-flex}.topbar{height:66px;padding:0 18px;position:sticky;top:0;z-index:10}.content{padding:22px 18px}.topactions{gap:10px}.crumb{font-size:13px;gap:8px}.desktop-only{display:none}.heading{align-items:flex-start;gap:12px}.heading h1{font-size:24px}.heading>.btn{padding:10px 12px}.sub{font-size:13px}.eyebrow{font-size:11px}.stats{grid-template-columns:1fr 1fr;gap:12px}.stat{padding:16px 18px}.stat .stat-icon{display:grid}.demo{font-size:12px;align-items:flex-start;margin-bottom:22px;line-height:1.7}.demo button{font-size:12px}.panelhead{padding:20px}.toolbar{padding:0 20px 16px}.filters{gap:1px}.filter{padding:7px 9px}.case-row{grid-template-columns:36px minmax(0,1fr);padding:20px 16px}.case-icon{width:35px;height:38px}.case-title{font-size:15px}.case-right{grid-column:2;text-align:left;display:flex;gap:12px;align-items:center;margin-top:0}.case-right .meta{margin:0;max-width:none}.case-row p{margin-top:7px}.aside{display:flex}.footer{flex-direction:column;gap:8px}.caseheader{padding:20px;flex-direction:column;gap:6px}.caseheader h1{font-size:21px}.detailtabs{padding:0 20px}.tabs{gap:24px}.detailbody{padding:20px}.info-grid{grid-template-columns:1fr;gap:18px}.milestones{gap:5px}.mile{font-size:11px}.mile span{width:26px;height:26px}.formgrid{grid-template-columns:1fr}.formfield.full{grid-column:auto}.padded{padding:20px}.quoteheader strong{font-size:26px}.loginpage{grid-template-columns:1fr}.loginbrand{padding:30px 25px}.loginbrand h1{font-size:26px;margin-top:25px}.loginbrand p{margin:0;font-size:13px}.loginform{padding:30px 25px}.file-row{flex-wrap:wrap}.file-row .btn{margin-left:55px}.composerfooter{align-items:flex-end}.composerfooter small{max-width:180px}.message time{display:block;margin:3px 0}.message{gap:9px}.message .avatar{width:30px;height:30px;font-size:12px}.message .bubble{padding:12px}.topactions>.textbtn{font-size:12px}.heading .btn svg{width:16px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.sidebar{overflow-y:auto}.sidebar>.brand,.sidebar>.navlink,.sidebar>.navlabel,.sidebottom{flex-shrink:0}
@media(max-width:760px){.heading{flex-direction:column;gap:16px}.heading>.btn{align-self:flex-start}.toolbar .search{flex-basis:100%;width:100%;max-width:none}.sidebar{visibility:hidden}.sidebar.open{visibility:visible}.quoteheader{flex-wrap:wrap}.quotetable td:last-child{white-space:nowrap;padding-left:12px}}

