@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.00az9qtie3ho1.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.3j-a226dh71aj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.2gwoz23eiro2t.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0i3h3th1vs4m7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0zr6hhvz-h9nw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.T19VSG_className{font-family:Geist,Geist Fallback;font-style:normal}.T19VSG_variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.27spqqad3wyeo.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.3f4zuumv8svu0.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.34r5yzckw0h2s.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.2jyz_zw3a8jit.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.30bdpjkrtcces.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.1v5bejj26fx9h.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}._8Li5zG_className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}._8Li5zG_variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:400;font-display:swap;src:url(../media/08f3d05b771d66cc-s.0dczi0c-ciz7y.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:400;font-display:swap;src:url(../media/413670c8b897121b-s.p.05ilbcjt5w4fk.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:400;font-display:swap;src:url(../media/72b93e0389b54497-s.2702wjwyj2vsx.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ab8c2f9dfe50fb3c-s.p.3fhymijt5-wr6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:500;font-display:swap;src:url(../media/57f2d0e8dd065b18-s.0ur3_fbwo_va3.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:500;font-display:swap;src:url(../media/966a1ae9b0187c65-s.p.09_mmm-c_hkcy.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:500;font-display:swap;src:url(../media/25d906941e607a44-s.0ghkj-ex387wh.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:500;font-display:swap;src:url(../media/666deae7c569669f-s.p.2alr3g42g9l52.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:600;font-display:swap;src:url(../media/cce0da533fe89a78-s.35947kbvg7zc1.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:600;font-display:swap;src:url(../media/411573def610439a-s.p.3vzg-qdg-mlha.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0f35197ba25d2b5b-s.0ocszbwiwtgcl.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e4b5e1d5de235207-s.p.2-n8yh_gomb7-.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Thai Fallback;src:local(Arial);ascent-override:110.31%;descent-override:52.78%;line-gap-override:0.0%;size-adjust:101.17%}.TU1dNG_className{font-family:IBM Plex Sans Thai,IBM Plex Sans Thai Fallback;font-style:normal}.TU1dNG_variable{--font-thai:"IBM Plex Sans Thai", "IBM Plex Sans Thai Fallback"}
:root{--background:#f6f7f9;--foreground:#171a21;--muted:#5b6472;--line:#dde1e7;--card:#fff;--surface:#eef1f5;--accent:#2563eb;--accent-foreground:#fff;--accent-soft:#e4edfd;--danger:#b3261e;--danger-soft:#fdecea;--success:#1a7f37;--success-soft:#e6f4ea;--warning-soft:#fdf3e0;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--shadow-sm:0 1px 2px #1018280f;--shadow-md:0 4px 16px #1018281a;--cat-money:#2563eb;--cat-donate:#16a34a;--cat-home:#0d9488;--cat-health:#db2777;--cat-work:#7c3aed;--cat-family:#ea580c;--cat-knowledge:#65a30d;--cat-none:#94a3b8}:root[data-theme=dark]{--background:#0d1117;--foreground:#e8ebf0;--muted:#9aa3b0;--line:#2b313b;--card:#161b23;--surface:#1c232d;--accent:#60a5fa;--accent-foreground:#0b1526;--accent-soft:#1d2c44;--danger:#f2a09a;--danger-soft:#3a1f1d;--success:#4cc27c;--success-soft:#17321f;--warning-soft:#33291a;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 16px #00000080;--cat-money:#60a5fa;--cat-donate:#4ade80;--cat-home:#2dd4bf;--cat-health:#f472b6;--cat-work:#a78bfa;--cat-family:#fb923c;--cat-knowledge:#a3e635;--cat-none:#64748b}html{height:100%}html,body{max-width:100vw;overflow-x:hidden}body{min-height:100%;color:var(--foreground);background:var(--background);font-family:var(--font-geist-sans), var(--font-thai), system-ui, sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;display:flex}*{box-sizing:border-box;margin:0;padding:0}a{color:inherit;text-decoration:none}h2{font-size:16px;font-weight:600}.page{flex-direction:column;flex:1;align-items:center;gap:16px;padding:24px;display:flex}.page-center{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;padding:24px;display:flex}.card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card);width:100%;max-width:420px;box-shadow:var(--shadow-sm);flex-direction:column;gap:16px;padding:24px;display:flex}.card-wide{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card);width:100%;max-width:720px;box-shadow:var(--shadow-sm);flex-direction:column;gap:16px;padding:24px;display:flex}.card h1,.card-wide h1{font-size:20px;font-weight:600}.stack{flex-direction:column;gap:8px;display:flex}.stack input,.stack textarea,.stack select{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--background);color:inherit;padding:10px 12px;font-family:inherit;font-size:15px}.stack textarea{resize:vertical;min-height:96px}.stack input:focus-visible,.stack textarea:focus-visible,.stack select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.field-group{border:1px solid var(--line);border-radius:var(--radius-md);flex-direction:column;gap:12px;padding:16px;display:flex}.field-group legend{color:var(--muted);padding:0 6px;font-size:14px;font-weight:600}.field-row{flex-wrap:wrap;gap:12px;display:flex}.field-row>.stack{flex:1;min-width:140px}.field-row>.button{align-self:end}.recovery-code{border:1px dashed var(--line);border-radius:var(--radius-md);font-family:var(--font-geist-mono), ui-monospace, monospace;word-break:break-all;-webkit-user-select:all;user-select:all;padding:12px;font-size:14px;line-height:1.8;display:block}.checkbox{align-items:center;gap:8px;font-size:15px;display:flex}.tabs{gap:8px;display:flex}.tab{border:1px solid var(--line);border-radius:var(--radius-md);color:var(--muted);cursor:pointer;background:0 0;flex:1;padding:8px 12px;font-family:inherit;font-size:14px}.tab-active{border-color:var(--accent);color:var(--accent)}.dev-login{border-top:1px solid var(--line);padding-top:12px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.test-account{border:1px solid var(--line);border-radius:var(--radius-md);color:inherit;text-align:left;cursor:pointer;background:0 0;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 12px;font-family:inherit;display:flex}.test-account:hover{border-color:var(--accent)}.file-list{flex-direction:column;gap:8px;list-style:none;display:flex}.file-list li{justify-content:space-between;align-items:center;gap:12px;display:flex}.file-item{align-items:center;gap:8px;min-width:0;display:flex}.file-name{font-family:var(--font-geist-mono), ui-monospace, monospace;word-break:break-all;font-size:13px}.record-list{flex-direction:column;gap:8px;list-style:none;display:flex}.record-row{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--card);align-items:center;gap:12px;padding:12px;transition:border-color .15s,background .15s;display:flex}.record-row:hover{border-color:var(--accent);background:var(--surface)}.record-row-main{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.record-row strong{font-size:15px;font-weight:600}.record-row-meta{flex-wrap:wrap;gap:6px;display:flex}.category-icon{border-radius:var(--radius-md);background:var(--accent-soft);width:36px;height:36px;color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.row-actions{gap:8px;margin-top:4px;display:flex}.file-actions{flex-wrap:wrap}.file-actions>*{white-space:nowrap;justify-content:center}@media (max-width:480px){.file-actions>*{flex:calc(50% - 4px)}.file-actions .file-action-ai{flex:100%}}.muted{color:var(--muted);line-height:1.6}.small{font-size:13px}.error{color:var(--danger);font-size:14px}.button{border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-family:inherit;font-size:15px;transition:background .15s,border-color .15s,color .15s,opacity .15s;display:inline-flex}.button:disabled{opacity:.6;cursor:default}.button-primary{background:var(--accent);color:var(--accent-foreground)}.button-primary:hover:not(:disabled){filter:brightness(.92)}.button-primary:active:not(:disabled){filter:brightness(.85)}.button-secondary{color:var(--foreground);border-color:var(--line);background:0 0}.button-secondary:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.button-danger{background:var(--danger);color:#fff}.button-danger:hover:not(:disabled){filter:brightness(.92)}.button-ghost{color:var(--muted);background:0 0}.button-ghost:hover:not(:disabled){color:var(--foreground);background:var(--surface)}.button-sm{border-radius:var(--radius-sm);padding:6px 10px;font-size:13px}.icon-button{border:1px solid var(--line);border-radius:var(--radius-md);width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.icon-button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.icon-button:disabled{opacity:.6;cursor:default}.chip{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;line-height:1.5;display:inline-flex}.chip-button{cursor:pointer;font-family:inherit;transition:background .15s,border-color .15s,color .15s}.chip-button:hover{border-color:var(--accent);color:var(--accent)}.chip-active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.chip-row{flex-wrap:wrap;gap:8px;display:flex}.badge{border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-size:13px;font-weight:500;display:inline-flex}.badge-success{background:var(--success-soft);color:var(--success)}.ai-success{background:var(--success-soft);color:var(--success);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;font-weight:500;display:inline-flex}.badge-muted{background:var(--surface);color:var(--muted)}.alert{border:1px solid var(--line);border-radius:var(--radius-md);align-items:flex-start;gap:8px;padding:10px 12px;font-size:14px;line-height:1.5;display:flex}.alert svg{flex-shrink:0;margin-top:1px}.alert-error{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.alert-info{border-color:var(--accent);background:var(--accent-soft);color:var(--foreground)}.alert-info svg{color:var(--accent)}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--surface) 25%, var(--line) 50%, var(--surface) 75%);background-size:200% 100%;animation:1.4s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-row{border:1px solid var(--line);border-radius:var(--radius-md);align-items:center;gap:12px;padding:12px;display:flex}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:12px;padding:32px 16px;display:flex}.empty-state-icon{background:var(--accent-soft);width:56px;height:56px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.leading-icon{background:var(--accent-soft);width:48px;height:48px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.app-header{z-index:20;border-bottom:1px solid var(--line);background:var(--background);align-items:center;gap:12px;width:100%;padding:10px 16px;display:flex;position:sticky;top:0}.app-header-brand{align-items:center;gap:8px;font-size:16px;font-weight:600;display:inline-flex}.app-header-brand svg{color:var(--accent)}.app-header-spacer{flex:1}.user-menu{position:relative}.user-menu summary{border:1px solid var(--line);border-radius:var(--radius-md);color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:6px;padding:8px 12px;list-style:none;display:inline-flex}.user-menu summary::-webkit-details-marker{display:none}.user-menu summary:hover{border-color:var(--accent);color:var(--accent)}.user-menu-popover{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--card);min-width:240px;box-shadow:var(--shadow-md);flex-direction:column;gap:2px;padding:8px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.user-menu-email{color:var(--muted);border-bottom:1px solid var(--line);word-break:break-all;margin-bottom:4px;padding:8px 10px;font-size:13px}.user-menu-item{border-radius:var(--radius-sm);width:100%;color:var(--foreground);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:8px 10px;font-family:inherit;font-size:14px;display:flex}.user-menu-item:hover{background:var(--surface)}.user-menu-item svg{color:var(--muted)}.user-menu-theme{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:6px;margin-bottom:4px;padding:8px 10px;display:grid}.theme-option{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--foreground);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:7px 8px;font-family:inherit;font-size:13px;display:flex}.theme-option:hover{border-color:var(--accent)}.theme-option-active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}.ai-hint{border:1px dashed var(--line);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;gap:8px;padding:12px;display:flex}.ai-hint-title{color:var(--muted);align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.ai-hint .button{align-self:flex-start}.voice-mic{background:var(--danger-soft);width:56px;height:56px;color:var(--danger);border-radius:50%;justify-content:center;align-items:center;margin:4px auto;animation:1.4s ease-in-out infinite voice-pulse;display:flex}@keyframes voice-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.password-field{align-items:center;display:flex;position:relative}.password-field input{width:100%;padding-right:44px}.password-field .icon-button{border:none;width:32px;height:32px;position:absolute;right:4px}.back-link{color:var(--muted);align-items:center;gap:6px;font-size:14px;display:inline-flex}.back-link:hover{color:var(--accent)}.record-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.search-field{align-items:center;display:flex;position:relative}.search-field svg{color:var(--muted);pointer-events:none;position:absolute;left:12px}.search-field input{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--background);width:100%;color:inherit;padding:10px 12px 10px 38px;font-family:inherit;font-size:15px}.search-field input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.dialog{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card);color:var(--foreground);width:calc(100% - 48px);max-width:400px;box-shadow:var(--shadow-md);padding:24px}.dialog::backdrop{background:#0006}.dialog h2{margin-bottom:8px}.dialog .dialog-body{color:var(--muted);margin-bottom:16px;font-size:14px;line-height:1.6}.dialog .dialog-actions{justify-content:flex-end;gap:8px;display:flex}.copy-row{align-items:flex-start;gap:8px;display:flex}.copy-row .recovery-code{flex:1}.dashboard{flex-direction:column;gap:20px;width:100%;max-width:960px;display:flex}.dashboard-section{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card);box-shadow:var(--shadow-sm);flex-direction:column;gap:12px;padding:20px;display:flex}.dashboard-section h2{font-size:16px;font-weight:600}.spend-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.spend-head h2{align-items:center;gap:8px;display:flex}.spend-head h2 svg{color:var(--muted)}.spend-total{flex-direction:column;gap:2px;display:flex}.spend-total-value{letter-spacing:-.02em;font-size:28px;font-weight:700;line-height:1.2}.spend-bar{background:var(--surface);border-radius:999px;gap:2px;height:12px;display:flex;overflow:hidden}.spend-bar-segment{border-radius:2px;min-width:3px}.spend-list{flex-direction:column;gap:4px;list-style:none;display:flex}.spend-row{border-radius:var(--radius-md);color:inherit;grid-template-columns:auto minmax(120px,1fr) minmax(80px,2fr) auto auto;align-items:center;gap:12px;padding:8px 10px;display:grid}.spend-row:hover{background:var(--surface)}.spend-dot{border-radius:50%;width:10px;height:10px}.spend-row-main{flex-direction:column;gap:2px;min-width:0;display:flex}.spend-row-label{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;overflow:hidden}.spend-track{background:var(--surface);border-radius:999px;height:6px;display:block;overflow:hidden}.spend-track-fill{border-radius:999px;height:100%;display:block}.spend-row-amount{font-variant-numeric:tabular-nums;white-space:nowrap;flex-direction:column;align-items:flex-end;gap:2px;font-size:14px;display:flex}@media (min-width:720px){.stat-grid{grid-template-columns:repeat(4,1fr)}}.stat-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--card);flex-direction:column;gap:8px;padding:16px;display:flex}.stat-card .stat-icon{color:var(--accent)}.stat-card .stat-value{font-size:22px;font-weight:600;line-height:1.2}.stat-card .stat-label{color:var(--muted);font-size:13px}.category-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.category-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--card);flex-direction:column;gap:8px;padding:14px;transition:border-color .15s,background .15s;display:flex}.category-card:hover{border-color:var(--accent);background:var(--surface)}.category-card-empty{opacity:.55}.category-card-head{align-items:center;gap:10px;font-size:14px;font-weight:500;display:flex}.category-card-count{font-size:20px;font-weight:600}.bar-chart{align-items:flex-end;gap:8px;height:140px;display:flex}.bar-column{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:4px;min-width:0;height:100%;display:flex}.bar-count{color:var(--muted);font-size:12px}.bar{border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:var(--accent);width:100%;max-width:48px;min-height:2px}.bar-label{color:var(--muted);text-align:center;font-size:12px}.app-nav{gap:4px;display:flex}.app-nav a{border-radius:var(--radius-sm);color:var(--muted);align-items:center;gap:6px;padding:6px 10px;font-size:14px;display:inline-flex}.app-nav a:hover{color:var(--accent)}.app-nav a[aria-current=page]{color:var(--accent);background:var(--accent-soft)}@media (max-width:640px){.spend-row{grid-template-columns:auto minmax(0,1fr) auto auto}.spend-track{display:none}}@media (max-width:480px){.button-label-collapsible,.app-nav .nav-label{display:none}.page,.page-center,.card,.card-wide{padding:16px}}@media (prefers-reduced-motion:reduce){.button,.icon-button,.record-row,.chip-button{transition:none}.skeleton{animation:none}.spin{animation-duration:2s}}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.dashboard-status{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.dashboard-status-warning{color:var(--danger);align-items:center;gap:4px;text-decoration:none;display:inline-flex}.dashboard-status-warning:hover{text-decoration:underline}.dashboard-search{flex-wrap:wrap;align-items:stretch;gap:8px;display:flex}.dashboard-search .search-field{flex:1;min-width:180px}.dashboard-search .button{height:auto}.review-strip{border:1px solid var(--accent);border-radius:var(--radius-md);background:var(--accent-soft);color:var(--accent);align-items:center;gap:8px;padding:12px 16px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.review-strip:hover{filter:brightness(.97)}.review-strip span{flex:1}.category-chip{color:var(--foreground);padding:6px 12px;text-decoration:none;transition:border-color .15s,color .15s}.category-chip:hover{border-color:var(--accent);color:var(--accent)}.category-chip .muted{font-size:12px}.dashboard-footer{text-align:center}.dashboard-section h2{align-items:center;gap:8px;display:flex}.section-icon{color:var(--muted)}.spend-delta{color:var(--muted);align-items:center;gap:4px;font-size:13px;font-weight:500;display:inline-flex}.spend-delta-up{color:var(--danger)}.spend-delta-down{color:var(--success)}.spend-donation{border-top:1px solid var(--line);color:var(--foreground);align-items:center;gap:8px;padding-top:12px;font-size:14px;text-decoration:none;display:flex}.spend-donation:hover{color:var(--accent)}.spend-donation svg:first-child{color:var(--cat-donate)}.spend-donation-main{flex:1;font-weight:500}.due-overdue{color:var(--danger);border-color:var(--danger)}.due-today{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.pin-inline{color:var(--accent);vertical-align:-1px;margin-right:4px}.pin-field{justify-content:flex-end}.pin-toggle{cursor:pointer;align-items:center;gap:8px;padding-bottom:10px;font-size:14px;display:inline-flex}.pin-toggle input{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.month-group{flex-direction:column;gap:8px;display:flex}.month-heading{color:var(--muted);padding:4px 2px 0;font-size:14px;font-weight:600}.load-more{flex-direction:column;align-items:center;gap:8px;padding-top:8px;display:flex}.dashboard-actions{gap:8px;display:flex}.dashboard-actions>.button{flex:1;justify-content:center;padding:14px 12px;font-size:15px}.alert-strip{flex-wrap:wrap;gap:8px;display:flex}.alert-chip{border:1px solid var(--line);border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.alert-chip-danger{color:var(--danger);border-color:var(--danger);background:var(--danger-soft)}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;display:grid}.stat-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--card);color:var(--foreground);flex-direction:column;gap:2px;padding:10px 12px;text-decoration:none;transition:border-color .15s;display:flex}.stat-card:hover{border-color:var(--accent)}.stat-card-value{font-size:20px;font-weight:700;line-height:1.15}.stat-card-label{color:var(--muted);font-size:11px}.spend-total-line{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.spend-donut{align-items:center;gap:16px;display:flex}.spend-donut svg{flex-shrink:0}.spend-legend{flex-direction:column;flex:1;gap:8px;min-width:0;list-style:none;display:flex}.spend-legend-row{color:var(--foreground);border-radius:var(--radius-sm);align-items:center;gap:8px;margin:-2px -4px;padding:2px 4px;font-size:13px;text-decoration:none;display:flex}.spend-legend-row:hover .spend-legend-name{color:var(--accent)}.spend-legend-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.spend-legend-val{text-align:right;color:var(--muted);flex-shrink:0;font-size:12px;line-height:1.3}.spend-legend-val b{color:var(--foreground);font-size:13px;display:block}@media (max-width:380px){.spend-donut{flex-direction:column}.spend-donut svg{align-self:center}}
