:root{--color-bg:#f3f2f2;--color-surface:#eae9e9;--color-text:#201f1d;--color-brand:#84c7d8;--color-accent:#358799;--color-accent-2:#3d8191;--color-divider:#201f1d29;--color-accent-text:color-mix(in oklab, var(--color-accent) 72%, var(--color-text));--color-accented-name:#358799;--color-remaining-name:#201f1d;--color-neutral-100:#f8f4f4;--color-neutral-200:#eae7e7;--color-neutral-300:#d7d3d3;--color-neutral-400:#bab6b6;--color-neutral-500:#9b9797;--color-neutral-600:#7d7979;--color-neutral-700:#605d5d;--color-neutral-800:#444141;--color-neutral-900:#2d2b2b;--color-accent-100:#e4f9ff;--color-accent-200:#bff2ff;--color-accent-300:#86e4fc;--color-accent-400:#58c9e3;--color-accent-500:#26a9c4;--color-accent-600:#0289a0;--color-accent-700:#01697b;--color-accent-800:#004b59;--color-accent-900:#04313a;--color-accent-2-100:#e4f9ff;--color-accent-2-200:#bff2ff;--color-accent-2-300:#92e3f7;--color-accent-2-400:#68c7de;--color-accent-2-500:#40a7bf;--color-accent-2-600:#1d889e;--color-accent-2-700:#03697b;--color-accent-2-800:#024b59;--color-accent-2-900:#0a3139;--font-heading:"Outfit", system-ui, sans-serif;--font-heading-weight:600;--font-body:"Inter", system-ui, sans-serif;--font-numerals:var(--font-heading);--text-kicker:11px;--text-status:11px;--text-meta:12px;--text-label:13px;--text-cell:14px;--text-control:15px;--text-body:16px;--text-name:17px;--text-amount:18px;--text-section:20px;--text-sheet:22px;--text-screen:24px;--space-1:4.6px;--space-2:9.2px;--space-3:13.8px;--space-4:18.4px;--space-6:27.6px;--space-8:36.8px;--h-control:44px;--radius-sm:4px;--radius-md:8px;--radius-lg:14px;--radius-btn:10px;--shadow-sm:0 1px 2px #2d2b2b24;--shadow-md:0 3px 10px #2d2b2b29;--shadow-lg:0 12px 32px #2d2b2b38}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-body);margin:0;font-weight:400;line-height:1.55}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-heading-weight);margin:0 0 var(--space-2);line-height:1.12}.plate{filter:sepia(.22)saturate(.82)contrast(1.05);border:6px solid var(--color-surface);outline:1px solid var(--color-divider)}*,.plate,:after,:before{box-sizing:border-box}h1,h2,h3{letter-spacing:-.015em}h1{font-size:44px}h2{font-size:34px}h3{font-size:26px}h4{font-size:var(--text-sheet)}h5{font-size:var(--text-name)}h6{font-size:var(--text-cell);letter-spacing:.08em;text-transform:uppercase}p{margin:0 0 var(--space-3)}a{color:var(--color-accent-text);text-underline-offset:3px}img{max-width:100%;display:block}figure{margin:0}figcaption{font-size:var(--text-meta);margin-top:var(--space-1);color:color-mix(in srgb,var(--color-text) 55%,transparent)}.text-muted{color:color-mix(in srgb,var(--color-text) 66%,transparent)}:focus{outline:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background:color-mix(in srgb,var(--color-accent) 30%,transparent)}.hr{height:1px;margin:var(--space-4) 0;background:var(--color-divider);border:0}.btn{cursor:pointer;font-family:var(--font-body);font-weight:600;font-size:var(--text-control);color:var(--color-text);min-height:var(--h-control);padding:var(--space-2) calc(var(--space-3) * 1.2);border-radius:var(--radius-btn,10px);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;line-height:1.2;text-decoration:none;transition:background-color .16s ease-out,border-color .16s ease-out,color .16s ease-out;display:inline-flex}.btn svg,.field>label{display:block}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{color:var(--color-accent-text);border-color:var(--color-accent)}.btn-primary:hover:not(:disabled){background:color-mix(in srgb,var(--color-accent) 12%,transparent)}.btn-primary:active:not(:disabled){background:color-mix(in srgb,var(--color-accent) 22%,transparent)}.btn-secondary{border-color:var(--color-divider)}.btn-secondary:hover:not(:disabled){background:color-mix(in srgb,var(--color-text) 7%,transparent)}.btn-secondary:active:not(:disabled){background:color-mix(in srgb,var(--color-text) 14%,transparent)}.btn-ghost{color:var(--color-accent-text);padding-inline:var(--space-1)}.btn-ghost:hover:not(:disabled){background:color-mix(in srgb,var(--color-accent) 10%,transparent)}.btn-ghost:active:not(:disabled){background:color-mix(in srgb,var(--color-accent) 18%,transparent)}.btn-icon{width:var(--h-control);height:var(--h-control);border-radius:9999px;padding:0}.btn-block{width:100%;margin-top:var(--space-2)}.field>label{font-size:var(--text-label);color:color-mix(in srgb,var(--color-text) 70%,transparent);margin-bottom:5px}.input{width:100%;min-height:var(--h-control);font:inherit;font-size:var(--text-body);color:var(--color-text);caret-color:var(--color-accent);border:1px solid color-mix(in srgb,var(--color-text) 38%,transparent);border-radius:var(--radius-md);background:0 0;padding:10px 12px;transition:border-color .16s ease-out,box-shadow .16s ease-out}.input::placeholder{color:color-mix(in srgb,var(--color-text) 50%,transparent)}input.input,select.input{height:var(--h-control)}.input:hover{border-color:color-mix(in srgb,var(--color-text) 60%,transparent)}.input:focus-visible{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent);outline:none}@media (forced-colors:active){.input:focus-visible{outline-offset:1px;outline:2px solid}}textarea.input{resize:vertical;min-height:90px}.radio{cursor:pointer;font-size:var(--text-control);min-height:var(--h-control);align-items:center;gap:8px;display:inline-flex}.radio input,.seg-opt input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.radio .dot{border:1.5px solid var(--color-divider);border-radius:50%;flex:none;width:16px;height:16px}.radio input:checked+.dot,.radio:hover .dot{border-color:var(--color-accent)}.radio input:checked+.dot{background:var(--color-accent);box-shadow:inset 0 0 0 4px var(--color-bg)}.radio input:focus-visible+.dot{outline:2px solid var(--color-accent);outline-offset:2px}.seg{min-height:var(--h-control);border:1px solid var(--color-divider);border-radius:var(--radius-btn,10px);overflow:hidden}.seg,.seg-opt{display:inline-flex}.seg-opt{font-size:var(--text-cell);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:0 14px}.seg-opt+.seg-opt{border-left:1px solid var(--color-divider)}.seg-opt:has(input:checked){color:var(--color-accent-text);box-shadow:inset 0 0 0 1px var(--color-accent);font-weight:600}.seg-opt:not(:has(input:checked)):hover{background:color-mix(in srgb,var(--color-text) 7%,transparent)}.seg-opt:has(input:focus-visible){outline:2px solid var(--color-accent);outline-offset:-2px}.card{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-divider);background:0 0;flex-direction:column;display:flex}.card-kicker{font-size:var(--text-status);letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent-700)}.card-title{font-family:var(--font-body);font-weight:var(--font-heading-weight);font-size:var(--text-amount);line-height:1.2}.card-body{font-size:var(--text-cell);opacity:.8;flex:1;margin:0}.card-meta{font-size:var(--text-meta);color:color-mix(in srgb,var(--color-text) 50%,transparent);align-items:center;gap:6px;display:flex}.elev-sm{box-shadow:var(--shadow-sm)}.elev-md{box-shadow:var(--shadow-md)}.dialog,.elev-lg{box-shadow:var(--shadow-lg)}.tag{font-size:var(--text-meta);letter-spacing:.02em;border-radius:calc(var(--radius-md) * .75);align-items:center;padding:3px 10px;display:inline-flex}.tag-accent{background:var(--color-accent-100);color:var(--color-accent-800)}.tag-accent-2{background:var(--color-accent-2-100);color:var(--color-accent-2-800)}.tag-neutral{background:var(--color-neutral-100);color:var(--color-neutral-800)}.tag-outline{border:1px solid var(--color-accent);color:var(--color-accent-text)}.nav{align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-divider);display:flex}.nav-brand{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:var(--text-section);margin-right:auto}.nav a{color:inherit;font-size:var(--text-control);text-decoration:none}.nav a:hover,.nav a[aria-current=page]{color:var(--color-accent)}.table{border-collapse:collapse;width:100%;font-size:var(--text-control)}.table th{text-align:left;font-size:var(--text-meta);letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 60%,transparent)}.table td,.table th{padding:var(--space-2);border-bottom:1px solid var(--color-divider)}.table tbody tr:hover{background:color-mix(in srgb,var(--color-text) 4%,transparent)}.dialog-backdrop{padding:var(--space-4);background:color-mix(in srgb,var(--color-neutral-900) 50%,transparent);place-items:center;display:grid;position:fixed;inset:0}.dialog{gap:var(--space-3);width:min(440px,100%);max-height:calc(100dvh - 2 * var(--space-4));padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-divider);flex-direction:column;display:flex}.dialog-title{font-family:var(--font-body);font-weight:var(--font-heading-weight);font-size:var(--text-sheet)}.dialog-body{font-size:var(--text-control);opacity:.85}.dialog-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2);display:flex}.numeral{font-family:var(--font-numerals);font-feature-settings:"tnum","lnum";letter-spacing:-.01em;white-space:nowrap;font-weight:400}.currency-symbol{letter-spacing:.06em;vertical-align:.12em;font-size:calc(max(.42em,11px));font-family:var(--font-body);color:color-mix(in srgb,currentColor 62%,transparent);margin-right:.3em}:root{--color-due:oklch(52% .11 70);--color-late:oklch(52% .13 34);--color-severe:oklch(42% .15 28);--h-header:64px;--h-tabbar:56px;--safe-top:env(safe-area-inset-top,5px);--safe-bottom:max(env(safe-area-inset-bottom,0px), 9px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}.dialog-backdrop{z-index:200;background:color-mix(in srgb,var(--color-neutral-900) 42%,transparent);-webkit-backdrop-filter:blur(14px)saturate(160%)}.dialog{will-change:transform,opacity}.dialog-enter-active{transition:opacity .24s cubic-bezier(.16,1,.3,1),-webkit-backdrop-filter .24s cubic-bezier(.16,1,.3,1),backdrop-filter .24s cubic-bezier(.16,1,.3,1)}.dialog-leave-active{transition:opacity .19s cubic-bezier(.4,0,1,1),-webkit-backdrop-filter .19s cubic-bezier(.4,0,1,1),backdrop-filter .19s cubic-bezier(.4,0,1,1)}.dialog-enter-from,.dialog-leave-to{opacity:0;-webkit-backdrop-filter:blur()saturate()}.dialog-enter-active .dialog{transition:transform .24s cubic-bezier(.16,1,.3,1),opacity .22s cubic-bezier(.16,1,.3,1)}.dialog-leave-active .dialog{transition:transform .19s cubic-bezier(.4,0,1,1),opacity .17s cubic-bezier(.4,0,1,1)}@media (width>=768px){.dialog-enter-from .dialog{opacity:0;transform:translateY(14px)scale(.96)}.dialog-leave-to .dialog{opacity:0;transform:translateY(10px)scale(.97)}}.dialog-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex:none;display:flex}.dialog-actions{flex:none}.dialog-body{-webkit-overflow-scrolling:touch;flex:auto;min-height:0;overflow-y:auto}.dialog-error{border:1px solid var(--color-severe);color:var(--color-severe);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--text-label)}.selectable-option{min-height:var(--h-control);padding:var(--space-2);border:1px solid var(--color-divider);border-radius:var(--radius-md);cursor:pointer;font:inherit;color:inherit;text-align:left;background:0 0;align-items:center;display:flex}.selectable-option.selected{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.chip{border:1px solid var(--color-divider);border-radius:var(--radius-btn,10px);min-height:var(--h-control);font-family:inherit;font-size:var(--text-cell);color:var(--color-text);cursor:pointer;background:0 0;padding:0 14px;transition:border-color .16s ease-out,color .16s ease-out}.chip:hover:not(.chip-active){border-color:color-mix(in srgb,var(--color-text) 40%,transparent)}.chip-active{border-color:var(--color-accent);color:var(--color-accent-text);font-weight:600}.label-caps{font-size:var(--text-meta);text-transform:uppercase;letter-spacing:.06em;color:color-mix(in srgb,var(--color-text) 55%,transparent)}.btn-severe{border-color:var(--color-severe);color:var(--color-severe)}.btn-severe:hover{background:color-mix(in srgb,var(--color-severe) 12%,transparent)}.btn-late{border-color:var(--color-late);color:var(--color-late)}.btn-late:hover{background:color-mix(in srgb,var(--color-late) 12%,transparent)}@media (width<=767px){.dialog-backdrop{flex-direction:column;justify-content:flex-end;align-items:center;padding:0;display:flex}.dialog{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-height:88%}.dialog-enter-from .dialog,.dialog-leave-to .dialog{opacity:0;transform:translateY(44px)}}@media (prefers-reduced-motion:reduce){.dialog-enter-active,.dialog-enter-active .dialog,.dialog-leave-active,.dialog-leave-active .dialog{transition:none!important}}@media print{.app-header,.app-sidebar,.app-tabbar,.app-toast,.dialog-actions,.dialog-header{display:none!important}.dialog-backdrop{-webkit-backdrop-filter:none;background:0 0;padding:0;position:static}.dialog{width:100%;max-height:none;box-shadow:none;border:none;position:static}.table thead{display:table-header-group}}@page{size:letter;margin:18mm}.receipt{background:var(--color-bg);border:1px solid var(--color-divider);border-radius:var(--radius-md);padding:var(--space-4)}.receipt-header{flex-wrap:wrap;justify-content:space-between}.receipt-brand,.receipt-header{gap:var(--space-2);display:flex}.receipt-brand{align-items:center;min-width:0}.receipt-brand .card-kicker,.receipt-folio{white-space:nowrap}.receipt-icon{flex:none;width:34px;height:auto}.receipt-folio{text-align:right;font-size:var(--text-label);margin-left:auto}.receipt-folio p{margin:0}.receipt-name{font-family:var(--font-body);font-weight:600;font-size:var(--text-name);margin:0}.receipt-amount{font-family:var(--font-heading);font-feature-settings:"tnum";text-align:center;margin:var(--space-3) 0 0;font-size:36px;font-weight:400}.receipt-balances{font-size:var(--text-label);justify-content:space-between;display:flex}.receipt-acknowledgment{text-align:center;font-size:var(--text-meta);letter-spacing:.1em;margin-top:var(--space-4);margin-bottom:0}.skeleton{background-color:color-mix(in srgb,var(--color-text) 8%,transparent);border-radius:var(--radius-sm,4px);vertical-align:middle;pointer-events:none;-webkit-user-select:none;user-select:none;display:inline-block;position:relative;overflow:hidden}.skeleton:after{content:"";background-image:linear-gradient(90deg,transparent 0,color-mix(in srgb,var(--color-text) 6%,var(--color-surface,#fff)) 50%,transparent 100%);animation:1.6s ease-in-out infinite app-shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes app-shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.skeleton:after{animation:none;display:none}}
