:root{--primary:#1a1a1a;--tint:#f0f0f0;--bg:#f4f4f4;--surface:#fff;--border:#e5e5e5;--text:#111;--text-2:#6b6b6b;--income:#15803d;--expense:#e5484d;--warn:#b45309;--warn-bg:#fef3c7;--net:var(--primary);--shadow-sm:0 1px 3px #00000014;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{height:100%}body{background:var(--bg);height:100%;color:var(--text);-webkit-tap-highlight-color:transparent;margin:0;font-family:Sarabun,system-ui,sans-serif;font-size:15px;line-height:1.45}#root{height:100%}#app{background:var(--bg);flex-direction:column;height:100dvh;display:flex;position:relative;overflow:hidden}[hidden]{display:none!important}button,input,select,textarea{font:inherit;color:inherit}.money{font-variant-numeric:tabular-nums;font-weight:600}.icon{vertical-align:middle;flex:none;display:inline-block}.ic-primary{color:var(--primary)}.ic-income{color:var(--income)}.ic-expense{color:var(--expense)}.ic-muted{color:var(--text-2)}.ic-white{color:#fff}.ic-warn{color:var(--warn)}.screen{flex-direction:column;flex:auto;min-height:0;display:flex;position:relative}.topbar{padding:0 6px;padding-top:env(safe-area-inset-top);border-bottom:1px solid var(--border);background:var(--surface);flex:none;align-items:center;gap:4px;min-height:56px;display:flex}.topbar .ttl{text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.01em;flex:1;min-width:0;font-size:17px;font-weight:700;overflow:hidden}.iconbtn{min-width:44px;min-height:44px;color:var(--text-2);background:0 0;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.iconbtn:active{background:var(--bg)}.main{-webkit-overflow-scrolling:touch;flex:auto;min-height:0;overflow:hidden auto}.bottomnav{border-top:1px solid var(--border);background:var(--surface);min-height:64px;padding-bottom:env(safe-area-inset-bottom);flex:none;display:flex;box-shadow:0 -2px 6px #00000008}.bottomnav button{min-height:64px;color:var(--text-2);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:13px;font-weight:500;display:flex}.bottomnav button.active{color:var(--primary);font-weight:700}.navicon{display:flex}.section{border-bottom:1px solid var(--border);padding:12px 14px}.section:last-child{border-bottom:none}.row{align-items:center;gap:8px;min-height:44px;display:flex}.row-between{justify-content:space-between;align-items:center;gap:8px;min-height:44px;display:flex}.muted{color:var(--text-2)}.small{font-size:13px}.btn{border:1px solid var(--border);background:var(--surface);min-height:48px;color:var(--text);box-shadow:var(--shadow-sm);border-radius:10px;flex:1;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-weight:600;display:flex}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-danger{background:var(--expense);color:#fff;border-color:var(--expense)}.btn-stack{flex-direction:column;gap:5px;min-height:64px;font-size:14px}.btn-primary:disabled,.btn:disabled{opacity:.45}.btnrow{gap:10px;padding:12px 14px;display:flex}.chip{border:1px solid var(--border);background:var(--surface);white-space:nowrap;border-radius:20px;align-items:center;gap:4px;min-height:36px;padding:8px 14px;font-size:13px;font-weight:500;display:inline-flex;position:relative}.chip:after{content:"";position:absolute;inset:-4px 0}.chip.active{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:600}.chiprow{flex-wrap:wrap;gap:8px;padding:10px 14px;display:flex}.searchbox{border:1px solid var(--border);background:var(--surface);color:var(--text-2);border-radius:10px;align-items:center;gap:8px;margin:10px 14px;padding:10px 12px;display:flex}.searchbox input{min-width:0;color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:15px}.field{margin-bottom:12px}.field label{color:var(--text-2);margin-bottom:5px;font-size:13px;font-weight:500;display:block}.field input[type=text],.field input[type=number],.field textarea,.field select{border:1px solid var(--border);background:var(--surface);border-radius:10px;width:100%;min-height:44px;padding:8px 12px;font-size:15px}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--primary);border-width:1.5px;outline:none}.field textarea{min-height:72px}.radiogrp{flex-wrap:wrap;gap:8px;display:flex}.radiopill{border:1px solid var(--border);background:var(--surface);border-radius:10px;align-items:center;gap:6px;min-height:44px;padding:10px 14px;font-weight:500;display:flex}.radiopill.sel{background:var(--tint);color:var(--primary);border-color:var(--primary);font-weight:700}.ph{background:var(--bg);border:1px solid var(--border);background-image:linear-gradient(to top right, transparent calc(50% - 1px), var(--text-2) calc(50% - 1px), var(--text-2) calc(50% + 1px), transparent calc(50% + 1px)), linear-gradient(to top left, transparent calc(50% - 1px), var(--text-2) calc(50% - 1px), var(--text-2) calc(50% + 1px), transparent calc(50% + 1px));opacity:.55;border-radius:10px;position:relative}.swatch{vertical-align:middle;border:1px solid #0000000f;border-radius:7px;flex:none;width:22px;height:22px;display:inline-block}.field-warn{background:var(--warn-bg);border:1.5px dashed var(--warn)!important}.tile{border:1px solid var(--border);background:var(--surface);-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;min-height:64px;box-shadow:var(--shadow-sm);touch-action:pan-y;border-radius:12px;flex-direction:column;justify-content:center;gap:4px;padding:10px;display:flex;position:relative}.tilegrid{grid-template-columns:1fr 1fr;gap:10px;padding:10px 14px;display:grid}.qtybadge{background:var(--primary);color:#fff;min-width:20px;height:20px;box-shadow:var(--shadow-sm);border-radius:10px;justify-content:center;align-items:center;padding:0 5px;font-size:12px;font-weight:700;display:flex;position:absolute;top:-6px;right:-6px}.prod-typerow{grid-template-columns:repeat(4,1fr);gap:8px;padding:10px 14px;display:grid}.prod-typetile{border:1px solid var(--border);background:var(--surface);min-height:64px;color:var(--text-2);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:10px 4px;display:flex}.prod-typetile-img{object-fit:contain;width:28px;height:28px;display:block}.prod-typetile-label{text-align:center;font-size:11px;font-weight:600;line-height:1.2}.prod-typetile:not(.active) .prod-typetile-label{color:color-mix(in srgb,var(--text-2) 45%,var(--surface))}.prod-typetile.active{background:var(--surface);border:2px solid color-mix(in srgb,var(--primary) 35%,var(--surface));color:var(--primary);padding:9px 3px}.prod-grid{grid-template-columns:1fr 1fr;gap:12px;padding:4px 14px 14px;display:grid}.prod-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:20px;flex-direction:column;padding:16px;display:flex}.prod-card-total{letter-spacing:-.02em;color:var(--text);white-space:nowrap;margin-top:4px;font-size:18px;font-weight:800}.prod-card-price-pill{background:var(--tint);color:var(--primary);white-space:nowrap;border-radius:999px;align-self:flex-end;margin-top:14px;padding:3px 9px;font-size:11px;font-weight:700}.prod-card-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:18px;font-weight:700;overflow:hidden}.prod-list{flex-direction:column;gap:11px;padding:0 14px 14px;display:flex}.prod-listrow{background:var(--surface);border-radius:32px;justify-content:space-between;align-items:center;gap:14px;padding:14px 24px;display:flex;box-shadow:0 1px 2px #00000005}.prod-listrow-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.prod-listrow-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;line-height:1.375;overflow:hidden}.prod-listrow-type{color:var(--text-2);font-size:12.5px}.prod-listrow-end{text-align:right;flex-direction:column;flex:none;align-items:flex-end;gap:2px;display:flex}.prod-listrow-price{color:var(--text);font-size:15px;font-weight:700;line-height:1.375}.prod-listrow-unit{color:color-mix(in srgb,var(--text-2) 45%,var(--surface));font-size:12px}.overlay{z-index:25;background:#00000073;align-items:flex-end;display:flex;position:absolute;inset:0}.sheet{background:var(--surface);width:100%;max-height:85%;padding-bottom:env(safe-area-inset-bottom);border-radius:16px 16px 0 0;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 -4px 24px #0000002e}.sheet .main{overflow-y:auto}.sheet .section,.sheet .btnrow{padding-left:16px;padding-right:16px}.sheethandle{justify-content:center;padding:10px 0 6px;display:flex}.sheethandle span{background:var(--border);border-radius:2px;width:36px;height:4px;display:block}.dialog-overlay{z-index:20;background:#00000073;justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;inset:0}.dialog{background:var(--surface);border-radius:16px;width:100%;max-width:320px;padding:18px;box-shadow:0 8px 32px #00000047}.toastbar{left:10px;right:10px;bottom:calc(76px + env(safe-area-inset-bottom));background:var(--text);color:#fff;z-index:30;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;font-size:13px;display:flex;position:absolute;box-shadow:0 4px 16px #0000004d}.toastbar button{color:var(--tint);background:0 0;border:none;flex:none;min-height:44px;font-weight:600;text-decoration:underline}.entryrow-wrap{border-bottom:1px solid var(--border);position:relative;overflow:hidden}.entryrow{background:var(--surface);touch-action:pan-y;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;min-height:52px;padding:12px 14px;transition:transform .15s;display:flex;transform:translate(0)}.entryrow.revealed{transform:translate(-72px)}.rowdel{background:var(--expense);color:#fff;justify-content:center;align-items:center;width:72px;display:flex;position:absolute;top:0;bottom:0;right:0}.dir{text-align:center;flex:none;width:20px;display:flex}.dir-up{color:var(--income)}.dir-down{color:var(--expense)}.receiptlist{color:#111;background:#f4f4f4;flex-direction:column;flex:auto;min-height:0;font-family:Sarabun,system-ui,sans-serif;display:flex}.receiptlist .topbar{background:#f4f4f4;border-bottom:none;gap:6px;padding:10px 20px 4px}.receiptlist .ttl{color:#111;font-weight:800}.receiptlist .iconbtn{color:#9e9e9e}.receiptlist .iconbtn:active{background:0 0}.rl-calbtn{color:#333;background:#fff;border:none;border-radius:14px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:flex;box-shadow:0 2px 8px #0000000d}.receiptlist .main{padding:2px 20px 16px}.rl-header-row{justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 0;display:flex}.rl-header-row>div{flex-wrap:wrap;align-items:baseline;gap:8px;min-width:0;display:flex}.rl-title{color:#111;letter-spacing:-.01em;margin:0;font-size:22px;font-weight:800}.rl-count{color:#6b6b6b;font-size:13px;font-weight:500}.receiptlist .card{background:#fff;border:1px solid #e5e5e5e6;border-radius:16px;margin:0 0 12px;box-shadow:0 2px 8px #00000008}.receiptlist .btn{border:1px solid #e5e5e5b3;border-radius:16px;box-shadow:0 2px 8px #00000008}.receiptlist .searchbox{background:#fff;border:none;border-radius:999px;margin:2px 0 12px;padding:11px 16px;box-shadow:0 1px 4px #0000000d}.receiptlist .chiprow{padding:0 0 14px}.receiptlist .chip{color:#6b6b6b;background:#fff;border:none;box-shadow:0 1px 3px #0000000a}.receiptlist .chip.active{color:#fff;background:#333}.receiptlist .rl-addchip{color:#333;border:1.5px solid color-mix(in srgb, var(--text) 16%, var(--bg));box-shadow:none;background:0 0;align-items:center;gap:4px;display:inline-flex}.receiptlist .rl-pendchip{color:#b45309;border:1.5px solid color-mix(in srgb, var(--text) 16%, var(--bg));box-shadow:none;background:0 0;align-items:center;gap:4px;font-weight:700;display:inline-flex}.calrange{color:#333;background:#f7f7f7;flex-direction:column;flex:auto;min-height:0;display:flex}.calrange .topbar{background:#fff}.calrange-chiprow{background:#fff;border-bottom:1px solid #f2f2f2;align-items:center;gap:8px;padding:10px 14px;display:flex}.calrange-chip{color:#333;white-space:nowrap;text-overflow:ellipsis;background:#fafafa;border:1px solid #e5e5e5;border-radius:10px;flex:1;align-items:center;gap:6px;min-width:0;padding:7px 12px;font-size:12px;font-weight:600;display:inline-flex;overflow:hidden}.calrange-chip-x{color:#9e9e9e;background:0 0;border:none;flex:none;padding:0;display:flex}.calrange-dash{color:#9e9e9e;font-size:12px;font-weight:600}.calrange-presets{padding-top:4px}.calrange .monthhead{color:#333;font-weight:700}.calrange .wkhead{color:#9e9e9e}.calrange .daycell.disabled{color:#d4d4d4}.calrange .daycell.rangeend{color:#fff;background:#1a1a1a;border-radius:8px;font-weight:700}.calrange .daycell.insel{color:#1a1a1a;background:#e8e8e8;border-radius:0;font-weight:600}.calrange-footer{padding:12px 14px;padding-bottom:calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #f2f2f2;flex:none;gap:10px;display:flex}.calrange-cancel{color:#4d4d4d;background:#fff;border:1px solid #e5e5e5;border-radius:10px;flex:1;min-height:44px;font-size:14px;font-weight:600}.calrange-apply{color:#fff;background:#1a1a1a;border:none;border-radius:10px;flex:1;min-height:44px;font-size:14px;font-weight:600}.calrange-apply:disabled{opacity:.45}.rl-addwrap{display:inline-flex;position:relative}.rl-adddrop{z-index:20;background:#fff;border-radius:16px;min-width:160px;padding:6px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 32px #00000024}.rl-adddrop button{color:#333;text-align:left;background:0 0;border:none;border-radius:12px;align-items:center;gap:12px;width:100%;padding:10px 12px;font-family:inherit;font-size:14px;font-weight:600;display:flex}.rl-adddrop button:active{background:#f2f2f2}.rl-wrap{border-bottom:none;border-radius:22px;margin-bottom:12px}.rl-card{background:#fff;border:1px solid #f2f2f2e6;border-radius:22px;align-items:stretch;height:auto;min-height:0;padding:16px;display:block;box-shadow:0 2px 8px #00000008}.rl-card-top{align-items:flex-start;gap:12px;display:flex}.rl-avatar{background:#fafafa;border:1px solid #f2f2f2;border-radius:12px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.rl-avatar-img{width:20px;height:20px}.rl-avatar.up{color:#059669}.rl-avatar.down{color:#dc2626}.rl-body{flex:1;min-width:0}.rl-name{color:#111;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;overflow:hidden}.rl-sub{color:#9e9e9e;margin-top:2px;font-size:12px}.rl-amount{color:#111;white-space:nowrap;flex:none;font-size:15px;font-weight:700}.rl-sep{border-top:1px dashed #e5e5e5;margin:12px 0}.rl-footer{justify-content:space-between;align-items:center;font-size:11px;display:flex}.rl-pill{border:1px solid #0000;border-radius:999px;padding:2px 10px;font-weight:600}.rl-pill-emerald{color:#059669;background:#ecfdf5;border-color:#d1fae5}.rl-pill-blue{color:#1a1a1a;background:#f5f5f5;border-color:#e8e8e8}.rl-pill-amber{color:#d97706;background:#fffbeb;border-color:#fde68a}.rl-foot-tag{color:#9e9e9e;align-items:center;gap:3px;display:flex}.chk{width:22px;height:22px;accent-color:var(--primary);flex:none}.grid7{grid-template-columns:repeat(7,1fr);gap:2px;padding:4px 10px;display:grid}.daycell{border-radius:8px;justify-content:center;align-items:center;min-height:40px;font-size:14px;font-weight:500;display:flex;position:relative}.daycell .dot{background:var(--primary);border-radius:2px;width:4px;height:4px;position:absolute;bottom:4px}.daycell.today{border:1.5px solid var(--primary);color:var(--primary);font-weight:700}.daycell.disabled{color:var(--border)}.daycell.insel{background:var(--tint)}.daycell.rangeend{background:var(--primary);color:#fff;border-radius:8px;font-weight:700}.monthblock{border-bottom:1px solid var(--border);padding:8px 10px 14px}.monthhead{padding:8px 4px;font-size:15px;font-weight:700}.wkhead{color:var(--text-2);text-align:center;grid-template-columns:repeat(7,1fr);gap:2px;padding:0 10px;font-size:12px;font-weight:500;display:grid}.rangebar{border-top:1px solid var(--border);background:var(--surface);padding:10px 14px;padding-bottom:calc(10px + env(safe-area-inset-bottom));justify-content:space-between;align-items:center;gap:8px;display:flex}.donutwrap{align-items:center;gap:16px;padding:10px 14px;display:flex}.legend{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.legrow{align-items:center;gap:8px;font-size:13px;display:flex}.legrow .name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.barchartwrap{align-items:flex-end;gap:4px;height:96px;padding:10px 14px;display:flex;overflow:hidden}.barcol{flex:1;justify-content:center;align-items:flex-end;gap:2px;min-width:0;height:100%;display:flex}.bar{background:var(--income);border-radius:2px 2px 0 0;width:6px}.bar.b2{background:var(--expense);border-radius:2px 2px 0 0}.aliaschip{border:1px solid var(--border);background:var(--tint);color:var(--primary);border-radius:16px;align-items:center;gap:5px;margin:3px 5px 3px 0;padding:5px 10px;font-size:13px;font-weight:500;display:inline-flex}.aliaschip button{color:inherit;background:0 0;border:none;padding:0;display:flex}.dashedrow{border:1px dashed var(--border);text-align:center;color:var(--text-2);border-radius:10px;margin:14px;padding:12px;font-size:13px}.progressdot{color:var(--primary);padding:8px 14px;font-size:14px;font-weight:600}.btn-outline-primary{background:var(--surface);color:var(--primary);border:1.5px solid var(--primary)}.toggle{background:var(--border);border:none;border-radius:12px;flex:none;width:44px;height:24px;position:relative}.toggle .knob{width:20px;height:20px;box-shadow:var(--shadow-sm);background:#fff;border-radius:10px;position:absolute;top:2px;left:2px}.toggle.on{background:var(--primary)}.toggle.on .knob{left:22px}.zoombig{height:60vh;margin:16px}.linefield{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:10px 0;display:flex}.warnmark{color:var(--warn);vertical-align:-3px;margin-right:3px;display:inline-flex}.pickrow{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:12px 14px;display:flex}.pdfblock{border:1px solid var(--border);background:var(--surface);border-radius:12px;margin:12px 14px;padding:12px}.tbl{border-collapse:collapse;width:100%;font-size:13px}.tbl td,.tbl th{border:1px solid var(--border);text-align:left;padding:6px 8px}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:12px;margin:0 14px}.ic-expense-row{color:var(--expense)}.entryrow,.tile,#review-main{touch-action:pan-y}[data-act=editField]{position:relative}[data-act=editField]:after{content:"";height:44px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}#btn-month-label,#btn-open-basket{min-height:44px}.searchbox input{margin:-10px 0;padding:11px 0}#theme-fab{background:var(--primary);opacity:.85;z-index:1000;border:none;border-radius:0 8px 8px 0;width:10px;height:52px;padding:0;position:fixed;top:50%;left:0;transform:translateY(-50%);box-shadow:1px 0 4px #00000040}#theme-popover{z-index:1001;background:var(--surface);border:1px solid var(--border);border-radius:12px;min-width:190px;max-height:80vh;padding:6px;position:fixed;left:16px;overflow-y:auto;box-shadow:0 8px 24px #00000047}.theme-opt{width:100%;color:var(--text);text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;min-height:44px;padding:9px 10px;font-size:14px;display:flex}.theme-opt:active{background:var(--bg)}.theme-opt.sel{background:var(--tint);color:var(--primary);font-weight:700}.theme-opt-check{color:var(--primary);margin-left:auto;display:flex}.theme-popover-heading{color:var(--text-2);padding:9px 10px 4px;font-size:12px;font-weight:700}.badge{white-space:nowrap;border-radius:8px;align-items:center;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.hero-figure{letter-spacing:-.02em;margin:4px 0 10px;font-size:34px;font-weight:800}.linesvg{width:100%;margin:6px 0;display:block}.meterbar{background:var(--border);border-radius:3px;width:100%;height:6px;margin-top:8px;overflow:hidden}.meterbar i{border-radius:3px;height:100%;display:block}.dumbbell{height:24px;position:relative}.dumbbell-rail{background:var(--border);border-radius:2px;height:3px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.dumbbell-fill{background:var(--primary);border-radius:2px;height:3px;position:absolute;top:50%;transform:translateY(-50%)}.dumbbell-dot{background:var(--surface);border:3px solid var(--text-2);width:16px;height:16px;box-shadow:var(--shadow-sm);border-radius:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.dumbbell-dot-b{border-color:var(--primary)}.dumbbell-diff{color:#fff;white-space:nowrap;border-radius:10px;padding:3px 9px;font-size:10px;font-weight:700;position:absolute;top:-24px;left:50%;transform:translate(-50%)}.taxdash{color:#111;background:#f4f4f4;flex-direction:column;flex:auto;min-height:0;font-family:Sarabun,system-ui,sans-serif;display:flex}.taxdash .topbar{background:#f4f4f4;border-bottom:none}.taxdash .ttl{color:#111;font-weight:700}.taxdash .iconbtn{color:#4d4d4d}.taxdash .main{flex-direction:column;gap:14px;padding:16px 20px 32px;display:flex}.taxdash .section{border-bottom:none;padding:0}.taxdash .row-between{min-height:auto}.taxdash .small{font-size:12px}.taxdash .muted{color:#9e9e9e}.taxdash .tilegrid{grid-template-columns:1fr 1fr;gap:12px;padding:0;display:grid}.taxdash .card{background:#fff;border:none;border-radius:16px;margin:0;box-shadow:0 4px 20px -2px #0000000a,0 2px 6px -1px #00000005}.taxdash .card>.section{padding:14px}.taxdash .card.taxdash-card-lg{border-radius:24px}.taxdash .card.taxdash-card-lg>.section{padding:20px}.taxdash .badge-emerald{color:#059669;background:#ecfdf5}.taxdash .badge-amber{color:#d97706;background:#fffbeb}.taxdash .badge-slate,.taxdash .badge-indigo{color:#4d4d4d;background:#f2f2f2}.taxdash .hero-figure{color:#111}.taxdash .meterbar{background:#f2f2f2}.taxdash-donut-row{align-items:center;gap:16px;margin-top:16px;display:flex}.taxdash-donut{flex:none;width:140px;height:140px;position:relative}.taxdash-donut svg{width:100%;height:100%;display:block}.taxdash-donut-center{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.taxdash-donut-pill{color:#333;background:#fff;border:1px solid #f2f2f2;border-radius:999px;padding:2px 9px;font-size:10px;font-weight:700;position:absolute;top:-4px;right:4px;box-shadow:0 4px 20px -2px #0000000a,0 2px 6px -1px #00000005}.taxdash-donut-legend{flex-direction:column;flex:1;gap:12px;min-width:0;display:flex}.taxdash-donut-item{align-items:center;gap:10px;display:flex}.taxdash-tick{border-radius:2px;flex:none;width:4px;height:32px}.taxdash-calbtn{color:#4d4d4d;background:#fff;border:none;border-radius:14px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:flex;box-shadow:0 4px 20px -2px #0000000a,0 2px 6px -1px #00000005}.taxdash-exportbtn{color:#fff;background:#ff1812;border:none;border-radius:999px;flex:none;align-items:center;gap:6px;padding:9px 16px;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex;box-shadow:0 4px 20px -2px #0000000a,0 2px 6px -1px #00000005}.taxdash-monthpill{color:#fff;background:#1a1a1a;border:none;border-radius:999px;align-items:center;gap:4px;padding:5px 12px;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex}.taxdash-segwrap{padding:10px 14px 4px}.taxdash-segctrl{background:#fff;border:1px solid #f2f2f2;border-radius:999px;align-items:center;padding:6px;display:flex;box-shadow:0 2px 12px #0000000a}.taxdash-segbtn{text-align:center;color:#6b6b6b;background:0 0;border:none;border-radius:999px;flex:1;padding:10px 0;font-family:inherit;font-size:13.5px;font-weight:600}.taxdash-segbtn.active{background:var(--text);color:#fff}.taxdash .dumbbell{margin-top:30px}.taxdash .dumbbell-rail{background:#e5e5e5}.taxdash .dumbbell-dot{background:#fff;border-color:#9e9e9e}.taxdash .dumbbell-dot-b{border-color:#1a1a1a;box-shadow:0 0 0 3px #f2f2f2}.receiptdetail{color:#111;background:#fafafa;flex-direction:column;flex:auto;min-height:0;font-family:Sarabun,system-ui,sans-serif;display:flex}.receiptdetail .topbar{background:#fafafa;border-bottom:none;justify-content:space-between;gap:0;padding:10px 16px}.receiptdetail .ttl{color:#111;flex:none;font-size:17px;font-weight:700}.rd-iconbtn{color:#1f1f1f;background:#fff;border:1px solid #e5e5e599;border-radius:999px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:flex;box-shadow:0 1px 2px #0000000d}.rd-iconbtn:active{transform:scale(.95)}.receiptdetail .main{padding:4px 20px 24px;overflow-y:auto}.rd-pill{border:1px solid #0000;border-radius:999px;margin-bottom:12px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.rd-pill-emerald{color:#059669;background:#ecfdf5;border-color:#d1fae5}.rd-pill-blue{color:#1a1a1a;background:#f5f5f5;border-color:#e8e8e8}.rd-pill-amber{color:#d97706;background:#fffbeb;border-color:#fde68a}.rd-total{color:#111;letter-spacing:-.02em;margin-bottom:16px;font-size:34px;font-weight:800;line-height:1}.rd-metarow{grid-template-columns:1fr 1fr;gap:16px;padding-bottom:4px;display:grid}.rd-metalabel{color:#9e9e9e;margin:0 0 2px;font-size:11.5px;font-weight:500}.rd-metaval{color:#1f1f1f;margin:0;font-size:13.5px;font-weight:700}.rd-dash{border-top:1px dashed #d4d4d4;margin:16px 0}.rd-card{background:#fff;border:1px solid #f2f2f2;border-radius:20px;margin-bottom:14px;padding:16px;box-shadow:0 2px 10px -2px #0000000a,0 1px 3px -1px #00000008}.rd-cardttl{color:#1f1f1f;margin:0 0 10px;font-size:12px;font-weight:700}.rd-sellerrow{align-items:center;gap:12px;display:flex}.rd-avatar{color:#b45309;background:#ffe8d6;border:1px solid #fbbf244d;border-radius:999px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.rd-sellername{color:#111;font-size:13.5px;font-weight:700}.rd-linehead{color:#9e9e9e;border-bottom:1px solid #f2f2f2;padding-bottom:8px;font-size:11px;font-weight:600;display:flex}.rd-line{color:#333;border-bottom:1px solid #fafafa;padding:10px 0;font-size:12.5px;display:flex}.rd-lines .rd-line:last-child{border-bottom:none}.rd-col-name{color:#1f1f1f;flex:auto;padding-right:6px;font-weight:500}.rd-col-qty{text-align:center;color:#6b6b6b;flex:0 0 56px}.rd-col-amt{text-align:right;color:#1f1f1f;flex:0 0 76px;font-weight:600}.rd-calc{border-top:1px solid #f2f2f2e6;margin-top:2px;padding-top:8px}.rd-calcrow{color:#6b6b6b;justify-content:space-between;padding:3px 0;font-size:12px;display:flex}.rd-calcrow span:last-child{color:#333;font-weight:500}.rd-grandrow{border-top:1px solid #f2f2f2;justify-content:space-between;align-items:center;margin-top:8px;padding-top:10px;display:flex}.rd-grandrow span:first-child{color:#111;font-size:12px;font-weight:700}.rd-grandrow span:last-child{color:#111;font-size:15px;font-weight:800}.rd-footer{padding:8px 20px calc(8px + env(safe-area-inset-bottom));background:linear-gradient(#0000,#fafafa,#fafafa);flex:none;gap:12px;display:flex}.rd-btn-secondary,.rd-btn-primary,.rd-btn-danger{border:none;border-radius:999px;flex:1;justify-content:center;align-items:center;gap:8px;height:46px;font-family:inherit;font-size:13px;font-weight:600;display:flex}.rd-btn-secondary{color:#1f1f1f;background:#e5e5e5b3}.rd-btn-secondary:active{background:#e5e5e5}.rd-btn-primary{color:#fff;background:#333;box-shadow:0 4px 14px #0000004d}.rd-btn-primary:active{background:#1a1a1a}.rd-btn-danger{color:#fff;background:#dc2626;box-shadow:0 4px 14px #dc26264d}.rd-btn-danger:active{background:#b91c1c}.taxdash .dumbbell-diff{background:#1a1a1a}.reviewbill{color:#111;background:#fafafa;flex-direction:column;flex:auto;min-height:0;font-family:Sarabun,system-ui,sans-serif;display:flex}.reviewbill .topbar{background:#fafafa;border-bottom:none;justify-content:space-between;gap:0;padding:10px 16px}.reviewbill .ttl{color:#111;flex:none;font-size:17px;font-weight:700}.reviewbill .main{padding:4px 20px 24px;overflow-y:auto}.rv-counter{color:#6b6b6b;background:#f2f2f2;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700}.rv-photo{height:150px;margin-bottom:6px}.rv-notbill{color:#111;text-align:center;margin-bottom:16px;font-size:15px;font-weight:700}.rv-inlinebtnrow{gap:10px;display:flex}.rv-editicon{color:#9e9e9e;flex:none;margin-left:auto}.rv-daterow{grid-template-columns:1fr;margin:2px 0 4px;padding-bottom:4px}.rv-datewarn{background:#fffbeb;border:1px solid #fde68a;border-radius:14px;margin-bottom:14px;padding:10px 12px}.rv-datewarn-msg{color:#92400e;align-items:center;gap:6px;margin-bottom:8px;font-size:12.5px;display:flex}.rv-datewarn-chips{gap:8px;display:flex}.reviewbill .chip{color:#333;background:#fff;border:1px solid #e5e5e5;box-shadow:0 1px 3px #0000000a}.reviewbill .chip.active{color:#fff;background:#333;border-color:#333}.rv-line{border-bottom:1px solid #fafafa;padding:10px 0}.rv-lines .rv-line:last-child{border-bottom:none}.rv-line-top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.rv-line-name{color:#1f1f1f;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12.5px;font-weight:500;overflow:hidden}.rv-line-amt{color:#1f1f1f;flex:none;font-size:12.5px;font-weight:600}.rv-line-match{color:#9e9e9e;align-items:center;gap:4px;margin-top:4px;font-size:11.5px;display:flex}.rv-line-arrow{color:#d4d4d4}.rv-line-matchval{align-items:center;gap:5px;display:inline-flex}.rv-swatch{border:1px solid #0000000f;border-radius:4px;flex:none;width:12px;height:12px}.rv-line-qty{color:#6b6b6b;align-items:center;gap:6px;margin-top:4px;font-size:11.5px;display:flex}.rv-line-qty-x{color:#d4d4d4}.inline-input{font:inherit;color:inherit;-webkit-appearance:none;background:0 0;border:none;outline:none;margin:0;padding:2px 0}.inline-input:focus{background:#f5f5f5;border-radius:6px;box-shadow:0 0 0 2px #d4d4d4}.inline-input::placeholder{color:#d4d4d4;font-weight:400}.inline-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.inline-input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.inline-input[type=number]{-moz-appearance:textfield}.rd-sellername.inline-input{flex:1;width:auto;min-width:0}.rv-line-name.inline-input{width:auto}.rv-line-amt.inline-input{text-align:right;width:70px}.rv-line-qty-input.inline-input{width:44px}.rv-line-price-input.inline-input{text-align:right;width:64px}.rd-totalinput-wrap{justify-content:flex-end;align-items:center;gap:4px;display:flex}.rd-totalinput.inline-input{text-align:right;color:#111;width:90px;font-size:15px;font-weight:800}.rd-dateinput{color:#1f1f1f;background:#fff;border:1px solid #e5e5e5;border-radius:10px;width:100%;min-height:40px;padding:6px 10px;font-family:inherit;font-size:13px}.rd-addlinebtn{color:#333;background:0 0;border:1px dashed #d4d4d4;border-radius:12px;justify-content:center;align-items:center;gap:6px;width:100%;margin-top:10px;padding:9px;font-family:inherit;font-size:12.5px;font-weight:600;display:flex}.setpage{color:#111;background:#fafafa;flex-direction:column;flex:auto;min-height:0;font-family:Sarabun,system-ui,sans-serif;display:flex}.setpage .topbar{background:#fafafa;border-bottom:none;gap:10px;padding:10px 16px}.setpage .ttl{color:#111}.setpage .main{padding:4px 20px 24px;overflow-y:auto}.set-card{background:#fff;border:1px solid #f2f2f2;border-radius:20px;margin-bottom:14px;overflow:hidden;box-shadow:0 1px 3px #0000000a}.set-form{background:#fff;border:1px solid #f2f2f2;border-radius:20px;margin-bottom:14px;padding:16px;box-shadow:0 1px 3px #0000000a}.set-row{border-bottom:1px solid #fafafa;align-items:center;gap:12px;padding:14px 16px;display:flex}.set-card .set-row:last-child{border-bottom:none}.set-row-ic{color:#333;background:#f5f5f5;border-radius:12px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.set-row-body{flex:1;min-width:0}.set-row-label{color:#111;font-size:13.5px;font-weight:600}.set-row-sub{color:#9e9e9e;margin-top:2px;font-size:11.5px}.set-row-danger .set-row-ic{color:#dc2626;background:#fef2f2}.set-row-danger .set-row-label{color:#dc2626}.set-chevron{color:#d4d4d4}.set-dashedrow{text-align:center;color:#9e9e9e;border:1px dashed #e5e5e5;border-radius:14px;justify-content:center;align-items:center;gap:6px;padding:12px;font-size:12.5px;display:flex}.set-empty{text-align:center;color:#9e9e9e;padding:24px 0;font-size:13px}.set-field{margin-bottom:16px}.set-field:last-child{margin-bottom:0}.set-field label{color:#9e9e9e;margin-bottom:6px;font-size:11.5px;font-weight:600;display:block}.set-field input[type=text],.set-field textarea,.set-field select{color:#111;background:#fff;border:1px solid #e5e5e5;border-radius:12px;width:100%;min-height:44px;padding:10px 12px;font-family:inherit;font-size:13.5px}.set-field input:focus,.set-field textarea:focus,.set-field select:focus{border-color:#333;outline:none}.set-field textarea{resize:vertical;min-height:72px}.set-radiogrp{flex-wrap:wrap;gap:8px;display:flex}.set-radiopill{color:#333;background:#fff;border:1px solid #e5e5e5;border-radius:999px;padding:9px 14px;font-family:inherit;font-size:12.5px;font-weight:600}.set-radiopill.sel{color:#fff;background:#333;border-color:#333}.set-logo{border-radius:14px;width:64px;height:64px}.set-toggle-row{justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.set-toggle-row>span{color:#111;flex:1;font-size:13.5px}.set-toggle{background:#e5e5e5;border:none;border-radius:12px;flex:none;width:44px;height:24px;position:relative}.set-toggle .knob{background:#fff;border-radius:10px;width:20px;height:20px;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000026}.set-toggle.on{background:#333}.set-toggle.on .knob{left:22px}.set-newcatrow{gap:8px;display:flex}.set-newcatrow input{color:#111;background:#fff;border:1px solid #e5e5e5;border-radius:12px;flex:1;min-height:44px;padding:0 12px;font-family:inherit;font-size:13px}.set-newcatrow input:focus{border-color:#333;outline:none}.set-addbtn{color:#fff;background:#333;border:none;border-radius:12px;flex:none;min-height:44px;padding:0 16px;font-family:inherit;font-size:13px;font-weight:600}.set-addbtn:active{background:#1a1a1a}.set-trashbody{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.set-trashname{color:#111;font-size:13px}.set-trashleft{color:#9e9e9e;font-size:11.5px}.set-restorebtn{color:#333;background:#fff;border:1px solid #e5e5e5;border-radius:999px;flex:none;padding:7px 14px;font-family:inherit;font-size:12px;font-weight:600}.set-restorebtn:active{background:#f2f2f2}.chip,.receiptlist .chip,.reviewbill .chip,.radiopill,.set-radiopill{color:var(--text-2);border:1.5px solid color-mix(in srgb, var(--text) 16%, var(--bg));box-shadow:none;background:0 0}.chip.active,.receiptlist .chip.active,.reviewbill .chip.active,.radiopill.sel,.set-radiopill.sel{background:var(--text);color:#fff;border-color:var(--text)}.receiptlist .rl-pendchip{color:var(--warn);border-color:color-mix(in srgb, currentColor 45%, transparent)}.rl-pill-emerald,.rl-pill-blue,.rl-pill-amber,.rd-pill-emerald,.rd-pill-blue,.rd-pill-amber{border-color:color-mix(in srgb, currentColor 45%, transparent);background:0 0}.taxdash .badge-emerald,.taxdash .badge-amber,.taxdash .badge-slate,.taxdash .badge-indigo,.prod-card-price-pill{border:1px solid color-mix(in srgb, currentColor 45%, transparent);background:0 0}*,:before,:after{font-weight:400!important}.export-ic{flex:none;display:block}.btn-export{color:#fff;background:#ff1812;border-color:#0000}
