:root{--bg:#f8f7fc;--paper:#fff;--ink:#2e1948;--muted:#80748d;--line:#e9e2f1;--primary:#6006d6;--primary-soft:#f1eafa;--accent:#c1a0ff;--accent-soft:#f5edff;--purple:#ad77bb;--radius:20px;--shadow:0 12px 36px #3f166109;color:var(--ink);background:var(--bg);font-family:Inter,Segoe UI,Arial,sans-serif;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #b794ef}h1,h2,h3,p{margin:0}button svg,a svg{flex-shrink:0}button{color:inherit}::selection{background:#e3d1fc}.brand{letter-spacing:-1.6px;align-items:center;gap:10px;font-size:30px;font-weight:750;display:inline-flex}.brand-mark{background:var(--primary);color:#fff;letter-spacing:-3px;border-radius:12px;justify-content:center;align-items:center;width:37px;height:37px;padding-right:3px;font-size:28px;display:flex}.brand-mark span,.brand-dot{color:var(--accent)}.brand-dot{margin-left:-10px}.eyebrow{letter-spacing:2px;color:var(--muted);font-size:12px;font-weight:750}.button{background:var(--primary);color:#fff;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:10px;min-height:46px;padding:12px 18px;font-size:14px;font-weight:650;transition:background .15s,transform .15s;display:inline-flex}.button:hover{background:#4e04b4}.button.secondary{border-color:var(--line);color:var(--ink);background:#fff}.button.secondary:hover{background:var(--primary-soft)}.button.quiet{color:var(--muted);background:0 0;padding:9px 12px}.button.danger{background:#ad3f35}.icon-button{border:1px solid var(--line);background:#fff;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.muted{color:var(--muted)}.login-shell{background:radial-gradient(ellipse at 85% 10%,#e9dcfa88,transparent 50%),var(--bg);flex-direction:column;min-height:100dvh;padding:38px 56px;display:flex}.login-main{text-align:center;width:100%;max-width:480px;margin:auto;padding:56px 0}.login-main h1{letter-spacing:-2px;margin:22px 0;font-size:clamp(38px,5vw,50px);font-weight:650;line-height:1.12}.login-main h1 span{color:#a17ad0}.login-intro{color:var(--muted);line-height:1.6}.login-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:24px;margin-top:38px;padding:30px}.login-card h2{font-size:18px;font-weight:650}.login-card>p{color:var(--muted);margin-top:10px;font-size:14px}.google-button{background:var(--primary);justify-content:space-between;width:100%;margin-top:26px;padding:15px 18px}.google-g{font-family:Arial,sans-serif;font-size:21px;font-weight:700}.login-private{color:var(--muted);justify-content:center;align-items:center;gap:8px;margin-top:22px;font-size:12px;display:flex}.login-footer{text-align:center;color:var(--muted);font-size:12px}.form-error{background:#fff0ed;border:1px solid #edc9c3;border-radius:10px;line-height:1.5;color:#a2372c!important;padding:12px 14px!important;font-size:14px!important}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:640px){.login-shell{padding:24px}.login-main{padding:50px 0}.login-card{padding:24px}.login-main h1{font-size:39px}.login-footer{padding-bottom:12px}}.app-shell{min-height:100dvh;display:flex}.sidebar{border-right:1px solid var(--line);z-index:10;background:#fff;flex-direction:column;width:222px;padding:34px 22px 24px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar .brand{padding-left:10px}.home-label{gap:13px;margin:46px 10px 27px;display:grid}.home-label>span:last-child{align-items:center;gap:9px;font-size:14px;display:flex}.sidebar nav{gap:7px;display:grid}.sidebar nav button{color:var(--muted);text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:14px 16px;font-size:14px;font-weight:600;display:flex}.sidebar nav button.active{background:var(--primary-soft);color:var(--primary)}.sidebar nav button:hover{background:#f7f3fc}.sidebar-bottom{margin-top:auto}.user-profile{border-top:1px solid var(--line);align-items:center;gap:10px;padding:24px 0 0;display:flex}.user-profile strong{text-overflow:ellipsis;max-width:90px;font-size:14px;display:block;overflow:hidden}.user-profile small{color:var(--muted);margin-top:4px;font-size:12px;display:block}.user-profile button{min-height:36px;margin-left:auto;padding:8px}.avatar{color:#8058b8;background:#ece3fb;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:37px;height:37px;font-size:14px;font-weight:650;display:inline-flex}.avatar.su{color:#a060a4;background:#f5e5f3}.avatar.small{width:29px;height:29px;font-size:12px}.avatar-stack{padding-right:3px;display:flex}.avatar-stack .avatar{border:2px solid var(--bg)}.avatar-stack .avatar+.avatar{margin-left:-7px}.app-content{width:calc(100% - 222px);margin-left:222px}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;height:84px;padding:0 44px;display:flex}.breadcrumb{color:var(--muted);align-items:center;gap:15px;font-size:13px;display:flex}.breadcrumb strong{color:var(--ink);font-weight:500}.breadcrumb>span{opacity:.35}.household{color:var(--muted);align-items:center;gap:10px;font-size:13px;display:flex}.mobile-logout{display:none}.main-content{max-width:1370px;margin:0 auto;padding:39px 44px 20px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:31px;display:flex}.page-heading h1{letter-spacing:-1.15px;margin:9px 0;font-size:34px;font-weight:650;line-height:1.2}.page-heading h1>span{color:var(--accent)}.page-heading p{color:var(--muted);font-size:14px}.primary-action{box-shadow:0 4px 12px #203b3210}.period-row{justify-content:space-between;align-items:center;gap:15px;margin-bottom:19px;display:flex}.period-control{align-items:center;gap:12px;display:flex}.period-control label{color:var(--muted);font-size:13px}.period-control input{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;max-width:200px;min-height:42px;padding:10px 12px;font-size:14px}.report-actions{align-items:center;gap:4px;display:flex}.report-actions .button{font-size:13px}.summary-grid{grid-template-columns:1.25fr 1fr 1fr;gap:18px;margin-bottom:21px;transition:opacity .2s;display:grid}.refreshing{opacity:.65}.total-card,.person-card{border-radius:var(--radius);border:1px solid var(--line);background:#fff;min-width:0;padding:23px 25px}.total-card{background:var(--primary);color:#fff;border-color:var(--primary)}.card-top{justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.total-card .card-top{color:#ede0ff}.card-symbol{background:#ffffff12;border-radius:9px;justify-content:center;align-items:center;width:31px;height:31px;display:flex}.total-value{letter-spacing:-1px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin-top:18px;font-size:32px;font-weight:600;display:block}.card-month{color:#d9c1fb;text-transform:capitalize;margin-top:8px;font-size:12px}.split-bar{border-radius:6px;gap:3px;height:5px;margin-top:23px;display:flex;overflow:hidden}.split-bar span{background:#ccb0ff;min-width:0}.split-bar span.su{background:#f4adda}.bar-labels{color:#ede0ff;gap:20px;margin-top:10px;font-size:12px;display:flex}.bar-labels>span{align-items:center;gap:6px;display:flex}.bar-labels i,.member-dot{background:#bea0e9;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.bar-labels i.su{background:#f4adda}.person-name{align-items:center;gap:9px;font-size:14px;font-weight:600;display:flex}.person-name>span:last-child{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.person-name small{color:var(--muted);background:var(--bg);border-radius:4px;padding:2px 5px;font-size:11px;font-weight:400}.person-paid-label{color:var(--muted);margin-top:25px;font-size:12px}.person-value{letter-spacing:-.8px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin-top:8px;font-size:28px;font-weight:600;display:block}.person-share{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:8px;margin-top:22px;padding-top:16px;font-size:12px;display:flex}.person-share strong{color:var(--ink);white-space:nowrap;font-size:13px;font-weight:500}.balance-card{background:#f3edfa;border:1px solid #e5d8f5;border-radius:16px;align-items:center;gap:18px;margin-bottom:32px;padding:22px;display:flex}.balance-card.has-debt{background:#f4edff;border-color:#e5d6f9}.balance-icon{color:#8b65b7;background:#e8ddf7;border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;width:45px;height:45px;display:flex}.has-debt .balance-icon{color:#8853c3;background:#e9d9ff}.balance-text{flex:1;min-width:0}.balance-text .eyebrow{letter-spacing:1.3px;font-size:10px}.balance-text h2{flex-wrap:wrap;align-items:center;gap:13px;margin-top:7px;font-size:16px;font-weight:550;display:flex}.balance-text h2 strong{letter-spacing:-.5px;font-size:20px;font-weight:650}.balance-text p{color:var(--muted);margin-top:6px;font-size:12px}.balance-card .button{background:0 0;border-color:#d9c4f4;flex-shrink:0;font-size:13px}.has-debt .button{border-color:#d8bff5}.historical-note{color:var(--muted);margin:-16px 0 24px;font-size:12px;line-height:1.6}.ledger-panel{border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden}.ledger-heading{justify-content:space-between;align-items:center;gap:20px;padding:25px;display:flex}.ledger-heading h2{letter-spacing:-.2px;align-items:center;gap:10px;font-size:18px;font-weight:600;display:flex}.count{background:var(--primary-soft);text-align:center;color:#9876c0;letter-spacing:0;border-radius:7px;min-width:26px;padding:3px 7px;font-size:12px}.ledger-heading p{color:var(--muted);margin-top:7px;font-size:12px}.filters{align-items:center;gap:9px;display:flex}.search-field{border:1px solid var(--line);color:var(--muted);border-radius:9px;align-items:center;gap:9px;padding:10px 12px;display:flex}.search-field input{width:145px;color:var(--ink);background:0 0;border:none;font-size:13px;outline:none!important}.search-field:focus-within{outline:2px solid #b794ef}.payer-filter{border:1px solid var(--line);color:var(--muted);border-radius:9px;align-items:center;gap:6px;padding:9px 10px;font-size:13px;display:flex}.payer-filter select{max-width:120px;color:var(--ink);background:0 0;border:none;min-height:20px;font-size:13px}.ledger-table{border-collapse:collapse;text-align:left;table-layout:auto;width:100%}.ledger-table th{color:#92839f;border-top:1px solid var(--line);border-bottom:1px solid var(--line);white-space:nowrap;background:#fcfaff;padding:13px 18px;font-size:12px;font-weight:500}.ledger-table th:first-child{padding-left:25px}.ledger-table td{border-bottom:1px solid #f0eaf6;padding:17px 18px;font-size:13px}.ledger-table td:first-child{width:42%;padding-left:25px}.ledger-table tr:last-child td{border-bottom:none}.ledger-table tbody tr:hover{background:#fdfbff}.record-title{text-align:left;background:0 0;border:none;align-items:center;gap:12px;width:100%;min-width:0;padding:0;display:flex}.record-title>span:last-child{min-width:0}.record-title strong{overflow-wrap:anywhere;font-size:14px;font-weight:550;line-height:1.4;display:block}.record-title small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:250px;margin-top:5px;font-size:12px;display:block;overflow:hidden}.row-icon{color:#9d83bf;background:#f2edfa;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.row-icon.transfer{color:#9872be;background:#f0e7fb}.date-cell{white-space:nowrap;color:var(--muted)}.payer-chip{color:#936fbe;white-space:nowrap;background:#f1eafb;border:1px solid #e8dcf5;border-radius:7px;padding:5px 9px;font-size:12px;display:inline-block}.payer-chip.su{color:#ac7ba4;background:#faeff8;border-color:#f1e0ef}.amount-cell{text-align:right;white-space:nowrap}.amount-cell>strong{font-variant-numeric:tabular-nums;font-size:14px;font-weight:550}.amount-cell>small{color:var(--muted);margin-top:5px;font-size:11px;display:block}.row-actions{white-space:nowrap;text-align:right}.row-actions .icon-button{color:#a898b8;background:0 0;border-color:#0000;border-radius:7px;width:30px;height:32px}.row-actions .icon-button:hover{color:var(--ink);background:var(--primary-soft)}.transfer-names{white-space:nowrap;color:var(--muted);font-size:12px}.table-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;padding:15px 25px;font-size:12px;display:flex}.table-footer>div{align-items:center;gap:12px;display:flex}.table-footer .icon-button{border-radius:7px;width:29px;height:29px}.icon-button:disabled{cursor:default;opacity:.35}.list-loading,.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:220px;padding:40px 25px;display:flex}.list-loading{color:var(--muted);font-size:14px}.empty-icon{background:var(--primary-soft);color:#a385c9;border-radius:16px;margin-bottom:2px;padding:15px;display:flex}.empty-state h3{font-size:17px;font-weight:550}.empty-state p{color:var(--muted);max-width:300px;font-size:14px;line-height:1.6}.empty-state .button{margin-top:5px}.loading-dot{background:#a479d7;border-radius:50%;width:8px;height:8px;animation:1s ease-in-out infinite pulse}.app-footer{color:#a89db2;justify-content:space-between;gap:15px;padding-top:25px;font-size:11px;display:flex}.mobile-row-meta{display:none}.page-error{background:#fff0e9;border:1px solid #e8c1b7;border-radius:12px;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px;padding:15px;font-size:14px;line-height:1.5;display:flex}.toast{background:var(--primary);color:#fff;z-index:100;border-radius:13px;align-items:center;gap:10px;max-width:calc(100vw - 40px);padding:16px 22px;font-size:14px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 7px 30px #0002}.dialog{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:24px;width:530px;max-width:calc(100vw - 32px);max-height:90dvh;padding:0;box-shadow:0 30px 90px #35135433}.dialog.small{width:440px}.dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#22103360}.dialog-content{padding:26px 28px}.dialog-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px;display:flex}.dialog-heading h2{letter-spacing:-.5px;font-size:22px;font-weight:600}.dialog-heading .icon-button{background:var(--bg);color:var(--muted);border:0;width:34px;height:34px}.amount-input{background:#f7f2fd;border:1px solid #ece1f7;border-radius:15px;margin-bottom:22px;padding:19px 20px}.amount-input>label{color:var(--muted);font-size:12px}.amount-input>div{align-items:center;gap:11px;margin-top:9px;display:flex}.amount-input>div>span{color:#ae93cc;font-size:25px}.amount-input input{letter-spacing:-1px;width:100%;min-width:0;color:var(--ink);background:0 0;border:0;padding:0;font-size:35px;font-weight:550;outline:none!important}.amount-input:focus-within{outline-offset:2px;outline:2px solid #b794ef}.form-fields{gap:18px;display:grid}.form-fields label,.transfer-route label{font-size:13px;font-weight:550;display:block}.form-fields input,.form-fields select,.form-fields textarea,.transfer-route select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:9px;min-width:0;margin-top:8px;padding:11px 12px;font-size:14px;display:block}.form-fields textarea{resize:vertical;min-height:72px}.form-fields input::placeholder,.form-fields textarea::placeholder{color:#aea2b8}.form-fields select:disabled,.transfer-route select:disabled{opacity:1;color:var(--muted);background:var(--bg)}.form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.optional{color:#b09fc0;margin-left:5px;font-size:11px;font-weight:400}.split-field{border:none;min-width:0;margin:0;padding:0}.split-field legend{margin-bottom:10px;padding:0;font-size:13px;font-weight:550}.segmented{background:#f3eef9;border-radius:10px;gap:3px;padding:4px;display:flex}.segmented button{color:var(--muted);background:0 0;border:0;border-radius:7px;flex:1;min-height:38px;padding:10px 4px;font-size:13px}.segmented button.selected{color:var(--ink);background:#fff;font-weight:600;box-shadow:0 2px 6px #2035280d}.split-inputs{margin-top:14px}.input-unit{position:relative}.input-unit input{padding-right:35px}.input-unit>span{color:var(--muted);font-size:13px;position:absolute;top:12px;right:12px}.split-preview{background:#fcf9ff;border:1px solid #efe6f8;border-radius:10px;gap:20px;margin-top:14px;padding:13px 15px;display:flex}.split-preview>div{flex:1;justify-content:space-between;align-items:center;gap:5px;font-size:12px;display:flex}.split-preview>div>span{align-items:center;gap:7px;display:flex}.split-preview strong{font-size:13px;font-weight:550}.member-dot.su{background:#d0a3c6}.field-hint{color:#a77049;margin-top:8px;font-size:12px;line-height:1.5}.dialog-actions{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:10px;margin-top:24px;padding-top:21px;display:flex}.dialog .form-error{margin-top:16px}.dialog-copy{color:var(--muted);margin-bottom:19px;font-size:14px;line-height:1.6}.transfer-route{border:1px solid var(--line);border-radius:12px;align-items:center;gap:20px;margin-bottom:20px;padding:15px 17px;display:flex}.transfer-route label{flex:1}.transfer-route select{padding:7px 9px}.transfer-route>div{flex:1;gap:14px;display:grid}.transfer-route small{color:var(--muted);font-size:12px}.transfer-route strong{font-size:15px;font-weight:550}.projection{background:var(--primary-soft);color:#8f6eae;border-radius:10px;align-items:flex-start;gap:10px;margin-top:18px;padding:13px;font-size:13px;line-height:1.5;display:flex}.projection svg{flex-shrink:0}.report{background:#fff;max-width:1100px;min-height:100dvh;margin:auto;padding:40px}.report-tools{justify-content:space-between;gap:15px;margin-bottom:40px;display:flex}.report-header{border-bottom:2px solid var(--ink);justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;padding-bottom:22px;display:flex}.report h1{font-size:25px}.report-header p{color:var(--muted);margin-top:6px;font-size:14px}.report h2{margin:24px 0 15px;font-size:18px}.report-total{margin-bottom:15px;font-size:14px}.report table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:12px}.report th,.report td{text-align:left;border-bottom:1px solid var(--line);overflow-wrap:anywhere;vertical-align:top;padding:10px 7px;line-height:1.5}.report th{background:var(--bg);font-weight:600}.report td strong,.report td small{display:block}.report td small{color:var(--muted);white-space:pre-wrap;font-size:11px}.report td strong{font-weight:550}.report-note,.report footer{color:var(--muted);margin-top:13px;font-size:11px;line-height:1.5}.report footer{border-top:1px solid var(--line);margin-top:30px;padding-top:16px}.spin{animation:1.5s linear infinite spin}body:has(dialog[open]){overflow:hidden}@keyframes pulse{50%{opacity:.3}}@keyframes spin{to{transform:rotate(360deg)}}@media (min-width:1550px){.main-content{padding-top:48px}.summary-grid{gap:22px}.total-card,.person-card{padding:27px 28px}.total-value{font-size:37px}.person-value{font-size:32px}.person-share{margin-top:28px}.total-card .split-bar{margin-top:29px}}@media (max-width:1150px){.sidebar{width:185px;padding:30px 16px}.app-content{width:calc(100% - 185px);margin-left:185px}.topbar{padding:0 25px}.main-content{padding:32px 25px 20px}.summary-grid{gap:12px}.total-card,.person-card{padding:20px 18px}.total-value{font-size:28px}.person-value{font-size:24px}.ledger-heading{align-items:flex-start}.filters{flex-wrap:wrap;justify-content:flex-end}.search-field input{width:130px}.ledger-table td,.ledger-table th{padding-left:12px;padding-right:12px}.ledger-table td:first-child,.ledger-table th:first-child{padding-left:20px}.row-icon,.row-actions .icon-button:first-child{display:none}.person-share{font-size:11px}.person-share strong{font-size:12px}}@media (max-width:850px){.sidebar{width:74px;padding:25px 10px}.sidebar .brand{justify-content:center;gap:0;padding:0;font-size:0}.sidebar .brand-dot,.home-label,.sidebar-bottom,.sidebar nav button{font-size:0}.sidebar .brand-mark{font-size:28px}.sidebar nav{margin-top:38px}.sidebar nav button{justify-content:center;gap:0;padding:15px}.app-content{width:calc(100% - 74px);margin-left:74px}.sidebar-bottom{display:none}.mobile-logout{display:flex}.household>span{display:none}.topbar{height:66px}.page-heading h1{font-size:30px}.balance-card{flex-wrap:wrap;gap:14px}.balance-card>.button{margin-left:59px}.summary-grid{grid-template-columns:1fr 1fr}.total-card{grid-column:1/-1}.total-card .split-bar{max-width:340px}.total-card .card-top{max-width:none}.total-value{margin-top:12px;font-size:34px}.card-month{margin-top:5px}.total-card .split-bar{margin-top:19px}.total-card{position:relative}.person-paid-label{margin-top:20px}.ledger-heading{flex-direction:column;gap:19px}.filters{justify-content:flex-start;width:100%}.search-field{flex:1}.search-field input{width:100%}.app-footer{font-size:10px}}@media (max-width:600px){.sidebar{border-right:0;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffed;width:100%;height:66px;padding:5px 18px 7px;inset:auto 0 0}.sidebar .brand{display:none}.sidebar nav{grid-template-columns:1fr 1fr;gap:12px;margin:0}.sidebar nav button{border-radius:10px;flex-direction:column;gap:3px;padding:6px;font-size:11px}.sidebar nav button svg{width:18px;height:18px}.app-content{width:100%;margin-left:0;padding-bottom:66px}.topbar{height:59px;padding:0 20px}.breadcrumb{gap:10px;font-size:12px}.household{gap:6px}.household .avatar{width:25px;height:25px;font-size:10px}.mobile-logout{background:0 0;border:none;width:31px;height:31px}.main-content{padding:27px 18px 15px}.page-heading{flex-direction:column;align-items:flex-start;gap:18px;margin-bottom:24px}.page-heading .eyebrow{font-size:10px}.page-heading h1{margin-top:8px;font-size:31px}.page-heading p{font-size:13px}.primary-action{width:100%;padding:12px}.period-row{align-items:center;gap:8px;margin-bottom:15px}.period-control{gap:0}.period-control label{display:none}.period-control input{max-width:160px;min-height:38px;padding:8px;font-size:12px}.report-actions{gap:1px}.report-actions .button{gap:5px;min-height:36px;padding:8px 6px;font-size:11px}.report-actions svg{width:14px;height:14px}.report-actions>.icon-button{background:0 0;border:0;width:31px;height:34px}.summary-grid{gap:11px;margin-bottom:16px}.total-card{padding:21px}.total-value{font-size:35px}.total-card .split-bar{max-width:none}.person-card{padding:17px 14px}.person-name{gap:7px;font-size:13px}.person-name .avatar{width:25px;height:25px;font-size:11px}.person-name small,.person-card .card-top>svg{display:none}.person-paid-label{margin-top:19px;font-size:11px}.person-value{font-size:23px}.person-share{flex-wrap:wrap;gap:5px;margin-top:16px;padding-top:12px}.person-share strong{font-size:12px}.balance-card{gap:12px;margin-bottom:24px;padding:17px 15px}.balance-icon{border-radius:10px;width:36px;height:36px}.balance-text .eyebrow{letter-spacing:1px;font-size:8px}.balance-text h2{gap:5px;margin-top:6px;font-size:14px;line-height:1.4}.balance-text h2 strong{width:100%;font-size:19px}.balance-text p{font-size:11px;line-height:1.5}.balance-card>.button{min-height:38px;margin-left:48px;padding:8px 12px;font-size:12px}.ledger-heading{padding:20px 16px}.ledger-heading h2{font-size:17px}.ledger-heading p{font-size:11px}.filters{gap:7px}.search-field{min-width:0;padding:9px 10px}.search-field input{min-width:0;font-size:12px}.payer-filter{gap:3px;padding:8px}.payer-filter select{max-width:86px;font-size:12px}.ledger-table{table-layout:fixed}.ledger-table th:nth-child(2),.ledger-table th:nth-child(3),.desktop-cell{display:none}.ledger-table th{padding:12px 9px}.ledger-table th:first-child{width:52%;padding-left:16px}.ledger-table th.amount-cell{width:33%}.ledger-table td{padding:16px 7px}.ledger-table td:first-child{width:auto;padding-left:16px}.row-actions{width:36px;padding-left:1px!important;padding-right:4px!important}.record-title strong{font-size:13px}.record-title small{max-width:145px;font-size:10px}.mobile-row-meta{color:var(--muted);margin-top:6px;font-size:10px;display:block}.amount-cell>strong{font-size:13px}.amount-cell>small{white-space:normal;font-size:9px;line-height:1.4}.amount-cell{white-space:normal;overflow-wrap:anywhere}.table-footer{padding:13px 16px;font-size:10px}.table-footer>div{gap:7px}.empty-state{padding:35px 20px}.empty-state h3{font-size:16px}.empty-state p{font-size:13px}.app-footer{padding-top:20px;font-size:9px;line-height:1.5}.app-footer>span:last-child{text-align:right;max-width:150px}.toast{width:max-content;font-size:13px;bottom:80px}.dialog{border-radius:20px;width:100%;max-width:calc(100vw - 20px);max-height:94dvh}.dialog-content{padding:22px 20px}.dialog-heading h2{font-size:21px}.form-row{gap:12px}.form-fields input,.form-fields select,.form-fields textarea{padding:11px 9px;font-size:16px}.split-preview{gap:12px;padding:12px}.split-preview>div{flex-direction:column;align-items:flex-start;gap:7px}.dialog-actions{gap:9px}.dialog-actions .button{padding:11px 13px;font-size:13px}.report{padding:22px 14px;overflow-x:auto}.report table{min-width:630px}.report-header{align-items:flex-start}.report h1{font-size:20px}.report-tools .button{padding:10px;font-size:12px}.transfer-route{gap:13px;padding:14px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media print{@page{size:A4 portrait;margin:14mm}html,body{color:#14251c;background:#fff}.report{width:100%;max-width:none;min-height:0;padding:0;overflow:visible}.report-tools{display:none!important}.report table{min-width:0;font-size:10px}.report th,.report td{padding:7px 5px}.report th{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#f3eef8!important}.report tr{break-inside:avoid}.report thead{display:table-header-group}.report h2{break-after:avoid;margin-top:24px;font-size:15px}.report-header{margin-bottom:20px}.report td small,.report-note,.report footer{font-size:9px}.report td strong{font-size:10px}.report-header h1{font-size:22px}}.form-fields label,.transfer-route label,.split-field legend,.sidebar nav button,.button,.period-control input,.search-field input,.payer-filter select,.person-paid-label,.person-share,.person-share strong,.balance-text p,.ledger-heading p,.ledger-table th,.ledger-table td,.date-cell,.payer-chip,.transfer-names,.segmented button{font-size:14px}.record-title small,.record-title .mobile-row-meta,.amount-cell>small,.table-footer,.bar-labels,.app-footer,.login-private,.login-footer,.optional,.card-month{font-size:12px}.card-top,.split-preview>div,.split-preview strong,.projection,.field-hint{font-size:14px}@media (max-width:850px){.home-label{display:none}.sidebar nav button{font-size:0}}@media (max-width:600px){.sidebar nav button{font-size:12px}.sidebar nav{height:100%}.balance-text{flex:calc(100% - 48px)}.balance-text .eyebrow{font-size:10px}.balance-text h2{font-size:16px}.balance-text p{font-size:12px}.balance-card>.button{margin-left:48px;font-size:14px}.record-title strong,.amount-cell>strong{font-size:14px}.record-title small,.record-title .mobile-row-meta,.amount-cell>small{white-space:normal;font-size:12px}.person-paid-label,.person-share,.person-share strong,.table-footer{font-size:12px}.app-footer{flex-direction:column;gap:6px;font-size:12px}.app-footer>span:last-child{text-align:left;max-width:none}.period-control input{font-size:13px}.report-actions .button{font-size:12px}.ledger-heading p,.search-field input,.payer-filter select,.dialog-actions .button,.split-preview>div,.split-preview strong{font-size:14px}.form-fields input,.form-fields select,.form-fields textarea{font-size:16px}}@media print{:root{background:#fff}}.receipt-field{border:1px solid var(--line);border-radius:14px;min-width:0;margin:20px 0 0;padding:16px}.receipt-field legend{align-items:center;gap:7px;padding:0 5px;font-size:14px;font-weight:600;display:flex}.receipt-field label{margin-bottom:8px;font-size:13px;display:block}.receipt-field input{width:100%;max-width:100%;font:inherit;font-size:13px}.receipt-field input::file-selector-button{border:1px solid var(--line);background:var(--primary-soft);color:var(--primary);cursor:pointer;border-radius:8px;margin-right:8px;padding:10px}.receipt-current{overflow-wrap:anywhere;padding-bottom:16px;font-size:14px}.receipt-actions{flex-wrap:wrap;gap:16px;margin-top:10px;display:flex}.receipt-actions a{align-items:center;gap:5px;display:inline-flex}.receipt-actions a,.receipt-actions button,.receipt-selection button,.receipt-link{color:var(--primary);text-underline-offset:3px;font-size:13px;text-decoration:underline}.receipt-actions button,.receipt-selection button{cursor:pointer;font:inherit;background:0 0;border:0;padding:0}.receipt-selection{overflow-wrap:anywhere;font-size:13px;line-height:1.6}.receipt-link{margin:8px 0 0 54px;display:inline-block}.receipt-field .field-hint{font-size:12px;line-height:1.5}@media (max-width:600px){.receipt-link{margin-left:0}.receipt-field{padding:12px}}.brand-name{letter-spacing:-.7px;text-align:left;font-size:21px;line-height:1.04}.brand-name .brand-dot{margin-left:0}.brand-mark{letter-spacing:0;flex-shrink:0;padding:0}.brand-mark svg{display:block}.report .brand-mark{-webkit-print-color-adjust:exact;print-color-adjust:exact}@media (min-width:601px) and (max-width:850px){.sidebar .brand-name{display:none}}
