/* 0004 */
:root{font-family:system-ui,-apple-system,"Noto Sans TC",sans-serif;color:#17212c;background:#f5f7f8;font-size:15px}
*{box-sizing:border-box}
body{margin:0}
a{color:#126c72;text-decoration:none}
button,input{font:inherit}
button{cursor:pointer}
.topbar{background:#fff;border-bottom:1px solid #dce2e5}
.topbar-inner{max-width:1180px;margin:auto;min-height:62px;display:flex;align-items:center;gap:30px;padding:0 22px}
.brand{font-weight:750;color:#123439;font-size:18px;white-space:nowrap}
nav{display:flex;align-self:stretch;gap:4px}
nav a{display:flex;align-items:center;padding:0 13px;color:#586571;border-bottom:3px solid transparent;white-space:nowrap}
nav a.active{color:#126c72;border-bottom-color:#159198;font-weight:700}
.logout-form{margin-left:auto}
.container{max-width:1180px;margin:0 auto;padding:24px 22px 72px}
.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:4px 0 22px}
h1{font-size:25px;line-height:1.25;margin:0;font-weight:760}
h2{font-size:17px;margin:0 0 16px;font-weight:730}
.subtle,.muted{color:#6a7780}
.upload-band{border-top:1px solid #dce2e5;border-bottom:1px solid #dce2e5;background:#fff;padding:17px 0;margin-bottom:22px}
.upload-form{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.upload-form label{font-weight:700;white-space:nowrap}
input[type=file]{min-width:240px;max-width:100%}
input:not([type=file]):not([type=checkbox]),select{background:#fff;border:1px solid #b8c4ca;border-radius:5px;padding:9px 10px;min-height:40px;color:#18232b}
input:focus,button:focus-visible,a:focus-visible{outline:2px solid #16878e;outline-offset:2px}
button{background:#fff;border:1px solid #aebdc3;border-radius:5px;color:#243740;padding:9px 15px;min-height:40px;font-weight:650}
button:hover{background:#eef4f4}
button.primary{background:#087b82;border-color:#087b82;color:#fff}
button.primary:hover{background:#096870}
button.danger{color:#a83131;border-color:#d8adad}
button.quiet{border:0;background:transparent;color:#56636a;padding:7px}
button.small-button{min-height:32px;padding:5px 10px;color:#075e66;border-color:#81adb1}
.tabs{display:flex;gap:24px;border-bottom:1px solid #d2dcdf;margin:0 0 16px;overflow:auto}
.tabs a{padding:0 1px 11px;color:#65717a;white-space:nowrap;border-bottom:2px solid transparent}
.tabs a.active{border-bottom-color:#09878e;color:#095f66;font-weight:720}
.table-wrap{overflow-x:auto;background:#fff;border:1px solid #dce3e6;border-radius:5px}
table{width:100%;border-collapse:collapse;min-width:650px}
th,td{padding:12px 13px;text-align:left;border-bottom:1px solid #ebeff1;vertical-align:middle}
th{color:#596974;background:#f8fafb;font-size:12px;font-weight:750}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover{background:#fbfcfc}
.right{text-align:right}
.amount{font-weight:750;color:#146363}
.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.break{overflow-wrap:anywhere}
.status{display:inline-block;padding:4px 7px;border-radius:4px;font-size:12px;font-weight:730;white-space:nowrap}
.status-pending,.status-sending,.status-posting{color:#8b5a0b;background:#fff0cb}
.status-posted,.status-sent{color:#116c4d;background:#dff4e8}
.status-existing{color:#17624e;background:#d9f0e5}
.status-ignored,.status-skipped{color:#596671;background:#eaf0f3}
.status-failed{color:#9a3030;background:#fde9e8}
.empty{text-align:center;color:#738088;padding:32px}
.empty-inline{color:#6e7d85;margin:0}
.text-link{font-weight:700}
.notice{padding:12px 14px;margin:0 0 18px;border-radius:5px}
.notice.success{background:#e5f5ea;color:#176445;border:1px solid #b6dfc2}
.notice.error{background:#fff0ef;color:#962d2b;border:1px solid #e9c2c0}
.back{display:inline-block;margin-bottom:8px;font-size:13px}
.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;background:#fff;border-top:1px solid #dce3e6;border-bottom:1px solid #dce3e6;margin:0 0 25px}
.summary-grid>div{padding:18px 16px;border-right:1px solid #edf0f1;min-width:0}
.summary-grid>div:last-child{border-right:0}
.summary-grid span{display:block;color:#6c7781;font-size:12px;margin-bottom:7px}
.summary-grid strong{font-size:16px}
.section{padding:24px 0;border-top:1px solid #dce3e6}
.section:first-of-type{border-top:0}
.account-row,.linked-person{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:11px 0;border-bottom:1px solid #e6ecee}
.account-row small,.status+small{display:block;margin-top:5px;color:#65747d;white-space:pre-line}
.account-people{display:flex;gap:6px;flex-wrap:wrap}
.account-people span{background:#eaf3f3;color:#155b60;border-radius:3px;padding:4px 6px;font-size:12px}
.transactions-table{min-width:980px}
.transaction-person+.transaction-person{margin-top:3px}
.batch-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:14px}
.quality{font-size:11px;background:#e5eaed;padding:3px 5px;color:#56636b;border-radius:3px}
.warning-band{background:#fff8e8;border-left:4px solid #e0a641;padding:16px 20px;margin-bottom:22px}
.warning-band p{margin:0 0 14px;color:#785b25}
.warning-band .table-wrap{border-color:#edd7a8}
.bill-list{font-size:12px;color:#607078}
.bill-list div+div{margin-top:4px}
td input[type=number]{width:145px}
td input[type=month]{width:160px}
.checkline{display:flex;align-items:flex-start;gap:8px;margin-top:16px;font-weight:650;color:#67451f}
.checkline input{margin-top:3px}
.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}
.search-form{display:flex;gap:9px;margin:0 0 16px;max-width:540px}
.search-form input{flex:1;min-width:0}
.account-add-form{display:grid;grid-template-columns:minmax(190px,1.3fr) minmax(190px,1.3fr) minmax(130px,.7fr) auto;align-items:end;gap:12px}
.account-add-form label{font-size:13px;font-weight:650;color:#52636c}
.account-add-form input,.account-add-form select{display:block;width:100%;margin-top:6px}
.review-row label{display:block;max-width:560px;font-weight:650}
.review-row input{display:block;width:100%;margin-top:7px}
.login-panel{width:min(100%,380px);margin:12vh auto 0;background:#fff;border:1px solid #dce3e6;border-radius:6px;padding:30px}
.login-panel h1{margin-bottom:26px}
.login-panel label{display:block;font-weight:650;margin-bottom:17px}
.login-panel input{display:block;width:100%;margin-top:7px}
.login-panel button{width:100%;margin-top:4px}
@media(max-width:760px){.topbar-inner{padding:0 14px;gap:12px;flex-wrap:wrap}.brand{font-size:16px}nav{order:3;width:100%;overflow:auto}nav a{min-height:44px;padding:0 11px}.logout-form{margin-left:auto}.container{padding:20px 14px 60px}.page-heading{align-items:flex-start}h1{font-size:22px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-grid>div:nth-child(2){border-right:0}.summary-grid>div:nth-child(-n+2){border-bottom:1px solid #edf0f1}.account-row,.linked-person{align-items:flex-start;flex-direction:column}.upload-form{align-items:stretch}.upload-form input,.upload-form button{width:100%}.account-add-form{grid-template-columns:1fr}}
