@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Serif:ital,wght@0,500;0,600;0,700;1,400&family=IBM+Plex+Sans:wght@400;500;600&display=swap";@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Fraunces:wght@600;700&display=swap";.date-range-picker{display:flex;flex-direction:column;gap:1rem;padding:1.5rem;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.date-inputs{display:flex;gap:1rem;flex-wrap:wrap}.date-input-group{display:flex;flex-direction:column;gap:.5rem;flex:1;min-width:200px}.date-input-group label{font-size:.875rem;font-weight:600;color:#333}.date-input-group input[type=date]{padding:.625rem;border:1px solid #ddd;border-radius:4px;font-size:.9375rem;font-family:inherit;transition:border-color .2s}.date-input-group input[type=date]:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.date-presets{display:flex;gap:.5rem;flex-wrap:wrap}.preset-button{padding:.5rem 1rem;background:#f8f9fa;border:1px solid #ddd;border-radius:4px;font-size:.875rem;font-weight:500;color:#333;cursor:pointer;transition:all .2s}.preset-button:hover{background:#e9ecef;border-color:#adb5bd}.preset-button:active{background:#dee2e6}.date-range-error{margin:0;padding:.75rem;background:#fee;border:1px solid #fcc;border-radius:4px;color:#c33;font-size:.875rem}.date-range-picker--dashboard{padding:0;background:transparent;border-radius:0;box-shadow:none;min-width:0;max-width:100%}.date-range-picker--dashboard .date-inputs{gap:.75rem;min-width:0}.date-range-picker--dashboard .date-input-group{min-width:0;flex:1 1 auto}.date-range-picker--dashboard .date-input-group input[type=date]{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.date-range-picker--dashboard .date-presets{gap:.4rem}@media (max-width: 768px){.date-range-picker{padding:1rem}.date-inputs{flex-direction:column}.date-input-group{min-width:100%}.preset-button{flex:1;min-width:calc(50% - .25rem)}}.base-widget{background:var(--card);border:1px solid var(--stroke);border-radius:16px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:clamp(1rem,2.5vw,1.25rem);display:flex;flex-direction:column;gap:.75rem;min-height:0;height:100%}.base-widget-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.base-widget-title{margin:0;font-size:1.05rem;font-weight:600;color:var(--ink)}.base-widget-actions{display:flex;gap:.5rem}.base-widget-content{flex:1;min-height:0;min-width:0}.base-widget-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;gap:1rem;color:#666}.base-widget-loading .spinner{width:32px;height:32px;border:3px solid #f3f3f3;border-top:3px solid #3498db;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.base-widget-error{padding:1rem;background:#fee;border:1px solid #fcc;border-radius:4px}.base-widget-error .error-message{margin:0;color:#c33;font-size:.875rem}@media (max-width: 768px){.base-widget{padding:1rem}.base-widget-title{font-size:1rem}}.spending-overview{display:flex;flex-direction:column;gap:1.5rem}.spending-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.stat{display:flex;flex-direction:column;gap:.5rem}.stat-label{font-size:.875rem;color:#666;font-weight:500}.stat-value{font-size:1.5rem;font-weight:700}.stat-value.amount-withdrawal{color:#e74c3c}.stat-value.amount-deposit,.stat-value.positive{color:#27ae60}.stat-value.negative{color:#e74c3c}.spending-details{display:flex;gap:2rem;padding-top:1rem;border-top:1px solid #eee}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-label{font-size:.75rem;color:#999;text-transform:uppercase;letter-spacing:.5px}.detail-value{font-size:1rem;font-weight:600;color:#333}.comparison{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#f8f9fa;border-radius:4px}.comparison-label{font-size:.875rem;color:#666}.comparison-value{font-size:1rem;font-weight:700}.comparison-value.increase{color:#e74c3c}.comparison-value.decrease{color:#27ae60}@media (max-width: 768px){.spending-stats{grid-template-columns:1fr}.stat-value{font-size:1.25rem}.spending-details{flex-direction:column;gap:1rem}}.category-breakdown{display:flex;flex-direction:column;gap:1.5rem}.category-chart{display:flex;flex-direction:column;gap:1rem}.category-bar{display:grid;grid-template-columns:1fr auto;gap:.75rem;align-items:center}.category-bar.clickable{cursor:pointer;transition:background-color .2s ease;padding:.5rem;margin:-.5rem;border-radius:6px}.category-bar.clickable:hover{background-color:#f8f9fa}.category-bar.clickable:active{background-color:#e9ecef}.category-info{display:flex;align-items:center;gap:.5rem;min-width:0}.category-color{width:12px;height:12px;border-radius:2px;flex-shrink:0}.category-name{font-size:.875rem;color:#333;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.category-percentage{font-size:.75rem;color:#666;font-weight:600;margin-left:auto;flex-shrink:0}.category-bar-container{grid-column:1;height:8px;background:#f0f0f0;border-radius:4px;overflow:hidden}.category-bar-fill{height:100%;border-radius:4px;transition:width .3s ease}.category-amount{grid-column:2;grid-row:1 / 3;font-size:.875rem;font-weight:600;color:#333;text-align:right;white-space:nowrap}.category-summary{display:flex;flex-direction:column;gap:.5rem;padding-top:1rem;border-top:1px solid #eee}.summary-item{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.summary-item span{color:#666}.summary-item strong{color:#333}@media (max-width: 768px){.category-bar{grid-template-columns:1fr;gap:.5rem}.category-amount{grid-column:1;grid-row:3;text-align:left;font-size:.8125rem}.category-bar-container{grid-row:2}}.friend-balances-empty{display:flex;align-items:center;justify-content:center;padding:2rem;text-align:center}.friend-balances-list{display:flex;flex-direction:column;gap:.75rem}.friend-balance-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f8f9fa;border-radius:6px;gap:1rem}.friend-balance-item.clickable{cursor:pointer;transition:background-color .2s ease,transform .1s ease}.friend-balance-item.clickable:hover{background-color:#e9ecef;transform:translateY(-1px)}.friend-balance-item.clickable:active{transform:translateY(0)}.friend-info{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:0}.friend-name{font-size:.9375rem;font-weight:600;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.friend-last-date{font-size:.75rem;color:#999}.balance-amount{display:flex;flex-direction:column;align-items:flex-end;gap:.125rem}.balance-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.balance-value{font-size:1rem;font-weight:700}.balance-amount.owes-me .balance-label,.balance-amount.owes-me .balance-value{color:#27ae60}.balance-amount.i-owe .balance-label,.balance-amount.i-owe .balance-value{color:#e74c3c}@media (max-width: 768px){.friend-balance-item{flex-direction:column;align-items:flex-start}.balance-amount{align-items:flex-start;width:100%}}.monthly-trends{display:flex;flex-direction:column;gap:1rem}.chart-container{width:100%;overflow-x:auto}.line-chart{width:100%;height:auto;min-width:400px}.legend{display:flex;justify-content:center;gap:2rem;padding-top:.5rem}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#666}.legend-color{width:16px;height:3px;border-radius:2px}@media (max-width: 768px){.chart-container{margin:0 -1rem;padding:0 1rem}}.recent-transactions{display:flex;flex-direction:column;gap:1rem}.transactions-list{display:flex;flex-direction:column;gap:.5rem}.transaction-item{display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;padding:.75rem;background:#f8f9fa;border-radius:6px;align-items:center}.transaction-date{font-size:.75rem;color:#666;font-weight:600;white-space:nowrap}.transaction-details{display:flex;flex-direction:column;gap:.25rem;min-width:0}.transaction-narration{font-size:.875rem;color:#333;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transaction-account{font-size:.75rem;color:#999}.transaction-amount{font-size:.9375rem;font-weight:700;white-space:nowrap}.transaction-amount.withdrawal{color:#e74c3c}.transaction-amount.deposit{color:#27ae60}.view-all-link{display:inline-flex;align-items:center;justify-content:center;padding:.75rem;color:#3498db;text-decoration:none;font-size:.875rem;font-weight:600;border-radius:4px;transition:background-color .2s}.view-all-link:hover{background-color:#f0f8ff}@media (max-width: 768px){.transaction-item{grid-template-columns:1fr auto;gap:.5rem}.transaction-date{grid-column:1;grid-row:1}.transaction-details{grid-column:1;grid-row:2}.transaction-amount{grid-column:2;grid-row:1 / 3;align-self:center}}.account-summary{display:flex;flex-direction:column;gap:1rem}.accounts-list{display:flex;flex-direction:column;gap:.75rem}.account-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f8f9fa;border-radius:6px;gap:1rem}.account-item.clickable{cursor:pointer;transition:background-color .2s ease,transform .1s ease}.account-item.clickable:hover{background-color:#e9ecef;transform:translateY(-1px)}.account-item.clickable:active{transform:translateY(0)}.account-info{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:0}.account-number{font-size:.9375rem;font-weight:600;color:#333}.account-meta{display:flex;gap:1rem;font-size:.75rem;color:#999}.account-balance{font-size:1.125rem;font-weight:700;color:#333;white-space:nowrap}.total-balance{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#e8f4f8;border-radius:6px;margin-top:.5rem}.total-balance span{font-size:.875rem;color:#666;font-weight:600}.total-balance strong{font-size:1.25rem;color:#2c3e50}@media (max-width: 768px){.account-item{flex-direction:column;align-items:flex-start}.account-balance{align-self:flex-end}.account-meta{flex-direction:column;gap:.25rem}}.top-categories{display:flex;flex-direction:column;gap:1rem;min-width:0}.top-category-item{display:flex;align-items:center;gap:.75rem}.category-rank{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#e8f4f8;border-radius:50%;font-size:.875rem;font-weight:700;color:#2c3e50;flex-shrink:0}.category-details{flex:1;display:flex;flex-direction:column;gap:.5rem;min-width:0}.category-header{display:flex;align-items:center;gap:.5rem}.category-indicator{width:10px;height:10px;border-radius:2px;flex-shrink:0}.category-name{font-size:.875rem;font-weight:600;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.category-bar-wrapper{height:6px;background:#f0f0f0;border-radius:3px;overflow:hidden}.category-bar-fill{height:100%;border-radius:3px;transition:width .3s ease}.category-stats{display:flex;flex-direction:column;align-items:flex-end;gap:.125rem;flex-shrink:0}.category-amount{font-size:.875rem;font-weight:700;color:#333;white-space:nowrap}.category-percentage{font-size:.75rem;color:#666;font-weight:600}@media (max-width: 1024px){.top-category-item{flex-wrap:wrap;align-items:flex-start}.category-rank{width:24px;height:24px;font-size:.75rem}.category-details{flex:1;min-width:0}.category-stats{flex:1 1 100%;width:100%;max-width:100%;box-sizing:border-box;flex-direction:row;justify-content:space-between;align-items:baseline;gap:.75rem;margin-left:0;margin-top:.125rem;padding-left:calc(24px + .75rem);padding-right:0}.category-amount,.category-percentage{min-width:0}.category-percentage{flex-shrink:0;text-align:right}}.income-vs-expenses{display:flex;flex-direction:column;gap:1.5rem}.comparison-bars{display:flex;flex-direction:column;gap:1rem}.comparison-item{display:flex;flex-direction:column;gap:.5rem}.comparison-label{font-size:.875rem;font-weight:600;color:#666}.comparison-bar{height:32px;background:#f0f0f0;border-radius:6px;overflow:hidden;position:relative}.comparison-bar-fill{height:100%;border-radius:6px;transition:width .3s ease}.income-fill{background:linear-gradient(90deg,#27ae60,#2ecc71)}.expenses-fill{background:linear-gradient(90deg,#e74c3c,#ec7063)}.comparison-value{font-size:1.125rem;font-weight:700;color:#333}.net-savings{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.25rem;border-radius:8px;text-align:center}.net-savings.positive{background:linear-gradient(135deg,#d4edda,#c3e6cb)}.net-savings.negative{background:linear-gradient(135deg,#f8d7da,#f5c6cb)}.savings-label{font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.net-savings.positive .savings-label{color:#155724}.net-savings.negative .savings-label{color:#721c24}.savings-value{font-size:1.75rem;font-weight:700}.net-savings.positive .savings-value{color:#155724}.net-savings.negative .savings-value{color:#721c24}.savings-rate{font-size:.8125rem;font-weight:600}.net-savings.positive .savings-rate{color:#1e7e34}.net-savings.negative .savings-rate{color:#a71d2a}@media (max-width: 768px){.comparison-bar{height:28px}.savings-value{font-size:1.5rem}}.widget-container{width:100%;min-width:0}.widgets-grid{display:grid;grid-template-columns:1fr;gap:clamp(.75rem,2vw,1.125rem);width:100%;align-items:stretch}.widget-grid-item{min-width:0}.widget-size-large,.widget-size-medium,.widget-size-small{grid-column:1 / -1}@media (min-width: 640px){.widgets-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.widget-size-large{grid-column:1 / -1}.widget-size-medium,.widget-size-small{grid-column:auto}}@media (min-width: 1100px){.widgets-grid{gap:1.25rem}}.widget-container-error{padding:.875rem 1rem;margin-bottom:0;background:#ffeeeef2;border:1px solid rgba(252,204,204,.95);border-radius:12px;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.widget-container-error p{margin:0;color:var(--danger, #b93829);flex:1;min-width:0;font-size:.9rem}.retry-button{padding:.5rem 1rem;background:var(--danger, #b93829);color:#fff;border:none;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer;transition:opacity .2s;flex-shrink:0}.retry-button:hover{opacity:.9}.dashboard-widgets-section{display:flex;flex-direction:column;gap:clamp(.75rem,2vw,1rem);margin-bottom:0}.dashboard-widgets-intro{margin:0;padding:0}.dashboard-widgets-title{margin:0 0 .35rem;font-family:Fraunces,serif;font-size:clamp(1.35rem,3.5vw,1.75rem);font-weight:700;letter-spacing:-.02em;color:var(--ink);line-height:1.2}.dashboard-widgets-lead{margin:0;font-size:.9rem;color:var(--muted);line-height:1.45;max-width:42rem}.dashboard-widgets-toolbar{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:flex-start;gap:.75rem 1rem;padding:clamp(.75rem,2vw,1rem) clamp(.875rem,2vw,1.125rem);min-width:0;max-width:100%;box-sizing:border-box}.dashboard-widgets-toolbar .date-range-picker--dashboard{flex:1 1 auto;min-width:0;max-width:100%}.dashboard-refresh-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;flex:0 1 auto;min-width:0;align-self:center;padding:10px 16px;border-radius:12px;font-weight:600;font-size:.875rem}.dashboard-refresh-btn svg{flex-shrink:0}.dashboard-refresh-icon--spinning{animation:dashboard-refresh-spin .9s linear infinite}@keyframes dashboard-refresh-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 1024px){.dashboard-widgets-toolbar{flex-direction:column;align-items:stretch}.dashboard-widgets-toolbar .date-range-picker--dashboard{max-width:100%}.dashboard-refresh-btn{align-self:stretch;width:100%;flex:none}}@media (max-width: 480px){.dashboard-widgets-lead{font-size:.85rem}}.data-table-host{display:grid;gap:10px;min-width:0}.data-table-toolbar{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px}.data-table-toolbar-right{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end;min-width:0}.data-table-columns-menu{position:relative;z-index:2}.data-table-columns-menu summary{list-style:none;cursor:pointer;font-size:.8rem;font-weight:600;color:var(--teal);padding:8px 14px;border-radius:999px;border:1px solid rgba(31,95,89,.25);background:#ffffffd9;-webkit-user-select:none;user-select:none}.data-table-columns-menu summary::-webkit-details-marker{display:none}.data-table-columns-menu[open] summary{border-color:var(--teal);background:#1f5f5914}.data-table-columns-panel{position:absolute;left:0;top:calc(100% + 6px);min-width:220px;max-width:min(320px,92vw);max-height:min(60vh,320px);overflow:auto;padding:10px 12px;border-radius:14px;border:1px solid var(--stroke);background:#fffffff5;box-shadow:var(--shadow);display:grid;gap:8px}.data-table-column-toggle{display:flex;align-items:center;gap:10px;font-size:.85rem;color:var(--ink);cursor:pointer}.data-table-column-toggle input{width:18px;height:18px;accent-color:var(--teal);flex-shrink:0}.data-table-scroll{border-radius:14px;min-width:0;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch}.data-table-empty{margin:0;padding:16px;color:var(--muted);font-size:.95rem}.data-table-resize-overlay{position:fixed;top:0;right:0;bottom:0;left:0;cursor:col-resize;z-index:9999;touch-action:none}.data-table-resize-line{position:fixed;top:0;bottom:0;width:2px;background:var(--teal);z-index:10000;pointer-events:none}.data-table{display:grid;gap:10px;min-width:0}.data-table-head{display:none}.data-table-head-cell{position:relative;display:inline-flex;align-items:center;min-width:0;padding-right:10px}.data-table-head-static{font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-weight:600}.data-table-sort-btn{display:inline-flex;align-items:center;gap:6px;min-width:0;padding:0;border:none;background:none;font:inherit;font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-weight:600;cursor:pointer;text-align:left}.data-table-sort-btn:hover{color:var(--teal)}.data-table-sort-icon{font-size:.65rem;opacity:.9}.data-table-sort-icon.muted{opacity:.35}.data-table-col-resizer{position:absolute;right:-4px;top:0;height:100%;width:12px;margin:0;padding:0;cursor:col-resize;touch-action:none;background:transparent;border:none;display:none}.data-table-col-resizer:after{content:"";display:block;width:2px;height:60%;margin:0 auto;border-radius:2px;background:#1f5f5940;transition:background .15s ease,height .15s ease}.data-table-col-resizer:hover:after{background:var(--teal);height:80%}.data-table-body{display:grid;gap:10px;min-width:0}.data-table-row{position:relative;display:grid;gap:8px;padding:12px 12px 12px 16px;border-radius:16px;background:#fffc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.5);box-shadow:0 4px 12px #1e1b1614;overflow:hidden;transition:box-shadow .2s ease;min-width:0}@media (hover: hover){.data-table-row:hover{transform:translateY(-1px);box-shadow:0 6px 16px #1e1b161f}}.data-table-cell{display:grid;gap:4px;min-width:0}.data-table-cell-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}.data-table-cell-value{min-width:0;font-size:.9rem;line-height:1.35}.data-table-cell-value strong{font-weight:600;color:var(--ink)}.data-table-cell-trim,.data-table-cell-trim strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table-row-after{grid-column:1 / -1;min-width:0}.data-table-row.transaction-withdrawal:before,.data-table-row.transaction-deposit:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}.data-table-row.transaction-withdrawal:before{background:var(--danger)}.data-table-row.transaction-deposit:before{background:var(--success)}@media (max-width: 1099px){.data-table-cell-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.data-table-cell{display:block}.data-table-body,.data-table{gap:12px}.data-table-row{display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:14px 14px 14px 18px;border-radius:10px;border:1px solid var(--stroke);background:#fffffff0;box-shadow:0 1px #1e1b160a,0 10px 28px #1e1b1612}@media (hover: hover){.data-table-row:hover{transform:none;box-shadow:0 1px #1e1b160f,0 12px 32px #1e1b1617}}.data-table-mobile-hero{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;width:100%;min-width:0;padding-bottom:2px}.data-table-mobile-hero .data-table-cell--hero{flex:0 0 auto;min-width:0}.data-table-mobile-hero .data-table-cell--hero:first-child{flex:1;min-width:0}.data-table-mobile-hero .data-table-cell--hero:last-child{flex-shrink:0}.data-table-mobile-hero .data-table-cell-value{display:flex;align-items:center;min-width:0}.data-table-mobile-hero .transaction-date{font-size:1rem;font-weight:700;color:var(--ink);font-family:inherit;letter-spacing:-.02em}.data-table-mobile-hero .transaction-amount{font-size:1.12rem;font-weight:700;letter-spacing:-.02em}.data-table-mobile-hero .data-table-cell[data-col-id=direction] .data-table-cell-value strong{font-size:.82rem;font-weight:700;color:var(--ink)}.data-table-mobile-hero+.data-table-cell--meta{margin-top:6px;padding-top:10px;border-top:1px solid rgba(30,27,22,.07)}.data-table-cell--meta .data-table-cell-value{font-size:.9rem;line-height:1.45;color:var(--ink)}.data-table-cell--meta .data-table-cell-value strong{font-weight:600;color:var(--ink)}.data-table-row .data-table-cell-trim{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}.data-table-row .data-table-cell-trim strong{white-space:normal;display:inline;-webkit-line-clamp:unset;-webkit-box-orient:unset}.data-table-columns-menu summary{border-radius:10px}}@media (min-width: 1100px){.data-table-head{display:grid;grid-template-columns:var(--data-table-columns);align-items:center;padding:0 12px;gap:10px}.data-table-col-resizer{display:inline-flex}.data-table-row{display:grid;grid-template-columns:var(--data-table-columns);align-items:center;gap:10px}.data-table-cell-label{display:none}.data-table-cell{min-width:0}.data-table-cell-value .data-table-cell-trim,.data-table-cell-value .data-table-cell-trim strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.data-table-cell--actions .data-table-cell-value{display:flex;justify-content:flex-end}@media (hover: hover){.data-table-row:hover{transform:translateY(-1px);box-shadow:0 6px 16px #1e1b161f}}}.statement-import-intro{margin-bottom:clamp(1rem,3vw,1.5rem)}.statement-import-title{margin:0 0 .35rem;font-family:Fraunces,serif;font-size:clamp(1.35rem,3.5vw,1.75rem);font-weight:700;letter-spacing:-.02em;color:var(--ink);line-height:1.2}.statement-import-lead{margin:0;font-size:.9rem;color:var(--muted);line-height:1.45;max-width:40rem}.statement-import-top{display:grid;gap:20px;margin-bottom:20px}@media (max-width: 480px){.statement-import-lead{font-size:.85rem}}@media (max-width: 1099px){.statement-imports-table .data-table-cell-label{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;clip-path:none;white-space:normal;border:0;font-size:.72rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.statement-imports-table .data-table-cell{display:grid;grid-template-columns:minmax(7.5rem,10rem) minmax(0,1fr);gap:4px 12px;align-items:start;padding:10px 0;border-bottom:1px solid rgba(30,27,22,.1)}.statement-imports-table .data-table-row .data-table-cell:last-child{border-bottom:none;padding-bottom:2px}.statement-imports-table .data-table-row .data-table-cell:first-child{padding-top:2px}.statement-imports-table .data-table-cell--actions .data-table-cell-value{justify-self:start;width:100%;max-width:12rem}.statement-imports-table .data-table-cell--actions .ghost{width:100%;min-height:44px}}.mobile-txn-card{position:relative;border-radius:18px;overflow:hidden;text-align:left}.mobile-txn-card__clickable{position:relative;cursor:pointer;-webkit-tap-highlight-color:rgba(31,95,89,.12);border-radius:18px}.mobile-txn-card__clickable:focus{outline:none}.mobile-txn-card__clickable:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.mobile-txn-card__clickable--static{cursor:default;-webkit-tap-highlight-color:transparent}.mobile-txn-card__accent{position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:18px 0 0 18px;pointer-events:none}.mobile-txn-card--out .mobile-txn-card__accent{background:var(--danger)}.mobile-txn-card--in .mobile-txn-card__accent{background:var(--success)}.mobile-txn-card__shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(108px,38%);gap:10px 12px;align-items:stretch;padding:16px 16px 16px 20px}.mobile-txn-card__left{min-width:0}.mobile-txn-card__right{display:flex;flex-direction:column;align-items:stretch;text-align:right;min-width:0}.mobile-txn-card__meta{margin:0;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);display:flex;flex-wrap:wrap;align-items:center;gap:4px}.mobile-txn-card__meta-sep{opacity:.5;font-weight:500}.mobile-txn-card__title{margin:6px 0 0;font-family:Fraunces,serif;font-size:1.05rem;font-weight:600;line-height:1.25;color:var(--ink);letter-spacing:-.02em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mobile-txn-card__account{margin:4px 0 0;font-size:.68rem;font-family:ui-monospace,monospace;color:var(--muted);letter-spacing:.02em}.mobile-txn-card__badge-manual{display:inline-block;margin-top:6px;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:3px 8px;border-radius:999px;background:#1f5f591f;color:var(--teal)}.mobile-txn-card__amounts{text-align:right;flex-shrink:0;min-width:0;align-self:flex-end;width:100%}.mobile-txn-card__amount{display:block;font-size:1.35rem;font-weight:700;letter-spacing:-.03em;line-height:1.1}.mobile-txn-card__amount.is-out{color:var(--danger)}.mobile-txn-card__amount.is-in{color:var(--success)}.mobile-txn-card__balance{display:block;margin-top:4px;font-size:.68rem;color:var(--muted);font-weight:600}.mobile-txn-card__desc{margin:8px 0 0;padding-left:0;font-size:.78rem;line-height:1.45;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mobile-txn-card__category{margin-top:auto;padding-top:10px;width:100%;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.mobile-txn-card__category-select{--txn-cat-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' fill='none' stroke='%236c6258' stroke-width='1.35' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");max-width:100%;width:auto;min-width:0;margin:0;padding:4px 22px 4px 0;border:none;border-radius:6px;background-color:transparent;background-image:var(--txn-cat-chevron);background-repeat:no-repeat;background-position:right 2px center;background-size:12px 12px;color:var(--ink);font-family:inherit;font-size:.8rem;font-weight:600;line-height:1.3;text-align:right;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box}.mobile-txn-card__category-select:focus{outline:none}.mobile-txn-card__category-select:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.mobile-txn-card__category-select:disabled{opacity:.55;cursor:wait}.mobile-txn-card__category-select--empty{color:var(--muted)}.mobile-txn-card__category-select option{color:var(--ink);background:#fff}.mobile-txn-card__category-status{display:block;font-size:.62rem;font-weight:600;color:var(--muted);line-height:1.2;text-align:right}.mobile-txn-card__expanded{border-top:1px solid var(--stroke);padding:16px 16px 18px 20px;background:#f6f2ea73}.mobile-txn-card__expanded .friend-tags-panel{border-radius:14px;border:1px solid var(--stroke);background:#ffffffeb;box-shadow:none}.mobile-txn-card__expanded .txn-assign-section{background:linear-gradient(135deg,#1f5f5914,#1f5f5908)}.mobile-txn-card__expanded .friend-tags-header h3{display:flex;align-items:center;gap:8px}.mobile-txn-card__expanded .friend-tags-header h3:before{content:"🏷";font-size:1rem}.txn-premium-filters .select-wrap select{width:100%;min-height:44px;border:1px solid var(--stroke);border-radius:12px;padding:10px 12px;background:#fff;color:var(--ink);font-weight:600;font-family:inherit;font-size:.9rem}.txn-premium-filters .select-wrap select:focus{outline:2px solid var(--teal);outline-offset:1px}@media (min-width: 720px){.txn-premium-filters .select-wrap select{min-height:unset}}.data-table-cell--category{min-width:0}.data-table-cell--category .data-table-cell-value{min-width:0;overflow:visible}.data-table-category-cell{display:flex;flex-direction:column;gap:4px;min-width:0;width:100%}.data-table-category-select{--txn-cat-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' fill='none' stroke='%236c6258' stroke-width='1.35' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");width:100%;max-width:100%;min-width:0;margin:0;padding:4px 22px 4px 2px;border:none;border-radius:6px;background-color:transparent;background-image:var(--txn-cat-chevron);background-repeat:no-repeat;background-position:right 2px center;background-size:12px 12px;color:var(--ink);font-weight:600;font-family:inherit;font-size:.82rem;line-height:1.35;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left}.data-table-category-select--empty{color:var(--muted)}.data-table-category-select:focus{outline:none}.data-table-category-select:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.data-table-category-select:disabled{opacity:.55;cursor:wait}.data-table-category-select option{color:var(--ink);background:#fff}.data-table-category-status{font-size:.68rem;font-weight:600;color:var(--muted);line-height:1.2}.txn-assign-section{margin-bottom:4px;padding:14px 16px;border-radius:14px;background:linear-gradient(135deg,#1f5f5912,#1f5f5908);border:1px solid rgba(31,95,89,.14);display:grid;gap:10px}.txn-assign-section__eyebrow{margin:0;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--teal)}.txn-assign-section__row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.txn-assign-select{flex:1 1 160px;min-width:0;min-height:44px;border:1px solid var(--stroke);border-radius:12px;padding:10px 12px;background:#fff;color:var(--ink);font-weight:600;font-family:inherit;font-size:.9rem}.txn-assign-select:focus{outline:2px solid var(--teal);outline-offset:1px}.txn-assign-status{font-size:.8rem;color:var(--muted);font-weight:500}.settlement-link-list{display:grid;gap:8px;max-height:min(240px,42vh);overflow:auto;padding:12px;background:#fff;border-radius:14px;border:1px solid var(--stroke);-webkit-overflow-scrolling:touch}.settlement-link-item{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:12px;cursor:pointer;border:1px solid transparent;background:#f6f2ea8c;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.settlement-link-item:hover{background:#1f5f590f}.settlement-link-item--selected{background:#1f5f591a;border-color:#1f5f5947;box-shadow:0 2px 8px #1f5f5914}.settlement-link-item__check{width:20px;height:20px;min-width:20px;margin-top:2px;accent-color:var(--teal);cursor:pointer}.settlement-link-item__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.settlement-link-item__top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.settlement-link-item__date{font-size:.85rem;font-weight:600;color:var(--ink)}.settlement-link-item__amount{font-size:.92rem;font-weight:700;color:var(--teal)}.settlement-link-item__upi{font-size:.8rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settlement-dir-pill{font-size:.72rem;padding:4px 10px;border-radius:999px;font-weight:600}.settlement-dir-pill--owe{background:#b938291f;color:var(--danger)}.settlement-dir-pill--me{background:#1b7a391f;color:var(--success)}.settlement-dir-pill--none{background:#6c62581f;color:var(--muted)}.txn-tag-form{gap:14px}.txn-tag-form .tag-form-row.txn-tag-form__primary{display:grid;grid-template-columns:1fr;gap:10px;align-items:stretch}.txn-tag-form .tag-form-row.txn-tag-form__primary>select,.txn-tag-form .tag-form-row.txn-tag-form__primary>input{width:100%;min-width:0!important;min-height:44px}.txn-tag-form .tag-form-row.txn-tag-form__note{display:grid;grid-template-columns:1fr;gap:10px}.txn-tag-form .tag-form-row.txn-tag-form__note>.note-input{min-height:44px;width:100%;min-width:0!important}.txn-tag-form .tag-form-row.txn-tag-form__note>.secondary{width:100%;justify-content:center;min-height:44px}@media (min-width: 720px){.txn-tag-form .tag-form-row.txn-tag-form__primary{grid-template-columns:repeat(2,minmax(0,1fr))}.txn-tag-form .tag-form-row.txn-tag-form__primary>select:last-child{grid-column:1 / -1}}@media (min-width: 1100px){.txn-tag-form .tag-form-row.txn-tag-form__primary{display:flex;flex-wrap:nowrap;gap:12px}.txn-tag-form .tag-form-row.txn-tag-form__primary>select,.txn-tag-form .tag-form-row.txn-tag-form__primary>input{flex:1;min-width:140px;min-height:unset}.txn-tag-form .tag-form-row.txn-tag-form__primary>select:last-child{grid-column:auto}.txn-tag-form .tag-form-row.txn-tag-form__note{display:flex;flex-wrap:nowrap;gap:12px;align-items:center}.txn-tag-form .tag-form-row.txn-tag-form__note>.note-input{flex:2;min-width:200px;min-height:unset}.txn-tag-form .tag-form-row.txn-tag-form__note>.secondary{width:auto;min-height:unset}}.txn-manual-form{gap:16px}.txn-manual-form__head{padding-bottom:2px}.txn-form-section{display:grid;gap:10px}.txn-form-section__label{margin:0;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.txn-manual-form .form-grid{gap:12px}.txn-manual-form .field input,.txn-manual-form .field select{min-height:44px;border-radius:12px}.txn-manual-form .field input:disabled,.txn-input--muted{background:#f6f2ead9!important;color:var(--muted);cursor:not-allowed}.txn-manual-form__actions{flex-direction:column;align-items:stretch;gap:8px}.txn-manual-form__actions .secondary{width:100%;justify-content:center;min-height:46px}@media (min-width: 720px){.txn-manual-form__actions{flex-direction:row;flex-wrap:wrap;align-items:center}.txn-manual-form__actions .secondary{width:auto}}.range-form--premium .txn-field{display:grid;gap:6px}.range-form--premium .txn-field span{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.range-form--premium .txn-field input[type=date]{min-height:44px;border:1px solid var(--stroke);border-radius:12px;padding:10px 12px;background:#fff;color:var(--ink);font-weight:600;font-family:inherit;font-size:.9rem}.range-form--premium .txn-field input[type=date]:focus{outline:2px solid var(--teal);outline-offset:1px}.range-form--premium button.secondary{min-height:44px}@media (min-width: 720px){.range-form--premium .txn-field input[type=date],.range-form--premium button.secondary{min-height:unset}}.settlement-section{padding:14px 16px;background:#ffffffbf;border-radius:14px;border:1px solid rgba(31,95,89,.12)}.settlement-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--teal);margin:0 0 8px}.friend-tag-row{border-radius:14px;border:1px solid rgba(31,95,89,.1);background:#ffffffa6}.friend-tag-row>button.ghost{border-radius:12px;min-height:40px}@media (max-width: 719px){.friend-tag-row>button.ghost{min-height:44px}}.friend-tag-row--note-only{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px 12px;padding:12px 14px}.friend-tag-row--note-only .friend-tag-row__note{flex:1 1 160px;min-width:0}.friend-tag-row__note-value{font-size:.92rem;font-weight:600;color:var(--ink);line-height:1.4;word-break:break-word}.friend-tag-row--note-only .friend-tag-row__settles{flex:1 1 100%;display:grid;gap:4px}.friend-tag-row__settles-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.friend-tag-row--note-only>button.ghost{flex-shrink:0;margin-left:auto}.split-txn-form{margin-bottom:16px;padding:14px 16px;border-radius:14px;border:1px solid rgba(31,95,89,.14);background:linear-gradient(135deg,#1f5f590f,#ffffff80);display:grid;gap:12px}.split-txn-form__title{margin:0;font-size:.95rem;font-weight:700;color:var(--ink)}.split-txn-form__total{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;font-weight:600;color:var(--muted)}.split-txn-form__total strong{font-size:1rem;color:var(--teal)}.split-txn-method-row{display:flex;flex-wrap:nowrap;gap:0;width:100%;border-radius:10px;overflow:hidden;border:1px solid var(--stroke);background:#fff}.split-txn-method{flex:1;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;border-right:1px solid var(--stroke);border-radius:0;background:#fff;color:var(--ink);font-weight:600;font-family:inherit;cursor:pointer;min-height:44px;padding:8px 4px;-webkit-tap-highlight-color:transparent}.split-txn-method:last-child{border-right:none}.split-txn-method__icon{display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:700;line-height:1;color:#4a433c}.split-txn-method__icon--exact{font-size:.72rem;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.split-txn-method__icon--adjust{font-size:.85rem;font-weight:700}.split-txn-method__bars{display:block;vertical-align:middle}.split-txn-method__label{display:none}.split-txn-method--active{background:var(--teal);color:#fff;border-color:var(--teal);position:relative;z-index:1;box-shadow:0 0 0 1px var(--teal)}.split-txn-method--active .split-txn-method__icon{color:#fff}.split-txn-method:focus-visible{outline:2px solid var(--teal);outline-offset:2px;z-index:2}@media (min-width: 720px){.split-txn-method-row{flex-wrap:wrap;gap:8px;border:none;border-radius:0;overflow:visible;background:transparent}.split-txn-method{flex:0 1 auto;min-height:unset;padding:8px 14px;border:1px solid var(--stroke);border-radius:10px}.split-txn-method__label{display:inline;font-size:.8rem}.split-txn-method--active{box-shadow:none;background:var(--teal);color:#fff;border-color:var(--teal)}}.split-txn-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--teal)}.split-txn-direction{width:100%;min-height:44px;border:1px solid var(--stroke);border-radius:12px;padding:10px 12px;background:#fff;color:var(--ink);font-weight:600;font-family:inherit;font-size:.9rem}.split-txn-direction:focus{outline:2px solid var(--teal);outline-offset:1px}.split-txn-label-optional{font-weight:600;text-transform:none;letter-spacing:normal;color:var(--muted);font-size:.68rem}.split-txn-note{width:100%;min-height:72px;border:1px solid var(--stroke);border-radius:12px;padding:10px 12px;box-sizing:border-box;background:#fff;color:var(--ink);font-weight:500;font-family:inherit;font-size:.9rem;line-height:1.4;resize:vertical}.split-txn-note:focus{outline:2px solid var(--teal);outline-offset:1px}.split-txn-note-hint{margin:-2px 0 0;font-size:.72rem;font-weight:600;color:var(--muted);text-align:right}.split-txn-participant-search-wrap{display:grid;gap:6px}.split-txn-participant-search{width:100%;min-height:44px;border:1px solid var(--stroke);border-radius:12px;padding:10px 12px;box-sizing:border-box;background:#fff;color:var(--ink);font-weight:600;font-family:inherit;font-size:.9rem}.split-txn-participant-search::placeholder{color:var(--muted);font-weight:500}.split-txn-participant-search:focus{outline:2px solid var(--teal);outline-offset:1px}.split-txn-participant-chips{display:flex;flex-wrap:wrap;gap:6px}.split-txn-chip{display:inline-flex;align-items:center;gap:2px;max-width:100%;padding:5px 4px 5px 10px;border-radius:999px;background:#1f5f591f;border:1px solid rgba(31,95,89,.22);font-size:.8rem;font-weight:600;color:var(--ink)}.split-txn-chip__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:11rem}.split-txn-chip__remove{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin:0;padding:0;border:none;border-radius:999px;background:transparent;color:var(--muted);font-size:1.15rem;font-weight:600;line-height:1;cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent}.split-txn-chip__remove:hover{background:#1f5f591f;color:var(--ink)}.split-txn-chip__remove:focus-visible{outline:2px solid var(--teal);outline-offset:1px}button.split-txn-friend-row{flex:none;box-sizing:border-box;width:100%;margin:0;display:flex;align-items:center;text-align:left;font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button.split-txn-friend-row:focus-visible{outline:2px solid var(--teal);outline-offset:1px;z-index:1}.split-txn-friend-empty{padding:12px 8px;text-align:center}.split-txn-friend-list{display:grid;gap:8px;max-height:min(220px,40vh);overflow:auto;-webkit-overflow-scrolling:touch}.split-txn-friend-item{margin:0}.split-txn-friend-name{font-weight:600;font-size:.88rem}.split-txn-grid{display:grid;gap:10px}.split-txn-field span{font-size:.78rem;font-weight:600;color:var(--muted)}.split-txn-field input{width:100%;min-height:40px;border:1px solid var(--stroke);border-radius:10px;padding:8px 10px;font-family:inherit;font-weight:600}.split-txn-results__title{margin:0;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--teal)}.split-txn-results__list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.split-txn-results__list li{display:flex;justify-content:space-between;align-items:center;font-size:.85rem}.split-txn-delta{font-size:.82rem;font-weight:600;padding:8px 10px;border-radius:10px;background:#6c625814;color:var(--muted)}.split-txn-delta--ok{background:#1b7a391a;color:var(--success)}.split-txn-delta--over{background:#b938291a;color:var(--danger)}.split-txn-errors{margin:0;padding-left:18px;font-size:.8rem;color:var(--danger);font-weight:600}.split-txn-actions{display:flex;flex-wrap:wrap;gap:8px}.split-txn-actions .secondary:disabled{opacity:.5;cursor:not-allowed}@media (min-width: 720px){.split-txn-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.calendar-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e1b168c;z-index:2000;display:flex;align-items:flex-end;justify-content:center;padding:0;padding-bottom:env(safe-area-inset-bottom,0px)}@media (min-width: 720px){.calendar-sheet-backdrop{align-items:center;padding:24px}}.calendar-sheet{width:100%;max-width:520px;max-height:min(88vh,720px);max-height:min(88dvh,720px);background:#fff;border-radius:22px 22px 0 0;box-shadow:0 -12px 48px #1e1b1638;display:flex;flex-direction:column;overflow:hidden;min-height:0;animation:calendar-sheet-up .22s ease-out}@media (min-width: 720px){.calendar-sheet{border-radius:20px;max-height:min(85vh,680px);animation:calendar-sheet-fade .2s ease-out}}@keyframes calendar-sheet-up{0%{transform:translateY(100%);opacity:.85}to{transform:translateY(0);opacity:1}}@keyframes calendar-sheet-fade{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.calendar-sheet__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 18px 12px;border-bottom:1px solid var(--stroke);flex-shrink:0}.calendar-sheet__header>div:first-child{min-width:0}.calendar-sheet__header h3{margin:0;font-family:Fraunces,serif;font-size:1.15rem;color:var(--ink)}.calendar-sheet__header p{margin:4px 0 0;font-size:.85rem}.calendar-sheet__header-meta{margin:6px 0 0;font-size:.8rem;color:var(--muted);line-height:1.45;overflow-wrap:anywhere}.calendar-sheet__close{flex-shrink:0;min-width:44px;min-height:44px}.calendar-sheet__body{padding:16px 18px calc(20px + env(safe-area-inset-bottom,0));overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;-webkit-overflow-scrolling:touch;display:grid;gap:16px}.calendar-sheet__actions{display:grid;gap:10px}.calendar-sheet__actions--single{gap:10px}.calendar-sheet__actions button{width:100%;justify-content:center;min-height:48px;font-weight:600}.calendar-sheet__actions .calendar-action-primary{background:var(--teal);color:#fff;border:none;border-radius:14px;padding:12px 16px;cursor:pointer;box-shadow:0 10px 24px #1f5f5940}.calendar-sheet__actions .calendar-action-primary:hover{filter:brightness(1.05)}.calendar-sheet__actions .calendar-action-secondary{background:#f6f2eae6;color:var(--ink);border:1px solid var(--stroke);border-radius:14px;padding:12px 16px;cursor:pointer;font-weight:600}.calendar-sheet__actions .calendar-action-secondary:hover{background:#1f5f590f}.calendar-manage-list{display:grid;gap:12px}.calendar-back-link{background:none;border:none;color:var(--teal);font-weight:600;font-size:.88rem;cursor:pointer;padding:8px 0;text-align:left;font-family:inherit}.calendar-back-link:hover{text-decoration:underline}.calendar-summary-strip{display:flex;flex-wrap:wrap;gap:16px;padding:12px 14px;background:#f6f2eaa6;border-radius:14px;border:1px solid var(--stroke);font-size:.82rem}.calendar-summary-strip strong{color:var(--ink);display:block;font-size:.95rem}.calendar-manage-shell{padding:14px 16px;display:grid;gap:14px;min-width:0}.calendar-manage-shell__head{display:grid;gap:6px}.calendar-manage-shell__title{margin:0;font-family:Fraunces,serif;font-size:1.05rem;color:var(--ink)}.calendar-manage-shell__sub{margin:0;font-size:.85rem;color:var(--muted);line-height:1.45}.calendar-manage-shell__empty{margin:0}.calendar-manage-shell .friend-tags-panel{gap:12px}.calendar-sheet,.calendar-sheet .calendar-sheet__body{min-width:0}.calendar-sheet .calendar-manage-shell,.calendar-sheet .friend-tags-panel{min-width:0;max-width:100%;box-sizing:border-box;overflow-x:hidden}.calendar-sheet .friend-tags-form,.calendar-sheet .friend-tags-list{min-width:0;max-width:100%}.calendar-sheet .friend-tags-list.friend-tagged-mobile{display:grid;gap:12px}.calendar-sheet .friend-tags-list.friend-tagged-mobile .mobile-txn-card{min-width:0}.calendar-sheet .friend-tag-sheet-remove{margin-top:14px;width:100%;box-sizing:border-box;min-height:44px}.calendar-sheet .tag-form-row{flex-wrap:wrap}.calendar-sheet .tag-form-row>select,.calendar-sheet .tag-form-row>input{flex:1 1 100%;min-width:0!important;max-width:100%;width:100%;box-sizing:border-box}.calendar-sheet .tag-form-row>.note-input{flex:1 1 100%;min-width:0!important}.calendar-sheet .tag-form-row .secondary{width:100%;box-sizing:border-box}.calendar-sheet .settlement-section{min-width:0;max-width:100%;box-sizing:border-box}.calendar-sheet .friend-tag-row{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:12px;align-items:start}.calendar-sheet .friend-tag-row--note-only{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px 12px;padding:12px 14px}.calendar-sheet .friend-tag-row--note-only>button.ghost{width:auto;max-width:none;flex-shrink:0;margin-left:auto}.calendar-sheet .friend-tag-row>div{min-width:0}.calendar-sheet .friend-tag-row>div>strong{white-space:normal;overflow:visible;text-overflow:unset;word-break:break-word}.calendar-sheet .friend-tag-row>button{grid-column:1;width:100%;max-width:100%;justify-self:stretch;box-sizing:border-box}.calendar-sheet .friend-tag-row--note-only>button{grid-column:unset}.calendar-sheet .manual-form .form-grid{grid-template-columns:minmax(0,1fr)}.calendar-sheet .txn-tag-form .tag-form-row.txn-tag-form__primary{display:grid!important;grid-template-columns:1fr!important;flex-wrap:unset!important}.calendar-sheet .txn-tag-form .tag-form-row.txn-tag-form__primary>select,.calendar-sheet .txn-tag-form .tag-form-row.txn-tag-form__primary>input{flex:unset!important;min-height:44px}@media (min-width: 400px){.calendar-sheet .txn-tag-form .tag-form-row.txn-tag-form__primary{grid-template-columns:repeat(2,minmax(0,1fr))!important}.calendar-sheet .txn-tag-form .tag-form-row.txn-tag-form__primary>select:last-of-type{grid-column:1 / -1}}.calendar-sheet .txn-tag-form .tag-form-row.txn-tag-form__note{display:grid!important;grid-template-columns:1fr!important}.calendar-sheet .txn-tag-form .tag-form-row.txn-tag-form__note>.secondary{width:100%!important}@media (max-width: 719px){.calendar-manage-shell{padding:12px}}.calendar-view-toggle{display:flex;gap:8px;padding:10px 12px;margin-bottom:14px;border-radius:16px}.calendar-view-toggle__btn{flex:1;min-height:44px;border-radius:12px;border:1px solid var(--stroke, rgba(255, 255, 255, .12));background:transparent;color:var(--ink-muted, inherit);font:inherit;font-weight:600;cursor:pointer}.calendar-view-toggle__btn--active{background:var(--accent-soft, rgba(46, 196, 182, .18));border-color:var(--accent, #2ec4b6);color:var(--ink, inherit)}.calendar-card{gap:14px;min-width:0;max-width:100%;box-sizing:border-box}.calendar-card .card-header>div:first-child{min-width:0;max-width:100%}.calendar-card .card-header p{overflow-wrap:anywhere;word-wrap:break-word;max-width:100%}.calendar-filters.glass-panel{padding:16px;min-width:0;max-width:100%;box-sizing:border-box;overflow-x:clip}.calendar-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.calendar-toolbar h2{font-size:1.25rem;margin:0}.calendar-nav-cluster{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.calendar-nav-cluster button{min-width:44px;min-height:44px}.calendar-month-label{font-family:Fraunces,serif;font-size:clamp(1.05rem,3.5vw,1.35rem);font-weight:700;color:var(--ink);min-width:0;flex:1 1 6.5rem;text-align:center}.calendar-grid-wrap{width:100%;min-width:0;max-width:100%;overflow-x:clip;box-sizing:border-box}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-bottom:6px;min-width:0}.calendar-weekdays span{text-align:center;font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:6px 1px;min-width:0}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;min-width:0;width:100%}.calendar-cell{aspect-ratio:1;min-width:0;width:100%;max-width:100%;min-height:48px;max-height:88px;border-radius:14px;border:1px solid var(--stroke);background:#ffffff8c;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:6px 4px 8px;gap:2px;cursor:default;box-sizing:border-box;transition:background .15s ease,border-color .15s ease,transform .12s ease}.calendar-cell--muted{opacity:.38;pointer-events:none}.calendar-cell--today{border-color:#1f5f5973;box-shadow:0 0 0 1px #1f5f591f}.calendar-cell--has-data{cursor:pointer}.calendar-cell--cats-complete{background:#1b7a3924;border-color:#1b7a3938}.calendar-cell--cats-incomplete{background:#b938291f;border-color:#b9382947}.calendar-cell--has-data:hover,.calendar-cell--has-data:focus-visible{background:#1f5f5914;border-color:#1f5f5940;transform:translateY(-1px);outline:none}.calendar-cell--has-data.calendar-cell--cats-complete:hover,.calendar-cell--has-data.calendar-cell--cats-complete:focus-visible{background:#1b7a3938;border-color:#1b7a3952}.calendar-cell--has-data.calendar-cell--cats-incomplete:hover,.calendar-cell--has-data.calendar-cell--cats-incomplete:focus-visible{background:#b938292e;border-color:#b9382961}.calendar-cell__dow-num{font-size:.8rem;font-weight:700;color:var(--ink);line-height:1.2}.calendar-cell__net{font-size:clamp(.58rem,2.4vw,.72rem);font-weight:700;line-height:1.15;text-align:center;width:100%;max-width:100%;padding:0 1px;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.calendar-cell__net--in{color:var(--success)}.calendar-cell__net--out{color:var(--danger)}.calendar-cell__net--zero{color:var(--teal)}.calendar-cell__count{font-size:.58rem;font-weight:600;color:var(--muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 1px}.calendar-legend{display:flex;flex-wrap:wrap;gap:14px 20px;font-size:.78rem;color:var(--muted);padding-top:4px}.calendar-legend span{display:inline-flex;align-items:center;gap:6px}.calendar-legend i{width:10px;height:10px;border-radius:50%;background:var(--muted)}.calendar-legend i.in{background:var(--success)}.calendar-legend i.out{background:var(--danger)}.calendar-legend i.cats-ok{background:#1b7a398c;box-shadow:inset 0 0 0 1px #1b7a3959}.calendar-legend i.cats-miss{background:#b9382980;box-shadow:inset 0 0 0 1px #b9382959}@media (max-width: 719px){.calendar-filters.glass-panel{padding:12px}.calendar-toolbar{flex-direction:column;align-items:stretch}.calendar-toolbar h2{text-align:center}.calendar-nav-cluster{justify-content:center;width:100%}.calendar-month-label{flex:1 1 auto;font-size:1.05rem}.calendar-weekdays{gap:2px}.calendar-weekdays span{font-size:.58rem;letter-spacing:.04em;padding:4px 0}.calendar-grid{gap:3px}.calendar-cell{border-radius:10px;padding:4px 2px 5px;gap:1px}.calendar-cell__dow-num{font-size:.72rem}.calendar-cell__net{font-size:.62rem}.calendar-cell__count{font-size:.52rem}.calendar-legend{font-size:.72rem;gap:10px 14px}}.subs-calendar-toolbar{align-items:flex-start}.subs-calendar-toolbar__controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;flex:1 1 min(100%,18rem);min-width:0}.subs-add-subscription-btn{flex-shrink:0;white-space:nowrap}@media (max-width: 520px){.subs-calendar-toolbar__controls{justify-content:stretch}.subs-calendar-toolbar__controls .calendar-nav-cluster{flex:1 1 100%;justify-content:center}.subs-add-subscription-btn{flex:1 1 auto;min-height:44px}}.calendar-cell--subs.calendar-cell--has-data{border-color:#dc788c59}.subscriptions-list-panel h3{margin-top:0}.subscriptions-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.subscriptions-list li{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08)}.subscriptions-list li:last-child{border-bottom:none}.subscriptions-list__meta{display:block;font-size:.85rem;color:var(--muted);margin-top:4px}.subscriptions-list__rrule{margin-top:6px;max-width:100%}.subscriptions-list__rrule code{font-size:.72rem;word-break:break-all;opacity:.9}.subscriptions-list__actions{display:flex;gap:8px;flex-shrink:0}button.danger,.subscriptions-list__actions .danger{color:#f0a4a4}.subs-day-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.subs-day-list li{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:start}.subs-day-list__amt{font-weight:700;text-align:right}.subs-pill{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:#78b4ff33;color:var(--ink)}.subs-form-sheet.calendar-sheet--wide{max-width:min(520px,100vw - 24px)}.subs-form{display:flex;flex-direction:column;gap:12px}.subs-form__field{display:flex;flex-direction:column;gap:6px;font-size:.85rem;font-weight:600}.subs-form__field input,.subs-form__field textarea,.subs-form__field select{font-weight:400}.subs-form__inline{display:flex;align-items:center;gap:10px;font-size:.9rem}.subs-form__actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.muted.small{font-size:.8rem}.ledger-export-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e1b168c;display:grid;place-items:center;z-index:2000;padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom,0px))}.ledger-export-modal{width:min(980px,100%);max-width:100%;min-width:0;max-height:min(92vh,900px);background:#fff;border-radius:16px;padding:20px 22px;box-shadow:0 25px 60px #1e1b1647;display:flex;flex-direction:column;gap:16px;overflow:hidden}.ledger-export-modal__header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-shrink:0}.ledger-export-modal__header h3{margin:0 0 4px;font-family:Fraunces,serif;font-size:1.25rem}.ledger-export-modal__header p{margin:0;font-size:.88rem;color:var(--muted)}.ledger-export-modal__close{flex-shrink:0}.ledger-export-stepper{position:relative;flex-shrink:0;padding:6px 4px 2px;margin:0 -2px}.ledger-export-stepper__track{position:absolute;left:14%;right:14%;top:22px;height:4px;background:#1e1b1614;border-radius:4px;overflow:hidden;z-index:0}.ledger-export-stepper__track-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,#2563eb,#0d9488);transition:width .35s ease}.ledger-export-stepper__list{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-start;list-style:none;margin:0;padding:0 8px;gap:8px}.ledger-export-stepper__item{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}.ledger-export-stepper__node{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;font-family:IBM Plex Sans,system-ui,sans-serif;font-size:.9rem;font-weight:700;color:#64748b;background:#fff;border:2px solid rgba(30,27,22,.12);box-shadow:0 2px 8px #1e1b160f;transition:color .2s,border-color .2s,box-shadow .2s,transform .2s}.ledger-export-stepper__item.is-complete .ledger-export-stepper__node{color:#0f766e;border-color:#0d948873;background:linear-gradient(180deg,#ecfdf5,#d1fae5)}.ledger-export-stepper__item.is-active .ledger-export-stepper__node{color:#1e40af;border-color:#2563eb8c;background:linear-gradient(180deg,#eff6ff,#dbeafe);box-shadow:0 0 0 3px #2563eb1f,0 4px 14px #2563eb26;transform:scale(1.06)}.ledger-export-stepper__check{display:block}.ledger-export-stepper__text{display:flex;flex-direction:column;gap:2px;max-width:9.5rem}.ledger-export-stepper__title{font-family:IBM Plex Sans,system-ui,sans-serif;font-size:.78rem;font-weight:600;color:#94a3b8;line-height:1.25;letter-spacing:-.01em}.ledger-export-stepper__item.is-active .ledger-export-stepper__title{color:#0f172a;font-size:.82rem}.ledger-export-stepper__item.is-complete .ledger-export-stepper__title{color:#475569}.ledger-export-stepper__hint{font-size:.68rem;font-weight:500;color:#cbd5e1;line-height:1.3}.ledger-export-stepper__item.is-active .ledger-export-stepper__hint{color:#64748b}.ledger-export-stepper__item.is-complete .ledger-export-stepper__hint{color:#94a3b8}.ledger-export-preview{display:flex;flex-direction:column;gap:14px;min-height:0;min-width:0;max-width:100%}.ledger-export-body{overflow-x:hidden;overflow-y:auto;flex:1;min-height:0;min-width:0;padding-right:4px;-webkit-overflow-scrolling:touch}.ledger-export-dates{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end}.ledger-export-dates label{display:grid;gap:6px;font-size:.85rem}.ledger-export-dates input[type=date]{padding:8px 10px;border-radius:10px;border:1px solid rgba(30,27,22,.15);font-family:inherit}.ledger-export-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:10px}.ledger-export-toolbar .status{margin:0}.ledger-select-table-wrap{overflow:auto;max-height:42vh;border:1px solid rgba(30,27,22,.12);border-radius:12px}.ledger-select-table{width:100%;border-collapse:collapse;font-size:.82rem}.ledger-select-table th,.ledger-select-table td{padding:8px 10px;text-align:left;border-bottom:1px solid rgba(30,27,22,.08);vertical-align:top}.ledger-select-table th{background:#1e293b14;font-weight:600;position:sticky;top:0;z-index:1}.ledger-select-table td.num,.ledger-select-table th.num{text-align:right;white-space:nowrap}.ledger-select-table input[type=checkbox]{width:18px;height:18px;cursor:pointer}.ledger-export-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;padding-top:8px;border-top:1px solid rgba(30,27,22,.1);flex-shrink:0}.ledger-sheet-outer{padding:16px 20px 20px;background:#dfe3e8;box-sizing:border-box;min-width:0;max-width:100%}.ledger-sheet{--ledger-ink: #0c1929;--ledger-muted: #5c6b7e;--ledger-border: #c8ced6;--ledger-thead: #eceff4;max-width:100%;min-width:0;margin:0 auto;font-family:Helvetica,IBM Plex Sans,system-ui,sans-serif;font-size:11px;line-height:1.45;color:var(--ledger-ink);background:#fff;border-radius:2px;overflow-x:hidden;overflow-y:visible;box-shadow:0 0 0 1px #0c19291a}.ledger-sheet__doc-header{background:#fff}.ledger-sheet__doc-header-inner{text-align:left;padding:26px 28px 0;min-width:0;overflow-wrap:anywhere;word-break:break-word}.ledger-sheet__doc-brand{display:block;font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#5c6b7e;margin-bottom:18px}.ledger-sheet__doc-title{margin:0;font-family:Helvetica,IBM Plex Sans,system-ui,sans-serif;font-size:1.28rem;font-weight:700;color:#0c1929;line-height:1.2;letter-spacing:-.02em}.ledger-sheet__doc-blurb{margin:20px 0 0;font-size:.8125rem;line-height:1.5;color:#374151;max-width:48rem}.ledger-sheet__doc-period{margin:16px 0 0;font-size:.6875rem;line-height:1.45;color:#505a66}.ledger-sheet__doc-rule{height:1px;margin-top:18px;background:#b4bcc8}.ledger-sheet__body{padding:18px 28px 24px;background:#fff;min-width:0}.ledger-table-wrap{overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;min-width:0;max-width:100%;border:1px solid var(--ledger-border);background:#fff}.ledger-table{width:max-content;min-width:100%;border-collapse:collapse;background:#fff}.ledger-table thead th{background:var(--ledger-thead);color:#1e293b;font-weight:700;font-size:9px;text-align:left;padding:10px 8px;border:1px solid var(--ledger-border);border-bottom:1px solid var(--ledger-border);white-space:nowrap}.ledger-table thead th:first-child{border-left:1px solid var(--ledger-border)}.ledger-table th.num{text-align:right}.ledger-table th.idx{width:32px;text-align:center}.ledger-table tbody td{padding:8px;border:1px solid #dcdfe4;vertical-align:top;font-size:10px;background:#fff}.ledger-table tbody tr:last-child td{border-bottom:1px solid #dcdfe4}.ledger-table td.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.ledger-table td.idx{text-align:center;color:var(--ledger-muted);font-weight:500;font-size:9.5px}.ledger-table__amount{font-weight:600;color:#1e293b}.ledger-row--owes .ledger-dir{color:#166534}.ledger-row--owe .ledger-dir{color:#9f1239}.ledger-row--settlement .ledger-dir{color:#854d0e}.ledger-dir{display:inline;font-size:10px;font-weight:600;line-height:1.35;white-space:normal}.ledger-impact--pos{color:#15803d;font-weight:600}.ledger-impact--neg{color:#be123c;font-weight:600}.ledger-impact--settled{color:#a16207;font-weight:700;letter-spacing:.02em}.ledger-summary-table-block{margin-top:20px}.ledger-summary-table-block__title{margin:0 0 10px;font-family:Helvetica,IBM Plex Sans,system-ui,sans-serif;font-size:11px;font-weight:700;color:#0c1929}.ledger-summary-table-wrap{overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;min-width:0;max-width:100%;border:1px solid var(--ledger-border);background:#fff}.ledger-summary-table{width:max-content;min-width:100%;border-collapse:collapse;font-size:10px}.ledger-summary-table thead th{background:var(--ledger-thead);color:#1e293b;font-weight:700;font-size:9px;text-align:left;padding:10px;border:1px solid var(--ledger-border)}.ledger-summary-table th.num{text-align:right}.ledger-summary-table tbody td{padding:9px 10px;border:1px solid #dcdfe4;color:#0c1929;background:#fff}.ledger-summary-table td.num{text-align:right;font-variant-numeric:tabular-nums;font-weight:500}.ledger-summary-table__net td{font-weight:700}.ledger-sheet__footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;padding:12px 20px 16px;background:#fafbfc;border-top:1px solid var(--ledger-border);font-size:8px;color:#78869a}.ledger-sheet__footer-brand{font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#3d5266}.ledger-sheet__footer-sep{opacity:.55;font-weight:400}.ledger-sheet__footer-meta{font-variant-numeric:tabular-nums}.ledger-empty{text-align:center;padding:40px 24px;color:var(--ledger-muted);font-size:13px;margin:0}@media (max-width: 640px){.ledger-export-modal{max-height:100vh;border-radius:12px 12px 0 0;align-self:end}.ledger-sheet-outer{padding:12px}.ledger-sheet__body{padding:14px 12px 18px}.ledger-sheet__doc-header-inner{padding-left:16px;padding-right:16px}.ledger-table thead th,.ledger-table tbody td{font-size:9px;padding:6px 5px}}.categories-page__header{align-items:flex-start}.categories-page__subtitle{margin:6px 0 0;font-size:.88rem;line-height:1.45;color:var(--muted);max-width:36ch}.categories-page__add-btn{flex-shrink:0;align-self:flex-start}.category-form{display:grid;gap:16px;padding:18px;border-radius:16px;background:#ffffffb8;border:1px solid var(--stroke)}.category-form-title{font-family:Fraunces,serif;font-size:1.05rem;font-weight:700;color:var(--ink);margin:0}.category-form-grid{display:grid;gap:16px}.category-field .label{display:block;margin-bottom:8px}.category-field input[type=text]{width:100%;min-width:0;border:1px solid var(--stroke);border-radius:12px;padding:11px 14px;background:#fff;color:var(--ink);font-weight:600;font-family:inherit;font-size:.95rem}.category-field input[type=text]:focus{outline:2px solid var(--teal);outline-offset:1px}.category-icon-row{display:flex;align-items:center;gap:12px}.category-icon-preview{width:48px;height:48px;border-radius:14px;border:2px solid var(--stroke);background:var(--bg-deep);display:grid;place-items:center;font-size:1.4rem;line-height:1;flex-shrink:0}.category-form-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.color-palette{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.color-swatch{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;flex-shrink:0;padding:0}.color-swatch:hover{transform:scale(1.12);box-shadow:0 4px 12px #1e1b161f}.color-swatch.swatch-selected{border-color:var(--ink);transform:scale(1.15);box-shadow:0 0 0 2px #ffffffe6}.color-none-btn{background:transparent;border:1px dashed var(--stroke);border-radius:50%;width:28px;height:28px;padding:0;font-size:.65rem;color:var(--muted);cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center;flex-shrink:0}.color-none-btn.swatch-selected{border-color:var(--ink);border-style:solid;color:var(--ink)}.categories-skeleton{display:grid;gap:10px}.categories-skeleton-row{height:68px;border-radius:16px;background:linear-gradient(90deg,#ffffff80,#ffffffe6,#ffffff80);background-size:200% 100%;animation:categories-shimmer 1.2s ease-in-out infinite;border:1px solid var(--stroke)}@keyframes categories-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.categories-empty{text-align:center;padding:28px 16px 8px;display:grid;gap:10px;justify-items:center}.categories-empty__visual{width:72px;height:72px;border-radius:20px;background:linear-gradient(145deg,#1f5f591f,#f07c4a1a);border:1px solid var(--stroke);display:grid;place-items:center;margin-bottom:4px}.categories-empty__glyph{font-size:1.75rem;color:var(--teal);opacity:.85}.categories-empty__title{font-family:Fraunces,serif;font-size:1.15rem;font-weight:700;margin:0;color:var(--ink)}.categories-empty__text{margin:0;font-size:.9rem;line-height:1.5;color:var(--muted);max-width:28ch}.categories-empty__cta{margin-top:8px}.categories-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.category-row{padding:14px 16px;border-radius:16px;background:#ffffffd1;border:1px solid var(--stroke);box-shadow:0 2px 8px #1e1b160f;transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease}.category-row:hover{transform:translateY(-1px);box-shadow:0 8px 22px #1e1b161a;border-color:#1f5f5926}.category-row__main{display:flex;align-items:center;gap:14px;min-width:0}.category-row__tools{display:flex;flex-direction:row;align-items:center;gap:6px;flex-shrink:0;margin-left:auto}.category-icon-btn{box-sizing:border-box;width:36px;height:36px;min-width:36px;min-height:36px;padding:0;margin:0;border-radius:10px;border:1px solid rgba(31,95,89,.22);background:#ffffffeb;color:var(--teal);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.category-icon-btn:hover{background:#1f5f5914;border-color:#1f5f5959}.category-icon-btn:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.category-icon-btn--danger{color:var(--danger);border-color:#b9382947}.category-icon-btn--danger:hover{background:#b9382914;border-color:#b9382966}.category-avatar{width:48px;height:48px;border-radius:14px;border:2px solid var(--stroke);background:var(--bg-deep);display:grid;place-items:center;flex-shrink:0}.category-avatar__icon{font-size:1.35rem;line-height:1}.category-row__text{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.category-row__name{font-size:1rem;font-weight:700;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.category-count-badge{font-size:.72rem;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--bg-deep);color:var(--muted);flex-shrink:0}.category-chip{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:600;padding:3px 8px;border-radius:999px;border:1px solid rgba(0,0,0,.08);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.category-chip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}@media (min-width: 720px){.categories-page__add-btn{align-self:center}.category-form-grid{grid-template-columns:1fr 1fr;align-items:start}.category-field--name{grid-column:1 / -1}@media (max-width: 799px){.category-field:not(.category-field--name):not(.category-field--icon){grid-column:1 / -1}}@media (min-width: 800px){.category-form-grid{grid-template-columns:1fr minmax(200px,260px)}.category-field--name{grid-column:1}.category-field--icon{grid-column:2;grid-row:1}.category-field:not(.category-field--name):not(.category-field--icon){grid-column:1 / -1}}.category-row{padding:14px 18px}.category-row__text{flex-direction:row;align-items:center;gap:12px}.category-row__name{white-space:nowrap;width:auto;max-width:min(320px,45vw)}}@media (min-width: 960px){.categories-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.category-row__name{max-width:100%}}@media (max-width: 719px){.categories-page__add-btn{width:100%;justify-content:center}.categories-page .category-icon-btn{width:44px;height:44px;min-width:44px;min-height:44px}.color-swatch,.color-none-btn{width:36px;height:36px}.color-none-btn{font-size:.75rem}.category-form{padding:14px}.categories-empty{padding-bottom:max(8px,env(safe-area-inset-bottom,0px))}}:root{color-scheme:light;--bg: #f6f2ea;--bg-deep: #efe6d8;--ink: #1e1b16;--muted: #6c6258;--accent: #f07c4a;--accent-deep: #d2552f;--teal: #1f5f59;--danger: #b93829;--success: #1b7a39;--card: rgba(255, 255, 255, .82);--stroke: rgba(30, 27, 22, .08);--shadow: 0 20px 45px rgba(30, 27, 22, .12)}.glass-panel{background:#ffffffb8;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--stroke);border-radius:18px;box-shadow:0 8px 32px #1e1b1614}.hero-accent-gradient{background:linear-gradient(105deg,var(--teal) 0%,var(--accent) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;font-style:normal}*{box-sizing:border-box}body{margin:0;font-family:Space Grotesk,system-ui,sans-serif;background:var(--bg);color:var(--ink);min-height:100vh}h1,h2{font-family:Fraunces,serif;margin:0 0 .4rem;letter-spacing:-.02em}p{margin:0;color:var(--muted);line-height:1.6}button,input,select{font-family:inherit}.page{position:relative;padding:24px 18px 48px;overflow:hidden}.gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 20%,#fbd7c2 0,transparent 55%),radial-gradient(circle at 85% 10%,#b9d8d3 0,transparent 45%),radial-gradient(circle at 80% 80%,#f8c4ae 0,transparent 50%);opacity:.7;pointer-events:none}.hero{position:relative;z-index:1;display:grid;gap:12px;margin-bottom:18px}.eyebrow{text-transform:uppercase;font-size:.72rem;letter-spacing:.22em;color:var(--teal);font-weight:600}.hero h1{font-size:clamp(2rem,6vw,3.1rem);line-height:1.05;color:var(--ink)}.subtitle{font-size:1rem;max-width:560px}.nav{position:relative;z-index:1;display:flex;gap:12px;margin-bottom:18px;padding:6px;background:#fff9;border-radius:999px;border:1px solid var(--stroke);overflow-x:auto;scrollbar-width:none}.nav a{text-decoration:none;color:var(--muted);font-weight:600;padding:10px 16px;border-radius:999px;transition:all .2s ease;flex:0 0 auto;white-space:nowrap}.nav a.active{background:var(--teal);color:#fff;box-shadow:0 10px 20px #1f5f5933}.nav::-webkit-scrollbar{display:none}.content{position:relative;z-index:1;display:grid;gap:20px}.card{background:var(--card);border:1px solid var(--stroke);border-radius:20px;padding:18px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:grid;gap:16px}.card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.card-header h2{font-size:1.35rem}.card-header .select-wrap,.card-header .select-wrap select,.card-header .select-wrap .text-input{width:100%}.controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.pill{background:var(--teal);color:#fff;font-size:.72rem;padding:6px 10px;border-radius:999px}.tag{font-size:.72rem;padding:6px 10px;border-radius:999px;background:var(--bg-deep);color:var(--teal);font-weight:600}.select-wrap select{border:1px solid var(--stroke);border-radius:12px;padding:10px 12px;background:#fff;color:var(--ink);font-weight:600;min-width:160px}.text-input,.field input,.field textarea{border:1px solid var(--stroke);border-radius:12px;padding:10px 12px;background:#fff;color:var(--ink);font-weight:600;font-size:.95rem}.text-input{width:100%;min-width:0}.upload-form,.range-form{display:grid;gap:12px}.upload-actions{display:grid;gap:10px}.file-input{border:1px dashed var(--teal);border-radius:14px;padding:14px;display:grid;gap:6px;background:#ffffffb3}.file-input input{display:none}.file-input span{font-weight:600;color:var(--ink)}button{border:none;border-radius:12px;padding:12px 16px;font-weight:600;cursor:pointer}button.primary{background:var(--accent);color:#fff;box-shadow:0 10px 20px #f07c4a59}button.secondary{background:var(--teal);color:#fff}button.ghost{background:transparent;color:var(--teal);border:1px solid var(--stroke)}button:disabled{opacity:.6;cursor:not-allowed}.status{font-size:.9rem;color:var(--teal)}.status.error{color:#b93829}.empty{font-size:.9rem;color:var(--muted)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e1b168c;display:grid;place-items:center;z-index:2000;padding:24px;padding-bottom:max(24px,env(safe-area-inset-bottom,0px))}.modal-card{width:min(420px,100%);background:#fff;border-radius:16px;padding:18px;box-shadow:0 25px 60px #1e1b1647;display:grid;gap:14px;position:relative}.modal-header h3{margin:0 0 6px;font-family:Fraunces,serif;font-size:1.2rem}.modal-header p{margin:0;color:var(--muted)}.modal-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.upload-result,.range-result{padding:14px;background:#ffffffb3;border-radius:14px}.upload-result{display:block;min-width:0}.range-result{display:grid;gap:12px}.upload-result .friend-tag-mini-table,.stat-grid .friend-tag-mini-table{width:100%;font-size:.82rem}.upload-result .friend-tag-mini-table th,.stat-grid .friend-tag-mini-table th{width:auto;min-width:8.25rem}.upload-result .friend-tag-mini-table td strong,.stat-grid .friend-tag-mini-table td strong{font-weight:700;font-variant-numeric:tabular-nums}.range-result div,.table-row div,.friend-meta div,.friend-transaction-row div,.friend-tag-row div,.import-row div,.preview-row div{display:grid;gap:4px}.range-result span,.label,.table-row span{font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}.stat-grid{display:block;min-width:0}.dashboard-top,.grid{display:grid;gap:20px}.range-form label{display:grid;gap:6px;font-size:.85rem;color:var(--muted)}.friend-add-trigger{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.friend-form{display:grid;gap:12px;padding:14px;border-radius:14px;background:#ffffffb3;border:1px solid rgba(31,95,89,.08)}.form-grid{display:grid;gap:12px}.field{display:grid;gap:6px;font-size:.85rem;color:var(--muted)}.friend-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.friend-row-actions{display:flex;flex-wrap:wrap;gap:10px}.friend-row-actions button{flex:1 1 120px}.friends-grid{display:grid;gap:14px;align-items:start}.friend-card{display:grid;gap:12px;padding:14px;border-radius:16px;background:#ffffffc7;border:1px solid rgba(31,95,89,.12);align-content:start;min-width:0}.friend-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.friend-header__tools{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:6px;flex-shrink:0}.friend-card__icon-btns{display:flex;flex-direction:row;gap:6px}.friend-card__icon-btn{box-sizing:border-box;width:36px;height:36px;min-width:36px;min-height:36px;padding:0;margin:0;border-radius:10px;border:1px solid rgba(31,95,89,.22);background:#ffffffeb;color:var(--teal);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.friend-card__icon-btn:hover{background:#1f5f5914;border-color:#1f5f5959}.friend-card__icon-btn:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.friend-card__icon-btn--danger{color:var(--danger);border-color:#b9382947}.friend-card__icon-btn--danger:hover{background:#b9382914;border-color:#b9382966}.friend-header>div:first-child{min-width:0}.friend-header p{overflow-wrap:anywhere}.friend-link{background:none;border:none;padding:0;font-size:1.08rem;font-weight:800;color:var(--ink);cursor:pointer;text-align:left;max-width:100%;overflow-wrap:anywhere}.friend-link:hover{color:var(--teal)}.friend-meta{display:grid;gap:10px}.friend-meta strong{overflow-wrap:anywhere}.friend-meta span{font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}.friend-summary{padding:12px;border-radius:12px;background:#1f5f5914;min-width:0}.friend-summary .friend-tag-mini-table{font-size:.82rem}.friend-summary .friend-tag-mini-table th{width:auto;min-width:7.75rem}.friend-summary .friend-tag-mini-table td strong{font-weight:700;font-variant-numeric:tabular-nums}.friend-transactions{display:grid;gap:10px;padding:12px;border-radius:12px;background:#ffffffb3;border:1px solid rgba(31,95,89,.1);min-width:0}.friend-transactions .data-table-scroll{max-width:100%}.friend-transactions .data-table-cell[data-col-id=settles] .data-table-cell-value,.friend-transactions .data-table-cell[data-col-id=settledBy] .data-table-cell-value{overflow-wrap:anywhere;word-break:break-word}@media (max-width: 1099px){.friend-transactions .data-table-row .data-table-cell[data-col-id=settles] .data-table-cell-trim,.friend-transactions .data-table-row .data-table-cell[data-col-id=settledBy] .data-table-cell-trim{white-space:normal;display:block;-webkit-line-clamp:unset;-webkit-box-orient:unset}}.friend-transactions-header h3{margin:0 0 4px;font-family:Fraunces,serif}.friend-tagged-mobile{min-width:0}.friend-tag-mini-table{width:100%;border-collapse:collapse;font-size:.8rem;line-height:1.4}.friend-tag-mini-table th,.friend-tag-mini-table td{padding:6px 8px 6px 0;vertical-align:top;border-bottom:1px solid var(--stroke);text-align:left;font-weight:400}.friend-tag-mini-table th{width:6.5rem;padding-right:10px;color:var(--muted);font-weight:600;white-space:nowrap}.friend-tag-mini-table td{min-width:0;overflow-wrap:anywhere;color:var(--ink)}.friend-tag-mini-table tr:last-child th,.friend-tag-mini-table tr:last-child td{border-bottom:none;padding-bottom:0}.friend-transactions-list{display:grid;gap:10px;--friend-tx-grid-columns: 120px 200px 220px 140px 140px 120px 180px}.friend-transaction-head{display:none}.friend-transaction-row{display:grid;gap:8px;padding:10px;border-radius:12px;background:#1f5f590d;min-width:0}.friend-transaction-row strong{overflow-wrap:anywhere;line-height:1.3}.friend-transaction-cell{min-width:0;overflow:hidden}.friend-transaction-row>div{min-width:0}.friend-transaction-upi-name,.friend-transaction-upi-desc,.friend-transaction-upi-bank,.friend-transaction-note{grid-column:1 / -1}.friend-transaction-row span{font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}.friend-cell-label{display:block}input[type=date]{padding:10px 12px;border-radius:12px;border:1px solid var(--stroke);font-size:.95rem}.imports-list{display:grid;gap:12px}.preview-list{max-height:320px;overflow:auto;padding-right:4px}.preview-row{grid-template-columns:1fr}.preview-row>div{min-width:0}.preview-upi-name strong,.preview-upi-desc strong,.preview-upi-bank strong{overflow-wrap:anywhere;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.imports-head{display:none}.import-row{display:grid;gap:10px;padding:12px;border-radius:16px;background:#ffffffbf;border:1px solid rgba(31,95,89,.08)}.import-actions{display:flex;align-items:center;justify-content:flex-start}.pager{display:flex;align-items:center;gap:8px;font-size:.85rem}.transactions-table{max-height:none;overflow-x:auto;overflow-y:visible;border-radius:14px;min-width:0;-webkit-overflow-scrolling:touch;--tx-grid-columns: 120px 180px minmax(180px, 2fr) minmax(130px, 1fr) 110px 130px 130px auto}.table{display:grid;gap:10px}.table-head{display:none}.table-head-cell{position:relative;display:inline-flex;align-items:center;min-width:0;padding-right:10px}.col-resizer{position:absolute;right:-4px;top:0;height:100%;width:8px;cursor:col-resize;background:transparent;border:none;padding:0;display:none}.col-resizer:after{content:"";display:block;width:2px;height:60%;margin:0 auto;border-radius:2px;background:#1f5f5940;transition:background .15s ease,height .15s ease}.col-resizer:hover:after{background:var(--teal);height:80%}.table-resize-overlay{position:fixed;top:0;right:0;bottom:0;left:0;cursor:col-resize;z-index:9999}.table-resize-line{position:fixed;top:0;bottom:0;width:2px;background:var(--teal);z-index:10000;pointer-events:none}.table-row{position:relative;padding:12px 12px 12px 16px;border-radius:16px;background:#fffc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.5);box-shadow:0 4px 12px #1e1b1614;overflow:hidden;transition:all .2s ease}.table-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}.table-row.transaction-withdrawal:before{background:var(--danger)}.table-row.transaction-deposit:before{background:var(--success)}.table-row:hover{transform:translateY(-1px);box-shadow:0 6px 16px #1e1b161f}.table-cell{min-width:0}.table-cell strong{overflow-wrap:anywhere;line-height:1.3}.table-upi-name strong,.table-upi-desc strong,.table-upi-bank strong{font-weight:600;overflow-wrap:anywhere;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-cell-label{display:block}.transaction-account-badge{display:inline-block;font-size:.7rem;font-weight:600;padding:4px 8px;border-radius:6px;background:#1f5f591a;color:var(--teal)}.transaction-date{font-size:.72rem;color:var(--muted);font-family:monospace}.transaction-amount{font-size:1.1rem;font-weight:700;letter-spacing:-.01em}.amount-withdrawal{color:var(--danger)}.amount-deposit{color:var(--success)}.transaction-status-badge{display:inline-block;font-size:.65rem;font-weight:700;padding:3px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.05em;margin-left:6px}.transaction-status-badge.owe{background:#b938291a;color:var(--danger)}.transaction-status-badge.receivable{background:#1b7a391a;color:var(--success)}.transaction-status-badge.manual{background:#1f5f591a;color:var(--teal)}.transaction-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.transaction-header-left{flex:1;min-width:0}.transaction-header-right{text-align:right;flex-shrink:0}.transaction-meta{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}.transaction-details{display:grid;gap:6px;font-size:.9rem}.transaction-upi-primary{font-weight:600;font-size:.95rem;line-height:1.3;color:var(--ink)}.table-actions{display:flex;justify-content:flex-start}.friend-tags-panel{grid-column:1 / -1;display:grid;gap:12px;padding:12px;border-radius:14px;background:#ffffffd9;border:1px solid rgba(31,95,89,.12)}.friend-tags-header h3{margin:0 0 4px;font-family:Fraunces,serif}.friend-tags-form{display:flex;flex-direction:column;gap:16px}.tag-form-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.tag-form-row>select,.tag-form-row>input{flex:1;min-width:140px}.tag-form-row>.note-input{flex:2;min-width:200px}.settlement-section{display:flex;flex-direction:column;gap:10px;padding:16px;background:#fff9;border-radius:12px;border:1px solid var(--stroke)}.settlement-label{font-size:.85rem;color:var(--muted);font-weight:600;margin:0}.friend-tags-form select,.friend-tags-form input{border:1px solid var(--stroke);border-radius:12px;padding:10px 12px;background:#fff;color:var(--ink);font-weight:600}.friend-tags-list{display:grid;gap:10px}.friend-tag-row{display:grid;grid-template-columns:1.2fr 1fr .8fr 1fr 1.5fr auto;gap:12px;padding:12px 16px;border-radius:12px;background:#1f5f590f;min-width:0;align-items:center}.friend-tag-row>div{display:flex;flex-direction:column;gap:2px;min-width:0;overflow:hidden}.friend-tag-row>div>span{font-size:.65rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.friend-tag-row>div>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;font-size:.95rem}.friend-tag-row>button{justify-self:end}@media (min-width: 720px){.page{padding:40px 48px 70px}.upload-form{grid-template-columns:1fr auto;align-items:center}.upload-actions{grid-template-columns:auto auto;justify-content:end}.card-header .select-wrap{width:auto}.range-form{grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:end}.form-grid,.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.range-result{grid-template-columns:repeat(3,minmax(0,1fr))}.import-row{grid-template-columns:1fr 1.2fr .8fr .9fr auto;align-items:center}.imports-head{display:grid;align-items:center;padding:0 12px;gap:10px}.imports-head:not(.preview-head){grid-template-columns:1fr 1.2fr .8fr .9fr auto}.preview-head{grid-template-columns:120px minmax(0,1fr) 130px 130px 130px}.preview-row{grid-template-columns:120px minmax(0,1fr) 130px 130px 130px;align-items:center}.imports-head span{font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-weight:600}.import-row .label{display:none}.import-actions{justify-content:flex-end}.tag-form-row{flex-wrap:nowrap}.friend-tag-row{grid-template-columns:1.2fr 1fr .8fr 1fr 1.5fr auto}.friends-grid{grid-template-columns:1fr}.friend-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.friend-transaction-row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.friend-transaction-upi-name,.friend-transaction-upi-desc,.friend-transaction-upi-bank,.friend-transaction-note{grid-column:1 / -1}.friend-tag-row>button{justify-self:end}}@media (min-width: 1024px){.content{gap:28px}.card{padding:22px 24px}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.transactions-table{max-height:420px;overflow:auto}}@media (min-width: 1100px){.table-head{display:grid;grid-template-columns:var(--tx-grid-columns);align-items:center;padding:0 12px;gap:10px}.table-head span{font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-weight:600}.col-resizer{display:inline-flex}.table-row{display:grid;grid-template-columns:var(--tx-grid-columns);align-items:center;gap:10px}.transaction-header,.transaction-details{display:contents}.transaction-meta{display:flex;align-items:center;gap:8px}.transaction-upi-primary{display:none}.table-cell strong{white-space:nowrap}.table-actions{grid-column:auto;justify-content:flex-end}.table-cell-label{display:none}.table-upi-name,.table-upi-desc,.table-upi-bank{grid-column:auto}.table-upi-name strong,.table-upi-desc strong,.table-upi-bank strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal}.tag-form-row{flex-wrap:nowrap}.tag-form-row>select,.tag-form-row>input{flex:1}.friend-tag-row{grid-template-columns:1.2fr 1fr .8fr 1fr 1.5fr auto;gap:16px}.friend-tag-row>button{justify-self:end}.friend-transaction-head{display:grid;grid-template-columns:var(--friend-tx-grid-columns);align-items:center;padding:0 8px;gap:10px}.friend-transaction-row{grid-template-columns:var(--friend-tx-grid-columns);align-items:center;gap:10px}.friend-transaction-linked,.friend-transaction-settled{grid-column:1 / -1}.friend-transaction-row strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal}.friend-transaction-head{display:grid;grid-template-columns:140px 180px 110px minmax(0,1fr) 150px 160px 140px minmax(140px,220px);gap:14px;padding:0 12px}.friend-transaction-head span{font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-weight:600}.friend-cell-label{display:none}.friend-transaction-upi-name,.friend-transaction-upi-desc,.friend-transaction-upi-bank,.friend-transaction-note{grid-column:auto}.friend-transaction-upi-name strong,.friend-transaction-upi-desc strong,.friend-transaction-upi-bank strong,.friend-transaction-note strong{display:block;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal}}@media (max-width: 719px){.page{padding:14px 12px 24px}.hero{gap:6px;margin-bottom:12px}.hero h1{font-size:clamp(1.32rem,6.2vw,1.75rem);line-height:1.12}.page--mobile-app-header .hero{position:relative;display:flex;flex-direction:row;align-items:center;justify-content:center;min-height:52px;padding:10px 16px;margin-bottom:12px;background:#ffffffc7;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--stroke);border-radius:16px;box-shadow:0 2px 14px #1e1b1612;gap:0}.page--mobile-app-header .hero .eyebrow{font-family:Fraunces,serif;font-size:1.12rem;font-weight:700;letter-spacing:.08em;color:var(--ink);margin:0}.page--mobile-app-header .hero h1{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:6px;border-radius:14px}.nav a{border-radius:10px;padding:12px 4px;font-size:.74rem;text-align:center;justify-content:center}.content{gap:14px}.card{padding:14px;border-radius:14px;gap:12px}.card-header h2{font-size:1.12rem}.range-result:not(.txn-stat-strip){grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.range-result.txn-stat-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.range-result>div{position:relative;padding:11px 12px;background:#ffffffd1;border-radius:10px;border:1px solid var(--stroke)}.range-result>div>span:first-child{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.range-result strong{font-size:.95rem;font-weight:700;color:var(--ink);line-height:1.35}.friend-card{padding:14px;border-radius:12px;gap:10px;border:1px solid var(--stroke);background:#ffffffe6}.friend-meta{gap:8px}.friend-meta>div{position:relative;padding:10px 12px;background:#ffffffbf;border-radius:10px;border:1px solid var(--stroke)}.friend-meta>div>span:first-child{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.friend-transactions{padding:10px;border-radius:12px}.friend-tag-row{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;padding:12px;border-radius:10px;align-items:start;border:1px solid var(--stroke);background:#ffffffe0}.friend-tag-row>div>span:first-child{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.friend-tag-row>div{position:relative;min-width:0}.friend-tag-row>div>strong{white-space:normal;font-size:.88rem;line-height:1.35}.friend-tag-row>button{grid-column:1 / -1;width:100%;justify-self:stretch;border-radius:10px;min-height:44px}.friend-tags-panel{border-radius:12px;padding:12px}.friend-form{border-radius:12px}.range-form{gap:10px}button,.friend-row-actions button{min-height:44px}.friend-card__icon-btn{width:44px;height:44px;min-width:44px;min-height:44px}.pager{width:100%;justify-content:space-between}.nav--top{display:none}.page{padding-bottom:calc(88px + env(safe-area-inset-bottom,0))}}.txn-premium-filters{padding:16px;display:grid;gap:14px}.txn-premium-filters .card-header{margin:0;padding:0}.range-form--premium{margin:0;padding-top:4px;border-top:1px solid rgba(30,27,22,.06)}@media (max-width: 719px){.range-form--premium{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:end}.range-form--premium button.secondary{grid-column:1 / -1;width:100%}}.txn-stat-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px!important;text-align:center}.txn-stat-strip>div{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 8px!important;background:#ffffff8c;border-radius:14px;border:1px solid rgba(30,27,22,.05)}.txn-stat-strip span{font-size:.62rem!important;letter-spacing:.12em!important}.txn-stat-strip strong{font-size:1.05rem!important;font-weight:700!important}.txn-mobile-stack{display:grid;gap:12px}.mobile-txn-toolbar{display:flex;align-items:center;gap:12px;padding:12px 14px}.mobile-txn-toolbar__label{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);flex-shrink:0}.mobile-txn-toolbar__select{flex:1;min-width:0;border:1px solid var(--stroke);border-radius:12px;padding:10px 12px;background:#fff;color:var(--ink);font-weight:600;font-size:.88rem}.txn-mobile-list{display:grid;gap:14px}.card--transactions{gap:14px}.mobile-bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:60;display:flex;justify-content:space-around;align-items:center;gap:4px;padding:10px 8px calc(10px + env(safe-area-inset-bottom,0));background:#ffffffe6;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--stroke);box-shadow:0 -10px 36px #1e1b1614}.mobile-bottom-nav__link{display:flex;flex-direction:column;align-items:center;gap:2px;text-decoration:none;font-size:.55rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:8px 4px;border-radius:14px;min-width:0;flex:1;max-width:120px}.mobile-bottom-nav__link--active{color:var(--teal);background:#1f5f591a}.mobile-bottom-nav__icon{font-size:1.1rem;line-height:1;opacity:.9}.mobile-transaction-fab{position:fixed;bottom:calc(76px + env(safe-area-inset-bottom,0));right:calc(16px + env(safe-area-inset-right,0px));left:auto;transform:none;z-index:65;width:56px;height:56px;border:none;border-radius:50%;background:var(--teal);color:#fff;font-size:1.85rem;font-weight:300;line-height:1;cursor:pointer;box-shadow:0 14px 32px #1f5f5966}@media (min-width: 720px){.mobile-transaction-fab{display:none}}
