:root{color:#1d3447;background:#f4f7f8;font-family:Inter,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}body{background:#f4f7f8;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #7dd3c7}.primary,.complete-button{color:#fff;background:#087f79;border:0;border-radius:6px;padding:10px 18px;font-weight:700}.brand{align-items:center;gap:11px;display:flex}.brand>span{color:#fff;background:#087f79;border-radius:6px;place-items:center;width:42px;height:42px;font-size:20px;font-weight:800;display:grid}.brand strong,.brand small{display:block}.brand small{color:#8494a2;margin-top:3px;font-size:11px}.login-page{grid-template-columns:minmax(430px,46%) 1fr;min-height:100vh;display:grid}.login-panel{background:#fff;flex-direction:column;padding:7vh 7vw;display:flex}.login-panel form{gap:18px;width:min(410px,100%);margin:auto;display:grid}.login-heading small,.page-title>div>small,.task-modal header small,.settings-modal header small{color:#087f79;font-size:11px;font-weight:800}.login-heading h1{margin:8px 0;font-size:36px}.login-heading p{color:#71808e;margin:0;line-height:1.7}.login-panel label,.settings-modal label{gap:7px;font-size:13px;font-weight:700;display:grid}.login-panel input,.settings-modal input{color:#1d3447;background:#fff;border:1px solid #d3dde3;border-radius:6px;height:46px;padding:0 13px}.login-submit{height:46px}.form-error{color:#b6424e;margin:0;font-size:13px}.login-context{color:#fff;background:#133f46;justify-content:center;align-items:center;gap:40px;padding:8vw;display:flex}.context-mark{color:#9bd6ce;border:1px solid #77bab1;place-items:center;width:104px;height:104px;font-size:30px;font-weight:800;display:grid}.login-context small{color:#9bd6ce;font-weight:700}.login-context h2{margin:14px 0 32px;font-size:38px;line-height:1.35}.login-context dl{gap:14px;margin:0;display:grid}.login-context dl>div{border-top:1px solid #ffffff2d;grid-template-columns:100px 1fr;gap:20px;padding-top:14px;display:grid}.login-context dt{color:#fff;font-weight:700}.login-context dd{color:#b8cccf;margin:0}.finance-app{min-height:100vh}.session-loading{background:#f4f7f8;align-content:center;place-items:center;gap:24px;min-height:100vh;display:grid}.session-loading-line{background:#dce8e8;border-radius:2px;width:220px;height:3px;overflow:hidden}.session-loading-line:after{content:"";background:#087f79;width:45%;height:100%;animation:1s ease-in-out infinite alternate session-loading;display:block}@keyframes session-loading{0%{transform:translate(0)}to{transform:translate(122%)}}.app-header{z-index:20;background:#fff;border-bottom:1px solid #dde5e9;align-items:center;height:70px;padding:0 max(24px,50vw - 690px);display:flex;position:sticky;top:0}.brand.compact{min-width:270px}.brand.compact>span{width:36px;height:36px;font-size:17px}.app-header nav{align-items:center;gap:28px;display:flex;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.app-header nav button{color:#6f7f8f;background:0 0;border:0;padding:0 4px;font-weight:700;position:relative}.app-header nav button.active{color:#173849}.app-header nav button.active:after{content:"";background:#087f79;height:3px;position:absolute;bottom:0;left:0;right:0}.app-header nav b{color:#087f79;background:#e5f4f1;border-radius:10px;margin-left:7px;padding:2px 7px;font-size:10px}.account-wrap{margin-left:auto;position:relative}.account-button{color:#31495c;background:0 0;border:0;align-items:center;gap:9px;display:flex}.account-button>span{color:#087f79;background:#e1f1ef;border-radius:50%;place-items:center;width:35px;height:35px;font-weight:800;display:grid}.account-button div{text-align:left}.account-button strong,.account-button small{display:block}.account-button small{color:#84929e;margin-top:2px;font-size:10px}.account-button svg{width:15px}.account-menu{background:#fff;border:1px solid #d8e2e7;border-radius:7px;width:184px;padding:7px;position:absolute;top:51px;right:0;box-shadow:0 15px 35px #1634431c}.account-menu button{color:#40576a;text-align:left;background:0 0;border:0;align-items:center;gap:9px;width:100%;padding:10px;display:flex}.account-menu button:hover{background:#f1f6f6}.account-menu svg{width:16px}.page-shell{max-width:1380px;margin:0 auto;padding:30px 28px 60px}.page-title{justify-content:space-between;align-items:end;gap:20px;display:flex}.page-title h1{margin:7px 0;font-size:29px}.page-title p{color:#738391;margin:0}.connected{color:#71818e;white-space:nowrap;font-size:12px}.connected i{background:#0c9b78;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.metric-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:24px 0;display:grid}.metric-row.three{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-row article,.work-panel{background:#fff;border:1px solid #dfe7eb;border-radius:8px}.metric-row article{min-height:124px;padding:18px}.metric-row span,.metric-row small{color:#71818f;font-size:12px;display:block}.metric-row strong{color:#173849;margin:10px 0;font-size:25px;display:block}.work-panel{padding:20px}.panel-heading{justify-content:space-between;align-items:start;gap:18px;margin-bottom:16px;display:flex}.panel-heading h2{margin:0 0 5px;font-size:17px}.panel-heading p{color:#7d8d99;margin:0;font-size:12px}.panel-heading>span{color:#087f79;white-space:nowrap;background:#eaf5f3;border-radius:12px;padding:5px 9px;font-size:11px}.task-toolbar{align-items:center}.task-panel,.funds-records{padding-top:0;overflow:hidden}.record-tabs{border-bottom:1px solid #e3eaed;align-items:stretch;gap:26px;min-height:58px;margin:0 -20px 18px;padding:0 20px;display:flex}.record-tabs button{color:#71818f;background:0 0;border:0;align-items:center;gap:8px;font-weight:700;display:flex;position:relative}.record-tabs button.active{color:#173849}.record-tabs button.active:after{content:"";background:#087f79;height:3px;position:absolute;bottom:-1px;left:0;right:0}.record-tabs button span{color:#687b88;text-align:center;background:#edf3f4;border-radius:10px;min-width:21px;padding:2px 6px;font-size:10px}.record-tabs button.active span{color:#087f79;background:#e3f3f0}.filters{gap:8px;display:flex}.filters label{background:#fff;border:1px solid #d5dfe4;border-radius:6px;align-items:center;gap:7px;height:38px;padding:0 10px;display:flex}.filters label:focus-within{border-color:#087f79}.filters svg{color:#78909a;width:16px}.filters input{color:#263f50;border:0;outline:0;width:220px}.filters select{color:#40576a;background:#fff;border:1px solid #d5dfe4;border-radius:6px;height:38px;padding:0 30px 0 10px}.task-list{overflow-x:auto}.task-head,.task-item{grid-template-columns:1.28fr 1.15fr .8fr .72fr .62fr .92fr .92fr .62fr;align-items:center;gap:14px;min-width:1220px;display:grid}.task-head{color:#6e7e8b;background:#f3f6f7;padding:11px 13px;font-size:11px}.task-item{border-bottom:1px solid #e8eef1;margin:0;padding:15px 13px;font-size:12px}.task-item strong,.task-item small{display:block}.task-item small{color:#86949f;margin-top:4px}.task-item em{color:#7b8b98;font-style:normal;display:none}.money{color:#203f52;font-weight:800}.task-status{white-space:nowrap;border-radius:12px;width:fit-content;padding:5px 9px;font-size:11px;font-weight:700;display:inline-flex}.task-status.pending{color:#966213;background:#fff2dc}.task-status.done{color:#08745f;background:#e6f5ef}.task-status.attention{color:#aa404b;background:#fae7e9}.outline{color:#087f79;background:#fff;border:1px solid #087f79;border-radius:6px;padding:8px 10px;font-weight:700}.outline:hover{background:#eef8f6}.empty{color:#81909c;text-align:center;padding:48px 20px}.empty svg,.empty strong,.empty span{margin:8px auto;display:block}.empty svg{color:#087f79;width:31px}.fund-grid{grid-template-columns:1.05fr .95fr;gap:16px;display:grid}.fund-record-filter{background:#f6f8f9;border:1px solid #e3eaed;border-radius:7px;justify-content:space-between;align-items:center;gap:18px;margin:0 0 16px;padding:12px 14px;display:flex}.fund-status-filter,.fund-filter-tools{align-items:center;gap:6px;display:flex}.fund-record-filter button{color:#617583;white-space:nowrap;background:#fff;border:1px solid #d8e1e5;border-radius:5px;height:36px;padding:0 12px}.fund-record-filter button.active{color:#087f79;background:#e8f6f3;border-color:#8bcfc5;font-weight:700}.fund-search{background:#fff;border:1px solid #d8e1e5;border-radius:5px;align-items:center;gap:7px;width:230px;height:36px;padding:0 10px;display:flex}.fund-search:focus-within,.filter-dates:focus-within{border-color:#087f79;box-shadow:0 0 0 2px #087f7914}.fund-search svg{color:#778a96;flex:none;width:16px}.fund-search input{width:100%;min-width:0}.fund-record-filter input{color:#294456;background:0 0;border:0;outline:0}.filter-dates{background:#fff;border:1px solid #d8e1e5;border-radius:5px;align-items:center;gap:6px;height:36px;padding:0 8px;display:flex}.filter-dates input{width:125px}.filter-dates i{color:#87949d;font-size:11px;font-style:normal}.fund-record-filter .fund-filter-reset{color:#6d808c;align-items:center;gap:6px;display:inline-flex}.fund-filter-reset svg{width:15px}.finance-table{overflow-x:auto}.finance-table-head,.finance-table article{grid-template-columns:.75fr .7fr 1.25fr 1fr .65fr 1fr;align-items:center;gap:14px;min-width:1050px;display:grid}.finance-table-head{color:#6e7e8b;background:#f3f6f7;padding:11px 13px;font-size:11px}.finance-table article{color:#40576a;border-bottom:1px solid #e8eef1;min-height:74px;padding:11px 13px;font-size:12px}.finance-table article small{color:#8996a0;text-overflow:ellipsis;white-space:nowrap;max-width:230px;margin-top:5px;display:block;overflow:hidden}.proof-thumbnail{background:#fff;border:1px solid #dce4e8;border-radius:5px;width:48px;height:48px;padding:0;overflow:hidden}.proof-thumbnail img{object-fit:cover;width:100%;height:100%}.proof-preview-backdrop{z-index:80;background:#102a3899;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.proof-preview-backdrop>div{background:#fff;border-radius:8px;max-width:min(900px,94vw);max-height:92vh;padding:16px;position:relative}.proof-preview-backdrop img{object-fit:contain;max-width:100%;max-height:80vh;display:block}.proof-preview-backdrop button{color:#fff;background:#173849;border:0;border-radius:50%;width:34px;height:34px;font-size:23px;position:absolute;top:20px;right:20px}.proof-preview-backdrop p{color:#6f7f8c;margin:10px 0 0;font-size:12px}.finance-table .status{border-radius:12px;padding:5px 8px;font-size:11px;display:inline-flex}.review-actions{justify-content:flex-end;gap:7px;display:flex}.review-actions button{background:#fff;border:1px solid #d5dfe4;border-radius:5px;min-height:34px;padding:6px 10px}.review-actions .primary{background:#087f79;border-color:#087f79}.ledger-table .plus{color:#08745f}.ledger-table .minus{color:#b14651}.recharge-list{gap:10px;display:grid}.recharge-list article{border:1px solid #e1e8ec;border-radius:7px;grid-template-columns:62px 1fr auto;align-items:center;gap:12px;padding:12px;display:grid}.recharge-list img{object-fit:cover;background:#edf2f4;border-radius:5px;width:62px;height:62px}.recharge-list strong,.recharge-list span,.recharge-list small{display:block}.recharge-list small{color:#82909c;word-break:break-word;margin-top:5px}.recharge-list .status{border-radius:12px;padding:5px 8px;font-size:11px}.status.pending{color:#986414;background:#fff1da}.status.approved{color:#08745f;background:#e5f4ef}.status.rejected{color:#ab404b;background:#f9e8e9}.recharge-list footer{grid-column:2/4;justify-content:flex-end;gap:8px;display:flex}.recharge-list footer button{background:#fff;border:1px solid #d5dfe4;border-radius:5px;padding:7px 12px}.ledger-list>div{border-bottom:1px solid #e8eef1;justify-content:space-between;gap:16px;padding:13px 0;display:flex}.ledger-list strong,.ledger-list small,.ledger-list em{display:block}.ledger-list small{color:#82909c;margin-top:4px}.ledger-list em{color:#607786;margin-top:5px;font-size:11px;font-style:normal}.ledger-list b{text-align:right;white-space:nowrap}.ledger-list .plus{color:#08745f}.ledger-list .minus{color:#b14651}.error-banner{color:#aa3945;background:#fff0f0;border:1px solid #edcccc;border-radius:6px;margin-bottom:15px;padding:11px 14px}.error-banner button{float:right;color:inherit;background:0 0;border:0}.modal-backdrop{z-index:50;background:#132d3b99;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow-y:auto}.task-modal,.settings-modal{background:#fff;border-radius:8px;box-shadow:0 30px 70px #132d3b38}.task-modal{width:min(1180px,100%);max-height:92vh;overflow:auto}.task-modal>header,.settings-modal>header{border-bottom:1px solid #e3eaed;justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.task-modal h2,.settings-modal h2{margin:5px 0 0}.task-modal header button,.settings-modal header button{background:0 0;border:0;place-items:center;width:36px;height:36px;display:grid}.task-modal-header{min-height:94px}.task-modal-header>div{grid-template-columns:auto 1fr;align-items:center;gap:5px 10px;display:grid}.task-modal-header h2{margin:0;font-size:21px}.task-modal-header p{color:#7b8995;grid-column:2;margin:0;font-size:12px}.task-modal-header .task-status{grid-row:1/3}.task-modal-grid{grid-template-columns:1.05fr .95fr;min-height:580px;display:grid}.invoice-details,.upload-side{padding:22px}.invoice-details{border-right:1px solid #e3eaed}.details-heading{justify-content:space-between;align-items:start;gap:12px;margin-bottom:16px;display:flex}.details-heading h3,.upload-side h3{margin:0 0 5px}.details-heading p,.upload-side p{color:#7d8c98;margin:0;font-size:12px}.task-info-list{border-top:1px solid #e6ecef;grid-template-columns:1fr 1fr;margin:0;display:grid}.task-info-list>div{border-bottom:1px solid #e6ecef;align-content:center;gap:5px;min-height:68px;padding:11px 8px;display:grid}.task-info-list>div:nth-child(odd){border-right:1px solid #e6ecef;padding-right:18px}.task-info-list>div:nth-child(2n){padding-left:18px}.task-info-list dt{color:#718391;font-size:11px}.task-info-list dd{color:#1d3447;overflow-wrap:anywhere;margin:0;font-weight:700}.task-info-list dd button,.task-remark button{width:100%;color:inherit;text-align:left;font:inherit;cursor:copy;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;padding:0;display:flex}.task-info-list dd button:disabled{cursor:default}.task-info-list dd button svg,.task-remark button svg{opacity:0;color:#087f79;flex:none;width:14px;height:14px;transition:opacity .15s}.task-info-list dd button:hover svg,.task-info-list dd button:focus-visible svg,.task-remark button:hover svg,.task-remark button:focus-visible svg{opacity:1}.task-remark{background:#f3f6f7;border-radius:6px;margin-top:14px;padding:12px 14px}.task-remark span{color:#718391;font-size:11px}.task-remark button{overflow-wrap:anywhere;margin-top:5px;line-height:1.6}.copy-feedback{z-index:2;color:#fff;background:#173849;border-radius:5px;width:max-content;margin:10px auto -38px;padding:8px 12px;font-size:11px;display:block;position:sticky;bottom:12px;box-shadow:0 8px 20px #17384933}.settlement-summary{background:#f3f9f8;border:1px solid #cfe5e1;border-left:3px solid #087f79;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:18px;margin-top:16px;padding:14px 16px;display:grid}.settlement-summary span{color:#456a70;font-size:12px;font-weight:700}.settlement-summary strong{color:#173849;grid-area:1/2/3;font-size:22px}.settlement-summary small{color:#75868f;margin-top:4px}.upload-side{flex-direction:column;display:flex}.completed-result{text-align:center;flex:1;align-content:center;place-items:center;display:grid}.completed-result>span{color:#08745f;background:#e4f5ef;border-radius:50%;place-items:center;width:58px;height:58px;display:grid}.completed-result>span svg{width:27px;height:27px}.completed-result>strong{margin-top:16px;font-size:21px}.completed-result>p{color:#7a8995;margin:7px 0 22px}.completed-result dl{border-top:1px solid #e4eaed;width:min(360px,100%);margin:0 0 24px}.completed-result dl>div{text-align:left;border-bottom:1px solid #e4eaed;justify-content:space-between;gap:20px;padding:12px 4px;display:flex}.completed-result dt{color:#74838f}.completed-result dd{color:#233e4f;text-align:right;margin:0;font-weight:700}.completed-result .complete-button{width:min(360px,100%)}.upload-zone,.file-preview{border-radius:7px;flex:1;min-height:330px;margin:18px 0}.upload-zone{color:#687e8b;background:#f7fbfa;border:1px dashed #8daaad;flex-direction:column;justify-content:center;align-items:center;display:flex}.upload-zone svg{color:#087f79;width:38px;height:38px;margin-bottom:12px}.upload-zone span{margin-top:7px;font-size:12px}.file-preview{border:1px solid #dbe4e8;flex-direction:column;align-items:center;padding:12px;display:flex}.file-preview img{object-fit:contain;background:#f1f4f5;width:100%;height:280px}.file-preview>span{word-break:break-all;margin:10px}.file-preview button{color:#087f79;background:0 0;border:0}.pdf-preview{align-content:center;place-items:center;gap:10px;height:280px;display:grid}.pdf-preview svg{color:#087f79;width:50px;height:50px}.complete-button{width:100%;min-height:46px}.completion-confirm-backdrop{z-index:70;background:#132d3b80;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.completion-confirm-dialog{text-align:center;background:#fff;border-radius:8px;justify-items:center;width:min(420px,100%);padding:28px;display:grid;box-shadow:0 24px 60px #132d3b52}.completion-confirm-icon{color:#a66a12;background:#fff3dc;border-radius:50%;place-items:center;width:48px;height:48px;display:grid}.completion-confirm-icon svg{width:23px;height:23px}.completion-confirm-dialog h3{margin:15px 0 0;font-size:20px}.completion-confirm-dialog footer{grid-template-columns:1fr 1fr;gap:10px;width:100%;margin-top:24px;display:grid}.completion-confirm-dialog footer button{border-radius:6px;min-height:43px;padding:9px 14px;font-weight:700}.confirmation-secondary{color:#425d6e;background:#fff;border:1px solid #cfdadf}.confirmation-primary{color:#fff;background:#087f79;border:1px solid #087f79}.confirmation-primary:hover{background:#066c67}.settings-modal{gap:15px;width:min(480px,100%);padding-bottom:20px;display:grid}.settings-modal>label,.settings-modal>.divider,.settings-modal>footer{margin:0 22px}.settings-modal .divider{color:#70818f;border-top:1px solid #e3eaed;padding-top:15px;font-size:12px}.settings-modal footer{justify-content:flex-end;gap:9px;display:flex}.settings-modal footer button{background:#fff;border:1px solid #d4dee3;border-radius:6px;padding:9px 16px}.toast{z-index:100;color:#fff;background:#173f43;border-radius:7px;align-items:center;gap:9px;max-width:min(420px,100vw - 32px);padding:13px 17px;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 10px 30px #16333f35}.toast svg{width:17px}@media (max-width:980px){.login-page{grid-template-columns:1fr}.login-context{display:none}.app-header{padding:0 14px}.brand.compact{min-width:auto}.brand.compact div{display:none}.app-header nav{gap:12px}.account-button div{display:none}.page-shell{padding:24px 14px 48px}.metric-row,.metric-row.three{grid-template-columns:repeat(2,minmax(0,1fr))}.task-toolbar{flex-direction:column;align-items:flex-start}.filters{width:100%}.filters label{flex:1}.filters input{width:100%;min-width:0}.task-head{display:none}.task-item{grid-template-columns:1fr 1fr 1fr;min-width:0}.task-item .outline{justify-self:end}.fund-grid,.task-modal-grid{grid-template-columns:1fr}.fund-record-filter{flex-direction:column;align-items:stretch}.fund-filter-tools{flex-wrap:wrap}.invoice-details{border-bottom:1px solid #e3eaed;border-right:0}}@media (max-width:620px){.login-panel{min-height:100vh;padding:28px 22px}.login-heading h1{font-size:30px}.app-header{flex-wrap:wrap;height:auto;min-height:68px;padding-top:8px}.app-header nav{order:3;justify-content:center;width:100%;height:44px;margin-left:0;position:static;transform:none}.app-header nav button{flex:1}.page-title{align-items:flex-start}.page-title h1{font-size:25px}.page-title .connected{display:none}.metric-row,.metric-row.three{grid-template-columns:1fr 1fr;gap:9px}.metric-row article{min-height:112px;padding:14px}.metric-row strong{font-size:21px}.work-panel{padding:14px}.filters{grid-template-columns:1fr;display:grid}.task-item{grid-template-columns:1fr 1fr;gap:12px;padding:15px 5px}.task-item em{margin-bottom:4px;display:block}.task-item .outline{place-self:end stretch;width:100%}.recharge-list article{grid-template-columns:52px 1fr}.recharge-list img{width:52px;height:52px}.recharge-list .status{grid-column:2;justify-self:start}.recharge-list footer{grid-column:1/3}.modal-backdrop{place-items:end center;padding:0}.task-modal,.settings-modal{border-radius:8px 8px 0 0;width:100%;max-height:96vh}.task-modal-grid{min-height:0}.invoice-details,.upload-side{padding:16px}.task-info-list{grid-template-columns:1fr}.task-info-list>div:nth-child(odd){border-right:0;padding-right:8px}.task-info-list>div:nth-child(2n){padding-left:8px}.settlement-summary{grid-template-columns:1fr}.settlement-summary strong{grid-area:auto;margin-top:6px}.upload-zone,.file-preview{min-height:260px}.file-preview img,.pdf-preview{height:220px}.ledger-list>div{align-items:start}.fund-status-filter{overflow-x:auto}.fund-filter-tools{grid-template-columns:1fr auto;display:grid}.fund-search,.filter-dates{width:100%}.fund-search{grid-column:1/-1}.filter-dates input{width:100%;min-width:0}.toast{bottom:16px;left:16px;right:16px}}
