@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+Thai:wght@400;500;600;700&family=Manrope:wght@500;600;700&display=swap";.account-detail-actions[data-v-453afec2]{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.account-name-note[data-v-453afec2]{margin:0;padding:11px 13px;border-radius:10px;background:color-mix(in srgb,var(--primary) 8%,var(--surface));color:var(--muted);font-size:11px;line-height:1.55}.account-backup-error[data-v-453afec2]{margin:-20px 0 20px auto;max-width:430px}.account-confirmations[data-v-453afec2]{margin-bottom:20px}.confirmation-head[data-v-453afec2]{display:flex;align-items:center;justify-content:space-between;gap:20px}.confirmation-head h2[data-v-453afec2]{margin:3px 0 2px;font-size:19px}.confirmation-head small[data-v-453afec2],.confirmation-loading[data-v-453afec2]{color:var(--muted);font-size:12px}.confirmation-loading[data-v-453afec2]{padding:30px 0 5px;text-align:center}.confirmation-history[data-v-453afec2]{display:grid;margin-top:20px;border-top:1px solid var(--line)}.confirmation-history article[data-v-453afec2]{display:grid;grid-template-columns:34px minmax(150px,1.5fr) 1fr 1fr auto;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}.confirmation-history article[data-v-453afec2]:last-child{border-bottom:0;padding-bottom:0}.confirmation-history strong[data-v-453afec2],.confirmation-history small[data-v-453afec2]{display:block}.confirmation-history small[data-v-453afec2]{color:var(--muted);font-size:11px}.confirmation-history b[data-v-453afec2]{min-width:92px;text-align:right;font-family:Manrope,sans-serif;font-size:13px}.confirmation-history b.matched[data-v-453afec2]{color:var(--income)}.confirmation-history b.mismatch[data-v-453afec2]{color:var(--danger)}.confirmation-status[data-v-453afec2]{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e1f3ee;color:var(--income);font-weight:800}.confirmation-status.mismatch[data-v-453afec2]{background:#fff0ed;color:var(--danger)}@media(max-width:460px){.account-detail-actions[data-v-453afec2]{display:grid;grid-template-columns:1fr;width:100%}.account-detail-actions[data-v-453afec2]>*{width:100%}}@media(max-width:760px){.confirmation-head[data-v-453afec2]{align-items:stretch;flex-direction:column}.confirmation-history article[data-v-453afec2]{grid-template-columns:34px 1fr auto}.confirmation-history article>div[data-v-453afec2]:nth-child(3),.confirmation-history article>div[data-v-453afec2]:nth-child(4){display:none}}:root{font-family:IBM Plex Sans Thai,system-ui,sans-serif;color:#16302d;background:#f3f7f5;font-synthesis:none;--ink:#16302d;--muted:#6b7f7b;--primary:#0f766e;--primary-dark:#0a5d57;--line:#dfe9e5;--surface:#fff;--danger:#d95c4f;--income:#16866f;--shadow:0 16px 50px rgba(27,64,58,.08)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button,a{transition:.18s ease}button{cursor:pointer}a{color:inherit;text-decoration:none}.shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;padding:28px 20px;background:#f9fbfa;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:11px;font-family:Manrope,sans-serif;font-size:20px;font-weight:700;letter-spacing:-.5px}.brand-mark{width:35px;height:35px;display:grid;place-items:center;color:#fff;background:var(--primary);border-radius:11px;font-size:18px}.sidebar nav{display:grid;gap:7px;margin-top:54px}.sidebar nav a{display:flex;align-items:center;gap:13px;padding:12px 14px;border-radius:10px;color:#5c716d;font-weight:500}.sidebar nav a span{font-size:18px;width:22px;text-align:center}.sidebar nav a:hover,.sidebar nav a.router-link-active{background:#e4f1ed;color:#075f58}.profile{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;min-width:0}.profile div:nth-child(2){min-width:0}.profile strong,.profile small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile strong{font-size:13px}.profile small{color:var(--muted);font-size:11px}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#d5ebe5;color:var(--primary-dark);font-weight:700}.main{margin-left:248px;padding:48px clamp(24px,5vw,72px) 72px;max-width:1600px}.bottom-nav{display:none}.page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:34px}.page-header h1{font-family:Manrope,IBM Plex Sans Thai,sans-serif;font-size:clamp(30px,3.2vw,42px);letter-spacing:-1.4px;line-height:1.15;margin:3px 0 8px}.page-header>div>p:last-child{margin:0;color:var(--muted)}.eyebrow{margin:0;color:var(--primary);font-weight:700;font-size:12px;letter-spacing:1.5px;text-transform:uppercase}.primary,.secondary{border:0;border-radius:10px;padding:11px 17px;font-weight:600;display:inline-flex;justify-content:center;align-items:center;gap:6px}.primary{background:var(--primary);color:#fff;box-shadow:0 5px 15px #0f766e2e}.primary:hover{background:var(--primary-dark);transform:translateY(-1px)}.primary:disabled{opacity:.55;cursor:not-allowed;transform:none}.secondary{background:#eef3f1;color:var(--ink)}.full{width:100%;padding:13px}.metric-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:18px;margin-bottom:20px}.metric{background:var(--surface);border:1px solid var(--line);border-radius:17px;padding:25px;min-height:155px;display:flex;flex-direction:column;box-shadow:var(--shadow)}.metric span{font-size:13px;color:var(--muted);font-weight:500}.metric strong{font-family:Manrope,sans-serif;font-size:clamp(23px,2.4vw,34px);letter-spacing:-1px;margin:auto 0 5px}.metric small{color:#8a9996}.metric.featured{background:linear-gradient(135deg,#0c6f67,#0b8176);color:#fff;border:0;position:relative;overflow:hidden}.metric.featured:after{content:"";position:absolute;width:160px;height:160px;border:35px solid rgba(255,255,255,.06);border-radius:50%;right:-55px;top:-55px}.metric.featured span,.metric.featured small{color:#c7e5df}.metric.income strong,.income{color:var(--income)}.metric.expense strong,.expense{color:var(--danger)}.dashboard-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:20px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow);padding:25px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.panel-head h2{margin:3px 0 0;font-family:Manrope,IBM Plex Sans Thai;font-size:19px;letter-spacing:-.4px}.panel-head>a,.text-link{font-weight:600;color:var(--primary);font-size:13px;background:none;border:0;padding:0}.transaction-list{display:grid}.transaction-row{display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #edf2f0}.transaction-row:last-child{border:0}.category-dot{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-weight:700;background:#fff0ed;color:var(--danger)}.category-dot.income{background:#e1f3ee;color:var(--income)}.transaction-row strong,.transaction-row small{display:block}.transaction-row strong{font-size:14px}.transaction-row small{font-size:12px;color:var(--muted);margin-top:2px}.transaction-row b{font-family:Manrope;font-size:13px}.bars{display:grid;gap:17px}.bars>div>div:first-child{display:flex;justify-content:space-between;font-size:13px;margin-bottom:7px}.bars strong{font-family:Manrope}.bar{height:7px;border-radius:10px;background:#eef3f1;overflow:hidden}.bar i{display:block;height:100%;border-radius:10px;background:hsl(calc(168 + var(--index)*22),50%,45%)}.empty{text-align:center;padding:38px 10px;color:var(--muted)}.empty-icon{margin:0 auto 12px;width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:#e9f3f0;color:var(--primary);font-size:22px}.empty h3{margin:0 0 5px;color:var(--ink);font-size:16px}.empty p{margin:0 auto 12px;font-size:13px;max-width:300px}.loading-card{padding:45px;text-align:center;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:17px}.table-panel{padding:0;overflow:hidden}.table-title,.table-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 32px;gap:16px;align-items:center;padding:14px 24px}.table-title{background:#f8faf9;color:var(--muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.6px}.table-row{border-top:1px solid #edf2f0;font-size:13px}.transaction-name{display:flex;align-items:center;gap:12px;min-width:0}.transaction-name strong,.transaction-name small{display:block}.transaction-name strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transaction-name small{color:var(--muted);margin-top:2px}.table-row>b{text-align:right;font-family:Manrope}.icon-button{border:0;background:none;color:var(--muted);font-size:19px;padding:5px;border-radius:8px}.icon-button:hover{background:#e8efed}.icon-button.danger:hover{background:#fff0ed;color:var(--danger)}.account-grid{display:grid;grid-template-columns:repeat(3,minmax(230px,1fr));gap:18px}.account-card{min-height:225px;padding:24px;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);display:flex;flex-direction:column}.account-card:nth-child(3n+1){border-top:4px solid #138178}.account-card:nth-child(3n+2){border-top:4px solid #d49751}.account-card:nth-child(3n){border-top:4px solid #6575a8}.account-top{display:flex;justify-content:space-between}.account-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#e5f2ef;color:var(--primary);font-size:20px}.account-card>div:nth-child(2){margin:auto 0 8px}.account-card small{color:var(--muted)}.account-card h2{font-size:17px;margin:2px 0}.account-card>strong{font-family:Manrope;font-size:26px}.account-card>p{margin:5px 0 0;color:var(--muted);font-size:11px}.category-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.count{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#eef3f1;font-size:12px}.category-list{display:grid}.category-list>div{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:12px;padding:13px 4px;border-top:1px solid #edf2f0;font-size:14px}.category-list i{width:10px;height:10px;border-radius:50%}.category-list small{color:var(--muted)}.modal-backdrop{position:fixed;inset:0;background:#0c242175;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:20px;z-index:50}.modal{width:min(500px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:19px;box-shadow:0 30px 80px #0a282440;animation:pop .18s ease}.modal>header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line)}.modal h2{font-size:19px;margin:0}.form-grid{display:grid;gap:17px;padding:24px}.form-grid label,.auth-form label{display:grid;gap:6px;font-size:13px;font-weight:600}.form-grid input,.form-grid select,.auth-form input{width:100%;border:1px solid #ccd9d5;border-radius:9px;padding:11px 12px;background:#fff;color:var(--ink);outline:none}.form-grid input:focus,.form-grid select:focus,.auth-form input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0f766e1a}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:6px}.segmented{display:grid;grid-template-columns:1fr 1fr;background:#eef3f1;border-radius:10px;padding:4px}.segmented button{border:0;background:none;padding:9px;border-radius:7px;color:var(--muted);font-weight:600}.segmented button.active{background:#fff;color:var(--primary);box-shadow:0 2px 8px #14322d1a}.form-error{padding:9px 11px;margin:0;border-radius:8px;color:#a53e34;background:#fff0ed;font-size:12px}.color-input{display:flex;align-items:center;gap:10px}.color-input input{width:50px;padding:3px;height:38px}.auth-page{min-height:100vh;display:grid;grid-template-columns:1.08fr .92fr;background:#fff}.auth-story{background:linear-gradient(145deg,#0a615b,#0c7d73);color:#fff;padding:clamp(30px,5vw,70px);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.auth-story:before,.auth-story:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.11);border-radius:50%}.auth-story:before{width:550px;height:550px;right:-260px;bottom:-220px}.auth-story:after{width:350px;height:350px;right:-160px;bottom:-110px}.auth-story .brand{position:relative;z-index:1}.auth-story .brand-mark{background:#fff;color:var(--primary)}.auth-story>div:nth-child(2){position:relative;z-index:1;max-width:620px}.auth-story h1{font-family:Manrope,IBM Plex Sans Thai;font-size:clamp(38px,5.4vw,70px);line-height:1.08;letter-spacing:-3px;margin:12px 0 22px}.auth-story h1 em{font-style:normal;color:#8ed6ca}.auth-story>div:nth-child(2)>p:last-child{color:#c5e3de;max-width:470px;font-size:17px;line-height:1.7}.auth-story .eyebrow{color:#8ed6ca}.quote-card{position:relative;z-index:1;display:flex;gap:12px;align-items:center;color:#d5eae6}.quote-card span{font-family:serif;font-size:35px;color:#8ed6ca}.quote-card p{margin:0}.auth-form-wrap{display:grid;place-items:center;padding:35px}.auth-form{width:min(390px,100%);display:grid;gap:20px}.auth-form h2{font-family:Manrope,IBM Plex Sans Thai;font-size:32px;letter-spacing:-1px;margin:3px 0 6px}.auth-form>div:first-child>p:last-child{color:var(--muted);margin:0}.switch{text-align:center;color:var(--muted);font-size:13px;margin:0}.switch button{border:0;background:none;color:var(--primary);font-weight:600}.auth-form .eyebrow{margin-bottom:3px}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.98)}}@media(max-width:1050px){.metric-grid{grid-template-columns:1fr 1fr}.metric.featured{grid-column:1/-1}.dashboard-grid{grid-template-columns:1fr}.account-grid{grid-template-columns:repeat(2,1fr)}.auth-story h1{letter-spacing:-2px}}@media(max-width:760px){.sidebar{display:none}.main{margin:0;padding:28px 16px 92px}.bottom-nav{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);inset:auto 0 0;background:#fffffff0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);z-index:20;padding:7px 4px max(7px,env(safe-area-inset-bottom))}.bottom-nav a{display:grid;place-items:center;gap:1px;color:var(--muted)}.bottom-nav a span{font-size:19px}.bottom-nav a small{font-size:10px}.bottom-nav a.router-link-active{color:var(--primary)}.page-header{align-items:flex-start}.page-header h1{font-size:30px}.metric-grid{grid-template-columns:1fr 1fr;gap:10px}.metric{min-height:135px;padding:19px}.metric.featured{grid-column:1/-1}.metric strong{font-size:21px}.panel{padding:18px}.table-panel{padding:0}.table-title{display:none}.table-row{grid-template-columns:1fr auto 25px;padding:14px 16px;gap:8px}.table-row>span{display:none}.table-row>b{font-size:12px}.account-grid,.category-columns{grid-template-columns:1fr}.account-card{min-height:200px}.auth-page{grid-template-columns:1fr}.auth-story{display:none}.auth-form-wrap{padding:28px 20px;min-height:100vh}.modal-backdrop{place-items:end center;padding:0}.modal{width:100%;border-radius:20px 20px 0 0;max-height:92vh}.form-grid{padding:20px}}@media(max-width:430px){.page-header{display:grid}.page-header>.primary,.page-header>button{width:100%}.metric-grid{grid-template-columns:1fr}.metric.featured{grid-column:auto}.metric{min-height:125px}.metric strong{margin:20px 0 5px}.dashboard-grid{gap:12px}}.admin-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.admin-metrics article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:21px;box-shadow:var(--shadow);display:grid;gap:6px}.admin-metrics span,.admin-metrics small{color:var(--muted);font-size:12px}.admin-metrics strong{font-family:Manrope,sans-serif;font-size:28px;color:var(--primary)}.admin-users{padding:0;overflow:hidden}.admin-users .panel-head,.admin-users>.form-error{margin:0;padding:22px 24px}.admin-users>.form-error{margin:0 24px 16px}.admin-user-head,.admin-user-row{display:grid;grid-template-columns:2fr .75fr 1fr .75fr;gap:16px;align-items:center;padding:13px 24px}.admin-user-head{background:#f8faf9;color:var(--muted);font-size:11px;font-weight:600;text-transform:uppercase}.admin-user-row{border-top:1px solid #edf2f0;font-size:13px}.admin-user-row.disabled{opacity:.6}.admin-user-row>div:first-child{display:flex;gap:11px;align-items:center;min-width:0}.admin-user-row strong,.admin-user-row small{display:block}.admin-user-row small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar.small{width:36px;height:36px;flex:0 0 36px}.admin-user-row select{border:1px solid var(--line);border-radius:8px;padding:7px;background:#fff}.user-usage{color:var(--muted)}.status-button{border:0;border-radius:999px;padding:7px 10px;background:#fff0ed;color:var(--danger);font-size:11px;font-weight:700}.status-button.active{background:#e1f3ee;color:var(--income)}.admin-system-settings{margin-bottom:20px;display:grid;grid-template-columns:minmax(260px,.85fr) minmax(320px,1.15fr);gap:30px;align-items:center}.admin-settings-copy{display:flex;gap:14px;align-items:flex-start}.admin-settings-copy h2{margin:4px 0 5px;font-family:Manrope,IBM Plex Sans Thai;font-size:19px}.admin-settings-copy p:last-child{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.admin-settings-icon{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;border-radius:14px;background:#e1f3ee;color:var(--primary);font-size:19px}.admin-contact-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.admin-contact-form label{display:grid;gap:6px;font-size:12px;font-weight:700}.admin-contact-form input{width:100%;border:1px solid #ccd9d5;border-radius:10px;padding:11px 12px;background:#fff;color:var(--ink);outline:none}.admin-contact-form input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0f766e1a}.admin-contact-form .form-success,.admin-contact-form .form-error{grid-column:1/-1}.admin-contact-form .primary{min-height:43px}@media(max-width:1050px){.admin-metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.bottom-nav{grid-template-columns:repeat(auto-fit,minmax(55px,1fr))}.admin-user-head{display:none}.admin-user-row{grid-template-columns:1fr auto;gap:10px;padding:15px 18px}.admin-user-row>select{grid-column:2}.user-usage{grid-column:1}.status-button{grid-column:2}.admin-metrics{gap:10px}.admin-metrics article{padding:16px}.admin-metrics strong{font-size:23px}.admin-system-settings{grid-template-columns:1fr;gap:20px}.admin-contact-form{grid-template-columns:1fr}.admin-contact-form .primary{width:100%}}.mobile-menu-backdrop{display:none}.sidebar-nav-group{display:grid;gap:4px}.sidebar-nav-group-toggle{width:100%;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:13px;padding:12px 14px;border:0;border-radius:10px;background:transparent;color:#5c716d;text-align:left;font-weight:500}.sidebar-nav-group-toggle>span{width:22px;text-align:center;font-size:18px}.sidebar-nav-group-toggle:hover,.sidebar-nav-group.active>.sidebar-nav-group-toggle{background:#e4f1ed;color:#075f58}.sidebar-nav-chevron{font-size:11px;transition:transform .18s ease}.sidebar-nav-group.open .sidebar-nav-chevron{transform:rotate(180deg)}.sidebar-nav-submenu{display:grid;gap:3px;padding:1px 0 3px 23px}.sidebar nav .sidebar-nav-submenu a{gap:10px;padding:9px 11px;font-size:13px}.sidebar nav .sidebar-nav-submenu a span{width:19px;font-size:14px}@media(max-width:760px){.bottom-nav{grid-template-columns:repeat(4,minmax(0,1fr));padding:7px 8px max(7px,env(safe-area-inset-bottom));box-shadow:0 -10px 30px #14322d14}.bottom-nav.has-admin{grid-template-columns:repeat(5,minmax(0,1fr))}.bottom-nav a,.bottom-nav button{min-width:0;border:0;background:transparent;display:grid;place-items:center;gap:1px;padding:2px;color:var(--muted)}.bottom-nav a span,.bottom-nav button span{font-size:19px;line-height:1.25}.bottom-nav a small,.bottom-nav button small{max-width:100%;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bottom-nav a.router-link-active,.bottom-nav button.active{color:var(--primary)}.mobile-menu-backdrop{position:fixed;inset:0;z-index:40;display:flex;align-items:flex-end;background:#0c24216b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.mobile-menu-sheet{width:100%;padding:20px 18px calc(86px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;background:#fff;box-shadow:0 -20px 50px #0c24212e}.mobile-menu-sheet>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.mobile-menu-sheet h2{margin:2px 0 0;font-size:22px}.mobile-menu-sheet nav{display:grid;gap:8px}.mobile-menu-sheet nav a{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#f9fbfa}.mobile-menu-sheet nav a>span{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#e5f2ef;color:var(--primary);font-size:19px}.mobile-menu-sheet nav a strong,.mobile-menu-sheet nav a small{display:block}.mobile-menu-sheet nav a small{margin-top:2px;color:var(--muted);font-size:11px}.mobile-menu-sheet nav a>b{color:var(--muted);font-size:22px}.mobile-sheet-enter-active,.mobile-sheet-leave-active{transition:opacity .18s ease}.mobile-sheet-enter-active .mobile-menu-sheet,.mobile-sheet-leave-active .mobile-menu-sheet{transition:transform .18s ease}.mobile-sheet-enter-from,.mobile-sheet-leave-to{opacity:0}.mobile-sheet-enter-from .mobile-menu-sheet,.mobile-sheet-leave-to .mobile-menu-sheet{transform:translateY(24px)}}.slip-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:20px;align-items:start}.slip-form-panel{padding:0}.slip-form-panel .panel-head{padding:24px 24px 0}.slip-form{padding-top:4px}.dropzone{position:relative;min-height:210px;border:2px dashed #b8d2cc;border-radius:15px;background:#f7fbfa;display:flex!important;align-items:center;justify-content:center;gap:5px!important;text-align:center;padding:24px;cursor:pointer;overflow:hidden;transition:.2s}.dropzone:hover,.dropzone.active{border-color:var(--primary);background:#edf7f4}.dropzone.selected{border-style:solid;background:#f0f8f6}.dropzone.image-selected{min-height:420px;padding:10px;background:#edf5f3}.dropzone input{position:absolute;opacity:0;pointer-events:none;width:1px!important;height:1px}.dropzone strong,.dropzone small{display:block}.dropzone small{color:var(--muted);font-weight:400}.drop-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:#dceee9;color:var(--primary);font-size:25px;margin-bottom:7px}.slip-image-preview{display:block;width:100%;height:400px;object-fit:contain;border-radius:10px}.preview-change{position:absolute;left:50%;bottom:20px;transform:translate(-50%,8px);padding:8px 13px;border-radius:999px;background:#0a2a26d1;color:#fff;font-size:12px;font-weight:700;white-space:nowrap;opacity:0;transition:.2s}.dropzone.image-selected:hover .preview-change,.dropzone.image-selected.active .preview-change{opacity:1;transform:translate(-50%)}.privacy-note{display:flex;gap:11px;padding:12px;border-radius:10px;background:#f0f6f4;color:var(--primary)}.privacy-note>span{font-size:20px}.privacy-note p{margin:0}.privacy-note strong,.privacy-note small{display:block}.privacy-note small{color:var(--muted);margin-top:2px}.slip-result-panel{min-height:520px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.slip-preview-empty>span{display:grid;place-items:center;width:72px;height:72px;margin:auto;border-radius:22px;background:#e8f3f0;color:var(--primary);font-size:34px}.slip-preview-empty h3{margin:18px 0 5px}.slip-preview-empty p{max-width:310px;color:var(--muted);font-size:13px;line-height:1.6}.result-badge{padding:6px 11px;border-radius:999px;background:#e1f3ee;color:var(--income);font-size:11px;font-weight:700}.result-badge.duplicate{background:#fff3dd;color:#a76710}.result-check{display:grid;place-items:center;width:66px;height:66px;margin:22px 0 12px;border-radius:50%;background:#e1f3ee;color:var(--income);font-size:30px}.result-check+h2{margin:0;font-size:18px}.result-amount{font-family:Manrope;font-size:34px;margin:8px 0 18px}.slip-result-panel dl{width:100%;margin:0 0 20px}.slip-result-panel dl>div{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-top:1px solid var(--line);font-size:13px;text-align:left}.slip-result-panel dt{color:var(--muted)}.slip-result-panel dd{margin:0;font-weight:600;text-align:right;word-break:break-all}@media(max-width:900px){.slip-layout{grid-template-columns:1fr}.slip-result-panel{min-height:360px}}@media(max-width:760px){.dropzone{min-height:180px}.dropzone.image-selected{min-height:320px}.slip-image-preview{height:300px}.slip-result-panel{min-height:320px}}.confirm-delete>p{margin:0;font-size:15px;line-height:1.65}.confirm-delete>small{color:var(--muted);margin-top:-9px}.danger-action{background:var(--danger);box-shadow:0 5px 15px #d95c4f33}.danger-action:hover{background:#b9473d}.delete-blocked-message{display:flex;gap:14px;align-items:flex-start;padding:16px;border:1px solid rgba(217,92,79,.28);border-radius:16px;background:#d95c4f14}.delete-blocked-message>span{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:var(--danger);color:#fff;font-weight:800}.delete-blocked-message strong{display:block;color:var(--danger);margin-bottom:4px}.delete-blocked-message p{margin:0;line-height:1.6;color:var(--ink)}.app-footer{display:flex;justify-content:space-between;gap:16px;margin-top:48px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-family:Manrope,sans-serif;font-size:11px}.app-footer span:last-child{font-variant-numeric:tabular-nums}.monthly-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.month-switcher{display:flex;align-items:center;gap:8px}.month-switcher>label{display:flex;align-items:center;gap:9px;padding:6px 10px;border:1px solid var(--line);border-radius:11px;background:#fff}.month-switcher label span{color:var(--muted);font-size:11px}.month-switcher input{border:0;outline:0;color:var(--ink)}.monthly-toolbar>strong{font-family:Manrope,IBM Plex Sans Thai;font-size:18px}.monthly-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.monthly-summary article{display:grid;gap:4px;padding:18px 20px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:var(--shadow)}.monthly-summary span,.monthly-summary small{color:var(--muted);font-size:12px}.monthly-summary strong{font-size:19px}.monthly-summary article:first-child strong{color:var(--danger)}.monthly-summary article.paid strong{color:var(--income)}.monthly-panel{padding:0;overflow:hidden}.monthly-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:14px;align-items:center;padding:18px 22px;border-bottom:1px solid #edf2f0;border-left:4px solid #efaa56;background:#fff}.monthly-pin{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#fff2df;color:#a76710;font-size:20px}.monthly-info{min-width:0}.monthly-title{display:flex;justify-content:space-between;gap:12px}.monthly-title strong,.monthly-title small{display:block}.monthly-title small{margin-top:2px;color:var(--muted);font-size:11px}.monthly-meta{display:flex;align-items:center;gap:8px;margin-top:7px;color:var(--muted);font-size:11px}.overdue-label{padding:2px 7px;border-radius:999px;background:#fff0ed;color:var(--danger);font-weight:700}.monthly-controls{display:flex;align-items:flex-end;gap:10px;margin-top:12px}.monthly-amount{display:grid;gap:4px}.monthly-amount span{color:var(--muted);font-size:10px}.monthly-amount input{width:150px;padding:8px 10px;border:1px solid #ccd9d5;border-radius:8px;outline:0}.monthly-amount input:disabled{border-color:transparent;background:#eef5f3;font-weight:700}.slip-picker span,.slip-link,.no-slip{display:inline-flex;max-width:300px;padding:8px 10px;border-radius:8px;background:#eef5f3;color:var(--primary);font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.payment-toggle{display:flex;align-items:center;gap:8px;min-width:112px;padding:9px 12px;border:0;border-radius:999px;background:#ffe3df;color:#c14337;font-weight:700}.payment-checkbox{display:grid;place-items:center;width:20px;height:20px;border:2px solid currentColor;border-radius:6px;font-size:13px}.monthly-info>.form-error{margin-top:9px}.monthly-panel>.empty{padding:55px 20px}@media(max-width:900px){.monthly-item{grid-template-columns:38px minmax(0,1fr)}.payment-toggle{grid-column:2;justify-self:start}.monthly-controls{flex-wrap:wrap}}@media(max-width:760px){.monthly-toolbar{align-items:flex-start;flex-direction:column}.monthly-summary{grid-template-columns:1fr}.monthly-item{padding:16px 14px}.monthly-controls{align-items:stretch;flex-direction:column}.monthly-amount input{width:100%}.slip-picker span,.slip-link,.no-slip{max-width:100%}.payment-toggle{width:100%;justify-content:center}}.auth-options{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:-6px}.auth-form .remember-control{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:500;cursor:pointer}.auth-form .remember-control input{width:17px;height:17px;margin:0;padding:0;accent-color:var(--primary);box-shadow:none}.text-button{border:0;background:none;padding:2px 0;color:var(--primary);font-size:12px;font-weight:700}.form-success{padding:11px 12px;margin:0;border-radius:9px;background:#e1f3ee;color:#08745e;font-size:12px;line-height:1.55}.auth-form .primary.full{text-align:center}.auth-form .switch a{color:var(--primary);font-weight:600}.segmented.three{grid-template-columns:repeat(3,minmax(0,1fr))}.category-dot.transfer{background:#e9e7f8;color:#6254a5}.transaction-row b.transfer,.table-row b.transfer{color:#6254a5}.form-grid label>small{color:var(--muted);font-weight:400}.credit-payment-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px;border:1px solid #ead8b7;border-radius:11px;background:#fff9ee}.credit-payment-breakdown span{display:grid;gap:3px;color:var(--muted);font-size:10px}.credit-payment-breakdown strong{color:var(--ink);font-family:Manrope;font-size:12px}.credit-payment-breakdown span:last-child strong{color:#a76710}@media(max-width:520px){.credit-payment-breakdown{grid-template-columns:1fr}.credit-payment-breakdown span{display:flex;justify-content:space-between}}.trip-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:20px;align-items:start}.trip-list-panel{padding:12px;position:sticky;top:24px}.trip-list-head{display:flex;align-items:center;justify-content:space-between;padding:10px 10px 15px}.trip-list-head h2{margin:3px 0 0;font-size:18px}.trip-list-head>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#eef3f1;color:var(--muted);font-size:12px}.trip-list-item{width:100%;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 10px;border:0;border-radius:13px;background:transparent;color:var(--ink);text-align:left}.trip-list-item:hover{background:#f2f7f5}.trip-list-item.active{background:#e4f1ed;color:#075f58}.trip-list-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#e5f2ef;color:var(--primary);font-size:19px}.trip-list-item.active .trip-list-icon{background:#fff}.trip-list-item strong,.trip-list-item small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trip-list-item small{margin-top:2px;color:var(--muted);font-size:10px}.trip-list-item b{font-family:Manrope;font-size:11px}.trip-detail{display:grid;gap:18px;min-width:0}.trip-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:27px;border-radius:18px;background:linear-gradient(135deg,#0c6f67,#0b8176);color:#fff;box-shadow:var(--shadow);position:relative;overflow:hidden}.trip-hero:after{content:"";position:absolute;width:190px;height:190px;border:38px solid rgba(255,255,255,.06);border-radius:50%;right:-70px;top:-80px}.trip-hero.completed{background:linear-gradient(135deg,#526c67,#6e817d)}.trip-hero>div,.trip-hero>button{position:relative;z-index:1}.trip-hero h2{margin:8px 0 3px;font-size:25px}.trip-hero p{margin:0;color:#c7e5df;font-size:12px}.trip-status{padding:5px 9px;border-radius:999px;background:#ffffff26;font-size:10px;font-weight:700}.trip-hero .secondary{background:#fffffff0}.trip-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.trip-metrics article{display:grid;gap:4px;padding:18px 20px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:var(--shadow)}.trip-metrics span,.trip-metrics small{color:var(--muted);font-size:11px}.trip-metrics strong{font-family:Manrope;font-size:21px}.trip-metrics .owed strong{color:var(--income)}.trip-action-error{margin:0}.trip-members,.trip-expenses{padding:22px}.trip-members .panel-head,.trip-expenses .panel-head{margin-bottom:12px}.trip-member-list{display:grid}.trip-member-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto 28px;gap:11px;align-items:center;padding:11px 0;border-top:1px solid #edf2f0}.trip-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#e5f2ef;color:var(--primary);font-weight:700}.trip-member-row strong,.trip-member-row small{display:block}.trip-member-row small{margin-top:2px;color:var(--muted);font-size:10px}.trip-member-row>b{font-family:Manrope;color:var(--income);font-size:13px}.trip-add-member{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:13px;padding-top:14px;border-top:1px solid var(--line)}.trip-add-member input{min-width:0;border:1px solid #ccd9d5;border-radius:9px;padding:10px 12px;outline:0}.trip-add-member input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0f766e1a}.trip-expense-list{display:grid}.trip-expense-list article{display:grid;grid-template-columns:38px minmax(0,1fr) auto 28px;gap:11px;align-items:start;padding:14px 0;border-top:1px solid #edf2f0}.trip-expense-list article>div>strong,.trip-expense-list article>div>small{display:block}.trip-expense-list article>div>small{margin-top:2px;color:var(--muted);font-size:10px}.trip-expense-list article>div>p{display:flex;gap:5px;flex-wrap:wrap;margin:8px 0 0}.trip-expense-list article>div>p span{padding:3px 7px;border-radius:999px;background:#eef5f3;color:var(--muted);font-size:9px}.trip-expense-list article>b{font-family:Manrope;color:var(--danger);font-size:13px;padding-top:4px}.trip-empty-expenses{display:grid;grid-template-columns:45px 1fr auto;gap:12px;align-items:center;padding:22px 4px;border-top:1px solid var(--line)}.trip-empty-expenses>span{display:grid;place-items:center;width:43px;height:43px;border-radius:13px;background:#e9f3f0;color:var(--primary);font-size:20px}.trip-empty-expenses strong,.trip-empty-expenses small{display:block}.trip-empty-expenses small{color:var(--muted);font-size:11px}.trip-date-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.trip-date-fields label{display:grid;gap:6px}.trip-hint{margin:0;padding:11px;border-radius:9px;background:#eef7f4;color:var(--primary);font-size:11px}.trip-participants{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0;padding:12px;border:1px solid var(--line);border-radius:12px}.trip-participants legend{padding:0 5px;color:var(--muted);font-size:11px;font-weight:700}.trip-participants button{display:grid;grid-template-columns:25px 1fr;gap:8px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:10px;background:#fff;text-align:left;color:var(--ink)}.trip-participants button.selected{border-color:#8ac4ba;background:#eff8f5}.trip-participants button>span{display:grid;place-items:center;width:23px;height:23px;border:1px solid #b9cdc8;border-radius:7px;color:#fff}.trip-participants button.selected>span{border-color:var(--primary);background:var(--primary)}.trip-participants strong,.trip-participants small{display:block}.trip-participants small{color:var(--muted);font-size:9px}.trip-split-preview{display:flex;align-items:center;justify-content:space-between;padding:13px;border-radius:10px;background:#f4f8f7}.trip-split-preview span{color:var(--muted);font-size:11px}.trip-split-preview strong{font-family:Manrope;color:var(--primary)}.trip-share-status{padding:4px 8px;border:0;border-radius:999px;background:#fff2ef;color:var(--danger);font-size:9px}.trip-share-status.paid{background:#e9f6f0;color:var(--income)}.trip-share-status:disabled{cursor:default;opacity:1}.trip-expense-mode{display:grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:11px;background:#eef3f1}.trip-expense-mode button{padding:9px;border:0;border-radius:8px;background:transparent;color:var(--muted)}.trip-expense-mode button.active{background:#fff;color:var(--primary);box-shadow:0 1px 4px #0f172a14}.trip-payer,.trip-paid-members{display:flex;gap:7px;flex-wrap:wrap;margin:0;padding:12px;border:1px solid var(--line);border-radius:12px}.trip-payer legend,.trip-paid-members legend{padding:0 5px;color:var(--muted);font-size:11px;font-weight:700}.trip-payer button,.trip-paid-members button{padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-size:10px}.trip-payer button.selected,.trip-paid-members button.paid{border-color:#8ac4ba;background:#eff8f5;color:var(--primary)}.trip-paid-members button:not(.paid){border-color:#f0b9ad;background:#fff5f2;color:var(--danger)}.trip-paid-members button:disabled{cursor:default;opacity:1}.trip-split-settings{display:grid;gap:10px}.trip-split-mode{display:grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:11px;background:#eef3f1}.trip-split-mode button{padding:9px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:11px;font-weight:650}.trip-split-mode button.active{background:#fff;color:var(--primary);box-shadow:0 1px 4px #0f172a14}.trip-custom-shares{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:12px}.trip-custom-shares>label{display:grid;grid-template-columns:minmax(0,1fr) 150px;align-items:center;gap:12px}.trip-custom-shares>label>span:first-child{display:grid;font-size:11px;font-weight:650}.trip-custom-shares>label small{color:var(--muted);font-size:9px;font-weight:400}.trip-share-input{display:flex;align-items:center;border:1px solid #ccd9d5;border-radius:9px;background:var(--surface);overflow:hidden}.trip-share-input:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #0f766e1a}.trip-share-input b{padding-left:10px;color:var(--muted);font-size:11px}.trip-share-input input{min-width:0;width:100%;padding:9px 10px 9px 5px!important;border:0!important;box-shadow:none!important;text-align:right}.trip-custom-summary{display:flex;justify-content:space-between;gap:12px;margin-top:3px;padding:10px;border-radius:9px;background:#fff7ed;color:#9a5b16;font-size:10px}.trip-custom-summary span{display:grid;gap:2px}.trip-custom-summary span:last-child{text-align:right}.trip-custom-summary strong{font:700 12px Manrope}.trip-custom-summary.complete{background:#e9f6f0;color:var(--income)}.trip-custom-summary.over{background:#fff0ed;color:var(--danger)}@media(max-width:1050px){.trip-layout{grid-template-columns:240px minmax(0,1fr)}.trip-metrics{grid-template-columns:1fr}.trip-list-item{grid-template-columns:38px minmax(0,1fr)}.trip-list-item>b{grid-column:2}}@media(max-width:760px){.trip-layout{grid-template-columns:1fr}.trip-list-panel{position:static;display:flex;gap:8px;overflow:auto;padding:10px}.trip-list-head{display:none}.trip-list-item{min-width:205px;grid-template-columns:36px minmax(0,1fr);background:#f7faf9}.trip-list-item>b{grid-column:2}.trip-hero{align-items:flex-start;flex-direction:column;padding:22px}.trip-hero .secondary{width:100%}.trip-metrics{grid-template-columns:1fr 1fr}.trip-metrics article:last-child{grid-column:1/-1}.trip-members,.trip-expenses{padding:17px}.trip-expenses .panel-head{align-items:flex-start;gap:12px}.trip-expenses .panel-head .primary{padding:9px 11px;font-size:11px}.trip-date-fields,.trip-participants{grid-template-columns:1fr}.trip-empty-expenses{grid-template-columns:42px 1fr}.trip-empty-expenses .text-link{grid-column:2;justify-self:start}.trip-add-member{grid-template-columns:1fr}.trip-add-member .secondary{width:100%}.trip-custom-shares>label{grid-template-columns:minmax(0,1fr) 130px}}.table-row.from-slip{min-height:78px;background:color-mix(in srgb,var(--surface) 94%,var(--primary))}.transaction-slip-link{display:block;max-width:340px;margin-top:5px;color:var(--primary);font-size:10px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transaction-slip-link:hover{text-decoration:underline}.table-row.transaction-clickable{cursor:pointer;transition:background .18s ease,box-shadow .18s ease}.table-row.transaction-clickable:hover,.table-row.transaction-clickable:focus-visible{background:color-mix(in srgb,var(--surface) 88%,var(--primary));box-shadow:inset 3px 0 var(--primary);outline:none}.transaction-edit-content{display:grid}.transaction-edit-content>.form-grid{border-bottom:1px solid var(--line)}.form-success{padding:9px 11px;margin:0;border-radius:8px;color:#0b6b5c;background:#e5f5f0;font-size:12px}.transaction-attachments{display:grid;gap:14px;padding:22px 24px 25px}.transaction-attachments-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.transaction-attachments-head h3{margin:0 0 2px;font-size:16px}.transaction-attachments-head small,.attachment-help,.attachment-status{color:var(--muted);font-size:11px}.transaction-attachments-head>span{flex:0 0 auto;padding:4px 9px;border-radius:20px;background:#e5f2ef;color:var(--primary);font-size:11px;font-weight:700}.attachment-status{margin:2px 0;padding:13px;border:1px dashed var(--line);border-radius:10px;text-align:center}.transaction-attachment-list{display:grid;gap:8px}.transaction-attachment-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:10px 11px;border:1px solid var(--line);border-radius:11px;background:#fbfdfc}.transaction-attachment-file{display:flex;align-items:center;gap:10px;min-width:0}.transaction-attachment-file>span{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:9px;background:#e5f2ef;color:var(--primary)}.transaction-attachment-file>div{min-width:0}.transaction-attachment-file a,.transaction-attachment-file small{display:block}.transaction-attachment-file a{max-width:290px;overflow:hidden;color:var(--primary);font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.transaction-attachment-file a:hover{text-decoration:underline}.transaction-attachment-file small{margin-top:2px;color:var(--muted);font-size:10px}.attachment-delete-confirm{display:flex;flex:0 0 auto;gap:10px}.danger-text{color:var(--danger)!important}.transaction-attachment-upload{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.file-picker{position:relative;display:flex;align-items:center;min-width:0;min-height:42px;padding:10px 12px;overflow:hidden;border:1px dashed #a8c9c1;border-radius:10px;background:#f5faf8;color:var(--primary);cursor:pointer;font-size:12px;font-weight:700}.file-picker span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-picker input{position:absolute;width:1px;height:1px;opacity:0}.delete-slip-warning{display:flex;gap:12px;padding:14px;border:1px solid #f0d8b8;border-radius:12px;background:#fff8ed}.delete-slip-warning>span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:#ffecd0;color:#9b5d0a;font-size:18px}.delete-slip-warning p{margin:0}.delete-slip-warning strong,.delete-slip-warning small{display:block}.delete-slip-warning small{margin-top:3px;color:var(--muted);line-height:1.55}@media(max-width:760px){.transaction-slip-link{max-width:220px}.delete-slip-warning{padding:12px}.transaction-attachments{padding:20px}.transaction-attachment-file a{max-width:180px}.transaction-attachment-upload{grid-template-columns:1fr}.transaction-attachment-upload .secondary{width:100%}}.slip-history-panel{margin-top:20px;padding:0;scroll-margin-top:24px;overflow:hidden}.slip-history-head{margin:0;padding:24px}.slip-history-head small{display:block;margin-top:5px;color:var(--muted);font-size:12px}.slip-history-empty{padding:48px 24px;border-top:1px solid var(--line)}.slip-history-error{margin:0 24px 24px}.slip-history-list{display:grid;border-top:1px solid var(--line)}.slip-history-item{display:grid;grid-template-columns:72px minmax(0,1fr) auto auto;gap:16px;align-items:center;padding:16px 24px;border-bottom:1px solid #edf2f0}.slip-history-item:last-child{border-bottom:0}.slip-history-preview{width:72px;height:72px;overflow:hidden;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;background:#eef5f3;color:var(--primary);font-family:Manrope,sans-serif;font-size:12px;font-weight:700}.slip-history-preview img{width:100%;height:100%;object-fit:cover}.slip-history-info{min-width:0}.slip-history-info>strong{display:block;margin-top:7px;overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.slip-history-info p{margin:3px 0 0;color:var(--muted);font-size:12px}.slip-history-status-row{display:flex;align-items:center;gap:9px}.slip-history-status-row>small{color:var(--muted);font-size:11px}.slip-status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:700}.slip-status.linked{background:#e1f3ee;color:var(--income)}.slip-status.unlinked{background:#fff3dd;color:#a76710}.slip-reference{display:block;margin-top:4px;overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.slip-history-amount{min-width:105px;color:var(--danger);font-family:Manrope,sans-serif;text-align:right}.slip-history-actions{display:flex;align-items:center;gap:6px}.slip-history-actions .secondary{padding:8px 11px;font-size:11px}.slip-history-actions .icon-button{width:34px;height:34px}.slip-history-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.slip-history-pagination .secondary{min-width:180px}.pagination-error{color:var(--danger)}@media(max-width:760px){.slip-history-head,.slip-history-item{padding-right:16px;padding-left:16px}.slip-history-item{grid-template-columns:58px minmax(0,1fr) auto;gap:11px}.slip-history-preview{width:58px;height:66px}.slip-history-amount{grid-column:2;min-width:0;text-align:left}.slip-history-actions{grid-column:3;grid-row:1 / span 2;flex-direction:column}.slip-history-status-row{align-items:flex-start;flex-direction:column;gap:4px}.slip-history-actions .secondary{padding:7px 9px}.slip-history-pagination{align-items:stretch;flex-direction:column;padding:14px 16px;text-align:center}}.content-ready{animation:content-ready .24s ease both}@keyframes content-ready{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.content-ready{animation:none}}.page-skeleton{width:100%;animation:skeleton-enter .2s ease both}.skeleton-line,.skeleton-avatar,.skeleton-dot,.skeleton-dropzone,.skeleton-thumbnail{display:block;position:relative;overflow:hidden;background:#e8efed}.skeleton-line:after,.skeleton-avatar:after,.skeleton-dot:after,.skeleton-dropzone:after,.skeleton-thumbnail:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);animation:skeleton-shimmer 1.35s ease-in-out infinite}.skeleton-line{height:11px;border-radius:999px}.skeleton-line.short{width:28%;max-width:110px}.skeleton-line.medium{width:58%;max-width:220px}.skeleton-line.wide{width:100%;max-width:none}.skeleton-line.title{width:44%;height:18px;margin-top:8px}.skeleton-line.amount{width:55%;height:30px}.skeleton-line.money{width:82px;height:14px}.skeleton-line.bar{width:100%;height:8px}.skeleton-line.button{width:88px;height:34px;border-radius:10px}.skeleton-line.button-wide{width:100%;height:43px;border-radius:10px}.skeleton-avatar{width:38px;height:38px;flex:0 0 38px;border-radius:12px}.skeleton-avatar.large{width:44px;height:44px}.skeleton-avatar.small{width:30px;height:30px;border-radius:50%}.skeleton-avatar.result{width:70px;height:70px;border-radius:50%}.skeleton-card,.skeleton-panel{pointer-events:none}.skeleton-card .skeleton-line.amount{margin:auto 0 8px}.skeleton-card>.skeleton-line+.skeleton-line:last-child{margin-top:7px}.skeleton-metrics .skeleton-card:first-child{background:#e1ebe8}.skeleton-panel>.skeleton-line.title{margin-bottom:22px}.skeleton-list-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #edf2f0}.skeleton-list-row>div{display:grid;gap:7px}.skeleton-bar-row{display:grid;gap:9px;margin:20px 0}.skeleton-table-head,.skeleton-table-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:16px;align-items:center;padding:14px 24px}.skeleton-table-head{background:#f8faf9}.skeleton-table-row{grid-template-columns:40px minmax(0,2fr) 1fr 1fr auto;border-top:1px solid #edf2f0}.skeleton-table-row>div{display:grid;gap:7px}.skeleton-account{border-top:4px solid #dbe7e3}.skeleton-account>div{margin:auto 0 8px}.skeleton-account>div .skeleton-line{margin-top:7px}.skeleton-column-head,.skeleton-admin-title,.skeleton-history-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.skeleton-category-row{display:grid;grid-template-columns:12px 1fr auto;gap:12px;align-items:center;padding:15px 4px;border-top:1px solid #edf2f0}.skeleton-dot{width:10px;height:10px;border-radius:50%}.skeleton-monthly-summary article{display:grid;gap:9px}.skeleton-monthly-list{overflow:hidden}.skeleton-monthly-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:14px;align-items:center;padding:19px 22px;border-bottom:1px solid #edf2f0}.skeleton-monthly-row>div{display:grid;gap:8px}.skeleton-admin{margin-top:20px;padding:0;overflow:hidden}.skeleton-admin-title{padding:22px 24px;margin:0}.skeleton-admin-row{display:grid;grid-template-columns:38px minmax(0,2fr) .7fr 1fr .7fr;gap:14px;align-items:center;padding:15px 24px;border-top:1px solid #edf2f0}.skeleton-admin-row>div{display:grid;gap:7px}.skeleton-slip-form{min-height:520px;display:grid;gap:14px}.skeleton-dropzone{height:210px;border-radius:15px}.skeleton-slip-result{min-height:520px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.skeleton-slip-result .wide{max-width:320px}.skeleton-slip-history{margin-top:20px;padding:0;overflow:hidden}.skeleton-history-title{padding:24px;margin:0}.skeleton-history-row{display:grid;grid-template-columns:72px minmax(0,1fr) auto auto;gap:16px;align-items:center;padding:16px 24px;border-top:1px solid #edf2f0}.skeleton-history-row>div{display:grid;gap:8px}.skeleton-thumbnail{width:72px;height:72px;border-radius:12px}@keyframes skeleton-shimmer{to{transform:translate(100%)}}@keyframes skeleton-enter{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.page-skeleton,.skeleton-line:after,.skeleton-avatar:after,.skeleton-dot:after,.skeleton-dropzone:after,.skeleton-thumbnail:after{animation:none}}@media(max-width:760px){.skeleton-table-head{display:none}.skeleton-table-row{grid-template-columns:40px minmax(0,1fr) auto;padding:15px 16px}.skeleton-table-row>.skeleton-line:nth-last-child(2){display:none}.skeleton-table-row>.skeleton-line.medium{display:none}.skeleton-admin-row{grid-template-columns:38px minmax(0,1fr) auto;padding:15px 18px}.skeleton-admin-row>.skeleton-line:nth-last-child(2),.skeleton-admin-row>.skeleton-line.short{display:none}.skeleton-monthly-row{grid-template-columns:40px minmax(0,1fr);padding:16px 14px}.skeleton-monthly-row>.button{grid-column:2}.skeleton-history-row{grid-template-columns:58px minmax(0,1fr) auto;padding:14px 16px}.skeleton-thumbnail{width:58px;height:66px}.skeleton-history-row>.money{grid-column:2}.skeleton-history-row>.button{grid-column:3;grid-row:1 / span 2}.skeleton-slip-form,.skeleton-slip-result{min-height:360px}}.settings-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:20px;align-items:start}.settings-card{display:grid;gap:18px}.settings-card-head{display:flex;align-items:center;gap:14px;padding-bottom:18px;border-bottom:1px solid var(--line)}.settings-card-head h2,.settings-preview h2{margin:3px 0 0;font-size:19px}.settings-card-head small{color:var(--muted)}.settings-icon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:15px;background:#dff1ec;color:var(--primary);font-size:25px}.settings-toggle-row,.settings-time-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px;border:1px solid var(--line);border-radius:13px;background:#fbfdfc}.settings-toggle-row span>strong,.settings-toggle-row span>small,.settings-time-row span>strong,.settings-time-row span>small{display:block}.settings-toggle-row small,.settings-time-row small{margin-top:3px;color:var(--muted);font-size:11px}.switch-input{appearance:none;width:48px;height:27px;flex:0 0 48px;margin:0;border:0;border-radius:999px;background:#cbd8d4;position:relative;cursor:pointer;transition:.2s}.switch-input:after{content:"";position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #14322d33;transition:.2s}.switch-input:checked{background:var(--primary)}.switch-input:checked:after{transform:translate(21px)}.switch-input:focus-visible{outline:3px solid rgba(15,118,110,.18);outline-offset:2px}.settings-time-row input{width:132px;padding:10px 12px;border:1px solid #ccd9d5;border-radius:9px;background:#fff;color:var(--ink);font-weight:700}.settings-permission{display:flex;align-items:center;gap:11px;padding:13px;border-radius:11px;background:#fff6e7;color:#9b6418}.settings-permission>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e9ad53;color:#fff;font-weight:800}.settings-permission.granted{background:#e7f5f1;color:var(--income)}.settings-permission.granted>span{background:var(--income)}.settings-permission.denied{background:#fff0ed;color:var(--danger)}.settings-permission.denied>span{background:var(--danger)}.settings-permission strong,.settings-permission small{display:block}.settings-permission small{margin-top:2px;color:var(--muted);font-size:10px}.settings-success{margin:0;padding:10px 12px;border-radius:9px;background:#e7f5f1;color:var(--income);font-size:12px;font-weight:600}.settings-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}.settings-preview{position:sticky;top:24px}.settings-preview>h2{margin-bottom:20px}.notification-preview{display:flex;gap:12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#f8fbfa;box-shadow:0 10px 28px #1b403a14}.notification-preview .brand-mark{flex:0 0 38px;width:38px;height:38px}.notification-preview strong{font-size:13px}.notification-preview p{margin:4px 0;color:var(--muted);font-size:11px;line-height:1.5}.notification-preview small{color:var(--primary);font-size:10px;font-weight:700}.settings-note{margin:18px 0 0;padding-top:17px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.7}.skeleton-settings-card{display:grid;gap:18px;min-height:390px}.skeleton-settings-head{display:flex;gap:14px;align-items:center}.skeleton-settings-head>div{display:grid;gap:7px;flex:1}.skeleton-settings-card .settings-control{height:70px;border-radius:13px}.profile-settings-card{margin-bottom:20px;min-width:0}.settings-icon.profile{background:#e9e7f8;color:#6254a5}.profile-settings-body{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;padding-top:22px;min-width:0}.avatar-editor{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px;border:1px solid var(--line);border-radius:15px;background:#f8fbfa;text-align:center}.avatar-editor>div:nth-child(2){display:grid;gap:3px}.avatar-editor small{color:var(--muted);font-size:11px}.avatar-preview{width:104px;height:104px;border-radius:32px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(145deg,#d9efe9,#c5dfd8);color:var(--primary);font-family:Manrope,sans-serif;font-size:38px;font-weight:800;border:4px solid #fff;box-shadow:0 10px 28px #1b403a24}.avatar-preview img{width:100%;height:100%;object-fit:cover}.avatar-picker{position:relative;width:100%;cursor:pointer}.avatar-picker input{position:absolute;width:1px;height:1px;opacity:0}.avatar-editor>.primary{width:100%}.danger-link{color:var(--danger);border:0;background:transparent}.profile-form{display:grid;gap:18px;min-width:0}.profile-fields{display:grid;gap:14px;min-width:0}.profile-fields.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-fields.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-fields label{display:grid;gap:6px;min-width:0;font-size:13px;font-weight:600}.profile-fields input,.profile-fields select{width:100%;min-width:0;border:1px solid #ccd9d5;border-radius:9px;padding:11px 12px;background:var(--surface);color:var(--ink);outline:none}.profile-fields input:focus,.profile-fields select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0f766e1a}.profile-fields label>small{color:var(--muted);font-size:10px;font-weight:400}.profile-password-heading{display:grid;gap:3px;padding-top:4px}.profile-password-heading small{color:var(--muted);font-size:11px}.avatar{overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover;display:block}.dashboard-settings-card{display:grid;gap:18px;margin-bottom:20px}.settings-icon.dashboard{background:#e5f2ef;color:var(--primary)}.dashboard-settings-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.dashboard-settings-columns fieldset{display:grid;align-content:start;gap:8px;min-width:0;margin:0;padding:14px;border:1px solid var(--line);border-radius:14px}.dashboard-settings-columns legend{padding:0 6px;color:var(--muted);font-size:11px;font-weight:700}.dashboard-settings-columns label{display:flex;align-items:center;gap:11px;padding:11px;border-radius:10px;background:#f8fbfa;cursor:pointer}.dashboard-settings-columns label:hover{background:#eef6f3}.dashboard-settings-columns input{appearance:none;display:grid;place-items:center;flex:0 0 21px;width:21px;height:21px;margin:0;border:2px solid #a9bab5;border-radius:6px;background:var(--surface)}.dashboard-settings-columns input:checked{border-color:var(--primary);background:var(--primary)}.dashboard-settings-columns input:checked:after{content:"✓";color:#fff;font-size:13px;font-weight:800}.dashboard-settings-columns input:focus-visible{outline:3px solid rgba(15,118,110,.16);outline-offset:2px}.dashboard-settings-columns label span{min-width:0}.dashboard-settings-columns label strong,.dashboard-settings-columns label small{display:block}.dashboard-settings-columns label strong{font-size:12px}.dashboard-settings-columns label small{margin-top:2px;color:var(--muted);font-size:9px}.dashboard-account-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:260px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.dashboard-balance-options{display:grid;gap:8px}.dashboard-account-options-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.dashboard-account-options-head>small{color:var(--muted);font-size:9px}.dashboard-account-options-head>span{display:flex;gap:5px}.dashboard-account-options-head button{padding:3px;border:0;background:transparent;color:var(--primary);font-size:9px;font-weight:700}.dashboard-account-options-head button:hover{text-decoration:underline}.profile-number-format{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.65fr);gap:14px;padding:14px;border:1px solid var(--line);border-radius:13px;background:#f8fbfa}.profile-number-format label{display:grid;gap:6px;font-size:13px;font-weight:600}.profile-number-format select{width:100%;min-width:0;padding:10px 12px;border:1px solid #ccd9d5;border-radius:9px;background:var(--surface);color:var(--ink);outline:none}.profile-number-format select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0f766e1a}.profile-number-format label small,.profile-number-format>div small{color:var(--muted);font-size:10px;font-weight:400}.profile-number-format>div{display:flex;flex-direction:column;justify-content:center;padding:12px 14px;border-radius:10px;background:var(--surface)}.profile-number-format>div span{color:var(--muted);font-size:10px}.profile-number-format>div strong{margin:2px 0;font:700 20px Manrope,sans-serif;font-variant-numeric:tabular-nums}@media(max-width:1200px){.dashboard-settings-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-settings-columns fieldset:last-child{grid-column:1/-1}}@media(max-width:1050px){.profile-fields.three-columns{grid-template-columns:1fr 1fr}.profile-fields.three-columns label:first-child{grid-column:1/-1}}@media(max-width:900px){.settings-grid{grid-template-columns:1fr}.settings-preview{position:static}.profile-settings-body{grid-template-columns:190px minmax(0,1fr)}.profile-fields.two-columns,.profile-fields.three-columns{grid-template-columns:1fr}.profile-fields.three-columns label:first-child{grid-column:auto}}@media(max-width:680px){.profile-settings-body{grid-template-columns:1fr}.avatar-editor{padding:18px}.profile-fields.two-columns,.profile-number-format{grid-template-columns:1fr}}@media(max-width:760px){.dashboard-settings-columns{grid-template-columns:1fr}.dashboard-settings-columns fieldset:last-child{grid-column:auto}.dashboard-account-options{grid-template-columns:1fr}}@media(max-width:560px){.settings-toggle-row,.settings-time-row{align-items:flex-start}.settings-time-row{flex-direction:column}.settings-time-row input{width:100%}.settings-actions{flex-direction:column-reverse}.settings-actions button{width:100%}}.settings-utility-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:20px}.settings-icon.appearance{background:#e9e7f8;color:#6254a5}.settings-icon.pwa{background:#fff0d8;color:#a76710}.theme-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.theme-options button{min-width:0;padding:14px 10px;border:1px solid var(--line);border-radius:13px;background:var(--surface);color:var(--ink);display:grid;place-items:center;gap:4px;text-align:center}.theme-options button:hover{border-color:var(--primary)}.theme-options button.active{border-color:var(--primary);background:#edf8f5;box-shadow:0 0 0 2px #0f766e1a}.theme-options button:disabled{cursor:wait;opacity:.72}.theme-options strong{font-size:13px}.theme-options small{max-width:100%;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.theme-swatch{width:46px;height:46px;margin-bottom:4px;border:1px solid var(--line);border-radius:14px;display:grid;place-items:center;font-size:22px}.theme-swatch.light{background:#fff;color:#d28b2c}.theme-swatch.dark{background:#182522;color:#a7d8ce}.theme-swatch.system{background:linear-gradient(135deg,#fff 50%,#182522 50%);color:var(--primary)}.pwa-install-state{display:flex;align-items:center;gap:13px;padding:16px;border:1px solid var(--line);border-radius:13px;background:#f8fbfa}.pwa-install-state>span{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:13px;background:#e4f1ed;color:var(--primary);font-size:20px;font-weight:800}.pwa-install-state.installed>span{background:#daf1e8;color:var(--income)}.pwa-install-state strong,.pwa-install-state small{display:block}.pwa-install-state small{margin-top:3px;color:var(--muted);font-size:11px;line-height:1.45}.pwa-note{margin-top:0}.pwa-card>.full{margin-top:auto}@media(max-width:900px){.settings-utility-grid{grid-template-columns:1fr}}@media(max-width:520px){.theme-options{grid-template-columns:1fr}.theme-options button{grid-template-columns:46px 1fr;grid-template-rows:auto auto;text-align:left;justify-items:start;padding:11px}.theme-options .theme-swatch{grid-row:1 / span 2;margin:0}.theme-options small{white-space:normal}}.mobile-session-card{display:none}.mobile-session-user{display:flex;align-items:center;gap:12px}.mobile-session-user .avatar{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:15px;background:#e5f2ef;color:var(--primary);font:800 17px Manrope,sans-serif}.mobile-session-user .avatar img{width:100%;height:100%;object-fit:cover}.mobile-session-user p,.mobile-session-user strong,.mobile-session-user small{display:block;margin:0}.mobile-session-user strong{margin-top:2px;font-size:14px}.mobile-session-user small{margin-top:1px;color:var(--muted);font-size:11px}.mobile-logout-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 16px;border:1px solid rgba(217,92,79,.28);border-radius:11px;background:#d95c4f14;color:var(--danger);font-weight:700}.mobile-logout-button:disabled{opacity:.6}.mobile-logout-button span{font-size:18px}@media(max-width:760px){.mobile-session-card{display:grid;gap:15px;margin-top:20px}}:root[data-theme=dark] .mobile-session-user .avatar{background:#203832}:root[data-theme=dark] .mobile-logout-button{background:#3a2421;border-color:#5a312d}.account-card-link{cursor:pointer;position:relative;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.account-card-link:hover,.account-card-link:focus-visible{transform:translateY(-3px);border-color:#9ccbc0;box-shadow:0 20px 55px #1b403a24;outline:0}.account-card-hint{margin-top:13px!important;color:var(--primary)!important;font-weight:700!important}.account-detail-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.account-detail-summary{display:grid;grid-template-columns:1.25fr 1fr .8fr;gap:16px;margin-bottom:20px}.account-detail-summary article{min-height:145px;display:flex;flex-direction:column}.account-detail-summary span,.account-detail-summary small{color:var(--muted);font-size:12px}.account-detail-summary strong{margin:auto 0 5px;font-family:Manrope,sans-serif;font-size:clamp(23px,2.4vw,32px)}.account-balance-card{background:linear-gradient(135deg,#0c6f67,#0b8176);color:#fff;border:0}.account-balance-card span,.account-balance-card small{color:#c7e5df}.balance-chart-panel{margin-bottom:20px;transition:opacity .18s}.balance-chart-panel.refreshing{opacity:.72}.balance-chart-head,.account-transactions-head{display:flex;align-items:center;justify-content:space-between;gap:18px}.balance-chart-head h2,.account-transactions-head h2{margin:3px 0 0;font-size:19px}.chart-period{display:flex;padding:4px;border-radius:10px;background:#eef3f1}.chart-period button{border:0;padding:8px 11px;border-radius:8px;background:transparent;color:var(--muted);font-size:11px;font-weight:700}.chart-period button.active{background:#fff;color:var(--primary);box-shadow:0 2px 8px #14322d1a}.chart-wrap{width:100%;margin-top:20px;position:relative;overflow:visible}.chart-wrap svg{display:block;width:100%;height:auto;min-height:260px}.chart-grid line{stroke:#e7efec;stroke-width:1}.chart-grid text{fill:#82938f;font-size:10px;text-anchor:end}.chart-area{fill:url(#balance-area);animation:chart-area-in .6s ease both}.chart-line{fill:none;stroke:#118a70;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:chart-line-draw .8s cubic-bezier(.22,.8,.26,1) forwards}.chart-points circle{fill:#fff;stroke:#118a70;stroke-width:3;cursor:pointer;transform-box:fill-box;transform-origin:center;animation:chart-point-in .24s ease-out both;transition:r .15s,filter .15s}.chart-points circle:hover,.chart-points circle:focus,.chart-points circle.active{r:7;filter:drop-shadow(0 2px 2px rgba(17,138,112,.25));outline:none}.chart-x-labels text{fill:#82938f;font-size:10px;text-anchor:middle}.chart-tooltip{transform:translate(-50%,calc(-100% - 12px))}.chart-tooltip.below{transform:translate(-50%,12px)}.chart-tooltip small{color:#bcd8d2;font-size:9px}.chart-tooltip strong{font:700 12px Manrope,sans-serif}.chart-range{display:flex;justify-content:flex-end;gap:20px;padding-top:13px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.chart-range strong{color:var(--ink)}.account-transactions{overflow:hidden}.account-transactions-head{padding:22px 24px}.account-slip-button{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#e8f3f0;color:var(--primary);font-size:15px}.account-slip-button:hover{background:#d5ebe5}.account-detail-skeleton .skeleton-card .amount{margin:auto 0 8px}.skeleton-chart{margin-bottom:20px}.skeleton-chart-block{display:block;height:270px;margin-top:20px;border-radius:14px;background:#e8efed;position:relative;overflow:hidden}.skeleton-chart-block:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);animation:skeleton-shimmer 1.35s ease-in-out infinite}@keyframes chart-line-draw{to{stroke-dashoffset:0}}@keyframes chart-area-in{0%{opacity:0}to{opacity:1}}@keyframes chart-point-in{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.chart-area,.chart-line,.chart-points circle,.chart-tooltip{animation:none}.chart-line{stroke-dashoffset:0}.chart-points circle{transition:none}}@media(max-width:900px){.account-detail-summary{grid-template-columns:1fr 1fr}.account-detail-summary article:first-child{grid-column:1/-1}.balance-chart-head{align-items:flex-start;flex-direction:column}.chart-period{width:100%}.chart-period button{flex:1}}@media(max-width:760px){.account-detail-actions{width:100%;justify-content:stretch}.account-detail-actions>*{flex:1;white-space:nowrap}.account-detail-summary{grid-template-columns:1fr}.account-detail-summary article:first-child{grid-column:auto}.chart-wrap{margin-inline:-10px;width:calc(100% + 20px)}.chart-wrap svg{min-height:220px}.chart-range{justify-content:space-between}.account-transactions-head{padding:18px 16px}.account-transactions .table-row{grid-template-columns:minmax(0,1fr) auto 28px}.account-transactions .table-row>span:nth-child(2),.account-transactions .table-row>span:nth-child(3){display:none}}@media(max-width:460px){.account-detail-actions{display:grid;grid-template-columns:1fr 1fr}.account-detail-actions>*:first-child{grid-column:1/-1}.chart-period{flex-direction:column}.chart-range{align-items:flex-start;flex-direction:column;gap:5px}}.settings-format-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px;border:1px solid var(--line);border-radius:13px;background:#fbfdfc}.settings-format-row>span>strong,.settings-format-row>span>small{display:block}.settings-format-row>span>small{margin-top:3px;color:var(--muted);font-size:11px}.time-format-toggle{display:flex;flex:0 0 auto;padding:4px;border-radius:10px;background:#eef3f1}.time-format-toggle button{border:0;padding:8px 11px;border-radius:8px;background:transparent;color:var(--muted);font-size:11px;font-weight:700}.time-format-toggle button.active{background:#fff;color:var(--primary);box-shadow:0 2px 8px #14322d1a}.time-input-12,.time-input-24{display:flex;align-items:center;gap:6px;flex:0 0 auto}.time-input-12 select,.time-input-24 select{min-width:58px;padding:10px 8px;border:1px solid #ccd9d5;border-radius:9px;background:#fff;color:var(--ink);font-weight:700}.time-input-12 select:last-child{min-width:66px}.time-input-12 b,.time-input-24 b{color:var(--muted)}@media(max-width:620px){.settings-format-row{align-items:flex-start;flex-direction:column}.time-format-toggle{width:100%}.time-format-toggle button{flex:1}.time-input-12,.time-input-24{width:100%}.time-input-12 select,.time-input-24 select{flex:1}}.button-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.monthly-header-actions{display:flex;align-items:center;gap:10px}.monthly-kind-badge{display:inline-flex;vertical-align:middle;margin-left:5px;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:800}.monthly-kind-badge.income{color:#0b7952;background:#ddf5e9}.monthly-kind-badge.expense{color:#af4338;background:#ffebe8}.csv-upload-panel,.csv-mapping-panel{margin-top:24px;padding:26px}.csv-step{display:flex;gap:14px;align-items:center;margin-bottom:20px}.csv-step>span{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:#dff3ef;color:#087b70;font-weight:800}.csv-step div{display:grid;gap:2px}.csv-step strong{font-size:18px}.csv-step small,.csv-dropzone small,.csv-section-heading small,.csv-mapping-table small,.csv-confirm-bar small{color:var(--muted)}.csv-dropzone{min-height:190px;border:2px dashed #a8cec8;border-radius:20px;background:#f3faf8;display:flex;align-items:center;justify-content:center;gap:18px;padding:30px;cursor:pointer;text-align:left;transition:.2s ease}.csv-dropzone:hover{border-color:#087f74;background:#ebf8f5;transform:translateY(-1px)}.csv-dropzone input{position:absolute;inline-size:1px;block-size:1px;opacity:0}.csv-dropzone div{display:grid;gap:5px}.csv-file-icon{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;background:#0c8277;color:#fff;font-weight:900;letter-spacing:.04em}.csv-upload-actions{margin-top:18px;display:flex;justify-content:space-between;gap:20px;align-items:center}.csv-upload-actions p,.csv-defaults p{color:var(--muted);margin:0;max-width:680px;line-height:1.55}.csv-page-error{margin-top:16px}.csv-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}.csv-summary article{border:1px solid var(--line);background:#fff;border-radius:18px;padding:20px;display:grid;gap:3px}.csv-summary article span{color:var(--muted)}.csv-summary article strong{font-size:34px}.csv-summary article.matched{border-color:#a9d7ce;background:#f4fbf9}.csv-summary article.created{border-color:#f0ce98;background:#fffaf1}.csv-defaults{background:#f6f8f7;border-radius:15px;padding:15px 18px;display:flex;gap:20px;align-items:end;margin-bottom:22px}.csv-defaults label{min-width:230px;display:grid;gap:7px;font-weight:700}.csv-defaults input{width:100%}.csv-section+.csv-section{margin-top:28px}.csv-section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.csv-section-heading>div{display:flex;align-items:center;gap:9px}.kind-dot{width:11px;height:11px;border-radius:50%;display:inline-block}.kind-dot.income{background:#12a66a}.kind-dot.expense{background:#e65f50}.csv-section-heading .text-link{border:0;background:none;padding:4px 6px}.csv-section-heading .muted{color:var(--muted)}.csv-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:15px}.csv-mapping-table{width:100%;border-collapse:collapse;min-width:1040px}.csv-mapping-table th{background:#f6f8f7;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em;text-align:left;padding:12px}.csv-mapping-table td{padding:13px 12px;border-top:1px solid var(--line);vertical-align:middle}.csv-mapping-table td:nth-child(2),.csv-mapping-table td:nth-child(4){display:table-cell}.csv-mapping-table td strong,.csv-mapping-table td small{display:block}.csv-mapping-table tr.disabled{opacity:.45}.csv-mapping-table select{min-width:150px;padding:9px 11px}.csv-due-day{width:82px;min-width:82px;padding:9px 10px}.csv-amount{font-weight:800;white-space:nowrap}.mapping-badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}.mapping-badge.update{color:#087569;background:#dff3ef}.mapping-badge.create{color:#925b09;background:#fff0ce}.existing-target{font-weight:700;color:#294540}.csv-confirm-bar{position:sticky;bottom:14px;margin-top:24px;padding:16px 18px;background:#163a35;color:#fff;border-radius:17px;box-shadow:0 12px 30px #0e363038;display:flex;align-items:center;justify-content:space-between;gap:20px}.csv-confirm-bar>div{display:grid;gap:2px}.csv-confirm-bar small{color:#bed6d1}.csv-result{margin-top:20px;padding:22px;display:flex;gap:16px;align-items:center;border-color:#a9d7ce;background:#f1faf7}.csv-result-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;color:#fff;background:#138879;font-size:25px}.csv-result p{margin:4px 0 0;color:var(--muted)}.csv-result-actions{margin-left:auto;display:flex;gap:10px}@media(max-width:900px){.csv-summary{grid-template-columns:1fr}.csv-upload-actions,.csv-defaults,.csv-result{align-items:stretch;flex-direction:column}.csv-result-actions{margin-left:0}.csv-confirm-bar{bottom:76px}}@media(max-width:560px){.monthly-header-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.csv-upload-panel,.csv-mapping-panel{padding:18px}.csv-dropzone{min-height:155px;flex-direction:column;text-align:center}.csv-upload-actions button,.csv-confirm-bar button{width:100%}.csv-confirm-bar{align-items:stretch;flex-direction:column}.csv-result-actions{flex-direction:column}}.category-list>div.category-list-row{grid-template-columns:40px minmax(0,1fr) auto;gap:11px}.category-icon-preview{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-size:16px}.icon-picker-field{min-width:0;margin:0;padding:0;border:0}.icon-picker-field legend{margin-bottom:7px;font-size:13px;font-weight:600}.icon-picker-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;max-height:220px;overflow:auto;padding:3px}.icon-picker-grid button{min-width:0;min-height:60px;padding:7px 3px;border:1px solid var(--line);border-radius:10px;background:#f8fbfa;color:var(--muted);display:grid;place-items:center;gap:3px}.icon-picker-grid button svg{font-size:17px}.icon-picker-grid button small{max-width:100%;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.icon-picker-grid button:hover,.icon-picker-grid button.active{border-color:var(--primary);background:#e5f3ef;color:var(--primary)}.icon-picker-grid button.active{box-shadow:0 0 0 2px #0f766e1f}.category-choice-preview{display:flex;align-items:center;gap:11px;padding:12px;border-radius:12px;background:#f8fbfa;border:1px solid var(--line)}.category-choice-preview>span{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-size:18px}.category-choice-preview small,.category-choice-preview strong{display:block}.category-choice-preview small{color:var(--muted);font-size:9px}.category-choice-preview strong{margin-top:1px;font-size:13px}@media(max-width:480px){.icon-picker-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.category-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.category-row-actions .icon-button{font-size:16px}.category-kind-note{margin-top:-9px;color:var(--muted);font-size:11px}.segmented button:disabled{cursor:not-allowed;opacity:.72}.activity-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.activity-metrics article{display:grid;grid-template-columns:46px minmax(0,1fr);gap:14px;align-items:center;padding:21px;background:var(--surface);border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow)}.activity-metrics small,.activity-metrics strong,.activity-metrics p{display:block;margin:0}.activity-metrics small{color:var(--muted);font-size:11px;font-weight:700}.activity-metrics strong{font:700 27px/1.2 Manrope,sans-serif;margin:4px 0 2px}.activity-metrics p{color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-metric-icon,.activity-event-icon{display:grid;place-items:center;border-radius:14px;font-weight:800}.activity-metric-icon{width:46px;height:46px;background:#e5f2ef;color:var(--primary);font-size:18px}.activity-metric-icon.success{background:#e1f3ee;color:var(--income)}.activity-metric-icon.failed{background:#fff0ed;color:var(--danger)}.activity-metric-icon.users{background:#eef0fa;color:#6674a8}.activity-panel{padding:0;overflow:hidden}.activity-panel-head{display:flex;align-items:center;justify-content:space-between;padding:24px 26px}.activity-panel-head h2{margin:4px 0 2px;font:700 20px/1.3 Manrope,IBM Plex Sans Thai,sans-serif}.activity-panel-head p:last-child{margin:0;color:var(--muted);font-size:12px}.activity-panel>.form-error{margin:0 24px 20px}.activity-row{display:grid;grid-template-columns:44px minmax(230px,1.45fr) minmax(150px,.75fr) minmax(150px,.6fr);gap:15px;align-items:center;padding:16px 26px;border-top:1px solid #edf2f0}.activity-row.failed{background:snow}.activity-event-icon{width:42px;height:42px;background:#edf4f2;color:var(--primary)}.activity-event-icon.auth{background:#e5f2ef}.activity-event-icon.failed{background:#fff0ed;color:var(--danger)}.activity-title-line{display:flex;align-items:center;gap:8px}.activity-title-line strong{font-size:14px}.activity-title-line>span{padding:3px 7px;border-radius:999px;background:#e1f3ee;color:var(--income);font-size:9px;font-weight:800}.activity-title-line>span.failed{background:#fff0ed;color:var(--danger)}.activity-event-main p{margin:3px 0 0;color:var(--muted);font-size:12px}.activity-event-main p b{color:var(--ink);font-weight:600}.activity-event-main small{display:block;margin-top:3px;color:var(--danger);font-size:11px}.activity-context{display:flex;flex-wrap:wrap;gap:5px}.activity-context span{padding:4px 7px;border-radius:7px;background:#f1f5f3;color:var(--muted);font-size:10px}.activity-row time{color:var(--muted);font-size:11px;text-align:right}.activity-load-more{display:flex;justify-content:center;padding:20px;border-top:1px solid var(--line)}.skeleton-activity .activity-metrics article{min-height:91px}.skeleton-activity-list{padding:0}.skeleton-activity-row{display:grid;grid-template-columns:42px minmax(0,1.45fr) minmax(120px,.75fr) minmax(120px,.6fr);gap:15px;align-items:center;padding:18px 26px;border-top:1px solid #edf2f0}.skeleton-activity-row>div{display:grid;gap:7px}.activity-last-login{font-size:15px!important;line-height:1.35!important;white-space:nowrap}:root[data-theme=dark] .activity-row,:root[data-theme=dark] .skeleton-activity-row{border-color:#263632}:root[data-theme=dark] .activity-row.failed{background:#211b19}:root[data-theme=dark] .activity-context span{background:#22312d}:root[data-theme=dark] .activity-event-icon.auth,:root[data-theme=dark] .activity-metric-icon{background:#203832}:root[data-theme=dark] .activity-event-icon.failed,:root[data-theme=dark] .activity-metric-icon.failed{background:#3a2421}@media(max-width:1050px){.activity-metrics{grid-template-columns:repeat(2,1fr)}.activity-row{grid-template-columns:44px minmax(0,1fr) auto}.activity-context{grid-column:2}.activity-row time{grid-column:3;grid-row:1}.skeleton-activity-row{grid-template-columns:42px minmax(0,1fr) auto}.skeleton-activity-row>.skeleton-line:nth-child(3){display:none}}@media(max-width:650px){.activity-metrics{gap:10px}.activity-metrics article{padding:15px;grid-template-columns:40px minmax(0,1fr);gap:10px}.activity-metric-icon{width:40px;height:40px}.activity-metrics strong{font-size:22px}.activity-row{grid-template-columns:40px minmax(0,1fr);gap:11px;padding:15px 17px}.activity-event-icon{width:38px;height:38px}.activity-row time{grid-column:2;grid-row:auto;text-align:left}.activity-context{grid-column:2}.activity-panel-head{padding:21px 18px}.skeleton-activity-row{grid-template-columns:38px minmax(0,1fr);padding:16px 18px}.skeleton-activity-row>.skeleton-line{display:none}}.maintenance-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;margin-bottom:20px;border-left:5px solid var(--income)}.maintenance-control.active{border-left-color:#e09942;background:#fffaf3}.maintenance-control-status{display:flex;gap:15px;align-items:flex-start}.maintenance-status-icon{width:45px;height:45px;flex:0 0 45px;display:grid;place-items:center;border-radius:14px;background:#e1f3ee;color:var(--income);font-size:18px;font-weight:800}.maintenance-control.active .maintenance-status-icon{background:#fff0da;color:#c97818}.maintenance-control h2{margin:4px 0;font:700 19px/1.3 Manrope,IBM Plex Sans Thai,sans-serif}.maintenance-control-status p:last-child{margin:0;color:var(--muted);font-size:13px}.maintenance-control-action{display:flex;align-items:center;gap:12px}.maintenance-control-action>span{padding:7px 10px;border-radius:999px;background:#e1f3ee;color:var(--income);font:800 10px/1 Manrope,sans-serif;letter-spacing:.6px}.maintenance-control-action>span.offline{background:#fff0da;color:#b76c16}.maintenance-toggle-button{border:1px solid var(--line);border-radius:10px;padding:10px 14px;background:var(--surface);color:var(--ink);font-weight:700}.maintenance-toggle-button.danger{border-color:#efc8c3;color:var(--danger);background:#fff8f7}.maintenance-control>.form-error{grid-column:1/-1}.maintenance-confirm{text-align:center}.maintenance-confirm-icon{width:64px;height:64px;display:grid;place-items:center;margin:0 auto;border-radius:20px;background:#fff0da;color:#c97818;font-size:26px}.maintenance-confirm-icon.online{background:#e1f3ee;color:var(--income)}.maintenance-confirm h3{margin:0 0 7px;font-size:19px}.maintenance-confirm p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}.maintenance-confirm .form-actions{justify-content:center}.primary.maintenanceDanger{background:var(--danger)}.maintenance-page{position:relative;min-height:100vh;display:grid;place-items:center;overflow:hidden;padding:30px 18px;background:linear-gradient(145deg,#edf6f3,#f8fbfa);color:var(--ink)}.maintenance-orb{position:absolute;border-radius:50%;border:1px solid rgba(15,118,110,.1)}.maintenance-orb.one{width:520px;height:520px;right:-220px;top:-250px}.maintenance-orb.two{width:380px;height:380px;left:-190px;bottom:-180px}.maintenance-card{position:relative;width:min(590px,100%);padding:36px 46px 30px;text-align:center;background:#ffffffed;border:1px solid var(--line);border-radius:28px;box-shadow:0 28px 80px #1b403a1f}.maintenance-brand{display:flex;align-items:center;justify-content:center;gap:10px;font:700 19px Manrope,sans-serif}.maintenance-illustration{position:relative;width:108px;height:108px;display:grid;place-items:center;margin:30px auto 24px;border-radius:34px;background:#e1f3ee;color:var(--primary);font-size:42px}.maintenance-illustration i,.maintenance-illustration b{position:absolute;width:18px;height:18px;border-radius:50%;background:#f0b565;border:5px solid #fff}.maintenance-illustration i{right:-4px;top:15px}.maintenance-illustration b{left:-5px;bottom:17px;width:14px;height:14px;background:#62bcae}.maintenance-card h1{margin:7px 0 12px;font:700 clamp(30px,6vw,42px)/1.2 Manrope,"IBM Plex Sans Thai",sans-serif;letter-spacing:-1px}.maintenance-description{max-width:440px;margin:0 auto;color:var(--muted);font-size:15px;line-height:1.75}.maintenance-notice{display:flex;gap:12px;align-items:center;text-align:left;margin:27px 0;padding:15px 17px;border-radius:14px;background:#f2f8f6}.maintenance-notice>span{font-size:22px;color:var(--primary)}.maintenance-notice p{margin:0}.maintenance-notice strong,.maintenance-notice small{display:block}.maintenance-notice strong{font-size:13px}.maintenance-notice small{margin-top:2px;color:var(--muted);font-size:11px}.maintenance-actions{display:flex;justify-content:center;align-items:center;gap:18px}.maintenance-card footer{margin-top:27px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.maintenance-card footer a{color:var(--primary);font-weight:700}:root[data-theme=dark] .maintenance-control.active{background:#2b241b}:root[data-theme=dark] .maintenance-toggle-button.danger{background:#2d201e;border-color:#613a35}:root[data-theme=dark] .maintenance-page{background:#101916}:root[data-theme=dark] .maintenance-card{background:#17221f}:root[data-theme=dark] .maintenance-notice{background:#1b2925}@media(max-width:760px){.maintenance-control{grid-template-columns:1fr}.maintenance-control-action{justify-content:space-between}.maintenance-control-action .maintenance-toggle-button{flex:1}.maintenance-card{padding:30px 22px 24px}.maintenance-actions{flex-direction:column}.maintenance-actions .primary{width:100%}}.monthly-history-panel{margin-bottom:18px;padding:22px 24px 18px;overflow:hidden}.monthly-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.monthly-history-head h2{margin:3px 0 2px;font-size:19px}.monthly-history-head small,.monthly-history-legend{color:var(--muted);font-size:10px}.monthly-history-legend{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px 13px}.monthly-history-legend span{display:inline-flex;align-items:center;gap:5px;font-weight:700}.monthly-history-legend i{width:8px;height:8px;border-radius:3px}.monthly-history-legend i.income{background:var(--income)}.monthly-history-legend i.expense{background:var(--danger)}.monthly-history-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px}.monthly-history-summary>div{display:grid;gap:2px;padding:10px 12px;border-radius:10px;background:#f5f8f7}.monthly-history-summary span,.monthly-history-summary small{color:var(--muted);font-size:9px}.monthly-history-summary strong{font:700 14px Manrope,sans-serif}.monthly-history-scroll{margin:18px -4px 0;padding:0 4px 4px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.monthly-history-chart{display:grid;grid-template-columns:repeat(12,minmax(48px,1fr));gap:8px;min-width:700px;height:190px}.monthly-history-chart button{position:relative;display:grid;grid-template-rows:1fr auto;gap:8px;min-width:0;padding:8px 5px 5px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--muted)}.monthly-history-chart button:hover,.monthly-history-chart button.active{border-color:#9ccbc0;background:#f1f7f5;color:var(--primary)}.monthly-history-chart button.active{box-shadow:0 0 0 2px #0f766e14}.monthly-history-bars{display:flex;align-items:flex-end;justify-content:center;gap:4px;min-height:0}.monthly-history-bar{display:flex;align-items:flex-end;width:13px;min-height:2px;overflow:hidden;border-radius:5px 5px 2px 2px;transition:height .22s ease;transform-origin:bottom;animation:monthly-history-bar-in .55s cubic-bezier(.22,.8,.26,1) both}.monthly-history-bar.income{background:#cde9e2}.monthly-history-bar.expense{background:#f3d3cf}.monthly-history-bar b{display:block;width:100%;min-height:0;border-radius:inherit}.monthly-history-bar.income b{background:var(--income)}.monthly-history-bar.expense b{background:var(--danger)}.monthly-history-month{overflow:hidden;font-size:9px;font-weight:700;text-align:center;white-space:nowrap}.monthly-history-tooltip{position:absolute;z-index:6;top:8px;left:50%;display:grid;gap:2px;min-width:170px;padding:8px 10px;border:1px solid rgba(255,255,255,.14);border-radius:9px;background:#173b36;color:#fff;box-shadow:0 8px 24px #0c242133;pointer-events:none;text-align:left;transform:translate(-50%);animation:monthly-history-tooltip-in .14s ease both}.monthly-history-tooltip strong{font-size:10px}.monthly-history-tooltip small{color:#d2e6e1;font-size:9px;white-space:nowrap}.monthly-history-chart button:first-child .monthly-history-tooltip{left:0;transform:translate(0)}.monthly-history-chart button:last-child .monthly-history-tooltip{right:0;left:auto;transform:translate(0)}@keyframes monthly-history-bar-in{0%{transform:scaleY(0)}}@keyframes monthly-history-tooltip-in{0%{opacity:0;transform:translate(-50%,4px)}}@media(prefers-reduced-motion:reduce){.monthly-history-bar,.monthly-history-tooltip{animation:none}}:root[data-theme=dark] .monthly-history-summary>div,:root[data-theme=dark] .monthly-history-chart button:hover,:root[data-theme=dark] .monthly-history-chart button.active{background:#182622}.monthly-payment-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px;padding:5px;border:1px solid var(--line);border-radius:14px;background:#f6f9f8}.monthly-payment-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:8px 16px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-weight:700}.monthly-payment-tabs button:hover{color:var(--primary)}.monthly-payment-tabs button.active{background:var(--surface);color:var(--primary);box-shadow:0 2px 9px #1b403a1a}.monthly-payment-tabs button b{display:grid;place-items:center;min-width:24px;height:22px;padding:0 7px;border-radius:999px;background:#e6eeeb;color:var(--ink);font-size:10px}.monthly-payment-tabs button.active b{background:#e5f3ef;color:var(--primary)}.monthly-category-tabs{display:flex;gap:8px;margin-bottom:12px;padding:2px 1px 4px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.monthly-category-tabs button{display:inline-flex;align-items:center;flex:0 0 auto;gap:7px;min-height:36px;padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:11px;font-weight:700;white-space:nowrap}.monthly-category-tabs button:hover{border-color:#9ccbc0;color:var(--primary)}.monthly-category-tabs button.active{border-color:var(--primary);background:#e5f3ef;color:var(--primary);box-shadow:0 0 0 2px #0f766e14}.monthly-category-tabs button b{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#eef3f1;color:var(--ink);font-size:9px}.monthly-category-tabs button.active b{background:var(--surface);color:var(--primary)}.monthly-category-dot{width:7px;height:7px;border-radius:50%;background:var(--muted)}.monthly-category-dot.income{background:var(--income)}.monthly-category-dot.expense{background:var(--danger)}.monthly-panel{padding:0;overflow:hidden;border-radius:18px}.monthly-table-head,.monthly-item{display:grid;grid-template-columns:minmax(220px,1.6fr) minmax(145px,.95fr) minmax(128px,.72fr) minmax(118px,.72fr) minmax(108px,.62fr) 112px;column-gap:14px}.monthly-table-head{align-items:center;padding:10px 18px 10px 16px;border-bottom:1px solid var(--line);background:#f6f9f8;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.monthly-table-head span:last-child{text-align:right}.monthly-list{display:grid}.monthly-item{grid-template-areas:"info due amount slip status actions" "error error error error error error";align-items:center;row-gap:8px;min-height:82px;padding:12px 18px 12px 13px;border-bottom:1px solid #edf2f0;border-left:3px solid #efaa56;background:var(--surface);transition:background .18s ease}.monthly-item:last-child{border-bottom:0}.monthly-item.paid{border-left-color:var(--income);background:#fbfefd}.monthly-item.overdue{background:#fffaf9}.monthly-info-cell{grid-area:info;display:flex;align-items:center;gap:11px;min-width:0}.monthly-pin{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:#fff2df;color:#a76710;font-size:17px}.monthly-item.paid .monthly-pin{background:#e1f3ee;color:var(--income)}.monthly-info,.monthly-title{min-width:0}.monthly-title{display:block}.monthly-title strong,.monthly-title small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monthly-title strong{font-size:14px;line-height:1.45}.monthly-detail-link{border-bottom:1px dashed currentColor;color:var(--primary)}.monthly-detail-link:hover,.monthly-detail-link:focus-visible{border-bottom-color:currentColor;color:var(--primary);outline:0}.monthly-title small{margin-top:3px;color:var(--muted);font-size:10px}.monthly-kind-badge{margin-left:4px;padding:2px 6px;font-size:9px}.monthly-due-cell{grid-area:due;display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0;color:var(--muted);font-size:10px}.monthly-schedule,.installment-progress,.overdue-label{display:inline-flex;align-items:center;max-width:100%;min-width:0;gap:5px;border-radius:999px;font-weight:600}.monthly-schedule{padding:0;background:transparent;color:var(--muted)}.monthly-schedule b{color:var(--primary);font-size:12px}.installment-progress{padding:3px 7px;overflow:hidden;background:#fff7e8;color:#94621d;white-space:nowrap;text-overflow:ellipsis}.installment-progress b{color:#c38427;font-size:11px}.installment-progress.complete{background:#e7f5f1;color:var(--income)}.installment-progress.complete b{color:var(--income)}.overdue-label{padding:2px 7px;background:#fff0ed;color:var(--danger)}.monthly-due-cell small{color:var(--muted);font-size:10px}.monthly-amount-cell{grid-area:amount;display:flex;align-items:center;gap:6px;min-width:0}.monthly-amount{display:block;min-width:0;width:100%}.monthly-amount input{width:100%;min-width:0;height:36px;padding:7px 9px;border:1px solid #ccd9d5;border-radius:8px;background:var(--surface);color:var(--ink);outline:0;font-family:Manrope,IBM Plex Sans Thai,sans-serif;font-size:12px;font-variant-numeric:tabular-nums}.monthly-amount input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0f766e1a}.monthly-save-amount{flex:0 0 auto;min-height:34px;padding:7px 8px;border:0;border-radius:8px;background:#e1f3ee;color:var(--primary);font-size:10px;font-weight:700}.monthly-save-amount:disabled{opacity:.55}.monthly-slip-cell{grid-area:slip;min-width:0}.slip-picker,.slip-link,.no-slip{display:block;min-width:0}.slip-picker input{position:absolute;width:1px;height:1px;opacity:0}.slip-picker span,.slip-link,.no-slip{display:flex;align-items:center;width:100%;min-height:34px;padding:7px 9px;overflow:hidden;border-radius:8px;background:#eef3f1;color:var(--primary);font-size:10px;font-weight:700;white-space:nowrap;text-overflow:ellipsis}.slip-picker span{cursor:pointer}.no-slip{color:var(--muted);cursor:default}.monthly-status-cell{grid-area:status;min-width:0}.payment-toggle{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-width:0;min-height:36px;padding:7px 9px;border:0;border-radius:999px;background:#ffe3df;color:#c14337;font-size:11px;font-weight:700;white-space:nowrap}.payment-toggle.paid{background:#daf1e8;color:#08745e}.payment-toggle:disabled{opacity:.6}.payment-checkbox{display:grid;place-items:center;flex:0 0 17px;width:17px;height:17px;border:2px solid currentColor;border-radius:5px;font-size:10px}.monthly-item-actions{grid-area:actions;display:flex;align-items:center;justify-content:flex-end;gap:5px}.monthly-action-button{display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--muted);font-size:14px}.monthly-action-button:hover{border-color:#9ccbc0;background:#edf7f4;color:var(--primary)}.monthly-action-button.danger:hover{border-color:#efb0aa;background:#fff0ed;color:var(--danger)}.monthly-row-error{grid-area:error;margin:0}.monthly-mobile-label{display:none}.monthly-edit-schedule{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(120px,.6fr);gap:12px}.monthly-edit-schedule label{min-width:0}.monthly-edit-note{margin:0;padding:11px 13px;border-radius:10px;background:#eef6f3;color:var(--muted);font-size:11px;line-height:1.55}.monthly-kind-badge.debt{background:#eee9fb;color:#6653a3}.monthly-kind-badge.override{background:#e7f1fb;color:#3e6f9d}.monthly-action-button.occurrence{border-color:#cbddec;color:#3e6f9d}.monthly-action-button.occurrence:hover{border-color:#91b7d8;background:#edf6fd;color:#285f91}.debt-create-button{border-color:#d9d0ef;color:#6653a3}.debt-form-intro{display:flex;gap:12px;padding:14px;border-radius:13px;background:#f3effb;color:#6653a3}.debt-form-intro>span{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:#e4dcf6;font-size:20px;font-weight:800}.debt-form-intro strong,.debt-form-intro small{display:block}.debt-form-intro small{margin-top:3px;color:var(--muted);font-size:11px;line-height:1.5}.debt-amount-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.debt-amount-grid label{min-width:0}:root[data-theme=dark] .monthly-table-head{background:#182622}:root[data-theme=dark] .monthly-payment-tabs{background:#182622}:root[data-theme=dark] .monthly-payment-tabs button b{background:#24322e}:root[data-theme=dark] .monthly-payment-tabs button.active b{background:#203832}:root[data-theme=dark] .monthly-category-tabs button.active{background:#203832}:root[data-theme=dark] .monthly-category-tabs button b{background:#24322e}:root[data-theme=dark] .monthly-kind-badge.debt{background:#302b46;color:#b8a9ef}:root[data-theme=dark] .monthly-kind-badge.override{background:#26394a;color:#9dc7ea}:root[data-theme=dark] .monthly-action-button.occurrence{border-color:#40596d;color:#9dc7ea}:root[data-theme=dark] .debt-create-button{border-color:#4a4267;color:#b8a9ef}:root[data-theme=dark] .debt-form-intro{background:#28243b;color:#b8a9ef}:root[data-theme=dark] .debt-form-intro>span{background:#393250}@media(max-width:1180px)and (min-width:761px){.monthly-table-head{display:none}.monthly-item{grid-template-columns:minmax(200px,1.5fr) minmax(120px,.8fr) minmax(108px,.65fr);grid-template-areas:"info amount status" "due slip actions" "error error error";row-gap:10px;min-height:118px;padding:14px 16px 14px 13px}.monthly-due-cell{flex-direction:row;align-items:center;flex-wrap:wrap}}@media(max-width:760px){.monthly-history-panel{padding:18px 16px 14px}.monthly-history-head{display:grid}.monthly-history-legend{justify-content:flex-start}.monthly-history-summary{gap:5px}.monthly-history-summary>div{padding:9px}.monthly-history-summary strong{font-size:12px}.monthly-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.monthly-summary article{min-width:0;padding:12px}.monthly-summary span,.monthly-summary small{overflow:hidden;font-size:10px;white-space:nowrap;text-overflow:ellipsis}.monthly-summary strong{font-size:15px;white-space:nowrap}.monthly-panel{overflow:visible;border:0;background:transparent;box-shadow:none}.monthly-table-head{display:none}.monthly-list{gap:10px}.monthly-item{grid-template-columns:minmax(105px,1.15fr) minmax(76px,.76fr) minmax(104px,.9fr);grid-template-areas:"info info actions" "due due due" "amount slip status" "error error error";column-gap:7px;row-gap:8px;min-height:0;padding:14px;border:1px solid var(--line);border-left:4px solid #efaa56;border-radius:14px;box-shadow:0 8px 24px #1b403a0d}.monthly-item.paid{border-left-color:var(--income)}.monthly-info-cell{align-self:start}.monthly-title strong{font-size:14px}.monthly-due-cell{flex-direction:row;align-items:center;flex-wrap:wrap;padding-top:7px;border-top:1px solid var(--line)}.monthly-mobile-label{display:none}.monthly-amount-cell,.monthly-status-cell,.monthly-slip-cell{display:block;align-self:center}.monthly-amount input,.payment-toggle,.slip-picker span,.slip-link,.no-slip{min-height:38px}.monthly-amount-cell{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:6px}.monthly-save-amount{min-height:38px;padding-inline:7px}.monthly-item-actions{align-self:start}.monthly-action-button{width:32px;height:36px}}@media(max-width:560px){.monthly-header-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.monthly-header-actions>*{width:100%}.monthly-header-actions>:last-child{grid-column:1 / -1}.monthly-edit-schedule,.debt-amount-grid{grid-template-columns:1fr}}@media(max-width:390px){.monthly-item{padding:12px}.monthly-pin{display:none}.monthly-summary article{padding:10px 8px}.monthly-summary strong{font-size:13px}}@media(max-width:350px){.monthly-item{grid-template-columns:minmax(0,1fr) 104px;grid-template-areas:"info actions" "due due" "amount status" "slip slip" "error error"}}.monthly-detail-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.monthly-detail-summary article{display:grid;gap:4px;min-height:126px}.monthly-detail-summary span,.monthly-detail-summary small{color:var(--muted);font-size:11px}.monthly-detail-summary strong{margin:auto 0 2px;font:700 clamp(19px,2vw,27px) Manrope,sans-serif}.monthly-item-chart-panel{margin-bottom:18px;overflow:hidden}.monthly-item-chart-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.monthly-item-chart-head h2,.monthly-item-history-panel>header h2{margin:3px 0 1px;font-size:19px}.monthly-item-chart-head small{color:var(--muted);font-size:10px}.monthly-item-chart-head label{display:grid;gap:5px;color:var(--muted);font-size:10px}.monthly-item-chart-head select{min-width:120px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font-size:11px;font-weight:700;outline:none}.monthly-item-chart-head select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0f766e1a}.monthly-item-selected{display:grid;grid-template-columns:1fr .7fr 1.3fr;gap:8px;margin-top:16px}.monthly-item-selected>div{display:grid;gap:3px;padding:10px 12px;border-radius:10px;background:#f5f8f7}.monthly-item-selected span{color:var(--muted);font-size:9px}.monthly-item-selected strong{overflow:hidden;font-size:12px;white-space:nowrap;text-overflow:ellipsis}.monthly-item-selected strong.paid{color:var(--income)}.monthly-item-chart-scroll{margin-top:18px;padding-bottom:5px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.monthly-item-chart{display:grid;gap:8px;min-width:680px;height:220px}.monthly-item-chart button{display:grid;grid-template-rows:1fr auto;gap:8px;min-width:0;padding:8px 4px 5px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--muted)}.monthly-item-chart button:hover,.monthly-item-chart button.active{border-color:#9ccbc0;background:#f1f7f5;color:var(--primary)}.monthly-item-chart button.active{box-shadow:0 0 0 2px #0f766e14}.monthly-item-bar-wrap{display:flex;align-items:flex-end;justify-content:center;min-height:0}.monthly-item-bar-wrap>i{display:flex;align-items:flex-start;justify-content:center;width:min(24px,70%);min-height:4px;padding-top:5px;border-radius:7px 7px 2px 2px;background:#efaa56;color:#fff;font-style:normal;transition:height .22s ease}.monthly-item-chart button.income .monthly-item-bar-wrap>i{background:#74bbaa}.monthly-item-chart button.paid .monthly-item-bar-wrap>i{background:var(--income)}.monthly-item-chart button>span:last-child{overflow:hidden;font-size:9px;font-weight:700;text-align:center;white-space:nowrap}.monthly-item-bar-wrap b{font-size:9px}.monthly-item-history-panel{padding:0;overflow:hidden}.monthly-item-history-panel>header{display:flex;align-items:center;justify-content:space-between;padding:21px 24px}.monthly-item-history-list article{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(210px,1.5fr) minmax(110px,.7fr) minmax(90px,.65fr) 70px;gap:14px;align-items:center;padding:14px 24px;border-top:1px solid var(--line)}.monthly-item-history-month,.monthly-item-history-info,.monthly-item-history-status{display:grid;gap:2px;min-width:0}.monthly-item-history-month strong,.monthly-item-history-info strong,.monthly-item-history-status strong{font-size:12px}.monthly-item-history-month small,.monthly-item-history-info small,.monthly-item-history-status small{overflow:hidden;color:var(--muted);font-size:9px;white-space:nowrap;text-overflow:ellipsis}.monthly-item-history-info>strong>span{margin-left:5px;padding:2px 6px;border-radius:999px;background:#e8f1f8;color:#477b9e;font-size:8px}.monthly-item-history-amount{font:700 12px Manrope,sans-serif;text-align:right}.monthly-item-history-status{padding:7px 9px;border-radius:9px;background:#fff0ed;color:var(--danger);text-align:center}.monthly-item-history-status.paid{background:#e1f3ee;color:var(--income)}.monthly-item-history-slip{color:var(--primary);font-size:10px;font-weight:700;text-align:right}.monthly-item-history-no-slip{color:var(--muted);text-align:right}:root[data-theme=dark] .monthly-item-selected>div,:root[data-theme=dark] .monthly-item-chart button:hover,:root[data-theme=dark] .monthly-item-chart button.active{background:#182622}:root[data-theme=dark] .monthly-item-history-info>strong>span{background:#26394a;color:#9dc7ea}@media(max-width:900px){.monthly-item-history-list article{grid-template-columns:1fr 1.5fr auto;grid-template-areas:"month info amount" "status status slip"}.monthly-item-history-month{grid-area:month}.monthly-item-history-info{grid-area:info}.monthly-item-history-amount{grid-area:amount}.monthly-item-history-status{grid-area:status;text-align:left}.monthly-item-history-slip,.monthly-item-history-no-slip{grid-area:slip}}@media(max-width:760px){.monthly-detail-summary{grid-template-columns:1fr}.monthly-detail-summary article{min-height:105px}.monthly-item-chart-panel{padding:18px 16px}.monthly-item-chart-head{align-items:flex-start;flex-direction:column}.monthly-item-chart-head label,.monthly-item-chart-head select{width:100%}.monthly-item-selected{grid-template-columns:1fr}.monthly-item-history-panel>header{padding:18px 16px}.monthly-item-history-list article{grid-template-columns:1fr auto;grid-template-areas:"month amount" "info info" "status slip";padding:14px 16px}.monthly-item-history-info{padding:8px 0;border-top:1px dashed var(--line)}}.monthly-item-chart button{position:relative}.monthly-item-bar-wrap>i{transform-origin:bottom;animation:monthly-item-bar-in .55s cubic-bezier(.22,.8,.26,1) both}.monthly-item-chart-label{overflow:hidden;font-size:9px;font-weight:700;text-align:center;white-space:nowrap}.monthly-item-chart-tooltip{position:absolute!important;z-index:6;top:8px;left:50%;display:grid!important;gap:2px;min-width:180px;padding:8px 10px;overflow:visible!important;border:1px solid rgba(255,255,255,.14);border-radius:9px;background:#173b36;color:#fff;box-shadow:0 8px 24px #0c242133;pointer-events:none;text-align:left!important;white-space:normal!important;transform:translate(-50%);animation:monthly-item-tooltip-in .14s ease both}.monthly-item-chart-tooltip strong{font-size:10px}.monthly-item-chart-tooltip small{color:#d2e6e1;font-size:9px;white-space:nowrap}@keyframes monthly-item-bar-in{0%{transform:scaleY(0)}}@keyframes monthly-item-tooltip-in{0%{opacity:0;transform:translate(-50%,4px)}}@media(prefers-reduced-motion:reduce){.monthly-item-bar-wrap>i,.monthly-item-chart-tooltip{animation:none}}.monthly-item-chart button:first-child .monthly-item-chart-tooltip{left:0;transform:translate(0)}.monthly-item-chart button:last-child .monthly-item-chart-tooltip{right:0;left:auto;transform:translate(0)}:root[data-theme=dark]{--ink: #e7f2ef;--muted: #96aaa5;--primary: #43bfae;--primary-dark: #69d0c1;--line: #2b3b37;--surface: #17221f;--danger: #f08075;--income: #4dc7a8;--shadow: 0 16px 50px rgba(0, 0, 0, .22);color:var(--ink);background:#101916}:root[data-theme=dark] body,:root[data-theme=dark] .shell{background:#101916;color:var(--ink)}:root[data-theme=dark] .sidebar{background:#121d1a}:root[data-theme=dark] .sidebar nav a{color:#9db0ab}:root[data-theme=dark] .sidebar nav a:hover,:root[data-theme=dark] .sidebar nav a.router-link-active{background:#20332e;color:#72d2c3}:root[data-theme=dark] .sidebar-nav-group-toggle{color:#9db0ab}:root[data-theme=dark] .sidebar-nav-group-toggle:hover,:root[data-theme=dark] .sidebar-nav-group.active>.sidebar-nav-group-toggle{background:#20332e;color:#72d2c3}:root[data-theme=dark] .secondary,:root[data-theme=dark] .count,:root[data-theme=dark] .bar,:root[data-theme=dark] .chart-period,:root[data-theme=dark] .segmented{background:#24322e}:root[data-theme=dark] .transaction-row,:root[data-theme=dark] .table-row,:root[data-theme=dark] .category-list>div,:root[data-theme=dark] .monthly-item,:root[data-theme=dark] .admin-user-row,:root[data-theme=dark] .slip-history-row,:root[data-theme=dark] .skeleton-list-row,:root[data-theme=dark] .skeleton-table-row,:root[data-theme=dark] .skeleton-category-row,:root[data-theme=dark] .skeleton-monthly-row,:root[data-theme=dark] .skeleton-admin-row{border-color:#263632}:root[data-theme=dark] .loading-card,:root[data-theme=dark] .account-card,:root[data-theme=dark] .admin-metrics article,:root[data-theme=dark] .monthly-summary article,:root[data-theme=dark] .trip-metrics article,:root[data-theme=dark] .monthly-item,:root[data-theme=dark] .csv-summary article,:root[data-theme=dark] .modal,:root[data-theme=dark] .auth-page,:root[data-theme=dark] .mobile-menu-sheet{background:var(--surface);color:var(--ink)}:root[data-theme=dark] .table-title,:root[data-theme=dark] .admin-user-head,:root[data-theme=dark] .skeleton-table-head{background:#1b2925}:root[data-theme=dark] .table-row.from-slip{background:#182824;color:var(--ink)}:root[data-theme=dark] .form-grid input,:root[data-theme=dark] .form-grid select,:root[data-theme=dark] .auth-form input,:root[data-theme=dark] .profile-fields input,:root[data-theme=dark] .profile-fields select,:root[data-theme=dark] .profile-number-format select,:root[data-theme=dark] .settings-time-row input,:root[data-theme=dark] .settings-time-row select,:root[data-theme=dark] .time-input-24 select,:root[data-theme=dark] .time-input-12 select,:root[data-theme=dark] .monthly-amount input,:root[data-theme=dark] .month-switcher>label,:root[data-theme=dark] .admin-user-row select,:root[data-theme=dark] .admin-contact-form input{background:#111b18;border-color:#364843;color:var(--ink)}:root[data-theme=dark] .trip-add-member input{background:#111b18;border-color:#364843;color:var(--ink)}:root[data-theme=dark] .transaction-month-picker input{background:#111b18;border-color:#364843;color:var(--ink);color-scheme:dark}:root[data-theme=dark] .tag-picker-search input,:root[data-theme=dark] .tag-picker-options button,:root[data-theme=dark] .tag-picker-selected button{background:#111b18;border-color:#364843;color:var(--muted)}:root[data-theme=dark] .tag-picker-options button.selected,:root[data-theme=dark] .tag-picker-selected button,:root[data-theme=dark] .transaction-tags span{background:#203b34;border-color:#35685e;color:#77d5c7}:root[data-theme=dark] .trip-list-item:hover,:root[data-theme=dark] .trip-list-item.active,:root[data-theme=dark] .trip-participants button,:root[data-theme=dark] .trip-split-preview{background:#20332e;color:var(--ink)}:root[data-theme=dark] .trip-list-item.active .trip-list-icon{background:#2b403a}:root[data-theme=dark] .trip-expense-mode{background:#182622}:root[data-theme=dark] .trip-split-mode{background:#182622}:root[data-theme=dark] .trip-expense-mode button.active,:root[data-theme=dark] .trip-split-mode button.active,:root[data-theme=dark] .trip-payer button,:root[data-theme=dark] .trip-paid-members button{background:#20332e;color:var(--ink);border-color:#364843}:root[data-theme=dark] .trip-share-input{background:#111b18;border-color:#364843}:root[data-theme=dark] .trip-custom-summary{background:#382d20}:root[data-theme=dark] .trip-custom-summary.complete{background:#203b31}:root[data-theme=dark] .trip-custom-summary.over{background:#442923}:root[data-theme=dark] .trip-share-status{background:#442923}:root[data-theme=dark] .trip-share-status.paid{background:#203b31}:root[data-theme=dark] .credit-payment-breakdown{background:#2e281d;border-color:#5b4930}:root[data-theme=dark] .segmented button.active,:root[data-theme=dark] .chart-period button.active,:root[data-theme=dark] .time-format-toggle button.active{background:#33433f;color:#75d5c6}:root[data-theme=dark] .settings-toggle-row,:root[data-theme=dark] .settings-time-row,:root[data-theme=dark] .settings-format-row,:root[data-theme=dark] .dashboard-settings-columns label,:root[data-theme=dark] .notification-preview,:root[data-theme=dark] .avatar-editor,:root[data-theme=dark] .profile-number-format,:root[data-theme=dark] .pwa-install-state,:root[data-theme=dark] .category-choice-preview,:root[data-theme=dark] .icon-picker-grid button,:root[data-theme=dark] .mobile-menu-sheet nav a{background:#1b2925}:root[data-theme=dark] .theme-options button.active,:root[data-theme=dark] .icon-picker-grid button:hover,:root[data-theme=dark] .icon-picker-grid button.active{background:#203832}:root[data-theme=dark] .monthly-item.paid{background:#182824}:root[data-theme=dark] .monthly-item.overdue{background:#291f1d}:root[data-theme=dark] .monthly-schedule,:root[data-theme=dark] .monthly-edit-note{background:#22322e}:root[data-theme=dark] .installment-progress{background:#3b3020;color:#e8bd72}:root[data-theme=dark] .installment-progress.complete{background:#1f3a33;color:#62d4b6}:root[data-theme=dark] .monthly-action-button{background:#17221f}:root[data-theme=dark] .monthly-action-button:hover{background:#203832}:root[data-theme=dark] .monthly-action-button.danger:hover{background:#3a2421}:root[data-theme=dark] .dropzone,:root[data-theme=dark] .csv-dropzone{background:#182824;border-color:#42655d}:root[data-theme=dark] .table-row.transaction-clickable:hover,:root[data-theme=dark] .table-row.transaction-clickable:focus-visible,:root[data-theme=dark] .transaction-attachment-row,:root[data-theme=dark] .file-picker{background:#182824}:root[data-theme=dark] .transaction-attachment-file>span,:root[data-theme=dark] .transaction-attachments-head>span{background:#243a34}:root[data-theme=dark] .form-success{background:#1f3a33;color:#62d4b6}:root[data-theme=dark] .dropzone:hover,:root[data-theme=dark] .dropzone.active,:root[data-theme=dark] .dropzone.selected,:root[data-theme=dark] .dropzone.image-selected,:root[data-theme=dark] .csv-dropzone:hover{background:#203832}:root[data-theme=dark] .privacy-note,:root[data-theme=dark] .slip-history-preview,:root[data-theme=dark] .slip-picker span,:root[data-theme=dark] .slip-link,:root[data-theme=dark] .no-slip,:root[data-theme=dark] .account-slip-button{background:#223530}:root[data-theme=dark] .category-dot{background:#3b2623}:root[data-theme=dark] .category-dot.income,:root[data-theme=dark] .result-check,:root[data-theme=dark] .result-badge{background:#1f3a33}:root[data-theme=dark] .category-dot.transfer{background:#302d4c;color:#aaa0ef}:root[data-theme=dark] .transaction-row b.transfer,:root[data-theme=dark] .table-row b.transfer{color:#aaa0ef}:root[data-theme=dark] .empty-icon,:root[data-theme=dark] .account-icon,:root[data-theme=dark] .drop-icon,:root[data-theme=dark] .mobile-menu-sheet nav a>span,:root[data-theme=dark] .pwa-install-state>span{background:#243a34}:root[data-theme=dark] .settings-permission{background:#382f20;color:#e9b96d}:root[data-theme=dark] .settings-permission.granted,:root[data-theme=dark] .settings-success{background:#1f3a33;color:#62d4b6}:root[data-theme=dark] .settings-permission.denied,:root[data-theme=dark] .form-error,:root[data-theme=dark] .delete-blocked-message{background:#3a2421}:root[data-theme=dark] .bottom-nav{background:#121d1af5}:root[data-theme=dark] .switch-input{background:#40504c}:root[data-theme=dark] .switch-input:after{background:#e8f2ef}:root[data-theme=dark] .avatar-preview{border-color:#263632;background:linear-gradient(145deg,#213b35,#284a42)}:root[data-theme=dark] .theme-swatch.light{border-color:#53645f}:root[data-theme=dark] .chart-grid line{stroke:#2b3b37}:root[data-theme=dark] .chart-points circle{fill:#17221f}:root[data-theme=dark] .savings-goal-card .savings-progress{background:#33433f}:root[data-theme=dark] .skeleton-line,:root[data-theme=dark] .skeleton-avatar,:root[data-theme=dark] .skeleton-dot,:root[data-theme=dark] .skeleton-dropzone,:root[data-theme=dark] .skeleton-thumbnail,:root[data-theme=dark] .skeleton-chart-block{background:#283632}:root[data-theme=dark] .skeleton-line:after,:root[data-theme=dark] .skeleton-avatar:after,:root[data-theme=dark] .skeleton-dot:after,:root[data-theme=dark] .skeleton-dropzone:after,:root[data-theme=dark] .skeleton-thumbnail:after,:root[data-theme=dark] .skeleton-chart-block:after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent)}@media(max-width:760px){:root[data-theme=dark] .bottom-nav{background:#121d1af5}}.admin-monitoring-link,.monitoring-back{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;white-space:nowrap}.monitoring-toolbar{display:flex;align-items:center;justify-content:space-between;margin:-4px 0 20px}.monitoring-live{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;font-weight:700}.monitoring-live>span{width:8px;height:8px;border-radius:50%;background:var(--income);box-shadow:0 0 0 5px color-mix(in srgb,var(--income) 14%,transparent)}.monitoring-toolbar .segmented{display:flex;padding:4px;border-radius:12px}.monitoring-toolbar .segmented button{border:0;background:transparent;color:var(--muted);padding:8px 13px;border-radius:9px;font:700 11px Manrope,IBM Plex Sans Thai,sans-serif;cursor:pointer}.monitoring-toolbar .segmented button.active{background:var(--surface);color:var(--primary);box-shadow:0 2px 10px #20463d14}.monitoring-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.monitoring-metrics article{display:grid;grid-template-columns:46px minmax(0,1fr);gap:14px;align-items:center;padding:21px;background:var(--surface);border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow)}.monitoring-metrics article.warning{border-color:#efb2aa}.monitoring-metrics small,.monitoring-metrics strong,.monitoring-metrics p{display:block;margin:0}.monitoring-metrics small{color:var(--muted);font-size:11px;font-weight:700}.monitoring-metrics strong{font:700 26px/1.2 Manrope,sans-serif;margin:4px 0 2px}.monitoring-metrics p{color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monitoring-metric-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;font-weight:800;background:#e5f2ef;color:var(--primary)}.monitoring-metric-icon.requests{background:#e9eef9;color:#6674a8}.monitoring-metric-icon.errors{background:#fff0ed;color:var(--danger)}.monitoring-metric-icon.latency{background:#fff4df;color:#a87924}.monitoring-chart-panel{padding:0;overflow:hidden;margin-bottom:20px}.monitoring-chart-panel .panel-head,.monitoring-ranking .panel-head{display:flex;align-items:center;justify-content:space-between;padding:23px 25px;border-bottom:1px solid var(--line)}.monitoring-chart-panel .panel-head h2,.monitoring-ranking .panel-head h2{margin:4px 0 0;font:700 19px/1.3 Manrope,IBM Plex Sans Thai,sans-serif}.monitoring-chart-panel .panel-head p:last-child{margin:3px 0 0;color:var(--muted);font-size:11px}.monitoring-legend{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px}.monitoring-legend span{width:9px;height:9px;border-radius:3px;margin-left:7px}.monitoring-legend .page,.monitoring-bars .page{background:#43bfae}.monitoring-legend .api,.monitoring-bars .api{background:#6979b5}.monitoring-chart{height:275px;display:flex;align-items:stretch;gap:5px;padding:28px 24px 18px;overflow-x:auto;background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(25% - 1px),var(--line) 25%,transparent calc(25% + 1px))}.monitoring-bar-column{display:grid;grid-template-rows:minmax(0,1fr) 24px;min-width:32px;flex:1;gap:7px}.monitoring-bars{display:flex;align-items:flex-end;justify-content:center;gap:3px;min-height:0}.monitoring-bars>span{width:min(10px,42%);min-height:0;border-radius:5px 5px 2px 2px;transition:height .35s ease}.monitoring-bar-column small{color:var(--muted);font-size:9px;text-align:center;white-space:nowrap}.monitoring-empty{display:grid;place-items:center;text-align:center;padding:50px 20px}.monitoring-empty>span{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;background:#e5f2ef;color:var(--primary);font-size:22px}.monitoring-empty strong{margin-top:12px}.monitoring-empty p{margin:4px 0 0;color:var(--muted);font-size:11px}.monitoring-lists{display:grid;grid-template-columns:.8fr 1.2fr;gap:20px}.monitoring-ranking{padding:0;overflow:hidden}.monitoring-rank-list>div{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;padding:13px 20px;border-top:1px solid var(--line)}.monitoring-rank-list>div:first-child{border-top:0}.monitoring-rank-list b{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#edf4f2;color:var(--primary);font-size:10px}.monitoring-rank-list code{overflow:hidden;text-overflow:ellipsis;color:var(--ink);font:600 11px/1.4 SFMono-Regular,Consolas,monospace}.monitoring-rank-list strong{font:700 12px Manrope,sans-serif}.endpoint-ranking .monitoring-rank-list>div{grid-template-columns:48px minmax(0,1fr) auto auto}.endpoint-ranking .method{padding:4px 5px;border-radius:6px;background:#e5f2ef;color:var(--primary);font:800 8px Manrope,sans-serif;text-align:center}.endpoint-ranking .method.post{background:#e9eef9;color:#6674a8}.endpoint-ranking .method.patch,.endpoint-ranking .method.put{background:#fff4df;color:#9b7024}.endpoint-ranking .method.delete{background:#fff0ed;color:var(--danger)}.endpoint-health{color:var(--muted);font-size:9px;white-space:nowrap}.endpoint-health.bad{color:var(--danger);font-weight:700}.monitoring-list-empty{margin:0;padding:38px 20px;text-align:center;color:var(--muted);font-size:11px}.monitoring-privacy{margin:18px 0 0;color:var(--muted);font-size:10px;text-align:center}.monitoring-error{display:grid;justify-items:start;gap:6px;padding:28px}.monitoring-error p{margin:0 0 8px;color:var(--muted)}:root[data-theme=dark] .monitoring-toolbar .segmented button.active{background:#33433f}:root[data-theme=dark] .monitoring-metric-icon,:root[data-theme=dark] .monitoring-empty>span,:root[data-theme=dark] .monitoring-rank-list b{background:#203832}:root[data-theme=dark] .monitoring-metric-icon.requests{background:#272e45}:root[data-theme=dark] .monitoring-metric-icon.errors{background:#3a2421}:root[data-theme=dark] .monitoring-metric-icon.latency{background:#3c3322}:root[data-theme=dark] .endpoint-ranking .method{background:#203832}:root[data-theme=dark] .endpoint-ranking .method.post{background:#272e45}:root[data-theme=dark] .endpoint-ranking .method.patch,:root[data-theme=dark] .endpoint-ranking .method.put{background:#3c3322}:root[data-theme=dark] .endpoint-ranking .method.delete{background:#3a2421}@media(max-width:1050px){.monitoring-metrics{grid-template-columns:repeat(2,1fr)}.monitoring-lists{grid-template-columns:1fr}.monitoring-chart.daily .monitoring-bar-column{min-width:34px}}@media(max-width:650px){.page-header .admin-monitoring-link,.page-header .monitoring-back{width:100%}.monitoring-toolbar{align-items:flex-start;gap:14px;flex-direction:column}.monitoring-toolbar .segmented{width:100%}.monitoring-toolbar .segmented button{flex:1}.monitoring-metrics{gap:10px}.monitoring-metrics article{padding:15px;grid-template-columns:40px minmax(0,1fr);gap:10px}.monitoring-metric-icon{width:40px;height:40px}.monitoring-metrics strong{font-size:21px}.monitoring-chart-panel .panel-head{align-items:flex-start;gap:14px;flex-direction:column}.monitoring-chart{height:240px;padding-inline:15px}.monitoring-bar-column{min-width:36px}.monitoring-chart.daily .monitoring-bar-column{min-width:42px}.endpoint-ranking .monitoring-rank-list>div{grid-template-columns:45px minmax(0,1fr) auto}.endpoint-ranking .endpoint-health{grid-column:2}.endpoint-ranking .monitoring-rank-list strong{grid-column:3;grid-row:1}.monitoring-ranking .panel-head{padding:19px}.monitoring-rank-list>div{padding:12px 15px}}.monitoring-bar-column{position:relative;outline:0}.monitoring-bar-column:focus-visible{border-radius:8px;box-shadow:0 0 0 3px #0f766e24}.monitoring-bars>span{transform-origin:bottom;animation:monitoring-bar-in .5s cubic-bezier(.22,.8,.26,1) both}.monitoring-chart-tooltip{position:absolute;z-index:7;top:8px;left:50%;display:grid;gap:2px;min-width:130px;padding:8px 10px;border:1px solid rgba(255,255,255,.14);border-radius:9px;background:#173b36;color:#fff;box-shadow:0 8px 24px #0c242133;pointer-events:none;transform:translate(-50%);animation:monitoring-tooltip-in .14s ease both}.monitoring-chart-tooltip strong{font-size:10px}.monitoring-chart-tooltip small{color:#d2e6e1!important;font-size:9px!important;text-align:left!important}@keyframes monitoring-bar-in{0%{transform:scaleY(0)}}@keyframes monitoring-tooltip-in{0%{opacity:0;transform:translate(-50%,4px)}}@media(prefers-reduced-motion:reduce){.monitoring-bars>span,.monitoring-chart-tooltip{animation:none}}.monitoring-bar-column:first-child .monitoring-chart-tooltip{left:0;transform:translate(0)}.monitoring-bar-column:last-child .monitoring-chart-tooltip{right:0;left:auto;transform:translate(0)}.account-cover-card{position:relative;overflow:hidden;border-width:1px!important;border-color:transparent!important;color:var(--account-cover-ink);isolation:isolate}.account-cover-card:before{content:"";position:absolute;z-index:-1;width:190px;height:190px;right:-78px;top:-92px;border:38px solid rgba(255,255,255,.09);border-radius:50%}.account-cover-card small,.account-cover-card>p{color:color-mix(in srgb,var(--account-cover-ink) 72%,transparent)}.account-cover-card .account-card-hint{color:var(--account-cover-ink)!important}.account-cover-card .account-icon{background:#ffffff2e;color:var(--account-cover-ink);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.account-cover-card .icon-button{color:var(--account-cover-ink);background:#ffffff14}.account-cover-card .icon-button:hover{background:#fff3;color:var(--account-cover-ink)}.account-cover-card:hover,.account-cover-card:focus-visible{border-color:#ffffff57!important;box-shadow:0 22px 55px color-mix(in srgb,var(--account-cover) 28%,transparent)}.account-cover-picker{display:grid;gap:14px;margin:0;padding:0;border:0;min-width:0}.account-cover-picker legend{margin-bottom:8px;font-size:13px;font-weight:600}.account-cover-swatches{display:flex;flex-wrap:wrap;gap:10px}.account-cover-swatch{display:grid;place-items:center;width:39px;height:39px;padding:0;border:3px solid transparent;border-radius:12px;color:#fff;font-weight:800;box-shadow:inset 0 0 0 1px #00000014}.account-cover-swatch.selected{border-color:var(--surface);outline:2px solid var(--primary);outline-offset:1px}.account-cover-custom{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--surface) 94%,var(--ink))}.account-cover-custom label{display:flex;align-items:center;gap:10px!important;font-weight:600}.account-cover-custom input[type=color]{width:42px;height:32px;padding:2px;border-radius:8px;cursor:pointer}.account-cover-custom code{color:var(--muted);font-size:12px}.account-cover-preview{display:flex;align-items:center;gap:12px;min-height:92px;padding:18px;border-radius:15px;overflow:hidden;position:relative}.account-cover-preview:after{content:"";position:absolute;width:90px;height:90px;right:-25px;top:-28px;border:18px solid rgba(255,255,255,.1);border-radius:50%}.account-cover-preview>span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#ffffff2e;font-size:20px}.account-cover-preview small,.account-cover-preview strong{display:block;color:inherit}.account-cover-preview small{opacity:.74;font-size:11px}.account-cover-preview strong{margin-top:2px;font-size:16px}.account-cover-detail{position:relative;isolation:isolate;overflow:hidden;background-image:none!important;color:var(--account-cover-ink)}.account-cover-detail:after{content:"";position:absolute;z-index:-1;width:170px;height:170px;right:-65px;bottom:-88px;border:34px solid rgba(255,255,255,.09);border-radius:50%}.account-cover-detail span,.account-cover-detail small{color:color-mix(in srgb,var(--account-cover-ink) 74%,transparent)}.account-cover-edit{position:absolute;right:18px;top:17px;padding:7px 10px;border:1px solid rgba(255,255,255,.24);border-radius:9px;background:#ffffff21;color:var(--account-cover-ink);font-size:11px;font-weight:700;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.account-cover-edit:hover{background:#ffffff3d}@media(max-width:760px){.account-cover-swatches{gap:8px}.account-cover-swatch{width:36px;height:36px}.account-cover-edit{right:14px;top:14px}.account-cover-detail{padding-top:58px}}.transaction-insights{margin-bottom:20px}.transaction-insights-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:20px}.transaction-insights-head h2{margin:3px 0 0;font-size:19px}.transaction-insights-head small{color:var(--muted)}.transaction-insights-head>div>small{display:block;margin-top:4px}.transaction-month-picker{display:grid;gap:5px;flex:0 0 auto;color:var(--muted);font-size:11px;font-weight:600}.transaction-month-picker input{min-width:170px;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font:inherit;font-size:13px;font-weight:600;outline:none;color-scheme:light}.transaction-month-picker input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0f766e1a}.expense-pie-content{display:grid;grid-template-columns:minmax(210px,.7fr) minmax(280px,1.3fr);gap:30px;align-items:center}.expense-pie{display:grid;place-items:center;width:min(250px,100%);aspect-ratio:1;margin:auto;position:relative}.expense-pie svg{display:block;width:100%;height:100%;overflow:visible;transform:rotate(-90deg)}.expense-pie-track,.expense-pie-segment{fill:none;stroke-width:22}.expense-pie-track{stroke:#e7efec}.expense-pie-segment{cursor:pointer;transition:opacity .18s ease,stroke-width .18s ease,filter .18s ease;animation:expense-pie-reveal .72s cubic-bezier(.22,.8,.26,1) both}.expense-pie-segment:hover,.expense-pie-segment:focus,.expense-pie-segment.active{stroke-width:25;filter:drop-shadow(0 3px 3px rgba(16,45,40,.2));outline:none}.expense-pie-segment.muted{opacity:.38}.expense-pie-center{position:absolute;z-index:1;display:grid;text-align:center;width:52%;pointer-events:none}.expense-pie-center small{color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.expense-pie-center strong{margin-top:3px;font:700 clamp(15px,2vw,21px) Manrope,sans-serif;white-space:nowrap}.expense-pie-tooltip,.chart-tooltip{position:absolute;z-index:4;display:grid;gap:2px;min-width:max-content;padding:8px 10px;border:1px solid rgba(255,255,255,.14);border-radius:9px;background:#173b36;color:#fff;box-shadow:0 8px 24px #0c242133;pointer-events:none;transform:translate(-50%,calc(-100% - 9px));animation:chart-tooltip-in .14s ease both}.expense-pie-tooltip strong{font-size:11px}.expense-pie-tooltip span{color:#d2e6e1;font-size:10px}.expense-pie-legend{display:grid;gap:3px}.expense-pie-legend>div{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:11px;padding:10px 4px;border-bottom:1px solid var(--line);border-radius:8px;transition:opacity .18s ease,background .18s ease,transform .18s ease}.expense-pie-legend>div:last-child{border-bottom:0}.expense-pie-legend>div:hover,.expense-pie-legend>div:focus,.expense-pie-legend>div.active{background:color-mix(in srgb,var(--primary) 8%,transparent);outline:none;transform:translate(3px)}.expense-pie-legend>div.muted{opacity:.46}.expense-pie-legend i{width:10px;height:10px;border-radius:50%}.expense-pie-legend span strong,.expense-pie-legend span small{display:block}.expense-pie-legend span strong{font-size:13px}.expense-pie-legend span small{margin-top:2px;color:var(--muted);font-size:10px}.expense-pie-legend b{font:700 12px Manrope,sans-serif}.expense-pie-empty{padding:38px;text-align:center;color:var(--muted)}.transaction-date-group{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 24px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface) 92%,var(--primary));color:var(--ink);position:sticky;top:0;z-index:1}.transaction-date-group strong{font-size:12px}.transaction-date-group small{color:var(--muted);font-size:10px}.savings-progress{height:8px;border-radius:99px;background:#ffffff3d;overflow:hidden}.savings-progress>i{position:relative;display:block;height:100%;border-radius:inherit;background:currentColor;transform-origin:left center;animation:savings-progress-fill .9s cubic-bezier(.22,.8,.26,1) both}.savings-progress>i:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.48),transparent);transform:translate(-100%);animation:savings-progress-shine .7s .48s ease-out both}.account-savings-goal{display:grid;gap:7px;margin-top:12px}.account-savings-goal>div{display:flex;justify-content:space-between;gap:8px;font-size:10px}.account-savings-goal small{color:inherit!important;opacity:.8}.account-detail-summary.has-savings{grid-template-columns:1.15fr .8fr .7fr 1fr}.account-detail-summary article.savings-goal-card{display:grid;gap:8px}.savings-goal-card strong{margin:5px 0!important}.savings-goal-card .savings-progress{background:#e3ece9;color:var(--primary)}.savings-goal-card footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.savings-goal-card footer small{color:var(--muted)}.savings-goal-card footer button{padding:6px 9px;font-size:10px}@keyframes savings-progress-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes savings-progress-shine{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.savings-progress>i,.savings-progress>i:after{animation:none}}@media(max-width:1100px){.account-detail-summary.has-savings{grid-template-columns:1fr 1fr}.account-detail-summary.has-savings article:first-child{grid-column:1/-1}}@media(max-width:760px){.expense-pie-content{grid-template-columns:1fr}.expense-pie{width:220px}.transaction-insights-head{align-items:flex-start;flex-direction:column}.transaction-date-group{padding:10px 16px;top:auto}.account-savings-goal{margin-bottom:5px}.account-detail-summary.has-savings{grid-template-columns:1fr}.account-detail-summary.has-savings article:first-child{grid-column:auto}}.expense-pie-legend{max-height:360px;padding-right:8px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.transaction-list-controls{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:18px 24px 10px}.transaction-list-controls>div{display:grid;gap:2px}.transaction-list-controls strong{font-size:14px}.transaction-list-controls small,.transaction-list-controls label span{color:var(--muted);font-size:10px}.transaction-list-controls label{display:grid;gap:5px;flex:0 0 auto}.transaction-list-controls select{min-width:116px;padding:8px 30px 8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font-size:11px;font-weight:700;outline:none}.transaction-list-controls select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0f766e1a}.transaction-category-tabs{display:flex;gap:7px;padding:6px 24px 14px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.transaction-category-tabs button{display:inline-flex;align-items:center;flex:0 0 auto;gap:7px;min-height:34px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:10px;font-weight:700;white-space:nowrap}.transaction-category-tabs button:hover{border-color:#9ccbc0;color:var(--primary)}.transaction-category-tabs button.active{border-color:var(--primary);background:#e5f3ef;color:var(--primary);box-shadow:0 0 0 2px #0f766e14}.transaction-category-tabs button b{display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#eef3f1;color:var(--ink);font-size:9px}.transaction-category-tabs button.active b{background:var(--surface);color:var(--primary)}.transaction-filter-dot{width:7px;height:7px;border-radius:50%;background:var(--muted)}.transaction-filter-dot.income{background:var(--income)}.transaction-filter-dot.expense{background:var(--danger)}.transaction-filter-dot.transfer{background:#6575a8}.transaction-list-content>.empty{border-top:1px solid var(--line)}:root[data-theme=dark] .transaction-category-tabs button.active{background:#203832}:root[data-theme=dark] .transaction-category-tabs button b{background:#24322e}@media(max-width:760px){.transaction-list-controls{align-items:flex-start;padding:15px 16px 8px}.transaction-list-controls select{min-width:105px}.transaction-category-tabs{padding:6px 16px 12px}}@keyframes expense-pie-reveal{0%{stroke-dasharray:0 100;opacity:.35}}@keyframes chart-tooltip-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.expense-pie-segment,.expense-pie-tooltip{animation:none}.expense-pie-segment,.expense-pie-legend>div{transition:none}}.filterable-table-panel{overflow:visible}.filterable-table-panel .transaction-list-content,.filterable-table-panel .transaction-table{overflow:hidden;border-radius:0 0 17px 17px}.transaction-filter-toolbar{display:flex;padding:4px 24px 16px}.multi-select-filter{position:relative;z-index:8;width:min(100%,340px)}.multi-select-trigger{width:100%;min-height:45px;padding:7px 11px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--ink);display:flex;align-items:center;gap:10px;text-align:left}.multi-select-trigger:hover,.multi-select-trigger.open{border-color:#8dc4b9;box-shadow:0 0 0 3px #0f766e14}.multi-select-trigger.active{border-color:var(--primary);background:#f0f8f6}.multi-select-trigger>span{display:grid;gap:1px;min-width:0;margin-right:auto}.multi-select-trigger small{color:var(--muted);font-size:8px;font-weight:600}.multi-select-trigger strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.multi-select-trigger>b{display:grid;place-items:center;min-width:24px;height:22px;padding:0 6px;border-radius:999px;background:var(--primary);color:#fff;font-size:9px}.multi-select-trigger>svg{color:var(--muted);font-size:10px;transition:transform .18s}.multi-select-trigger.open>svg{transform:rotate(180deg)}.multi-select-popover{position:absolute;z-index:20;top:calc(100% + 7px);left:0;width:min(360px,calc(100vw - 32px));padding:12px;border:1px solid var(--line);border-radius:15px;background:var(--surface);box-shadow:0 20px 55px #0c242133}.multi-select-popover>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.multi-select-popover>header>div{display:grid;gap:2px}.multi-select-popover>header strong{font-size:13px}.multi-select-popover>header small{color:var(--muted);font-size:9px}.multi-select-popover>header button{width:28px;height:28px;border:0;border-radius:8px;background:transparent;color:var(--muted)}.multi-select-popover>header button:hover{background:#eef3f1;color:var(--ink)}.multi-select-search{display:flex!important;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--muted)}.multi-select-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #0f766e14}.multi-select-search svg{font-size:11px}.multi-select-search input{min-width:0;width:100%;padding:9px 0;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;color:var(--ink);font-size:11px}.multi-select-all,.multi-select-options>button{width:100%;display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:9px;padding:9px;border:0;border-radius:9px;background:transparent;color:var(--ink);text-align:left}.multi-select-options>button{grid-template-columns:20px 7px minmax(0,1fr)}.multi-select-all{margin:8px 0 3px}.multi-select-all:hover,.multi-select-options>button:hover{background:#f1f7f5}.multi-select-all.active,.multi-select-options>button.selected{background:#e9f5f2}.multi-select-checkbox{width:19px;height:19px;border:1.5px solid #a9bab5;border-radius:5px;display:grid;place-items:center;color:transparent;font-size:10px;font-weight:800}.multi-select-all.active .multi-select-checkbox,.multi-select-options>button.selected .multi-select-checkbox{border-color:var(--primary);background:var(--primary);color:#fff}.multi-select-all>span:last-child,.multi-select-options>button>span:last-child{display:grid;gap:1px}.multi-select-all strong,.multi-select-options strong{font-size:11px}.multi-select-all small,.multi-select-options small{color:var(--muted);font-size:8px}.multi-select-options{display:grid;max-height:260px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.multi-select-options i{width:7px;height:7px;border-radius:50%;background:var(--muted)}.multi-select-options i.income{background:var(--income)}.multi-select-options i.expense{background:var(--danger)}.multi-select-options i.transfer{background:#6575a8}.multi-select-options>p{margin:0;padding:22px 8px;text-align:center;color:var(--muted);font-size:10px}.multi-select-popover>footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;padding-top:10px;border-top:1px solid var(--line)}.multi-select-popover>footer small{color:var(--muted);font-size:8px}.multi-select-popover>footer button{padding:6px 9px;border:0;border-radius:7px;background:var(--primary);color:#fff;font-size:9px;font-weight:700}.filter-popover-enter-active,.filter-popover-leave-active{transition:opacity .15s ease,transform .15s ease}.filter-popover-enter-from,.filter-popover-leave-to{opacity:0;transform:translateY(-5px)}.account-transaction-controls{display:flex;align-items:center;justify-content:flex-end;gap:9px}.account-transaction-controls .multi-select-filter{width:240px}.account-transaction-controls .multi-select-popover{right:0;left:auto}.filterable-table-panel .transaction-list-content{overflow:visible}.multi-select-options i.placeholder{visibility:hidden}:root[data-theme=dark] .multi-select-trigger.active,:root[data-theme=dark] .multi-select-all.active,:root[data-theme=dark] .multi-select-options>button.selected{background:#203832}:root[data-theme=dark] .multi-select-all:hover,:root[data-theme=dark] .multi-select-options>button:hover,:root[data-theme=dark] .multi-select-popover>header button:hover{background:#24322e}@media(max-width:760px){.transaction-filter-toolbar{padding:4px 16px 14px}.multi-select-filter{width:100%}.multi-select-popover{position:fixed;z-index:60;inset:auto 12px calc(76px + env(safe-area-inset-bottom));width:auto;max-height:calc(100vh - 110px)}.multi-select-options{max-height:min(330px,45vh)}.account-transactions-head{align-items:stretch;flex-direction:column}.account-transaction-controls{justify-content:stretch}.account-transaction-controls .multi-select-filter{width:100%}.account-transaction-controls>.count{flex:0 0 30px}}.transaction-filter-toolbar{flex-wrap:wrap;gap:10px}.transaction-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.transaction-tags span{padding:2px 7px;border:1px solid #cce5df;border-radius:999px;background:#f0f8f6;color:var(--primary-dark);font-size:8px;font-weight:650}.tag-picker{min-width:0;margin:0;padding:12px;border:1px solid var(--line);border-radius:11px}.tag-picker legend{padding:0 6px;color:var(--ink);font-size:12px;font-weight:700}.tag-picker legend small{margin-left:5px;color:var(--muted);font-size:9px;font-weight:400}.tag-picker-selected,.tag-picker-options{display:flex;flex-wrap:wrap;gap:6px}.tag-picker-selected{margin-bottom:9px}.tag-picker-selected button,.tag-picker-options button{border:1px solid #cfe0dc;border-radius:999px;background:var(--surface);color:var(--muted);padding:6px 9px;font-size:10px}.tag-picker-selected button,.tag-picker-options button.selected{border-color:var(--primary);background:#e9f5f2;color:var(--primary-dark)}.tag-picker-search{display:flex;align-items:stretch;gap:7px;margin-bottom:9px}.tag-picker-search input{min-width:0}.tag-picker-search .secondary{flex:0 0 auto;padding:8px 10px;font-size:10px}.tag-picker-options{max-height:112px;overflow-y:auto}.tag-picker-options button span{margin-right:3px;font-weight:800}.tag-picker>small{color:var(--muted);font-size:10px}@media(max-width:760px){.account-transaction-controls{flex-wrap:wrap}.tag-picker-search{align-items:stretch;flex-direction:column}.tag-picker-search .secondary{width:100%}}.multi-select-layer{display:contents}.transaction-limit-filter{display:grid;align-content:center;gap:2px;min-width:150px;min-height:45px;padding:7px 11px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.transaction-limit-filter span{color:var(--muted);font-size:8px;font-weight:600}.transaction-limit-filter select{width:100%;padding:0 24px 0 0;border:0;background:transparent;color:var(--ink);font-size:11px;font-weight:700;outline:0}.transaction-limit-filter:focus-within{border-color:#8dc4b9;box-shadow:0 0 0 3px #0f766e14}@media(max-width:760px){body.multi-select-open{overflow:hidden}.multi-select-layer{position:fixed;z-index:80;inset:0;display:block;background:#0719157a;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.multi-select-layer .multi-select-popover{position:absolute;z-index:1;inset:auto 0 0;width:100%;max-height:min(78dvh,620px);padding:16px 16px max(16px,env(safe-area-inset-bottom));border-width:1px 0 0;border-radius:20px 20px 0 0;display:flex;flex-direction:column;box-shadow:0 -18px 60px #061b1747}.multi-select-layer .multi-select-options{flex:1;min-height:120px;max-height:none}.multi-select-layer .multi-select-popover>footer{flex:0 0 auto}.filter-popover-enter-from,.filter-popover-leave-to{opacity:0;transform:none}.filter-popover-enter-active .multi-select-popover,.filter-popover-leave-active .multi-select-popover{transition:transform .18s ease}.filter-popover-enter-from .multi-select-popover,.filter-popover-leave-to .multi-select-popover{transform:translateY(100%)}.transaction-limit-filter{width:100%}}.dashboard-metric-grid.metrics-1{grid-template-columns:minmax(0,1fr)}.dashboard-metric-grid.metrics-2{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-account-status{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-bottom:20px}.dashboard-account-card{display:grid;gap:3px;min-height:132px;padding:18px;border:1px solid color-mix(in srgb,var(--account-cover-ink) 18%,transparent);border-radius:16px;background:var(--account-cover-bg);color:var(--account-cover-ink);box-shadow:var(--shadow);transition:transform .18s ease,box-shadow .18s ease}.dashboard-account-card:hover,.dashboard-account-card:focus-visible{transform:translateY(-2px);box-shadow:0 18px 46px #1b403a26;outline:0}.dashboard-account-card span,.dashboard-account-card small{font-size:10px;opacity:.72}.dashboard-account-card strong{font-size:14px}.dashboard-account-card b{margin:auto 0 2px;font:700 21px Manrope,sans-serif}.dashboard-breakdown-bar{position:relative;outline:0}.dashboard-breakdown-bar:focus-visible{box-shadow:0 0 0 3px #0f766e24}.dashboard-breakdown-bar>i{transform-origin:left center;animation:dashboard-bar-grow .58s cubic-bezier(.22,.8,.26,1) both}.dashboard-bar-tooltip{position:absolute;z-index:5;left:50%;bottom:calc(100% + 8px);display:grid;gap:2px;min-width:max-content;padding:8px 10px;border:1px solid rgba(255,255,255,.14);border-radius:9px;background:#173b36;color:#fff;box-shadow:0 8px 24px #0c242133;pointer-events:none;transform:translate(-50%);animation:graph-tooltip-in .14s ease both}.dashboard-bar-tooltip strong{font-size:10px}.dashboard-bar-tooltip small{color:#d2e6e1;font-size:9px}@keyframes dashboard-bar-grow{0%{transform:scaleX(0)}}@keyframes graph-tooltip-in{0%{opacity:0;transform:translate(-50%,4px)}to{opacity:1;transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.dashboard-breakdown-bar>i,.dashboard-bar-tooltip{animation:none}}@media(max-width:760px){.dashboard-metric-grid.metrics-2,.dashboard-account-status{grid-template-columns:1fr 1fr}.dashboard-account-card{min-height:115px;padding:15px}.dashboard-account-card b{font-size:17px}}@media(max-width:460px){.dashboard-account-status{grid-template-columns:1fr}}
