:root{--background:#fff;--foreground:#171717}@media (prefers-color-scheme:dark){:root{--background:#0a0a0a;--foreground:#ededed}}*{box-sizing:border-box}html,body{max-width:100vw;overflow-x:hidden}body{color:var(--foreground);background:var(--background);margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}.main{flex-direction:column;gap:.5rem;max-width:40rem;margin:0 auto;padding:3rem 1.5rem;display:flex}code{background:color-mix(in srgb, var(--foreground) 10%, transparent);border-radius:4px;padding:.1rem .3rem;font-size:.9em}.form{flex-direction:column;gap:1rem;max-width:22rem;margin-top:1rem;display:flex}.field{flex-direction:column;gap:.35rem;display:flex}.field label{font-size:.9rem;font-weight:500}.field input{border:1px solid color-mix(in srgb, var(--foreground) 25%, transparent);background:var(--background);color:var(--foreground);font:inherit;border-radius:6px;padding:.55rem .7rem}.field input:focus-visible{outline:2px solid var(--foreground);outline-offset:1px}.form button{background:var(--foreground);color:var(--background);font:inherit;cursor:pointer;border:none;border-radius:6px;padding:.6rem 1rem;font-weight:500}.form button:disabled{opacity:.6;cursor:progress}.form-error{color:#d33131;margin:0;font-size:.9rem}@media (prefers-color-scheme:dark){.form-error{color:#ff8080}}.form-footer{margin:1.25rem 0 0;font-size:.9rem}.form-footer a{color:inherit}.button{background:var(--foreground);min-height:2.75rem;color:var(--background);font:inherit;cursor:pointer;touch-action:manipulation;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:.4rem;padding:.6rem 1.1rem;font-weight:500;display:inline-flex}.button-secondary{color:var(--foreground);border-color:color-mix(in srgb, var(--foreground) 25%, transparent);background:0 0}.button-danger{color:#fff;background:#d33131}.button-block{width:100%}.button:disabled,.icon-button:disabled{opacity:.6;cursor:progress}.button:focus-visible,.icon-button:focus-visible,.list-input:focus-visible{outline:2px solid var(--foreground);outline-offset:2px}.icon-button{width:2.75rem;height:2.75rem;color:var(--foreground);cursor:pointer;touch-action:manipulation;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-button:active{background:color-mix(in srgb, var(--foreground) 10%, transparent)}.icon-button-danger{color:#d33131}@media (prefers-color-scheme:dark){.icon-button-danger{color:#ff8080}}@media (hover:hover){.icon-button:hover{background:color-mix(in srgb, var(--foreground) 8%, transparent)}}.icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1.25rem;height:1.25rem}.lists-page{flex-direction:column;max-width:40rem;min-height:100dvh;margin:0 auto;display:flex}.lists-header{padding:1rem 1rem .5rem}.lists-header h1{margin:0;font-size:1.6rem}.lists-header-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-right:-.6rem;display:flex}.header-error{flex-basis:100%}.lists-content{flex:1;padding:0 1rem}.lists-status{color:color-mix(in srgb, var(--foreground) 70%, transparent);flex-direction:column;align-items:flex-start;gap:.75rem;margin:1.5rem 0;display:flex}.lists-error{margin:.5rem 0}.lists{margin:0;padding:0;list-style:none}.list-row{border-bottom:1px solid color-mix(in srgb, var(--foreground) 12%, transparent);align-items:center;gap:.5rem;min-height:3.75rem;padding:.5rem 0;display:flex}.list-row-open{flex-direction:column;align-items:stretch;gap:.75rem;padding:.75rem 0}.list-row-text{flex-direction:column;flex:1;min-width:0;display:flex}.list-title{overflow-wrap:anywhere;font-weight:500}.list-meta{color:color-mix(in srgb, var(--foreground) 60%, transparent);font-size:.85rem}.list-row-actions{flex-shrink:0;gap:.25rem;display:flex}.list-confirm{overflow-wrap:anywhere;margin:0}.list-form{flex-direction:column;gap:.75rem;display:flex}.list-input{border:1px solid color-mix(in srgb, var(--foreground) 25%, transparent);background:var(--background);width:100%;min-height:2.75rem;color:var(--foreground);font:inherit;border-radius:8px;padding:.55rem .75rem;font-size:16px}.list-form-actions{gap:.5rem;display:flex}.list-form-actions .button{flex:1}.app-nav{background:color-mix(in srgb, var(--foreground) 7%, transparent);border-radius:10px;gap:.25rem;margin-top:.75rem;padding:.25rem;display:flex}.app-nav-link{min-height:2.5rem;color:color-mix(in srgb, var(--foreground) 70%, transparent);touch-action:manipulation;border-radius:8px;flex:1;justify-content:center;align-items:center;font-weight:500;text-decoration:none;display:flex}.app-nav-link[aria-current=page]{background:var(--background);color:var(--foreground);box-shadow:0 1px 2px color-mix(in srgb, var(--foreground) 15%, transparent)}.app-nav-link:focus-visible{outline:2px solid var(--foreground);outline-offset:2px}.list-link{color:inherit;touch-action:manipulation;justify-content:center;align-self:stretch;margin:-.5rem 0;padding:.5rem 0;text-decoration:none}.list-link:hover .list-title{text-decoration:underline}.list-link:focus-visible{outline:2px solid var(--foreground);outline-offset:2px;border-radius:4px}.back-link{min-height:2.75rem;color:inherit;align-items:center;gap:.35rem;margin-left:-.25rem;padding:0 .25rem;font-weight:500;text-decoration:none;display:inline-flex}.back-link:focus-visible{outline:2px solid var(--foreground);outline-offset:2px;border-radius:4px}.list-total{color:color-mix(in srgb, var(--foreground) 70%, transparent);margin:.25rem 0 0}.list-total strong{color:var(--foreground)}.list-tag{background:color-mix(in srgb, var(--foreground) 10%, transparent);vertical-align:middle;border-radius:4px;margin-left:.5rem;padding:.05rem .4rem;font-size:.75rem;font-weight:400}.add-item-fields{gap:.5rem;display:flex}.add-item-fields .autocomplete{flex:1;min-width:0}.add-item-amount{flex:0 0 5.5rem;width:5.5rem}.add-bar-status{margin:0}.add-bar-status a{color:inherit}.autocomplete{position:relative}.autocomplete-options{z-index:1;border:1px solid color-mix(in srgb, var(--foreground) 20%, transparent);background:var(--background);max-height:min(18rem,50dvh);box-shadow:0 4px 16px color-mix(in srgb, var(--foreground) 15%, transparent);border-radius:8px;margin:0;padding:.25rem;list-style:none;position:absolute;bottom:calc(100% + .25rem);left:0;right:0;overflow-y:auto}.autocomplete-option{cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;gap:.75rem;min-height:2.75rem;padding:.4rem .6rem;display:flex}.autocomplete-option[aria-selected=true]{background:color-mix(in srgb, var(--foreground) 10%, transparent)}.autocomplete-meta{color:color-mix(in srgb, var(--foreground) 60%, transparent);flex-shrink:0;font-size:.85rem}.autocomplete-empty{color:color-mix(in srgb, var(--foreground) 60%, transparent);padding:.6rem}.item-form-numbers{gap:.5rem;display:flex}.item-form-field{min-width:0;color:color-mix(in srgb, var(--foreground) 70%, transparent);flex-direction:column;flex:1;gap:.25rem;font-size:.85rem;display:flex}.item-form-field .list-input{color:var(--foreground)}.lists-add-bar{padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom));background:var(--background);border-top:1px solid color-mix(in srgb, var(--foreground) 12%, transparent);position:sticky;bottom:0}@media (min-width:40rem){.lists-header{padding-top:2.5rem}.list-form-actions{justify-content:flex-end}.list-form-actions .button{flex:none}}
