:root{--ink:#193b46;--muted:#72868a;--muted2:#97a8a7;--teal:#358e87;--teal-dark:#25756f;--teal-soft:#e7f5f1;--mint:#d8efe8;--paper:#f5faf9;--white:#fff;--line:#e4eeeb;--shadow:0 12px 32px rgba(29,76,73,.07);--lilac:#eeeafa;--sky:#e6f2fa;--sand:#fbf1df;--rose:#f8e9e6;--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.5 'DM Sans',Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer;color:inherit}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;padding:27px 18px 18px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:12px;padding:0 10px 37px}.brand-mark{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(145deg,#57b5a6,#347e82);color:#fff;font:800 15px Manrope,sans-serif;letter-spacing:.04em;box-shadow:0 7px 16px rgba(53,142,135,.22)}.brand strong,.brand span{display:block;letter-spacing:.08em}.brand strong{font:800 11px Manrope,sans-serif;color:#23434a}.brand span{font-size:9px;color:#6e8987;margin-top:3px}.side-label,.eyebrow{font-size:9px;line-height:1.3;letter-spacing:.15em;font-weight:700;color:#83a09d}.side-label{padding:0 12px 12px}.side-nav{display:grid;gap:5px}.nav-item{display:flex;align-items:center;gap:12px;width:100%;min-height:43px;padding:0 12px;border:0;border-radius:11px;background:transparent;color:#62787c;text-align:left;font-size:13px;transition:.16s}.nav-item:hover{background:#f4f9f7;color:var(--teal-dark)}.nav-item.active{background:#eaf6f2;color:#267f78;font-weight:700}.nav-icon{width:20px;text-align:center;color:#63a69d;font-size:17px}.sidebar-bottom{margin-top:auto;display:grid;gap:4px}.sync-indicator{display:flex;gap:10px;align-items:center;padding:13px 11px;margin-bottom:7px;border:1px solid var(--line);border-radius:13px;background:#fbfdfc}.sync-indicator b,.sync-indicator small{display:block}.sync-indicator b{font-size:10px;white-space:nowrap}.sync-indicator small{font-size:9px;color:var(--muted);margin-top:3px}.status-dot{width:8px;height:8px;flex:none;border-radius:50%;background:#d2a34f;box-shadow:0 0 0 4px #faf2e5}.status-dot.online{background:#39a88d;box-shadow:0 0 0 4px #e2f5ef}.privacy-note{padding:12px 10px 0;color:#8b9c9a;font-size:9px;line-height:1.5}.privacy-note span{color:#4e9b91}.main-content{margin-left:250px;padding:0 36px 34px;max-width:1720px}.topbar{height:105px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.topbar-context h1{margin:3px 0 0;font:700 23px Manrope,sans-serif;letter-spacing:-.04em}.topbar-actions{display:flex;align-items:center;gap:13px}.date-chip{padding:8px 11px;border:1px solid var(--line);border-radius:10px;color:#708582;background:#fff;font-size:11px}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 16px;border-radius:11px;font-weight:700;font-size:12px;transition:.15s}.primary-button{border:1px solid var(--teal);background:var(--teal);color:#fff;box-shadow:0 5px 12px rgba(53,142,135,.16)}.primary-button:hover{background:var(--teal-dark);transform:translateY(-1px)}.primary-button span{font-size:17px;line-height:1}.secondary-button{background:#fff;border:1px solid var(--line);color:#506c70}.secondary-button:hover{border-color:#a7d3c8;background:#f8fcfa}.icon-button,.mobile-brand,.mobile-nav{display:none}.view{display:none;padding-top:28px}.view.active{display:block}.welcome-row,.view-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}.welcome-row h2,.view-intro h2{margin:0 0 4px;font:700 24px Manrope,sans-serif;letter-spacing:-.04em}.welcome-row p,.view-intro p{margin:0;color:var(--muted);font-size:12px}.month-select{min-width:155px;display:grid;gap:5px}.month-select span{font-size:8px;font-weight:700;letter-spacing:.13em;color:#8ca19d}.month-select input{border:1px solid var(--line);border-radius:10px;background:#fff;padding:9px 11px;color:var(--ink);outline:none}.month-select input:focus,input:focus,select:focus{border-color:#8fc7bd;box-shadow:0 0 0 3px rgba(88,175,159,.12)}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric-card{min-height:134px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:17px 18px;box-shadow:0 4px 16px rgba(25,77,72,.025)}.metric-top{display:flex;align-items:center;gap:9px}.metric-icon{width:31px;height:31px;display:grid;place-items:center;border-radius:10px;font-size:15px}.mint{background:var(--teal-soft);color:#3a988a}.lilac{background:var(--lilac);color:#8074af}.sky{background:var(--sky);color:#5b98b4}.sand{background:var(--sand);color:#b28d4e}.metric-caption{font-size:8px;letter-spacing:.11em;font-weight:700;color:#849995}.metric-value{margin-top:11px;font:800 24px Manrope,sans-serif;letter-spacing:-.04em;white-space:nowrap}.metric-foot{margin-top:4px;color:#93a29f;font-size:10px}.progress-card{margin-top:15px;padding:17px 20px 14px;border:1px solid #dceee9;border-radius:var(--radius);background:linear-gradient(105deg,#f0faf6,#f5f8fc 80%)}.progress-copy,.progress-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px}.progress-copy h3{margin:4px 0 13px;font:700 14px Manrope,sans-serif}.progress-copy>strong{font:800 22px Manrope,sans-serif;color:var(--teal)}.progress-track{height:8px;border-radius:9px;background:#e0ece8;overflow:hidden}.progress-fill{height:100%;width:0;border-radius:9px;background:linear-gradient(90deg,#48ad9a,#7acbb1);transition:width .3s}.progress-bottom{margin-top:8px;color:#849994;font-size:10px}.section-block{margin-top:29px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:12px}.section-heading h3{margin:4px 0 0;font:700 17px Manrope,sans-serif;letter-spacing:-.025em}.text-button{border:0;background:transparent;color:#468e86;font-size:11px;font-weight:700}.text-button span{font-size:16px;vertical-align:-1px}.interest-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.interest-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 14px;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:15px;background:#fff}.interest-card h4{margin:0;font-size:12px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.interest-card small{display:block;margin-top:2px;color:#90a09d;font-size:9px}.interest-card strong{font:700 14px Manrope,sans-serif;white-space:nowrap}.mini-track{grid-column:1/-1;height:5px;border-radius:8px;background:#eef4f1;overflow:hidden}.mini-fill{height:100%;border-radius:8px;background:linear-gradient(90deg,#71c2ad,#37958a)}.empty-state{padding:28px 16px;border:1px dashed #d8e7e2;border-radius:14px;text-align:center;color:#8b9b98;background:rgba(255,255,255,.65);font-size:11px}.payment-preview{padding:11px 14px;border:1px solid var(--line);border-radius:11px;color:#72878a;background:#fff;font-size:11px}.payment-preview strong{font:700 12px Manrope;color:var(--ink)}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:17px 0 14px}.search-box{display:flex;align-items:center;gap:7px;width:min(340px,100%);padding:0 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#8ba09d}.search-box input{width:100%;height:39px;border:0;outline:none;background:transparent;color:var(--ink);font-size:11px}.toolbar select{height:39px;padding:0 34px 0 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#5b7377;font-size:11px}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 4px 18px rgba(25,77,72,.025)}.data-table{width:100%;border-collapse:collapse;min-width:730px}.data-table th{padding:12px 14px;background:#f2f8f6;color:#79918e;font-size:8px;letter-spacing:.12em;text-align:left;white-space:nowrap}.data-table td{padding:12px 14px;border-top:1px solid #edf2f0;font-size:11px;vertical-align:middle}.data-table tr:hover td{background:#fbfdfc}.client-cell{font-weight:700;color:#274951}.sub-cell{display:block;margin-top:2px;color:#92a09e;font-size:9px}.money-cell{font-weight:700;white-space:nowrap}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:20px;background:#e8f6ef;color:#38866b;font-size:9px;font-weight:700;white-space:nowrap}.badge.closed{background:#f0f2f2;color:#81908f}.table-actions{display:flex;align-items:center;gap:7px}.tiny-button{border:1px solid #dfece8;border-radius:8px;background:#f8fcfa;color:#347e77;padding:6px 9px;font-size:9px;font-weight:700;white-space:nowrap}.tiny-button:hover{background:#eaf7f2}.tiny-button.muted{background:#fff;color:#849390}.payment-total{display:grid;gap:3px}.payment-total span{font-size:8px;letter-spacing:.12em;font-weight:700;color:#8ca19d}.payment-total strong{font:800 18px Manrope}.month-select.compact{min-width:145px}.app-footer{display:flex;justify-content:space-between;padding:25px 0 8px;margin-top:27px;border-top:1px solid var(--line);color:#9aaba7;font-size:9px;letter-spacing:.06em}.modal{width:min(520px,calc(100% - 28px));max-height:90vh;padding:0;border:1px solid #e4eeeb;border-radius:20px;box-shadow:0 20px 70px rgba(21,58,60,.22);color:var(--ink)}.modal::backdrop{background:rgba(22,52,58,.32);backdrop-filter:blur(4px)}.modal form{padding:23px}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:19px}.modal-head h2{margin:5px 0 0;font:700 20px Manrope,sans-serif;letter-spacing:-.03em}.close-button{width:32px;height:32px;border:0;border-radius:10px;background:#f1f7f4;color:#718985;font-size:21px;line-height:1}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid label{display:grid;gap:6px;color:#6e8484;font-size:10px;font-weight:600}.form-grid label input,.form-grid label select{width:100%;min-width:0;height:40px;padding:0 11px;border:1px solid #dfebe7;border-radius:9px;background:#fff;color:var(--ink);outline:none;font-size:11px}.form-grid label input::placeholder{color:#a8b7b4}.span-2{grid-column:span 2}.interest-preview{display:flex;justify-content:space-between;align-items:center;margin-top:15px;padding:12px 13px;border:1px solid #dceee8;border-radius:11px;background:#f0faf6;color:#62817b;font-size:10px}.interest-preview strong{font:700 15px Manrope;color:#2c8379}.form-hint{margin:12px 0 0;color:#899a97;font-size:10px;line-height:1.55}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.setup-notice{padding:10px 2px 4px;text-align:center}.notice-icon{width:46px;height:46px;display:grid;place-items:center;margin:0 auto 12px;border-radius:15px;background:#e9f6f2;color:#438f87;font-size:21px}.setup-notice h3{margin:0 0 8px;font:700 15px Manrope}.setup-notice p{margin:7px auto;max-width:400px;color:#718582;font-size:11px;line-height:1.6}.hidden{display:none!important}.auth-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.sync-signed-in{display:flex;flex-wrap:wrap;align-items:center;gap:9px;padding:10px 0}.sync-signed-in p{width:100%;margin:0;color:#758985;font-size:11px}.toast{position:fixed;right:22px;bottom:22px;z-index:20;max-width:min(420px,calc(100vw - 34px));padding:12px 16px;border-radius:12px;background:#254f53;color:#fff;box-shadow:var(--shadow);font-size:11px;opacity:0;transform:translateY(8px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translateY(0)}.view-intro{align-items:flex-end}.mobile-brand{align-items:center;gap:9px}.brand-mark.small{width:34px;height:34px;border-radius:11px;font-size:12px}.mobile-brand strong{font:800 9px Manrope;letter-spacing:.05em}.import-button{position:relative}.import-button input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.empty-note{padding:18px;color:#8c9d99;font-size:11px;text-align:center}.mobile-more-menu{position:fixed;right:12px;bottom:76px;z-index:11;display:grid;gap:6px;padding:12px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow)}
@media(max-width:1100px){.main-content{padding:0 24px 28px}.sidebar{width:220px}.main-content{margin-left:220px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card{min-height:119px}}
@media(max-width:720px){body{font-size:13px}.sidebar{display:none}.main-content{margin:0;padding:0 16px calc(88px + env(safe-area-inset-bottom));max-width:none}.topbar{height:70px;margin:0 -16px;padding:0 16px;background:rgba(255,255,255,.88);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:4;backdrop-filter:blur(16px)}.topbar-context{display:none}.mobile-brand{display:flex}.mobile-brand strong{font-size:8px}.topbar-actions{gap:7px}.date-chip{display:none}.topbar-actions .primary-button{min-height:37px;padding:0 10px;font-size:10px}.icon-button{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--teal)}.view{padding-top:22px}.welcome-row,.view-intro{align-items:flex-start}.welcome-row{gap:10px}.welcome-row h2,.view-intro h2{font-size:21px}.welcome-row p,.view-intro p{max-width:300px;font-size:10px}.month-select{min-width:129px}.month-select input{font-size:10px;padding:8px}.metric-grid{gap:9px}.metric-card{min-height:111px;padding:13px 12px;border-radius:15px}.metric-icon{width:27px;height:27px}.metric-caption{font-size:7px;letter-spacing:.08em}.metric-value{font-size:20px;margin-top:8px}.metric-foot{font-size:9px}.progress-card{padding:14px;margin-top:10px;border-radius:15px}.progress-copy h3{font-size:12px}.progress-copy>strong{font-size:19px}.section-block{margin-top:23px}.section-heading h3{font-size:15px}.interest-list{grid-template-columns:1fr;gap:8px}.interest-card{padding:12px}.interest-card h4{font-size:11px}.interest-card strong{font-size:13px}.recent-block{margin-bottom:4px}.app-footer{font-size:8px}.mobile-nav{position:fixed;inset:auto 0 0;z-index:8;display:grid;grid-template-columns:repeat(4,1fr);padding:7px 8px calc(7px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:rgba(255,255,255,.96);backdrop-filter:blur(14px)}.mobile-nav button{display:grid;justify-items:center;gap:2px;border:0;border-radius:10px;background:transparent;color:#8a9a97;font-size:8px;padding:4px 0}.mobile-nav button span{font-size:16px;line-height:1.2}.mobile-nav button.active{color:#328a80;font-weight:700}.view-intro .primary-button{min-height:38px;padding:0 10px;font-size:10px;white-space:nowrap}.toolbar{gap:8px}.search-box{width:auto;flex:1}.toolbar select{font-size:10px}.data-table{min-width:740px}.table-wrap{border-radius:12px}.payment-total strong{font-size:16px}.payment-total span{font-size:7px}.modal{max-height:calc(100dvh - 24px);border-radius:18px}.modal form{padding:19px}.modal-head h2{font-size:18px}.form-grid{gap:10px}.form-grid label input,.form-grid label select{height:39px}.modal-actions .primary-button,.modal-actions .secondary-button{font-size:10px;padding:0 12px}.auth-actions{justify-content:stretch}.auth-actions button{flex:1}.privacy-note{font-size:8px}}
@media(max-width:390px){.main-content{padding-inline:12px}.topbar{margin-inline:-12px;padding-inline:12px}.mobile-brand{gap:6px}.mobile-brand strong{font-size:7px}.topbar-actions .primary-button{font-size:9px;padding-inline:8px}.metric-value{font-size:18px}.metric-card{padding:11px 9px}.metric-caption{font-size:6px}.welcome-row{display:grid}.month-select{grid-template-columns:auto 1fr;align-items:center;width:100%}.month-select input{justify-self:end}.view-intro{gap:8px}.view-intro p{max-width:190px}}
.danger-link{color:#b05c66!important}.danger-link:hover{color:#913d47!important}
.brand-logo{width:54px;height:66px;object-fit:contain;flex:none;border:1px solid var(--line);border-radius:8px;background:#fff}.brand-logo.small{width:34px;height:42px}.tiny-button{padding:6px 9px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--teal-dark);font-size:10px;font-weight:700;white-space:nowrap}.tiny-button:hover{background:var(--teal-soft)}.logo-preview-wrap{display:flex;align-items:center;gap:12px;min-height:62px;color:var(--muted);font-size:11px}.company-logo-preview{width:72px;height:72px;object-fit:contain;padding:5px;border:1px solid var(--line);border-radius:12px;background:#fff}.receipt-modal{width:min(620px,calc(100% - 28px))}.receipt-dialog-head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0}.receipt-paper{margin:12px 24px 20px;padding:24px;border:1px solid var(--line);border-radius:14px;background:#fff}.receipt-brand{display:flex;align-items:center;gap:16px;min-height:66px}.receipt-logo{width:72px;height:72px;object-fit:contain}.receipt-brand h2{margin:0;font:700 19px Manrope,sans-serif}.receipt-brand p{margin:4px 0 0;color:var(--muted);font-size:11px}.receipt-rule{height:1px;margin:18px 0;background:var(--line)}.receipt-row{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #eef3f1;font-size:12px}.receipt-row span{color:var(--muted)}.receipt-row strong{text-align:right}.receipt-highlight{color:var(--teal-dark);font-size:16px;font-weight:700}.receipt-note,.receipt-id{margin:16px 0 0;color:var(--muted);font-size:10px}.receipt-id{text-align:right}.receipt-modal>.modal-actions{padding:0 24px 22px}.receipt-dialog-head .close-button{position:static}.mobile-more-menu{position:fixed;right:14px;bottom:72px;z-index:9;min-width:210px;padding:8px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow)}
.receipt-company-label{margin-bottom:3px;color:#829894;font-size:8px;letter-spacing:.14em;font-weight:700}.receipt-note-editor{display:grid;gap:6px;margin-top:16px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fbfdfc;color:var(--muted);font-size:11px;font-weight:700}.receipt-note-editor textarea{width:100%;min-height:72px;resize:vertical;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font:12px/1.5 Arial,sans-serif}.receipt-note-editor small{font-size:9px;font-weight:400;color:#8b9c9a}.receipt-custom-note{margin:16px 0 0;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fbfdfc;color:var(--ink);font-size:11px}.receipt-custom-note p{margin:5px 0 0;white-space:pre-wrap;font-weight:400}.receipt-disclaimer{padding-top:11px;border-top:1px solid var(--line)}
.receipt-company-input{display:block;width:min(310px,100%);height:36px;margin-top:4px;padding:5px 9px;border:1px dashed #99beb5;border-radius:8px;background:#f8fcfa;color:var(--ink);font:700 17px Manrope,Arial,sans-serif}.receipt-company-input::placeholder{color:#8a9d99;font-size:12px;font-weight:500}.receipt-company-input:focus{border-style:solid;border-color:var(--teal);outline:0;box-shadow:0 0 0 3px rgba(88,175,159,.12)}.receipt-company-name{margin:4px 0!important;font:700 19px Manrope,sans-serif}
.auth-required .app-shell,.auth-required .mobile-nav{display:none!important}.plan-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:13px 16px;border:1px solid #cfe8df;border-radius:14px;background:linear-gradient(110deg,#effaf4,#f4f8fc);color:#54716d}.plan-banner>div{display:grid;gap:2px}.plan-banner strong{font:700 12px Manrope,sans-serif;color:#267f78}.plan-banner span{font-size:10px}.plan-banner .secondary-button{min-height:34px;padding:0 12px;white-space:nowrap}.account-modal{width:min(480px,calc(100% - 28px))}.account-modal form{padding:26px}.account-modal .modal-head{margin-bottom:12px}.account-modal .modal-head h2{font-size:23px}.trial-copy{padding:11px 12px;border:1px solid #dceee8;border-radius:10px;background:#f0faf6;color:#547873;font-size:11px;line-height:1.55}.account-modal .auth-actions{justify-content:stretch}.account-modal .auth-actions button{flex:1;min-height:42px}.account-modal .modal-actions{margin-top:12px}.account-modal .modal-actions button{width:100%}

.local-only .sync-link{display:none!important}
