@import"https://fonts.googleapis.com/css2?family=Noto+Sans+Thai:wght@400;500;600;700;800&display=swap";:root{color-scheme:dark;--chrome-background: linear-gradient(115deg, #0c0a12 0%, #1a102b 55%, #2f1139 100%);font-family:Noto Sans Thai,sans-serif;color:#f5f3f7;background:#08080b;font-synthesis:none;--cream: #08080b;--paper: #14141c;--paper-2: #101016;--ink: #f5f3f7;--muted: #a39bab;--line: rgba(255, 255, 255, .11);--brand: #ff2d95;--brand-soft: #ff7ac0;--violet: #8b3dff;--brand-gradient: linear-gradient(120deg, #ff2d95, #8b3dff);--green: #4fd1a5;--green-soft: rgba(79, 209, 165, .14);--coral: #ff7a93;--coral-soft: rgba(255, 122, 147, .14);--gold: #ff2d95;--gold-soft: rgba(255, 45, 149, .14);--blue: #6fb0d4;--shadow: 0 18px 50px rgba(0, 0, 0, .45)}*{box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}input,textarea,[contenteditable=true],[contenteditable=true] *,[data-text-selectable]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}html,body,#root{max-width:100%}html{overflow-x:clip;overscroll-behavior-x:none}body{margin:0;min-width:320px;min-height:100vh;overflow-x:clip;overscroll-behavior-x:none;background:var(--cream)}button{font:inherit;color:inherit}button:focus-visible{outline:3px solid rgba(255,122,192,.75);outline-offset:3px}.app-shell{min-height:100vh;background:radial-gradient(circle at 92% 6%,rgba(255,45,149,.16),transparent 32%),radial-gradient(circle at 4% 96%,rgba(139,61,255,.14),transparent 34%),var(--cream)}.sidebar{display:none}.main-content{--page-inline: 18px;width:min(1180px,100%);margin:0 auto;padding:0 var(--page-inline) 118px}.main-content>.topbar{margin-inline:calc(-1 * var(--page-inline));padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right));border-bottom:1px solid rgba(255,255,255,.14);background:var(--chrome-background);box-shadow:inset 0 1px #0009,inset 0 -1px #0009,0 5px 10px #00000058,0 12px 24px #00000048}.topbar .top-actions>.icon-button,.topbar .language-button{background:#ffffff0f;border-color:#ffffff24;box-shadow:inset 0 1px #ffffff0f,0 3px 8px #0000004d}.topbar .top-actions>.icon-button[aria-pressed=true]{background:var(--gold-soft);border-color:var(--gold);color:#d877a7}@media(hover:hover)and (pointer:fine){.topbar .top-actions>.icon-button:hover,.topbar .language-button:hover{background:#ffffff1f}}.topbar{display:flex;align-items:center;gap:12px;min-height:54px;position:sticky;top:0;z-index:40;padding-block:max(10px,env(safe-area-inset-top)) 10px;background:var(--cream);box-shadow:0 6px 14px #00000048}.mobile-brand{display:flex}.brand-mark{display:flex;align-items:center;gap:10px;font-size:20px;letter-spacing:0}.more-logout{width:100%;margin-top:24px}.back-navigation{display:inline-flex;align-items:center;justify-content:flex-start;gap:9px;width:fit-content;max-width:100%;min-height:44px;margin:16px 0 0;padding:8px 14px 8px 9px;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:#d877a7;font-size:13px;font-weight:700;box-shadow:0 3px 8px #00000028;cursor:pointer}.back-navigation svg{width:24px;height:24px;padding:4px;border-radius:8px;background:var(--gold-soft);flex-shrink:0}@media(hover:hover)and (pointer:fine){.back-navigation:hover{background:#18111f;border-color:#ffffff24}}.back-navigation:active{background:var(--gold-soft);box-shadow:none}.back-navigation:focus-visible{outline:3px solid #e16da7;outline-offset:3px}.page-heading-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.page-heading-row h1{min-width:0;overflow-wrap:anywhere;flex:1}.page-heading-row .back-navigation{margin:0;flex-shrink:0}@media(max-width:380px){.page-heading-row{gap:8px}.page-heading-row .back-navigation{font-size:12px;padding-inline:7px;gap:5px}}.asset-section>.panel-title{padding:0 4px}.wallet-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.wallet-overview-card{position:relative;display:flex;min-width:0;min-height:126px;flex-direction:column;justify-content:center;gap:6px;overflow:hidden;padding:18px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,#0c0810,#18111f);box-shadow:var(--shadow)}.wallet-overview-card>span{color:var(--muted);font-size:13px;font-weight:700}.wallet-overview-card>strong{overflow-wrap:anywhere;color:var(--brand-soft);font-size:clamp(19px,4.5vw,27px);line-height:1.2;font-variant-numeric:tabular-nums}.wallet-overview-card.liability>strong{color:var(--coral)}.wallet-overview-card>small{color:var(--muted);font-size:12px}@media(max-width:380px){.wallet-overview{gap:8px}.wallet-overview-card{min-height:112px;padding:14px}.wallet-overview-card>strong{font-size:clamp(16px,4.3vw,21px)}}.asset-list{background:var(--paper);border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 10px 26px #00000048}.asset-item{display:flex;align-items:center;gap:12px;padding:20px 14px}.asset-item+.asset-item{border-top:1px solid var(--line)}.asset-symbol{flex-shrink:0;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;font-size:24px;background:#1a2219}.asset-symbol.liability{background:#1c1425}.asset-item-body{flex:1;min-width:0}.asset-open{display:flex;align-items:center;gap:12px;flex:1;min-width:0;border:0;background:transparent;text-align:left;padding:6px 0;cursor:pointer;border-radius:12px}.asset-open:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.transaction-date-groups{display:grid;gap:24px}.transaction-date-group{min-width:0}.transaction-date-group h3{margin:0 4px 10px;font-size:13px;font-weight:700;color:var(--muted)}.transaction-date-group h3 span{color:var(--ink)}.transaction-day-card{border:1px solid var(--line);border-radius:24px;background:var(--paper);box-shadow:0 8px 20px #0000002c;overflow:hidden;padding-inline:14px}.transaction-list-section>.pagination{margin-top:20px}.asset-controls{display:flex;align-items:center;gap:4px;flex-shrink:0}.asset-controls .reorder-actions{flex-direction:column;padding-right:0;gap:4px}.asset-controls .icon-button{width:32px;height:44px}.asset-controls .reorder-actions button{width:32px;height:36px}.app-shell .bottom-nav{background:var(--chrome-background);border-color:#ffffff24;box-shadow:inset 0 1px #0009,0 12px 30px #00000098}.asset-item-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:13px}.asset-item-heading strong{overflow-wrap:anywhere}.asset-item-amounts{display:grid;justify-items:end;gap:2px;flex-shrink:0;text-align:right;font-weight:700;font-size:12px;font-variant-numeric:tabular-nums}.asset-converted-amount{color:var(--muted);font-size:12px;font-weight:500;white-space:nowrap}.asset-balance-bar{margin-top:10px;height:5px;border-radius:5px;background:#1f1629;overflow:hidden}.asset-balance-bar i{display:block;height:100%;background:#8cab94;border-radius:inherit}.asset-balance-bar.liability i{background:#995748}.asset-show-all{width:100%;padding:15px;border:0;border-top:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer}@media(hover:hover)and (pointer:fine){.asset-show-all:hover{background:var(--gold-soft)}}@media(max-width:380px){.asset-item{gap:8px;padding-inline:10px}.asset-item-heading{flex-direction:column;gap:3px}}.currency-flag{width:30px;height:20px;flex-shrink:0;box-shadow:0 0 0 1px #00000048;border-radius:2px}.currency-select{border:1px solid var(--line);border-radius:12px;background:var(--paper);min-width:0;color:var(--ink)}.currency-select summary,.currency-select.disabled{display:flex;align-items:center;gap:12px;padding:13px;min-height:48px}.currency-select summary{cursor:pointer;list-style:none}.currency-select summary::-webkit-details-marker{display:none}.currency-select summary>svg:last-child{margin-left:auto}@media(hover:hover)and (pointer:fine){.currency-select summary:hover,.currency-options button:hover{background:var(--gold-soft)}}.currency-options{border-top:1px solid var(--line);max-height:200px;overflow-y:auto;padding:4px}.currency-options button{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:10px 8px;border:0;border-radius:8px;background:transparent;text-align:left;cursor:pointer}.currency-options button[aria-pressed=true]{background:var(--gold-soft)}.currency-options button>span:last-child:not(:nth-child(2)){margin-left:auto}.currency-select.disabled{background:var(--cream);color:var(--muted)}.ledger-icon-picker{border:0;padding:0;margin:8px 0;min-width:0}.ledger-icon-picker legend{color:var(--muted);font-size:13px;margin-bottom:12px}.ledger-icon-picker.debt-icon-picker>div{grid-template-columns:repeat(3,minmax(0,1fr))}.debt-icon-picker button{padding:10px 4px}.debt-icon-picker small{display:block;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.ledger-icon-picker>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(44px,1fr));gap:8px}.ledger-icon-picker button{min-height:48px;border:1px solid var(--line);border-radius:14px;background:var(--paper);font-size:24px;cursor:pointer}@media(hover:hover)and (pointer:fine){.ledger-icon-picker button:hover{background:var(--gold-soft)}}.ledger-icon-picker button[aria-pressed=true]{border:2px solid var(--gold);background:var(--gold-soft)}.app-version:disabled{width:100%;margin-top:24px;color:var(--muted);opacity:1;cursor:default;box-shadow:none}.brand-home{border:0;padding:0;background:transparent;color:inherit;cursor:pointer}@media(hover:hover)and (pointer:fine){.brand-home:hover{filter:brightness(1.06)}}.brand-home:active{filter:brightness(.96)}.brand-home:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:8px}.brand-pin{width:40px;height:40px;border-radius:14px 14px 14px 4px;display:grid;place-items:center;background:var(--brand-gradient);color:#fff;box-shadow:0 7px 18px #00000038;transform:rotate(-3deg)}.brand-mark.compact .brand-pin{width:38px;height:38px}.ledger-wrap{position:relative;margin-right:auto}.ledger-button{border:0;background:transparent;display:flex;align-items:center;gap:5px;padding:9px 5px;font-weight:700;cursor:pointer}.ledger-button svg{font-size:13px;color:var(--muted)}.ledger-emoji{font-size:16px}.ledger-menu{position:absolute;top:50px;left:0;width:250px;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:8px;box-shadow:var(--shadow);animation:pop .18s ease-out}.ledger-menu button{width:100%;border:0;background:transparent;border-radius:13px;padding:12px;display:flex;gap:10px;align-items:center;cursor:pointer;text-align:left}.ledger-menu button.selected{background:#1b1324}@media(hover:hover)and (pointer:fine){.ledger-menu button:hover{background:#1b1324}}.ledger-menu .check{margin-left:auto;color:var(--brand-soft);font-weight:800}.menu-hint{border-top:1px solid var(--line);margin-top:5px;padding:10px 10px 5px;color:var(--muted);font-size:12px}.top-actions{display:flex;align-items:center;gap:7px}.icon-button,.language-button{height:40px;border:1px solid var(--line);background:#0a090bb8;border-radius:13px;display:flex;align-items:center;justify-content:center;cursor:pointer}.icon-button{width:40px;font-size:20px;position:relative}.has-dot:after{content:"";width:6px;height:6px;background:var(--coral);border:2px solid var(--paper);border-radius:50%;position:absolute;right:8px;top:8px}.language-button{padding:0 10px;gap:5px;font-size:12px;font-weight:800}.avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:800;background:var(--brand-gradient);border:3px solid #0a090b;box-shadow:0 5px 15px #0000004d}.avatar-logo{width:38px;height:38px;flex:none;object-fit:contain;filter:drop-shadow(0 3px 6px rgba(255,45,149,.35))}.welcome-row{padding:34px 0 24px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.eyebrow{margin:0 0 5px;color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:1.6px}h1,h2,p{margin-top:0}h1{margin-bottom:0;max-width:720px;font-size:clamp(28px,5vw,47px);letter-spacing:0;line-height:1.12}h2{margin-bottom:0;font-size:20px;letter-spacing:0}.month-control{display:flex;align-items:center;gap:7px;flex-shrink:0}.month-control button,.month-control div{height:44px;border:1px solid var(--line);background:#0a090bcc;border-radius:14px;display:flex;align-items:center;justify-content:center}.month-control button{width:40px;cursor:pointer}.month-control div{padding:0 12px;gap:7px;font-weight:700;font-size:13px}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.summary-card{background:var(--paper);border:1px solid rgba(48,34,64,.85);border-radius:24px;padding:18px;position:relative;overflow:hidden;min-height:155px;box-shadow:0 10px 30px #00000012}.balance-card{grid-column:1 / -1;background:var(--brand-gradient);color:#fff;min-height:178px}.summary-head{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:1px}.round-icon{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;font-size:20px}.round-icon.gold{background:#793a592e;color:#6e3552}.round-icon.green{background:var(--green-soft);color:var(--green)}.round-icon.coral{background:var(--coral-soft);color:var(--coral)}.summary-card>strong{display:block;margin-top:17px;font-size:clamp(25px,5.5vw,39px);letter-spacing:0}.income-text{color:var(--green)}.expense-text{color:var(--coral)}.micro-trend{display:flex;align-items:center;gap:4px;margin-top:7px;font-size:12px;font-weight:800;position:relative;z-index:1}.micro-trend span{font-weight:500;color:var(--muted)}.positive{color:#7bbda0}.negative{color:var(--coral)}.balance-art{position:absolute;right:-10px;bottom:-18px;width:48%;height:125px;opacity:.7;transform:skew(-6deg)}.balance-art span{position:absolute;bottom:0;width:17%;background:#c82476;border-radius:8px 8px 0 0}.balance-art span:nth-child(1){left:4%;height:31%;opacity:.38}.balance-art span:nth-child(2){left:28%;height:53%;opacity:.52}.balance-art span:nth-child(3){left:52%;height:78%;opacity:.72}.balance-art span:nth-child(4){left:76%;height:100%}.content-grid{display:grid;gap:26px;margin-top:28px}.left-column,.right-column{display:flex;flex-direction:column;gap:28px;min-width:0}.section-title{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:13px}.text-button{border:0;background:transparent;color:var(--brand-soft);font-weight:800;font-size:12px;display:flex;align-items:center;gap:4px;cursor:pointer}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.quick-action{min-width:0;border:1px solid var(--line);background:#0a090bbf;border-radius:20px;padding:12px 6px;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:12px;font-weight:700;cursor:pointer;transition:transform .18s,box-shadow .18s}@media(hover:hover)and (pointer:fine){.quick-action:hover{transform:translateY(-2px);box-shadow:0 9px 24px #00000029}}.quick-icon{width:43px;height:43px;border-radius:15px;display:grid;place-items:center;font-size:20px}.quick-icon.coral{background:var(--coral-soft);color:var(--coral)}.quick-icon.green{background:var(--green-soft);color:var(--green)}.quick-icon.gold{background:var(--gold-soft);color:#f257a5}.quick-icon.blue{background:#16232a;color:var(--blue)}.transaction-card{border:1px solid var(--line);border-radius:24px;background:var(--paper);overflow:hidden;box-shadow:0 12px 34px #00000014}.transaction-row{display:grid;grid-template-columns:45px minmax(0,1fr) auto;align-items:center;gap:11px;padding:14px}.transaction-row+.transaction-row{border-top:1px solid #21172b}.transaction-icon{width:43px;height:43px;border-radius:15px;display:grid;place-items:center;font-size:20px}.transaction-icon.coral{background:#2d110b}.transaction-icon.green{background:#1a2618}.transaction-icon.blue{background:#13222a}.transaction-icon.amber{background:#22182d}.transaction-icon.purple{background:#261727}.transaction-info{min-width:0;display:flex;flex-direction:column}.transaction-info strong{font-size:14px}.transaction-info span{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:3px}.transaction-amount{font-size:13px}.insight-card{background:var(--brand-gradient);color:#fff;border-radius:28px;padding:24px;min-height:260px;overflow:hidden;position:relative;box-shadow:var(--shadow)}.insight-badge{display:inline-flex;gap:6px;align-items:center;color:#612e48;font-weight:800;font-size:12px;letter-spacing:1.4px}.insight-graphic{position:absolute;right:-18px;top:5px;font-size:130px;color:#6e355221;transform:rotate(-7deg)}.insight-card h2{margin-top:57px;font-size:24px}.insight-card p{color:#3a383f;font-size:13px;line-height:1.7;margin:9px 0 18px;max-width:92%}.insight-bars{height:46px;display:flex;gap:7px;align-items:end}.insight-bars i{flex:1;background:#c82476;border-radius:4px 4px 0 0;opacity:.85}.insight-bars i:nth-child(1){height:30%}.insight-bars i:nth-child(2){height:45%}.insight-bars i:nth-child(3){height:40%}.insight-bars i:nth-child(4){height:68%}.insight-bars i:nth-child(5){height:62%}.insight-bars i:nth-child(6){height:88%}.progress-track{height:9px;background:#241a30;border-radius:9px;margin:17px 0 9px;overflow:hidden}.progress-track span{height:100%;display:block;background:var(--brand-gradient);border-radius:inherit}.bottom-nav{position:fixed;z-index:30;left:14px;right:14px;bottom:max(12px,env(safe-area-inset-bottom));height:72px;display:grid;grid-template-columns:1fr 1fr 54px 1fr 1fr;align-items:center;padding:7px 8px;border-radius:24px;background:#0d0911eb;border:1px solid rgba(48,34,63,.9);box-shadow:0 18px 42px #0000005c;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.nav-item{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#a39bab;font-size:12px;cursor:pointer;min-width:0}.nav-item svg{font-size:24px}.nav-item.active{color:var(--brand-soft);font-weight:800}.nav-add{width:52px;height:52px;border:4px solid var(--paper);border-radius:18px;background:var(--brand-gradient);color:#fff;display:grid;place-items:center;font-size:20px;transform:translateY(-18px);box-shadow:0 8px 20px #ff2d9547;cursor:pointer}.fab{display:none}.modal-backdrop{position:fixed;inset:0;z-index:100;background:#000000b3;display:flex;align-items:flex-end;justify-content:center;animation:fade .18s ease-out}.action-sheet{position:relative;width:100%;max-width:640px;background:var(--cream);border-radius:28px 28px 0 0;padding:35px 22px calc(30px + env(safe-area-inset-bottom));text-align:center;animation:slideUp .24s ease-out}.sheet-handle{width:45px;height:5px;background:#432031;border-radius:5px;position:absolute;top:10px;left:50%;transform:translate(-50%)}.sheet-close{position:absolute;right:18px;top:18px;border:0;background:#ffffff1a;color:var(--ink);width:38px;height:38px;border-radius:50%;display:grid;place-items:center;cursor:pointer}.action-sheet>p{color:var(--muted);font-size:13px}.sheet-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}.sheet-actions .quick-action{padding:16px 8px;background:var(--paper)}.toast{position:fixed;z-index:150;top:20px;left:50%;transform:translate(-50%);width:max-content;max-width:calc(100% - 30px);background:#1c1c25;border:1px solid rgba(255,255,255,.14);color:#fff;border-radius:15px;padding:12px 16px;box-shadow:var(--shadow);font-size:12px;display:flex;gap:8px;align-items:center;animation:toastIn .25s ease-out}.toast span{width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:var(--green)}@keyframes pop{0%{opacity:0;transform:translateY(-6px) scale(.98)}}@keyframes fade{0%{opacity:0}}@keyframes slideUp{0%{transform:translateY(30px);opacity:.4}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,-12px)}}@media(max-width:700px){.welcome-row{display:block;padding-top:27px}.month-control{margin-top:21px;justify-content:flex-start}.month-control div{flex:1}.summary-card{padding:15px}.summary-card>strong{letter-spacing:0}.summary-card:not(.balance-card) .micro-trend span{display:none}.top-actions .avatar{display:none}}@media(min-width:720px){.main-content{--page-inline: 32px;padding:0 var(--page-inline) 60px}.summary-grid{grid-template-columns:1.35fr 1fr 1fr;gap:15px}.balance-card{grid-column:auto;min-height:175px}.content-grid{grid-template-columns:minmax(0,1.55fr) minmax(270px,.75fr);align-items:start}.quick-action{flex-direction:row;justify-content:flex-start;text-align:left;padding:11px;font-size:12px}.quick-icon{flex-shrink:0}.bottom-nav{max-width:520px;margin:auto}.action-sheet{border-radius:28px;margin-bottom:30px}}@media(min-width:1080px){.app-shell{display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{display:flex;position:sticky;top:0;height:100vh;padding:32px 22px 25px;flex-direction:column;border-right:1px solid var(--line);background:#0d0911a8;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.side-nav{display:flex;flex-direction:column;gap:7px;margin-top:48px}.side-nav .nav-item{height:50px;flex-direction:row;justify-content:flex-start;gap:13px;padding:0 15px;border-radius:15px;font-size:13px}.side-nav .nav-item.active{background:#1a2319}.sidebar-foot{margin-top:auto;display:flex;flex-direction:column;gap:8px}.vip-pill{background:var(--gold-soft);color:#f56cb0;border-radius:13px;padding:10px 13px;display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800}.settings-row{border:0;background:transparent;padding:11px 13px;display:flex;gap:9px;align-items:center;color:var(--muted);cursor:pointer}.profile-mini{border-top:1px solid var(--line);padding-top:17px;display:flex;gap:10px;align-items:center}.avatar.small{width:36px;height:36px;font-size:12px}.profile-mini div:last-child{display:flex;flex-direction:column;font-size:12px}.profile-mini span{color:var(--muted)}.main-content{padding-top:0}.mobile-brand,.bottom-nav{display:none}.fab{display:grid;position:fixed;right:30px;bottom:30px;z-index:50;width:58px;height:58px;border:5px solid rgba(10,9,11,.92);border-radius:20px;background:var(--brand-gradient);color:#fff;place-items:center;font-size:24px;box-shadow:0 12px 28px #00000047;cursor:pointer}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}:root{--cream: #17111f;--paper: #0e0a13;--ink: #f5f3f7;--muted: #a39bab;--line: #411f30;--gold: #cd488b;--gold-soft: #2b1f39;--shadow: 0 18px 42px rgba(0, 0, 0, .502)}button,select,input,textarea{font-family:Noto Sans Thai,sans-serif}*{scrollbar-color:#c3387e #23192e;scrollbar-width:thin}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:#23192e}*::-webkit-scrollbar-thumb{background:#c3387e;border:2px solid #23192e;border-radius:10px}*::-webkit-scrollbar-thumb:hover{background:#d3679d}button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #e16da7;outline-offset:3px}.app-shell{background:radial-gradient(ellipse at 90% 0%,rgba(255,45,149,.16),transparent 45%),radial-gradient(ellipse at 0% 100%,rgba(139,61,255,.14),transparent 45%),var(--cream)}.brand-logo{width:54px;height:54px;object-fit:contain;filter:drop-shadow(0 5px 6px rgba(255,45,149,.45))}.compact .brand-logo{width:44px;height:44px}.brand-mark b{display:inline;color:transparent;font-weight:inherit}@keyframes brand-wordmark-shimmer{to{background-position:0% 50%}}@keyframes brand-wordmark-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.language-button{gap:5px;padding:0 9px;background:linear-gradient(145deg,#0d0911,#271c34);box-shadow:0 4px 10px #00000058}.language-button select{appearance:none;background:transparent;border:0;color:#e38bb7;font-size:12px;font-weight:700;max-width:72px;cursor:pointer;padding:7px 0}.language-button svg{flex-shrink:0}h1{letter-spacing:0;line-height:1.35;font-weight:700}.summary-card,.transaction-card{border-color:#ffffff24;background:linear-gradient(135deg,#0c0810 25%,#17111f);box-shadow:0 10px 24px #0000004c,inset 0 1px #0a090b}.balance-card{background:linear-gradient(135deg,#ff2d95,#b02ad8 55%,#8b3dff);color:#fff;box-shadow:0 17px 40px #ff2d9547,inset 0 1px #ffffff40}.balance-card .summary-head{color:#ffffffd1}.balance-card>strong{text-shadow:0 2px 8px rgba(0,0,0,.7)}.balance-card .micro-trend{color:#ffffffdb}.balance-card .micro-trend span{color:#ffffffc7}.balance-art span{background:linear-gradient(90deg,#cd498b,#352646,#c74084);box-shadow:0 0 12px #0004}.insight-card{background:linear-gradient(135deg,#ff2d95,#b02ad8 55%,#8b3dff);box-shadow:0 16px 40px #8b3dff47,inset 0 1px #ffffff40}.insight-card p{color:#2d203b}.insight-bars i{background:linear-gradient(90deg,#ca4789,#4d2539)}.quick-action{background:linear-gradient(145deg,#0e0a12,#1e1528);box-shadow:0 6px 14px #00000050,inset 0 1px #0a090b}.quick-icon.gold{background:linear-gradient(135deg,#241a30,#5a2b42)}.nav-item.active,.text-button{color:#de69a3}.nav-add,.fab{color:#fff;background:var(--brand-gradient);box-shadow:0 8px 22px #ff2d9566,inset 0 1px #ffffff4d}@property --add-ring-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}.nav-add{position:relative;isolation:isolate}.nav-add:before{content:"";position:absolute;inset:-4px;padding:4px;border-radius:inherit;pointer-events:none;background:conic-gradient(from var(--add-ring-angle),rgba(8,8,11,.5) 0deg 205deg,#ff7ac0 245deg,#8b3dff 280deg,#08080b 305deg,#ff2d95 330deg,rgba(8,8,11,.5) 360deg);-webkit-mask:linear-gradient(#0a090b 0 0) content-box,linear-gradient(#0a090b 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#0a090b 0 0) content-box,linear-gradient(#0a090b 0 0);mask-composite:exclude;filter:drop-shadow(0 0 4px rgba(189,128,159,.733));animation:add-ring-shimmer 3s linear infinite}@keyframes add-ring-shimmer{to{--add-ring-angle: 360deg}}@media(prefers-reduced-motion:reduce){.nav-add:before{animation:none}}.bottom-nav{background:#e8e1eeef;border-color:#ffffff24;box-shadow:0 15px 35px #00000098,inset 0 1px #0a090b}.side-nav .nav-item.active{background:linear-gradient(105deg,#2e213c,#1d1527);box-shadow:0 5px 13px #00000050}.feature-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.feature-title h2{font-size:16px}.vip-tag{display:inline-flex;align-items:center;gap:4px;color:#ec7ab3;background:linear-gradient(125deg,#2a1e38,#6e3551);border:1px solid rgba(255,255,255,.14);border-radius:8px;padding:3px 7px;font-size:12px;font-weight:800;white-space:nowrap;box-shadow:0 2px 6px #00000068}.feature-description{font-size:12px;line-height:1.8;color:var(--muted);margin:12px 0}.gold-button{border:1px solid #ca498a;background:linear-gradient(125deg,#2e213d,#743856);color:#efa2c8;box-shadow:0 5px 12px #00000080,inset 0 1px #1d1527;border-radius:12px;padding:10px 13px;display:inline-flex;gap:7px;align-items:center;justify-content:center;cursor:pointer;font-size:12px;font-weight:700}.premium-features{padding:6px 15px}.premium-row{border:0;background:transparent;width:100%;display:flex;align-items:center;gap:10px;padding:16px 0;cursor:pointer;text-align:start}.premium-row+.premium-row{border-top:1px solid var(--line)}.premium-row>svg{color:#d65595;font-size:24px;flex-shrink:0}.premium-row>span:nth-child(2){flex:1}.premium-row strong{display:block;font-size:13px}.premium-row small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.vip-dialog>svg{color:#cd488b;margin-bottom:15px}.vip-dialog .gold-button{min-width:120px}@media(max-width:380px){.topbar{gap:4px}.ledger-button{font-size:12px}.icon-button{width:33px}.language-button{padding:0 6px}.language-button>svg:first-child{display:none}}.page-stack{display:flex;flex-direction:column;gap:22px;padding:26px 0 110px;max-width:1160px;margin:auto}.page-heading{margin-bottom:2px}.page-heading h1{margin:4px 0 7px;font-size:clamp(29px,4vw,43px)}.page-heading>p:last-child{color:var(--muted);font-size:14px;line-height:1.7;margin:0}.preview-panel,.ledger-list,.transaction-card,.triple-summary,.two-stats>div,.admin-stats>div{border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,#0c0810,#18111f);box-shadow:0 10px 26px #00000048;overflow:hidden}.preview-panel{padding:5px 22px}.panel-title,.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-title{margin:4px 0 0}.panel-title h2{font-size:16px;margin:14px 0}.panel-title small{color:var(--muted);text-align:right}.preview-row{width:100%;border:0;background:transparent;display:flex;align-items:center;text-align:left;gap:14px;padding:17px 2px;cursor:pointer;color:var(--ink)}.preview-row+.preview-row{border-top:1px solid var(--line)}.row-icon{width:42px;height:42px;border-radius:12px;flex:none;display:grid;place-items:center;background:#2c1f3a;color:#e071a9;font-size:20px}.row-copy{flex:1;min-width:0}.row-copy strong,.row-copy small{display:block}.row-copy strong{font-size:14px}.row-copy small{font-size:12px;color:var(--muted);margin-top:3px}.row-chevron{color:#823e60}.preview-row>strong{white-space:nowrap}.ledger-hero,.wallet-total,.report-hero{border-radius:25px;padding:26px 30px;color:#fff;background:linear-gradient(135deg,#ff2d95,#b02ad8 55%,#8b3dff);box-shadow:0 16px 40px #ff2d9547,inset 0 1px #ffffff40}.ledger-hero{display:flex;align-items:center;gap:17px}.ledger-hero>svg{flex:none}.ledger-hero>div{flex:1;display:flex;flex-direction:column}.ledger-hero strong{font-size:20px}.ledger-hero span,.wallet-total span,.wallet-total small,.report-hero span,.report-hero small{color:#ffffffd1;font-size:12px}.ledger-hero>span:last-child{text-align:right}.ledger-list-row{display:flex;align-items:center;border-bottom:1px solid var(--line)}.ledger-list-row:last-child{border-bottom:0}.ledger-list-row.selected{background:#1f1629}.ledger-select{border:0;background:transparent;color:var(--ink);flex:1;min-width:0;display:flex;align-items:center;gap:15px;padding:18px 22px;cursor:pointer;text-align:left}.ledger-select>span:nth-child(2){display:flex;flex-direction:column;flex:1;min-width:0;overflow-wrap:anywhere}.ledger-list-row>.icon-button{flex-shrink:0;width:36px;height:44px}.ledger-list-row>.reorder-actions{flex-shrink:0;flex-direction:column;padding:8px;gap:4px}.ledger-list-row>.reorder-actions button{width:36px;height:36px}.workspace-drag-handle{flex:0 0 36px;width:36px;height:44px;border:0;border-radius:10px;background:transparent;color:#c3387e;display:grid;place-items:center;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}@media(hover:hover)and (pointer:fine){.workspace-drag-handle:hover{background:var(--gold-soft);color:#e695bd}}.workspace-drag-handle:active{cursor:grabbing}.workspace-drag-handle:disabled{cursor:default;opacity:.4}.workspace-reorder-status{margin:0;padding:9px 12px;border-radius:12px;background:var(--gold-soft);color:#e695bd;font-size:12px}.ledger-list-row.is-dragging,.asset-item.is-dragging{opacity:.68;outline:2px dashed var(--gold);outline-offset:-2px}.ledger-big-icon{flex-shrink:0}.ledger-select small{color:var(--muted);font-size:12px;margin-top:3px}.ledger-big-icon{width:44px;height:44px;border-radius:13px;background:#2d203b;display:grid;place-items:center;font-size:20px}.active-label,.status-pill{color:#e06fa8;background:#352647;border-radius:20px;padding:4px 9px;font-size:12px;font-weight:700;white-space:nowrap}.reorder-actions{display:flex;align-items:center;gap:3px;padding-right:12px;color:#c3387e}.reorder-actions button{border:1px solid var(--line);background:#ffffff0f;color:var(--ink);width:30px;height:30px;border-radius:9px;display:grid;place-items:center;cursor:pointer}.reorder-actions button:disabled{opacity:.3;cursor:default}.outlined-action{border:1px solid var(--line);border-radius:17px;min-height:53px;background:#0e0a13;color:#e695bd;display:flex;justify-content:center;align-items:center;gap:9px;padding:10px 18px;font-weight:700;cursor:pointer;box-shadow:0 6px 16px #00000040}.asset-types-page{max-width:900px}.asset-type-section{display:flex;flex-direction:column;gap:10px}.asset-type-section .section-title{padding:0 4px}.asset-type-section .section-title h2{margin:0;font-size:18px}.asset-type-add{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:#c46d5e;font-weight:700;padding:8px;cursor:pointer}.asset-type-list{overflow:hidden;border:1px solid #1f1628;border-radius:24px;background:#0a090b;box-shadow:0 8px 20px #00000028}.asset-type-row{display:flex;align-items:center;gap:4px;min-height:82px;padding:8px 12px 8px 16px;border-bottom:1px solid #18161d}.asset-type-row:last-child{border-bottom:0}.asset-type-main{display:flex;align-items:center;gap:14px;flex:1;min-width:0;border:0;background:transparent;color:var(--ink);text-align:left;padding:5px 4px;cursor:pointer}.asset-type-icon{display:grid;place-items:center;flex:0 0 54px;width:54px;height:54px;border-radius:50%;font-size:28px}.asset-type-copy{display:flex;flex-direction:column;min-width:0;gap:3px}.asset-type-copy strong{font-size:16px;overflow-wrap:anywhere}.asset-type-copy small{color:var(--muted);font-size:12px}.asset-type-delete,.asset-type-grip{display:grid;place-items:center;flex:0 0 38px;width:38px;height:44px;border:0;background:transparent;cursor:pointer}.asset-type-delete{color:#bc5a4e}.asset-type-delete:disabled{opacity:.34;cursor:default}.asset-type-grip{color:#7d3c5c;touch-action:none;cursor:grab}.asset-type-grip:active{cursor:grabbing}.asset-type-grip svg{width:22px;height:22px}.asset-type-sheet{width:min(560px,100%);max-height:92dvh}.asset-type-sheet-head{display:flex;align-items:center;gap:12px;margin:0 0 18px}.asset-type-sheet-head strong{color:var(--muted)}.asset-type-kind{display:flex;gap:8px;margin-bottom:14px}.asset-type-kind button{flex:1;min-height:42px;border:1px solid var(--line);border-radius:13px;background:#0d0911;color:var(--ink);font-weight:700}.asset-type-kind button[aria-pressed=true]{border-color:var(--gold);background:#291d36;color:#e78ab9}.asset-type-sheet .field-label{display:grid;gap:7px;color:var(--muted);font-size:13px;font-weight:700;margin-bottom:15px}.asset-type-sheet .field-label input{width:100%;min-height:47px;border:1px solid var(--line);border-radius:13px;padding:10px 13px;background:#0a090b;color:var(--ink);font:inherit}.asset-type-colors{border:0;padding:0;margin:0 0 15px}.asset-type-colors legend{color:var(--muted);font-size:13px;margin-bottom:8px}.asset-type-colors>div{display:grid;grid-template-columns:repeat(8,minmax(28px,1fr));gap:9px}.asset-type-colors button{width:32px;height:32px;justify-self:center;border:2px solid #0a090b;border-radius:50%;box-shadow:0 0 0 1px #362748;cursor:pointer}.asset-type-colors button[aria-pressed=true]{box-shadow:0 0 0 2px #e38bb7}.asset-type-sheet .ledger-icon-picker>div{grid-template-columns:repeat(4,minmax(0,1fr))}.asset-type-sheet-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.asset-type-sheet-actions>button{min-width:108px}.asset-type-row:active{background-color:#0e0a12}.asset-types-reference{max-width:720px;gap:24px}.asset-types-reference .section-title h2{color:var(--muted);font-size:14px;font-weight:700}.asset-types-reference .asset-type-row{min-height:88px;padding:10px 14px}.asset-types-reference .asset-type-icon{width:56px;height:56px;flex-basis:56px;font-size:34px}.asset-types-reference .asset-type-copy strong{font-size:16px;font-weight:700}.asset-types-reference .asset-type-copy small{font-size:13px}.asset-types-reference .asset-type-list{box-shadow:none}.asset-type-empty{padding:20px;color:var(--muted);font-size:14px}.asset-type-editor.entry-dialog{background:var(--cream);padding:26px 22px 22px;width:min(590px,100%)}.asset-type-editor>h2:not(:has(+p)){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%)}.asset-type-editor:before{content:"";display:block;width:40px;height:4px;border-radius:4px;background:var(--line);margin:-13px auto 17px}.category-sheet:before{display:none}.asset-type-editor-head{position:sticky;top:-26px;z-index:1;display:flex;align-items:center;gap:10px;background:var(--cream);padding:12px 0 16px}.asset-type-editor-head>div{flex:1;min-width:0}.asset-type-editor-head small{display:block;color:var(--muted);font-size:12px}.asset-type-editor-head h2{font-size:20px;line-height:1.35;margin:3px 0 0;overflow-wrap:anywhere}.asset-type-editor-head .asset-type-icon{width:45px;height:45px;flex-basis:45px;font-size:28px}.asset-type-close{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border:1px solid var(--line);border-radius:50%;background:#ffffff0f;color:var(--ink);cursor:pointer}.asset-type-save{min-width:72px;min-height:38px;border:0;border-radius:24px;background:var(--brand-gradient);color:#fff;font-weight:700;cursor:pointer}.asset-type-save:disabled{opacity:.4;cursor:default}.asset-type-editor .asset-type-name{margin:16px 0 20px}.asset-type-name>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.asset-type-editor .asset-type-name input{border:1px solid #1f1628;border-radius:17px;font-size:16px;font-weight:400;min-height:46px}.asset-type-editor .asset-type-colors{min-width:0;margin-bottom:22px;padding-bottom:4px}.asset-type-editor .asset-type-colors>div{grid-template-columns:repeat(8,minmax(0,1fr));gap:12px 6px}.asset-type-editor .asset-type-colors button{display:grid;place-items:center;width:32px;min-width:32px;height:32px;min-height:32px;aspect-ratio:1;justify-self:center;padding:0;border:2px solid white;border-radius:50%;box-shadow:none;color:#fff}.asset-type-editor .asset-type-colors button[aria-pressed=true]{box-shadow:0 0 0 2px var(--ink)}.asset-type-icon-field{border:0;padding:0;margin:0;min-width:0}.asset-type-editor .ledger-icon-picker>div{gap:8px}.asset-type-editor .ledger-icon-picker button{position:relative;isolation:isolate;display:grid;place-items:center;aspect-ratio:1;padding:5px;border-color:#1f1628;border-radius:17px;background:#fff;font-size:39px}.asset-type-editor .ledger-icon-picker button:before{content:"";position:absolute;z-index:-1;inset:6px;background:#200e09;border-radius:50%}.asset-type-editor .ledger-icon-picker button[aria-pressed=true]{border:2px solid var(--coral);background:#1c1425}.asset-type-editor .danger-action{background:var(--coral);color:#fff}.asset-types-reference button:focus-visible,.asset-type-editor button:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.asset-types-reference button:disabled,.asset-type-editor button:disabled{cursor:default}@media(hover:hover){.asset-types-reference .asset-type-main:hover:not(:disabled){background:var(--paper);border-radius:12px}.asset-types-reference .asset-type-delete:hover:not(:disabled){background:#220803;border-radius:10px}.asset-type-editor button:hover:not(:disabled){filter:brightness(.96)}}@media(max-width:420px){.asset-type-editor.entry-dialog{padding-inline:16px}.asset-type-editor-head{gap:7px}.asset-type-editor-head h2{font-size:18px}.asset-type-editor-head .asset-type-icon{width:36px;height:36px;flex-basis:36px;font-size:24px}.asset-type-save{min-width:62px}.asset-type-editor .ledger-icon-picker button{font-size:35px}.asset-type-editor .asset-type-colors button{width:28px;min-width:28px;height:28px;min-height:28px}}@media(max-width:699px){.entry-dialog-backdrop:has(.asset-type-sheet){padding:8px 0 0;align-items:end}.entry-dialog.asset-type-sheet{width:100%;max-height:96dvh;padding:20px 16px max(16px,env(safe-area-inset-bottom));border-radius:26px 26px 0 0}.asset-type-row{min-height:76px;padding-inline:10px 8px}.asset-type-icon{flex-basis:50px;width:50px;height:50px}}.wallet-create-sheet{display:flex;flex-direction:column;width:min(620px,100%);max-height:min(900px,94dvh);overflow:hidden;padding:24px 24px 20px;background:var(--cream);border-color:var(--line)}.wallet-create-sheet:before{content:"";display:block;width:40px;height:4px;border-radius:4px;background:var(--line);margin:-7px auto 20px}.wallet-create-sheet>h2{margin:0 52px 18px 0;padding:0;font-size:20px}.wallet-create-sheet>.sheet-close{top:19px;right:20px;background:var(--gold-soft);color:var(--ink)}.wallet-create-form{display:flex;flex:1 1 auto;flex-direction:column;gap:12px;min-height:0}.wallet-create-fields{display:grid;flex:1 1 auto;gap:18px;min-height:0;overflow-y:auto;padding:0 8px 12px}.wallet-create-type-label,.wallet-create-field,.wallet-create-categories legend{color:var(--muted);font-size:13px;font-weight:700}.wallet-create-type-label{margin-bottom:-12px}.wallet-create-segment{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border:1px solid var(--line);border-radius:15px;background:var(--gold-soft)}.wallet-create-segment button{min-height:46px;padding:8px 12px;border:0;border-radius:12px;color:var(--muted);background:transparent;font:inherit;font-weight:700;cursor:pointer}.wallet-create-segment button[aria-pressed=true]{color:#e695bd;background:var(--paper);box-shadow:0 2px 6px #00000060}.wallet-create-field{display:grid;gap:8px}.wallet-create-field input,.wallet-create-field select{width:100%;min-height:58px;padding:14px 17px;border:1px solid var(--line);border-radius:16px;background:var(--paper);color:var(--ink);font:inherit;font-size:16px}@media(hover:hover)and (pointer:fine){.wallet-create-field input:not(:disabled):hover,.wallet-create-field select:not(:disabled):hover{border-color:#ffffff24;background:#0c0910}}.wallet-create-field input:focus,.wallet-create-field select:focus{outline:3px solid color-mix(in srgb,var(--gold) 42%,transparent);outline-offset:1px;border-color:var(--gold);box-shadow:none}.wallet-create-categories{min-width:0;border:0;margin:0;padding:0}.wallet-create-categories legend{padding:0 0 10px}.wallet-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.wallet-type-grid button{display:flex;align-items:center;gap:11px;min-width:0;min-height:62px;padding:9px 12px;border:1px solid var(--line);border-radius:16px;color:var(--ink);background:var(--paper);text-align:left;font:inherit;font-size:14px;cursor:pointer}.wallet-type-grid button[aria-pressed=true]{border:2px solid var(--gold);background:var(--gold-soft);color:#e695bd;font-weight:700}.wallet-create-sheet :is(button,input,select):focus-visible{outline:3px solid var(--gold);outline-offset:2px}.wallet-create-sheet button:disabled{cursor:default}@media(hover:hover)and (pointer:fine){.wallet-type-grid button:hover:not(:disabled):not([aria-pressed=true]),.wallet-create-segment button:hover:not([aria-pressed=true]):not(:disabled){border-color:var(--gold);background:#140f1b}}.wallet-type-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;overflow:hidden;border-radius:50%;background:#1a1323}.wallet-type-icon .category-icon-image{width:30px;height:30px}.wallet-type-grid button>span:last-child{min-width:0;overflow-wrap:anywhere}.wallet-type-empty{margin:-10px 0 0;color:var(--muted);font-size:12px;line-height:1.6}.wallet-create-submit{position:relative;z-index:2;flex:0 0 auto;width:100%;min-height:58px;margin-top:2px;padding:12px 20px;border:0;border-radius:17px;background:var(--brand-gradient);color:#fff;font:inherit;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 6px 14px #00000070,inset 0 1px #ffffff02}.wallet-create-submit:disabled{opacity:.5;cursor:default}.wallet-edit-actions{flex:0 0 auto;margin-top:2px}.wallet-edit-actions>button{min-height:58px;border-radius:17px}.wallet-edit-actions>.wallet-create-submit{margin:0;padding-inline:12px}@media(max-width:699px){.entry-dialog-backdrop:has(.wallet-create-sheet){padding:8px 0 0;align-items:end}.entry-dialog.wallet-create-sheet{width:100%;max-height:96dvh;padding:20px 16px max(16px,env(safe-area-inset-bottom));border-radius:26px 26px 0 0}.wallet-create-sheet:before{margin-top:-9px}.wallet-create-sheet>h2{margin-bottom:16px}.wallet-create-form{gap:16px}.wallet-type-grid{gap:7px}.wallet-type-grid button{min-height:58px;gap:8px;padding:7px 9px;font-size:13px}.wallet-type-icon{flex-basis:34px;width:34px;height:34px}.wallet-type-icon .category-icon-image{width:27px;height:27px}}.category-page .page-heading{margin-bottom:8px}.empty-workspace-card{text-align:left}.empty-workspace-card h1{font-size:24px;margin:16px 0 8px}.empty-workspace-card>p{color:var(--muted);font-size:14px;line-height:1.7}.empty-workspace-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:17px;color:var(--ink);background:var(--gold-soft)}.empty-workspace-icon svg{width:30px;height:30px}.empty-workspace-card .form-preview{padding-inline:0}.category-icon-image{display:block;width:100%;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.asset-types-reference .asset-type-icon:has(.category-icon-image),.asset-type-editor .asset-type-icon:has(.category-icon-image){background:transparent!important}.asset-types-reference .asset-type-icon:has(.category-icon-image){width:64px;height:64px;flex-basis:64px}.asset-type-editor .ledger-icon-picker button:has(.category-icon-image){overflow:hidden;padding:7px}.asset-type-editor .ledger-icon-picker button:has(.category-icon-image):before{display:none}.category-row .asset-type-icon:has(.category-icon-image){width:68px;height:68px;flex-basis:68px;background:transparent!important}.category-sheet .asset-type-icon:has(.category-icon-image){background:transparent!important}.category-sheet .ledger-icon-picker button:has(.category-icon-image){aspect-ratio:1;padding:5px;overflow:hidden}.category-sheet .ledger-icon-picker button .category-icon-image{max-height:100px}.category-draft-notice{margin:0;padding:12px 16px;border:1px solid var(--line);border-radius:14px;background:var(--gold-soft);color:var(--ink);font-size:13px;line-height:1.6}.category-template-control{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 0 12px;margin:0 0 16px;border:0;border-radius:0;background:transparent}.category-template-control>div{display:grid;gap:3px;min-width:0}.category-template-control strong{color:var(--ink);font-size:14px}.category-template-control small{color:var(--muted);font-size:12px;line-height:1.5}.category-template-control>button{min-height:42px;flex:0 0 auto;padding:8px 13px;font-size:12px;box-shadow:none}.category-page .asset-type-section{gap:10px;margin-top:4px}.category-page .section-title{min-height:34px}.category-row{gap:2px}.category-row .asset-type-grip,.asset-types-reference .asset-type-grip{order:-1;flex-basis:30px;width:30px;margin-left:-5px}.category-row .asset-type-main{gap:12px}.category-row .asset-type-delete{margin-left:auto}.category-row.is-dragging{opacity:.68;outline:2px dashed var(--gold);outline-offset:-2px}.category-row .asset-type-grip:focus-visible,.category-row .asset-type-main:focus-visible,.category-row .asset-type-delete:focus-visible,.category-page .asset-type-add:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:10px}.category-sheet{scrollbar-gutter:stable}.category-sheet .ledger-icon-picker>div{grid-template-columns:repeat(4,minmax(0,1fr))}.category-sheet .asset-type-sheet-head .asset-type-icon{flex-basis:48px;width:48px;height:48px}.category-sheet .asset-type-sheet-actions .danger-action,.entry-dialog .danger-action{background:#c8685c;color:#fff;border-color:#c8685c}.entry-dialog .danger-action:disabled{opacity:.55}@media(hover:hover)and (pointer:fine){.category-row:hover{background:#0e0a12}.category-row .asset-type-delete:hover:not(:disabled){background:#220803;border-radius:10px}}@media(max-width:560px){.category-template-control{align-items:stretch;flex-direction:column;gap:10px}.category-template-control>button{width:100%}}.subtle-note,.empty-result{color:var(--muted);font-size:12px;line-height:1.7;margin:0}.wallet-total,.report-hero{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.wallet-total strong,.report-hero strong{font-size:clamp(33px,5vw,55px);line-height:1.2}.inline-detail,.notice-band{background:#1b1324;border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:18px}.inline-detail{position:relative;display:flex;flex-direction:column;gap:10px}.inline-detail>button{position:absolute;right:12px;top:12px;border:0;background:transparent;cursor:pointer}.inline-detail h2{margin:0;font-size:16px}.inline-detail p{margin:0;color:var(--muted);font-size:12px}.inline-detail label,.form-preview label,.filter-grid label,.move-preview label,.wallet-picker{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted)}.inline-detail input,.inline-detail select,.form-preview input,.form-preview select,.filter-grid select,.move-preview select,.wallet-picker select{width:100%;padding:11px 13px;border:1px solid var(--line);background:#0c0910;color:var(--ink);border-radius:11px;font-size:13px}.password-field{display:flex;align-items:center;border:1px solid var(--line);border-radius:11px;background:#0c0910;overflow:hidden}.password-field input{border:0;border-radius:0}.form-preview .password-field input{min-width:0;flex:1;border:0}.recurring-notice,.recurring-toolbar,.recurring-actions,.recurring-card-heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.recurring-notice>svg{flex:none}.recurring-toolbar>.entry-save{flex:1}.recurring-list{display:grid;gap:16px;min-height:180px}.recurring-card{padding:20px}.recurring-card-heading{justify-content:space-between;align-items:flex-start}.recurring-card-heading h2{font-size:18px;margin:6px 0;overflow-wrap:anywhere}.recurring-card-heading>div{min-width:0;flex:1 1 150px}.recurring-card-heading>strong{font-size:18px;overflow-wrap:anywhere}.recurring-card>p{color:var(--muted);font-size:13px;overflow-wrap:anywhere}.recurring-card>p svg{vertical-align:middle}.recurring-actions{margin-top:16px;gap:8px}.recurring-actions>.entry-save{width:100%}.recurring-summary{display:grid;grid-template-columns:minmax(80px,1fr) minmax(0,2fr);gap:12px;font-size:13px}.recurring-summary dt{color:var(--muted)}.recurring-summary dd{margin:0;overflow-wrap:anywhere}.notification-controls,.notification-card-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.notification-controls .chip-row{flex-wrap:wrap}.notification-controls [aria-pressed=true]{color:var(--ink);background:var(--gold-soft);border-color:var(--gold)}.notification-card{padding:20px;border-inline-start:4px solid var(--line);overflow-wrap:anywhere}.notification-card.is-unread{border-inline-start-color:var(--gold)}.notification-card h2{margin:12px 0 8px;font-size:20px}.notification-amount{display:block;font-size:20px}.notification-card p,.notification-count{font-size:13px;color:var(--muted)}.notification-card p svg{vertical-align:middle}.notification-card>button{width:100%;margin-top:8px}.notification-state{font-weight:700}.password-field button{width:43px;height:43px;flex:none;border:0;background:transparent;color:#df82b1;display:grid;place-items:center;cursor:pointer}.search-line{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:16px;background:#ffffff0f;padding:0 17px;height:52px}.search-line input{border:0;outline:0;flex:1;min-width:0;background:transparent;font-size:14px}.search-line button{width:34px;height:34px;border:0;border-radius:9px;background:#23192e;color:var(--ink);display:grid;place-items:center;cursor:pointer}.chip-row{display:flex;gap:8px;overflow-x:auto}.chip-row button,.entry-tabs button{border:1px solid var(--line);border-radius:12px;background:#0e0a12;color:var(--muted);padding:9px 16px;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;cursor:pointer}.chip-row button.chosen,.entry-tabs button.active{background:linear-gradient(120deg,#2e213e,#69334e);color:#f0a1c8;border-color:#ffffff24;font-weight:700}.filter-grid{display:grid;gap:14px;padding:12px 0 20px}.form-preview{display:grid;gap:14px;padding:16px 22px 20px}.form-preview>*{min-width:0}.exchange-rate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.exchange-rate-card{display:grid;align-content:start;gap:14px;min-width:0;padding:16px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#0c0810,#18111f)}.exchange-rate-card header{display:flex;align-items:baseline;gap:8px}.exchange-rate-card header strong{color:var(--ink);font-size:20px;font-variant-numeric:tabular-nums}.exchange-rate-card header span{color:var(--muted);font-size:12px}.exchange-rate-card label{overflow-wrap:anywhere}.exchange-rate-card input:disabled{color:var(--muted);background:var(--cream);cursor:not-allowed}.exchange-rate-card input[aria-invalid=true]{border-color:var(--danger)}.exchange-rate-card input:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.exchange-rate-form>.subtle-note{font-variant-numeric:tabular-nums}.triple-summary{display:grid;grid-template-columns:repeat(3,1fr);padding:20px}.triple-summary span{display:flex;flex-direction:column;font-size:12px;color:var(--muted);padding:0 12px}.triple-summary span+span{border-left:1px solid var(--line)}.triple-summary strong{color:var(--ink);font-size:clamp(16px,2.6vw,25px);margin-top:4px}.comparison-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.comparison-card{position:relative;min-width:0;min-height:145px;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:7px;padding:18px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,#0c0810,#18111f);box-shadow:var(--shadow)}.comparison-card-title,.comparison-card>strong,.comparison-change{position:relative;z-index:1;max-width:82%}.comparison-card-title{color:var(--muted);font-size:13px;font-weight:700}.comparison-card>strong{color:var(--ink);font-size:clamp(19px,4.6vw,27px);line-height:1.2;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.comparison-change{font-size:12px;line-height:1.4;color:var(--muted)}.comparison-change.positive{color:var(--success)}.comparison-change.negative{color:var(--danger)}.comparison-card-art{position:absolute;right:7px;bottom:5px;width:39%;aspect-ratio:1;display:grid;place-items:center;opacity:.13;pointer-events:none}.comparison-card-art img{width:100%;height:100%;object-fit:contain}.report-columns,.two-stats{display:grid;grid-template-columns:1fr 1fr;gap:18px}.donut-layout{display:flex;align-items:center;justify-content:center;gap:30px;padding:18px 0 25px}.css-donut{width:150px;height:150px;border-radius:50%;background:conic-gradient(#812935 0 42%,#c1387d 42% 71%,#7a9a7e 71% 89%,#2e213c 89%);position:relative;flex:none}.css-donut:after{content:"";position:absolute;inset:36px;border-radius:50%;background:#0c0910}.legend{display:flex;flex-direction:column;gap:11px;font-size:12px}.legend span{white-space:nowrap}.swatch{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:8px}.swatch.rose{background:#812935}.swatch.gold{background:#c1387d}.swatch.green{background:#7a9a7e}.swatch.pale{background:#2e213c}.chart-bars{display:flex;align-items:end;justify-content:space-around;height:195px;gap:10px;padding:20px 0 9px}.chart-bars>div{flex:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:5px}.chart-bars span{display:block;width:min(100%,35px);border-radius:8px 8px 2px 2px;background:linear-gradient(#8b3dff,#ff2d95)}.chart-bars small{color:var(--muted);font-size:12px}.category-bars{padding:12px 0 20px;display:grid;gap:13px}.category-bars span{display:flex;justify-content:space-between;font-size:12px}.category-bars i{display:block;height:9px;border-radius:9px;background:#261b33;overflow:hidden;margin-top:6px}.category-bars em{display:block;height:100%;background:linear-gradient(90deg,#ff2d95,#8b3dff)}.finance-page:has(.monthly-comparison)>section.preview-panel:has(.category-order-row){display:none}.monthly-comparison .panel-title{align-items:center;gap:10px;flex-wrap:wrap}.monthly-range-tabs{display:flex;flex:0 0 auto;gap:4px;padding:4px;border-radius:13px;background:#1c1425}.monthly-range-tabs button{min-height:32px;padding:5px 9px;border:0;border-radius:10px;background:transparent;color:var(--muted);font:inherit;font-size:12px;font-weight:700;white-space:nowrap;cursor:pointer}.monthly-range-tabs button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.monthly-range-tabs button:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.monthly-chart-legend{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:8px 0 0;color:var(--muted);font-size:13px}.monthly-chart-legend span{display:inline-flex;align-items:center;gap:7px}.monthly-chart-legend i{display:inline-block;width:18px;height:4px;border-radius:4px;background:var(--success)}.monthly-chart-legend .expense-mark{background:var(--danger)}.monthly-chart-legend .net-mark{background:var(--gold)}.monthly-chart-scroll{width:100%;overflow-x:auto}.monthly-chart{display:block;width:100%;min-width:340px;height:auto;margin:6px 0 10px;overflow:visible}.monthly-chart .chart-guide{stroke:var(--line);stroke-width:1;opacity:.55}.monthly-chart .chart-zero{stroke:#68324d;stroke-width:1.5}.monthly-chart .chart-income{fill:var(--success)}.monthly-chart .chart-expense{fill:var(--danger)}.monthly-chart .chart-net-line{fill:none;stroke:var(--gold);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.monthly-chart .chart-net-dot{fill:var(--gold);stroke:var(--paper);stroke-width:1.5}.monthly-chart .chart-month{fill:var(--muted);font:12px Noto Sans Thai,sans-serif}.monthly-table-scroll{width:100%;overflow-x:auto}.monthly-report-table{width:100%;min-width:510px;border-collapse:collapse;font-variant-numeric:tabular-nums}.monthly-report-table th,.monthly-report-table td{padding:12px 7px;border-top:1px solid var(--line);text-align:right;white-space:nowrap;font-size:13px}.monthly-report-table thead th{color:var(--muted);font-weight:700}.monthly-report-table tbody th{color:var(--ink);font-weight:700;text-align:left}.monthly-report-table .monthly-income-value{color:var(--success)}.monthly-report-table .monthly-expense-value{color:var(--danger)}.monthly-comparison>.subtle-note{margin-bottom:0}.two-stats>div,.admin-stats>div{padding:19px;display:flex;flex-direction:column;gap:7px}.two-stats span,.admin-stats span{color:var(--muted);font-size:12px}.two-stats strong,.admin-stats strong{font-size:24px}.profile-hero{display:flex;align-items:center;gap:15px;padding:20px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(100deg,#2a1e38,#150f1c)}.profile-avatar{overflow:hidden;padding:0}.profile-avatar img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}.profile-hero>div{flex:1;display:flex;flex-direction:column}.profile-hero small{color:var(--muted);font-size:12px}.notice-band{display:flex;align-items:center;gap:10px;color:#df82b1;font-size:12px}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.entry-overlay{position:fixed;inset:0;background:#30212ba8;z-index:120;display:flex;justify-content:center;align-items:center;padding:15px}.entry-sheet{width:min(950px,100%);max-height:calc(100vh - 30px);overflow-y:auto;background:linear-gradient(#110c16,#1c1425);border:1px solid #322342;border-radius:26px;box-shadow:0 28px 70px #0009;padding:20px}.entry-sheet>header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.entry-sheet>header strong{font-size:18px}.preview-flag{font-size:12px;letter-spacing:1px;font-weight:800;color:#d7629c}.entry-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:24px}.entry-tabs button{justify-content:center;white-space:normal;text-align:center;padding:12px 5px}.entry-section-title{color:var(--muted);text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:700;margin-bottom:12px}.category-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.category-chips button{display:flex;align-items:center;gap:8px;min-height:57px;background:#0d0911;border:1px solid var(--line);border-radius:14px;text-align:left;padding:9px;cursor:pointer;color:var(--ink);font-size:12px}.category-chips button.chosen{border-color:#cc518f;background:#251b32;box-shadow:inset 0 0 0 1px #cc518f}.category-chips span{font-size:24px}.wallet-picker{margin:20px 0}.move-preview{display:grid;gap:15px}.move-arrow{justify-self:center;color:var(--gold);font-size:24px}.entry-bottom{border-top:1px solid var(--line);margin-top:24px;padding-top:18px;display:grid;gap:13px}.entry-amount label{color:var(--muted);font-size:12px;letter-spacing:1px;font-weight:700}.entry-amount span{display:flex;align-items:center;gap:6px;color:#da609d;font-size:35px;font-weight:700}.entry-amount input{border:0;outline:0;background:transparent;color:var(--ink);font-size:35px;font-weight:700;width:100%}.entry-extras{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.entry-extras label{background:#0d0911;border:1px solid var(--line);border-radius:10px;padding:9px;display:flex;flex-wrap:wrap;align-items:center;gap:5px;font-size:12px;cursor:pointer;min-width:0}.entry-extras input{width:100%;border:0;background:transparent;color:var(--ink);font-size:12px}.entry-extras input[type=file]{font-size:12px}.entry-keypad{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.entry-keypad button{border:0;border-radius:10px;background:#23192f;color:var(--ink);min-height:41px;font-size:20px;cursor:pointer}.entry-save{width:100%;border:0;border-radius:13px;padding:13px;background:var(--brand-gradient);color:#fff;font-weight:700;cursor:pointer}@media(min-width:700px){.entry-sheet{display:grid;grid-template-columns:1fr 310px;column-gap:25px}.entry-sheet>header,.entry-tabs{grid-column:1 / -1}.entry-bottom{border-top:0;border-left:1px solid var(--line);padding:0 0 0 22px;margin:0;grid-column:2;grid-row:3 / 6;align-content:start}.entry-section-title,.category-chips,.wallet-picker,.move-preview{grid-column:1}}@media(max-width:699px){.page-stack{padding:17px 0 135px;gap:16px}.form-preview{padding:14px 16px 18px}.exchange-rate-grid,.report-columns{grid-template-columns:1fr}.donut-layout{gap:14px}.css-donut{width:115px;height:115px}.css-donut:after{inset:28px}.ledger-hero{padding:20px}.ledger-hero>span:last-child{display:none}.ledger-list-row,.asset-item,.category-order-row{position:relative}.ledger-list-row>.icon-button{margin-inline-end:12px}.ledger-list-row>.reorder-actions,.asset-controls>.reorder-actions,.category-order-row>.reorder-actions{position:absolute;z-index:2;top:50%;right:8px;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.asset-item.has-edit-button>.asset-controls>.reorder-actions{right:52px}.ledger-list-row>.reorder-actions:focus-within,.asset-controls>.reorder-actions:focus-within,.category-order-row>.reorder-actions:focus-within{width:auto;height:auto;padding:7px!important;margin:0;overflow:visible;clip-path:none;white-space:normal;border:1px solid var(--line);border-radius:13px;background:var(--paper);box-shadow:0 5px 18px #000000ac}.entry-overlay{padding:0;align-items:end}.entry-sheet{border-radius:26px 26px 0 0;max-height:96vh;padding:18px}}@media(max-width:430px){.triple-summary{padding:13px 4px}.triple-summary span{padding:0 7px}.triple-summary strong{font-size:16px}.category-chips{grid-template-columns:repeat(2,1fr)}.preview-panel{padding:4px 15px}.ledger-select{padding:15px 10px;gap:8px}.active-label{display:none}.entry-tabs button{font-size:12px}.entry-extras{grid-template-columns:1fr 1fr}}@media(forced-colors:active){*{scrollbar-color:auto}}.language-wrap{position:relative}.language-button{border:1px solid rgba(255,255,255,.14);min-height:40px;cursor:pointer;color:#e38bb7;display:flex;align-items:center;border-radius:12px}.flag-icon{font-size:20px}.language-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:150;min-width:160px;padding:6px;border:1px solid rgba(255,255,255,.14);border-radius:15px;background:#110c16;box-shadow:0 12px 32px #000000b3}.language-menu button{width:100%;border:0;background:transparent;text-align:left;padding:12px;display:flex;align-items:center;gap:10px;border-radius:9px;cursor:pointer}.language-menu button[aria-checked=true]{background:#2e213d}@media(hover:hover)and (pointer:fine){.language-menu button:hover{background:#2e213d}}.login-screen{min-height:100dvh;background:radial-gradient(ellipse at 80% 8%,rgba(255,45,149,.22),transparent 55%),radial-gradient(ellipse at 10% 95%,rgba(139,61,255,.18),transparent 50%),#08080b;padding:24px}.login-top{display:flex;justify-content:space-between;align-items:center;max-width:1100px;margin:auto}.login-top-auth{justify-content:flex-end}.auth-language-guidance{position:relative;z-index:99999}.auth-language-guidance .language-menu{z-index:10001}.auth-language-guide{position:fixed;z-index:1;top:max(16px,env(safe-area-inset-top));left:16px;width:min(560px,calc(100vw - 230px));max-height:calc(100dvh - env(safe-area-inset-top) - 32px);overflow-x:hidden;overflow-y:auto;padding:13px 15px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:linear-gradient(145deg,#0d0911,#23192f);box-shadow:0 10px 24px #00000070,inset 0 1px #0a090b;color:#e3a0c1;font:inherit;text-align:left;cursor:pointer;animation:auth-language-guide-float 3.2s ease-in-out infinite}@keyframes auth-language-guide-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.auth-language-guide>span{display:block;min-width:0;overflow-wrap:anywhere;font-size:12px;line-height:1.65}.auth-language-guide>span+span{margin-top:4px;color:#d56ea1}.auth-language-guide:hover{background:#110c16}.auth-language-guide:focus-visible{outline:3px solid #e16da7;outline-offset:3px}.login-card{width:min(430px,100%);margin:45px auto;padding:32px;border:1px solid rgba(255,255,255,.14);border-radius:28px;background:linear-gradient(145deg,#0d0911,#1e1528);box-shadow:0 20px 60px #00000094,inset 0 1px #ffffff14;text-align:center}.login-logo img{width:115px;filter:drop-shadow(0 8px 12px rgba(0,0,0,.7))}.auth-loading:has(>.outlined-action){display:grid;justify-items:center;gap:12px;text-align:center}.login-brand-name{display:flex;align-items:center;justify-content:center;margin:8px 0 18px;font-size:20px;letter-spacing:0}.login-brand-name>span,.brand-mark>span{display:inline-block;color:transparent;font-weight:800;background:linear-gradient(105deg,#ff2d95 0% 30%,#ffd1ea 45%,#fff 50%,#c9a0ff 57%,#8b3dff 70%,#ff2d95);background-size:240% 100%;background-position:100% 50%;background-clip:text;-webkit-background-clip:text;animation:brand-wordmark-shimmer 2.7s linear infinite,brand-wordmark-bob 2.7s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.login-brand-name>span,.brand-mark>span{animation:none;color:#ff7ac0;background:none}.brand-mark b{color:inherit}}@media(prefers-reduced-motion:reduce){.auth-language-guide{animation:none}}.login-card h1{margin:4px 0;font-size:28px}.login-card>p,.login-card>small{color:var(--muted);font-size:12px;line-height:1.7}.device-access-screen{display:grid;place-items:center}.device-access-card{width:min(520px,100%);margin:0 auto;padding:clamp(24px,5vw,42px)}.device-access-brand{display:flex;align-items:center;justify-content:center;gap:10px;color:#e38bb7;font-size:18px}.device-access-brand img{width:48px;height:48px;object-fit:contain}.device-access-emblem{width:78px;height:78px;margin:28px auto 16px;display:grid;place-items:center;border:1px solid var(--line);border-radius:24px;background:#1f1628;color:#df6ea7}.device-access-emblem svg{font-size:40px}.device-access-kicker{display:flex;justify-content:center;align-items:center;gap:6px;margin:0 auto 10px;color:#d16098;font-size:12px}.device-access-card h1{max-width:420px;margin:0 auto 12px;font-size:clamp(22px,4vw,28px);line-height:1.4}.device-access-card .device-access-body{max-width:410px;margin:0 auto 20px;font-size:14px}.device-access-guidance{padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#110c16;color:#e18ab5;font-size:13px;line-height:1.7}.device-access-logout{margin-top:12px}.login-form{display:grid;gap:18px;margin:25px 0;text-align:left}.login-form label{display:grid;gap:7px;font-size:13px}.login-form input:not([type=checkbox]){width:100%;border:1px solid var(--line);background:#0c0910;border-radius:11px;padding:13px;min-width:0}.login-screen input:focus-visible{outline:none}.login-form .password-field input{border:0}.login-form .preview-role{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.login-submit{border:0;border-radius:13px;padding:14px;background:var(--brand-gradient);color:#fff;cursor:pointer;font-weight:700}.form-error,.entry-dialog .form-error{margin:0;color:#cd695e;font-size:12px;line-height:1.7}.notification-item{display:flex;gap:14px;padding:20px 0;text-align:left}.notification-item>svg{font-size:28px;color:#d9649e}.notification-item span{display:grid;gap:6px}.notification-item small{color:var(--muted)}.empty-wallet-group{min-height:110px;margin:0;padding:24px;display:grid;place-items:center;text-align:center;color:var(--muted);font-size:13px}.category-order-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 0;border-top:1px solid var(--line);font-size:14px}.category-order-row>span{flex:1;min-width:0}.category-order-row>div{display:flex;gap:6px}.category-order-row button{width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:#0d0911;cursor:pointer}.category-order-row>.workspace-drag-handle{flex:0 0 36px;width:36px;height:44px;border:0;border-radius:10px;background:transparent}.category-order-row.is-dragging{opacity:.68;outline:2px dashed var(--gold);outline-offset:-2px}.category-order-row button:disabled{opacity:.3;cursor:default}.entry-details{grid-column:1}.calculator-expression{width:100%;min-width:0;border:1px solid var(--line);border-radius:10px;background:#0d0911;padding:10px;text-align:right;color:#df82b1}.entry-extras>button{border:1px solid var(--line);background:#0d0911;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:5px;cursor:pointer;font-size:12px;min-height:48px;color:var(--ink)}.entry-keypad button:last-child{grid-column:span 3;background:#4b2438}.receipt-preview{display:flex;align-items:center;gap:8px;font-size:12px;min-width:0}.receipt-preview img{width:45px;height:45px;object-fit:cover;border-radius:8px}.receipt-preview span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.receipt-preview button{border:0;background:transparent;color:#cd695e;cursor:pointer;padding:10px}.entry-dialog-backdrop{position:fixed;inset:0;z-index:140;background:#30212ba8;display:grid;place-items:center;padding:20px}.entry-dialog{position:relative;width:min(460px,100%);max-height:90dvh;overflow:auto;background:#110c16;border:1px solid rgba(255,255,255,.14);border-radius:24px;padding:27px;box-shadow:0 25px 70px #0009}.entry-dialog h2{font-size:20px;padding-right:25px}.entry-dialog p{color:var(--muted);font-size:12px;line-height:1.7}.entry-dialog textarea{width:100%;resize:none;border:1px solid var(--line);border-radius:12px;padding:13px;background:#ffffff0f;margin-bottom:16px}.attachment-choice{display:grid;gap:12px}.attachment-choice label{position:relative;overflow:hidden;display:flex;gap:12px;align-items:center;min-height:65px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#241a30;cursor:pointer}.attachment-choice input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.confirm-amount{display:block;font-size:32px;color:#e06fa8;margin:20px 0}.entry-dialog dl{display:grid;grid-template-columns:90px 1fr;gap:12px;font-size:13px}.entry-dialog dt{color:var(--muted)}.entry-dialog dd{margin:0;overflow-wrap:anywhere}.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.member-edit-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.member-edit-actions.single{grid-template-columns:1fr}.member-edit-actions>button{min-width:0;padding-inline:10px;font-size:12px}.member-delete-area{display:grid;gap:4px}.member-delete-area>.subtle-note{margin:0}.member-delete-action{display:flex;justify-content:center;align-items:center;gap:8px;width:100%}.temporary-password-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}.temporary-password-row label{min-width:0}.temporary-password-row>.outlined-action{min-height:43px;padding:9px 12px;white-space:nowrap}.resize-none{resize:none}textarea{font-family:Noto Sans Thai,sans-serif}.entry-extras{grid-template-columns:1fr 1fr}.entry-extras>label:first-child{grid-column:1 / -1}.entry-extras input[type=date]{min-height:28px;font-size:13px}.auth-notice,.auth-success{padding:12px 15px;border:1px solid var(--line);border-radius:12px;font-size:13px;line-height:1.7}.auth-success{color:var(--success);background:#111d11}.auth-notice{background:var(--gold-soft, #2b1f39);color:var(--ink)}.login-line-link{color:#e385b4;font-weight:800;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}@media(hover:hover)and (pointer:fine){.login-line-link:hover{color:#e161a1}}.login-line-link:focus-visible{outline:3px solid #e16da7;outline-offset:2px;border-radius:3px}.auth-security{display:inline-flex;align-items:center;justify-content:center;gap:6px}.public-legal-links{width:min(430px,100%);margin:-21px auto 16px;padding:0 10px 8px;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;color:var(--muted);font-size:12px}.public-legal-links a,.legal-document a{color:#e385b4;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration:none}.public-legal-links a{padding:8px 3px;text-decoration:none}.public-legal-links a:focus-visible,.legal-document a:focus-visible{outline:3px solid #e16da7;outline-offset:3px;border-radius:4px}.legal-screen{min-height:100dvh;padding:clamp(16px,4vw,40px);background:radial-gradient(ellipse at 88% 4%,rgba(211,170,190,.4),transparent 42%),#17101e}.legal-document{width:min(820px,100%);margin:0 auto;padding:clamp(22px,5vw,48px);border:1px solid var(--line);border-radius:26px;background:linear-gradient(145deg,#0c0810,#18111f);box-shadow:0 18px 50px #00000068,inset 0 1px #0a090b;color:var(--ink);user-select:text;-webkit-user-select:text}.legal-back{display:inline-flex;align-items:center;gap:8px;min-height:42px;margin:-6px 0 24px;font-size:13px;font-weight:700}.legal-back svg{font-size:18px}.legal-heading{padding:4px 0 25px}.legal-mark{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:14px;background:#1f1628;color:#df6ea7;font-size:20px}.legal-eyebrow{margin:16px 0 6px;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.08em}.legal-heading h1{margin:0;font-size:clamp(25px,5vw,34px);line-height:1.35}.legal-intro{margin:10px 0 4px;color:var(--muted);font-size:14px;line-height:1.7}.legal-revision{margin:0;color:var(--muted);font-size:12px}.legal-review-note{display:grid;gap:5px;margin:20px 0;padding:15px 17px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:#1a1322;color:#e492bb;font-size:13px;line-height:1.7}.legal-review-note strong{font-size:13px}.legal-switch{display:flex;flex-wrap:wrap;gap:10px;padding:0 0 16px}.legal-switch a{padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:#0d0911;font-size:12px;font-weight:700;text-decoration:none}.legal-switch a[aria-current=page]{border-color:#c2387d;background:#2b1f39}.legal-sections{display:grid}.legal-section{padding:20px 0;border-bottom:1px solid #291d36}.legal-section h2{margin:0 0 9px;font-size:16px;line-height:1.5}.legal-section p{margin:0 0 10px;color:#e093b9;font-size:13px;line-height:1.9;white-space:pre-line}.legal-section p:last-child{margin-bottom:0}.legal-footer{padding-top:22px;text-align:center;font-size:13px;font-weight:700}.legal-document :where(p,h1,h2,strong,span){user-select:text;-webkit-user-select:text}.auth-toggle{justify-content:center}.auth-loading{padding:22px 0;min-height:90px}button:disabled{cursor:default;opacity:.55}.checkbox-row{display:flex!important;flex-direction:row!important;align-items:center;gap:10px}.checkbox-row input{width:20px;height:20px}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0;font-size:12px}.pagination .outlined-action{min-height:40px}.member-list{min-height:280px}.member-list .panel-title h2{display:flex;align-items:center;gap:8px}.member-list-actions{display:flex;align-items:center;gap:14px}.member-list-actions .text-button{display:inline-flex;align-items:center;gap:6px}.status-suspended{color:#ce7066;background:#1f1629}.status-active{color:#9ccdb3;background:#172717}.financial-preview{margin-top:16px;font-size:12px}.logout-button{font-size:12px;white-space:nowrap}.entry-dialog .form-preview{padding-bottom:0}@media(max-width:480px){.member-list .status-pill{display:none}.member-list-actions{gap:8px}.logout-button{max-width:57px;white-space:normal;font-size:12px}.top-actions{gap:5px}.login-card h1{font-size:24px}}@media(max-width:480px){.top-actions .language-button>span:nth-child(2){display:none}.ledger-button{white-space:nowrap;font-size:12px}.mobile-brand .brand-logo{width:38px;height:38px}}.finance-filters{padding-top:15px;padding-bottom:15px}.report-controls{display:grid;gap:14px}.report-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;border-radius:18px;background:#1c1425}.report-tabs button{min-width:0;min-height:42px;padding:8px 4px;border:0;border-radius:14px;background:transparent;color:var(--muted);font:inherit;font-size:clamp(12px,3.3vw,14px);font-weight:700;white-space:nowrap;cursor:pointer}.report-tabs button[aria-pressed=true]{background:#0c0910;color:var(--ink);box-shadow:0 2px 8px #00000040}.report-period{display:flex;align-items:center;gap:8px;min-width:0}.report-period .month-picker{display:block;width:auto;flex:1 1 0;min-width:0}.report-period .month-picker>span{display:none}.report-period .month-trigger{min-height:42px;width:100%;gap:8px;white-space:nowrap;overflow:hidden}.report-period .month-trigger svg{flex:0 0 auto}.report-period-arrows{display:flex;flex:0 0 auto;gap:7px}.report-period-arrows button{display:grid;place-items:center;width:40px;height:40px;min-height:40px;padding:0;border-radius:50%}.report-period-arrows svg{width:17px;height:17px}.report-filter-toggle{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:8px 14px;border-radius:999px;white-space:nowrap}.report-filter-toggle.is-open{border-color:var(--gold);background:var(--gold-soft)}.report-filter-toggle svg{width:17px;height:17px}.report-filter-panel{display:grid;gap:12px;padding-top:13px;border-top:1px solid var(--line)}.report-filter-panel .filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.report-filter-panel label{display:flex;min-width:0;flex-direction:column;gap:6px;color:var(--muted);font-size:12px}.report-filter-panel input,.report-filter-panel select{width:100%;min-width:0;border:1px solid var(--line);border-radius:11px;padding:10px;background:#0c0910;color:var(--ink)}.finance-filters>label,.finance-filters .filter-grid label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted)}.finance-filters input{width:100%;min-width:0;border:1px solid var(--line);border-radius:11px;padding:10px;background:#0c0910;color:var(--ink)}.finance-date-range{grid-template-columns:1fr 1fr}.finance-filter-details{margin-top:13px;border-top:1px solid var(--line);padding-top:12px}.finance-filter-details summary{cursor:pointer;font-size:12px;color:#e06fa8;padding:6px 0}.finance-page .triple-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.finance-page .triple-summary span{min-width:0;text-align:center;align-items:center;padding:0 6px}.finance-page .triple-summary strong{font-size:clamp(13px,3.5vw,21px);overflow-wrap:anywhere;margin-top:6px}.finance-page:has(.transaction-tabs)>.search-line{order:1}.finance-page:has(.transaction-tabs)>.finance-filters{order:2}.finance-page:has(.transaction-tabs)>.transaction-tabs{order:3}.finance-page:has(.transaction-tabs)>.auth-loading,.finance-page:has(.transaction-tabs)>.notice-band{order:4}.finance-page:has(.transaction-tabs)>.transaction-summary{order:4}.finance-page:has(.transaction-tabs)>.transaction-list-section{order:5}.transaction-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;border-radius:18px;background:#1c1425}.transaction-tabs button{display:flex;min-width:0;min-height:44px;align-items:center;justify-content:center;gap:7px;padding:8px 10px;border:1px solid transparent;border-radius:14px;background:transparent;color:var(--muted);font:inherit;font-size:13px;cursor:pointer}.transaction-tabs button.active{border-color:var(--line);background:var(--paper);color:#e695bd;font-weight:700;box-shadow:0 2px 6px #00000048}.transaction-tabs button:focus-visible,.transaction-summary-footer button:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.transaction-summary{overflow:hidden;border:1px solid var(--line);border-radius:24px;background:var(--paper);box-shadow:var(--shadow)}.transaction-summary-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:18px 10px}.transaction-summary-stats>span{display:flex;min-width:0;flex-direction:column;align-items:center;gap:5px;padding:0 7px;color:var(--muted);font-size:12px;font-weight:700;text-align:center}.transaction-summary-stats>span+span{border-left:1px solid var(--line)}.transaction-summary-stats strong{max-width:100%;color:var(--muted);font-size:clamp(15px,3.8vw,24px);line-height:1.25;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.transaction-summary-stats strong.positive,.transaction-summary-footer strong.positive{color:var(--green)}.transaction-summary-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 16px;padding:12px 0;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.transaction-summary-footer>span{min-width:0}.transaction-summary-footer strong{white-space:nowrap}.transaction-summary-footer>.outlined-action{min-height:38px;flex-shrink:0;padding:7px 12px;border-radius:20px}@media(max-width:430px){.transaction-summary-footer{flex-wrap:wrap}}.month-picker{display:grid;gap:8px;width:100%;font-size:13px;color:var(--muted)}.month-trigger{width:100%;display:flex;align-items:center;justify-content:space-between}.month-trigger svg{flex:0 0 auto}.month-trigger-label{flex:1;min-width:0;text-align:left}.month-year{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0}.month-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.month-options button{min-width:0;padding:12px 4px;font-size:13px}.month-options button[aria-pressed=true]{background:var(--gold-soft);border-color:var(--gold)}.finance-row>strong{font-size:12px;max-width:44%;overflow-wrap:anywhere;white-space:normal;text-align:right}.finance-row .row-copy strong{overflow-wrap:anywhere;font-size:14px}.finance-row .row-copy strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.finance-row .row-copy small{line-height:1.6}.finance-row .transaction-category-label{font-weight:700}.finance-row .row-icon .category-icon-image{width:95%;height:95%}.finance-row .transaction-row-title{display:flex;align-items:center;gap:6px;min-width:0}.finance-row .transaction-row-title strong{flex:0 1 auto}.transaction-attachment-icon{display:inline-flex;flex:0 0 auto;align-items:center;color:#e06fa8;font-size:16px}.finance-page .quick-grid{grid-template-columns:repeat(3,1fr)}.finance-page .quick-action{font-size:12px}.finance-page .category-bars span{flex-wrap:wrap;gap:8px}.finance-entry .entry-tabs{margin-bottom:0;gap:5px}.finance-entry .entry-tabs button{padding:10px 6px;font-size:12px}.finance-entry .finance-amount{font-size:24px;font-weight:700;color:#e06fa8}.finance-entry .entry-keypad button{min-height:44px}.finance-entry .entry-extras label{grid-column:auto}.finance-entry-dialog{width:min(660px,100%);height:min(850px,94dvh);max-height:94dvh;padding:16px;display:flex;flex-direction:column;overflow:hidden}.finance-entry-dialog>h2{margin:2px 35px 8px;text-align:center;padding:0;flex-shrink:0}.finance-entry-dialog .sheet-close{top:16px;left:16px;right:auto}.finance-entry-dialog>.form-error{flex-shrink:0}.entry-reference-layout.form-preview{padding:0;display:flex;flex-direction:column;flex:1;gap:8px;min-height:0;overflow-y:auto}.entry-reference-layout .entry-tabs{padding:5px;background:#241a30;border:1px solid var(--line);border-radius:20px;flex-shrink:0}.entry-reference-layout .entry-tabs button{border:0;border-radius:15px;background:transparent;padding:8px 4px;display:flex;flex-direction:column;align-items:center;gap:4px;min-height:68px;font-size:13px;color:var(--muted)}.entry-reference-layout .entry-tabs button svg{width:29px;height:29px;color:var(--gold)}.entry-reference-layout .entry-tabs button.active{background:var(--paper);color:var(--ink);box-shadow:0 3px 9px #00000058;font-weight:700}.entry-category-picker{min-height:80px;overflow-y:auto;flex:1 1 auto}.entry-reference-layout:has(.entry-category-picker[data-reordering=true]) .entry-composer{display:none}.entry-category-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:7px;color:var(--muted);font-size:12px}.entry-category-heading .text-button{padding:5px 3px;font-size:12px}.entry-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:3px}.entry-category-card{min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--paper);transition:box-shadow .15s,border-color .15s}.entry-category-card.selected{border-color:var(--gold);background:var(--gold-soft);box-shadow:0 0 0 1px var(--gold)}.entry-category-card.dragging{opacity:.65;border-style:dashed;box-shadow:0 0 0 2px var(--gold)}.entry-category-select{width:100%;min-height:48px;border:0;border-radius:inherit;padding:5px;background:transparent;display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:5px;text-align:left;cursor:pointer;font-size:12px}.entry-category-select>span:last-child{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-category-icon{width:24px;height:24px;display:grid;place-items:center;flex-shrink:0;font-size:20px;border-radius:50%;background:#22182d}@media(hover:hover)and (pointer:fine){.entry-category-select:hover{background:#cdc2db77}}.entry-category-order{display:flex;border-top:1px solid var(--line);gap:2px;padding:3px}.entry-category-order button{min-height:36px;min-width:0;flex:1;border:0;border-radius:7px;background:#241a30;display:grid;place-items:center;cursor:pointer}@media(hover:hover)and (pointer:fine){.entry-category-order button:hover{background:var(--gold-soft)}}.entry-category-order button:active{background:#592b42}.entry-category-order .category-drag-handle{touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none}.entry-category-order .category-drag-handle:active{cursor:grabbing}.entry-category-order button:disabled,.entry-category-select:disabled{opacity:.45;cursor:default}.entry-dialog .category-reorder-help,.category-order-status{font-size:12px;color:var(--muted);margin:3px 0 6px}.category-order-status:empty{display:none}.entry-composer{flex-shrink:0;border-top:1px solid var(--line);padding-top:6px;background:#110c16}.entry-amount-wallet{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:end;margin-bottom:6px}.entry-amount-wallet>label{display:block;min-width:0;font-size:12px;line-height:1.25}.entry-fx-preview{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:0 6px;margin-top:0;color:var(--muted);font-size:12px;font-weight:500;font-variant-numeric:tabular-nums;line-height:1.2}.entry-fx-preview strong{color:var(--ink);font-size:inherit;white-space:nowrap}.entry-reference-layout .finance-amount{display:block;width:100%;border:0;background:transparent;border-radius:8px;padding:2px;min-height:36px;font-size:24px;line-height:1.1}.entry-reference-layout .finance-amount:focus-visible{outline:none}.entry-kind-expense .finance-amount{color:var(--danger)}.entry-kind-income .finance-amount{color:var(--success)}.entry-wallet-field select{font-size:12px;padding:8px;min-height:43px;background:#241a30}.wallet-choice-trigger{display:flex;align-items:center;gap:9px;width:100%;min-width:0;min-height:46px;padding:5px 9px;border:1px solid var(--line);border-radius:14px;background:#241a30;color:var(--ink);font:inherit;font-size:12px;text-align:left;cursor:pointer}.entry-wallet-field{display:grid;gap:5px;min-width:0}.entry-wallet-label{color:var(--muted);font-size:12px}.wallet-choice-trigger:focus-visible,.wallet-picker-option:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.wallet-choice-name{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wallet-choice-icon{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:var(--gold-soft);overflow:hidden}.wallet-choice-icon.liability{background:#21172b}.wallet-choice-icon .category-icon-image{display:block;width:92%;height:92%;object-fit:contain}.entry-dialog-backdrop:has(.wallet-picker-dialog){z-index:150;background:#30212ba8}.entry-dialog.wallet-picker-dialog{display:flex;flex-direction:column;width:min(540px,100%);max-height:min(720px,82dvh);overflow:hidden;padding:23px 18px}.wallet-picker-list{display:grid;gap:8px;min-height:0;margin-top:9px;overflow-y:auto;padding:2px 3px 4px}.wallet-picker-option{display:flex;align-items:center;gap:12px;width:100%;min-height:70px;padding:10px 13px;border:1px solid #1f1628;border-radius:18px;background:#0c0910;color:var(--ink);text-align:left;cursor:pointer}.wallet-picker-option.selected{border-color:#edc1d7;background:#edc1d7;color:#0e0a13}.wallet-picker-option.selected .wallet-choice-icon{background:#ffffff01}.wallet-picker-copy{display:grid;gap:3px;min-width:0;flex:1}.wallet-picker-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.wallet-picker-copy small{color:var(--muted);font-size:12px}.wallet-picker-option.selected .wallet-picker-copy small{color:#362647}.wallet-picker-option>svg{flex:0 0 auto;width:20px;height:20px}.wallet-picker-option:hover:not(.selected){border-color:var(--gold);background:#18111f}.entry-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.entry-keyboard{display:grid;grid-template-columns:minmax(0,3fr) minmax(92px,1fr);gap:8px}.entry-keyboard .entry-keypad{gap:6px}.entry-keyboard .entry-keypad button{min-height:47px;font-size:24px;background:#1d1527;cursor:pointer}.entry-keyboard .entry-keypad button:last-child{grid-column:auto}.entry-keyboard .entry-keypad button.operator{background:#342545}@media(hover:hover)and (pointer:fine){.entry-keyboard .entry-keypad button:hover{background:#482335}}.entry-keyboard .entry-keypad button:active{background:#602e47}.entry-quick-tools{display:grid;grid-template-rows:repeat(4,minmax(47px,1fr));gap:6px;min-width:0}.entry-quick-tools>button,.entry-date-tool{border:1px solid var(--line);border-radius:12px;background:var(--paper);display:flex;align-items:center;justify-content:center;gap:4px;min-width:0;font-size:12px;cursor:pointer;padding:4px}@media(hover:hover)and (pointer:fine){.entry-quick-tools>button:hover{background:var(--gold-soft)}}.entry-note-tool svg{flex-shrink:0}.entry-note-tool span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-quick-tools>button.entry-save{color:#fff;background:var(--brand-gradient)}.entry-quick-tools .entry-date-tool{position:relative;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:4px;white-space:nowrap;overflow:hidden}.entry-date-tool svg{flex:0 0 auto;width:16px;height:16px}.entry-date-tool span{min-width:0;font-size:12px;color:var(--ink);overflow:hidden;text-overflow:ellipsis}.entry-date-tool input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.entry-date-tool:focus-within{outline:2px solid var(--gold);outline-offset:2px}.entry-attachment-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:4px}.entry-attachment-row .text-button{padding:4px 2px;font-size:12px}.entry-vip-label{display:inline-flex;align-items:center;gap:3px;margin-left:3px;padding:2px 6px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:#2c1f3a;color:#ea84b7;font-size:12px;font-weight:800}.entry-vip-label svg{width:12px;height:12px}.entry-transfer-fields{display:grid;gap:10px}@media(max-width:699px){.entry-dialog.finance-entry-dialog{width:100%;padding:12px 12px max(12px,env(safe-area-inset-bottom));border-radius:26px 26px 0 0;max-height:96dvh}.entry-dialog-backdrop:has(.finance-entry-dialog){padding:8px 0 0;align-items:end}}@media(max-width:699px){.entry-dialog-backdrop:has(.wallet-picker-dialog){padding:16px;place-items:center}.entry-dialog.wallet-picker-dialog{width:100%;max-height:82dvh;padding:22px 16px;border-radius:24px}}@media(max-width:360px){.entry-category-grid{gap:5px}.entry-category-select{padding:5px;gap:4px;font-size:12px}.entry-category-icon{width:24px;font-size:20px}.entry-keyboard{grid-template-columns:minmax(0,3fr) 86px}}.finance-save{position:sticky;bottom:0;box-shadow:0 -8px 12px #110c16}.danger-button{background:#ce7060;color:#fff;border:0;border-radius:13px;padding:12px;cursor:pointer}.ledger-delete-area{margin-top:14px}.ledger-delete-trigger{display:flex;width:100%;align-items:center;justify-content:center;gap:8px}.ledger-delete-trigger svg{width:18px;height:18px}.ledger-delete-area small{display:block;margin-top:7px;color:var(--muted)}.warning-button{background:#492336;color:#f693c5;border:1px solid #c5397f;border-radius:13px;padding:12px;cursor:pointer;font-weight:700}.detail-receipt{width:100%;max-height:350px;object-fit:contain;border:1px solid var(--line);border-radius:12px;margin:15px 0}.detail-receipt-open{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.detail-receipt-open .detail-receipt{display:block}.entry-dialog-backdrop:has(.receipt-lightbox){z-index:160;padding:0;background:#e6d9e2}.entry-dialog.receipt-lightbox{display:flex;flex-direction:column;gap:12px;width:100%;height:100dvh;max-width:none;max-height:none;overflow:hidden;padding:max(70px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));border:0;border-radius:0;background:#e6d9e2;color:#0e0a13;box-shadow:none}.receipt-lightbox h2{color:inherit}.receipt-lightbox .sheet-close{z-index:1;width:48px;height:48px;color:#e6d9e2;background:#0e0a13}.receipt-lightbox .sheet-close svg{width:24px;height:24px;stroke-width:2.5}.receipt-lightbox .sheet-close:focus-visible{outline:3px solid #c94084;outline-offset:3px}.receipt-lightbox-controls{display:flex;align-items:center;justify-content:center;gap:10px;flex:none}.receipt-lightbox-controls button{min-width:44px;min-height:44px;padding:8px 12px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:#0e0a13;color:#edc1d7;font:inherit;font-size:20px;cursor:pointer}.receipt-lightbox-controls button:last-child{font-size:14px}.receipt-lightbox-controls button:disabled{opacity:.45;cursor:default}.receipt-lightbox-controls span{min-width:48px;text-align:center;font-variant-numeric:tabular-nums}.receipt-image-stage{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;display:flex;align-items:center;justify-content:center}.receipt-image-stage.is-zoomed{align-items:flex-start;justify-content:flex-start}.receipt-image-stage img{flex:none;object-fit:contain}.receipt-preview img{width:70px;height:70px}.row-icon.income{color:#8dc2a6;background:#182818}.row-icon.expense{color:#c36451;background:#1f162a}@media(max-width:480px){.finance-page .wallet-total{padding:22px}.finance-page .wallet-total strong{font-size:28px;overflow-wrap:anywhere}.finance-page .quick-action{padding:12px 6px}.entry-dialog{padding:21px}}@media(max-width:390px){.report-period{gap:6px}.report-period-arrows{gap:4px}.report-period-arrows button{width:34px;height:34px;min-height:34px}.report-filter-toggle{padding:8px 10px}.report-period .month-trigger{padding:10px 11px;font-size:12px}}@media(max-width:650px){.auth-language-guide{top:calc(env(safe-area-inset-top) + 68px);left:16px;width:calc(100vw - 32px);max-height:calc(100dvh - env(safe-area-inset-top) - 88px)}}@media(max-width:430px){.login-screen{padding:16px}.login-card{padding:23px;margin-top:30px}.brand-mark{font-size:18px}.entry-amount input{font-size:28px}}.line-panel{padding:24px;display:grid;gap:16px}.line-panel h2,.line-panel p{margin:0}.line-code{padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--goldSoft);overflow-wrap:anywhere}.line-code code{font-family:inherit}.line-ledger{display:grid;gap:8px}.line-ledger select{width:100%;min-height:44px;font:inherit;border:1px solid var(--line);border-radius:12px;padding:8px;background:var(--surface);color:var(--ink)}.line-toggle{display:flex;gap:12px;align-items:flex-start;cursor:pointer}.line-toggle input{width:22px;height:22px;flex-shrink:0;accent-color:var(--gold);margin:3px 0}.line-toggle span{display:grid;gap:6px}.line-toggle small{color:var(--muted);line-height:1.6}.line-panel code{font-family:inherit}.backup-panel{display:grid;gap:16px;padding:24px}.backup-panel h2,.backup-panel p{margin:0}.backup-panel label{display:grid;gap:8px;min-width:0}.backup-panel input,.backup-panel select{width:100%;min-width:0;min-height:44px;padding:10px;font:inherit;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}.backup-page .backup-panel{gap:14px;padding:20px}.backup-page .backup-panel h2{font-size:18px;line-height:1.45}.backup-page .backup-panel>p:not(.notice-band):not(.auth-success):not(.auth-error){font-size:13px;line-height:1.65}.backup-page .backup-panel label{font-size:14px;line-height:1.5}.backup-page .backup-panel input,.backup-page .backup-panel select{font-size:14px}.backup-page .backup-panel>.outlined-action{min-height:46px;font-size:14px}.backup-filename{overflow-wrap:anywhere}.backup-review{border-top:1px solid var(--line);padding-top:16px;display:grid;gap:12px}.backup-review ul{max-height:200px;overflow:auto;margin:0;padding-inline-start:20px}.drive-panel h2{display:flex;align-items:center;gap:8px}.drive-panel h2 svg{flex-shrink:0}.entry-dialog.drive-connect-dialog{width:min(440px,100%);padding:24px}.drive-connect-dialog>h2{margin:0 40px 14px 0;padding:0;font-size:18px;line-height:1.4}.drive-connect-dialog .drive-connect-copy{margin:0 0 18px;padding:12px 14px;border-inline-start:3px solid var(--gold);border-radius:12px;background:#1c1425;line-height:1.7}.drive-connect-actions{display:grid;grid-template-columns:minmax(76px,.55fr) minmax(0,1.45fr);gap:10px;align-items:stretch;margin-top:18px}.drive-connect-actions .outlined-action{min-width:0;min-height:48px;margin:0;padding:8px 12px;border-radius:14px;box-shadow:none;line-height:1.45;text-align:center}.drive-connect-actions .drive-connect-back{border-color:var(--line);background:transparent}.drive-connect-actions .drive-connect-primary{border-color:#e16da7;background:var(--brand-gradient);color:#fff}.drive-connect-actions .drive-connect-primary svg{flex:none}@media(hover:hover)and (pointer:fine){.drive-connect-actions .outlined-action:hover{border-color:#ffffff24}.drive-connect-actions .drive-connect-primary:hover{background:var(--brand-gradient);filter:brightness(1.12)}}.drive-connect-actions .outlined-action:focus-visible{outline:3px solid #e16da7;outline-offset:3px}.drive-job{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:16px;min-width:0}.drive-job small{color:var(--muted)}.drive-job a{text-align:center;text-decoration:none}.google-login{display:grid;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);margin-bottom:16px}.google-login button{width:100%}.google-login p{font-size:12px;line-height:1.6;margin:0;color:var(--muted)}.drive-panel{gap:12px;padding:20px}.drive-panel>h2{margin:0;font-size:18px;line-height:1.4}.drive-panel>p:not(.notice-band):not(.auth-success):not(.auth-error){color:var(--muted);font-size:13px;line-height:1.65}.drive-panel>.notice-band,.drive-panel>.auth-success,.drive-panel>.auth-error{margin:0;padding:11px 14px;border-radius:14px;font-size:12px;line-height:1.65}.drive-panel>.backup-filename{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#0d0911b8;font-size:13px;line-height:1.6}.drive-panel>.outlined-action{min-height:48px;padding:9px 14px;border-radius:14px;font-size:14px;box-shadow:0 3px 10px #00000034}.drive-panel>.text-button{min-height:40px;justify-content:center;padding:8px 12px;border-radius:12px}.drive-panel .backup-review{gap:10px}.drive-panel .backup-review h3{margin:0;font-size:16px;line-height:1.5}.drive-panel .backup-review>p{font-size:12px;line-height:1.65}@media(max-width:480px){.backup-page .backup-panel{gap:12px;padding:16px}.backup-page .backup-panel h2{font-size:16px}.backup-page .backup-panel>p:not(.notice-band):not(.auth-success):not(.auth-error){font-size:12px}.backup-page .backup-panel label,.backup-page .backup-panel input,.backup-page .backup-panel select{font-size:13px}.drive-panel{gap:10px;padding:16px;border-radius:20px}.drive-panel>h2{font-size:16px}.drive-panel>p:not(.notice-band):not(.auth-success):not(.auth-error){font-size:12px}.entry-dialog.drive-connect-dialog{padding:21px}.drive-connect-actions{grid-template-columns:minmax(64px,.52fr) minmax(0,1.48fr);gap:8px}.drive-connect-actions .outlined-action{padding-inline:8px;font-size:12px}}.vip-pill.vip-hint{background:transparent;color:var(--muted);border:1px dashed var(--line);font-weight:700}.skeleton-stack{display:grid;gap:12px;width:100%}.skeleton{display:block;border-radius:18px;background:linear-gradient(100deg,#ffffff0d 30%,#ffffff1c,#ffffff0d 70%);background-size:220% 100%;animation:skeleton-shimmer 1.4s linear infinite}.skeleton-hero{height:132px;border-radius:24px}.skeleton-row{height:58px}@keyframes skeleton-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}.start-steps{list-style:none;margin:0;padding:0;display:grid;gap:10px}.start-steps li{display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:var(--muted);font-size:14px}.start-steps li>svg{flex:none;width:22px;height:22px}.start-steps li>span{flex:1;min-width:0}.start-steps li.done{color:var(--ink)}.start-steps li.done>svg{color:var(--green)}.start-steps .outlined-action{flex:none;padding:8px 12px;font-size:13px}.line-nudge{display:flex;align-items:center;gap:10px;font-size:14px}.line-nudge>svg{flex:none;width:24px;height:24px;color:var(--brand-soft)}.line-nudge>span{flex:1;min-width:0;color:var(--muted)}.empty-state{display:grid;gap:12px;justify-items:start}.start-card{padding-bottom:20px}.start-steps li{min-height:44px}.comparison-card-title{display:inline-flex;align-items:center;gap:6px}.direction-badge{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;font-style:normal}.direction-badge svg{width:12px;height:12px}.comparison-card.income .direction-badge{color:var(--green);background:#4fd1a529}.comparison-card.expense .direction-badge{color:var(--coral);background:#ff7a9329}.month-summary-line{display:flex;align-items:center;gap:8px;margin:0;font-size:13px;color:var(--muted)}.month-summary-line svg{flex:none;width:18px;height:18px;color:var(--brand-soft)}.hide-balance .wallet-total strong,.hide-balance .comparison-card>strong,.hide-balance .balance-card strong,.hide-balance .ledger-hero strong,.hide-balance .report-hero strong,.hide-balance .transaction-summary-stats strong,.hide-balance .transaction-amount{filter:blur(9px);-webkit-user-select:none;user-select:none}.donut-wrap{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:14px}.donut{width:140px;height:140px;flex:none}.donut-total{fill:var(--ink);font-size:16px;font-weight:800}.donut-legend{list-style:none;margin:0;padding:0;display:grid;gap:6px;flex:1;min-width:140px;font-size:13px}.donut-legend li{display:flex;align-items:center;gap:8px;color:var(--muted)}.donut-legend li>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.donut-legend i{width:10px;height:10px;border-radius:50%;flex:none}.donut-legend strong{color:var(--ink)}.budget-list{display:grid;gap:14px}.budget-head,.budget-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px}.budget-head span,.budget-foot small{color:var(--muted)}.budget-bar{height:8px;margin:6px 0;border-radius:99px;background:#ffffff14;overflow:hidden}.budget-bar i{display:block;height:100%;border-radius:inherit;background:var(--brand-gradient)}.budget-item.warn .budget-bar i{background:#ffb86b}.budget-item.over .budget-bar i{background:var(--coral)}.budget-item.over .budget-foot small{color:var(--coral)}.budget-form{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.budget-form select,.budget-form input{min-width:0;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--paper-2);color:var(--ink);font:inherit}.budget-foot>span{display:inline-flex;gap:12px;flex:none;white-space:nowrap}.budget-foot .text-button{white-space:nowrap}.hide-balance .donut-total,.hide-balance .budget-head span,.hide-balance .budget-foot small,.hide-balance .category-bars span strong,.hide-balance .category-order-row strong,.hide-balance .monthly-report-table td{filter:blur(7px);-webkit-user-select:none;user-select:none}.goal-form{grid-template-columns:1fr}.goal-form-actions{display:flex;gap:8px}.goal-item.done .budget-bar i{background:var(--green)}.goal-item.done .budget-foot small{color:var(--green)}.hide-balance .goal-item .budget-head span,.hide-balance .goal-item .budget-foot small,.hide-balance .asset-item-amounts,.hide-balance .wallet-overview-card strong{filter:blur(7px);-webkit-user-select:none;user-select:none}.nav-item{font-size:11px;font-weight:700}.nav-item.active{font-weight:700}.side-nav .nav-item{font-size:14px}.budget-foot small,.goal-item .budget-foot small,.row-copy small,.preview-row small{font-size:12px}.wallet-create-field input:focus,.wallet-create-field select:focus,.wallet-create-sheet :is(input,select):focus-visible{outline:none;border-color:var(--brand-soft);box-shadow:0 0 0 3px #ff2d9538}.danger-button{background:#ff7a931a;color:var(--coral);border:1px solid rgba(255,122,147,.45);font-weight:700;transition:background .15s}.danger-button:hover{background:#ff7a932e}.danger-button:focus-visible{outline:3px solid rgba(255,122,147,.5);outline-offset:2px}.entry-category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.entry-category-select{min-height:92px;padding:10px 6px 8px;flex-direction:column;justify-content:flex-start;align-items:center;gap:6px;text-align:center;font-size:13px;line-height:1.3}.entry-category-select>span:last-child{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;overflow:hidden;text-overflow:clip;overflow-wrap:anywhere;width:100%}.entry-category-icon,.entry-category-icon .category-icon-image{width:44px;height:44px}@media(max-width:360px){.entry-category-select{min-height:86px;padding:8px 4px 6px;gap:5px;font-size:12px}.entry-category-icon,.entry-category-icon .category-icon-image{width:40px;height:40px}}.rate-source-note{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#ffffff0a;color:var(--muted);font-size:13px}.rate-source-note .text-button{white-space:nowrap;font-size:13px}.rate-central{display:block;margin-top:6px;color:var(--muted);font-size:12px}.ledger-list-row>.icon-button,.asset-controls>.icon-button{border-color:transparent;background:transparent;box-shadow:none;color:var(--muted)}@media(hover:hover)and (pointer:fine){.ledger-list-row>.icon-button:hover:not(:disabled),.asset-controls>.icon-button:hover:not(:disabled){background:#ffffff14;color:var(--ink)}}.ledger-list-row>.icon-button:active:not(:disabled),.asset-controls>.icon-button:active:not(:disabled){background:#ffffff1f;color:var(--ink)}.auth-success{background:#1b1324;border-color:#ffffff24;color:var(--ink)}.auth-success:before{content:"";display:inline-block;width:8px;height:8px;margin-inline-end:10px;border-radius:50%;background:var(--success);vertical-align:1px}
