:root{color:#183228;font-synthesis:none;text-rendering:optimizelegibility;--ink:#183228;--muted:#66736d;--green:#173f2e;--green-2:#246347;--mint:#d8eee3;--cream:#f5f3ec;--paper:#fffefa;--line:#dfe4de;--income:#147451;--income-soft:#e4f5ec;--expense:#c4513e;--expense-soft:#fbe8e3;--yellow:#e3aa36;--shadow:0 10px 30px #19332914;background:#f5f3ec;font-family:Pretendard,Noto Sans KR,Apple SD Gothic Neo,Malgun Gothic,system-ui,sans-serif}*{box-sizing:border-box}body{background:var(--cream);min-width:0;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}h1,h2,h3,p{margin-top:0}.app-shell{min-height:100vh;padding-bottom:92px}.app-header{background:var(--green);color:#fff;z-index:30;justify-content:space-between;align-items:center;height:76px;padding:0 max(20px,50vw - 590px);display:flex;position:sticky;top:0}.app-header h1{letter-spacing:-.04em;margin:1px 0 0;font-size:22px}.app-header .eyebrow{color:#b8d7c8}.header-actions{align-items:center;gap:10px;display:flex}.user-name{font-size:14px;font-weight:700}.demo-badge{color:#d7ecdf;border:1px solid #ffffff59;border-radius:999px;padding:5px 9px;font-size:11px}.icon-button{color:inherit;background:0 0;border:0;border-radius:12px;place-items:center;width:38px;height:38px;display:inline-grid}.icon-button:hover{background:#ffffff1a}.app-content{max-width:1180px;margin:0 auto;padding:30px 24px 50px}.page{gap:20px;display:grid}.eyebrow{color:var(--green-2);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800;display:block}.bottom-nav{z-index:40;color:#b7cbbf;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#173f2ef5;border-radius:22px;padding:7px;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 14px 40px #0f271d47}.bottom-nav button{color:inherit;background:0 0;border:0;border-radius:16px;justify-content:center;align-items:center;gap:7px;min-width:104px;padding:9px 15px;font-size:12px;font-weight:700;display:flex}.bottom-nav button.active{color:var(--green);background:#f5f1e7}.card{background:var(--paper);box-shadow:var(--shadow);border:1px solid #204a371a;border-radius:22px;padding:24px}.page-title{justify-content:space-between;align-items:flex-end;gap:18px;padding:2px 0 8px;display:flex}.page-title h2{letter-spacing:-.055em;margin:3px 0 8px;font-size:clamp(28px,4vw,38px);line-height:1.15}.page-title p{color:var(--muted);margin:0;font-size:14px}.page-title-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:8px;display:flex}.section-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.section-heading h2{letter-spacing:-.04em;margin:2px 0 0;font-size:21px}.primary-button,.secondary-button,.small-button,.danger-button,.export-button{border:0;border-radius:13px;justify-content:center;align-items:center;gap:8px;font-weight:800;transition:transform .15s,box-shadow .15s;display:inline-flex}.primary-button{background:var(--green);color:#fff;min-height:49px;padding:0 20px;box-shadow:0 7px 16px #173f2e2b}.secondary-button{min-height:49px;color:var(--green);background:#e8eee9;border:1px solid #d0dcd3;padding:0 18px}.primary-button:hover,.export-button:hover{transform:translateY(-1px);box-shadow:0 10px 22px #173f2e3d}.primary-button.compact,.secondary-button.compact{min-height:42px;padding:0 16px;font-size:13px}.small-button{min-height:36px;color:var(--green);background:var(--mint);padding:0 13px;font-size:12px}.danger-button{background:var(--expense-soft);color:#a84031;min-height:46px;padding:0 16px}.month-picker{background:var(--paper);border:1px solid var(--line);border-radius:18px;grid-template-columns:44px 1fr 44px auto;align-items:center;gap:8px;padding:9px;display:grid}.month-picker>button:not(.today-button){height:42px;color:var(--green);background:#eff2ed;border:0;border-radius:12px;place-items:center;display:grid}.month-picker div{text-align:center}.month-picker div span{color:var(--muted);font-size:11px;display:block}.month-picker div strong{font-size:19px}.today-button{border:1px solid var(--line);color:var(--green);background:#fff;border-radius:12px;height:40px;padding:0 14px;font-size:12px;font-weight:700}.date-picker{background:#e7e8e2;border:1px solid #d9ddd7;border-radius:18px;justify-content:center;align-items:center;min-height:70px;padding:6px;display:flex;position:relative}.date-stepper-group{grid-template-columns:68px 48px 48px;gap:4px;display:grid;transform:translateY(2px)}.date-part-stepper{background:var(--paper);border-radius:10px;grid-template-rows:18px auto 18px;place-items:center;min-width:0;display:grid;overflow:hidden}.date-part-stepper button{width:100%;height:18px;color:var(--green);background:#f1f3ef;border:0;place-items:center;padding:0;display:grid}.date-part-stepper button svg{width:15px;height:15px}.date-part-stepper span{box-sizing:border-box;justify-content:center;align-items:center;gap:2px;min-height:28px;padding-top:2px;display:flex}.date-part-stepper strong{letter-spacing:-.04em;font-size:16px;line-height:1}.date-part-stepper small{color:var(--muted);font-size:10px;line-height:1}.date-picker>.today-button{background:#ffffffb8;width:46px;height:32px;padding:0;position:absolute;right:8px}.balance-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.balance-card{min-height:180px;box-shadow:var(--shadow);border-radius:24px;grid-template-rows:22px 48px auto;align-content:start;row-gap:8px;padding:26px 28px;display:grid}.balance-card.confirmed{color:#fff;background:linear-gradient(135deg,#173f2e,#295d47)}.balance-card.expected{color:var(--green);background:#e7efe4;border:1px solid #ccddce}.balance-card.expected.danger{color:#902f24;background:#f9e0da;border-color:#e9c0b7}.balance-card.available{color:#725314;background:#f5edcf;border:1px solid #e5d49b}.balance-card.available.danger{color:#902f24;background:#f9e0da;border-color:#e9c0b7}.balance-card .balance-card-title{opacity:.82;align-items:center;gap:8px;min-height:22px;font-size:13px;font-weight:700;display:flex}.balance-card>strong{letter-spacing:-.06em;align-self:center;margin:0;font-size:clamp(29px,4vw,43px);line-height:1}.balance-card-description{align-self:start;min-width:0;padding-top:3px}.balance-card-description small{opacity:.7;min-height:17px;font-size:12px;line-height:1.45;display:block}.balance-card .available-balance-detail{margin-top:5px;font-size:10px}.balance-card .available-balance-warning{color:#a33a2c;opacity:1;margin-top:4px;font-weight:800}.summary-grid{border:1px solid var(--line);border-radius:16px;grid-template-columns:repeat(4,1fr);display:grid;overflow:hidden}.summary-grid>div{border-right:1px solid var(--line);padding:18px}.summary-grid>div:last-child{border:0}.summary-grid span{color:var(--muted);align-items:center;gap:4px;font-size:11px;display:flex}.summary-grid strong{letter-spacing:-.04em;margin-top:8px;font-size:17px;display:block}.summary-grid .income strong{color:var(--income)}.summary-grid .expense strong{color:var(--expense)}.lowest-card{border-radius:17px;align-items:center;gap:14px;padding:17px 20px;display:flex}.lowest-card.safe{color:#18553d;background:#dff1e7}.lowest-card.danger{color:#9b3528;background:#f8dfd9}.lowest-card span{opacity:.8;font-size:11px;display:block}.lowest-card strong{margin-top:2px;font-size:16px;display:block}.timeline{display:grid}.scrollable-list{overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#91a096 #edf0ec;overflow-y:auto}.scrollable-list::-webkit-scrollbar{width:8px}.scrollable-list::-webkit-scrollbar-track{background:#edf0ec;border-radius:999px}.scrollable-list::-webkit-scrollbar-thumb{background:#91a096;border:2px solid #edf0ec;border-radius:999px}.scrollable-list:focus-visible{outline:2px solid var(--green-2);outline-offset:3px}.cash-flow-scroll{max-height:340px;padding-right:7px}.cash-flow-scroll .timeline-row{min-height:68px}.timeline-row{border-top:1px solid var(--line);grid-template-columns:140px 1fr 130px;align-items:center;gap:18px;padding:14px 2px;display:grid}.timeline-row time{font-size:12px;font-weight:700}.timeline-items{gap:5px;display:grid}.timeline-items span{justify-content:space-between;gap:12px;font-size:12px;display:flex}.timeline-items span.income b{color:var(--income)}.timeline-items span.expense b{color:var(--expense)}.timeline-row>strong{text-align:right;font-size:14px}.flow-toggle-heading{align-items:center;gap:12px;display:flex}.flow-toggle-button{color:inherit;text-align:left;background:0 0;border:0;flex:1;justify-content:space-between;align-items:center;gap:12px;padding:0;display:flex}.flow-toggle-button h2{letter-spacing:-.04em;margin:2px 0 0;font-size:21px}.flow-toggle-summary{align-items:center;gap:9px;display:flex}.flow-toggle-summary b{background:var(--mint);min-width:38px;color:var(--green);text-align:center;border-radius:999px;padding:5px 9px;font-size:11px}.flow-toggle-summary svg{color:var(--green);transition:transform .18s}.flow-toggle-summary svg.open{transform:rotate(180deg)}.flow-toggle-heading+.timeline,.flow-toggle-heading+.empty-state{margin-top:16px}.negative{color:var(--expense)!important}.empty-state{text-align:center;min-height:185px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:7px;display:flex}.empty-state.large{min-height:320px}.empty-state strong{color:var(--ink);font-size:16px}.empty-state span{font-size:12px}.empty-icon{background:var(--mint);width:60px;height:60px;color:var(--green-2);border-radius:22px;place-items:center;margin-bottom:6px;display:grid}.empty-line{color:var(--muted);margin:0;padding:14px 0;font-size:13px}.two-column{grid-template-columns:1fr 1fr;gap:16px;display:grid}.count{text-align:center;border-radius:999px;min-width:38px;padding:5px 9px;font-size:11px;font-weight:800}.count.income{color:var(--income);background:var(--income-soft)}.count.expense{color:var(--expense);background:var(--expense-soft)}.delayed-row{border-top:1px solid var(--line);color:var(--expense);grid-template-columns:22px 1fr auto;align-items:center;gap:10px;padding:12px 0;display:grid}.delayed-row span{color:var(--ink);font-size:13px}.delayed-row small{color:var(--muted);font-size:10px;display:block}.delayed-row strong{font-size:13px}.delayed-heading-summary{align-items:center;gap:10px;display:flex}.delayed-toggle-header{width:100%;color:inherit;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:0;display:flex}.delayed-toggle-header h2{margin:2px 0 0}.delayed-toggle-header .delayed-heading-summary{flex:none}.delayed-toggle-header svg{transition:transform .18s}.delayed-toggle-header svg.open{transform:rotate(180deg)}.delayed-total{text-align:right}.delayed-total span{color:var(--muted);font-size:9px;display:block}.delayed-total strong{color:var(--expense);letter-spacing:-.04em;margin-top:3px;font-size:17px;display:block}.delayed-expense-list>div{border-top:1px solid var(--line);grid-template-columns:22px 105px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 0;display:grid}.delayed-expense-list svg{color:var(--expense)}.delayed-expense-list time{color:var(--ink);letter-spacing:-.03em;font-size:15px;font-weight:800}.delayed-expense-list time small{color:var(--muted);letter-spacing:0;margin-top:2px;font-size:9px;font-weight:500;display:block}.delayed-expense-list span{min-width:0;font-size:13px}.delayed-expense-list strong{white-space:nowrap;font-size:13px}.delayed-scroll{max-height:300px;padding-right:7px}.delayed-income-list .delayed-row,.delayed-expense-list>div{min-height:60px}.priority-total{text-align:right}.priority-total span{color:var(--muted);font-size:10px;display:block}.priority-total strong{color:var(--expense);letter-spacing:-.04em;margin-top:3px;font-size:18px;display:block}.priority-heading-actions{align-items:center;gap:14px;display:flex}.priority-month-picker{background:#eff2ed;border-radius:12px;grid-template-columns:32px auto 32px;align-items:center;gap:4px;padding:3px;display:grid}.priority-month-picker button{background:var(--paper);width:32px;height:32px;color:var(--green);border:0;border-radius:9px;place-items:center;padding:0;display:grid}.priority-month-picker strong{text-align:center;letter-spacing:-.03em;min-width:82px;font-size:13px}.priority-list>div{border-top:1px solid var(--line);grid-template-columns:auto 10px 105px minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px 2px;transition:opacity .15s,background .15s;display:grid}.priority-scroll{max-height:305px;padding-right:7px}.priority-scroll>div{min-height:61px}.priority-list>div.dragging{opacity:.5}.priority-list>div.drag-over{background:var(--mint)}.priority-drag-handle{color:var(--muted);cursor:grab;touch-action:none;background:0 0;border:0;place-items:center;padding:4px 0;display:grid}.priority-drag-handle:active{cursor:grabbing}.priority-list i{border-radius:999px;width:9px;height:34px}.priority-list i.high{background:var(--expense)}.priority-list i.medium{background:var(--yellow)}.priority-list i.low{background:#9ba49f}.priority-list time{color:var(--ink);letter-spacing:-.03em;font-size:15px;font-weight:800}.priority-list time small{color:var(--muted);letter-spacing:0;margin-top:2px;font-size:9px;font-weight:500;display:block}.priority-list span,.priority-list strong{font-size:13px}.week-heading>div:last-child{display:flex}.week-heading .icon-button{color:var(--green)}.comment-preview{border-top:1px solid var(--line);gap:12px;padding:14px 2px;display:flex}.comment-preview svg{color:var(--green-2)}.comment-preview>div{flex:1;min-width:0}.comment-preview header{justify-content:space-between;align-items:center;gap:8px;display:flex}.comment-preview strong{font-size:12px}.comment-preview p{margin:4px 0;font-size:13px}.comment-preview small{color:var(--muted);font-size:10px}.export-button{background:var(--green);color:#fff;width:100%;min-height:58px;font-size:14px}.segmented-control{background:#e7e8e2;border-radius:13px;width:fit-content;padding:4px;display:inline-flex}.segmented-control button{min-width:86px;min-height:38px;color:var(--muted);background:0 0;border:0;border-radius:10px;padding:0 14px;font-size:12px;font-weight:700}.segmented-control button.active{color:var(--green);background:#fff;box-shadow:0 3px 10px #1e352c17}.flow-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.flow-summary>div{border:1px solid var(--line);background:var(--paper);border-radius:14px;min-width:0;padding:14px 16px}.flow-summary span{color:var(--muted);font-size:10px;display:block}.flow-summary strong{letter-spacing:-.04em;white-space:nowrap;margin-top:5px;font-size:17px;display:block}.flow-summary .income strong{color:var(--income)}.flow-summary .expense strong{color:var(--expense)}.flow-list{gap:10px;display:grid}.flow-month-divider{color:var(--green-2);align-items:center;gap:12px;margin:17px 0 2px;display:flex}.flow-month-divider:first-child{margin-top:0}.flow-month-divider:before,.flow-month-divider:after{content:"";background:#cbd7cf;flex:1;height:1px}.flow-month-divider span{letter-spacing:-.02em;background:#e6eee8;border-radius:999px;flex:none;padding:5px 11px;font-size:11px;font-weight:850}.flow-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;align-items:center;gap:14px;padding:17px;transition:opacity .15s,background .15s;display:grid}.flow-card.author{grid-template-columns:18px 48px minmax(0,1fr) auto}.flow-card.viewer{grid-template-columns:48px minmax(0,1fr) auto}.flow-card.dragging{opacity:.5}.flow-card.drag-over{background:var(--mint)}.flow-drag-handle{width:18px;color:var(--muted);cursor:grab;touch-action:none;background:0 0;border:0;place-items:center;padding:6px 0;display:grid}.flow-drag-handle:active{cursor:grabbing}.flow-icon{border-radius:16px;place-items:center;width:46px;height:46px;display:grid}.flow-icon.income{color:var(--income);background:var(--income-soft)}.flow-icon.expense{color:var(--expense);background:var(--expense-soft)}.flow-date{color:var(--ink);align-items:baseline;gap:6px;margin-bottom:5px;display:flex}.flow-date span{letter-spacing:-.04em;font-size:17px;font-weight:850}.flow-date small{color:var(--muted);font-size:9px}.flow-title-line{align-items:center;gap:8px;display:flex}.flow-title-line h3{margin:0;font-size:15px}.flow-main p{color:var(--muted);margin:4px 0 0;font-size:11px}.flow-comment-row{align-items:center;gap:7px;min-width:0;margin-top:6px;display:flex}.flow-comment-preview{color:#66716c;text-align:left;background:0 0;border:0;align-items:center;gap:5px;min-width:0;max-width:100%;padding:0;font-size:10px;display:flex}.flow-comment-preview svg{color:var(--green-2);flex:none}.flow-comment-preview span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.flow-comment-preview b{color:#435149;font-weight:750}.flow-comment-preview small{color:var(--green-2);flex:none;font-size:9px;font-weight:700}.inline-comment-actions{flex:none;gap:5px;display:inline-flex}.inline-comment-actions button{color:var(--muted);text-underline-offset:2px;background:0 0;border:0;padding:0;font-size:9px;text-decoration:underline}.available-period{color:#876514;margin-top:4px;display:block}.status{color:#59645e;background:#eceeeb;border-radius:999px;padding:3px 7px;font-size:9px;font-weight:800}.status.confirmed{color:var(--income);background:var(--income-soft)}.status.income_delayed,.status.expense_delayed{color:var(--expense);background:var(--expense-soft)}.status.amount-pending{color:#7a5910;background:#fff0c8}.flow-amount{letter-spacing:-.04em;font-size:17px}.flow-amount.income{color:var(--income)}.flow-amount.expense{color:var(--expense)}.flow-amount.pending{color:#876514;white-space:nowrap;font-size:13px}.flow-actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:6px;padding-top:10px;display:flex}.flow-card.author .flow-actions{grid-column:3/5}.flow-card.viewer .flow-actions{grid-column:2/4}.flow-actions button{color:#45564e;background:#eef1ed;border:0;border-radius:9px;align-items:center;gap:4px;padding:7px 9px;font-size:10px;font-weight:700;display:inline-flex}.flow-actions .important-toggle{color:#8a5c12;background:#fff5d7}.flow-actions .important-toggle.active,.flow-actions .flow-delete-button{color:#a43d2f;background:var(--expense-soft)}.managed-flow-note{color:var(--green);background:var(--mint);border-radius:9px;align-items:center;padding:7px 9px;font-size:10px;font-weight:700;display:inline-flex}.suggestion-notice{color:#6d5112;background:#fff5d7;border:1px solid #e2c16e;border-radius:14px;align-items:center;gap:9px;padding:13px 15px;font-size:12px;display:flex}.suggestion-notice span{flex:1}.suggestion-notice button{color:inherit;background:0 0;border:0;font-weight:700}.fixed-expense-summary{color:#fff;background:linear-gradient(135deg,#173f2e,#295d47);justify-content:space-between;align-items:center;gap:20px;display:flex}.fixed-expense-month-picker{grid-template-columns:38px minmax(110px,auto) 38px;align-items:center;gap:7px;display:grid}.fixed-expense-month-picker button{color:#fff;background:#ffffff1a;border:1px solid #ffffff38;border-radius:11px;place-items:center;width:38px;height:38px;padding:0;display:grid}.fixed-expense-month-picker div{text-align:center}.fixed-expense-month-picker span,.fixed-expense-total span{color:#bdd5c8;font-size:9px;display:block}.fixed-expense-month-picker strong{white-space:nowrap;margin-top:3px;font-size:17px;display:block}.fixed-expense-total{text-align:right}.fixed-expense-total strong{letter-spacing:-.055em;margin-top:4px;font-size:clamp(25px,4vw,36px);display:block}.fixed-expense-total small{color:#d6e5dc;margin-top:5px;font-size:10px;display:block}.fixed-expense-list{gap:10px;display:grid}.fixed-expense-card{align-items:center;gap:14px;transition:opacity .15s,background .15s;display:grid}.fixed-expense-card.author{grid-template-columns:18px 48px minmax(0,1fr) minmax(150px,auto) auto}.fixed-expense-card.viewer{grid-template-columns:48px minmax(0,1fr) minmax(150px,auto)}.fixed-expense-card.inactive{opacity:.6}.fixed-expense-card.dragging{opacity:.5}.fixed-expense-card.drag-over{background:var(--mint)}.fixed-expense-drag-handle{width:18px;color:var(--muted);cursor:grab;touch-action:none;background:0 0;border:0;place-items:center;padding:6px 0;display:grid}.fixed-expense-drag-handle:active{cursor:grabbing}.fixed-expense-day-icon{width:46px;height:48px;color:var(--expense);background:#fff8f6;border:1px solid #edc3ba;border-radius:13px;grid-template-rows:15px 1fr;grid-template-columns:1fr auto;display:grid;overflow:hidden}.fixed-expense-day-icon small{color:#fff;background:var(--expense);grid-column:1/3;place-items:center;font-size:7px;font-weight:800;display:grid}.fixed-expense-day-icon strong{letter-spacing:-.05em;place-self:center end;font-size:19px;line-height:1}.fixed-expense-day-icon span{align-self:center;padding:3px 5px 0 2px;font-size:8px;font-weight:800}.fixed-expense-main{min-width:0}.fixed-expense-main>span{color:var(--green-2);font-size:10px;font-weight:800}.fixed-expense-main h3{margin:2px 0 5px;font-size:16px}.fixed-expense-main p{color:var(--muted);margin:0;font-size:10px}.fixed-expense-main small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:9px;display:block;overflow:hidden}.fixed-expense-category{color:var(--green-2);background:#eff2ed;border-radius:999px;margin-top:6px;padding:2px 8px;font-size:9.5px;font-weight:800;display:inline-block}.fixed-expense-amount{text-align:right}.fixed-expense-amount span{color:var(--muted);font-size:9px;display:block}.fixed-expense-amount strong{color:var(--expense);margin-top:3px;font-size:15px;display:block}.fixed-expense-amount small{color:var(--muted);margin-top:4px;font-size:9px;display:block}.fixed-expense-amount small.duplicate,.fixed-expense-cycle{display:none}.fixed-expense-card-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-width:132px;display:grid}.fixed-expense-card-actions .small-button{white-space:nowrap;justify-content:center;width:100%}.fixed-expense-important{color:#8a5c12;background:#fff5d7}.fixed-expense-card-actions .fixed-expense-important{grid-column:1/3}.fixed-expense-important.active{color:#a43d2f;background:var(--expense-soft)}.fixed-expense-edit{white-space:nowrap}.fixed-expense-delete{color:#a43d2f;background:var(--expense-soft)}.contract-grid{grid-template-columns:1fr;gap:10px;display:grid}.rental-sort-bar{justify-content:flex-end;align-items:center;gap:6px;margin:-4px 0 10px;display:flex}.rental-sort-bar>span{color:var(--muted);margin-right:2px;font-size:10px;font-weight:700}.rental-sort-bar button{border:1px solid var(--line);min-height:34px;color:var(--muted);background:#fff;border-radius:11px;justify-content:center;align-items:center;gap:5px;padding:0 12px;font-size:11px;font-weight:750;display:inline-flex}.rental-sort-bar button.active{background:var(--mint);color:var(--green);border-color:#b9d8ca;box-shadow:0 3px 9px #17523c14}.rental-sort-bar button:focus-visible{outline-offset:2px;outline:3px solid #297e5c38}.contract-row{grid-template-columns:minmax(150px,1fr) minmax(390px,2.35fr) minmax(130px,auto);align-items:center;gap:14px;display:grid}.contract-row.viewer{grid-template-columns:minmax(150px,1fr) minmax(390px,2.35fr)}.contract-resident{align-items:center;gap:12px;min-width:0;display:flex}.contract-icon{background:var(--mint);width:48px;height:48px;color:var(--green-2);border-radius:16px;place-items:center;display:grid}.contract-resident span{color:var(--muted);font-size:9px}.contract-resident h3{margin:1px 0 0;font-size:17px}.contract-resident p{color:var(--ink);margin:3px 0 0;font-size:12px}.contract-row-summary{gap:6px;min-width:0;margin:0;display:grid}.contract-period,.contract-money-grid>div{background:#f3f3ee;border-radius:11px;min-width:0;padding:9px 11px}.contract-money-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.contract-row-summary dt{color:var(--muted);font-size:9px}.contract-row-summary dd{margin:4px 0 0;font-size:12px;font-weight:750}.contract-row-summary .contract-period dd{white-space:nowrap}.contract-row-summary .contract-period span{color:var(--muted)}.contract-row-actions{grid-template-columns:repeat(2,minmax(0,1fr));align-self:center;gap:6px;display:grid}.contract-row-actions .small-button{white-space:nowrap;justify-content:center;width:100%}.contract-receipt-button{grid-column:1/3}.contract-edit-button{color:var(--green);background:#eef1ed}.contract-delete-button{color:#a43d2f;background:var(--expense-soft)}.admin-section{box-shadow:none}.admin-list{display:grid}.admin-list>div{border-top:1px solid var(--line);grid-template-columns:42px 1fr auto auto;align-items:center;gap:12px;padding:12px 0;display:grid}.list-icon{width:38px;height:38px;color:var(--green-2);background:var(--mint);border-radius:13px;place-items:center;display:grid}.admin-list strong{font-size:13px;display:block}.admin-list small{color:var(--muted);font-size:10px;display:block}.admin-list b{font-size:13px}.admin-list button,.category-columns header button{color:var(--green);background:#eef2ed;border:0;border-radius:9px;align-items:center;gap:5px;padding:7px 10px;font-size:10px;font-weight:700;display:flex}.inline-actions{gap:5px;display:flex}.category-columns{grid-template-columns:1fr 1fr;gap:20px;display:grid}.category-columns header{justify-content:space-between;margin-bottom:8px;display:flex}.category-toggle{border:0;border-bottom:1px solid var(--line);color:#89918d;text-align:left;background:0 0;justify-content:space-between;width:100%;padding:11px 3px;font-size:12px;display:flex}.category-toggle.active{color:var(--ink)}.category-toggle span{font-size:9px}.category-row{border-bottom:1px solid var(--line);color:#89918d;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px 3px;transition:opacity .15s,background .15s;display:grid}.category-row.active{color:var(--ink)}.category-row.dragging{opacity:.5}.category-row.drag-over{background:var(--mint)}.category-drag-handle{width:18px;color:var(--muted);cursor:grab;touch-action:none;background:0 0;border:0;place-items:center;padding:4px 0;display:grid}.category-drag-handle:active{cursor:grabbing}.category-row>span{min-width:0}.category-row>span strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.category-row>span small{color:var(--muted);margin-top:3px;font-size:9px;display:block}.category-actions{flex:none;gap:5px;display:flex}.category-actions button{color:var(--green);background:#eef2ed;border:0;border-radius:7px;padding:5px 6px;font-size:9px;font-weight:700}.category-actions button.danger-text{color:var(--expense);background:var(--expense-soft)}.backup-card{box-shadow:none;background:#e4ede6;align-items:center;gap:18px;display:flex}.backup-card>svg{color:var(--green-2);flex:none}.backup-card h2{margin:2px 0 5px;font-size:17px}.backup-card p{color:var(--muted);margin:0;font-size:11px}.field-note{color:var(--muted);margin:9px 0 0;font-size:11px}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0e1f1894;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--paper);border-radius:24px;width:min(620px,100%);max-height:min(88vh,900px);overflow:hidden;box-shadow:0 28px 80px #091b1352}.modal.modal-wide{width:min(1120px,100%)}.modal>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:20px 22px;display:flex}.modal>header h2{margin:0;font-size:19px}.modal>header .icon-button{color:var(--ink)}.modal-body{max-height:calc(88vh - 72px);padding:22px;overflow-y:auto}.bulk-paste-form{gap:15px;display:grid}.bulk-grid-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.bulk-grid-heading>div{gap:4px;display:grid}.bulk-grid-heading strong{color:#344a40;font-size:12px}.bulk-grid-heading span{color:var(--muted);font-size:10px;line-height:1.5}.bulk-grid-scroll{scrollbar-width:thin;background:#fff;border:1px solid #cfd9d1;border-radius:13px;max-height:390px;overflow:auto}.bulk-grid-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:10px}.bulk-grid-table th{z-index:3;color:#43554d;text-align:left;white-space:nowrap;background:#e8eee9;border-bottom:1px solid #cbd6ce;border-right:1px solid #d4ddd6;height:38px;padding:8px 9px;position:sticky;top:0}.bulk-grid-table td{white-space:nowrap;background:#fff;border-bottom:1px solid #e1e7e2;border-right:1px solid #e1e7e2;height:43px;padding:0}.bulk-grid-table th:first-child,.bulk-grid-table td:first-child{z-index:2;text-align:center;background:#f2f5f2;width:40px;min-width:40px;padding:0 8px;font-weight:800;position:sticky;left:0}.bulk-grid-table th:nth-child(2),.bulk-grid-table td:nth-child(2){z-index:2;text-align:center;background:#f7f9f7;width:54px;min-width:54px;padding:0 7px;position:sticky;left:40px}.bulk-grid-table thead th:first-child,.bulk-grid-table thead th:nth-child(2){z-index:5;background:#e8eee9}.bulk-grid-table input{width:132px;min-width:132px;height:42px;color:var(--ink);font:inherit;background:0 0;border:0;border-radius:0;outline:none;padding:8px 9px;display:block}.bulk-grid-table input::placeholder{color:#a8b2ac;font-style:italic}.bulk-grid-table input:focus{z-index:1;box-shadow:inset 0 0 0 2px var(--green-2);background:#fbfefc;position:relative}.bulk-grid-table tr.error input{background:#fff8f6}.bulk-grid-table .bulk-row-message{width:260px;max-width:260px;color:var(--muted);white-space:normal;padding:7px 10px;line-height:1.35}.bulk-grid-table tr.error .bulk-row-message{color:#9c4033;background:#fff5f2}.bulk-grid-status{border-radius:999px;justify-content:center;min-width:38px;padding:4px 6px;font-size:9px;font-weight:800;display:inline-flex}.bulk-grid-status.waiting{color:#6d7a73;background:#e9eeea}.bulk-grid-status.valid{color:#176344;background:var(--income-soft)}.bulk-grid-status.error{color:#a33f30;background:var(--expense-soft)}.bulk-row-clear{color:var(--expense);background:var(--expense-soft);border:0;border-radius:7px;margin:0 8px;padding:6px 8px;font-size:9px;font-weight:800}.bulk-paste-summary{flex-wrap:wrap;gap:8px;display:flex}.bulk-paste-summary span{border-radius:999px;align-items:center;gap:5px;padding:7px 10px;font-size:11px;font-weight:800;display:inline-flex}.bulk-paste-summary .valid{color:#176344;background:var(--income-soft)}.bulk-paste-summary .error{color:#a33f30;background:var(--expense-soft)}.bulk-paste-summary>small{color:var(--muted);align-self:center;font-size:10px}.bulk-paste-actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.bulk-paste-actions small{color:var(--expense);margin-right:auto;font-size:10px}.stack-form{gap:15px;display:grid}.stack-form label,.admin-section label{color:#44554d;gap:7px;font-size:11px;font-weight:700;display:grid}.stack-form input,.stack-form select,.stack-form textarea,.admin-section input{width:100%;color:var(--ink);background:#fff;border:1px solid #d6ddd7;border-radius:11px;outline:none;min-height:46px;padding:10px 12px}.stack-form textarea{resize:vertical}.stack-form input:focus,.stack-form select:focus,.stack-form textarea:focus,.admin-section input:focus{border-color:var(--green-2);box-shadow:0 0 0 3px #2463471a}.field-grid{grid-template-columns:1fr 1fr;align-items:stretch;gap:12px;display:grid}.field-grid>label{grid-template-rows:auto 1fr}.field-grid>label>input,.field-grid>label>select,.field-grid>label>textarea{align-self:end}.field-grid>label>small{color:var(--muted);font-weight:500;display:block}.rental-party-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.rental-party-grid label{min-width:0}.rental-party-grid input,.rental-party-grid select{min-width:0;padding-inline:9px}.deposit-receipts{border:1px solid #d6ddd7;border-radius:14px;gap:11px;margin:0;padding:15px;display:grid}.deposit-receipts legend{color:#44554d;padding:0 6px;font-size:11px;font-weight:800}.deposit-receipts>p{color:var(--muted);margin:0 0 2px;font-size:10px;line-height:1.55}.deposit-receipt-header,.deposit-receipt-row{grid-template-columns:42px minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:9px;display:grid}.deposit-receipt-header{color:var(--muted);font-size:11px;font-weight:800}.deposit-receipt-header strong{color:var(--muted)}.deposit-receipt-row>strong{color:var(--green);align-self:center;font-size:11px}.deposit-receipt-row input{min-width:0;min-height:42px;padding:8px 9px;font-size:9.5px}.deposit-receipt-row input::placeholder{font-size:9.5px}.deposit-summary{background:#edf3ed;border-radius:11px;grid-template-columns:1fr 1fr auto;align-items:center;gap:8px;margin-top:3px;padding:12px;display:grid}.deposit-summary span{color:var(--muted);font-size:10px}.deposit-summary strong{color:var(--green);margin-top:3px;font-size:14px;display:block}.deposit-summary small{color:var(--muted);text-align:right;font-size:9px}.deposit-record-summary{background:#edf3ed;border-radius:12px;grid-template-columns:1fr 1fr;gap:10px;padding:13px;display:grid}.deposit-record-summary span{color:var(--muted);font-size:10px}.deposit-record-summary strong{color:var(--green);margin-top:4px;font-size:15px;display:block}.remaining-preview{color:var(--muted);background:#f3f3ee;border-radius:11px;margin:0;padding:11px 12px;font-size:11px}.remaining-preview strong{color:var(--green)}.rental-settings-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.rental-settings-grid.contract-edit-settings{grid-template-columns:repeat(2,minmax(0,1fr))}.rental-settings-grid label{min-width:0}.rental-settings-grid select{min-width:0;padding-inline:8px;font-size:11px}.proration-note{margin-top:-7px;line-height:1.55}.check-line{align-items:center;grid-template-columns:19px 1fr!important}.check-line input{width:18px;height:18px;min-height:auto}.form-actions{justify-content:flex-end;gap:8px;display:flex}.help-box{color:#41564b;background:#edf3ed;border-radius:12px;align-items:flex-start;gap:9px;margin:0;padding:12px;font-size:11px;display:flex}.help-box svg{color:var(--green-2);flex:none}.form-error{color:var(--expense);margin:0;font-size:11px}.comment-form{gap:8px;display:grid}.comment-form textarea{border:1px solid var(--line);resize:vertical;border-radius:12px;padding:12px}.comment-form button{justify-self:end}.comments-list{margin-top:18px}.comments-list article{border-top:1px solid var(--line);padding:14px 2px}.comments-list article>div{justify-content:space-between;display:flex}.comments-list strong{font-size:12px}.comments-list small{color:var(--muted);font-size:9px}.comments-list p{margin:7px 0;font-size:12px}.comments-list footer{gap:8px;display:flex}.comments-list footer button{color:var(--muted);background:0 0;border:0;padding:0;font-size:10px}.temporary-password{text-align:center}.temporary-password p{color:var(--muted);font-size:12px}.temporary-password strong{border:1px dashed var(--green-2);letter-spacing:.08em;border-radius:13px;margin:20px 0;padding:15px;font-size:21px;display:block}.login-page{background:radial-gradient(circle at 30% 20%,#315f4a 0,#173f2e 43%,#102d21 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:var(--paper);border-radius:28px;width:min(440px,100%);padding:38px;box-shadow:0 30px 90px #06170f4d}.brand-mark{background:var(--mint);width:58px;height:58px;color:var(--green-2);border-radius:20px;place-items:center;margin-bottom:22px;display:grid}.login-card h1{letter-spacing:-.055em;margin:3px 0 9px;font-size:32px}.login-card>p{color:var(--muted);margin-bottom:26px;font-size:13px;line-height:1.65}.demo-login{gap:9px;display:grid}.demo-login strong{margin-bottom:3px;font-size:12px}.demo-login button{border:1px solid var(--line);min-height:48px;color:var(--green);background:#fff;border-radius:12px;font-weight:800}.demo-login button.author-role{color:#fff;background:var(--green);border-color:var(--green)}.demo-login small{color:var(--muted);text-align:center;margin-top:6px}.password-field{display:flex;position:relative}.password-field input{padding-right:50px}.password-field button{width:38px;height:36px;color:var(--muted);background:0 0;border:0;place-items:center;display:grid;position:absolute;top:5px;right:5px}.global-alert{color:#933829;background:#fff0ed;border:1px solid #e4a99e;border-radius:13px;align-items:center;gap:9px;max-width:1180px;margin:16px auto 0;padding:12px 16px;font-size:12px;display:flex}.global-alert span{flex:1}.global-alert button{color:inherit;background:0 0;border:0;font-weight:700}.loading-cover{z-index:150;color:var(--green);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#f5f3ecd1;justify-content:center;align-items:center;gap:10px;font-size:13px;font-weight:700;display:flex;position:fixed;inset:0}.spinner{animation:1.2s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.search-field{background:var(--paper);border:1px solid var(--line);border-radius:13px;flex:190px;align-items:center;gap:8px;min-width:150px;max-width:300px;min-height:42px;padding:0 12px;display:flex}.search-field svg{color:var(--muted);flex:none}.search-field input{background:0 0;border:0;outline:none;flex:1;min-width:0;padding:0;font-size:13px}.search-field input::-webkit-search-cancel-button{display:none}.search-field>button{color:var(--muted);background:#eff2ed;border:0;border-radius:7px;flex:none;place-items:center;width:24px;height:24px;display:grid}.search-result-count{color:var(--green-2);white-space:nowrap;flex:none;font-size:11.5px;font-weight:800}.search-scope-note{color:var(--muted);margin:-4px 0 0;font-size:11.5px}.list-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.month-stepper.large{min-width:300px;padding:7px}.month-stepper.large strong{letter-spacing:-.04em;font-size:22px}.month-stepper.dimmed{opacity:.5}.day-table{background:var(--paper);box-shadow:var(--shadow);border:1px solid #204a371a;border-radius:18px;overflow:hidden}.day-head{border-top:1px solid var(--line);background:#eef1ec;justify-content:space-between;align-items:center;gap:12px;padding:9px 16px;display:flex}.day-table>:first-child .day-head,.day-table>:first-child>.day-head{border-top:0}.day-head time{letter-spacing:-.03em;white-space:nowrap;font-size:13px;font-weight:800}.day-total{letter-spacing:-.03em;align-items:baseline;gap:10px;font-size:13px;display:flex}.day-total b.income{color:var(--income)}.day-total b.expense{color:var(--expense)}.day-row{border-top:1px solid var(--line);transition:background .15s,opacity .15s}.day-row:first-of-type{border-top:0}.day-row.open{background:#fbfdf9}.day-row.dragging{opacity:.5}.day-row.drag-over{background:var(--mint)}.day-row-main{align-items:stretch;display:flex}.day-drag-handle{color:#b3bdb6;touch-action:none;background:0 0;border:0;flex:none;place-items:center;width:26px;display:grid}.day-row-button{min-width:0;color:inherit;text-align:left;background:0 0;border:0;flex:1;grid-template-columns:17px minmax(0,1fr) auto auto 16px;align-items:center;gap:9px;padding:11px 16px 11px 6px;display:grid}.day-row-mark.income{color:var(--income)}.day-row-mark.expense{color:var(--expense)}.day-row-title{letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;overflow:hidden}.day-row-star{color:var(--expense)}.day-row-amount{letter-spacing:-.03em;white-space:nowrap;font-size:14.5px;font-weight:800}.day-row-amount.income{color:var(--income)}.day-row-amount.expense{color:var(--expense)}.day-row-amount.pending{color:var(--yellow);font-size:11.5px}.day-row-chevron{color:var(--muted);transition:transform .18s}.day-row-chevron.open{transform:rotate(180deg)}.day-row-memo{color:var(--muted);align-items:center;gap:6px;padding:0 16px 9px 48px;font-size:11.5px;display:flex}.day-row-memo span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.day-row-memo b{color:var(--green-2)}.day-row-detail{gap:12px;padding:2px 16px 15px 48px;display:grid}.day-row-detail dl{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px 18px;margin:0;display:grid}.day-row-detail dl>div{grid-template-columns:62px minmax(0,1fr);align-items:baseline;gap:10px;display:grid}.day-row-detail dl>div.wide{grid-column:1/-1}.day-row-detail dt{color:var(--muted);font-size:11px;font-weight:700}.day-row-detail dd{margin:0;font-size:12.5px}.day-row-actions{flex-wrap:wrap;gap:7px;display:flex}.day-row-actions button{border:1px solid var(--line);color:var(--green);background:#fff;border-radius:10px;align-items:center;gap:5px;min-height:34px;padding:0 11px;font-size:12px;font-weight:700;display:inline-flex}.day-row-actions button:hover{background:#f1f5f0}.day-row-actions .important-toggle.active{background:var(--expense-soft);color:#a84031;border-color:#e9c0b7}.day-row-actions .flow-delete-button{color:#a84031}.over-paid{color:#a84031;font-weight:800}.voice-input{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.voice-button{border:1px solid var(--line);color:var(--green);background:#fff;border-radius:11px;align-items:center;gap:6px;min-height:38px;padding:0 13px;font-size:12.5px;font-weight:700;display:inline-flex}.voice-button.listening{background:var(--expense-soft);color:#a84031;border-color:#e9c0b7}.voice-hint{color:var(--green-2);font-size:11.5px;font-weight:700}.voice-error{color:#a84031;font-size:11.5px}.priority-toggle-button{min-width:0;color:inherit;text-align:left;background:0 0;border:0;flex:1;justify-content:space-between;align-items:center;gap:12px;padding:0;display:flex}.priority-toggle-count{color:var(--muted);align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.priority-toggle-count svg{transition:transform .18s}.priority-toggle-count svg.open{transform:rotate(180deg)}.delayed-total.income strong{color:var(--income)}.delayed-total.expense strong{color:var(--expense)}.priority-list time{white-space:nowrap}.icon-button.active{background:#ffffff2e}.month-stepper{background:var(--paper);border:1px solid var(--line);border-radius:18px;grid-template-columns:46px 1fr 46px;align-items:center;gap:8px;width:fit-content;min-width:260px;padding:8px;display:grid}.month-stepper>button{height:40px;color:var(--green);background:#eff2ed;border:0;border-radius:12px;place-items:center;display:grid}.month-stepper strong{text-align:center;letter-spacing:-.03em;font-size:18px}.rank-total{background:var(--paper);border:1px solid var(--line);border-radius:18px;justify-content:space-between;align-items:baseline;gap:12px;padding:15px 20px;display:flex}.rank-total span{color:var(--muted);font-size:12px;font-weight:700}.rank-total strong{letter-spacing:-.03em;font-size:21px}.rank-total strong.income{color:var(--income)}.rank-total strong.expense{color:var(--expense)}.rank-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.rank-button{text-align:left;background:var(--paper);width:100%;box-shadow:var(--shadow);border:1px solid #204a371a;border-radius:16px;gap:6px;padding:11px 16px;transition:transform .15s,box-shadow .15s;display:grid}.rank-button:hover{transform:translateY(-1px);box-shadow:0 12px 26px #1933291f}.rank-line{grid-template-columns:24px 58px minmax(0,1fr) auto 17px;align-items:center;gap:10px;display:grid}.rank-order{width:24px;height:24px;color:var(--green);background:#eff2ed;border-radius:8px;place-items:center;font-size:12px;font-weight:800;display:grid}.rank-percent{letter-spacing:-.04em;text-align:right;font-size:19px;font-weight:800}.rank-name{letter-spacing:-.03em;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;overflow:hidden}.rank-amount{letter-spacing:-.04em;white-space:nowrap;font-size:18px;font-weight:800}.rank-go{color:var(--muted)}.rank-button.income .rank-percent,.rank-button.income .rank-amount{color:var(--income)}.rank-button.expense .rank-percent,.rank-button.expense .rank-amount{color:var(--expense)}.rank-bar-row{grid-template-columns:minmax(90px,1fr) auto;align-items:center;gap:10px;display:grid}.rank-track{background:#e9ece7;border-radius:999px;height:8px;display:block;overflow:hidden}.rank-fill{border-radius:999px;height:100%;display:block}.rank-fill.income{background:linear-gradient(90deg,#147451,#2f9b73)}.rank-fill.expense{background:linear-gradient(90deg,#c4513e,#dc7b62)}.rank-meta-inline{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:10.5px;font-weight:700;display:flex}.rank-change{background:#eff2ed;border-radius:999px;padding:2px 7px}.rank-change.up{background:var(--expense-soft);color:#a84031}.rank-change.down{background:var(--income-soft);color:var(--income)}.insight-list{gap:10px;display:grid}.insight-card{background:var(--paper);box-shadow:var(--shadow);border:1px solid #204a371a;border-left-width:4px;border-radius:16px;grid-template-columns:19px 1fr;align-items:start;gap:12px;padding:15px 18px;display:grid}.insight-card p{margin:0;font-size:14px;line-height:1.55}.insight-card.good{border-left-color:var(--income);color:var(--ink)}.insight-card.good svg{color:var(--income)}.insight-card.info{border-left-color:var(--green-2)}.insight-card.info svg{color:var(--green-2)}.insight-card.warn{border-left-color:var(--expense)}.insight-card.warn svg{color:var(--expense)}.insight-footnote{color:var(--muted);align-items:center;gap:6px;margin:2px 0 0;font-size:11px;display:flex}.focus-chip{background:var(--mint);color:var(--green);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:11px 16px;font-size:13px;display:flex}.focus-chip button{color:var(--green);background:#fff;border:0;border-radius:10px;padding:7px 13px;font-size:12px;font-weight:800}@media (width<=720px){body{min-height:100dvh}.app-shell{min-height:100dvh;padding-bottom:150px}.section-heading h2,.delayed-toggle-header h2,.flow-toggle-button h2{font-size:19px}.app-header{height:66px;padding:0 18px}.app-header h1{font-size:19px}.demo-badge,.user-name{display:none}.app-content{padding:18px 14px 38px}.page{gap:13px}.bottom-nav{border-radius:18px;justify-content:stretch;width:calc(100% - 20px);bottom:9px}.bottom-nav button{flex-direction:column;flex:1;gap:2px;min-width:0;padding:7px 3px;font-size:9px}.card{border-radius:18px;padding:18px}.page-title{align-items:flex-start}.page-title h2{font-size:27px}.page-title p{font-size:12px}.page-title .primary-button{width:42px;padding:0;font-size:0}.page-title .primary-button svg{width:19px}.page-title-actions{gap:6px}.page-title-actions .secondary-button{width:42px;min-height:42px;padding:0;font-size:0}.page-title-actions .secondary-button svg{width:19px}.month-picker{grid-template-columns:40px 1fr 40px}.month-picker .today-button{grid-column:1/4}.date-picker{min-height:66px;padding-right:54px}.date-picker>.today-button{width:42px;font-size:10px;right:6px}.flow-toggle-heading{flex-wrap:wrap;gap:7px}.flow-toggle-button{flex:1 0 100%;min-width:0}.flow-toggle-button h2{font-size:19px}.flow-toggle-heading .small-button{margin-left:auto;padding:0 9px;font-size:10px}.balance-grid,.two-column,.category-columns{grid-template-columns:1fr}.balance-card{grid-template-rows:18px 34px auto;row-gap:3px;min-height:96px;padding:13px 18px}.balance-card strong{font-size:28px}.balance-card .balance-card-title{min-height:18px;font-size:12px}.balance-card-description{padding-top:1px}.balance-card-description small{min-height:15px;font-size:11px;line-height:1.35}.balance-card .available-balance-detail{margin-top:3px}.balance-card .available-balance-warning{margin-top:2px}.summary-grid{grid-template-columns:1fr 1fr}.summary-grid>div{border-bottom:1px solid var(--line);padding:13px 14px}.summary-grid span{font-size:10px}.summary-grid strong{margin-top:5px;font-size:16px}.summary-grid>div:nth-child(2){border-right:0}.summary-grid>div:nth-child(3),.summary-grid>div:nth-child(4){border-bottom:0}.timeline-row{grid-template-columns:1fr auto;gap:8px}.scrollable-list{overscroll-behavior:auto}.cash-flow-scroll{max-height:300px}.timeline-items{grid-column:1/3}.timeline-row>strong{grid-area:1/2}.delayed-heading-summary{gap:7px}.delayed-total strong{font-size:14px}.delayed-expense-list>div{grid-template-columns:18px 82px minmax(0,1fr);gap:7px}.delayed-expense-list svg,.delayed-expense-list time{grid-row:1/3}.delayed-expense-list>strong{grid-column:3}.priority-list>div{grid-template-columns:18px 8px 68px minmax(0,1fr);gap:6px}.priority-list time{font-size:13px}.priority-list span{overflow-wrap:anywhere}.priority-toggle-button{width:100%}.priority-scroll{max-height:305px}.priority-list .priority-drag-handle,.priority-list i,.priority-list time{grid-row:1/3}.priority-list>strong{grid-column:4}.priority-heading{flex-direction:column;align-items:flex-start}.priority-heading-actions{justify-content:space-between;gap:8px;width:100%}.priority-month-picker{grid-template-columns:30px auto 30px}.priority-month-picker button{width:30px;height:30px}.priority-month-picker strong{min-width:74px;font-size:12px}.priority-total strong{white-space:nowrap;font-size:16px}.flow-summary{gap:6px}.flow-summary>div{padding:11px 9px}.flow-summary strong{font-size:13px}.flow-card.viewer{grid-template-columns:42px minmax(0,1fr)}.flow-card.author{grid-template-columns:18px 42px minmax(0,1fr);gap:8px}.flow-month-divider{gap:8px;margin-top:13px}.flow-month-divider span{padding:4px 9px;font-size:10px}.flow-icon{border-radius:13px;width:40px;height:40px}.flow-card.author .flow-drag-handle{grid-area:1/1/4}.flow-card.author .flow-icon{grid-area:1/2}.flow-card.author .flow-main{grid-area:1/3}.flow-card.author .flow-amount{grid-area:2/3}.flow-actions{flex-wrap:wrap;gap:5px;display:flex}.flow-actions button{justify-content:center;gap:3px;padding:7px}.flow-actions button svg{width:13px;height:13px}.flow-actions .managed-flow-note{gap:3px;padding:6px 7px;font-size:9px}.flow-actions .managed-flow-note svg{width:12px;height:12px}.flow-main p.flow-managed-note{display:none}.flow-card.author .flow-actions{grid-area:3/3}.flow-card.viewer .flow-amount,.flow-card.viewer .flow-actions{grid-column:2}.flow-amount{font-size:15px}.fixed-expense-summary{flex-direction:column;align-items:stretch;gap:16px}.fixed-expense-month-picker{align-self:center}.fixed-expense-total{text-align:center}.fixed-expense-month-picker span,.fixed-expense-total span{font-size:10px}.fixed-expense-total strong{font-size:26px}.fixed-expense-total small{font-size:12px}.fixed-expense-card{gap:8px 13px}.fixed-expense-card.author{grid-template-columns:16px 46px minmax(0,1fr) auto}.fixed-expense-card.viewer{grid-template-columns:40px minmax(0,1fr) auto}.fixed-expense-day-icon{border-radius:12px;width:46px;height:46px}.fixed-expense-card.author .fixed-expense-drag-handle{grid-area:1/1/3;width:16px}.fixed-expense-card.author .fixed-expense-day-icon{grid-area:1/2}.fixed-expense-card.author .fixed-expense-card-actions{grid-area:1/3/auto/5}.fixed-expense-card.author .fixed-expense-main{grid-area:2/2/auto/4;align-self:start}.fixed-expense-card-actions{grid-template-columns:repeat(3,minmax(0,1fr));align-self:center;gap:5px;min-width:0}.fixed-expense-card-actions .fixed-expense-important{grid-column:auto}.fixed-expense-card-actions .small-button{min-height:31px;padding:4px;font-size:10px}.fixed-expense-card-actions .small-button svg{width:12px;height:12px}.fixed-expense-card.viewer .fixed-expense-day-icon{grid-area:1/1}.fixed-expense-card.viewer .fixed-expense-main{grid-area:1/2/auto/4}.fixed-expense-card.viewer .fixed-expense-amount{border-top:1px solid var(--line);text-align:left;flex-wrap:wrap;grid-area:2/2/auto/4;justify-content:space-between;align-items:baseline;gap:4px 10px;padding-top:9px;display:flex}.fixed-expense-card.viewer .fixed-expense-amount strong{margin:0}.fixed-expense-card.viewer .fixed-expense-amount small{flex-basis:100%;margin:0}.fixed-expense-card.author .fixed-expense-amount{text-align:right;white-space:nowrap;grid-area:2/4;align-self:start}.fixed-expense-card.author .fixed-expense-amount span{font-size:10px;line-height:1.2}.fixed-expense-card.author .fixed-expense-amount strong{margin-top:2px;font-size:16px;line-height:1.25}.fixed-expense-main>span{line-height:1.2;display:block}.fixed-expense-main h3{line-height:1.25}.contract-row,.contract-row.viewer{grid-template-columns:minmax(56px,.72fr) minmax(130px,2fr) minmax(52px,.7fr);gap:6px;padding:12px}.rental-sort-bar{justify-content:stretch;margin-top:-2px}.rental-sort-bar>span{display:none}.rental-sort-bar button{flex:1;min-width:0;padding:0 8px}.contract-row.viewer{grid-template-columns:minmax(58px,.6fr) minmax(170px,2.4fr)}.contract-row .contract-icon{display:none}.contract-resident{gap:0}.contract-resident>div{text-align:center}.contract-resident span{font-size:10.5px}.contract-resident h3{font-size:17px}.contract-resident p{font-size:12px}.contract-row-summary{gap:4px}.contract-period,.contract-money-grid>div{border-radius:9px;padding:7px 8px}.contract-money-grid{gap:4px}.contract-row-summary dt{font-size:9px}.contract-row-summary dd{white-space:nowrap;margin-top:3px;font-size:11px}.contract-row-summary .contract-period dd{white-space:normal;font-size:11px}.contract-row,.contract-row.viewer{align-items:stretch}.contract-row-actions{align-content:stretch;align-self:stretch;gap:4px}.contract-row-actions .small-button{white-space:normal;height:100%;min-height:0;padding:4px 2px;font-size:8px;line-height:1.2}.contract-row-actions .small-button svg{width:11px;height:11px}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.field-grid>label{min-width:0}.field-grid>label>input,.field-grid>label>select{min-width:0;padding-inline:9px;font-size:13px}.field-grid>label>small{font-size:9.5px;line-height:1.3}.category-row{grid-template-columns:18px minmax(0,1fr);gap:7px}.category-actions{flex-wrap:wrap;grid-column:2}.rental-party-grid{gap:6px}.rental-party-grid input,.rental-party-grid select{padding-inline:7px;font-size:11px}.deposit-receipt-header,.deposit-receipt-row{grid-template-columns:32px minmax(0,1fr) minmax(0,1.08fr);gap:6px}.deposit-receipt-row input{padding-inline:6px;font-size:9.5px}.rental-settings-grid{gap:5px}.rental-settings-grid select{min-height:43px;padding-inline:3px;font-size:9.5px}.deposit-summary{grid-template-columns:1fr 1fr}.deposit-summary small{text-align:left;grid-column:1/3}.admin-list>div{grid-template-columns:38px 1fr auto}.admin-list b{grid-column:2}.admin-list>div>button,.admin-list .inline-actions{grid-area:1/3/3}.login-card{border-radius:23px;padding:28px 22px}.modal-backdrop{align-items:end;padding:0}.modal{border-radius:24px 24px 0 0;width:100%;max-height:92vh}.modal-body{max-height:calc(92vh - 70px)}.bulk-paste-form{gap:12px}.bulk-grid-heading{flex-direction:column;align-items:stretch}.bulk-grid-heading .secondary-button{align-self:flex-start}.bulk-grid-scroll{max-height:360px}.bulk-grid-table input{width:118px;min-width:118px}.bulk-grid-table .bulk-row-message{width:220px;max-width:220px}.bulk-paste-actions{flex-direction:column;align-items:stretch}.bulk-paste-actions small{margin:0}}@media (width>=721px){.section-heading h2,.delayed-toggle-header h2,.flow-toggle-button h2{font-size:21px}.balance-card{grid-template-rows:20px 42px auto;row-gap:6px;min-height:158px;padding:20px 24px}.contract-row{grid-template-columns:minmax(130px,.8fr) minmax(430px,3fr) minmax(130px,auto)}.contract-row.viewer{grid-template-columns:minmax(130px,.8fr) minmax(430px,3fr)}.contract-resident>div{text-align:center}.contract-resident span{font-size:11px}.contract-period,.contract-money-grid>div{justify-content:space-between;align-items:baseline;gap:12px;padding:11px 14px;display:flex}.contract-row-summary dt{flex:none;font-size:12px}.contract-row-summary dd{text-align:center;flex:1;min-width:0;margin:0;font-size:13px}.fixed-expense-amount span{display:none}.fixed-expense-amount strong{margin-top:0;font-size:17px}.balance-card>strong{font-size:clamp(24px,2.4vw,32px)}.balance-card{grid-template-rows:20px 40px auto}}@media (width>=1000px){.app-shell{padding-bottom:0;padding-left:210px}.app-header{padding-left:28px;padding-right:28px}.app-content{max-width:1020px;margin:0;padding-left:28px;padding-right:28px}.bottom-nav{border-radius:20px;flex-direction:column;width:180px;top:106px;bottom:auto;left:20px;transform:none}.bottom-nav button{justify-content:flex-start}}@media (width<=360px){.flow-summary>div{padding-inline:6px}.flow-summary strong{font-size:12px}}@media (width<=720px){.month-stepper{width:100%;min-width:0}.month-stepper.large{padding:6px}.month-stepper.large strong{font-size:19px}.list-controls{flex-direction:column;align-items:stretch;gap:9px}.list-controls .segmented-control{grid-template-columns:repeat(3,1fr);width:100%;display:grid}.list-controls .segmented-control button{min-width:0}.search-field{flex:100%;max-width:none;min-height:40px}.day-head{padding:8px 12px}.day-head time{font-size:12.5px}.day-total{gap:7px;font-size:12px}.day-row-button{grid-template-columns:16px minmax(0,1fr) auto 15px;gap:1px 7px;padding:10px 12px 10px 4px}.day-row-title{font-size:13px}.day-row-star{grid-area:2/2}.day-row-amount{grid-column:3;font-size:13.5px}.day-drag-handle{width:22px}.day-row-memo{padding:0 12px 8px 39px;font-size:11px}.day-row-detail{padding:2px 12px 13px 39px}.day-row-detail dl{grid-template-columns:minmax(0,1fr);gap:6px}.day-row-detail dl>div{grid-template-columns:56px minmax(0,1fr)}.day-row-actions button{min-height:33px;padding:0 10px;font-size:11.5px}.insight-tabs{grid-template-columns:repeat(3,1fr);width:100%;display:grid}.insight-tabs button{min-width:0;padding:0 4px}.month-stepper strong{font-size:16px}.rank-button{border-radius:14px;gap:5px;padding:10px 12px}.rank-line{grid-template-columns:20px 46px minmax(0,1fr) auto 15px;gap:7px}.rank-order{width:20px;height:20px;font-size:11px}.rank-percent{font-size:16px}.rank-name{font-size:12.5px}.rank-amount{font-size:14.5px}.rank-bar-row{grid-template-columns:minmax(0,1fr);row-gap:4px}.rank-meta-inline{white-space:normal;flex-wrap:wrap;font-size:10px}.insight-card{gap:9px;padding:13px 14px}.insight-card p{font-size:12.5px}.rank-total{padding:13px 15px}.rank-total strong{font-size:17px}.focus-chip{padding:10px 13px;font-size:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
