*,*:before,*:after{box-sizing:border-box}:root{color-scheme:light dark}body{font-family:system-ui,-apple-system,sans-serif;line-height:1.5;max-width:800px;margin:0 auto;padding:1rem}header{display:flex;flex-direction:column;border-bottom:1px solid currentColor;padding-bottom:1rem;margin-bottom:2rem;gap:1rem}@media(min-width:600px){header{flex-direction:row;justify-content:space-between;align-items:center}}nav{display:flex;gap:.5rem;width:100%;justify-content:space-between}@media(min-width:600px){nav{width:auto;justify-content:flex-start}}section{margin-bottom:2rem}h1,h2,h3{margin:0 0 1rem}button{cursor:pointer;padding:.6rem 1rem;min-height:44px;min-width:44px;font-size:1rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid currentColor;background:transparent;color:inherit;border-radius:4px}.btn-primary{background-color:CanvasText;color:Canvas;border-color:CanvasText}@media(prefers-color-scheme:dark){.btn-primary{background-color:#fff;color:#000}}@media(prefers-color-scheme:light){.btn-primary{background-color:#000;color:#fff}}.btn-cancel{border:none}.amount{font-size:2rem;font-weight:700}@media(min-width:600px){.amount{font-size:2.5rem}}.date-group-header{margin:2rem 0 .75rem;padding-bottom:.5rem;border-bottom:1px solid currentColor;font-size:.9rem;font-weight:700;opacity:.8;text-transform:uppercase;letter-spacing:.05em}.date-group-header:first-child{margin-top:.5rem}.card-list{display:grid;gap:0}article{border:none;padding:.35rem .5rem;display:flex;flex-direction:row;align-items:center;gap:.75rem;border-radius:4px;min-height:3.5rem}article+article{border-top:1px solid rgba(0,0,0,.05);border-top-left-radius:0;border-top-right-radius:0}article:has(+article){border-bottom-left-radius:0;border-bottom-right-radius:0}@media(prefers-color-scheme:dark){article+article{border-top-color:#ffffff1a}}article.clickable{cursor:pointer;transition:background-color .2s;user-select:none;-webkit-user-select:none}article.clickable:hover{background-color:#0000000d}article.dragging{opacity:.5;background-color:#0000001a}@media(prefers-color-scheme:dark){article.clickable:hover{background-color:#ffffff0d}article.dragging{background-color:#ffffff1a}}.info{flex-grow:1}.info h3{margin:0;font-size:1rem;display:flex;align-items:center;gap:.25rem}.note-icon{opacity:.5;flex-shrink:0}.info p{margin:0;font-size:.85rem;opacity:.8}.settings-actions{justify-content:flex-start!important;margin-top:1rem}.settings-section{margin-bottom:2rem;opacity:.9}.settings-section h3{margin-bottom:.5rem}.settings-section p{margin-bottom:1rem;font-size:.95rem;opacity:.8}.amounts{text-align:left}@media(min-width:600px){.amounts{text-align:right}}.controls{display:flex;gap:.5rem;flex-wrap:wrap}form .controls{justify-content:flex-end;margin-top:1.5rem}@media(max-width:480px){form .controls{flex-direction:column-reverse}form .controls button{width:100%}}dialog{padding:1.5rem;border:1px solid currentColor;width:95%;max-width:500px;border-radius:8px}@media(max-width:480px){dialog{width:100%;height:100%;max-height:100%;margin:0;border:none;border-radius:0}}dialog::backdrop{background:#00000080}form>div,form>details{margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}form>div.no-flex,form>details.no-flex{display:block}.radio-group{display:flex;align-items:center;gap:1rem;flex:1}.radio-group label{flex:none;font-weight:400;display:flex;align-items:center;gap:.25rem;cursor:pointer}summary{cursor:pointer;font-weight:700}label{flex:0 0 80px;font-weight:700}input[type=text],input[type=number],input[type=date],select,textarea{flex:1;padding:.6rem;box-sizing:border-box;font-size:16px}.view-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1.5rem}.view-header h2{margin:0}.action-bar{display:flex;justify-content:flex-end;gap:.5rem;margin-bottom:1rem}@media(max-width:480px){.action-bar{flex-direction:column}.action-bar button{width:100%}}.text-danger{color:#ff4d4d}.text-success{color:#2ecc71}.text-muted{color:gray}.placeholder{text-align:center;padding:2rem;opacity:.6;font-style:italic;border:1px dashed currentColor}[hidden]{display:none!important}.nav-btn{background:transparent;border:1px solid transparent;color:inherit}.nav-btn[aria-current=page]{background-color:CanvasText;color:Canvas;border-color:CanvasText}@media(prefers-color-scheme:dark){.nav-btn[aria-current=page]{background-color:#fff;color:#000}}@media(prefers-color-scheme:light){.nav-btn[aria-current=page]{background-color:#000;color:#fff}}
