.prepayment-page{border:1px solid #d9e4f0;border-radius:4px;overflow:hidden;box-shadow:none;font-size:12px;color:#40566e}
.prepayment-heading{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #e2eaf2;background:#fff}
.prepayment-heading>div{display:flex;align-items:center;gap:14px}.prepayment-heading h1{font-size:18px;margin:0;color:#315e91}.prepayment-heading span{color:#8393a5;font-size:12px}
.prepayment-filter{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px 8px;padding:14px 16px;background:#fff}
.prepayment-filter label{gap:4px;min-width:0;color:#62768d;font-size:11px}.prepayment-filter input,.prepayment-filter select{width:100%;min-width:0;height:30px;padding:3px 7px;border:1px solid #a7c3e5;border-radius:3px;font-size:12px;background:#fff;color:#344f6b}.prepayment-filter input::placeholder{color:#a0adba}
.prepayment-query{display:flex;align-items:flex-end;gap:6px;grid-column:span 3}.prepayment-page .btn{font-size:12px;padding:5px 12px;min-height:30px;border-radius:3px}.prepayment-page .btn.primary{background:#508ed0;border-color:#508ed0}
.prepayment-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-top:1px solid #e7edf5;background:#fafcff}.prepayment-toolbar>div{display:flex;gap:7px}.prepayment-toolbar p{margin:0;color:#798b9e}.prepayment-toolbar p>span{margin-left:22px}.prepayment-toolbar strong{color:#326a9f;font-variant-numeric:tabular-nums;font-weight:600;margin-left:6px}
.prepayment-scroll{border:0;border-top:1px solid #dbe5f0;max-height:calc(100vh - 420px);min-height:230px;overflow:auto}.prepayment-table{min-width:1550px;width:100%;font-size:12px;table-layout:auto}
.prepayment-table th,.prepayment-table td{padding:10px 10px;border-right:1px solid #e6edf5;border-bottom:1px solid #e6edf5;line-height:1.55;font-weight:400}.prepayment-table th{background:#eaf2fb;color:#42668d;text-align:center;position:sticky;top:0;z-index:1}.prepayment-table th button{border:0;background:none;color:inherit;font:inherit;white-space:nowrap}.prepayment-table th button span{color:#8ca8c5;margin-left:4px}
.prepayment-table td{text-align:center;background:#fff;color:#4e647c}.prepayment-table tr:hover td{background:#f4f9ff}.prepayment-table td.prepayment-money{text-align:right;font-variant-numeric:tabular-nums;min-width:105px;color:#3b5d7c}.prepayment-table small{display:block;color:#91a0af;font-size:11px;margin-top:3px}.prepayment-table td.prepayment-party{text-align:left;min-width:190px;max-width:270px;white-space:normal;overflow-wrap:anywhere}.prepayment-party .link{padding:0;text-align:left;color:#3e83c6;font-size:12px}.prepayment-table td.prepayment-wrap{white-space:normal;overflow-wrap:anywhere;min-width:115px;max-width:220px;text-align:left}.prepayment-table .prepayment-state{font-size:12px;white-space:nowrap}.prepayment-state.ok{color:#309b67}.prepayment-state.waiting{color:#df8b26}.prepayment-state.muted{color:#8e9baa}
.prepayment-table .prepayment-actions{position:sticky;right:0;border-left:1px solid #dbe5f0;min-width:76px;z-index:1;box-shadow:-3px 0 4px #d4e1ef33}.prepayment-table .empty{padding:60px 20px;text-align:center!important}.prepayment-table .empty strong{font-weight:400;color:#7f94aa}.prepayment-table tfoot th,.prepayment-table tfoot td{background:#f2f7fd;color:#456b94;position:static;font-weight:600}.prepayment-table tfoot th{text-align:left}
.prepayment-table thead th:last-child{right:0;z-index:3;box-shadow:-3px 0 4px #d4e1ef33}.prepayment-page button:focus-visible{outline:2px solid #316fb1;outline-offset:2px}
#main .table-wrap>table.prepayment-table{min-width:1620px!important}#main .prepayment-table td.prepayment-money{text-align:right!important}#main .prepayment-table td.prepayment-party,#main .prepayment-table td.prepayment-wrap,#main .prepayment-table tfoot th{text-align:left!important}
.prepayment-pagination{display:flex;gap:12px;align-items:center;justify-content:flex-end;padding:12px 16px;border-top:1px solid #e2eaf2;font-size:12px}.prepayment-pagination>span:first-child{margin-right:auto}.prepayment-pagination label{display:flex;flex-direction:row;align-items:center;gap:6px;font-size:12px}.prepayment-pagination select{height:30px;font-size:12px;padding:3px 6px}.prepayment-note{margin:0;border-top:1px solid #edf1f6;padding:9px 16px;color:#8798aa;font-size:11px;line-height:1.6}.prepayment-editor .fields{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(min-width:1600px){.prepayment-filter{grid-template-columns:repeat(9,minmax(0,1fr))}.prepayment-query{grid-column:span 2}}
@media(max-width:1100px){.prepayment-filter{grid-template-columns:repeat(4,minmax(0,1fr))}.prepayment-query{grid-column:span 2}.prepayment-toolbar{align-items:flex-start;flex-wrap:wrap}.prepayment-scroll{max-height:500px}}
@media(max-width:650px){.prepayment-filter{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px}.prepayment-query{grid-column:span 2}.prepayment-heading>div{align-items:flex-start;flex-direction:column;gap:4px}.prepayment-toolbar p>span{margin-left:10px}.prepayment-pagination{flex-wrap:wrap;gap:8px}.prepayment-editor .fields{grid-template-columns:1fr}}

/* Prepayment list and dialog use the OA workspace visual language. */
.reference-prepayment{background:var(--surface,#fff);color:var(--text-primary,#29445d);font:12px "Microsoft YaHei",Arial,sans-serif;border:1px solid var(--border-subtle,#e2e9f0);border-radius:8px;box-shadow:var(--shadow-card,0 3px 14px #253c5308);padding:16px;min-width:0}
.pp-filter{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:7px 6px;padding:0 0 14px;align-items:center}
.pp-filter select,.pp-filter input{height:32px;width:100%;min-width:0;max-width:none;box-sizing:border-box;border:1px solid #cfdce8;border-radius:5px;padding:5px 8px;background:#fff;color:#506780;font:inherit}
.pp-filter input::placeholder{color:#8a9bac}.pp-filter select:has(option[value=""]:checked){color:#7b8fa3}.pp-filter select option{color:#506780;background:#fff}
.pp-filter input:focus,.pp-filter select:focus,.pp-dialog-grid input:focus,.pp-dialog-grid select:focus,.pp-dialog-grid textarea:focus{outline:2px solid #77a5d933;outline-offset:0;border-color:#77a5d9}
.pp-input{position:relative;display:block;min-width:0}.pp-input.search input{padding-right:25px}.pp-input.search>span{position:absolute;right:7px;top:0;font-size:21px;line-height:30px;color:#7793ac;pointer-events:none}
.pp-filter .query-date-input{display:block;width:100%;height:32px;min-width:0}.pp-filter .query-date-input input{height:32px;padding-right:26px}.pp-filter .query-calendar-trigger{height:28px;min-height:0;width:24px;top:50%;right:2px;transform:translateY(-50%);color:#7793ac}
.pp-buttons{display:flex;gap:6px;grid-column:span 3;align-items:center}.pp-buttons button{height:32px;white-space:nowrap;padding:5px 12px;border:1px solid #cddceb;border-radius:6px;font:inherit;cursor:pointer;transition:background-color .15s,border-color .15s}
.pp-query,.pp-add{background:#77a5d9!important;border-color:#77a5d9!important;color:#fff}.pp-reset{background:#fff;color:#6083a6}.pp-query:hover,.pp-add:hover{background:#6595ca!important;border-color:#6595ca!important}.pp-reset:hover{background:#edf4fb;border-color:#9eb8d2}
.reference-prepayment button:focus-visible,.prepayment-dialog button:focus-visible{outline:2px solid #477fb6;outline-offset:2px}
#main .reference-prepayment .pp-table-wrap{border:1px solid var(--border-subtle,#e2e9f0);border-radius:5px;box-shadow:none;overflow:auto;min-height:calc(100vh - 350px);max-height:calc(100vh - 300px)}
#main .reference-prepayment .table-wrap>table.pp-table{width:100%;min-width:1150px!important;table-layout:fixed;font-size:12px;white-space:normal;color:#52677d}
#main .reference-prepayment .pp-table th{height:38px;background:#edf3fa;font-weight:500;color:#5e7e9d;border:0;border-bottom:1px solid #dce7f1;padding:9px 7px;white-space:nowrap;position:sticky;top:0;z-index:1}
#main .reference-prepayment .pp-table td{padding:10px 7px;color:#52677d;border:0;border-bottom:1px solid #edf1f5;line-height:1.55;overflow-wrap:anywhere;min-width:0;background:#fff}
#main .reference-prepayment .pp-table tbody tr:hover td{background:#f7fafd}
#main .reference-prepayment .pp-table td.pp-party,#main .reference-prepayment .pp-table td.pp-remark{text-align:left!important}
#main .reference-prepayment .pp-table td.pp-money{text-align:right!important;font-variant-numeric:tabular-nums}
#main .reference-prepayment .pp-table td .link{font:inherit;padding:0;color:#477fb6}.pp-table .pp-empty td{height:96px;vertical-align:middle!important;text-align:center!important;color:#8395a7!important;border-bottom:0!important}
#main .reference-prepayment .pp-table tfoot td,#main .reference-prepayment .pp-table tfoot th{background:#f5f8fc;color:#526f89;font-weight:500;position:static}
.pp-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0 0;flex-wrap:wrap}.pp-legend{display:flex;gap:12px;font-size:11px;flex-wrap:wrap}.pp-pagination{display:flex;align-items:center;gap:8px;color:var(--text-secondary,#71859a);margin-left:auto}.pp-pagination button,.pp-pagination select{height:30px;min-height:0;padding:4px 9px;background:#fff;border:1px solid #cddceb;border-radius:5px;color:#6083a6;font:12px "Microsoft YaHei",Arial,sans-serif}.pp-pagination button:not(:disabled):hover{background:#edf4fb}.pp-pagination button:disabled{color:#b3bfca;cursor:default}.pp-current{border:1px solid #c9dced;border-radius:5px;background:#edf4fb;color:#477fb6;padding:5px 10px}
.pp-state-request_pending,#main .pp-table td.pp-state-request_pending{color:#71859a!important}.pp-state-stopped,#main .pp-table td.pp-state-stopped{color:#c96767!important}.pp-state-request_approved,#main .pp-table td.pp-state-request_approved{color:#4b987b!important}.pp-state-cashier_pending,#main .pp-table td.pp-state-cashier_pending{color:#bb8b42!important}.pp-state-cashier_posted,#main .pp-table td.pp-state-cashier_posted{color:#477fb6!important}
dialog.prepayment-dialog{width:1000px;max-width:94vw;max-height:90vh;border:1px solid #d3e0ec;border-radius:10px;color:#4c6680;box-shadow:0 15px 80px #213d5c33}.prepayment-dialog .dialog-head{background:#f0f5fa;padding:17px 22px;font-size:16px;color:var(--text-primary,#29445d);display:flex;align-items:center;justify-content:space-between}.prepayment-dialog .dialog-head button{color:#71859a;font-size:20px;padding:0 4px}
.pp-dialog-form{padding:20px 22px;background:#fff}.pp-dialog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.pp-dialog-grid label{font-size:13px;color:#506780;gap:7px;min-width:0}.pp-dialog-grid input,.pp-dialog-grid select{width:100%;min-width:0;height:34px;font:inherit;border:1px solid #cfdce8;border-radius:5px;padding:6px 9px}.pp-dialog-grid textarea{font:inherit;border:1px solid #cfdce8;border-radius:5px;min-height:76px;padding:8px 9px}.pp-dialog-grid .wide{grid-column:1/-1}.pp-dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:16px 0 0}.pp-dialog-actions button{font-size:13px;padding:7px 16px}.pp-dialog-history{padding:0 22px 20px;font-size:12px}.pp-dialog-history table{font-size:12px;white-space:normal}.pp-dialog-history td,.pp-dialog-history th{padding:9px}.pp-dialog-history summary{color:#71859a;cursor:pointer;padding:12px 0 0}.pp-dialog-error{color:#b35d62;font-size:12px;padding:0 22px 16px}.pp-dialog-error:empty{display:none}.pp-dialog-status{padding:12px 22px;border-bottom:1px solid var(--border-subtle,#e2e9f0);color:var(--text-secondary,#71859a);font-size:12px}
@media(max-width:1400px){.pp-filter{grid-template-columns:repeat(8,minmax(0,1fr))}.pp-buttons{grid-column:span 3}}
@media(max-width:900px){.reference-prepayment{padding:12px}.pp-filter{grid-template-columns:repeat(4,minmax(0,1fr))}.pp-dialog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-footer{align-items:flex-start}.pp-pagination{flex-wrap:wrap}#main .reference-prepayment .pp-table-wrap{min-height:300px;max-height:560px}}
@media(max-width:600px){.pp-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-buttons{grid-column:span 2}.pp-dialog-grid{grid-template-columns:1fr}.pp-dialog-form,.pp-dialog-history{padding:16px}.pp-pagination{margin-left:0}}
/* A separate wide list keeps complete account/bank pairs readable. */
.pp-account-picker{display:block;min-width:0;width:100%}.pp-account-picker>select[hidden]{display:none!important}.pp-account-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-width:0;height:32px;padding:5px 8px;border:1px solid #cfdce8;border-radius:5px;background:#fff;color:#506780;font:12px "Microsoft YaHei",Arial,sans-serif;text-align:left;cursor:pointer}.pp-account-trigger>span:first-child{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pp-account-arrow{flex-shrink:0;color:#7793ac}.pp-account-trigger[aria-expanded=true]{border-color:#77a5d9;outline:2px solid #77a5d933}.pp-account-trigger:disabled{cursor:default;background:#f7f9fc;color:#8a9bac}.pp-dialog-grid .pp-account-trigger{height:34px;font-size:13px}
.pp-account-list{position:fixed;z-index:3000;width:max-content;min-width:min(420px,calc(100vw - 24px));max-width:min(640px,calc(100vw - 24px));max-height:250px;overflow:auto;box-sizing:border-box;padding:4px 0;background:#fff;border:1px solid #cfdce8;border-radius:5px;box-shadow:0 5px 18px #213d5c24;color:#506780;font:13px "Microsoft YaHei",Arial,sans-serif;overscroll-behavior:contain}.pp-account-option{padding:9px 14px;line-height:1.6;white-space:normal;overflow-wrap:anywhere;cursor:pointer}.pp-account-option:hover,.pp-account-option.active{background:#edf4fb;color:#315f84}.pp-account-option[aria-selected=true]{background:#77a5d9;color:#fff}
/* Three columns follow the reference form, using the OA palette and controls. */
dialog.pp-entry-dialog{width:1580px;max-width:calc(100vw - 40px)}
.pp-entry-dialog .pp-dialog-form{padding:16px 20px}.pp-entry-dialog .dialog-head{padding:14px 20px}.pp-entry-dialog .pp-dialog-status{padding:9px 20px}
.pp-entry-grid{display:grid;grid-template-columns:1.15fr 1.15fr 1fr;border-top:1px solid #dbe4ed;border-left:1px solid #dbe4ed;border-radius:6px;overflow:hidden}
.pp-entry-cell{display:grid;grid-template-columns:88px minmax(0,1fr);min-width:0;border-right:1px solid #dbe4ed;border-bottom:1px solid #dbe4ed;font-size:12px}
.pp-entry-label{display:flex;align-items:center;justify-content:center;padding:8px 5px;background:#f3f6fa;color:#506b86;font-weight:500}
.pp-entry-control{min-width:0;padding:5px;background:#fff;display:flex;flex-direction:column;justify-content:center}
.pp-entry-control input,.pp-entry-control select,.pp-entry-control .pp-account-trigger{width:100%;min-width:0;height:32px;box-sizing:border-box;border:1px solid #cfdce8;border-radius:5px;padding:5px 8px;background:#fff;color:#506780;font:12px "Microsoft YaHei",Arial,sans-serif}
.pp-entry-control input:focus,.pp-entry-control select:focus{outline:2px solid #77a5d933;border-color:#77a5d9}.pp-entry-control input:disabled,.pp-entry-control select:disabled{background:#f7f9fc;color:#8a9bac}
.pp-customer-input{display:grid;grid-template-columns:minmax(90px,32%) minmax(0,1fr);gap:5px}.pp-amount-input{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,32%);gap:5px}.pp-difference{display:flex;align-items:center;flex-direction:row;gap:4px;white-space:nowrap;color:#71859a;font-size:11px}.pp-difference input{min-width:0;flex:1}
.pp-net-amount{color:#c96767;font-size:11px;padding-top:3px;line-height:16px;font-variant-numeric:tabular-nums}
@media(max-width:1100px){.pp-entry-grid{grid-template-columns:1fr 1fr}.pp-entry-cell{grid-template-columns:80px minmax(0,1fr)}}
@media(max-width:700px){dialog.pp-entry-dialog{max-width:calc(100vw - 20px)}.pp-entry-dialog .pp-dialog-form{padding:12px}.pp-entry-grid{grid-template-columns:1fr}.pp-entry-cell{grid-template-columns:76px minmax(0,1fr)}}
/* Compact, permission-aware report / edit / delete row actions. */
.pp-table col:last-child{width:96px!important}.pp-row-actions{display:inline-flex;align-items:center;justify-content:center;gap:3px;min-width:81px}.pp-row-icon{display:inline-flex;align-items:center;justify-content:center;width:25px;height:28px;padding:3px;border:0;border-radius:4px;background:transparent;cursor:pointer;color:#477fb6}.pp-row-icon svg{width:18px;height:18px}.pp-row-edit{color:#6e9bd0}.pp-row-delete{color:#d66c6c}.pp-row-icon:not(:disabled):hover{background:#edf4fb}.pp-row-delete:not(:disabled):hover{background:#fff1f1}.pp-row-icon:disabled{color:#bec9d4;cursor:not-allowed}
.pp-report-sheet{padding:22px;color:#344c67}.pp-report-sheet h1{text-align:center;font-size:22px;margin:4px 0 10px}.pp-report-company{text-align:center;color:#71859a;margin-bottom:20px}.pp-report-sheet table{table-layout:fixed;white-space:normal;font-size:13px}.pp-report-sheet th,.pp-report-sheet td{padding:11px;border:1px solid #dbe4ed;overflow-wrap:anywhere;line-height:1.6}.pp-report-sheet th{width:18%;background:#f4f7fb;color:#647e98;font-weight:400}.pp-report-note{font-size:12px;color:#71859a;margin:16px 0 0}.pp-report-toolbar{display:flex;justify-content:flex-end;gap:8px;padding:0 22px 20px}.pp-delete-dialog{width:540px!important}.pp-delete-summary{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;background:#f5f8fc;padding:14px;margin:16px 0;border-radius:5px}.pp-delete-dialog textarea{display:block;width:100%;min-height:72px;box-sizing:border-box;margin-top:8px}.pp-danger{background:#c96767!important;color:#fff!important;border-color:#c96767!important}
@media print{body.pp-printing{background:#fff!important}body.pp-printing>*:not(.pp-report-dialog){display:none!important}body.pp-printing .pp-report-dialog{position:static!important;display:block!important;width:100%!important;max-width:none!important;max-height:none!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}body.pp-printing .pp-no-print{display:none!important}body.pp-printing dialog::backdrop{display:none!important}.pp-report-sheet{padding:0!important}.pp-report-sheet tr{break-inside:avoid}}
