:root{--ink: #172932;--muted: #65757c;--line: #dce4e6;--surface: #ffffff;--page: #f1f5f5;--blue: #176477;--green: #24754e;--red: #b4342b;--table-head: #f4f7f7;--table-stripe: #fdfdfd;font-family:Segoe UI,system-ui,-apple-system,sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#eaf0f1 0,var(--page) 340px);font-size:14px;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}.app{min-height:100vh}.topbar{background:#173f35;border-bottom:3px solid #75b6c4}.topbar-inner{max-width:1120px;margin:0 auto;display:flex;align-items:center;gap:12px;padding:16px 20px}.topbar-inner>strong{display:flex;align-items:center;gap:10px;flex:0 0 auto;font-size:15.5px;font-weight:700}.topbar-inner>strong:before{width:4px;height:22px;background:#75b6c4;border-radius:2px;content:""}.topbar-actions{display:flex;align-items:center;gap:20px;margin-left:auto}.topbar strong{color:#fff}.topbar span{flex:1;min-width:0;overflow:hidden;color:#d5e1e3;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.topbar .signed-in-user{flex:0 0 auto;overflow:visible;white-space:nowrap}.topbar .signed-in-user strong{font-size:13px;font-weight:600}.link-button{display:inline-flex;align-items:center;gap:6px;padding:0;color:#d5e1e3;background:none;border:0;cursor:pointer;font-size:13px}.link-button:hover{color:#fff}.sheet{max-width:1120px;margin:0 auto;padding:20px 16px 48px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.page-title-group{display:flex;flex-direction:column;gap:4px}.page-header h1{margin:0;font-size:20px;font-weight:650}.page-description{margin:0;color:var(--muted);font-size:13px}.page-date{color:var(--muted);font-size:13px;white-space:nowrap}.block{min-width:0;margin-bottom:0;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:8px}.block h2{margin:0;display:flex;align-items:center;gap:8px;font-size:15px;font-weight:650}.hint{margin:4px 0 12px;color:var(--muted);font-size:12px}.filter-panel{display:grid;grid-template-columns:minmax(200px,1.25fr) minmax(220px,1.5fr) minmax(180px,.9fr);gap:12px;align-items:end;padding:14px 16px;margin-bottom:18px;background:var(--surface);border:1px solid var(--line);border-radius:6px;box-shadow:0 2px 8px #17293209}.filter-field{display:flex;min-width:0;flex-direction:column;gap:6px}.filter-field label{color:var(--muted);font-size:12px;font-weight:600}.filter-field.is-narrow{max-width:110px}.filter-field input,.filter-field select{min-height:34px;padding:6px 9px}.sections-container{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.section-block{padding:0;overflow:hidden;border-radius:6px;box-shadow:0 3px 12px #1729320b;transition:border-color .14s ease,box-shadow .14s ease}.section-block:hover{border-color:#bdcdd1;box-shadow:0 5px 16px #17293213}.section-toggle{display:flex;min-height:76px;align-items:center;justify-content:space-between;gap:20px;padding:14px 18px;cursor:pointer;list-style:none;background:linear-gradient(90deg,#fff,#fbfcfc)}.section-toggle::-webkit-details-marker{display:none}.section-toggle:focus-visible{outline:3px solid rgba(23,100,119,.28);outline-offset:-3px}.section-heading{display:inline-flex;align-items:center;gap:8px;min-width:0}.section-heading>span:last-child{display:flex;flex-direction:column;gap:2px}.section-heading strong{font-size:15px;font-weight:650}.section-icon{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;color:var(--blue);background:#eaf3f4;border:1px solid #dcebed;border-radius:6px}.accordion-indicator{display:grid;width:22px;height:22px;flex:0 0 auto;place-items:center;color:#111}.accordion-up,.section-block[open] .accordion-down{display:none}.section-block[open] .accordion-up{display:block}.section-heading small{color:var(--muted);font-size:12px;font-weight:400}.section-summary-meta{display:flex;align-items:center;gap:18px;margin-left:auto;color:var(--muted);font-size:12px;white-space:nowrap}.section-summary-meta strong{min-width:88px;color:var(--ink);font-size:15px;font-variant-numeric:tabular-nums;text-align:right}.section-content{padding:0 16px 16px;border-top:1px solid #e8edef}.form-subsection{margin-top:14px;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:4px}.subsection-header{margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--line)}.form-subsection h3{margin:0;color:#263c44;font-size:13px;font-weight:650}.subsection-description{margin:4px 0 0;color:var(--muted);font-size:12px}.revenue-context{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.car-count-fields{display:contents}.calculated-amount{display:block;padding:7px 9px;text-align:right;white-space:nowrap}.deposit-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:0 16px}.gl-summary{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;grid-column:1 / -1;color:var(--muted);font-size:11px}.gl-summary strong{color:var(--ink);font-weight:600}.row{display:grid;grid-template-columns:120px minmax(0,260px);align-items:center;gap:12px;margin-bottom:8px}.row:last-child{margin-bottom:0}.row label{color:var(--muted);font-size:13px}.comment-row{align-items:start;margin-top:12px}input,select,textarea{width:100%;padding:6px 9px;background:#fff;border:1px solid #ccd4dc;border-radius:5px}textarea{resize:vertical}input.has-error,select.has-error,textarea.has-error{border-color:var(--red);background:#fff9f9}input:disabled{color:var(--muted);background:#f5f5f5;cursor:not-allowed}input::placeholder,textarea::placeholder{color:#b8bcc4}.filter-field input.has-error:focus,.filter-field select.has-error:focus{outline:2px solid rgba(180,52,43,.25);border-color:var(--red)}.field-error{color:var(--red);font-size:11px;font-weight:500}input:focus,select:focus,textarea:focus{outline:2px solid rgba(26,86,168,.25);border-color:var(--blue)}input.narrow{max-width:100px}.table-scroll{width:100%;overflow-x:auto;overflow-y:visible;border:1px solid var(--line);border-radius:4px;scrollbar-width:thin;scrollbar-color:#c3cfd3 transparent;background:#fff}.entry-table{width:100%;border-collapse:collapse;background:#fff;font-size:13px}.entry-table th,.entry-table td{padding:9px 12px;border-bottom:1px solid #e7ecee;text-align:left;vertical-align:middle}.entry-table thead th{color:#33484f;background:var(--table-head);border-bottom-color:#cfd9dc;font-size:12px;font-weight:700}.entry-table .table-row-heading{color:var(--ink);font-weight:600}.entry-table tbody tr:nth-child(2n){background:var(--table-stripe)}.entry-table tbody tr:hover{background:#eef4f5}.revenue-table{table-layout:fixed;width:100%;border-collapse:collapse;background:#fff;font-size:13px}.revenue-table th,.revenue-table td{padding:9px 12px;border-bottom:1px solid #e7ecee;text-align:left;vertical-align:middle}.revenue-table thead{position:sticky;top:0;z-index:10}.revenue-table thead th{color:#33484f;background:var(--table-head);border-bottom-color:#cfd9dc;font-size:12px;font-weight:700}.revenue-table th:first-child{width:auto}.revenue-table th:nth-child(2){width:140px}.revenue-table th:nth-child(3){width:110px}.revenue-table th:nth-child(4){width:110px}.revenue-lines-section .revenue-table tfoot th,.revenue-lines-section .revenue-table tfoot td{position:sticky;bottom:0;z-index:9;padding:12px;background:#f0f5f6;border-top:0;border-bottom:none;box-shadow:inset 0 1px #6f9ea9;vertical-align:middle;font-weight:600;color:#263c44}.revenue-lines-section .revenue-table tfoot th.revenue-total-label{text-align:left}.revenue-lines-section .revenue-table tfoot td.amount-total{text-align:right;padding-right:12px}.gl-account-cell{color:var(--muted);font-variant-numeric:tabular-nums}.gl-account-cell small{display:block;margin-top:2px;font-size:11px}.entry-table .amount-cell .amount{width:70px;max-width:70px}.entry-table .amount-col,.entry-table .amount-cell{text-align:right;font-variant-numeric:tabular-nums}.entry-table .amount-cell .amount{margin-left:auto}#deposit-amount{text-align:right}.entry-table .count-cell input,.counter-table input{width:70px!important;max-width:70px!important;text-align:right}.counter-table th:first-child{width:42%}.counter-table td{width:29%}.rate-table th:first-child{width:55%}.rate-table th:nth-child(2){width:25%}.rate-table th:nth-child(3){width:20%}.rate-table th:nth-child(3),.rate-table td:last-child{padding-left:48px}.entry-table .placeholder-row th,.entry-table .placeholder-row td{color:var(--muted);font-weight:400}.rate-table input{width:70px!important;max-width:70px!important;text-align:right}.rate-value{color:var(--blue);font-weight:700}.nested-rate-sections{display:grid;gap:12px}.nested-rate-section{padding:12px;background:#fff;border:1px solid var(--line);border-radius:4px}.nested-rate-section h4{margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid var(--line);color:#263c44;font-size:13px;font-weight:650}.deposit-table{table-layout:fixed}.deposit-table th:first-child{width:35%}.deposit-table th:nth-child(2){width:30%}.deposit-table th:nth-child(3){width:35%}.previous-deposits-table th:first-child{width:40%}.previous-deposits-table th:nth-child(2),.previous-deposits-table th:nth-child(3){width:30%}.empty-table-message{color:var(--muted);font-size:12px;text-align:center!important}.entry-table .table-group-row th{padding-top:12px;color:#33484f;background:#fff;font-weight:700}.entry-table tfoot th,.entry-table tfoot td{border-top:1px solid var(--line);border-bottom:0;font-weight:700}.entry-table tfoot .amount-total{text-align:right}.entry-head,.entry{display:grid;grid-template-columns:minmax(0,1fr) 118px 78px;align-items:center;gap:10px}.entry-head{padding-bottom:6px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.entry-head span:not(:first-child){padding-left:2px}.entry{padding:5px 0;border-top:1px solid #eef1f4}.entry-label{min-width:0;font-size:13px}.entry-label small{margin-left:6px;color:var(--muted);font-size:11px}.amount{position:relative}.input-error-badge{position:absolute;z-index:1;top:100%;left:0;margin-top:2px;padding:2px 4px;color:#fff;background:var(--red);border-radius:3px;font-size:10px;white-space:nowrap}.amount>span{position:absolute;top:6px;left:9px;color:var(--muted);font-size:12px}.amount input{width:70px!important;max-width:70px!important;padding-left:20px;text-align:right}.entry input[inputmode=numeric]{text-align:right}.no-count{color:#c2cad2;text-align:center}.total{margin-top:4px;border-top:1px solid var(--line);font-weight:650}.amount-total{padding-right:9px;text-align:right}.summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;padding:11px 14px;border:1px solid var(--line);border-radius:8px}.summary.balanced{background:#f1f8f4;border-color:#cde5d8}.summary.off{background:#fdf4f3;border-color:#f0d5d2}.summary-row{display:flex;width:100%;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.summary-item{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-start;gap:4px}.summary-label{color:var(--muted);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.04em}.summary-value{font-size:16px;font-weight:650}.summary-value.over{color:#d97706}.summary-value.short{color:var(--red)}.summary-operator{color:var(--muted);font-size:14px}.summary-badge{flex:0 0 auto;margin-left:auto}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:6px;font-size:12px;font-weight:600}.status-badge.matched{color:var(--green);background:#17794a14}.status-badge.over{color:#d97706;background:#fef3c7}.status-badge.short{color:var(--red);background:#fef2f2}.error{display:flex;align-items:center;gap:8px;margin-bottom:16px;padding:10px 14px;color:var(--red);background:#fdf4f3;border:1px solid #f0d5d2;border-radius:8px;font-size:13px}.actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.primary{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;color:#fff;background:var(--blue);border:0;border-radius:6px;cursor:pointer;font-weight:600}.primary:hover:not(:disabled){background:#16478c}.primary:disabled{opacity:.6;cursor:default}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:10px 16px;color:#fff;background:#1f2a35;border-radius:7px;font-size:13px}.validation-matrix-section .subsection-header{display:flex;justify-content:space-between;align-items:center}.row-count{color:var(--muted);font-size:12px;font-weight:400}.validation-matrix-section .table-scroll{max-height:600px;overflow-y:auto}.revenue-lines-section .table-scroll{max-height:420px;overflow-y:auto}.rates-matrix-table{width:100%;border-collapse:collapse;background:#fff;font-size:13px}.rates-matrix-table th,.rates-matrix-table td{padding:9px 12px;border-bottom:1px solid #e7ecee;text-align:left;vertical-align:middle}.rates-matrix-table thead{position:sticky;top:0;z-index:10}.rates-matrix-table thead th{color:#33484f;background:var(--table-head);border-bottom-color:#cfd9dc;font-size:12px;font-weight:700}.business-name-header{position:sticky;left:0;top:0;background:var(--table-head);z-index:11;min-width:180px;max-width:220px}.rate-header{text-align:center;min-width:90px;padding:6px 10px}.rate-header .rate-name{display:block;margin-bottom:2px;font-weight:700;font-size:12px}.rate-header .rate-amount{display:block;color:var(--blue);font-size:11px;font-weight:600}.business-name-cell{position:sticky;left:0;color:var(--ink);font-weight:600;background:inherit;z-index:1;min-width:180px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.count-cell{text-align:center;padding:6px 8px}.count-input{width:70px;padding:5px 6px;text-align:center;font-size:13px;font-variant-numeric:tabular-nums;border:1px solid #ccd4dc;border-radius:3px;background:#fff}.count-input:focus{outline:2px solid rgba(26,86,168,.25);border-color:var(--blue)}.count-input:disabled{color:var(--muted);background:#f5f5f5;cursor:not-allowed}.rates-matrix-table .count-input{max-width:80px}@media(max-width:560px){.topbar-inner{flex-wrap:wrap}.topbar-actions{width:100%;justify-content:flex-end;gap:12px}.page-header{flex-direction:column;gap:8px}.section-toggle{gap:8px;padding:12px}.section-heading small{max-width:190px}.section-icon{width:34px;height:34px}.filter-panel{grid-template-columns:1fr}.revenue-context{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-field.is-narrow{max-width:none}.row{grid-template-columns:1fr;gap:4px}.entry-head,.entry{grid-template-columns:minmax(0,1fr) 104px 66px}.revenue-table{min-width:650px}.counter-table{min-width:480px}.deposit-table{min-width:560px}.summary-row{flex-direction:column;align-items:flex-start;gap:8px}.summary-operator{display:none}.summary-badge{width:100%;margin:8px 0 0}}@media(min-width:561px)and (max-width:1024px){.filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-field.is-narrow{max-width:none}}
