/*! tailwindcss v4.1.8 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-100:oklch(93.6% .032 17.717);--color-red-700:oklch(50.5% .213 27.518);--color-green-100:oklch(96.2% .044 156.743);--color-green-700:oklch(52.7% .154 150.069);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-white:#fff;--spacing:.25rem;--container-md:28rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--tracking-normal:0em;--leading-normal:1.5;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.static{position:static}.sticky{position:sticky}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-4{margin-top:calc(var(--spacing)*4)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.block{display:block}.flex{display:flex}.hidden{display:none}.table{display:table}.h-screen{height:100vh}.w-full{width:100%}.max-w-md{max-width:var(--container-md)}.border-collapse{border-collapse:collapse}.items-center{align-items:center}.justify-center{justify-content:center}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.bg-blue-600{background-color:var(--color-blue-600)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-green-100{background-color:var(--color-green-100)}.bg-red-100{background-color:var(--color-red-100)}.p-2{padding:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.text-center{text-align:center}.text-right{text-align:right}.font-serif{font-family:var(--font-serif)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-green-700{color:var(--color-green-700)}.text-red-700{color:var(--color-red-700)}.text-white{color:var(--color-white)}}:root{--blue:#2563eb;--blue-hover:#1d4ed8;--gray:#e5e7eb;--gray-hover:#d1d5db;--text:#111827;--ring:#93c5fd}.btn{background:var(--blue);color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;border:none;border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem .75rem;font-weight:600;line-height:1.25;text-decoration:none;transition:background .15s ease-in-out,transform 50ms ease-in-out;display:inline-flex}.btn:hover{background:var(--blue-hover)}.btn:active{transform:translateY(1px)}.btn-secondary{background:var(--gray);color:var(--text)}.btn-secondary:hover{background:var(--gray-hover)}.btn-danger{color:#fff;background:#dc2626}.btn-danger:hover{background:#b91c1c}.btn-admin{color:#fff;background:#7c3aed}.btn-admin:hover{background:#6d28d9}.btn-api{color:#fff;background:#0ea5e9}.btn-api:hover{background:#0284c7}.btn-logout{color:#fff;background:#111827}.btn-logout:hover{background:#0b1220}.btns{flex-wrap:wrap;gap:.5rem;display:flex}.input{border:1px solid var(--gray);width:100%;color:var(--text);background:#fff;border-radius:.5rem;padding:.5rem .75rem}.input:focus{outline:2px solid var(--ring);outline-offset:2px;border-color:var(--ring)}.label{margin:.5rem 0 .25rem;font-weight:600;display:block}.select-compact{appearance:auto;-webkit-appearance:menulist;-moz-appearance:menulist;border:1px solid var(--gray);height:2rem;color:var(--text);background:#fff;border-radius:.375rem;padding:.25rem .5rem;font-size:.875rem}.container{max-width:72rem;margin:0 auto;padding:1rem}.header{color:#fff;background:#2563eb}.header a{color:#fff}.header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.brand{font-weight:700;text-decoration:none}.nav{justify-content:space-between;align-items:center;gap:.75rem;width:100%;display:flex}.actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.card{background:#fff;border-radius:1rem;padding:1rem;box-shadow:0 10px 30px #0000001a}.center-wrap{justify-content:center;align-items:center;min-height:70vh;display:flex}.muted{color:#6b7280}.left{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.text-center{text-align:center}.text-right{text-align:right}.text-gray-500{color:#6b7280}.text-gray-600{color:#4b5563}.iconbar{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.icon-btn{background:var(--blue);color:#fff;cursor:pointer;border:none;border-radius:.5rem;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:1.1rem;font-weight:700;display:inline-flex}.icon-btn:hover{background:var(--blue-hover)}.icon-btn.income{background:#16a34a}.icon-btn.income:hover{background:#15803d}.icon-btn.expense{background:#dc2626}.icon-btn.expense:hover{background:#b91c1c}details.menu{position:relative}details.menu>summary{cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}details.menu>summary::-webkit-details-marker{display:none}details.menu[open]>summary{filter:brightness(.98)}.menu-list{min-width:16rem;color:var(--text);border:1px solid var(--gray);z-index:60;background:#fff;border-radius:.5rem;padding:.5rem;position:absolute;top:calc(100% + .4rem);right:0;box-shadow:0 10px 20px #0000001a}.menu-item{text-align:left;width:100%;color:var(--text);cursor:pointer;background:#fff;border:none;border-radius:.375rem;padding:.5rem .6rem}.menu-item:hover{background:#f3f4f6}#modal-root .modal-overlay{z-index:50;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}#modal-root .modal-card{width:100%;max-width:36rem;color:var(--text);background:#fff;border-radius:1rem;max-height:85vh;padding:1rem;position:relative;overflow:auto;box-shadow:0 10px 30px #0003}#modal-root .modal-close{cursor:pointer;background:0 0;border:none;border-radius:.375rem;padding:.25rem .5rem;font-size:1.25rem;line-height:1;position:absolute;top:.5rem;right:.5rem}.data-table{border:1px solid var(--gray);border-collapse:separate;border-spacing:0;border-radius:.5rem;width:100%;overflow:hidden}.data-table thead th{color:#111827;background:#e5e7eb;border-bottom:1px solid #d1d5db;font-weight:700}.data-table th,.data-table td{border-bottom:1px solid var(--gray);padding:.5rem .75rem}.data-table tbody tr:hover{background:#f9fafb}.data-table .col-name{color:#111827;background:#f1f5f9;font-weight:700}.data-table .num{text-align:right}.data-table .sum{background:#f9fafb;font-weight:700}.data-table.striped tbody tr:nth-child(2n){background:#fafafa}.table-wrap{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.data-table{min-width:640px}.table-wrap .data-table .col-name{z-index:2;box-shadow:2px 0 0 var(--gray);position:sticky;left:0}@media (max-width:640px){.container{padding:.75rem}.header-inner{gap:.5rem;padding:.5rem .75rem}.nav{flex-direction:column;align-items:stretch;gap:.5rem}.left{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.select-compact{width:100%!important}.iconbar{gap:.4rem}.icon-btn{width:2.75rem;height:2.75rem;font-size:1.2rem}.btn{padding:.45rem .6rem}#modal-root .modal-card{border-radius:.75rem;padding:.75rem}}.row-overdue{background:#fee2e2}.row-soon{background:#fff7ed}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}
