@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-cyrillic-ext-wght-normal-c-5QAGAI.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-cyrillic-wght-normal-BMDVbyM7.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-greek-ext-wght-normal-BXZfsJY4.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-greek-wght-normal-Cc-u-6OI.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-vietnamese-wght-normal-BDs68eHQ.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-latin-ext-wght-normal-C8iNium2.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-latin-wght-normal-Bo_j9asI.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:"Source Sans 3 Variable",Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-synthesis:none;color:#263238;background:#f5f6f7;--surface: #fff;--canvas: #f5f6f7;--text: #263238;--muted: #637279;--line: #dfe3e6;--accent: #147866;--accent-hover: #106653;--accent-soft: #edf3f1;--danger: #a34d3e;--warning: #87611d;--radius: 6px;--control-radius: 4px;--ease: cubic-bezier(.2, .8, .3, 1);font-size:16px;line-height:1.5}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a{color:inherit}h1,h2,h3,p{margin:0}h1{font-size:28px;font-weight:600;letter-spacing:-.55px;line-height:1.3;overflow-wrap:anywhere}h2{font-size:16px;font-weight:600;line-height:1.5}h3{font-size:16px;font-weight:500}small{font-size:13px}svg{flex-shrink:0}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.app{display:flex;min-height:100dvh}.sidebar{position:fixed;inset:0 auto 0 0;width:228px;padding:24px 16px 16px;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;overflow-y:auto;z-index:20}.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.company-logo{width:52px;height:52px;object-fit:contain;border-radius:50%}.brand-caption{font-size:13px;font-weight:700;letter-spacing:.7px}.brand-caption span{display:block;font-size:13px;font-weight:400;letter-spacing:0;color:var(--muted);margin-top:4px}.sidebar>nav{display:grid;gap:4px;margin-top:30px}.sidebar nav button,.settings{display:flex;align-items:center;gap:11px;width:100%;min-height:44px;border:0;border-radius:var(--control-radius);padding:11px 13px;background:transparent;text-align:left;font-size:15px;color:#52616a}.sidebar nav button.active,.settings.active{background:var(--accent-soft);color:#176b5d;box-shadow:inset 2px 0 var(--accent)}.sidebar nav button:hover,.settings:hover{background:#f3f6f5}.nav-count{margin-left:auto;padding:1px 6px;background:#e1e9e5;border-radius:3px;font-size:12px}.sidebar-bottom{margin-top:auto;padding-top:30px}.local-note{border-top:1px solid var(--line);padding:16px 10px 6px;margin-bottom:12px;color:var(--muted);font-size:13px}.local-note strong{font-weight:500}.local-note p{margin-top:6px;line-height:1.7}.main-wrap{width:calc(100% - 228px);margin-left:228px;min-width:0}.topbar{position:sticky;top:0;height:60px;padding:0 32px;border-bottom:1px solid var(--line);background:var(--surface);display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--muted);font-size:14px;z-index:15}.topbar>div{display:flex;align-items:center;gap:8px}.top-date{font-size:13px}main{max-width:1500px;margin:auto;padding:28px 32px 0}main:focus{outline:none}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.heading-actions,.actions{display:flex;align-items:center;gap:8px}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:9px 14px;border:1px solid transparent;border-radius:var(--control-radius);font-size:14px;font-weight:500;white-space:nowrap;text-decoration:none}.primary{background:var(--accent);border-color:var(--accent);color:#fff}.primary:hover{background:var(--accent-hover)}.secondary{background:var(--surface);border-color:#cfd7d9;color:#40545b}.secondary:hover{background:#f5f7f7}.destructive{background:var(--danger);color:#fff}.destructive:hover{background:#8b3f32}.icon-button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;min-width:36px;border:0;padding:6px;background:none;color:var(--muted);border-radius:var(--control-radius)}.icon-button:hover{background:#edf2f0}.danger{color:var(--danger)}.danger:hover{background:#fbefeb}.text-button{display:inline-flex;align-items:center;gap:5px;border:0;padding:0;background:none;color:#176b5d;font-size:14px;font-weight:500;text-align:left}.text-button:hover{text-decoration:underline}.muted{font-size:14px;color:var(--muted)}.section-line{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);margin-bottom:18px;padding-bottom:11px}.section-tabs{display:flex;gap:22px;font-size:14px;color:var(--muted)}.selected-tab{font-weight:500;color:#52616a}select{min-height:38px;max-width:100%;border:1px solid #cfd7d9;border-radius:var(--control-radius);background:var(--surface);padding:8px 10px;font-size:14px;color:#3b4f57}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;min-width:0}.stat-card>div,.stat-card>span{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px;color:var(--muted)}.stat-icon{display:none}.stat-card>strong{display:block;margin:13px 0 9px;font-size:clamp(20px,2vw,28px);font-weight:600;letter-spacing:-.6px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.stat-card>small{display:block;color:var(--muted);line-height:1.6}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;min-width:0}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 20px 15px}.panel-header p{margin-top:5px;color:var(--muted);font-size:13px}.panel-header>svg{display:none}.chart-grid,.lower-grid{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:20px;margin-bottom:22px}.chart-legend{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--muted);padding:0 22px 15px}.chart-legend>span:first-child{width:6px;height:6px;border-radius:50%;background:var(--accent)}.chart-legend strong{margin-left:auto;font-size:15px;font-weight:500;color:#3b4f57}.line-chart{height:230px;margin:0 15px 5px 5px}.chart-footnote{font-size:12px;color:var(--muted);padding:12px 22px 16px;border-top:1px solid #f0f2f3}.donut{height:190px}.type-legend{display:grid;gap:12px;padding:0 22px 22px}.type-legend>div{display:flex;align-items:center;gap:8px;font-size:14px;color:#52616a}.type-legend>div>span:first-child{width:7px;height:7px;border-radius:2px}.type-legend strong{margin-left:auto;font-weight:500;font-variant-numeric:tabular-nums}.chart-loading{height:100%;min-height:120px;display:grid;place-items:center;padding:22px;text-align:center;color:var(--muted);font-size:14px}.chart-empty{height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:24px;text-align:center;color:var(--muted);font-size:14px}.chart-empty.compact{height:150px}.chart-empty svg,.empty>svg{display:none}.top-customers{margin-bottom:22px}.empty-inline{color:var(--muted);font-size:14px;padding:16px 22px 28px}.empty{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:30px 20px;color:#52616a}.empty p{font-size:14px;color:var(--muted);max-width:350px}.table-scroll{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#ccd5d3 transparent}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px;white-space:nowrap}th{background:#f8f9fa;padding:11px 17px;border-top:1px solid #edf0f1;border-bottom:1px solid #e8edef;font-size:12px;text-transform:uppercase;letter-spacing:.3px;font-weight:500;color:var(--muted)}td{padding:14px 17px;border-bottom:1px solid #edf0f1;color:#3b4f57;font-variant-numeric:tabular-nums}tr:last-child td{border-bottom:0}td strong{font-weight:500}td small{display:block;max-width:280px;margin-top:5px;font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}.balance{color:var(--warning);font-weight:500}.positive{color:#287044;font-weight:500}.badge{display:inline-block;padding:4px 7px;border-radius:3px;font-size:12px;font-weight:500}.paid{color:#426d44;background:#edf5ee}.partial{color:#8a6c2b;background:#faf4e6}.unpaid{color:#9d5742;background:#fbefeb}.neutral{color:#59666e;background:#eef1f3}.count-chip{min-width:24px;height:24px;border-radius:3px;display:grid;place-items:center;background:#eef1f3;color:#59666e;font-size:13px}.customer-avatar{height:36px;width:36px;display:grid;place-items:center;flex-shrink:0;background:#eef1f3;color:#58696f;border-radius:4px;font-size:13px;font-weight:500}.debt-list{padding:0 20px 6px}.debt-list button{width:100%;display:flex;align-items:center;gap:10px;border:0;border-bottom:1px solid #edf0f1;background:none;padding:14px 0;text-align:left}.debt-list button:last-child{border-bottom:0}.debt-list strong{font-weight:500;font-size:14px}.debt-list small{display:block;margin-top:3px;color:var(--muted);font-size:13px}.debt-list button>strong{margin-left:auto;color:var(--warning);white-space:nowrap}.debt-list button>svg{color:#87968f}.filters{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px}.search{width:390px;max-width:100%;min-height:42px;display:flex;align-items:center;gap:9px;border:1px solid #cfd7d9;border-radius:var(--control-radius);background:var(--surface);padding:9px 12px;color:var(--muted)}.search input{width:100%;min-width:0;border:0;outline:none;padding:0;background:none;font-size:15px}.search:focus-within{outline:2px solid var(--accent);outline-offset:2px}.search input::placeholder{color:var(--muted)}.customer-cell{display:flex;align-items:center;gap:11px;border:0;background:none;padding:0;text-align:left}.customer-cell strong{font-size:15px;font-weight:500}.customer-detail{padding:22px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.customer-detail h2{font-size:23px;margin:12px 0}.customer-detail p{font-size:15px;color:var(--muted);line-height:1.8}.preserve{white-space:pre-wrap;overflow-wrap:anywhere;max-width:680px}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.back{margin-bottom:18px}.payment-history{margin-top:20px}.record-limit{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-top:1px solid var(--line);background:#fafbfb;color:var(--muted);font-size:14px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.settings-content{padding:0 20px 24px;font-size:15px;color:var(--muted);line-height:1.8}.settings-content p{margin-bottom:20px}.settings-content>small{font-size:14px}.type-pills{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 18px}.type-pills>span{display:flex;align-items:center;gap:7px;padding:4px 8px;border:1px solid var(--line);background:#f8f9fa;border-radius:3px;font-size:14px;color:#52616a}.type-pills button{display:flex;align-items:center;justify-content:center;min-width:28px;min-height:28px;border:0;padding:0;background:none}.inline-form{display:flex;gap:8px;margin-bottom:10px}.inline-form input{min-width:0;flex:1}.full{width:100%;margin-bottom:10px}.file-button{position:relative;cursor:pointer}.file-button input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.file-button:focus-within{outline:2px solid var(--accent);outline-offset:3px}.field{display:block;margin-bottom:16px}.field>span{display:block;margin-bottom:7px;font-size:14px;font-weight:500;color:#52616a}.field input,.field select,.field textarea,.inline-form input{display:block;width:100%;min-height:44px;padding:10px 11px;border:1px solid #cfd7d9;border-radius:var(--control-radius);background:var(--surface);color:#3b4f57;font-size:16px}.field textarea{resize:vertical}.field input[type=hidden]{display:none}.form-row{display:flex;gap:14px}.form-row>.field{flex:1;min-width:0}.alert{display:flex;align-items:center;gap:10px;margin-bottom:18px;padding:12px 15px;border:1px solid #e7dfbd;border-radius:var(--control-radius);background:#fffbec;color:#80672d;font-size:14px;line-height:1.7}.alert button:not(.text-button){display:flex;justify-content:center;align-items:center;margin-left:auto;border:0;background:none;min-width:30px;min-height:30px}.error{background:#fdf0eb;border-color:#edd1c5;color:#984b37}.success{background:#eff6ec;border-color:#d9e6d0;color:#47703d}.modal-backdrop{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;background:#15222875;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{width:600px;max-width:100%;max-height:calc(100dvh - 40px);overflow:auto;overscroll-behavior:contain;background:var(--surface);border:1px solid #e2e8e6;border-radius:12px;padding:28px;box-shadow:0 24px 72px #11222733;isolation:isolate}.modal.narrow{width:460px}.modal h2{font-size:22px;font-weight:600;letter-spacing:-.3px;line-height:1.3}.modal>p,.modal>div>p{font-size:15px;color:var(--muted);line-height:1.8;margin-top:16px}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;position:sticky;top:-28px;z-index:3;margin:-28px -28px 24px;padding:20px 24px 18px 28px;border-bottom:1px solid #e6ece9;background:#fff;min-height:78px}.modal-footer{position:sticky;bottom:-28px;z-index:2;display:flex;justify-content:flex-end;gap:10px;background:var(--surface);border-top:1px solid #e6ece9;padding:18px 0 8px;margin-top:24px}.start-banner{display:flex;align-items:center;gap:12px;padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin-bottom:24px}.start-banner>div{margin-right:auto}.start-banner strong{font-size:15px;color:#52616a;font-weight:500}footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:30px;padding:22px 0;border-top:1px solid var(--line);color:var(--muted);font-size:12px}footer>span:last-child{display:flex;align-items:center;gap:7px}.live-dot{width:5px;height:5px;background:#6f9f86;border-radius:50%;display:inline-block}.skip-link{position:fixed;top:-70px;left:15px;z-index:200;padding:12px 18px;background:#064c41;color:#fff;border-radius:var(--control-radius)}.skip-link:focus{top:12px}.mobile-bottom-nav,.mobile-menu,.nav-backdrop{display:none}.recovery-screen{min-height:100dvh;display:grid;place-items:center;padding:24px}.recovery-screen .panel{max-width:640px;padding:30px}.recovery-screen p{color:var(--muted);margin:20px 0}.recovery-screen .actions{flex-wrap:wrap}.presence{display:contents}.page-content{animation:fade-in .18s ease-out both}.modal-backdrop,.nav-backdrop,.alert{animation:fade-in .16s ease-out both}.modal{animation:dialog-in .2s var(--ease) both}.presence.leaving .modal-backdrop,.presence.leaving .nav-backdrop{animation:fade-out .18s ease-in both;pointer-events:none}.presence.leaving .modal{animation:dialog-out .16s ease-in both;pointer-events:none}.button,.icon-button,.sidebar nav button,.settings,.mobile-bottom-nav button,tbody tr,.debt-list button{transition:background-color .14s ease,color .14s ease}.modal-heading .icon-button{min-width:36px;min-height:36px;border:1px solid #e5eae7;border-radius:8px;background:#f7f9f8;color:#677970}.modal-heading .icon-button:hover{background:#edf3ef;color:#263e34}.modal .field>span{font-size:13px;font-weight:500}.modal .field input:not([type=hidden]),.modal .field select,.modal .field textarea{border-color:#d6e1da;border-radius:7px;background:#fcfdfc;transition:border-color .14s ease,box-shadow .14s ease}.modal .field input:focus,.modal .field select:focus,.modal .field textarea:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px #14786612}.modal .button{border-radius:7px;min-height:42px;padding-inline:17px}.modal-footer .secondary{color:#52675d;border-color:#d6e1da}.modal-footer .primary{box-shadow:0 2px 5px #14786612}.modal[role=alertdialog]>p{margin-top:0;font-size:14px;line-height:1.75}@media(hover:hover)and (pointer:fine){tbody tr:hover,.debt-list button:hover{background:#fafbfb}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes dialog-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes dialog-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(4px)}}.monthly-summary{margin-bottom:22px}.report-filter{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.report-filter-select{display:flex;align-items:center;gap:12px}.report-filter-select>label{display:flex;align-items:center;gap:9px}.filter-label{font-size:13px;color:var(--muted)}.report-filter select{min-width:165px;font-size:14px}.applied-period{font-size:13px;color:var(--muted);text-align:right}.custom-period{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.custom-period label{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--muted)}.custom-period input{min-height:40px;padding:8px;border:1px solid #cfd7d9;border-radius:var(--control-radius);background:var(--surface);font-size:14px;color:var(--text)}.filter-error{font-size:13px;color:var(--danger)}@media(max-width:760px){.section-line{align-items:flex-start;flex-wrap:wrap}.report-filter{align-items:stretch;width:100%}.report-filter-select{justify-content:space-between}.report-filter-select>label{flex:1}.report-filter select{flex:1;min-height:44px;font-size:16px}.applied-period{text-align:left}.custom-period{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.custom-period input{width:100%;min-width:0;font-size:16px;min-height:44px}.custom-period .button{grid-column:1/-1}}.summary-toggle{display:flex;align-items:center;gap:9px;min-height:44px;padding:0;background:none;border:0;font:inherit;color:inherit;text-align:left}.summary-toggle svg{transition:transform .18s var(--ease);transform:rotate(-90deg)}.summary-toggle[aria-expanded=true] svg{transform:rotate(0)}.monthly-actions{display:flex;align-items:center;gap:8px}.monthly-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:0 20px 20px}.monthly-totals span{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}.monthly-totals strong{display:block;font-size:21px;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.monthly-summary tbody .month-name{text-transform:none;letter-spacing:0;background:none;border-top:0;padding:14px 17px;font-size:16px;color:var(--text);font-weight:500}.month-name small{display:block;margin-top:4px;font-size:12px;color:var(--accent)}.monthly-summary tr.current-month{background:#f1f7f4}.monthly-note{padding:16px 20px;border-top:1px solid var(--line);font-size:13px;color:var(--muted);line-height:1.7}@media(max-width:760px){.monthly-summary .panel-header{flex-wrap:wrap}.monthly-totals{grid-template-columns:minmax(0,1fr);gap:12px;padding:0 16px 18px}.monthly-totals>div{display:flex;align-items:center;justify-content:space-between;gap:14px}.monthly-totals span{margin:0}.monthly-totals strong{font-size:18px;text-align:right}.monthly-summary .table-scroll .month-name{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:0 0 10px;border-bottom:1px solid var(--line);font-size:15px}.monthly-summary .table-scroll td:last-child{grid-column:auto;align-items:flex-start}.monthly-summary .table-scroll td:last-child:before{display:block}.monthly-note{padding:16px}}.receivables{margin-bottom:22px}.collection-filters{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 20px 18px}.collection-filters .search{width:300px;min-height:38px}.segmented-control{display:inline-flex;border:1px solid #cfd7d9;border-radius:var(--control-radius);overflow:hidden}.segmented-control button{min-height:37px;padding:8px 12px;border:0;border-right:1px solid var(--line);background:#fff;font-size:14px;color:var(--muted);white-space:nowrap}.segmented-control button:last-child{border-right:0}.segmented-control button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);font-weight:500}.segmented-control button span{margin-left:5px;font-variant-numeric:tabular-nums}.overdue-amount{color:var(--danger);font-weight:500}.lower-grid{grid-template-columns:minmax(0,1fr)}.form-section{min-width:0;border:1px solid var(--line);border-radius:8px;padding:16px 16px 0;margin:0 0 18px;background:#fafcfb;border-color:#e0e8e3}.form-section legend{padding:0 6px;color:#52616a;font-size:14px;font-weight:500}.amount-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px;margin-bottom:18px;font-variant-numeric:tabular-nums;background:#f5f8f6;border:1px solid #e0e8e3;border-radius:8px}.amount-summary span{display:block;font-size:13px;color:var(--muted);margin-bottom:7px}.amount-summary strong{display:block;font-size:16px;font-weight:600;overflow-wrap:anywhere}.amount-summary .invalid-total strong{color:var(--danger)}.payment-customer{font-weight:500;margin-bottom:18px}.payment-balance{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 14px;margin-bottom:16px;border-bottom:1px solid var(--line);font-size:14px;color:var(--muted);background:#f5f8f6;border:1px solid #e0e8e3;border-radius:8px}.payment-balance strong{font-size:17px;font-weight:500;color:var(--text)}.payment-options{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 18px}.customer-detail .actions{flex-wrap:wrap}@media(max-width:760px){.collection-filters{flex-direction:column;align-items:stretch;padding:0 16px 16px;gap:12px}.collection-filters .search{width:100%;min-height:46px}.segmented-control button{min-height:44px;flex:1}.receivables .table-scroll td:last-child .button{width:100%}.receivables .table-scroll td:last-child{align-items:stretch}.amount-summary{gap:9px}.amount-summary strong{font-size:13px}.form-section{padding-left:12px;padding-right:12px}}@media(max-width:1200px){.sidebar{width:205px;padding-left:12px;padding-right:12px}.main-wrap{margin-left:205px;width:calc(100% - 205px)}main{padding:26px 24px 0}.topbar{padding:0 24px}.stat-card{padding:16px 13px}.stat-card>strong{font-size:23px}.lower-grid{grid-template-columns:1fr}}@media(max-width:1000px){.page-heading{align-items:flex-start}.heading-actions{flex-wrap:wrap;justify-content:flex-end}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.settings-grid{grid-template-columns:1fr}.section-tabs>span+span{display:none}.three{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.sidebar{display:none}.brand{padding:0 8px}.main-wrap{width:100%;margin-left:0}.topbar{padding:0 16px}.top-date{font-size:11px}.mobile-bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;position:fixed;bottom:0;left:0;right:0;z-index:35;padding:7px 7px max(8px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface)}.mobile-bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:48px;padding:6px 2px;background:none;border:0;border-radius:var(--control-radius);color:var(--muted);font-size:11px}.mobile-bottom-nav button.active{background:var(--accent-soft);color:#176b5d}main{padding:20px 14px 86px}.page-heading{flex-direction:column;align-items:stretch;gap:14px;margin-bottom:18px}.page-heading h1{font-size:23px}.heading-actions{justify-content:flex-start;gap:8px}.heading-actions .button{flex:1}.button{min-height:44px}.icon-button{min-width:44px;min-height:44px}.stats{gap:10px}.stat-card{padding:12px}.stat-card>div{font-size:12px}.stat-card>strong{font-size:clamp(18px,4.4vw,22px)}.stat-card>small{min-height:0;font-size:12px}.chart-grid,.lower-grid,.settings-grid{grid-template-columns:minmax(0,1fr);gap:18px}.panel-header{padding:13px 14px}.panel-header h2{font-size:14px}.panel-header select{min-height:42px;max-width:120px}.chart-legend{padding:0 17px 14px}.line-chart{margin:0 9px 0 0}.chart-footnote{padding:12px 17px;font-size:12px}.chart-empty{height:160px}.donut{height:200px}.table-scroll{overflow:visible}.table-scroll table{display:block;width:100%;white-space:normal}.table-scroll thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.table-scroll tbody{display:block}.table-scroll tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;padding:14px;border-top:1px solid #e2e7e9;background:var(--surface)}.table-scroll td{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:0;border:0;font-size:14px;overflow-wrap:anywhere}.table-scroll td:before{content:attr(data-label);font-size:11px;letter-spacing:.2px;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.table-scroll td:first-child{grid-column:1 / -1;padding-bottom:8px;border-bottom:1px solid #edf0f1}.table-scroll td:first-child:before,.table-scroll td:last-child:before{display:none}.table-scroll td:last-child{grid-column:1 / -1;align-items:flex-end}.table-scroll td small{font-size:13px;max-width:100%;white-space:normal;overflow-wrap:anywhere}.table-scroll .text-button.strong,.customer-cell strong{font-size:14px;font-weight:500}.customer-cell{gap:9px;width:100%}.customer-cell>div{min-width:0}.customer-avatar{width:34px;height:34px;font-size:13px}.actions{gap:9px}.actions .icon-button{border:1px solid #dfe6e4;background:#f7f9f9}.actions .danger{background:#fff8f6;border-color:#eee0dc}.filters{padding:14px;flex-wrap:wrap;gap:10px}.search{width:100%;min-height:47px}.search input,.field input,.field select,.field textarea,.inline-form input{font-size:16px}.filters>select{flex:1;min-height:44px}.three{grid-template-columns:1fr}.three .stat-card{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px}.three .stat-card>strong{margin:0;font-size:21px}.customer-detail{flex-direction:column;padding:16px}.customer-detail>.actions{width:100%;justify-content:flex-end}.debt-list{padding:0 16px 6px}.debt-list button{min-height:75px;gap:12px}.debt-list button>div{min-width:0}.debt-list strong{font-size:13px;overflow-wrap:anywhere}.debt-list small{font-size:13px}.modal-backdrop{align-items:flex-end;padding:0}.modal,.modal.narrow{width:100%;max-height:calc(100dvh - 12px);border-radius:16px 16px 0 0;padding:20px 18px max(20px,env(safe-area-inset-bottom));scroll-padding-bottom:90px;animation:sheet-in .24s var(--ease) both}.presence.leaving .modal{animation:sheet-out .18s ease-in both}.modal-footer{bottom:-20px;padding:16px 0 max(8px,env(safe-area-inset-bottom));flex-wrap:wrap}.modal-footer .button{flex:1;min-height:46px}.field{margin-bottom:14px}.field>span{font-size:13px}.field input,.field select,.field textarea{min-height:47px;padding:10px 12px}.form-row{flex-wrap:wrap;gap:0 14px}.form-row>.field{flex-basis:100%}.settings-content{padding:0 17px 22px}.inline-form{flex-wrap:wrap}.inline-form input{flex-basis:100%;min-height:47px}.inline-form .button{width:100%}.type-pills button{min-width:36px;min-height:36px}.record-limit,.start-banner{padding:16px;flex-wrap:wrap}.start-banner>div{width:100%}.start-banner .button{flex:1}.alert{align-items:flex-start;font-size:13px}footer{margin-top:24px;padding:18px 0}:root{font-size:14px;line-height:1.45}.button{font-size:13px;padding:9px 12px}.text-button{font-size:13px}.stat-card>span{font-size:12px}.stat-card>strong{line-height:1.3;margin:11px 0 7px}.chart-grid,.lower-grid,.settings-grid{gap:14px;margin-bottom:18px}.panel-header p,.chart-legend,.type-legend>div,.empty p,.empty-inline,.monthly-note,.settings-content,.customer-detail p,.record-limit,.alert{font-size:12px}.empty h3{font-size:14px}.empty{padding:24px 16px}.section-tabs,.selected-tab{font-size:12px}.monthly-totals strong{font-size:17px}.monthly-totals span{font-size:12px}.monthly-totals{gap:10px;padding:0 14px 14px}.monthly-summary .table-scroll .month-name{font-size:15px}.amount-summary strong{font-size:13px}.amount-summary span{font-size:11px}.modal,.modal.narrow{padding:20px 18px max(20px,env(safe-area-inset-bottom))}.modal-footer{bottom:-20px}.modal>p,.modal>div>p,.modal .muted{font-size:12px}.monthly-actions{gap:6px}.monthly-summary .panel-header{gap:10px}.summary-toggle{font-size:14px;gap:6px}.mobile-bottom-nav button svg{width:18px;height:18px}.recharts-cartesian-axis-tick-value{font-size:11px}.modal-heading{top:-20px;margin:-20px -18px 20px;padding:15px 14px 15px 18px;min-height:72px}.modal-heading .icon-button{min-height:44px;min-width:44px}.modal .button{min-height:44px}.modal .field input:not([type=hidden]),.modal .field select,.modal .field textarea{font-size:16px}.modal h2{font-size:19px}.amount-summary{padding:12px;gap:9px}.modal[role=alertdialog]>p{font-size:13px}}@keyframes sheet-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes sheet-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(14px)}}@media(max-width:370px){.stat-card>strong{font-size:17px}.stat-card{padding:14px 10px}.debt-list button>strong{font-size:13px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.presence.leaving .modal-backdrop,.presence.leaving .nav-backdrop{display:none}}
