@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-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;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:where(:not(iframe)){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}::-webkit-calendar-picker-indicator{line-height:1}:-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{.visible{visibility:visible}.fixed{position:fixed}.static{position:static}.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}}.contents{display:contents}.grid{display:grid}.hidden{display:none}.table{display:table}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--canvas:#f5f8fd;--surface:#fff;--ink:#16223b;--muted:#536580;--primary:#2459d3;--primary-dark:#1945aa;--rule:#dce4f0;--soft:#edf2f9;--danger:#a33a32;--warning:#9a640f;--positive:#2459d3;--radius:14px;color:var(--ink);background:var(--canvas);font-synthesis:none;font-family:Aptos,Segoe UI,Tahoma,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--canvas);min-width:320px;color:var(--ink);margin:0;line-height:1.5}::selection{color:#163c8b;background:#dbe7ff}a{color:var(--primary);text-underline-offset:3px}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}.skip{z-index:100;background:var(--ink);color:#fff;border-radius:10px;padding:10px 14px;position:fixed;inset-block-start:8px;inset-inline-start:-999px}.skip:focus{inset-inline-start:8px}.shell{min-height:100vh}.rail{color:#eaf0ff;z-index:20;background:#162e58;flex-direction:column;width:244px;padding:28px 18px 20px;display:flex;position:fixed;inset-block:0;inset-inline-start:0}.wordmark{color:#fff;flex-direction:column;padding:0 12px 26px;text-decoration:none;display:flex}.wordmark span{letter-spacing:-.03em;font-size:1.75rem;font-weight:800;line-height:1}.wordmark small{color:#b9cbed;margin-block-start:6px}.rail nav{gap:4px;display:grid}.rail nav a{color:#d8e4fa;border-radius:12px;align-items:center;gap:12px;min-height:46px;padding:10px 12px;font-weight:600;text-decoration:none;display:flex}.rail svg,.bottom-nav svg,.quick svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:21px;height:21px}.rail-foot{border-block-start:1px solid #37527a;justify-content:space-between;margin-block-start:auto;padding-block-start:14px;display:flex}.text-button{color:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:8px;text-decoration:underline}.workspace{min-height:100vh;margin-inline-start:244px}.topbar{border-block-end:1px solid var(--rule);background:#fff;justify-content:space-between;align-items:center;height:74px;padding:0 clamp(22px,4vw,52px);display:flex}.topbar div{color:var(--muted);gap:6px;display:flex}.topbar strong{color:var(--ink)}.quick,.button{cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 17px;font-weight:700;text-decoration:none;transition:background .18s,color .18s,transform .18s;display:inline-flex}.quick,.primary-button{background:var(--primary);color:#fff}.quick:hover,.primary-button:hover{background:var(--primary-dark)}.button:active,.quick:active{transform:translateY(1px)}.secondary-button{background:var(--surface);color:var(--ink);box-shadow:0 2px 10px #16223b1a}.danger-button{color:#842b25;background:#fae6e4}.button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline-offset:3px;outline:3px solid #2459d3}.content{max-width:1500px;margin:0 auto;padding:36px clamp(22px,4vw,52px) 72px}.page-head{justify-content:space-between;align-items:flex-end;gap:20px;margin-block-end:28px;display:flex}.page-head h1{letter-spacing:-.025em;margin:0 0 7px;font-size:clamp(1.7rem,3vw,2.2rem);line-height:1.15}.page-head p{color:var(--muted);margin:0}.month-select label,.filters label{color:var(--muted);font-size:.78rem;font-weight:700}input,select,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #bdcce0;border-radius:11px;min-height:44px;margin-block-start:5px;padding:10px 12px}textarea{resize:vertical}.month-select input{width:170px}.notice{border-radius:12px;max-width:900px;margin:0 0 22px;padding:13px 16px}.notice.success{color:#1945aa;background:#e6efff}.notice.error{color:#762923;background:#f8dfdc}.notice ul{margin:6px 0 0}.balance-hero,.household-hero{color:#fff;background:#162e58;border-radius:16px;grid-template-columns:minmax(260px,1.1fr) 2fr;gap:40px;margin-block-end:24px;padding:clamp(24px,4vw,42px);display:grid;box-shadow:0 10px 30px #16223b29}.balance-hero>div:first-child,.household-hero>div:first-child{flex-direction:column;display:flex}.balance-hero>div:first-child span,.household-hero>div:first-child span{color:#b9cbed}.balance-hero>div:first-child strong,.household-hero>div:first-child strong{letter-spacing:-.035em;margin:8px 0;font-size:clamp(2.25rem,5vw,3.8rem);line-height:1.12}.balance-hero small,.household-hero small{color:#b9cbed}.flow,.household-hero dl{grid-template-columns:1fr 1fr;gap:20px 28px;margin:0;display:grid}.flow div,.household-hero dl div{border-block-start:1px solid #37527a;flex-direction:column;padding-block-start:12px;display:flex}.flow span,.household-hero dt{color:#b9cbed;font-size:.82rem}.flow b,.household-hero dd{margin:4px 0 0;font-size:1.15rem}.positive{color:#b8d1ff}.dashboard-grid{grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:24px;display:grid}.panel,.admin-section,.form-card,.detail-sheet{background:var(--surface);border-radius:var(--radius);padding:24px;box-shadow:0 3px 18px #16223b12}.panel header{justify-content:space-between;align-items:flex-start;margin-block-end:22px;display:flex}.panel h2,.admin-section h2,.notes h2{margin:0 0 4px;font-size:1.08rem}.panel header p{color:var(--muted);margin:0;font-size:.86rem}.bar-row{margin-block:17px}.bar-row>div:first-child{justify-content:space-between;gap:18px;margin-block-end:7px;font-size:.9rem;display:flex}.bar{background:#edf2f9;border-radius:4px;height:7px;overflow:hidden}.bar i{background:var(--primary);border-radius:4px;height:100%;display:block}.activity{display:grid}.activity>a{color:var(--ink);border-block-end:1px solid var(--soft);grid-template-columns:10px 1fr auto;align-items:center;gap:11px;padding:11px 0;text-decoration:none;display:grid}.activity>a:last-child{border:0}.activity-mark{background:#697b97;border-radius:50%;width:7px;height:7px}.activity-mark.expense{background:#bf554b}.activity-mark.income,.activity-mark.refund{background:var(--positive)}.activity small,.accounts small,.admin-list small{color:var(--muted);font-size:.78rem;display:block}.activity b{font-size:.9rem}.accounts>div:not(header),.budget-total{border-block-end:1px solid var(--soft);justify-content:space-between;align-items:center;padding:12px 0;display:flex}.inline-alert{color:#714708;background:#fff0cf;border-radius:11px;margin-block-start:16px;padding:11px 13px}.empty{text-align:center;color:var(--muted);padding:32px 20px}.empty strong{color:var(--ink)}.empty p{margin:6px 0 12px}.empty.compact{padding:18px}.entry-form{background:#fff;border-radius:16px;max-width:920px;padding:clamp(20px,4vw,38px);box-shadow:0 4px 22px #16223b14}.type-tabs{gap:7px;margin-block-end:28px;padding-block-end:4px;display:flex;overflow-x:auto}.type-tabs input{opacity:0;width:1px;position:absolute}.type-tabs span{border:1px solid var(--rule);white-space:nowrap;border-radius:999px;padding:9px 14px;font-size:.88rem;font-weight:700;display:block}.type-tabs input:checked+span{color:#1945aa;background:#e6efff;border-color:#2459d3}.amount-field{max-width:440px;margin-block-end:28px}.amount-field label{font-weight:700}.amount-field label span{float:inline-end;color:var(--muted);font-size:.8rem}.amount-field input{letter-spacing:-.02em;text-align:start;direction:ltr;height:70px;font-size:2.2rem;font-weight:750}.form-grid{grid-template-columns:1fr 1fr;gap:19px;display:grid}.form-grid label,.stack label,.compact-form label,.delete-form label{font-size:.84rem;font-weight:700}.form-grid .wide{grid-column:1/-1}.form-actions{gap:10px;margin-block-start:26px;display:flex}.head-actions{gap:9px;display:flex}.filters{grid-template-columns:minmax(190px,1.5fr) repeat(3,minmax(130px,1fr)) auto auto;align-items:end;gap:10px;margin-block-end:18px;display:grid}.record-table{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 3px 18px #16223b0f}.record-head,.record-row{grid-template-columns:110px minmax(220px,1.7fr) minmax(150px,1fr) 110px 140px 55px;align-items:center;gap:14px;padding:13px 18px;display:grid}.record-head{color:var(--muted);background:#edf2f9;font-size:.75rem;font-weight:800}.record-row{border-block-end:1px solid var(--soft);font-size:.9rem}.record-row small{color:var(--muted);display:block}.record-row a{text-decoration:none}.status{background:#edf2f9;border-radius:999px;padding:5px 9px;font-size:.76rem;font-style:normal}.status.expense{color:#842f28;background:#f8e5e2}.status.income,.status.refund{color:#1945aa;background:#e6efff}.pagination{margin-block-start:18px}.pagination nav>div:first-child{display:none}.pagination nav>div:last-child{justify-content:space-between;display:flex}.detail-sheet{max-width:850px}.detail-amount{border-block-end:1px solid var(--rule);padding-block-end:24px}.detail-amount span{color:var(--muted);display:block}.detail-amount strong{font-size:2.3rem}.detail-sheet dl{grid-template-columns:1fr 1fr;gap:18px;margin:24px 0;display:grid}.detail-sheet dt{color:var(--muted);font-size:.8rem}.detail-sheet dd{margin:4px 0 0;font-weight:700}.notes{border-block-start:1px solid var(--rule);padding-block-start:20px}.delete-form{background:#f9efed;border-radius:12px;grid-template-columns:1fr auto;align-items:end;gap:12px;margin-block-start:30px;padding:18px;display:grid}.section-nav{gap:7px;margin-block-end:22px;display:flex;overflow-x:auto}.section-nav a{white-space:nowrap;background:#fff;border-radius:999px;padding:8px 12px;font-size:.84rem;font-weight:700;text-decoration:none}.admin-section{margin-block-end:20px;scroll-margin-top:20px}.admin-columns{grid-template-columns:1fr 1fr;gap:20px;display:grid}.admin-list>div{border-block-end:1px solid var(--soft);justify-content:space-between;align-items:center;gap:20px;padding:12px 0;display:flex}.stack{gap:16px;display:grid}.compact-form{max-width:520px}.upload-form{align-items:end;gap:10px;margin:18px 0;display:flex}.upload-form input{max-width:500px}.narrow{max-width:560px}.auth-main{background:#f5f8fd;place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{background:#fff;border-radius:16px;grid-template-columns:.9fr 1.1fr;width:min(920px,100%);min-height:560px;display:grid;overflow:hidden;box-shadow:0 18px 50px #16223b29}.login-brand{color:#fff;background:#162e58;flex-direction:column;justify-content:flex-end;padding:48px;display:flex}.login-brand span{letter-spacing:-.04em;font-size:3rem;font-weight:850}.login-panel>div:last-child{flex-direction:column;justify-content:center;padding:clamp(34px,6vw,64px);display:flex}.login-panel h1{margin:0 0 5px;font-size:2rem}.login-panel p{color:var(--muted);margin:0 0 28px}.check{align-items:center;gap:9px;display:flex}.check input{width:18px;min-height:auto;margin:0}.privacy{font-size:.76rem;margin:24px 0 0!important}.bottom-nav{display:none}@media(max-width:1000px){.rail{width:210px}.workspace{margin-inline-start:210px}.dashboard-grid{grid-template-columns:1fr}.filters{grid-template-columns:1fr 1fr 1fr}.record-head,.record-row{grid-template-columns:95px minmax(190px,1.5fr) minmax(130px,1fr) 95px 125px 40px}.admin-columns{grid-template-columns:1fr}}@media(max-width:760px){body{padding-block-end:72px}.rail,.topbar{display:none}.workspace{margin:0}.content{padding:24px 16px 36px}.page-head{flex-direction:column;align-items:flex-start;margin-block-end:20px}.page-head .month-select,.month-select input,.head-actions{width:100%}.head-actions .button{flex:1}.balance-hero,.household-hero{grid-template-columns:1fr;gap:28px;padding:25px 21px}.balance-hero>div:first-child strong,.household-hero>div:first-child strong{font-size:2.35rem}.flow,.household-hero dl,.dashboard-grid{gap:16px}.panel{padding:20px 18px}.bottom-nav{z-index:30;border-block-start:1px solid var(--rule);height:68px;padding:5px max(8px,env(safe-area-inset-right)) max(5px,env(safe-area-inset-bottom));background:#fff;justify-content:space-around;align-items:center;display:flex;position:fixed;inset-block-end:0;inset-inline:0}.bottom-nav a{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:58px;min-height:52px;font-size:.68rem;text-decoration:none;display:flex}.bottom-nav .primary{color:#fff;background:var(--primary);border-radius:12px;transform:translateY(-9px);box-shadow:0 6px 16px #2459d347}.form-grid{grid-template-columns:1fr}.amount-field{max-width:none}.entry-form{margin-inline:-1px;padding:20px 16px}.form-actions{flex-direction:column}.filters{grid-template-columns:1fr 1fr}.filters .search{grid-column:1/-1}.record-head{display:none}.record-table{box-shadow:none;background:0 0;gap:11px;display:grid}.record-row{background:#fff;border:0;border-radius:13px;grid-template-columns:1fr auto;gap:9px 14px;padding:16px;display:grid;box-shadow:0 2px 12px #16223b0f}.record-row>span,.record-row>b{flex-direction:column;align-items:flex-start;display:flex}.record-row>span:before,.record-row>b:before{content:attr(data-label);color:var(--muted);font-size:.68rem;font-weight:600}.record-row>span:nth-child(2){grid-area:1/1/auto/-1}.record-row>span:nth-child(2):before{display:none}.record-row>b{grid-area:2/2}.row-actions{grid-area:3/2}.detail-sheet dl,.delete-form{grid-template-columns:1fr}.upload-form{flex-direction:column;align-items:stretch}.login-panel{grid-template-columns:1fr;min-height:auto}.login-brand{min-height:160px;padding:28px}.login-brand span{font-size:2.35rem}.login-panel>div:last-child{padding:30px 24px}.auth-main{padding:14px}.admin-section{padding:20px 16px}}[dir=rtl] .activity b,[dir=rtl] .record-row b{direction:ltr}[dir=rtl] input[type=date],[dir=rtl] input[type=month],[dir=rtl] .amount-field input{text-align:right;direction:ltr}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.ledger-checks{flex-wrap:wrap;gap:8px;display:flex}.ledger-checks label{align-items:center;gap:5px;display:flex}.ledger-checks input{width:auto;min-height:auto;margin:0}.import-review>form{border-block-start:1px solid var(--soft);grid-template-columns:minmax(220px,1fr) repeat(3,minmax(120px,.5fr)) auto;align-items:end;gap:8px;padding:12px 0;display:grid}.import-review small{color:var(--muted);display:block}@media(max-width:760px){.import-review>form{grid-template-columns:1fr}}:root{--nav-height:76px;color-scheme:light;scrollbar-color:#93a8c8 #f5f8fd}body{font-size:16px}input,select,textarea{min-height:50px;caret-color:var(--primary);font-size:16px}input::placeholder,textarea::placeholder{color:#60718a;opacity:1}button{min-height:48px}button:disabled{opacity:.6;cursor:wait}[hidden]{display:none!important}h1,h2,h3{text-wrap:balance}b,strong,input{font-variant-numeric:tabular-nums}.rail{color:var(--ink);border-inline-end:1px solid var(--rule);background:#fff;width:232px}.wordmark{color:var(--ink)}.wordmark small{color:var(--muted)}.rail nav a{color:var(--muted);min-height:50px}.rail nav a:hover,.rail nav a.active{color:var(--primary);background:#eaf1ff}.rail-foot{border-color:var(--rule)}.workspace{margin-inline-start:232px}.topbar{background:#fff;height:80px}.content{max-width:1320px}.panel,.admin-section,.form-card,.detail-sheet,.entry-form,.record-table{box-shadow:none;border:1px solid var(--rule)}.panel header a{white-space:nowrap;align-items:center;min-height:44px;display:inline-flex}.mobile-header,.mobile-menu{display:none}.overview{margin-block-end:32px}.overview-main{border-block:1px solid var(--rule);grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:24px 0;display:grid}.overview-main>div{flex-direction:column;gap:6px;display:flex}.overview-main strong{letter-spacing:-.025em;font-size:clamp(1.1rem,2.4vw,1.75rem)}.overview-main span{color:var(--muted);font-size:.9rem}.overview-main .balance-value{color:var(--primary)}.overview-extra{color:var(--muted);flex-wrap:wrap;gap:14px 28px;padding-block:16px;font-size:.88rem;display:flex}.overview-extra b{color:var(--ink);margin-inline-start:8px}.dashboard-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:24px}.recent-panel{grid-area:1/1}.books-panel{grid-area:1/2}.breakdown{grid-column:1}.budget{grid-column:2}.expected{grid-column:1/-1}.book-link{min-height:76px;color:var(--ink);border-block-end:1px solid var(--rule);align-items:center;gap:14px;text-decoration:none;display:flex}.book-link:last-child{border:0}.book-link:hover{color:var(--primary)}.book-symbol{width:40px;height:40px;color:var(--primary);background:#edf3ff;border-radius:50%;flex:none;place-items:center;display:grid}.book-symbol svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.book-link small{color:var(--muted);font-size:.8rem;display:block}.book-link>svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:20px;height:20px;margin-inline-start:auto}[dir=rtl] .book-link>svg{transform:rotate(180deg)}.activity>a{min-height:76px;padding-block:18px}.activity>a>span:nth-child(2){overflow-wrap:anywhere;min-width:0}.activity small{font-size:.82rem}.activity b{white-space:nowrap}.type-tabs{scrollbar-width:thin;background:#edf3ff;border-radius:12px;gap:4px;margin-block-end:20px;padding:4px}.type-tabs label{flex:1}.type-tabs span{color:#405779;border:0;border-radius:9px;justify-content:center;align-items:center;min-height:48px;padding:10px 16px;font-size:.94rem;display:flex}.type-tabs input:checked+span{background:var(--primary);color:#fff}.type-tabs input:focus-visible+span{outline:3px solid var(--primary);outline-offset:2px}.entry-form{max-width:820px}.entry-help{color:var(--muted);margin:0 0 18px;font-size:.9rem}.amount-field{text-align:center;max-width:none;margin-block:24px 30px}.amount-field label{color:var(--muted);font-size:.9rem}.amount-field label span{float:none;margin-inline-start:8px}.amount-field input{border:0;border-block-end:2px solid var(--rule);max-width:320px;height:86px;color:var(--ink);border-radius:0;margin:8px auto 0;font-size:3.25rem;font-weight:750;display:block;text-align:center!important}.form-grid label{color:var(--muted);font-size:.9rem;font-weight:600}.form-grid .entry-date{order:1}.form-grid .entry-description{order:2}.form-grid .entry-notes{order:3}.form-actions .primary-button{flex:1}.form-actions .secondary-button{box-shadow:none;background:var(--soft)}.form-actions .button{min-height:52px}.empty{padding:26px 12px}.empty a{align-items:center;min-height:48px;font-weight:700;display:inline-flex}.empty p{font-size:.9rem}.record-row{box-shadow:none}.auth-main{padding:24px}.login-brand{color:var(--ink);background:#eaf1ff}.login-brand strong{color:var(--primary)}.login-panel{box-shadow:0 16px 48px #16223b14}@media(max-width:1000px){.rail{width:200px}.workspace{margin-inline-start:200px}.dashboard-grid{grid-template-columns:1fr}.dashboard-grid>section{grid-area:auto}.recent-panel{order:0}.books-panel{order:1}.breakdown{order:2}.budget{order:3}.expected{order:4}}@media(max-width:760px){body{background:#fff;padding-block-end:calc(var(--nav-height) + env(safe-area-inset-bottom))}.workspace{margin:0}.content{padding:24px 20px 32px}.rail,.topbar{display:none}.mobile-header{background:#fff;justify-content:space-between;align-items:center;gap:12px;padding:22px 20px 10px;display:flex}.mobile-brand{color:var(--ink);letter-spacing:-.02em;font-size:1.1rem;font-weight:800;line-height:1.25;text-decoration:none}.mobile-brand small{color:var(--muted);letter-spacing:0;margin-block-start:4px;font-size:.78rem;font-weight:500;display:block}.mobile-user{align-items:center;gap:8px;font-size:.85rem;display:flex}.avatar{background:var(--primary);color:#fff;border-radius:50%;place-items:center;width:38px;height:38px;font-weight:750;display:grid}.page-head{gap:16px;margin-block-end:20px}.page-head h1{font-size:1.6rem}.page-head p{font-size:.9rem}.page-head .month-select{width:auto}.month-select input{width:180px;min-height:48px;margin:0}.month-select label{align-items:center;gap:12px;display:flex}.overview{margin-block-end:18px}.overview-main{gap:10px;padding:18px 0}.overview-main strong{font-size:clamp(.98rem,4.2vw,1.3rem)}.overview-main span{font-size:.78rem}.overview-extra{gap:8px 16px;font-size:.8rem}.overview-extra b{margin-inline-start:4px}.dashboard-grid{gap:26px}.dashboard-grid>.panel{border:0;border-radius:0;padding:0}.panel header{gap:12px;margin-block-end:4px}.panel header p{font-size:.82rem}.panel h2{font-size:1.1rem}.book-link{min-height:80px}.books-panel{padding-block-end:4px!important}.entry-form{border:0;border-radius:0;margin:0;padding:0}.entry-form .form-grid{gap:18px}.amount-field{margin-block:20px 26px}.amount-field input{height:80px}.type-tabs{margin-inline:0}.type-tabs span{padding:10px 14px}.form-actions{gap:10px;margin-block-start:24px}.form-actions .button{width:100%}.bottom-nav{height:calc(var(--nav-height) + env(safe-area-inset-bottom));padding:6px 12px calc(6px + env(safe-area-inset-bottom));background:#fff;align-items:center;gap:6px}.bottom-nav a,.bottom-nav button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;min-width:60px;min-height:56px;font-size:.72rem;text-decoration:none;display:flex}.bottom-nav a.active{color:var(--primary);font-weight:750}.bottom-nav .primary{color:var(--primary);box-shadow:none;background:0 0;transform:none}.bottom-nav .primary svg{background:var(--primary);color:#fff;border-radius:50%;width:44px;height:44px;margin-block-start:-10px;padding:10px}.bottom-nav svg{width:22px;height:22px}.mobile-menu[open]{inset:auto 12px calc(var(--nav-height) + env(safe-area-inset-bottom) + 8px);z-index:40;border:1px solid var(--rule);background:#fff;border-radius:14px;padding:12px;display:block;position:fixed;box-shadow:0 8px 30px #16223b1f}.mobile-menu summary{display:none}.mobile-menu a,.mobile-menu button{width:100%;min-height:50px;color:var(--ink);text-align:start;background:0 0;border:0;border-radius:8px;align-items:center;padding:10px 14px;font-weight:600;text-decoration:none;display:flex}.mobile-menu a:hover,.mobile-menu button:hover{background:var(--soft)}.record-row{border:1px solid var(--rule)}.activity>a{grid-template-columns:7px minmax(0,1fr) auto;gap:10px}.activity b{font-size:.82rem}.activity small{font-size:.78rem}.admin-list>div{flex-wrap:wrap}.admin-list form{max-width:100%}.budget-total{gap:12px}.budget-total>span{overflow-wrap:anywhere;min-width:0}.head-actions{flex-wrap:wrap}.auth-main{min-height:calc(100dvh - 76px)}}@media(max-width:360px){.content,.mobile-header{padding-inline:16px}.mobile-user>span:last-child{display:none}.overview-main strong{font-size:.94rem}.overview-main{gap:8px}.activity>a{grid-template-columns:7px minmax(0,1fr)}.activity b{grid-column:2}}.account-details{margin-block-start:12px}.account-details summary{color:var(--primary);cursor:pointer;min-height:48px;padding-block:12px;font-weight:600}.account-details .accounts{font-size:.9rem}.account-details .accounts small{font-size:.8rem}h1,h2,h3{font-weight:700}.page-head h1{letter-spacing:-.03em}.panel h2{font-weight:750}.entry-help{line-height:1.5}.form-actions{scroll-margin-block-end:100px}@media(max-width:760px){.mobile-brand{font-size:1.35rem}.amount-field{margin-block:16px 22px}.entry-help{margin-block-end:12px}.form-grid .entry-notes textarea{min-height:76px}.type-tabs{grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:visible}.type-tabs span{white-space:normal;text-align:center;padding:10px 6px}}.month-select label{align-items:center;gap:18px;display:flex}.month-select input{flex:none;margin-block-start:0}.brand-logo{object-fit:contain;max-width:100%;height:auto;display:block}.wordmark .brand-logo{width:124px}.mobile-brand .brand-logo{width:94px}.login-brand .brand-logo{width:220px;margin-block-end:16px}@media(max-width:760px){.month-select label{gap:16px}.login-brand .brand-logo{width:160px}}.pc-only{display:revert}.more-button{border:1px solid var(--rule);color:var(--ink);cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:4px;min-height:44px;padding:6px 10px;font-weight:700;display:inline-flex}.more-button svg{fill:none;stroke:currentColor;stroke-width:2px;width:20px;height:20px}.mobile-header{display:none}.install-hint{color:#163c8b;background:#e6efff;border-radius:12px;align-items:center;gap:12px;margin-block-end:16px;padding:10px 14px;font-size:.9rem;display:flex}.install-hint[hidden]{display:none}.install-hint span{flex:1}.install-hint .button{min-height:40px;padding:6px 14px}.install-hint .text-button{min-width:44px;min-height:44px;font-size:1.4rem;text-decoration:none}.book-switch{background:var(--soft);border-radius:14px;gap:6px;max-width:460px;margin-block-end:18px;padding:5px;display:flex}.book-switch a{text-align:center;color:var(--muted);border-radius:10px;flex:1;justify-content:center;align-items:center;min-height:44px;padding:10px 8px;font-weight:700;text-decoration:none;display:flex}.book-switch a.active{color:var(--primary);background:#fff;box-shadow:0 2px 8px #16223b1a}.alert-stack{gap:10px;margin-block-end:18px;display:grid}.alert-card{color:#163c8b;border-inline-start:5px solid var(--primary);background:#e6efff;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.alert-card.warn{color:#714708;background:#fff0cf;border-color:#d99a22}.alert-card form{margin:0}.overview-note{color:var(--muted);margin:0;padding-block:6px 12px;font-size:.85rem}.net-row{border-block-end:1px solid var(--soft);color:var(--ink);justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:14px 0;text-decoration:none;display:flex}.net-row:last-child{border:0}.net-row svg{fill:none;width:18px;height:18px;stroke:var(--muted);stroke-width:2px}[dir=rtl] .net-row svg{transform:scaleX(-1)}.net-positive{color:#1945aa}.net-negative{color:#a33a32}.net-hero{color:#fff;background:#162e58;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-block-end:20px;padding:22px 24px;font-size:1.25rem;display:flex}.net-hero .net-positive,.net-hero .net-negative{color:#fff}.panel{margin-block-end:20px}.inline-form{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.inline-form label{flex:1;min-width:160px;font-size:.84rem;font-weight:700}.inline-form label span{color:var(--muted);font-weight:500}.kind-tabs{grid-template-columns:1fr 1fr;gap:12px;margin-block-end:22px;display:grid}.kind-tabs input{opacity:0;width:1px;height:1px;position:absolute}.kind-tabs span{border:2px solid var(--rule);cursor:pointer;background:#fff;border-radius:16px;justify-content:center;align-items:center;min-height:64px;font-size:1.3rem;font-weight:800;display:flex}.kind-tabs .spent input:checked+span{color:#842b25;background:#fae6e4;border-color:#bf554b}.kind-tabs .received input:checked+span{border-color:var(--primary);color:#1945aa;background:#e6efff}.kind-tabs input:focus-visible+span{outline:3px solid var(--primary);outline-offset:3px}.choice-group{border:0;flex-wrap:wrap;gap:8px;margin:0 0 20px;padding:0;display:flex}.choice-group legend{width:100%;margin-block-end:8px;padding:0;font-size:.84rem;font-weight:700}.choice-group>label{position:relative}.choice-group>label input{opacity:0;width:1px;height:1px;position:absolute}.choice-group>label span{border:2px solid var(--rule);cursor:pointer;background:#fff;border-radius:12px;align-items:center;min-height:48px;padding:10px 16px;font-weight:700;display:flex}.choice-group>label input:checked+span{border-color:var(--primary);color:#1945aa;background:#e6efff}.choice-group>label input:focus-visible+span{outline:3px solid var(--primary);outline-offset:2px}.choice-group small,.help{color:var(--muted);width:100%;font-size:.84rem}.choice-group[hidden],[data-spent-only][hidden]{display:none}.installment-box{width:100%;margin-block-start:10px}.installment-box .check{font-weight:700}.big-save{width:100%;min-height:58px;font-size:1.15rem}.simple-entry{max-width:640px}.history-list{gap:8px;display:grid}.history-row{color:var(--ink);background:#fff;border-radius:13px;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:64px;padding:14px 16px;text-decoration:none;display:grid;box-shadow:0 2px 10px #16223b0f}.history-row small{color:var(--muted);font-size:.78rem;display:block}.history-row b{white-space:nowrap;font-size:.92rem}.muted-amount{color:var(--muted)}.tags{flex-wrap:wrap;gap:6px;display:flex}.tag{background:var(--soft);color:var(--muted);border-radius:999px;padding:2px 8px;font-size:.72rem;font-style:normal;font-weight:700}.tag.warn{color:#714708;background:#fff0cf}.tags:empty{display:none}.history-filters{grid-template-columns:minmax(190px,1.5fr) minmax(130px,1fr) minmax(130px,1fr) auto}.between-list{display:grid}.between-item{border-block-end:1px solid var(--soft);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:14px 0;display:grid}.between-item small{color:var(--muted);font-size:.78rem;display:block}.between-item.paid{opacity:.7}.between-item form{margin:0}.links{font-size:.8rem}.card-panel h3{margin:18px 0 6px;font-size:.95rem}.card-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:0 0 12px;display:grid}.card-stats dt{color:var(--muted);font-size:.78rem}.card-stats dd{margin:3px 0 0;font-size:1.1rem;font-weight:800}.card-stats .overdue dd{color:#a33a32}.owner-extras{margin-block-start:10px}.owner-extras>summary{cursor:pointer;color:var(--primary);min-height:44px;padding:12px 0;font-weight:700}.move-form{align-items:end;gap:12px;max-width:640px;margin-block-start:22px;display:flex}.move-form label{flex:1;font-size:.84rem;font-weight:700}.admin-shell{grid-template-columns:230px minmax(0,1fr);align-items:start;gap:28px;display:grid}.admin-menu{background:#fff;border-radius:14px;padding:18px;position:sticky;top:16px;box-shadow:0 3px 18px #16223b12}.admin-menu h2{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 10px;font-size:.8rem}.admin-menu nav{gap:3px;display:grid}.admin-menu a{min-height:44px;color:var(--ink);border-radius:10px;align-items:center;padding:8px 12px;font-weight:650;text-decoration:none;display:flex}.admin-menu a:hover{background:var(--soft)}.admin-menu a.active{color:#1945aa;background:#e6efff}.admin-body .page-head{margin-block-end:20px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--soft);border-radius:999px;padding:4px 10px;font-size:.8rem}.card-edit{border-block-end:1px solid var(--soft);margin-block-end:16px;padding-block-end:16px}fieldset.ledger-checks{border:0;padding:0}.ledger-checks legend{margin-block-end:6px;font-size:.84rem;font-weight:700}@media(max-width:900px){.admin-shell{grid-template-columns:1fr}.admin-menu{position:static}.admin-menu nav{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}@media(max-width:760px){.pc-only{display:none!important}.mobile-header{display:flex}.mobile-user{gap:10px}.more-button span{display:none}.more-button{justify-content:center;min-width:44px}.mobile-menu[open]{position:fixed;inset:76px 12px auto}.bottom-nav a{flex:1}.history-filters{grid-template-columns:1fr 1fr}.history-filters .search{grid-column:1/-1}.between-item{grid-template-columns:minmax(0,1fr) auto}.between-item form,.between-item .links{grid-column:1/-1}.between-item .button{width:100%}.net-hero{font-size:1.1rem}.inline-form .button{width:100%}.alert-card{flex-direction:column;align-items:flex-start}.move-form{flex-direction:column;align-items:stretch}.kind-tabs span{min-height:72px}}.budget-total small{color:var(--muted);font-size:.78rem;display:block}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
