/* Shared transaction-entry presentation. Route templates retain existing
   field names, IDs, hooks and submission order. */
.invoice-screen,.quote-screen{min-width:0}
.invoice-branch-context{margin:0 0 -4px;padding:0 4px;color:#123447;font-size:.86rem;font-weight:700}
.invoice-screen>form,.quote-screen>form{display:flex;flex-direction:column;gap:16px}
.invoice-screen>form>section,.quote-screen>form>section{box-sizing:border-box;min-width:0;padding:14px 16px 16px;border:1px solid var(--enterprise-line);border-radius:12px;background:#fff;box-shadow:0 6px 16px rgba(18,52,71,.04)}
.invoice-screen>form>section>h2,.quote-screen>form>section>h2{margin:-14px -16px 12px;padding:9px 12px;border-bottom:2px solid #008143;border-radius:12px 12px 0 0;background:#f1f8f4;color:#005b3a;font-size:1rem;font-weight:700;line-height:1.25}
.invoice-transaction,.invoice-customer-grid,.customer-fields,.invoice-vehicle,.invoice-voucher,.quote-customer,.quote-details,.quote-vehicle,.quote-security{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(220px,1fr) minmax(150px,.8fr) minmax(220px,1fr);align-items:center;gap:8px 12px}
.invoice-customer>.customer-fields,.quote-customer>.customer-fields{grid-column:1/-1}
.customer-fields{grid-template-columns:minmax(0,1fr);gap:10px 18px}
.customer-mode{display:grid;grid-column:1/-1;grid-template-columns:minmax(0,1fr);gap:10px 18px}
.customer-mode[hidden]{display:none!important}
.dnet-form-row{display:grid;grid-template-columns:180px minmax(0,1fr);align-items:center;gap:12px;min-width:0}
.dnet-form-row>label{text-align:right;font-weight:600}
.dnet-form-row__field{min-width:0}
.dnet-form-row__field>input:not([type=checkbox]):not([type=radio]),.dnet-form-row__field>select{width:100%;box-sizing:border-box}
.customer-fields>.dnet-form-row .dnet-form-row__field,.customer-fields .customer-mode>.dnet-form-row .dnet-form-row__field{width:min(420px,100%);justify-self:start}
.dnet-radio{display:inline-flex!important;align-items:center;gap:5px;margin-right:16px;text-align:left!important;font-weight:400!important}
.dnet-form-row--checkbox>label{display:flex;align-items:center;gap:6px;text-align:left}
.customer-field{display:grid;grid-template-columns:minmax(130px,.9fr) minmax(0,1.1fr);align-items:center;gap:8px;min-width:0}
.customer-field label{min-width:0}
.customer-field--checkbox{display:flex;justify-content:flex-start;gap:6px}
.customer-readonly-value{display:block;min-height:1.4em;color:#315b4b;font-weight:600}
.customer-fields{position:relative;padding-right:calc(52.8% + 16px)}
.customer-lookup-results,.invoice-vehicle>#VehicleSearchResults{position:absolute;top:0;right:3%;width:min(686px,52.8%);max-width:calc(100% - 16px);min-height:120px;max-height:360px;box-sizing:border-box;padding-bottom:12px;border:1px solid #d8e7dd;border-radius:12px;background:linear-gradient(to bottom,#fff,#f8fbf9);box-shadow:0 2px 6px rgba(18,52,71,.05),0 10px 24px rgba(18,52,71,.08);overflow:auto;color:var(--enterprise-muted);z-index:1}
.customer-lookup-results h3{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.customer-lookup-results::after,.invoice-vehicle>#VehicleSearchResults::after{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:#008143}
.customer-lookup-results::before,.invoice-vehicle>#VehicleSearchResults::before{display:block;padding:12px 16px;background:#f1f8f4;border-bottom:1px solid #d9ebe1;color:#005b3a;font-size:.92rem;font-weight:700;position:relative;z-index:1}
.customer-lookup-results::before{content:"Customer Search"}
.invoice-vehicle>#VehicleSearchResults::before{content:"Vehicle Search"}
.customer-lookup-results>*,.invoice-vehicle>#VehicleSearchResults>*{padding-left:16px;padding-right:16px}
.customer-result-card,.vehicle-result-card{margin:12px 0;padding:12px;border:1px solid #dce9e1;border-radius:8px;background:#fff;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.customer-result-card{display:flex;align-items:center;gap:10px;white-space:nowrap}
.customer-result-summary{overflow:hidden;text-overflow:ellipsis;color:#123447;font-size:.84rem;font-weight:600}
.customer-result-contact{overflow:hidden;text-overflow:ellipsis;color:#74857d;font-size:.78rem}
.customer-result-card .dnet-button{margin-left:auto;flex:0 0 auto}
.customer-result-card:hover,.vehicle-result-card:hover{border-color:#008143;box-shadow:0 4px 12px rgba(0,129,67,.12);transform:translateY(-1px)}
.lookup-label{display:block;margin-bottom:2px;color:#74857d;font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}
.lookup-value{display:block;margin-bottom:8px;color:#123447;font-size:.88rem;font-weight:600}
.customer-lookup-results [data-customer-lookup-details]{display:grid;gap:6px;margin-top:12px;color:var(--enterprise-ink);font-size:.86rem}
.invoice-vehicle #VehicleSearchResultsDetails{display:grid;gap:8px;margin-top:12px;color:var(--enterprise-ink);font-size:.85rem}
.customer-fields>label:last-child{grid-column:1/-1;justify-self:start;display:flex;align-items:center;gap:6px}
.invoice-transaction>h2,.invoice-transaction>p,.invoice-customer>h2,.invoice-customer>fieldset,.invoice-customer-grid,.invoice-vehicle>h2,.invoice-vehicle>fieldset,.invoice-vehicle>#VehicleSearchResults,.invoice-voucher>h2,.quote-customer>h2,.quote-customer>p,.quote-customer>fieldset,.quote-details>h2,.quote-details>p,.quote-vehicle>h2,.quote-vehicle>fieldset,.quote-vehicle>#VehicleSearchResults,.quote-security>h2{grid-column:1/-1}
.invoice-screen label,.quote-screen label{color:#315b4b;font-size:.86rem}
.invoice-screen input:not([type=hidden]):not([type=checkbox]):not([type=radio]),.invoice-screen select,.quote-screen input:not([type=hidden]):not([type=checkbox]):not([type=radio]),.quote-screen select{width:100%;max-width:100%}
input[type=search],.customer-search-input,.vehicle-search-input{height:40px;border:1px solid #cfded5;border-radius:8px;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}
input[type=search]:focus,.customer-search-input:focus,.vehicle-search-input:focus{border-color:#008143;box-shadow:0 0 0 4px rgba(0,129,67,.12);outline:none}
.invoice-screen fieldset,.quote-screen fieldset{margin:0;padding:8px 12px;border:1px solid var(--enterprise-line);border-radius:8px;background:#f8fbf9}
.invoice-customer>.customer-readonly-fields{display:block;grid-column:1/-1;margin:0;padding:0;border:0;border-radius:0;background:transparent;min-width:0}
.invoice-screen fieldset label,.quote-screen fieldset label{display:inline-flex;align-items:center;gap:5px;margin-right:16px}
.invoice-customer-grid{margin:0}
.invoice-customer-grid>label,.invoice-transaction>label,.invoice-vehicle>label,.invoice-voucher>label,.quote-customer>label,.quote-details>label,.quote-vehicle>label,.quote-security>label{text-align:right;font-weight:600}
.invoice-transaction>p,.quote-details>p{margin:0;color:var(--enterprise-muted)}
.invoice-lines,.quote-products{overflow:hidden}
.invoice-lines table,.quote-products table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid #d8e7dd;border-radius:12px;background:#fff;box-shadow:0 4px 14px rgba(18,52,71,.06)}
.invoice-lines th,.quote-products th{padding:12px 14px;border-bottom:1px solid #cfe1d7;background:linear-gradient(to bottom,#f4faf7,#e9f4ee);color:#123447;font-size:.76rem;font-weight:700;letter-spacing:.04em;text-align:left;text-transform:uppercase}
.invoice-lines td,.quote-products td{padding:10px 12px;border-top:1px solid #e6eee9;vertical-align:middle;transition:background-color .2s ease}
.invoice-lines tbody tr,.quote-products tbody tr{transition:background-color .2s ease,box-shadow .2s ease}
.invoice-lines tbody tr:nth-child(even),.quote-products tbody tr:nth-child(even){background:#f8fbf9}
.invoice-lines tbody tr:hover,.quote-products tbody tr:hover{background:#eef8f2;box-shadow:inset 3px 0 0 #008143}
.invoice-lines td input,.invoice-lines td select,.quote-products td input,.quote-products td select{width:100%;box-sizing:border-box;min-height:40px;border:1px solid #cfded5;border-radius:8px;background:#fff;color:#123447;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}
.invoice-lines td input:focus,.invoice-lines td select:focus,.quote-products td input:focus,.quote-products td select:focus{border-color:#008143;box-shadow:0 0 0 4px rgba(0,129,67,.12);outline:none}
.invoice-lines .enterprise-product-table,.quote-products .enterprise-product-table{table-layout:fixed}
.invoice-lines .enterprise-product-table th:first-child,.invoice-lines .enterprise-product-table td:first-child,.quote-products .enterprise-product-table th:first-child,.quote-products .enterprise-product-table td:first-child{width:auto}
.invoice-lines .enterprise-product-table .product-col-qty,.quote-products .enterprise-product-table .product-col-qty{width:72px}
.invoice-lines .enterprise-product-table th:nth-child(3),.invoice-lines .enterprise-product-table th:nth-child(4),.invoice-lines .enterprise-product-table td:nth-child(3),.invoice-lines .enterprise-product-table td:nth-child(4),.quote-products .enterprise-product-table th:nth-child(3),.quote-products .enterprise-product-table th:nth-child(4),.quote-products .enterprise-product-table td:nth-child(3),.quote-products .enterprise-product-table td:nth-child(4){width:150px}
.invoice-lines .enterprise-product-table select,.quote-products .enterprise-product-table select{min-width:0}
.invoice-lines .enterprise-product-table input[type=number],.quote-products .enterprise-product-table input[type=number]{text-align:center;padding:8px 4px;font-weight:600}
.currency-input{display:flex;align-items:center;gap:6px;min-width:0}
.currency-input>span{font-weight:700;color:var(--enterprise-muted)}
.currency-input>input{min-width:0;text-align:right}
.invoice-lines .enterprise-product-table tfoot td,.quote-products .enterprise-product-table tfoot td{text-align:right;font-weight:700;white-space:nowrap}
.invoice-lines .enterprise-product-table tfoot tr:first-child th,.invoice-lines .enterprise-product-table tfoot tr:first-child td,.quote-products .enterprise-product-table tfoot tr:first-child th,.quote-products .enterprise-product-table tfoot tr:first-child td{padding-top:14px;border-top:2px solid #cfe1d7}
.invoice-lines .enterprise-product-table tfoot .total-row th,.invoice-lines .enterprise-product-table tfoot .total-row td,.quote-products .enterprise-product-table tfoot .total-row th,.quote-products .enterprise-product-table tfoot .total-row td{background:#e5f3eb;color:#005b3a;font-size:1rem}
.invoice-lines tfoot th,.invoice-lines tfoot td,.quote-products tfoot th,.quote-products tfoot td{padding:9px 12px;background:#fff;color:#315b4b}
.invoice-payment,.invoice-preprinted,.invoice-options,.quote-payment,.quote-options{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}
.invoice-otp{display:grid;grid-template-columns:180px minmax(220px,320px) minmax(0,1fr);align-items:center;gap:10px 12px}
.invoice-otp[hidden]{display:none}
.invoice-otp>h2{grid-column:1/-1;width:calc(100% + 32px);box-sizing:border-box}
.invoice-otp>label{grid-column:1;text-align:right;font-weight:600}.invoice-otp__help{grid-column:1/-1;margin:0;color:#315646}.invoice-otp__entry{grid-column:2;display:flex;align-items:center;gap:8px}.invoice-otp__entry input{width:100%;box-sizing:border-box}.invoice-otp>small{grid-column:2;color:#5f746b}
.invoice-otp>#trans_otp_no{grid-column:2;width:100%;box-sizing:border-box}
.invoice-payment>h2,.invoice-preprinted>h2,.invoice-options>h2,.quote-payment>h2,.quote-options>h2{flex-basis:100%}
.invoice-payment>label,.invoice-options>label,.quote-payment>label,.quote-options>label{display:inline-flex;align-items:center;gap:5px}
.invoice-payment>label:has(input:disabled){opacity:.48;cursor:not-allowed}
.invoice-payment>label.payment-method--disabled{opacity:.48;cursor:not-allowed}
.invoice-payment>label:has(input:disabled) input{cursor:not-allowed}
.invoice-payment__eft-fields{display:none;grid-template-columns:max-content minmax(220px,320px);align-items:center;gap:10px 12px;flex-basis:100%;margin-top:4px}
.invoice-payment__eft-fields.is-visible{display:grid}
.invoice-payment__eft-fields label{text-align:right;font-weight:600}
.invoice-payment__eft-fields input[type=text],.invoice-payment__eft-fields input[type=file]{width:100%;box-sizing:border-box}
.invoice-payment__eft-fields input[type=file]{padding:7px;border:1px solid #cfded5;border-radius:8px;background:#fff}
.invoice-options{display:grid;grid-template-columns:max-content minmax(220px,320px) max-content minmax(0,1fr);align-items:center;gap:10px 12px}
.invoice-options>h2{grid-column:1/-1;width:calc(100% + 32px);box-sizing:border-box}
.invoice-options>label:not([for]){grid-column:1/-1}
.invoice-options>label[for="email_invoice_address"]{grid-column:1;justify-self:end;white-space:nowrap}
.invoice-options>#email_invoice_address{grid-column:2;width:100%;max-width:320px;box-sizing:border-box}
.invoice-email-copy{grid-column:3;justify-self:start;white-space:nowrap}
.invoice-email-copy:hover,.invoice-email-copy:focus-visible{text-decoration:none}
.invoice-submit-button { align-self: center; margin: 4px 0 8px; }
.vehicle-history-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--enterprise-line);border-radius:8px;overflow:hidden;font-size:.82rem}
.vehicle-history-table th,.vehicle-history-table td{padding:8px;border-bottom:1px solid var(--enterprise-line);text-align:left;vertical-align:middle}
.vehicle-history-table th{background:#edf6f1;color:var(--enterprise-ink);font-weight:700}
.vehicle-history-table tr:last-child td{border-bottom:0}
.vehicle-history-notice{margin:12px 16px;padding:10px 12px;border:1px solid #efb8b8;border-left:4px solid #c44747;border-radius:8px;background:#fff1f1;color:#8f2929;font-size:.84rem;font-weight:600;line-height:1.4;box-shadow:0 0 0 1px rgba(196,71,71,.04),0 0 14px rgba(196,71,71,.16);animation:vehicle-history-warning-glow 2.4s ease-in-out infinite}
.vehicle-history-odometer-warning{display:block;margin-top:6px;color:#a52d25;font-size:.76rem;font-weight:600;line-height:1.3}
.vehicle-history-year-warning{display:inline-block;margin-left:10px;color:#a52d25;font-size:.76rem;font-weight:600;line-height:1.3;vertical-align:middle}
@keyframes vehicle-history-warning-glow{0%,100%{box-shadow:0 0 0 1px rgba(196,71,71,.04),0 0 10px rgba(196,71,71,.12)}50%{box-shadow:0 0 0 1px rgba(196,71,71,.08),0 0 18px rgba(196,71,71,.24)}}
@media (prefers-reduced-motion:reduce){.vehicle-history-notice{animation:none}}
.vehicle-history-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(18,52,71,.42);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.vehicle-history-modal__dialog{width:min(960px,calc(100vw - 48px));max-height:calc(100vh - 48px);overflow:auto;border:1px solid #d8e7dd;border-radius:14px;background:#fff;box-shadow:0 20px 60px rgba(18,52,71,.28)}
.vehicle-history-modal__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #d9ebe1;background:#f1f8f4;color:#005b3a}
.vehicle-history-modal__header h2{margin:0;font-size:1.05rem}
.vehicle-history-modal__close{width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:#315b4b;font-size:1.5rem;line-height:1;cursor:pointer}
.vehicle-history-modal__close:hover,.vehicle-history-modal__close:focus-visible{background:#dff1e7;color:#005b3a;outline:2px solid #008143;outline-offset:2px}
.vehicle-history-modal__message{margin:16px 20px 12px;padding:12px 14px;border-left:4px solid #008143;border-radius:8px;background:#eef9f2;color:#005b3a;font-size:.9rem;font-weight:600}
.vehicle-history-modal__content{padding:0 20px 20px}
.vehicle-history-modal__content .vehicle-history-table{min-width:720px}
.invoice-screen>form>.invoice-vehicle,.quote-screen>form>.invoice-vehicle{position:relative;box-sizing:border-box;grid-template-columns:minmax(0,1fr);justify-content:start;padding-right:16px}
.invoice-screen>form>.invoice-vehicle>h2,.quote-screen>form>.invoice-vehicle>h2{grid-column:1/-1;width:calc(100% + 32px);box-sizing:border-box}
.invoice-screen>form>.invoice-vehicle>.dnet-form-row,.quote-screen>form>.invoice-vehicle>.dnet-form-row{width:100%}
.invoice-screen>form>.invoice-vehicle>.dnet-form-row .dnet-form-row__field,.quote-screen>form>.invoice-vehicle>.dnet-form-row .dnet-form-row__field{width:min(420px,100%);justify-self:start}
.invoice-screen>form>.invoice-vehicle>.dnet-form-row:has(input[type=radio]) .dnet-form-row__field,.quote-screen>form>.invoice-vehicle>.dnet-form-row:has(input[type=radio]) .dnet-form-row__field{display:flex;width:max-content;max-width:100%;flex-wrap:wrap;align-items:center;gap:8px 16px}
.invoice-screen>form>.invoice-vehicle>.dnet-form-row,.quote-screen>form>.invoice-vehicle>.dnet-form-row{grid-column:1}
.invoice-screen>form>.invoice-vehicle>#VehicleSearchResults,.quote-screen>form>.invoice-vehicle>#VehicleSearchResults{grid-column:auto;top:60px}
.invoice-screen>form>.invoice-transaction{grid-template-columns:180px minmax(0,420px) minmax(0,1fr);justify-content:stretch}
.invoice-screen>form>.invoice-transaction>label{grid-column:1}
.invoice-screen>form>.invoice-transaction>input{grid-column:2}
@media (max-width:800px){.invoice-transaction,.invoice-customer-grid,.customer-fields,.customer-mode,.invoice-vehicle,.invoice-voucher,.quote-customer,.quote-details,.quote-vehicle,.quote-security{grid-template-columns:minmax(0,1fr)}.dnet-form-row{grid-template-columns:180px minmax(0,1fr)}.invoice-customer-grid>label,.customer-fields>label,.invoice-transaction>label,.invoice-vehicle>label,.invoice-voucher>label,.quote-customer>label,.quote-details>label,.quote-vehicle>label,.quote-security>label{text-align:left}}
@media (max-width:800px){.invoice-screen>form>.invoice-vehicle,.quote-screen>form>.invoice-vehicle{grid-template-columns:minmax(0,1fr);justify-content:stretch;padding-right:0}.invoice-screen>form>.invoice-vehicle>h2,.quote-screen>form>.invoice-vehicle>h2{width:100%}.invoice-screen>form>.invoice-transaction,.quote-screen>form>.invoice-transaction{grid-template-columns:180px minmax(0,1fr)}.invoice-vehicle>#VehicleSearchResults{position:static;grid-column:1/-1;width:100%;max-width:100%;min-height:auto;max-height:none;margin-top:12px}.customer-fields{padding-right:0}.customer-lookup-results{position:static;width:100%;max-width:100%;min-height:auto;max-height:none;margin-top:12px}}
@media (max-width:800px){.invoice-options{grid-template-columns:minmax(0,1fr)}.invoice-options>label:not([for]),.invoice-options>label[for="email_invoice_address"],.invoice-options>#email_invoice_address,.invoice-options>.invoice-email-copy{grid-column:1;justify-self:start}.invoice-options>#email_invoice_address{max-width:100%}}
@media (max-width:800px){.invoice-otp{grid-template-columns:minmax(0,1fr)}.invoice-otp>label{grid-column:1;text-align:left}.invoice-otp>#trans_otp_no{grid-column:1;max-width:100%}}

/* Voucher creation follows the same transaction-entry presentation as
   invoices and quotations. */
.voucher-screen{width:100%;min-width:0}
.voucher-screen>form{display:flex;flex-direction:column;gap:16px}
.voucher-screen>form>section{box-sizing:border-box;min-width:0;padding:14px 16px 16px;border:1px solid var(--enterprise-line);border-radius:12px;background:#fff;box-shadow:0 6px 16px rgba(18,52,71,.04)}
.voucher-screen>form>section>h2{margin:-14px -16px 12px;padding:9px 12px;border-bottom:2px solid #008143;border-radius:12px 12px 0 0;background:#f1f8f4;color:#005b3a;font-size:1rem;font-weight:700;line-height:1.25}
.voucher-screen label{color:#315b4b;font-size:.86rem}
.voucher-screen input:not([type=hidden]):not([type=checkbox]):not([type=radio]),.voucher-screen select{box-sizing:border-box;min-height:40px;border:1px solid #cfded5;border-radius:8px;background:#fff;color:#123447}
.voucher-screen input:not([type=hidden]):not([type=checkbox]):not([type=radio]):focus,.voucher-screen select:focus{border-color:#008143;box-shadow:0 0 0 4px rgba(0,129,67,.12);outline:none}
.voucher-screen>form>button[type=submit]{align-self:center}
.voucher-screen .invoice-lines,.voucher-screen .invoice-vehicle,.voucher-screen .invoice-transaction,.voucher-screen .invoice-customer{min-width:0}
.voucher-screen .invoice-lines table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid #d8e7dd;border-radius:12px;background:#fff;box-shadow:0 4px 14px rgba(18,52,71,.06)}
.voucher-screen .invoice-lines th{padding:12px 14px;border-bottom:1px solid #cfe1d7;background:linear-gradient(to bottom,#f4faf7,#e9f4ee);color:#123447;font-size:.76rem;font-weight:700;letter-spacing:.04em;text-align:left;text-transform:uppercase}
.voucher-screen .invoice-lines td{padding:10px 12px;border-top:1px solid #e6eee9;vertical-align:middle}
.voucher-screen .invoice-lines tbody tr:hover{background:#eef8f2;box-shadow:inset 3px 0 0 #008143}
@media (max-width:800px){.voucher-screen>form>section{padding:12px}.voucher-screen>form>section>h2{margin:-12px -12px 10px}.voucher-screen .invoice-customer,.voucher-screen .invoice-transaction,.voucher-screen .invoice-vehicle{grid-template-columns:minmax(0,1fr)}}
input[type=date].date-empty{color:transparent}
input[type=date].date-empty::-webkit-datetime-edit{color:transparent}
.cashup-search-panel { margin: 0 0 16px; padding: 16px; border: 1px solid #d7e4de; border-radius: 10px; background: #fff; box-shadow: 0 5px 16px rgba(18,52,71,.05); }
.cashup-search-panel__heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.cashup-search-panel__heading h2 { margin: 0; color: #123447; font-size: 1.05rem; }
.cashup-eyebrow { margin: 0 0 3px; color: #087d4f; font-size: .68rem; font-weight: 850; letter-spacing: .14em; }
.cashup-search-grid { display: grid; grid-template-columns: repeat(3, minmax(150px, 1fr)) auto; gap: 12px; align-items: end; }
.cashup-search-grid label { display: grid; gap: 5px; color: #355148; font-size: .75rem; font-weight: 750; }
.cashup-search-grid input[type=date], .cashup-search-grid select { box-sizing: border-box; width: 100%; min-height: 38px; padding: 7px 9px; border: 1px solid #b9d0c4; border-radius: 6px; color: #17352b; background: #fff; font: inherit; }
.cashup-search-grid input:focus, .cashup-search-grid select:focus { border-color: #087d4f; outline: 3px solid #cbe8da; }
.cashup-search-check { display: flex !important; grid-column: 1 / -2; align-items: center; gap: 7px !important; min-height: 38px; }
.cashup-search-check input { accent-color: #087d4f; }
.cashup-pagination { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; margin: 0 0 10px; padding: 0 4px; }
.cashup-pagination button { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; min-width: 32px; height: 32px; padding: 4px 8px; border: 1px solid #d5e2dc; border-radius: 5px; color: #087b4c; background: #fff; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.cashup-pagination button:hover, .cashup-pagination button:focus-visible { border-color: #087b4c; background: #e8f4ee; outline: 2px solid #cbe8da; outline-offset: 1px; }
.cashup-pagination button:disabled { border-color: #087b4c; color: #fff; background: #087b4c; cursor: default; }
.cashup-result-table { width: 100%; min-width: 100%; table-layout: auto; font-size: 8pt; }
.cashup-result-table th, .cashup-result-table td { box-sizing: border-box; }
@media (max-width: 800px) { .cashup-search-grid { grid-template-columns: repeat(2, minmax(150px, 1fr)); }.cashup-search-check { grid-column: 1 / -1; } }
@media (max-width: 520px) { .cashup-search-grid { grid-template-columns: 1fr; }.cashup-search-check { grid-column: auto; }.cashup-search-panel__heading { align-items: flex-start; } }
.cashup-action-dialog { border: 0; border-radius: 8px; padding: 0; box-shadow: 0 18px 50px rgba(0, 0, 0, .3); max-width: calc(100vw - 32px); max-height: calc(100vh - 32px); }
.cashup-action-dialog::backdrop { background: rgba(0, 40, 30, .45); }
.cashup-action-dialog__heading { display: flex; align-items: center; justify-content: space-between; min-height: 48px; padding: 0 14px; border-bottom: 1px solid #d7e4df; color: #123d32; }
.cashup-action-dialog__close { width: 32px; height: 32px; border: 0; border-radius: 4px; background: #008143; color: #fff; font-weight: 700; cursor: pointer; }
.cashup-action-dialog__content { height: calc(100% - 49px); overflow: auto; padding: 12px; }
.cashup-fragment { padding: 18px; color: #173b35; font-size: 14px; }
.cashup-fragment h3 { margin: 0 0 14px; color: #006b45; }
.cashup-fragment__list { max-height: 330px; overflow: auto; border: 1px solid #d5e2dd; border-radius: 4px; }
.cashup-note-entry { padding: 10px 12px; border-bottom: 1px solid #e4ece8; }
.cashup-note-entry:last-child { border-bottom: 0; }
.cashup-note-entry time { margin-left: 12px; color: #60756f; font-size: 12px; }
.cashup-note-entry p { margin: 7px 0 0; white-space: pre-wrap; }
.cashup-fragment__empty { padding: 12px; color: #60756f; }
.cashup-note-form, .cashup-upload-form { display: grid; gap: 8px; margin-top: 16px; }
.cashup-note-form textarea { min-height: 90px; resize: vertical; }
.cashup-document-list { width: 100%; border-collapse: collapse; margin-bottom: 16px; }
.cashup-document-list th, .cashup-document-list td { padding: 8px; border: 1px solid #d5e2dd; text-align: left; vertical-align: top; }
.cashup-document-list th { background: #e8f2ee; color: #006b45; }
.cashup-document-list small { display: block; color: #60756f; margin-top: 3px; }
.cashup-upload-form input[type="file"] { display: block; margin-top: 4px; }
