:root{--navy:#0b2f5b;--blue:#1769cf;--pale:#eef6ff;--green:#159447;--orange:#d97706;--red:#c93636;--ink:#16263b;--muted:#6e7d90;--line:#dce5ef;--bg:#f3f6fa}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans TC",sans-serif;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}.sidebar{position:fixed;inset:0 auto 0 0;width:236px;background:linear-gradient(180deg,#092b53,#071f3d);color:#fff;padding:22px 14px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;font-weight:800;font-size:17px;padding:0 10px 22px}.brand>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#fff;color:var(--navy)}.brand small{display:block;font-size:11px;font-weight:500;opacity:.7;margin-top:2px}.sidebar nav{display:grid;gap:6px}.sidebar nav button{border:0;background:transparent;color:#d7e7fa;text-align:left;padding:12px 14px;border-radius:9px}.sidebar nav button.active,.sidebar nav button:hover{background:#1769cf;color:#fff}.master-links{margin-top:auto;border-top:1px solid #ffffff26;padding:16px 10px;display:grid;gap:7px}.master-links small{opacity:.55}.master-links a{color:#cfe2f8;text-decoration:none;font-size:13px}main{margin-left:236px;min-height:100vh}header{height:86px;background:#fff;border-bottom:1px solid var(--line);padding:16px 26px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:10}h1,h2,h3,p{margin:0}header h1{font-size:22px}header p,.card-title p{font-size:13px;color:var(--muted);margin-top:5px}.persona{display:flex;align-items:flex-end;gap:8px}.persona label{font-size:11px;color:var(--muted);display:grid;gap:4px}.persona select,.persona input{border:1px solid var(--line);border-radius:8px;padding:9px;background:#fff}.persona input{width:110px}.uat-banner{margin:18px 24px 0;background:#fff8e9;border:1px solid #f3cf84;color:#815400;border-radius:10px;padding:10px 14px;font-size:13px}.uat-banner b{margin-right:10px}.page{display:none;padding:18px 24px 34px}.page.active{display:block}.hero{background:linear-gradient(120deg,#0a3567,#1673dc);color:#fff;border-radius:18px;padding:28px 30px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 14px 35px #0b4f9829}.hero span{font-size:12px;letter-spacing:.13em;opacity:.7}.hero h2{font-size:26px;margin:7px 0}.hero p{opacity:.82}.primary{background:var(--blue)!important;color:#fff!important;border-color:var(--blue)!important}.hero button{padding:13px 18px;border-radius:10px;border:1px solid #ffffff66;background:#fff;color:var(--navy);font-weight:700}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:16px 0}.metric,.card{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 4px 16px #25405e0a}.metric{padding:17px}.metric small{color:var(--muted)}.metric strong{font-size:27px;display:block;margin:7px 0}.metric span{font-size:12px;color:var(--muted)}.grid-two{display:grid;grid-template-columns:1.2fr 1fr;gap:14px;margin-bottom:14px}.card{padding:18px}.card-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.card-title h3{font-size:17px}.card-title button,.link{border:0;background:transparent;color:var(--blue)}.pill,.status{display:inline-block;border-radius:99px;padding:4px 9px;font-size:12px;background:#eef3f8;color:#526479}.pill.green,.status.paid,.status.approved{background:#e8f8ee;color:#147a3d}.status.in_review,.status.payment_prepared{background:#e7f1ff;color:#155eae}.status.returned{background:#fff1de;color:#9a5a00}.status.rejected{background:#ffebeb;color:#aa3030}.workflow{list-style:none;padding:0;margin:0;display:grid;gap:8px}.workflow li{display:flex;align-items:center;gap:9px;padding:8px;border-radius:9px;background:#f7f9fc}.workflow b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#dbeafe;color:#1b61b1}.queue-empty,.empty{padding:28px;text-align:center;color:var(--muted);background:#f8fafc;border-radius:10px}.queue-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.queue-item:last-child{border:0}.queue-item small{color:var(--muted)}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:#65758a;background:#f6f8fb;padding:11px 10px;white-space:nowrap}td{padding:11px 10px;border-bottom:1px solid #edf1f5;white-space:nowrap}td.wrap{white-space:normal}.filters{display:flex;gap:10px;margin-bottom:13px}.filters input,.filters select{padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.filters input{min-width:310px}.icon-btn{border:1px solid #bcd0e5;background:#fff;color:var(--blue);padding:6px 9px;border-radius:7px}.approval-list{display:grid;gap:12px}.approval-card{border:1px solid var(--line);border-radius:12px;padding:15px;display:flex;justify-content:space-between;align-items:center}.approval-card p{color:var(--muted);font-size:13px;margin-top:5px}.approval-card strong{font-size:18px}.decision-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.decision{border:1px solid #f0d99f;background:#fffbf1;border-radius:12px;padding:16px}.decision h4{margin:0 0 7px}.decision p{font-size:13px;color:#725f39;line-height:1.5}.decision small{display:inline-block;margin-top:10px;color:#996400}.danger{background:#fff!important;border-color:#e2a1a1!important;color:var(--red)!important}dialog{border:0;padding:0;border-radius:16px;box-shadow:0 30px 90px #0c254550;width:min(900px,94vw);max-height:92vh}dialog::backdrop{background:#07182b99}.dialog-head{padding:18px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.dialog-head h2{font-size:20px}.eyebrow{font-size:11px;color:var(--blue);font-weight:800;letter-spacing:.12em}.close{border:0;background:#eef2f6;border-radius:50%;font-size:22px;width:34px;height:34px}.form-scroll{max-height:68vh;overflow:auto;padding:18px 22px}fieldset{border:1px solid var(--line);border-radius:12px;margin:0 0 14px;padding:15px}legend{font-weight:750;color:var(--navy);padding:0 7px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.form-grid label,.allocation-row label,.action-body label,.attachment-area label{display:grid;gap:5px;font-size:12px;color:#536579}.form-grid input,.form-grid select,.form-grid textarea,.allocation-row input,.action-body textarea,.attachment-area input{border:1px solid #cdd9e6;border-radius:8px;padding:10px;background:#fff;color:var(--ink)}.form-grid textarea,.action-body textarea{min-height:76px;resize:vertical}.wide{grid-column:1/-1}.allocation-row{display:grid;grid-template-columns:2fr 1fr;gap:12px}.attachment-area,.hint{margin-top:12px;padding:12px;background:#f6f9fc;border-radius:9px}.hint{color:var(--muted);font-size:13px}.attachment-link{display:flex;justify-content:space-between;margin-top:8px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:7px}.hidden{display:none!important}.error{margin-top:10px;padding:10px;background:#ffeded;color:#a73030;border-radius:8px;font-size:13px}.dialog-actions{padding:14px 22px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:9px}.dialog-actions button{border:1px solid #cbd8e5;background:#fff;padding:9px 15px;border-radius:8px}.action-body{padding:20px}.action-body p{margin-bottom:14px}.toast{position:fixed;right:24px;bottom:24px;background:#102b4b;color:#fff;padding:12px 16px;border-radius:10px;box-shadow:0 10px 30px #0003;z-index:100}.amount{font-variant-numeric:tabular-nums;font-weight:700}@media(max-width:900px){.sidebar{position:static;width:auto}.sidebar nav{display:flex;overflow:auto}.sidebar nav button{white-space:nowrap}.master-links{display:none}main{margin:0}header{position:static;height:auto;align-items:flex-start;gap:12px}.persona{flex-wrap:wrap}.metrics{grid-template-columns:repeat(2,1fr)}.grid-two,.decision-list{grid-template-columns:1fr}.page{padding:14px}.uat-banner{margin:14px}.hero{align-items:flex-start;gap:20px}.hero h2{font-size:21px}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}}@media(max-width:560px){header{display:grid}.metrics{grid-template-columns:1fr}.hero{display:grid}.filters{display:grid}.filters input{min-width:0}.approval-card{align-items:flex-start;gap:10px}.allocation-row{grid-template-columns:1fr}}
