.modal-dialog{width:100%;max-width:100%;color:var(--text);cursor:default;background-color:#0000;border:none;outline:none;margin:auto;padding:0}.modal-dialog::backdrop{background-color:#0009}.modal{background-color:var(--surface);border:1px solid var(--border);border-radius:20px;margin:0 auto}.settings{flex-direction:column;gap:1.5em;max-width:22em;padding:2em;display:flex}.settings-section{flex-direction:column;align-items:flex-start;gap:.5em;display:flex}.settings-section select{border:1px solid var(--border);background-color:var(--surface-raised);background-position:right .5em center;background-size:1.25em;border-radius:5px;width:100%;padding:.4em 2em .4em .5em;font-size:1em;font-weight:400}.close-settings{align-self:center}.app-header{justify-content:space-between;align-items:center;padding:.5em 1em 0;display:flex}.app-header h1{color:var(--text)}.app-header svg{fill:var(--text)}.data-actions{align-items:center;gap:.5em;display:flex}.settings-btn{border-radius:50%;justify-content:center;align-items:center;width:2.25em;height:2.25em;padding:0;display:flex}.settings-btn svg{fill:none;stroke:var(--on-primary);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.new-transaction{flex-direction:column;max-width:50em;padding:2em 0;display:flex}#new-transaction-form{width:17em;margin:0 auto}.form-section{text-align:left;flex-direction:column;margin:1em auto;display:flex}.form-section label{margin-bottom:.25em}.form-type{margin:0 auto}.form-btns{justify-content:center;align-items:center;gap:1em;padding:.5em 0;display:flex}.cancel-transaction{color:var(--expense);border:2px solid var(--expense);background-color:#0000}.transaction{background-color:var(--surface-raised);cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;margin:.6em auto;padding:1em;transition:background-color .15s ease-in-out;display:flex}.transaction:hover{background-color:var(--surface-hover)}.transaction-entry{border-radius:inherit;justify-content:space-between;align-items:center;width:100%;display:flex}.transaction-info{text-align:left;flex-direction:column;align-items:flex-start;gap:.25em;padding-right:1em;display:flex}.name{font-size:1.2em;font-weight:600}.category{color:var(--text-muted);background-color:var(--chip);cursor:pointer;border:none;border-radius:999px;align-items:center;gap:.35em;padding:.15em .6em;font-family:inherit;font-size:.8em;font-weight:500;transition:color .15s ease-in-out;display:inline-flex}.category:hover,.category:focus-visible{color:var(--text)}.category svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1em;height:1em}.transaction-info-right{text-align:center;flex-direction:column;align-items:flex-end;gap:.25em;display:flex}.amount{white-space:nowrap;font-size:1.2em;font-weight:600}.transaction-date{color:var(--text-muted);white-space:nowrap}.transaction-actions{border-radius:inherit;gap:.5em;margin-left:1em;display:flex}.edit-transaction,.duplicate-transaction,.delete-transaction{border-radius:inherit;border:none;padding:.5em}.edit-transaction svg,.duplicate-transaction svg,.delete-transaction svg{fill:var(--on-primary)}.edit-transaction{background-color:var(--primary)}.duplicate-transaction{background-color:var(--secondary)}.delete-transaction{background-color:var(--expense)}.delete-all-btn{border:2px solid var(--expense);color:var(--on-primary);background-color:var(--expense);border-radius:20px;margin:1em auto;padding:.5em 2em;font-weight:500}.delete-confirm p{padding:1em 0;font-weight:500}.confirm-btns{justify-content:center;align-items:center;gap:1em;padding:.5em 0;display:flex}.confirm-delete{color:var(--on-primary);background-color:var(--expense);border:2px solid var(--expense)}.confirm-cancel{color:var(--primary);border:2px solid var(--primary);background-color:#0000}.transaction-home{max-width:50em;margin:0 auto}.transaction-header{margin:2em auto}.transaction-header h2{color:var(--text);margin-bottom:.25em;font-size:2em;font-weight:600}.transaction-header span{font-size:2.5em;font-weight:700}.period-label{color:var(--text-muted);margin-bottom:.5em;font-weight:500}.income-expense{flex-wrap:wrap;justify-content:center;align-items:center;gap:2em;margin:2em auto;display:flex}.income-total,.expense-total{border-radius:10px;min-width:35%;padding:1em}.income-total h2,.expense-total h2{font-size:1.2em;font-weight:500}.income-total span,.expense-total span{font-size:1.4em}.income-total{background-color:var(--income-card);border:1px solid var(--income-card-border)}.income-total h2{color:var(--income)}.expense-total{background-color:var(--expense-card);border:1px solid var(--expense-card-border)}.expense-total h2{color:var(--expense)}.transaction-list{background-color:var(--surface);border-radius:20px;padding:.25em 1em 1em}.transaction-options{justify-content:space-between;align-items:center;margin:1em auto;display:flex}.filter-options{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1em;display:flex}select{color:var(--text);cursor:pointer;appearance:none;background:url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20xmlns='http://www.w3.org/2000/svg'%20id='Outline'%20viewBox='0%200%2024%2024'%20width='24'%20height='24'%3e%3cpath%20fill='%23e8e9f0'%20d='M18.71,8.21a1,1,0,0,0-1.42,0l-4.58,4.58a1,1,0,0,1-1.42,0L6.71,8.21a1,1,0,0,0-1.42,0,1,1,0,0,0,0,1.41l4.59,4.59a3,3,0,0,0,4.24,0l4.59-4.59A1,1,0,0,0,18.71,8.21Z'/%3e%3c/svg%3e") 100% no-repeat;border:none;padding-right:1em;font-family:inherit;font-size:1.75em;font-weight:700}.date-period{flex-wrap:wrap;gap:1em;display:flex}.date-period>div{flex-direction:column;align-items:flex-start;gap:.3em;display:flex}.date-period label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);font-size:.8em;font-weight:600}.date-period select{border:1px solid var(--border);background-color:var(--surface-raised);background-position:right .5em center;background-size:1.25em;border-radius:5px;padding:.4em 2em .4em .6em;font-size:1em;font-weight:400}.add-transaction-btn{background-color:var(--primary);border-radius:50%;justify-content:center;align-items:center;width:2em;height:2em;padding:0;display:flex}.add-transaction-btn svg{fill:var(--on-primary)}.search{flex:1;align-items:center;gap:.5em;min-width:14em;max-width:18em;display:flex}.search svg{fill:var(--text-muted);flex-shrink:0}.search-field{flex:1;position:relative}.search input{width:100%;padding:.4em .6em}.search-field:has(.clear-search) input{padding-right:2em}.search .clear-search{background-color:#0000;border:none;border-radius:5px;padding:.25em;display:flex;position:absolute;top:50%;right:.3em;transform:translateY(-50%)}.search .clear-search:hover svg{fill:var(--text)}.no-transactions{padding:3em 0 2em;font-weight:500}.transaction-list ul{padding:1em 0;list-style-type:none}.date-group ul{padding:0}.date-group+.date-group{margin-top:1.25em}.date-header{color:var(--text);background-color:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;padding:.6em .25em;font-size:1.1em;font-weight:600;display:flex;position:sticky;top:0}.undo-toast{z-index:10;background-color:var(--surface-raised);border:1px solid var(--border);border-radius:10px;align-items:center;gap:1.5em;padding:.75em 1em;display:flex;position:fixed;bottom:1.5em;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0006}.undo-toast button{padding:.25em 1.25em}footer{padding:2em 1em}footer p{color:var(--text)}footer a{color:var(--link)}footer a:hover{text-decoration:underline}#disclaimer{margin-bottom:1em}#disclaimer span{color:inherit;font-weight:700}.scroll-to-top{z-index:10;opacity:0;visibility:hidden;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;padding:0;transition:opacity .2s ease-in-out,visibility .2s ease-in-out;display:flex;position:fixed;bottom:1.5em;right:1.5em;box-shadow:0 8px 24px #0006}.scroll-to-top.visible{opacity:1;visibility:visible}.scroll-to-top img{transform:rotate(180deg)}@media (width<=600px){.scroll-to-top{bottom:5.5em;right:1em}}.app{text-align:center;background:url(/assets/bg-blue-DdM2QbSk.svg) 0 0/cover no-repeat;min-height:100vh}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0d1a;--surface:#232326;--surface-raised:#1a1a1d;--surface-hover:#26262a;--chip:#2e2e33;--border:#45454c;--text:#e8e9f0;--text-muted:#a0a0a8;--primary:#2f4bdb;--on-primary:#fff;--secondary:#7048e8;--link:#00ebeb;--income:#34d27b;--income-card:#143d26;--income-card-border:#1f6b3f;--expense:#e5302f;--expense-card:#4a1a1c;--expense-card-border:#7a2a2d;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(/assets/inter-v13-latin-regular-BT1H-PT_.woff2)format("woff2")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(/assets/inter-v13-latin-500-kWhwEdDH.woff2)format("woff2")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(/assets/inter-v13-latin-600-B2Ssfs8e.woff2)format("woff2")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(/assets/inter-v13-latin-700-C2zfFY7I.woff2)format("woff2")}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--text);background-color:var(--bg);margin:0;padding:0}a{color:inherit;text-decoration:none}button{all:unset;cursor:pointer;background-color:var(--primary);color:var(--on-primary);border:2px solid var(--primary);border-radius:20px;padding:.5em 2em;font-weight:500;transition:all .15s ease-in-out}button:focus-visible{outline:2px solid var(--text);outline-offset:2px}img{-webkit-user-select:none;user-select:none;margin:0 auto;display:block}h1{font-weight:700}input,textarea{border:1px solid var(--border);color:var(--text);background-color:var(--surface-raised);border-radius:5px;padding:.25em;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-size:1em;font-weight:400}textarea{resize:vertical;min-height:2em;max-height:20em}select option{color:var(--text);background-color:var(--surface)}.segmented{border:2px solid var(--border);border-radius:10px;width:max-content;display:inline-flex}.segmented label{cursor:pointer;margin:.1em}.segmented input[type=radio]{opacity:0;pointer-events:none;position:absolute}.segmented span{border-radius:7px;padding:.5em 1.5em;transition:all .15s ease-in-out;display:inline-block}.segmented input[type=radio]:checked+span{color:var(--on-primary);background-color:var(--primary)}.segmented input[type=radio]:focus-visible+span{outline:2px solid var(--text);outline-offset:2px}.income{color:var(--income)}.expense{color:var(--expense)}
