@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&family=Noto+Sans+Thai:wght@300;400;500;600;700;800&display=swap);@import url(https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+Thai:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap);@import url(https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap);@import url(https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500&display=swap);*{box-sizing:border-box;margin:0;padding:0}#root,body,html{height:100%;max-width:100vw;overflow-x:hidden;width:100%}#root,body,html{background-color:#080f1f;background-color:var(--bg-canvas,#080f1f)}body{font-family:Manrope,Noto Sans Thai,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji;text-rendering:optimizeLegibility}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}:root{--font-emoji:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji";--font-ui:"Manrope","Noto Sans Thai","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,var(--font-emoji)}button,input,optgroup,select,textarea{font:inherit}.mm-print-ok,.mm-print-warn,.pos-checkout-btn,.pos-tab,button,h1,h2,h3,h4,h5,h6{font-family:Manrope,Noto Sans Thai,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji;font-family:var(--font-ui)}:root{--accent-primary:#6d80ff;--accent-secondary:#9aa8ff;--accent-soft:#6d80ff24;--accent-gradient:linear-gradient(135deg,#8b99ff,#5f74ff 58%,#4a5ed9);--accent-gradient-hover:linear-gradient(135deg,#9aa7ff,#6a7dff 58%,#5a6df0);--color-success:#43dd9e;--color-success-soft:#43dd9e24;--color-danger:#ff8f88;--color-danger-soft:#ff8f8824;--color-warning:#ffc85f;--color-warning-soft:#ffc85f24;--color-info:#8ea0ff;--color-info-soft:#8ea0ff24;--bg-primary:#080f1f;--bg-canvas:#080f1f;--bg-card:#121c34db;--bg-card-hover:#16213ceb;--bg-card-inner:#202c4c99;--bg-sidebar:#091122e6;--bg-table-header:#1c2744e6;--bg-input:#1e2a47cc;--bg-subtle:#ffffff08;--bg-overlay:#040914b8;--color-text-primary:#f2f5ff;--color-text-secondary:#a6b2da;--color-text-muted:#7b88b6;--color-text-on-accent:#fff;--color-border:#a8b6f024;--color-border-strong:#a8b6f03d;--color-divider:#a8b6f017;--color-table-row-border:#a8b6f012;--color-tr-hover:#6d80ff17;--shadow-xs:0 1px 2px #0206174d;--shadow-sm:0 2px 8px #02061747;--shadow-md:0 12px 32px #03081757;--shadow-lg:0 24px 60px #0206176b;--shadow-accent:0 16px 40px #5f74ff4d;--radius-xs:8px;--radius-sm:12px;--radius-md:16px;--radius-lg:20px;--radius-xl:26px;--radius-2xl:32px;--radius-full:9999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--space-9:48px;--space-10:64px;--text-xs:0.75rem;--text-sm:0.8125rem;--text-base:0.9375rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--text-4xl:2.75rem;--transition-fast:0.15s cubic-bezier(0.4,0,0.2,1);--transition-base:0.24s cubic-bezier(0.4,0,0.2,1);--transition-slow:0.4s cubic-bezier(0.4,0,0.2,1);--sidebar-width:272px;--page-max:1240px;--page-pad-x:clamp(20px,3vw,44px);--page-pad-y:clamp(24px,2.6vw,40px);-webkit-text-size-adjust:100%;font-family:Manrope,Noto Sans Thai,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji;font-size:16px}.app:not(.dark-mode){--accent-primary:#f2665f;--accent-secondary:#6c63ff;--accent-soft:#f2665f1a;--accent-gradient:linear-gradient(135deg,#ff9671,#f2665f 38%,#8d72ff);--accent-gradient-hover:linear-gradient(135deg,#ffa382,#ff7269 38%,#7d6dff);--color-success:#0d9668;--color-success-soft:#0d96681a;--color-danger:#d63f5b;--color-danger-soft:#d63f5b17;--color-warning:#c67f14;--color-warning-soft:#c67f141a;--color-info:#4f5ae8;--color-info-soft:#4f5ae817;--bg-primary:#fdf6f1;--bg-canvas:#fdf6f1;--bg-card:#fff;--bg-card-hover:#fff;--bg-card-inner:#fdf5f0;--bg-sidebar:#fff6f1eb;--bg-table-header:#fdf4ef;--bg-input:#fff;--bg-subtle:rgba(90,60,80,.035);--bg-overlay:#30213c6b;--color-text-primary:#241d3d;--color-text-secondary:#635a7e;--color-text-muted:#8b829f;--color-text-on-accent:#fff;--color-border:#462d5a1a;--color-border-strong:#462d5a2e;--color-divider:#462d5a14;--color-table-row-border:#462d5a12;--color-tr-hover:#f2665f0d;--shadow-xs:0 1px 2px #57356e0d;--shadow-sm:0 2px 8px #57356e12;--shadow-md:0 10px 28px #9669821c;--shadow-lg:0 20px 50px #8c649626;--shadow-accent:0 14px 34px #f2665f38}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#080f1f;background:var(--bg-canvas);color:#f2f5ff;color:var(--color-text-primary);font-size:.9375rem;font-size:var(--text-base);line-height:1.6}button,input,select,textarea{color:inherit;font:inherit}h1,h2,h3,h4,h5,h6{font-weight:700;letter-spacing:-.02em;line-height:1.25;margin:0}p{margin:0}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#a8b6f03d;background:var(--color-border-strong);background-clip:content-box;border:2px solid #0000;border-radius:9999px;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#7b88b6;background:var(--color-text-muted);background-clip:content-box}:focus-visible{outline:2px solid #6d80ff;outline:2px solid var(--accent-primary);outline-offset:2px}.balance-amount strong,.card-value,.data-table td.is-num,.data-table th.is-num,.metric-tile strong,.num,.transaction-amount,td.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.app{background:radial-gradient(ellipse 900px 500px at 8% -5%,#6d80ff2e,#0000 70%),radial-gradient(ellipse 700px 500px at 100% 100%,#43dd9e12,#0000 70%),#080f1f;background:radial-gradient(ellipse 900px 500px at 8% -5%,#6d80ff2e,#0000 70%),radial-gradient(ellipse 700px 500px at 100% 100%,#43dd9e12,#0000 70%),var(--bg-canvas);box-sizing:border-box;display:flex;height:100vh;height:100dvh;max-width:100vw;min-height:100vh;min-height:100dvh;overflow:hidden;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);position:relative;width:100%}.app:not(.dark-mode){background:radial-gradient(ellipse 900px 520px at 6% -8%,#ffa88a66,#0000 68%),radial-gradient(ellipse 640px 460px at 96% 4%,#8d72ff29,#0000 70%),radial-gradient(ellipse 760px 520px at 88% 100%,#ffd19647,#0000 70%),linear-gradient(180deg,#fffaf6,#fdf3ec)}.app-backdrop{background:radial-gradient(circle at 18% 12%,#ffffff0d,#0000 22%),radial-gradient(circle at 82% 88%,#6d80ff1a,#0000 24%);inset:0;pointer-events:none;position:absolute;z-index:0}.app:not(.dark-mode) .app-backdrop{background:radial-gradient(circle at 14% 16%,#ffffffb3,#0000 20%),radial-gradient(circle at 78% 84%,#f2665f0f,#0000 20%)}.sidebar{backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);background:#091122e6;background:var(--bg-sidebar);border-right:1px solid #a8b6f024;border-right:1px solid var(--color-border);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto;overscroll-behavior:contain;padding:20px 16px;padding:var(--space-5) var(--space-4);position:relative;width:272px;width:var(--sidebar-width);z-index:2}.app:not(.dark-mode) .sidebar{background:linear-gradient(180deg,#fffaf6f5,#fff1eaeb)}.logo{align-items:center;border-bottom:1px solid #a8b6f017;border-bottom:1px solid var(--color-divider);display:flex;gap:12px;gap:var(--space-3);padding:8px 8px 20px;padding:var(--space-2) var(--space-2) var(--space-5)}.loading-logo,.logo-mark--icon{background:none!important;border-radius:14px;flex-shrink:0;object-fit:cover}.loading-logo{border-radius:16px;margin-bottom:12px;margin-bottom:var(--space-3,12px)}.logo-mark{align-items:center;background:linear-gradient(135deg,#8b99ff,#5f74ff 58%,#4a5ed9);background:var(--accent-gradient);border-radius:14px;box-shadow:0 16px 40px #5f74ff4d;box-shadow:var(--shadow-accent);color:#fff;color:var(--color-text-on-accent);display:inline-flex;flex-shrink:0;font-size:19px;font-weight:800;height:42px;justify-content:center;width:42px}.logo h1{color:#f2f5ff;color:var(--color-text-primary);font-size:1.375rem;font-size:var(--text-xl);font-weight:800;letter-spacing:-.03em;margin:0}.logo-subtitle{color:#7b88b6;color:var(--color-text-muted);font-size:.68rem;font-weight:600;letter-spacing:.1em;line-height:1.3;margin-top:2px;text-transform:uppercase}.sidebar-spotlight{background:linear-gradient(160deg,#6d80ff2e,#6d80ff0a);border:1px solid #a8b6f024;border:1px solid var(--color-border);border-radius:20px;border-radius:var(--radius-lg);margin:16px 0 8px;margin:var(--space-4) 0 var(--space-2);padding:16px;padding:var(--space-4)}.app:not(.dark-mode) .sidebar-spotlight{background:linear-gradient(150deg,#ffae9142,#8d72ff1a);border-color:#f2665f24}.eyebrow,.sidebar-kicker{color:#7b88b6;color:var(--color-text-muted);display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.14em;margin-bottom:8px;margin-bottom:var(--space-2);text-transform:uppercase}.sidebar-spotlight strong{color:#f2f5ff;color:var(--color-text-primary);display:block;font-size:1.375rem;font-size:var(--text-xl);font-weight:800;letter-spacing:-.02em;line-height:1.2}.sidebar-spotlight p{color:#a6b2da;color:var(--color-text-secondary);font-size:.8125rem;font-size:var(--text-sm);line-height:1.5;margin:8px 0 0;margin:var(--space-2) 0 0}.nav-menu{display:flex;flex:1 1;flex-direction:column;gap:2px;list-style:none;margin:0;padding:16px 0;padding:var(--space-4) 0}.nav-menu li{margin:0}.nav-menu button{align-items:center;background:#0000;border:1px solid #0000;border-radius:12px;border-radius:var(--radius-sm);color:#a6b2da;color:var(--color-text-secondary);cursor:pointer;display:flex;gap:12px;gap:var(--space-3);padding:8px 12px;padding:var(--space-2) var(--space-3);position:relative;text-align:left;transition:background .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1);transition:background var(--transition-fast),color var(--transition-fast);width:100%}.nav-menu button:hover{background:#ffffff08;background:var(--bg-subtle);color:#f2f5ff;color:var(--color-text-primary)}.nav-menu button.active{background:#6d80ff24;background:var(--accent-soft);border-color:#a8b6f024;border-color:var(--color-border);color:#f2f5ff;color:var(--color-text-primary)}.nav-menu button.active:before{background:#6d80ff;background:var(--accent-primary);border-radius:0 3px 3px 0;content:"";height:22px;left:-16px;position:absolute;top:50%;transform:translateY(-50%);width:3px}.nav-icon{align-items:center;background:#ffffff08;background:var(--bg-subtle);border:1px solid #a8b6f017;border:1px solid var(--color-divider);border-radius:10px;display:inline-flex;flex-shrink:0;font-size:14px;height:32px;justify-content:center;transition:background .15s cubic-bezier(.4,0,.2,1);transition:background var(--transition-fast);width:32px}.nav-menu button.active .nav-icon{background:linear-gradient(135deg,#8b99ff,#5f74ff 58%,#4a5ed9);background:var(--accent-gradient);border-color:#0000;color:#fff;color:var(--color-text-on-accent)}.nav-copy{display:flex;flex-direction:column;gap:1px;min-width:0}.nav-copy strong{font-size:.9375rem;font-size:var(--text-base);font-weight:650}.nav-copy small,.nav-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-copy small{color:#7b88b6;color:var(--color-text-muted);font-size:.7rem;line-height:1.35}.nav-footer{border-top:1px solid #a8b6f017;border-top:1px solid var(--color-divider);padding:16px 0 4px;padding:var(--space-4) 0 var(--space-1)}.sync-pill{align-items:center;background:#43dd9e24;background:var(--color-success-soft);border:1px solid #a8b6f024;border:1px solid var(--color-border);border-radius:16px;border-radius:var(--radius-md);color:#f2f5ff;color:var(--color-text-primary);cursor:pointer;display:flex;gap:12px;gap:var(--space-3);margin-bottom:8px;margin-bottom:var(--space-2);padding:12px;padding:var(--space-3);text-align:left;transition:border-color .15s cubic-bezier(.4,0,.2,1),background .15s cubic-bezier(.4,0,.2,1);transition:border-color var(--transition-fast),background var(--transition-fast);width:100%}.sync-pill:hover:not(:disabled){border-color:#a8b6f03d;border-color:var(--color-border-strong)}.sync-pill:disabled{cursor:progress}.sync-pill-dot{background:#43dd9e;background:var(--color-success);border-radius:50%;flex-shrink:0;height:8px;width:8px}.sync-pill-copy{display:flex;flex:1 1;flex-direction:column;gap:1px;min-width:0}.sync-pill-copy strong{font-size:.8125rem;font-size:var(--text-sm);font-weight:700}.sync-pill-copy small,.sync-pill-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sync-pill-copy small{font-size:.68rem}.sync-pill-copy small,.sync-pill-icon{color:#7b88b6;color:var(--color-text-muted)}.sync-pill-icon{flex-shrink:0;font-size:15px}.sync-pill.is-syncing{background:#8ea0ff24;background:var(--color-info-soft)}.sync-pill.is-syncing .sync-pill-dot{animation:syncPulse 1s ease-in-out infinite;background:#8ea0ff;background:var(--color-info)}.sync-pill.is-syncing .sync-pill-icon{animation:spin .9s linear infinite;display:inline-block}.sync-pill.is-failed{background:#ff8f8824;background:var(--color-danger-soft);border-color:#ff8f88;border-color:var(--color-danger)}.sync-pill.is-failed .sync-pill-dot{background:#ff8f88;background:var(--color-danger)}@keyframes syncPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.75)}}.nav-footer-card{align-items:center;background:#ffffff08;background:var(--bg-subtle);border:1px solid #a8b6f024;border:1px solid var(--color-border);border-radius:16px;border-radius:var(--radius-md);display:flex;gap:12px;gap:var(--space-3);justify-content:space-between;padding:12px;padding:var(--space-3)}.nav-footer-title{color:#f2f5ff;color:var(--color-text-primary);font-size:.8125rem;font-size:var(--text-sm);font-weight:700}.nav-footer-subtitle{color:#7b88b6;color:var(--color-text-muted);font-size:.7rem;line-height:1.35;margin-top:2px}.theme-toggle{background:#1e2a47cc;background:var(--bg-input);border:1px solid #a8b6f03d;border:1px solid var(--color-border-strong);border-radius:9999px;border-radius:var(--radius-full);cursor:pointer;flex-shrink:0;height:28px;padding:0;position:relative;transition:background .24s cubic-bezier(.4,0,.2,1);transition:background var(--transition-base);width:48px}.theme-toggle-knob{background:#a6b2da;background:var(--color-text-secondary);border-radius:50%;height:22px;left:2px;position:absolute;top:2px;transition:transform .24s cubic-bezier(.4,0,.2,1),background .24s cubic-bezier(.4,0,.2,1);transition:transform var(--transition-base),background var(--transition-base);width:22px}.theme-toggle-knob.active{background:#6d80ff;background:var(--accent-primary);transform:translateX(20px)}.main-content{color:#f2f5ff;color:var(--color-text-primary);flex:1 1;min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;padding:clamp(24px,2.6vw,40px) clamp(20px,3vw,44px);padding:var(--page-pad-y) var(--page-pad-x);position:relative;z-index:1}.main-content>*{animation:pageFadeIn ease .4s cubic-bezier(.4,0,.2,1) both;animation:pageFadeIn var(--transition-slow) ease both;margin-inline:auto;max-width:1240px;max-width:var(--page-max);width:100%}.dashboard-page,.page,.stack-page,.transactions-container{display:flex;flex-direction:column;gap:24px;gap:var(--space-6)}.page--wide{max-width:1440px}.page--narrow{max-width:820px}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}.page-heading{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px;gap:var(--space-4);justify-content:space-between}.page-heading h1{color:#f2f5ff;color:var(--color-text-primary);font-size:2.25rem;font-size:var(--text-3xl);font-weight:800;letter-spacing:-.04em;line-height:1.08;margin:0}.page-heading p{color:#a6b2da;color:var(--color-text-secondary);font-size:.9375rem;font-size:var(--text-base);margin:8px 0 0;margin:var(--space-2) 0 0;max-width:62ch}.page-heading-actions{display:flex;flex-wrap:wrap}.mini-badge,.page-chip,.page-heading-actions{align-items:center;gap:8px;gap:var(--space-2)}.mini-badge,.page-chip{background:#ffffff08;background:var(--bg-subtle);border:1px solid #a8b6f024;border:1px solid var(--color-border);border-radius:9999px;border-radius:var(--radius-full);color:#a6b2da;color:var(--color-text-secondary);display:inline-flex;font-size:.75rem;font-size:var(--text-xs);font-weight:700;padding:8px 12px;padding:var(--space-2) var(--space-3);white-space:nowrap}.app:not(.dark-mode) .mini-badge,.app:not(.dark-mode) .nav-footer-card,.app:not(.dark-mode) .nav-icon,.app:not(.dark-mode) .page-chip{background:#ffffffb3}.card,.metric-tile,.panel,.recent-transactions,.transactions-header,.transactions-list{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:#121c34db;background:var(--bg-card);border:1px solid #a8b6f024;border:1px solid var(--color-border);box-shadow:0 2px 8px #02061747;box-shadow:var(--shadow-sm)}.card,.panel{border-radius:20px;border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:12px;gap:var(--space-3);padding:24px;padding:var(--space-6);transition:box-shadow .24s cubic-bezier(.4,0,.2,1),border-color .24s cubic-bezier(.4,0,.2,1);transition:box-shadow var(--transition-base),border-color var(--transition-base)}.card:hover,.panel:hover{box-shadow:0 12px 32px #03081757;box-shadow:var(--shadow-md)}.card--flush{overflow:hidden;padding:0}.card--tight{padding:16px;padding:var(--space-4)}.glass-card{background:linear-gradient(150deg,#121c34e6,#0b1224b3)}.app:not(.dark-mode) .glass-card{background:linear-gradient(150deg,#fff,#fffaf7)}.panel-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;gap:var(--space-4);justify-content:space-between;margin-bottom:20px;margin-bottom:var(--space-5)}.panel-header h2,.recent-transactions h2{color:#f2f5ff;color:var(--color-text-primary);font-size:1.125rem;font-size:var(--text-lg);font-weight:700;letter-spacing:-.02em;margin:0}.panel-subtitle{color:#a6b2da;color:var(--color-text-secondary);font-size:.8125rem;font-size:var(--text-sm);margin:4px 0 0;margin:var(--space-1) 0 0}.section-title-bar{align-items:center;color:#f2f5ff;color:var(--color-text-primary);display:flex;font-weight:800;gap:8px;gap:var(--space-2);letter-spacing:.12em}.card-title,.section-title-bar{font-size:.75rem;font-size:var(--text-xs);text-transform:uppercase}.card-title{color:#a6b2da;color:var(--color-text-secondary);font-weight:700;letter-spacing:.09em}.card-value{color:#f2f5ff;color:var(--color-text-primary);font-size:1.75rem;font-size:var(--text-2xl);font-weight:800;letter-spacing:-.035em;line-height:1.1;word-break:break-word}.card.income{border-top:3px solid #43dd9e;border-top:3px solid var(--color-success)}.card.expense{border-top:3px solid #ff8f88;border-top:3px solid var(--color-danger)}.card.balance{border-top:3px solid #6d80ff;border-top:3px solid var(--accent-primary)}.app:not(.dark-mode) .card,.app:not(.dark-mode) .metric-tile,.app:not(.dark-mode) .panel,.app:not(.dark-mode) .recent-transactions,.app:not(.dark-mode) .transactions-list{background:#fff}.grid{grid-gap:20px;grid-gap:var(--space-5);display:grid;gap:20px;gap:var(--space-5)}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-auto{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.grid-auto-sm{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.grid-auto-lg{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.stack{display:flex;flex-direction:column;gap:16px;gap:var(--space-4)}.stack-sm{gap:8px;gap:var(--space-2)}.stack-lg{gap:24px;gap:var(--space-6)}.cluster,.cluster-between{align-items:center;display:flex;flex-wrap:wrap;gap:12px;gap:var(--space-3)}.cluster-between{justify-content:space-between}.spacer{flex:1 1}.dashboard,.dashboard-grid{grid-gap:20px;grid-gap:var(--space-5);display:grid;gap:20px;gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.dashboard-split{grid-gap:20px;grid-gap:var(--space-5);align-items:start;display:grid;gap:20px;gap:var(--space-5);grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.balance-hero{align-items:center;background:linear-gradient(135deg,#8b99ff,#5f74ff 58%,#4a5ed9);background:var(--accent-gradient);border-radius:32px;border-radius:var(--radius-2xl);box-shadow:0 16px 40px #5f74ff4d;box-shadow:var(--shadow-accent);display:flex;min-height:200px;overflow:hidden;padding:clamp(24px,3.4vw,40px);position:relative}.balance-hero-copy{max-width:30ch;position:relative;z-index:1}.balance-label{color:#ffffffd1;display:block;font-size:.65rem;font-weight:700;letter-spacing:.18em;margin-bottom:12px;margin-bottom:var(--space-3);text-transform:uppercase}.balance-amount{align-items:baseline;color:#fff;display:flex;gap:8px;gap:var(--space-2)}.balance-currency{font-size:clamp(18px,2vw,24px);font-weight:600;opacity:.75}.balance-amount strong{font-size:clamp(40px,6vw,68px);font-weight:800;letter-spacing:-.055em;line-height:.98}.balance-trend{align-items:center;background:#ffffff2e;border:1px solid #ffffff29;border-radius:9999px;border-radius:var(--radius-full);color:#fff;display:inline-flex;font-size:.75rem;font-size:var(--text-xs);font-weight:700;gap:8px;gap:var(--space-2);margin-top:16px;margin-top:var(--space-4);padding:8px 12px;padding:var(--space-2) var(--space-3)}.balance-hero-orb{background:#ffffff24;border-radius:50%;bottom:-110px;filter:blur(6px);height:300px;pointer-events:none;position:absolute;right:-60px;width:300px}.stat-card{min-height:150px}.stat-card,.stat-card-head{justify-content:space-between}.stat-card-head{align-items:flex-start;display:flex;gap:12px;gap:var(--space-3)}.stat-icon{align-items:center;border-radius:10px;display:inline-flex;flex-shrink:0;font-size:15px;font-weight:800;height:34px;justify-content:center;width:34px}.stat-icon.income{background:#43dd9e24;background:var(--color-success-soft);color:#43dd9e;color:var(--color-success)}.stat-icon.expense{background:#ff8f8824;background:var(--color-danger-soft);color:#ff8f88;color:var(--color-danger)}.stat-icon.balance{background:#6d80ff24;background:var(--accent-soft);color:#6d80ff;color:var(--accent-primary)}.stat-note{color:#7b88b6;color:var(--color-text-muted);font-size:.75rem;font-size:var(--text-xs);font-weight:600}.metrics-strip{grid-gap:16px;grid-gap:var(--space-4);display:grid;gap:16px;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.metric-tile{border-radius:16px;border-radius:var(--radius-md);padding:16px 20px;padding:var(--space-4) var(--space-5)}.metric-tile span{color:#7b88b6;color:var(--color-text-muted);display:block;font-size:.65rem;font-weight:700;letter-spacing:.1em;margin-bottom:8px;margin-bottom:var(--space-2);text-transform:uppercase}.metric-tile strong{font-size:1.375rem;font-size:var(--text-xl);font-weight:800;letter-spacing:-.03em}.metric-tile.income strong{color:#43dd9e;color:var(--color-success)}.metric-tile.expense strong{color:#ff8f88;color:var(--color-danger)}.activity-chart{align-items:flex-end;display:flex;gap:12px;gap:var(--space-3);height:200px;padding:8px 0 0;padding:var(--space-2) 0 0}.activity-bar{background:linear-gradient(180deg,#9aa8ff,#0000);background:linear-gradient(180deg,var(--accent-secondary),#0000);border-radius:10px 10px 3px 3px;flex:1 1;min-width:8px;opacity:.35;transition:opacity .24s cubic-bezier(.4,0,.2,1);transition:opacity var(--transition-base)}.activity-bar.active{background:linear-gradient(180deg,#6d80ff,#6d80ff24);background:linear-gradient(180deg,var(--accent-primary),var(--accent-soft));opacity:1}.table-wrap{-webkit-overflow-scrolling:touch;border:1px solid #a8b6f024;border:1px solid var(--color-border);border-radius:16px;border-radius:var(--radius-md);overflow-x:auto;width:100%}.table-wrap table,table{border-collapse:collapse;table-layout:auto;width:100%}.data-table{min-width:640px}thead tr{border-bottom:1px solid #a8b6f024;border-bottom:1px solid var(--color-border)}.table-wrap thead th,thead tr{background:#1c2744e6;background:var(--bg-table-header)}.table-wrap thead th{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:1}th{color:#a6b2da;color:var(--color-text-secondary);font-size:.75rem;font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-align:left;text-transform:uppercase;white-space:nowrap}td,th{padding:12px 16px;padding:var(--space-3) var(--space-4)}td{font-size:.9375rem;font-size:var(--text-base);vertical-align:middle}.is-num,td.is-num,th.is-num{text-align:right}td.is-center,th.is-center{text-align:center}td.is-truncate{max-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:40%}tbody tr{border-bottom:1px solid #a8b6f012;border-bottom:1px solid var(--color-table-row-border);transition:background .15s cubic-bezier(.4,0,.2,1);transition:background var(--transition-fast)}tbody tr:last-child{border-bottom:none}tbody tr:hover{background:#6d80ff17;background:var(--color-tr-hover)}tfoot tr{background:#ffffff08;background:var(--bg-subtle);border-top:2px solid #a8b6f024;border-top:2px solid var(--color-border);font-weight:700}th.is-sortable{cursor:pointer;transition:color .15s cubic-bezier(.4,0,.2,1);transition:color var(--transition-fast);-webkit-user-select:none;user-select:none}th.is-sortable:hover{color:#f2f5ff;color:var(--color-text-primary)}.subtable{background:#202c4c99;background:var(--bg-card-inner);border-collapse:collapse;width:100%}.subtable th{background:#0000;border-bottom:1px solid #a8b6f017;border-bottom:1px solid var(--color-divider);font-size:.65rem}.subtable td,.subtable th{padding:8px 16px;padding:var(--space-2) var(--space-4)}.subtable td{font-size:.8125rem;font-size:var(--text-sm)}.subtable tfoot tr{background:#0000;border-top:1px solid #a8b6f024;border-top:1px solid var(--color-border)}.input-group{align-items:stretch;border:1px solid #a8b6f03d;border:1px solid var(--color-border-strong);border-radius:12px;border-radius:var(--radius-sm);display:flex;overflow:hidden}.input-group>input,.input-group>select{background:#1e2a47cc;background:var(--bg-input);border:none;border-radius:0;min-width:150px}.input-group>input:focus,.input-group>select:focus{box-shadow:none}.input-group>.btn{border-radius:0;box-shadow:none}.input-group>.btn:hover:not(:disabled){transform:none}.field,.filter-group,.form-group{display:flex;flex-direction:column;gap:8px;gap:var(--space-2);min-width:0}.field label,.filter-group label,.form-group label{color:#7b88b6;color:var(--color-text-muted);font-size:.75rem;font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.filter-bar{grid-gap:16px;grid-gap:var(--space-4);align-items:end;display:grid;gap:16px;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}input[type=date],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=text],select,textarea{background:#1e2a47cc;background:var(--bg-input);border:1px solid #a8b6f03d;border:1px solid var(--color-border-strong);border-radius:12px;border-radius:var(--radius-sm);color:#f2f5ff;color:var(--color-text-primary);font-size:.9375rem;font-size:var(--text-base);outline:none;padding:12px 16px;padding:var(--space-3) var(--space-4);transition:border-color .15s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,#0000 50%,currentColor 0),linear-gradient(135deg,currentColor 50%,#0000 0);background-position:calc(100% - 20px) calc(50% + 1px),calc(100% - 15px) calc(50% + 1px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;cursor:pointer;padding-right:40px;padding-right:var(--space-8)}textarea{min-height:96px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#6d80ff;border-color:var(--accent-primary);box-shadow:0 0 0 3px #6d80ff24;box-shadow:0 0 0 3px var(--accent-soft)}input::placeholder,textarea::placeholder{color:#7b88b6;color:var(--color-text-muted)}input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.55}.btn{align-items:center;background:linear-gradient(135deg,#8b99ff,#5f74ff 58%,#4a5ed9);background:var(--accent-gradient);border:1px solid #0000;border-radius:12px;border-radius:var(--radius-sm);box-shadow:0 1px 2px #0206174d;box-shadow:var(--shadow-xs);color:#fff;color:var(--color-text-on-accent);cursor:pointer;display:inline-flex;font-size:.9375rem;font-size:var(--text-base);font-weight:700;gap:8px;gap:var(--space-2);justify-content:center;line-height:1.2;padding:12px 20px;padding:var(--space-3) var(--space-5);transition:transform .15s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1),background .15s cubic-bezier(.4,0,.2,1);transition:transform var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast);white-space:nowrap}.btn:hover:not(:disabled){background:linear-gradient(135deg,#9aa7ff,#6a7dff 58%,#5a6df0);background:var(--accent-gradient-hover);box-shadow:0 16px 40px #5f74ff4d;box-shadow:var(--shadow-accent);transform:translateY(-1px)}.btn:active:not(:disabled){box-shadow:none;transform:translateY(0)}.btn:disabled{box-shadow:none!important;cursor:not-allowed;opacity:.45;transform:none!important}.btn-sm{font-size:.8125rem;font-size:var(--text-sm);padding:8px 12px;padding:var(--space-2) var(--space-3)}.btn-block{width:100%}.btn-ghost{background:#0000;border-color:#a8b6f03d;border-color:var(--color-border-strong);box-shadow:none;color:#a6b2da;color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){background:#ffffff08;background:var(--bg-subtle);box-shadow:none;color:#f2f5ff;color:var(--color-text-primary)}.btn-danger{background:linear-gradient(135deg,#f4787c,#d85466)}.btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#f78b8e,#e06070)}.scan-slip-btn{background:linear-gradient(135deg,#ff9a9e,#fecfef);color:#2a1c2c}.scan-slip-btn:hover:not(:disabled){background:linear-gradient(135deg,#ffb0b4,#ffdff5);color:#1a1018}.scan-bill-btn{background:linear-gradient(135deg,#a8edea,#fed6e3);color:#17282c}.scan-bill-btn:hover:not(:disabled){background:linear-gradient(135deg,#bdf4f1,#ffe4ee);color:#0d1a1d}.icon-btn{align-items:center;background:#ffffff08;background:var(--bg-subtle);border:1px solid #a8b6f03d;border:1px solid var(--color-border-strong);border-radius:8px;border-radius:var(--radius-xs);color:#a6b2da;color:var(--color-text-secondary);cursor:pointer;display:inline-flex;height:34px;justify-content:center;padding:0;transition:background .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1);transition:background var(--transition-fast),color var(--transition-fast);width:34px}.icon-btn:hover{background:#202c4c99;background:var(--bg-card-inner);color:#f2f5ff;color:var(--color-text-primary)}.icon-btn.danger{color:#ff8f88;color:var(--color-danger)}.icon-btn.danger:hover{background:#ff8f8824;background:var(--color-danger-soft)}.tag,.type-badge{align-items:center;border-radius:9999px;border-radius:var(--radius-full);display:inline-flex;font-size:.75rem;font-size:var(--text-xs);font-weight:700;gap:4px;gap:var(--space-1);letter-spacing:.02em;padding:4px 12px;padding:var(--space-1) var(--space-3);white-space:nowrap}.type-badge.income{background:#43dd9e24;background:var(--color-success-soft);color:#43dd9e;color:var(--color-success)}.type-badge.expense{background:#ff8f8824;background:var(--color-danger-soft);color:#ff8f88;color:var(--color-danger)}.tag-neutral{background:#ffffff08;background:var(--bg-subtle);color:#a6b2da;color:var(--color-text-secondary)}.tag-info{background:#8ea0ff24;background:var(--color-info-soft);color:#8ea0ff;color:var(--color-info)}.tag-warning{background:#ffc85f24;background:var(--color-warning-soft);color:#ffc85f;color:var(--color-warning)}.tag-success{background:#43dd9e24;background:var(--color-success-soft);color:#43dd9e;color:var(--color-success)}.tag-danger{background:#ff8f8824;background:var(--color-danger-soft);color:#ff8f88;color:var(--color-danger)}.progress{background:#ffffff08;background:var(--bg-subtle);height:8px;overflow:hidden;position:relative;width:100%}.progress,.progress-fill{border-radius:9999px;border-radius:var(--radius-full)}.progress-fill{background:linear-gradient(135deg,#8b99ff,#5f74ff 58%,#4a5ed9);background:var(--accent-gradient);height:100%;transition:width .4s cubic-bezier(.4,0,.2,1);transition:width var(--transition-slow)}.progress-fill.is-warning{background:linear-gradient(90deg,#f3b95f,#e79a2a)}.progress-fill.is-danger{background:linear-gradient(90deg,#f4787c,#d85466)}.recent-transactions,.transactions-list{border-radius:20px;border-radius:var(--radius-lg);padding:24px;padding:var(--space-6)}.transaction-item{align-items:center;border-radius:12px;border-radius:var(--radius-sm);display:flex;gap:16px;gap:var(--space-4);justify-content:space-between;margin-inline:-12px;margin-inline:calc(var(--space-3)*-1);padding:12px;padding:var(--space-3);transition:background .15s cubic-bezier(.4,0,.2,1);transition:background var(--transition-fast)}.transaction-item:hover{background:#6d80ff17;background:var(--color-tr-hover)}.transaction-info{align-items:center;display:flex;gap:12px;gap:var(--space-3);min-width:0}.transaction-avatar{align-items:center;background:linear-gradient(135deg,#8b99ff,#5f74ff 58%,#4a5ed9);background:var(--accent-gradient);border-radius:12px;color:#fff;display:flex;flex-shrink:0;font-size:13px;font-weight:800;height:38px;justify-content:center;text-transform:uppercase;width:38px}.transaction-details{display:flex;flex-direction:column;gap:1px;min-width:0}.transaction-category{color:#f2f5ff;color:var(--color-text-primary);font-size:.9375rem;font-size:var(--text-base);font-weight:650}.transaction-category,.transaction-date{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transaction-date{color:#a6b2da;color:var(--color-text-secondary);font-size:.8125rem;font-size:var(--text-sm)}.transaction-amount{flex-shrink:0;font-size:.9375rem;font-size:var(--text-base);font-weight:750;letter-spacing:-.02em;white-space:nowrap}.transaction-amount.income{color:#43dd9e;color:var(--color-success)}.transaction-amount.expense{color:#ff8f88;color:var(--color-danger)}.transaction-feed{display:flex;flex-direction:column;gap:24px;gap:var(--space-6)}.transaction-group-title{align-items:center;color:#7b88b6;color:var(--color-text-muted);display:flex;font-size:.65rem;font-weight:800;gap:12px;gap:var(--space-3);letter-spacing:.14em;margin-bottom:12px;margin-bottom:var(--space-3);text-transform:uppercase}.transaction-group-title div{background:#a8b6f017;background:var(--color-divider);flex:1 1;height:1px}.transaction-stack{display:flex;flex-direction:column;gap:8px;gap:var(--space-2)}.transaction-card-row{grid-gap:16px;grid-gap:var(--space-4);align-items:center;background:#ffffff08;background:var(--bg-subtle);border:1px solid #a8b6f024;border:1px solid var(--color-border);border-radius:16px;border-radius:var(--radius-md);display:grid;gap:16px;gap:var(--space-4);grid-template-columns:minmax(0,1fr) auto auto;padding:12px 16px;padding:var(--space-3) var(--space-4);transition:border-color .15s cubic-bezier(.4,0,.2,1),background .15s cubic-bezier(.4,0,.2,1);transition:border-color var(--transition-fast),background var(--transition-fast)}.transaction-card-row:hover{background:#202c4c99;background:var(--bg-card-inner);border-color:#a8b6f03d;border-color:var(--color-border-strong)}.transaction-card-main{align-items:center;display:flex;gap:12px;gap:var(--space-3);min-width:0}.transaction-card-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.transaction-card-copy strong{color:#f2f5ff;color:var(--color-text-primary);font-size:.9375rem;font-size:var(--text-base);font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transaction-card-copy span{color:#a6b2da;color:var(--color-text-secondary);font-size:.8125rem;font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transaction-card-side{align-items:flex-end;flex-direction:column}.empty-state,.transaction-card-actions,.transaction-card-side{display:flex;gap:8px;gap:var(--space-2)}.empty-state{align-items:center;color:#a6b2da;color:var(--color-text-secondary);flex-direction:column;justify-content:center;padding:48px 20px;padding:var(--space-9) var(--space-5);text-align:center}.empty-state-icon{font-size:36px;margin-bottom:4px;margin-bottom:var(--space-1);opacity:.35}.empty-state strong,.empty-state-title{color:#f2f5ff;color:var(--color-text-primary);font-size:1rem;font-size:var(--text-md);font-weight:700}.empty-state p{font-size:.8125rem;font-size:var(--text-sm);max-width:40ch}.loading-inner{color:#f2f5ff;color:var(--color-text-primary);text-align:center}.loading-spinner{animation:spin .8s linear infinite;border:3px solid #a8b6f024;border-radius:50%;border-top-color:#6d80ff;border:3px solid var(--color-border);border-top-color:var(--accent-primary);height:48px;margin:0 auto 16px;margin:0 auto var(--space-4);width:48px}@keyframes spin{to{transform:rotate(1turn)}}.stats-pie-layout{grid-gap:24px;grid-gap:var(--space-6);align-items:center;display:grid;gap:24px;gap:var(--space-6);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.stats-legend{display:flex;flex-direction:column;gap:12px;gap:var(--space-3)}.stats-legend-row{grid-gap:12px;grid-gap:var(--space-3);align-items:center;display:grid;font-size:.8125rem;font-size:var(--text-sm);gap:12px;gap:var(--space-3);grid-template-columns:12px minmax(0,1fr) auto}.stats-legend-dot{border-radius:3px;flex-shrink:0;height:10px;width:10px}.stats-category-label{color:#a6b2da;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-frame{min-height:260px;position:relative;width:100%}.segmented{background:#ffffff08;background:var(--bg-subtle);border:1px solid #a8b6f03d;border:1px solid var(--color-border-strong);border-radius:12px;border-radius:var(--radius-sm);display:inline-flex;gap:2px;padding:3px}.segmented button{background:#0000;border:none;border-radius:8px;border-radius:var(--radius-xs);color:#a6b2da;color:var(--color-text-secondary);cursor:pointer;font-size:.8125rem;font-size:var(--text-sm);font-weight:700;padding:8px 12px;padding:var(--space-2) var(--space-3);transition:background .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1);transition:background var(--transition-fast),color var(--transition-fast);white-space:nowrap}.segmented button:hover{color:#f2f5ff;color:var(--color-text-primary)}.segmented button.is-active{background:linear-gradient(135deg,#8b99ff,#5f74ff 58%,#4a5ed9);background:var(--accent-gradient);box-shadow:0 1px 2px #0206174d;box-shadow:var(--shadow-xs);color:#fff;color:var(--color-text-on-accent)}.alert{align-items:center;border:1px solid #0000;border-radius:12px;border-radius:var(--radius-sm);display:flex;font-size:.9375rem;font-size:var(--text-base);font-weight:600;gap:12px;gap:var(--space-3);padding:12px 16px;padding:var(--space-3) var(--space-4)}.alert-success{background:#43dd9e24;background:var(--color-success-soft);border-color:#43dd9e;border-color:var(--color-success);color:#43dd9e;color:var(--color-success)}.alert-danger{background:#ff8f8824;background:var(--color-danger-soft);border-color:#ff8f88;border-color:var(--color-danger);color:#ff8f88;color:var(--color-danger)}.alert-warning{background:#ffc85f24;background:var(--color-warning-soft);border-color:#ffc85f;border-color:var(--color-warning);color:#ffc85f;color:var(--color-warning)}.alert-info{background:#8ea0ff24;background:var(--color-info-soft);border-color:#8ea0ff;border-color:var(--color-info);color:#8ea0ff;color:var(--color-info)}.quota-banner{align-items:center;background:#ffffff08;background:var(--bg-subtle);border:1px dashed #a8b6f03d;border:1px dashed var(--color-border-strong);border-radius:16px;border-radius:var(--radius-md);display:flex;flex-wrap:wrap;gap:16px;gap:var(--space-4);justify-content:space-between;padding:16px 20px;padding:var(--space-4) var(--space-5)}.quota-banner-copy{align-items:flex-start;display:flex;flex:1 1;gap:12px;gap:var(--space-3);min-width:260px}.quota-banner-icon{font-size:22px;line-height:1.2}.quota-banner strong{color:#f2f5ff;color:var(--color-text-primary);display:block;font-size:.9375rem;font-size:var(--text-base);font-weight:700}.quota-banner p{color:#a6b2da;color:var(--color-text-secondary);font-size:.8125rem;font-size:var(--text-sm);margin:2px 0 0}.quota-banner--scan{margin-bottom:16px;margin-bottom:var(--space-4);padding:12px 16px;padding:var(--space-3) var(--space-4);width:100%}.quota-banner--scan .quota-banner-copy{min-width:0}.quota-banner--scan .quota-banner p{overflow-wrap:anywhere}.result-count{background:#ffffff08;background:var(--bg-subtle);border:1px solid #a8b6f017;border:1px solid var(--color-divider);border-radius:8px;border-radius:var(--radius-xs);color:#a6b2da;color:var(--color-text-secondary);font-size:.8125rem;font-size:var(--text-sm);font-weight:600;margin-top:16px;margin-top:var(--space-4);padding:8px 12px;padding:var(--space-2) var(--space-3)}.sheet-backdrop{animation:pageFadeIn ease .24s cubic-bezier(.4,0,.2,1) both;animation:pageFadeIn var(--transition-base) ease both;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);background:#040914b8;background:var(--bg-overlay);inset:0;position:fixed;z-index:9999}.sheet{animation:slideUp ease .24s cubic-bezier(.4,0,.2,1) both;animation:slideUp var(--transition-base) ease both;background:#121c34db;background:var(--bg-card);border:1px solid #a8b6f024;border:1px solid var(--color-border);border-bottom:none;border-radius:26px 26px 0 0;border-radius:var(--radius-xl) var(--radius-xl) 0 0;bottom:0;box-shadow:0 -12px 48px #00000047;left:0;margin:0 auto;max-height:92dvh;overflow-y:auto;padding:16px 24px calc(40px + env(safe-area-inset-bottom));padding:var(--space-4) var(--space-6) calc(var(--space-8) + env(safe-area-inset-bottom));position:fixed;right:0;width:min(640px,100%);z-index:10000}.app:not(.dark-mode) .sheet{background:#fff}.sheet-handle{background:#a8b6f03d;background:var(--color-border-strong);border-radius:9999px;border-radius:var(--radius-full);height:4px;margin:0 auto 16px;margin:0 auto var(--space-4);width:40px}.sheet-header{align-items:center;display:flex;gap:12px;gap:var(--space-3);justify-content:space-between;margin-bottom:24px;margin-bottom:var(--space-6)}.sheet-header h3{font-size:1.125rem;font-size:var(--text-lg);font-weight:700;letter-spacing:-.02em;margin:0}.inline-cell{background:#0000;border:1px solid #0000;border-radius:8px;border-radius:var(--radius-xs);color:#f2f5ff;color:var(--color-text-primary);cursor:pointer;font-size:.8125rem;font-size:var(--text-sm);padding:8px;padding:var(--space-2);transition:background .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1);transition:background var(--transition-fast),border-color var(--transition-fast);width:100%}.inline-cell:hover{background:#ffffff08;background:var(--bg-subtle)}.inline-cell.is-active{background:#1e2a47cc;background:var(--bg-input);border-color:#6d80ff;border-color:var(--accent-primary);box-shadow:0 0 0 3px #6d80ff24;box-shadow:0 0 0 3px var(--accent-soft);cursor:text}tr.is-editing{background:#202c4c99;background:var(--bg-card-inner)}.cell-btn{background:#0000;border:none;color:inherit;cursor:pointer;font:inherit;font-weight:inherit;padding:0;white-space:nowrap}.toolbar{align-items:center;background:#121c34db;background:var(--bg-card);border:1px solid #a8b6f024;border:1px solid var(--color-border);border-radius:20px;border-radius:var(--radius-lg);box-shadow:0 2px 8px #02061747;box-shadow:var(--shadow-sm);display:flex;flex-wrap:wrap;gap:16px;gap:var(--space-4);padding:16px;padding:var(--space-4)}.toolbar-divider{align-self:stretch;background:#a8b6f017;background:var(--color-divider);min-height:44px;width:1px}.toolbar-end{margin-left:auto}.btn-primary-lg{border-radius:16px;border-radius:var(--radius-md);box-shadow:0 16px 40px #5f74ff4d;box-shadow:var(--shadow-accent);font-size:1rem;font-size:var(--text-md);font-weight:750;min-height:56px;padding:12px 24px;padding:var(--space-3) var(--space-6)}.btn-primary-lg:hover:not(:disabled){transform:translateY(-2px)}.btn-plus{align-items:center;background:#ffffff38;border-radius:50%;display:inline-flex;font-size:15px;font-weight:800;height:22px;justify-content:center;line-height:1;width:22px}.scan-actions{flex-wrap:wrap}.action-tile,.scan-actions{display:flex;gap:12px;gap:var(--space-3)}.action-tile{align-items:center;border:1.5px solid #0000;border-radius:16px;border-radius:var(--radius-md);cursor:pointer;min-height:56px;padding:8px 16px 8px 12px;padding:var(--space-2) var(--space-4) var(--space-2) var(--space-3);text-align:left;transition:transform .15s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1);transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.action-tile:hover:not(:disabled){box-shadow:0 12px 32px #03081757;box-shadow:var(--shadow-md);transform:translateY(-2px)}.action-tile:active:not(:disabled){transform:translateY(0)}.action-tile:disabled{cursor:not-allowed;opacity:.45;transform:none!important}.action-tile-icon{align-items:center;background:#ffffff8c;border-radius:12px;border-radius:var(--radius-sm);display:inline-flex;flex-shrink:0;font-size:19px;height:38px;justify-content:center;width:38px}.action-tile-copy{display:flex;flex-direction:column;gap:1px;min-width:0}.action-tile-copy strong{font-size:.9375rem;font-size:var(--text-base);font-weight:750;letter-spacing:-.01em;white-space:nowrap}.action-tile-copy small{font-size:.7rem;font-weight:600;opacity:.72;white-space:nowrap}.action-tile--slip{background:linear-gradient(135deg,#ffd9dc,#ffe9f6);border-color:#f7b9c2;color:#7a2c3d}.action-tile--slip:hover:not(:disabled){border-color:#ef8ea0}.action-tile--bill{background:linear-gradient(135deg,#c9f0ed,#e4f6ff);border-color:#96ddd6;color:#14555a}.action-tile--bill:hover:not(:disabled){border-color:#5fc9c0}.app.dark-mode .action-tile--slip{background:linear-gradient(135deg,#f78fa033,#ffbedc14);border-color:#f78fa06b;color:#ffc2cc}.app.dark-mode .action-tile--bill{background:linear-gradient(135deg,#5fc9c033,#78c8ff14);border-color:#5fc9c06b;color:#a8ede6}.app.dark-mode .action-tile-icon{background:#ffffff1f}.view-switch{background:#ffffff08;background:var(--bg-subtle);border:1.5px solid #a8b6f03d;border:1.5px solid var(--color-border-strong);border-radius:16px;border-radius:var(--radius-md);display:inline-flex;gap:4px;padding:4px}.view-switch button{align-items:center;background:#0000;border:1.5px solid #0000;border-radius:12px;border-radius:var(--radius-sm);color:#7b88b6;color:var(--color-text-muted);cursor:pointer;display:inline-flex;font-size:.8125rem;font-size:var(--text-sm);font-weight:700;gap:8px;gap:var(--space-2);padding:8px 16px;padding:var(--space-2) var(--space-4);transition:background .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1);transition:background var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast);white-space:nowrap}.view-switch button:hover:not(.is-active){background:#202c4c99;background:var(--bg-card-inner);color:#f2f5ff;color:var(--color-text-primary)}.view-switch button.is-active{background:#121c34db;background:var(--bg-card);border-color:#6d80ff;border-color:var(--accent-primary);box-shadow:0 2px 8px #02061747;box-shadow:var(--shadow-sm);color:#6d80ff;color:var(--accent-primary)}.app.dark-mode .view-switch button.is-active{background:#6d80ff24;background:var(--accent-soft);color:#f2f5ff;color:var(--color-text-primary)}.view-switch-icon{font-size:15px;line-height:1}.setting-row{align-items:center;background:#ffffff08;background:var(--bg-subtle);border:1px solid #a8b6f024;border:1px solid var(--color-border);border-radius:16px;border-radius:var(--radius-md);display:flex;flex-wrap:wrap;gap:16px;gap:var(--space-4);justify-content:space-between;padding:16px 20px;padding:var(--space-4) var(--space-5);transition:border-color .15s cubic-bezier(.4,0,.2,1);transition:border-color var(--transition-fast)}.setting-row:hover{border-color:#a8b6f03d;border-color:var(--color-border-strong)}.setting-row-copy{flex:1 1;min-width:200px}.setting-row-copy strong{color:#f2f5ff;color:var(--color-text-primary);display:block;font-size:.9375rem;font-size:var(--text-base);font-weight:650}.setting-row-copy p{color:#a6b2da;color:var(--color-text-secondary);font-size:.8125rem;font-size:var(--text-sm);margin:4px 0 0;margin:var(--space-1) 0 0}.setting-row-control{display:flex;flex-shrink:0}.setting-row-control,.switch{align-items:center;gap:8px;gap:var(--space-2)}.switch{background:#0000;border:none;cursor:pointer;display:inline-flex;padding:0}.switch-track{background:#a8b6f03d;background:var(--color-border-strong);border-radius:9999px;border-radius:var(--radius-full);display:inline-block;flex-shrink:0;height:24px;position:relative;transition:background .24s cubic-bezier(.4,0,.2,1);transition:background var(--transition-base);width:44px}.switch.is-on .switch-track{background:linear-gradient(135deg,#8b99ff,#5f74ff 58%,#4a5ed9);background:var(--accent-gradient);box-shadow:0 1px 2px #0206174d;box-shadow:var(--shadow-xs)}.switch-knob{background:#fff;border-radius:50%;box-shadow:0 1px 3px #00000040;height:18px;left:3px;position:absolute;top:3px;transition:transform .24s cubic-bezier(.4,0,.2,1);transition:transform var(--transition-base);width:18px}.switch.is-on .switch-knob{transform:translateX(20px)}.switch-label{color:#7b88b6;color:var(--color-text-muted);font-size:.75rem;font-size:var(--text-xs);font-weight:800;letter-spacing:.05em}.switch.is-on .switch-label{color:#6d80ff;color:var(--accent-primary)}.tag-plan-pro{background:linear-gradient(135deg,#8b99ff,#5f74ff 58%,#4a5ed9);background:var(--accent-gradient);color:#fff;color:var(--color-text-on-accent)}.quota-card{background:#ffffff08;background:var(--bg-subtle);border:1px solid #a8b6f024;border:1px solid var(--color-border);border-radius:16px;border-radius:var(--radius-md);padding:16px 20px;padding:var(--space-4) var(--space-5)}.quota-grid{grid-gap:16px;grid-gap:var(--space-4);display:grid;gap:16px;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.quota-item span{color:#7b88b6;color:var(--color-text-muted);display:block;font-size:.75rem;font-size:var(--text-xs);font-weight:600;margin-bottom:2px}.quota-item strong{color:#f2f5ff;color:var(--color-text-primary);font-size:1.125rem;font-size:var(--text-lg);font-weight:800;letter-spacing:-.02em}.code-block{background:#ffffff08;background:var(--bg-subtle);border:1px solid #a8b6f024;border:1px solid var(--color-border);border-radius:12px;border-radius:var(--radius-sm);padding:12px 16px;padding:var(--space-3) var(--space-4)}.code-block-label{color:#7b88b6;color:var(--color-text-muted);display:block;font-size:.65rem;font-weight:700;letter-spacing:.08em;margin-bottom:8px;margin-bottom:var(--space-2);text-transform:uppercase}.code-block code{color:#a6b2da;color:var(--color-text-secondary);display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;font-size:var(--text-xs);word-break:break-all}.about-mark--icon{background:none;box-shadow:0 2px 8px #02061747;box-shadow:var(--shadow-sm,0 2px 8px #00000040);object-fit:cover}.about-mark{align-items:center;background:linear-gradient(135deg,#8b99ff,#5f74ff 58%,#4a5ed9);background:var(--accent-gradient);border-radius:16px;border-radius:var(--radius-md);box-shadow:0 16px 40px #5f74ff4d;box-shadow:var(--shadow-accent);display:flex;flex-shrink:0;font-size:22px;height:48px;justify-content:center;width:48px}.feature-grid{grid-gap:8px 16px;grid-gap:var(--space-2) var(--space-4);display:grid;gap:8px 16px;gap:var(--space-2) var(--space-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.feature-item{align-items:center;color:#a6b2da;color:var(--color-text-secondary);display:flex;font-size:.8125rem;font-size:var(--text-sm);gap:8px;gap:var(--space-2)}.budget-card{background:#ffffff08;background:var(--bg-subtle);border:1px solid #a8b6f024;border-left:4px solid #6d80ff;border:1px solid var(--color-border);border-left:4px solid var(--accent-primary);border-radius:16px;border-radius:var(--radius-md);display:flex;flex-direction:column;gap:16px;gap:var(--space-4);padding:20px;padding:var(--space-5);transition:border-color .15s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.budget-card:hover{box-shadow:0 2px 8px #02061747;box-shadow:var(--shadow-sm)}.budget-card-title{color:#f2f5ff;color:var(--color-text-primary);display:block;font-size:1rem;font-size:var(--text-md);font-weight:700;letter-spacing:-.02em;margin-bottom:8px;margin-bottom:var(--space-2)}.budget-stat{background:#121c34db;background:var(--bg-card);border:1px solid #a8b6f017;border:1px solid var(--color-divider);border-radius:8px;border-radius:var(--radius-xs);padding:12px;padding:var(--space-3)}.budget-stat span{color:#7b88b6;color:var(--color-text-muted);display:block;font-size:.65rem;font-weight:700;letter-spacing:.06em;margin-bottom:2px;text-transform:uppercase}.budget-stat strong{font-size:1rem;font-size:var(--text-md);font-weight:800;letter-spacing:-.02em}.tips-panel{background:#6d80ff24;background:var(--accent-soft);border-color:#a8b6f024;border-color:var(--color-border)}.tips-list{color:#a6b2da;color:var(--color-text-secondary);font-size:.8125rem;font-size:var(--text-sm);margin:0;padding-left:20px;padding-left:var(--space-5)}.tips-list li{line-height:1.9}.premium-page,.premium-scroll-area{display:flex;flex-direction:column}.premium-scroll-area{gap:24px;gap:var(--space-6)}.transaction-group{display:block}.performance-card{min-height:260px}.mobile-nav,.mobile-premium-btn{display:none!important}@media (min-width:1800px){:root{--page-max:1360px;--sidebar-width:300px}}@media (max-width:1240px){.dashboard-split{grid-template-columns:minmax(0,1fr)}}@media (max-width:1080px){:root{--sidebar-width:240px}.grid-3,.grid-4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.nav-copy small{display:none}}@media (max-width:900px){.sidebar{display:none}.main-content{padding:24px 16px 112px;padding:var(--space-6) var(--space-4) 112px}.page-heading{align-items:flex-start;flex-direction:column}.page-heading h1{font-size:1.75rem;font-size:var(--text-2xl)}.dashboard,.dashboard-grid,.grid-2,.grid-3,.grid-4,.stats-pie-layout{grid-template-columns:minmax(0,1fr)}.metrics-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.transaction-card-row{gap:12px;gap:var(--space-3);grid-template-columns:minmax(0,1fr)}.transaction-card-row,.transaction-card-side{align-items:flex-start}.transaction-card-actions{width:100%}.panel-header{margin-bottom:16px;margin-bottom:var(--space-4)}.toolbar{gap:12px;gap:var(--space-3)}.toolbar-divider{display:none}.toolbar>.btn-primary-lg{width:100%}.scan-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.action-tile{padding:12px;padding:var(--space-3)}.action-tile-copy small,.action-tile-copy strong{white-space:normal}.toolbar-end{margin-left:0;width:100%}.view-switch{width:100%}.view-switch button{flex:1 1;justify-content:center}.mobile-nav{grid-gap:4px;grid-gap:var(--space-1);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#091122e6;background:var(--bg-sidebar);border:1px solid #a8b6f024;border:1px solid var(--color-border);border-radius:26px;border-radius:var(--radius-xl);bottom:max(env(safe-area-inset-bottom,10px),10px);box-shadow:0 24px 60px #0206176b;box-shadow:var(--shadow-lg);display:grid!important;gap:4px;gap:var(--space-1);grid-template-columns:repeat(auto-fit,minmax(0,1fr));left:max(env(safe-area-inset-left,10px),10px);padding:8px;padding:var(--space-2);position:fixed;right:max(env(safe-area-inset-right,10px),10px);z-index:40}.mobile-nav button{align-items:center;background:#0000;border:1px solid #0000;border-radius:12px;border-radius:var(--radius-sm);color:#7b88b6;color:var(--color-text-muted);cursor:pointer;display:flex;flex-direction:column;gap:4px;gap:var(--space-1);justify-content:center;min-height:54px;padding:8px 2px;padding:var(--space-2) 2px;transition:background .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1);transition:background var(--transition-fast),color var(--transition-fast)}.mobile-nav button.active{background:#6d80ff24;background:var(--accent-soft);border-color:#a8b6f024;border-color:var(--color-border);color:#f2f5ff;color:var(--color-text-primary)}.mobile-nav button span{font-size:1.05rem;font-weight:800;line-height:1}.mobile-nav button small{font-size:.6rem;font-weight:700;line-height:1.2;max-width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.mobile-settings-btn{align-items:center;background:#121c34db;background:var(--bg-card);border:1px solid #a8b6f024;border:1px solid var(--color-border);border-radius:12px;box-shadow:0 12px 32px #03081757;box-shadow:var(--shadow-md);color:#f2f5ff;color:var(--color-text-primary);cursor:pointer;display:flex;height:42px;justify-content:center;left:max(env(safe-area-inset-left,14px),14px);position:fixed;top:max(env(safe-area-inset-top,14px),14px);transition:transform .15s cubic-bezier(.4,0,.2,1);transition:transform var(--transition-fast);width:42px;z-index:50}.mobile-settings-btn:active{transform:scale(.92)}.mobile-premium-btn{align-items:center;background:linear-gradient(135deg,#8b99ff,#5f74ff 58%,#4a5ed9);background:var(--accent-gradient);border:1px solid #ffffff38;border-radius:50%;box-shadow:0 12px 32px #03081757;box-shadow:var(--shadow-md);cursor:pointer;display:flex!important;font-size:18px;height:42px;justify-content:center;position:fixed;right:max(env(safe-area-inset-right,14px),14px);top:max(env(safe-area-inset-top,14px),14px);transition:transform .15s cubic-bezier(.4,0,.2,1);transition:transform var(--transition-fast);width:42px;z-index:50}.mobile-premium-btn:active{transform:scale(.92)}}@media (max-width:560px){:root{--page-pad-x:16px}.card,.panel,.recent-transactions,.transactions-list{border-radius:16px;border-radius:var(--radius-md);padding:16px;padding:var(--space-4)}.metrics-strip{grid-template-columns:minmax(0,1fr)}.balance-hero{border-radius:26px;border-radius:var(--radius-xl);min-height:168px}.page-heading h1{font-size:1.375rem;font-size:var(--text-xl)}.filter-bar{grid-template-columns:minmax(0,1fr)}.table-wrap{border-left:none;border-radius:0;border-right:none;margin-inline:-16px;margin-inline:calc(var(--space-4)*-1);width:calc(100% + 32px);width:calc(100% + var(--space-4)*2)}.btn{padding:12px 16px;padding:var(--space-3) var(--space-4)}.scan-actions{gap:8px;gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr))}.action-tile{align-items:flex-start;flex-direction:column;gap:8px;gap:var(--space-2)}.action-tile-copy small{display:none}.view-switch-label{font-size:.75rem;font-size:var(--text-xs)}}@media print{.btn,.icon-btn,.mobile-nav,.mobile-premium-btn,.sidebar{display:none!important}.app,.main-content{background:#fff;display:block;height:auto;overflow:visible}.card,.panel{border:1px solid #ddd;box-shadow:none;break-inside:avoid;page-break-inside:avoid}}:root{--bg-sticky-col:#111a2f}.app:not(.dark-mode){--bg-sticky-col:#fff}@media (max-width:560px){.data-table--stack{min-width:0}.data-table--stack thead{display:none}.data-table--stack,.data-table--stack tbody,.data-table--stack td,.data-table--stack tfoot,.data-table--stack tr{display:block;width:100%}.data-table--stack tr{border-bottom:1px solid #a8b6f024;border-bottom:1px solid var(--color-border);padding:12px 16px;padding:var(--space-3) var(--space-4)}.data-table--stack tbody tr:last-child{border-bottom:none}.data-table--stack td:first-child{border-bottom:1px dashed #a8b6f024;border-bottom:1px dashed var(--color-border);font-size:.8125rem;font-size:var(--text-sm);letter-spacing:.01em;margin-bottom:8px;margin-bottom:var(--space-2);padding:0 0 8px;padding:0 0 var(--space-2);text-align:left}.data-table--stack td:not(:first-child){align-items:baseline;display:flex;gap:12px;gap:var(--space-3);justify-content:space-between;padding:4px 0;padding:var(--space-1) 0;text-align:right}.data-table--stack td:not(:first-child):before{color:#7b88b6;color:var(--color-text-muted);content:attr(data-label);flex:0 0 auto;font-size:.75rem;font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase}.data-table--stack tfoot tr{background:#ffffff08;background:var(--bg-subtle);border-bottom:none;border-top:2px solid #a8b6f024;border-top:2px solid var(--color-border)}.data-table--stack td.stack-full{border-bottom:none;font-size:inherit;margin:0;padding:0}.data-table--stack tr:has(>td.stack-full){padding:0}.subtable.data-table--stack tr{padding:12px 16px;padding:var(--space-3) var(--space-4)}.subtable.data-table--stack td:first-child{color:#7b88b6;color:var(--color-text-muted);font-size:.75rem;font-size:var(--text-xs)}.data-table--stack tbody td:first-child,.data-table--stack tfoot td:first-child,.data-table--stack thead th:first-child{background:#0000;box-shadow:none;position:static}.is-sortable{white-space:nowrap}.data-table:not(.data-table--stack){min-width:560px}.data-table:not(.data-table--stack) td,.data-table:not(.data-table--stack) th{font-size:.8125rem;font-size:var(--text-sm);padding-inline:12px;padding-inline:var(--space-3)}.data-table:not(.data-table--stack) tbody td:first-child,.data-table:not(.data-table--stack) tfoot td:first-child{background:#111a2f;background:var(--bg-sticky-col);box-shadow:1px 0 0 #a8b6f024;box-shadow:1px 0 0 var(--color-border);left:0;position:sticky;z-index:2}.data-table:not(.data-table--stack) thead th:first-child{box-shadow:1px 0 0 #a8b6f024;box-shadow:1px 0 0 var(--color-border);left:0;position:sticky;z-index:3}.table-wrap{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000);position:relative;scroll-snap-type:x proximity}.table-wrap:has(.data-table--stack){-webkit-mask-image:none;mask-image:none}}.promo-banner{align-items:center;background:var(--color-success-soft);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;display:flex;font:inherit;gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);text-align:left;transition:transform .15s ease,background .15s ease;width:100%}.promo-banner:hover{background:var(--color-info-soft)}.promo-banner:active{transform:scale(.995)}.promo-banner:focus-visible{outline:2px solid var(--color-info);outline-offset:2px}.promo-banner__badge{font-feature-settings:"tnum";background:var(--color-success);border-radius:var(--radius-xs);color:#06251a;flex:0 0 auto;font-size:13px;font-size:var(--text-sm,13px);font-variant-numeric:tabular-nums;font-weight:700;padding:var(--space-1) var(--space-2)}.promo-banner__text{display:flex;flex:1 1 auto;flex-direction:column;gap:2px;min-width:0}.promo-banner__text strong{font-size:13px;font-size:var(--text-sm,13px);font-weight:600;line-height:1.35;overflow-wrap:anywhere}.promo-banner__days{font-feature-settings:"tnum";color:var(--color-text-secondary);font-size:11px;font-size:var(--text-xs,11px);font-variant-numeric:tabular-nums}.promo-banner__cta{color:var(--color-text-muted);flex:0 0 auto;font-size:20px;line-height:1}.promo-banner--urgent{border-color:var(--color-warning)}.promo-banner--urgent,.promo-banner--urgent:hover{background:var(--color-warning-soft)}.promo-banner--urgent .promo-banner__badge{background:var(--color-warning);color:#2a1c00}@media (prefers-reduced-motion:reduce){.promo-banner{transition:none}.promo-banner:active{transform:none}}.scan-slip{--ss-font:"Manrope","IBM Plex Sans Thai","Noto Sans Thai",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--ss-font-mono:"IBM Plex Mono",monospace;--ss-bg:#0000;--ss-surface:var(--bg-card-inner,#16213ca6);--ss-surface-raised:var(--bg-input,#1e2a47d9);--ss-border:var(--color-border,#a8b6f024);--ss-border-strong:var(--color-border-strong,#a8b6f040);--ss-text:var(--color-text-primary,#f2f5ff);--ss-text-muted:var(--color-text-secondary,#a6b2da);--ss-text-hint:var(--color-text-muted,#7b88b6);--ss-accent:#38bdf8;--ss-accent-light:#38bdf824;--ss-accent-text:#fff;--ss-danger:var(--color-danger,#ff8f88);--ss-danger-light:var(--color-danger-soft,#ff8f8824);--ss-warning-light:var(--color-warning-soft,#ffc85f24);--ss-warning:var(--color-warning,#ffc85f);--ss-tab-active-bg:var(--accent-primary,#5570f1);--ss-tab-active-text:#fff;--ss-scan-ring:#38bdf8;--ss-radius:var(--radius-md,16px);--ss-radius-sm:var(--radius-xs,10px);--ss-shadow:var(--shadow-sm,0 4px 16px #0000004d)}.app:not(.dark-mode) .scan-slip{--ss-surface:#f8fafc;--ss-surface-raised:#fff;--ss-accent:#2563eb;--ss-accent-light:#2563eb1a;--ss-tab-active-bg:#2563eb;--ss-tab-active-text:#fff}.scan-slip{-webkit-font-smoothing:antialiased;background:#0000;color:var(--ss-text);display:flex;flex-direction:column;font-family:var(--ss-font)}.scan-slip__header{align-items:center;background:#0000;border-bottom:1px solid var(--ss-border);display:flex;flex-shrink:0;justify-content:space-between;padding:4px 4px 14px}.scan-slip__title{color:var(--ss-text);font-size:18px;font-weight:700;letter-spacing:-.01em;margin:0}.scan-slip__close{align-items:center;background:var(--ss-surface-raised);border:1px solid var(--ss-border);border-radius:50%;color:var(--ss-text-muted);cursor:pointer;display:inline-flex;font-size:14px;height:32px;justify-content:center;transition:all .2s ease;width:32px}.scan-slip__close:hover{background:var(--ss-border-strong);color:var(--ss-text);transform:scale(1.05)}.scan-slip__tabs{background:var(--ss-surface);border:1px solid var(--ss-border);border-radius:var(--ss-radius);display:flex;gap:4px;margin:14px 0 6px;padding:4px}.scan-slip__tab{align-items:center;background:#0000;border:none;border-radius:var(--ss-radius-sm);color:var(--ss-text-muted);cursor:pointer;display:flex;flex:1 1;flex-direction:row;font-family:var(--ss-font);font-size:13px;font-weight:500;gap:8px;justify-content:center;padding:10px 12px;transition:all .2s ease}.scan-slip__tab-icon{align-items:center;display:inline-flex;font-size:16px;line-height:1}.scan-slip__tab--active{background:var(--ss-tab-active-bg);box-shadow:0 4px 14px #5570f159;color:var(--ss-tab-active-text);font-weight:600}.scan-slip__body{-webkit-overflow-scrolling:touch;flex:1 1;overflow-x:hidden;overflow-y:auto;padding-top:8px}.scan-slip__pane{display:flex;flex-direction:column;gap:16px;padding:8px 0}.scan-slip__drop-zone{align-items:center;background:var(--ss-surface);border:2px dashed var(--ss-border-strong);border-radius:var(--ss-radius);cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:10px;justify-content:center;min-height:200px;padding:28px 20px;text-align:center;transition:all .2s ease}.scan-slip__drop-zone:focus-within,.scan-slip__drop-zone:hover{background:var(--ss-accent-light);border-color:var(--ss-accent);box-shadow:0 8px 24px #0003;transform:translateY(-2px)}.scan-slip__drop-icon{align-items:center;background:var(--ss-accent-light);border-radius:50%;color:var(--ss-accent);display:inline-flex;font-size:26px;height:56px;justify-content:center;margin-bottom:4px;width:56px}.scan-slip__drop-title{color:var(--ss-text);font-size:16px;font-weight:600;margin:0}.scan-slip__drop-hint{color:var(--ss-text-muted);font-size:13px;margin:0}.scan-slip__file-input{display:none}.scan-slip__autoscan-start{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:12px;justify-content:center;padding:40px 24px;text-align:center}.scan-slip__autoscan-start .scan-slip__drop-hint{line-height:1.55;max-width:260px}.scan-slip__scanning{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:14px;justify-content:center;padding:60px 24px}.scan-slip__spinner{animation:ss-spin .8s linear infinite;border:3px solid var(--ss-border-strong);border-radius:50%;border-top-color:var(--ss-accent);height:44px;width:44px}@keyframes ss-spin{to{transform:rotate(1turn)}}.scan-slip__scanning-title{font-size:16px;font-weight:600;margin:0}.scan-slip__scanning-hint{color:var(--ss-text-muted);font-size:13px;margin:0}.scan-slip__error{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:12px;justify-content:center;padding:48px 24px;text-align:center}.scan-slip__error-icon{font-size:40px;line-height:1}.scan-slip__error-message{background:var(--ss-danger-light);border-radius:var(--ss-radius-sm);color:var(--ss-danger);font-size:14px;line-height:1.5;margin:0;max-width:280px;padding:10px 16px}.scan-slip__result{animation:ss-fadein .25s ease;display:flex;flex-direction:column;gap:16px}@keyframes ss-fadein{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.scan-slip__preview-wrap{align-items:center;background:var(--ss-surface);border-radius:var(--ss-radius);box-shadow:var(--ss-shadow);display:flex;justify-content:center;max-height:220px;overflow:hidden;position:relative}.scan-slip__preview-img{display:block;max-height:220px;object-fit:contain;width:100%}.scan-slip__duplicate-badge{background:var(--ss-warning-light);border:1px solid var(--ss-warning);border-radius:20px;color:var(--ss-warning);font-size:11px;font-weight:600;padding:4px 8px;position:absolute;right:10px;top:10px}.scan-slip__result-card{background:var(--ss-surface);border-radius:var(--ss-radius);box-shadow:var(--ss-shadow);display:flex;flex-direction:column;gap:14px;padding:20px}.scan-slip__result-label{color:var(--ss-text-muted);font-size:12px;font-weight:600;letter-spacing:.06em;margin:0 0 2px;text-transform:uppercase}.scan-slip__form-row{display:flex;flex-direction:column;gap:6px}.scan-slip__label{color:var(--ss-text-muted);font-size:12px;font-weight:500;letter-spacing:.02em}.scan-slip__input{appearance:none;-webkit-appearance:none;background:var(--ss-surface-raised);border:1px solid var(--ss-border-strong);border-radius:var(--ss-radius-sm);box-sizing:border-box;color:var(--ss-text);font-family:var(--ss-font);font-size:15px;font-weight:500;padding:10px 12px;transition:border-color .15s,box-shadow .15s;width:100%}.scan-slip__input:focus{border-color:var(--ss-accent);box-shadow:0 0 0 3px var(--ss-accent-light);outline:none}.scan-slip__select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='m1 1 5 5 5-5' stroke='%236b6b66' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;cursor:pointer;padding-right:32px}.scan-slip__btn{border:none;border-radius:var(--ss-radius-sm);cursor:pointer;font-family:var(--ss-font);font-size:14px;font-weight:600;padding:12px 20px;transition:opacity .15s,background .15s;white-space:nowrap}.scan-slip__btn:disabled{cursor:not-allowed;opacity:.4}.scan-slip__btn--primary{background:linear-gradient(135deg,#5570f1,#3e51c7);border-radius:var(--ss-radius-sm);box-shadow:0 4px 14px #5570f159;color:#fff;flex:1 1;font-weight:600}.scan-slip__btn--primary:hover:not(:disabled){box-shadow:0 6px 18px #5570f173;opacity:.94;transform:translateY(-1px)}.scan-slip__btn--secondary{background:var(--ss-surface-raised);border:1px solid var(--ss-border-strong);color:var(--ss-text)}.scan-slip__btn--secondary:hover:not(:disabled){background:var(--ss-border)}.scan-slip__btn--ghost{background:#0000;border:1px solid var(--ss-border-strong);color:var(--ss-text-muted)}.scan-slip__btn--sm{font-size:12px;padding:6px 12px}.scan-slip__result-actions{display:flex;gap:10px;margin-top:4px}.scan-slip__result-actions--sticky{background:var(--ss-bg);border-top:1px solid var(--ss-border);bottom:0;margin-top:8px;padding:12px 0 0;position:sticky}.scan-slip__batch-progress{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:14px;justify-content:center;padding:48px 24px;text-align:center}.scan-slip__progress-bar{background:var(--ss-border-strong);border-radius:3px;height:5px;max-width:280px;overflow:hidden;width:100%}.scan-slip__progress-fill{background:var(--ss-accent);border-radius:3px;height:100%;transition:width .3s ease}.scan-slip__batch-results{animation:ss-fadein .25s ease;display:flex;flex-direction:column;gap:8px}.scan-slip__batch-header{align-items:center;display:flex;justify-content:space-between}.scan-slip__batch-summary{color:var(--ss-text-muted);font-size:14px;margin:0}.scan-slip__batch-list{display:flex;flex-direction:column;gap:6px}.scan-slip__batch-item{align-items:flex-start;background:var(--ss-surface);border:1.5px solid var(--ss-border);border-radius:var(--ss-radius-sm);cursor:pointer;display:flex;gap:12px;padding:14px;transition:border-color .15s,background .15s}.scan-slip__batch-item:hover{border-color:var(--ss-accent)}.scan-slip__batch-item--selected{background:var(--ss-accent-light);border-color:var(--ss-accent)}.scan-slip__batch-check{align-items:center;background:var(--ss-surface-raised);border:1.5px solid var(--ss-border-strong);border-radius:50%;color:var(--ss-accent);display:flex;flex-shrink:0;font-size:12px;font-weight:700;height:22px;justify-content:center;transition:border-color .15s,background .15s;width:22px}.scan-slip__batch-item--selected .scan-slip__batch-check{background:var(--ss-accent);border-color:var(--ss-accent);color:var(--ss-accent-text)}.scan-slip__batch-info{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:4px 12px}.scan-slip__batch-category{color:var(--ss-text);font-size:13px;font-weight:500}.scan-slip__batch-amount{color:var(--ss-text);font-family:var(--ss-font-mono);font-size:15px;font-weight:600}.scan-slip__batch-date{color:var(--ss-text-muted);font-family:var(--ss-font-mono);font-size:12px}.scan-slip__batch-note{color:var(--ss-text-hint);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.scan-slip__slip-detail-card{background:var(--ss-surface);border:1px solid var(--ss-border);border-radius:var(--ss-radius);box-shadow:var(--ss-shadow);display:flex;flex-direction:column;gap:0;overflow:hidden;padding:16px}.scan-slip__slip-header{align-items:center;border-bottom:1px solid var(--ss-border);display:flex;gap:8px;justify-content:space-between;margin-bottom:4px;padding-bottom:12px}.scan-slip__status-badge{font-size:14px;font-weight:700;letter-spacing:-.01em}.scan-slip__bank-tag{background:var(--ss-surface-raised);border:1px solid var(--ss-border);border-radius:20px;color:var(--ss-text-muted);font-size:12px;font-weight:600;padding:3px 10px;white-space:nowrap}.scan-slip__detail-row{align-items:flex-start;border-bottom:1px solid var(--ss-border);display:flex;gap:10px;padding:10px 0}.scan-slip__detail-row:last-child{border-bottom:none}.scan-slip__detail-row--amount{background:var(--ss-accent-light);border-bottom:none;border-radius:0;margin:8px -16px;padding:12px 16px}.scan-slip__detail-icon{flex-shrink:0;font-size:17px;line-height:1;margin-top:1px;text-align:center;width:22px}.scan-slip__detail-body{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.scan-slip__detail-label{color:var(--ss-text-hint);font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.scan-slip__detail-value{color:var(--ss-text);font-size:14px;font-weight:500;word-break:break-word}.scan-slip__detail-sub{color:var(--ss-text-muted);font-family:var(--ss-font-mono);font-size:12px}.scan-slip__detail-amount{color:var(--ss-accent);font-family:var(--ss-font-mono);font-size:22px;font-weight:700;letter-spacing:-.02em}.scan-slip__sub-items{background:var(--ss-surface-raised);border:1px solid var(--ss-border);border-radius:var(--ss-radius-sm);display:flex;flex-direction:column;gap:6px;margin:4px 0;padding:10px 12px}.scan-slip__sub-item{align-items:center;color:var(--ss-text-muted);display:flex;font-size:13px;gap:12px;justify-content:space-between}.scan-slip__sub-item span:last-child{color:var(--ss-text);font-family:var(--ss-font-mono);font-weight:600;white-space:nowrap}.ai-consent-backdrop{align-items:center;animation:aiConsentFadeIn .2s ease-out;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#0b1220bf;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:9999}.ai-consent-sheet{animation:aiConsentSlideUp .25s cubic-bezier(.16,1,.3,1);background:#1e293b;background:var(--bg-surface,#1e293b);border:1px solid #8ef0c840;border-radius:24px;box-shadow:0 24px 60px #00000073;color:#e5eefc;color:var(--color-text-primary,#e5eefc);max-width:480px;padding:24px;position:relative;width:100%}@keyframes aiConsentFadeIn{0%{opacity:0}to{opacity:1}}@keyframes aiConsentSlideUp{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.ai-consent-header{align-items:center;display:flex;gap:14px;margin-bottom:16px}.ai-consent-icon-wrap{align-items:center;background:linear-gradient(135deg,#77a8ff33,#8ef0c833);border:1px solid #77a8ff66;border-radius:16px;display:flex;flex-shrink:0;font-size:24px;height:48px;justify-content:center;width:48px}.ai-consent-title{color:#fff;color:var(--color-text-primary,#fff);font-size:1.15rem;font-weight:700;letter-spacing:-.02em;margin:0}.ai-consent-body{color:#94a3b8;color:var(--color-text-secondary,#94a3b8);font-size:.9rem;line-height:1.55;margin-bottom:20px}.ai-consent-disclosure-box{background:#0f172a99;border:1px solid #ffffff14;border-radius:14px;margin:14px 0;padding:14px}.ai-consent-row{display:flex;font-size:.85rem;gap:10px;margin-bottom:10px}.ai-consent-row:last-child{margin-bottom:0}.ai-consent-row-icon{flex-shrink:0;font-size:16px;margin-top:2px}.ai-consent-row-content strong{color:#f1f5f9;color:var(--color-text-primary,#f1f5f9);display:block;margin-bottom:2px}.ai-consent-privacy-link{background:none;border:none;color:#38bdf8;color:var(--accent-primary,#38bdf8);cursor:pointer;display:inline;font:inherit;font-size:.85rem;padding:0;text-decoration:underline}.ai-consent-actions{display:flex;gap:12px;margin-top:20px}.ai-consent-btn-accept{background:linear-gradient(135deg,#0284c7,#0369a1);border:none;border-radius:12px;box-shadow:0 4px 14px #0284c759;color:#fff;cursor:pointer;flex:1 1;font-size:.92rem;font-weight:700;padding:12px 18px;transition:transform .15s ease,box-shadow .15s ease}.ai-consent-btn-accept:hover{box-shadow:0 6px 18px #0284c773;transform:translateY(-1px)}.ai-consent-btn-decline{background:#ffffff14;border:1px solid #ffffff1f;border-radius:12px;color:#94a3b8;color:var(--color-text-secondary,#94a3b8);cursor:pointer;font-size:.92rem;font-weight:600;padding:12px 18px;transition:background .15s ease,color .15s ease}.ai-consent-btn-decline:hover{background:#ffffff24;color:#fff;color:var(--color-text-primary,#fff)}.scan-bill{--sb-font:"Manrope","Instrument Sans","Noto Sans Thai",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--sb-mono:"IBM Plex Mono",monospace;--sb-bg:#0000;--sb-paper:var(--bg-card-inner,#16213cb3);--sb-surface:var(--bg-input,#1e2a47d9);--sb-border:var(--color-border,#a8b6f024);--sb-border-strong:var(--color-border-strong,#a8b6f040);--sb-text:var(--color-text-primary,#f2f5ff);--sb-text-muted:var(--color-text-secondary,#a6b2da);--sb-text-hint:var(--color-text-muted,#7b88b6);--sb-accent:#10b981;--sb-accent-light:#10b98124;--sb-accent-text:#fff;--sb-discount:var(--color-danger,#ff8f88);--sb-discount-bg:var(--color-danger-soft,#ff8f8824);--sb-promo-bg:#ffc85f26;--sb-promo:#fbbf24;--sb-excluded:#ffffff0a;--sb-excluded-text:#ffffff4d;--sb-radius:var(--radius-md,16px);--sb-radius-sm:var(--radius-xs,10px);--sb-shadow:var(--shadow-sm,0 4px 16px #0000004d);--sb-receipt-shadow:var(--shadow-md,0 12px 32px #0006)}.app:not(.dark-mode) .scan-bill{--sb-paper:#f8fafc;--sb-surface:#fff;--sb-accent:#059669;--sb-accent-light:#0596691a;--sb-promo-bg:#fef3c7;--sb-promo:#d97706}.scan-bill{-webkit-font-smoothing:antialiased;background:#0000;color:var(--sb-text);display:flex;flex-direction:column;font-family:var(--sb-font)}.scan-bill__header{align-items:center;background:#0000;border-bottom:1px solid var(--sb-border);display:flex;flex-shrink:0;justify-content:space-between;padding:4px 4px 14px}.scan-bill__title{color:var(--sb-text);font-size:18px;font-weight:700;letter-spacing:-.01em;margin:0}.scan-bill__close{align-items:center;background:var(--sb-surface);border:1px solid var(--sb-border);border-radius:50%;color:var(--sb-text-muted);cursor:pointer;display:inline-flex;font-size:14px;height:32px;justify-content:center;transition:all .2s ease;width:32px}.scan-bill__close:hover{background:var(--sb-border-strong);color:var(--sb-text);transform:scale(1.05)}.scan-bill__body{-webkit-overflow-scrolling:touch;flex:1 1;overflow-y:auto;padding-top:12px}.scan-bill__pane{display:flex;flex-direction:column;gap:16px;padding:8px 0}.scan-bill__pane--center{align-items:center;gap:16px;justify-content:center;text-align:center}.scan-bill__store-pills{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;max-width:360px}.scan-bill__store-pill{background:var(--sb-surface);border:1px solid var(--sb-border);border-radius:20px;color:var(--sb-text-muted);font-size:12px;font-weight:500;padding:5px 12px;transition:all .15s ease;white-space:nowrap}.scan-bill__store-pill:hover{background:var(--sb-accent-light);border-color:var(--sb-accent);color:var(--sb-text)}.scan-bill__drop-zone{align-items:center;background:var(--sb-paper);border:2px dashed var(--sb-border-strong);border-radius:var(--sb-radius);cursor:pointer;display:flex;flex-direction:column;gap:8px;justify-content:center;max-width:420px;min-height:180px;padding:24px 20px;transition:all .2s ease;width:100%}.scan-bill__drop-zone:hover{background:var(--sb-accent-light);border-color:var(--sb-accent);box-shadow:0 8px 24px #0003;transform:translateY(-2px)}.scan-bill__drop-icon{align-items:center;background:var(--sb-accent-light);border-radius:50%;color:var(--sb-accent);display:inline-flex;font-size:26px;height:56px;justify-content:center;margin-bottom:4px;width:56px}.scan-bill__drop-title{color:var(--sb-text);font-size:16px;font-weight:600;margin:0}.scan-bill__drop-hint{color:var(--sb-text-muted);font-size:13px;margin:0}.scan-bill__file-input{display:none}.scan-bill__scan-preview-wrap{border-radius:var(--sb-radius-sm);box-shadow:var(--sb-receipt-shadow);height:260px;overflow:hidden;position:relative;width:180px}.scan-bill__scan-preview{height:100%;object-fit:cover;width:100%}.scan-bill__scan-overlay{background:linear-gradient(180deg,#0000 0,#2c6e4914);inset:0;overflow:hidden;position:absolute}.scan-bill__scan-line{animation:sb-scan 1.8s ease-in-out infinite;background:var(--sb-accent);height:2px;left:0;opacity:.7;position:absolute;right:0}@keyframes sb-scan{0%{top:0}50%{top:100%}to{top:0}}.scan-bill__spinner{animation:sb-spin .8s linear infinite;border:2.5px solid var(--sb-border-strong);border-radius:50%;border-top-color:var(--sb-accent);height:36px;width:36px}@keyframes sb-spin{to{transform:rotate(1turn)}}.scan-bill__scanning-title{font-size:15px;font-weight:600;margin:0}.scan-bill__scanning-hint{color:var(--sb-text-muted);font-size:13px;margin:0}.scan-bill__error-msg{background:#fdf0ee;border-radius:var(--sb-radius-sm);color:#c0392b;font-size:14px;line-height:1.5;margin:0;max-width:280px;padding:10px 16px}@media (prefers-color-scheme:dark){.scan-bill__error-msg{background:#2a1410;color:#e87060}}.scan-bill__result{animation:sb-fadein .25s ease;display:flex;flex-direction:column;gap:0}@keyframes sb-fadein{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.scan-bill__store-header{align-items:flex-start;background:var(--sb-paper);border-bottom:1px solid var(--sb-border);display:flex;gap:12px;padding:20px 20px 16px}.scan-bill__store-icon-wrap{align-items:center;background:var(--sb-surface);border:1px solid var(--sb-border-strong);border-radius:var(--sb-radius-sm);display:flex;flex-shrink:0;font-size:22px;height:44px;justify-content:center;width:44px}.scan-bill__store-info{flex:1 1;min-width:0}.scan-bill__store-name{font-size:15px;font-weight:600;margin:0 0 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scan-bill__store-branch{color:var(--sb-text-muted);font-size:12px;margin:0 0 6px}.scan-bill__store-meta{display:flex;flex-wrap:wrap;gap:6px}.scan-bill__store-meta span{background:var(--sb-surface);border:1px solid var(--sb-border);border-radius:4px;color:var(--sb-text-hint);font-family:var(--sb-mono);font-size:11px;padding:2px 6px}.scan-bill__thumb{border:1px solid var(--sb-border);border-radius:var(--sb-radius-sm);flex-shrink:0;height:64px;object-fit:cover;width:48px}.scan-bill__section{border-bottom:1px solid var(--sb-border);padding:16px 20px}.scan-bill__section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.scan-bill__section-title{color:var(--sb-text-muted);font-size:12px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}.scan-bill__section-hint{color:var(--sb-text-hint);font-size:11px}.scan-bill__items{background:var(--sb-paper);border:1px solid var(--sb-border);border-radius:var(--sb-radius-sm);display:flex;flex-direction:column;gap:0;overflow:hidden}.scan-bill__item{align-items:flex-start;border-bottom:1px solid var(--sb-border);display:flex;gap:10px;padding:10px 12px;transition:background .15s,opacity .15s}.scan-bill__item:last-child{border-bottom:none}.scan-bill__item--excluded{background:var(--sb-excluded);opacity:.45}.scan-bill__item-check{color:var(--sb-accent);cursor:pointer;flex-shrink:0;font-size:14px;padding-top:2px;text-align:center;transition:color .15s;-webkit-user-select:none;user-select:none;width:16px}.scan-bill__item--excluded .scan-bill__item-check{color:var(--sb-text-hint)}.scan-bill__item-body{flex:1 1;min-width:0}.scan-bill__item-name-row{align-items:flex-start;display:flex;gap:8px;justify-content:space-between}.scan-bill__item-name{flex:1 1;font-size:13px;font-weight:500;line-height:1.4;min-width:0;word-break:break-word}.scan-bill__item-qty{color:var(--sb-text-muted);font-size:11px;font-weight:400}.scan-bill__promo-tag{background:var(--sb-promo-bg);border-radius:3px;color:var(--sb-promo);display:inline-block;font-size:9px;font-weight:700;letter-spacing:.05em;margin-left:4px;padding:1px 4px;vertical-align:middle}.scan-bill__item-price-col{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:1px}.scan-bill__item-discount{color:var(--sb-discount);font-family:var(--sb-mono);font-size:11px}.scan-bill__item-price{color:var(--sb-text);font-family:var(--sb-mono);font-size:13px;font-weight:500}.scan-bill__cat-select{appearance:none;-webkit-appearance:none;background:var(--sb-surface);border:1px solid var(--sb-border-strong);border-radius:4px;color:var(--sb-text-muted);cursor:pointer;font-family:var(--sb-font);font-size:11px;margin-top:6px;max-width:160px;padding:3px 6px}.scan-bill__totals{background:var(--sb-paper);border-bottom:1px solid var(--sb-border);display:flex;flex-direction:column;gap:6px;padding:14px 20px}.scan-bill__total-row{align-items:center;color:var(--sb-text-muted);display:flex;font-size:13px;justify-content:space-between}.scan-bill__total-row span:last-child{font-family:var(--sb-mono);font-size:12px}.scan-bill__total-row--discount{color:var(--sb-discount)}.scan-bill__total-row--grand{border-top:1px dashed var(--sb-border-strong);color:var(--sb-text);font-size:16px;font-weight:600;margin-top:4px;padding-top:8px}.scan-bill__total-row--grand span:last-child{font-size:18px;font-weight:600}.scan-bill__total-row--payment{color:var(--sb-text-hint);font-size:11px;margin-top:2px}.scan-bill__save-modes{display:flex;gap:6px;margin-bottom:12px}.scan-bill__save-mode-btn{align-items:center;background:var(--sb-surface);border:1.5px solid var(--sb-border-strong);border-radius:var(--sb-radius-sm);cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-family:var(--sb-font);gap:4px;padding:10px 6px;transition:border-color .15s,background .15s}.scan-bill__save-mode-btn:hover{border-color:var(--sb-accent)}.scan-bill__save-mode-btn--active{background:var(--sb-accent-light);border-color:var(--sb-accent)}.scan-bill__save-mode-icon{color:var(--sb-text-muted);font-size:18px;font-style:normal}.scan-bill__save-mode-btn--active .scan-bill__save-mode-icon{color:var(--sb-accent)}.scan-bill__save-mode-label{color:var(--sb-text-muted);font-size:11px;font-weight:500;line-height:1.3;text-align:center}.scan-bill__save-mode-btn--active .scan-bill__save-mode-label{color:var(--sb-accent)}.scan-bill__tx-preview{background:var(--sb-paper);border:1px solid var(--sb-border);border-radius:var(--sb-radius-sm);overflow:hidden}.scan-bill__tx-preview-row{align-items:center;border-bottom:1px solid var(--sb-border);display:flex;font-size:12px;gap:8px;padding:8px 12px}.scan-bill__tx-preview-row:last-child{border-bottom:none}.scan-bill__tx-preview-cat{background:var(--sb-accent-light);border-radius:4px;color:var(--sb-accent);flex-shrink:0;font-size:11px;font-weight:600;padding:2px 6px;white-space:nowrap}.scan-bill__tx-preview-note{color:var(--sb-text-muted);flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scan-bill__tx-preview-amt{color:var(--sb-text);flex-shrink:0;font-family:var(--sb-mono);font-size:12px;font-weight:500}.scan-bill__tx-preview-total{background:var(--sb-surface);border-top:1px solid var(--sb-border);color:var(--sb-text-muted);font-size:12px;font-weight:600;padding:8px 12px;text-align:right}.scan-bill__actions{background:var(--sb-bg);border-top:1px solid var(--sb-border);bottom:0;display:flex;gap:10px;padding:16px 20px;position:sticky}.scan-bill__btn{border:none;border-radius:var(--sb-radius-sm);cursor:pointer;font-family:var(--sb-font);font-size:14px;font-weight:600;padding:12px 20px;transition:opacity .15s,background .15s;white-space:nowrap}.scan-bill__btn:disabled{cursor:not-allowed;opacity:.4}.scan-bill__btn--primary{background:linear-gradient(135deg,#10b981,#059669);border-radius:var(--sb-radius-sm);box-shadow:0 4px 14px #10b98159;color:#fff;flex:1 1;font-weight:600}.scan-bill__btn--primary:hover:not(:disabled){box-shadow:0 6px 18px #10b98173;opacity:.94;transform:translateY(-1px)}.scan-bill__btn--secondary{background:var(--sb-surface);border:1px solid var(--sb-border-strong);color:var(--sb-text)}.scan-bill__btn--secondary:hover:not(:disabled){background:var(--sb-border)}.scan-bill__partial-banner{align-items:flex-start;background:#fffbeb;border-bottom:1px solid #fde68a;display:flex;gap:10px;padding:12px 16px}@media (prefers-color-scheme:dark){.scan-bill__partial-banner{background:#2a1f06;border-bottom-color:#6b4d0a}}.scan-bill__partial-icon{flex-shrink:0;font-size:18px;line-height:1.4}.scan-bill__partial-text{display:flex;flex-direction:column;gap:2px}.scan-bill__partial-text strong{color:#92400e;font-size:13px;font-weight:600}@media (prefers-color-scheme:dark){.scan-bill__partial-text strong{color:#d4a048}}.scan-bill__partial-text span{color:#a16207;font-size:12px;line-height:1.45}@media (prefers-color-scheme:dark){.scan-bill__partial-text span{color:#9a7020}}.upg-backdrop{align-items:center;animation:upgFadeIn .3s cubic-bezier(.16,1,.3,1) forwards;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#0f172aa6;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:2000}.upg-sheet{animation:upgScaleUp .4s cubic-bezier(.34,1.56,.64,1) forwards;background:linear-gradient(145deg,#171c26,#0c1017);border:1px solid #ffffff14;border-radius:20px;box-shadow:0 25px 50px -12px #00000080,0 0 40px #10b98114;color:#f1f5f9;max-width:480px;padding:30px;position:relative;text-align:center;width:100%}.upg-close{align-items:center;background:#ffffff0a;border:1px solid #ffffff0f;border-radius:50%;color:#94a3b8;cursor:pointer;display:flex;font-size:14px;height:32px;justify-content:center;position:absolute;right:18px;top:18px;transition:all .2s ease;width:32px}.upg-close:hover{background:#ffffff1a;color:#f8fafc;transform:rotate(90deg)}.upg-icon-wrap{align-items:center;background:linear-gradient(135deg,#10b98126,#10b98108);border:1px solid #10b98140;border-radius:50%;box-shadow:0 0 20px #10b98126;display:flex;font-size:32px;height:72px;justify-content:center;margin:0 auto 20px;width:72px}.upg-title{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#10b981,#34d399);-webkit-background-clip:text;font-size:22px;font-weight:700;letter-spacing:-.5px;margin-bottom:12px}.upg-desc{color:#94a3b8;font-size:14.5px;line-height:1.6;margin-bottom:24px}.upg-desc strong{color:#f1f5f9}.upg-features{background:#ffffff05;border:1px solid #ffffff0a;border-radius:12px;margin-bottom:26px;padding:16px;text-align:left}.upg-feature-item{align-items:center;color:#cbd5e1;display:flex;font-size:13.5px;gap:10px;margin-bottom:10px}.upg-feature-item:last-child{margin-bottom:0}.upg-feature-check{color:#10b981;font-weight:700}.upg-actions{display:flex;flex-direction:column;gap:12px}.upg-btn-primary{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:12px;box-shadow:0 4px 15px #10b9814d;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:14px 24px;transition:all .25s cubic-bezier(.16,1,.3,1)}.upg-btn-primary:hover{background:linear-gradient(135deg,#34d399,#10b981);box-shadow:0 6px 20px #10b98173;transform:translateY(-2px)}.upg-btn-primary:active{transform:translateY(0)}.upg-btn-secondary{background:#0000;border:1px solid #ffffff0d;border-radius:12px;color:#64748b;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s ease}.upg-btn-secondary:hover{background:#ffffff08;border-color:#ffffff1a;color:#94a3b8}@keyframes upgFadeIn{0%{opacity:0}to{opacity:1}}@keyframes upgScaleUp{0%{opacity:0;transform:scale(.92) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.ecm-backdrop{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#0f172ab3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:9999}.ecm-modal{background:#fff;background:var(--bg-card,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:24px;box-shadow:0 25px 50px -12px #00000040;color:#0f172a;color:var(--color-text-primary,#0f172a);display:flex;flex-direction:column;max-height:90vh;max-width:960px;overflow:hidden;width:100%}.ecm-header{align-items:flex-start;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--color-border,#e2e8f0);display:flex;justify-content:space-between;padding:24px 28px}.ecm-eyebrow{color:#6366f1;color:var(--accent-primary,#6366f1);display:block;font-size:11px;font-weight:800;letter-spacing:.1em;margin-bottom:4px;text-transform:uppercase}.ecm-title{font-size:22px;font-weight:800;margin:0}.ecm-close{align-items:center;background:#f1f5f9;background:var(--bg-subtle,#f1f5f9);border:none;border-radius:50%;color:#64748b;color:var(--color-text-secondary,#64748b);cursor:pointer;display:flex;font-size:16px;height:36px;justify-content:center;transition:all .2s ease;width:36px}.ecm-close:hover{background:#e2e8f0;color:#0f172a}.ecm-body{display:grid;flex:1 1;grid-template-columns:1.2fr .8fr;overflow-y:auto}@media (max-width:768px){.ecm-body{grid-template-columns:1fr}}.ecm-settings-panel{border-right:1px solid #e2e8f0;border-right:1px solid var(--color-border,#e2e8f0);padding:24px 28px}.ecm-section-title{border-bottom:1px dashed #cbd5e1;border-bottom:1px dashed var(--color-border,#cbd5e1);color:#475569;color:var(--color-text-secondary,#475569);font-size:14px;font-weight:700;margin:0 0 14px;padding-bottom:6px}.ecm-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.ecm-field label{color:#64748b;color:var(--color-text-secondary,#64748b);font-size:12px;font-weight:600}.ecm-field input,.ecm-field select{background:#fff;background:var(--bg-input,#fff);border:1px solid #cbd5e1;border:1px solid var(--color-border,#cbd5e1);border-radius:10px;color:#0f172a;color:var(--color-text-primary,#0f172a);font-size:13px;outline:none;padding:10px 14px;transition:border-color .2s ease}.ecm-field input:focus,.ecm-field select:focus{border-color:#6366f1;border-color:var(--accent-primary,#6366f1);box-shadow:0 0 0 3px #6366f11a}.ecm-field-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.ecm-format-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-bottom:10px}.ecm-format-card{background:#f8fafc;background:var(--bg-subtle,#f8fafc);border:1.5px solid #cbd5e1;border:1.5px solid var(--color-border,#cbd5e1);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:12px;transition:all .2s ease}.ecm-format-card strong{color:#0f172a;color:var(--color-text-primary,#0f172a);font-size:12px}.ecm-format-card small{color:#64748b;color:var(--color-text-secondary,#64748b);font-size:10px}.ecm-format-card.active,.ecm-format-card:hover{border-color:#6366f1;border-color:var(--accent-primary,#6366f1)}.ecm-format-card.active{background:#6366f114}.ecm-columns-selector{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}.ecm-col-checkbox{align-items:center;cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:8px}.ecm-col-checkbox input{accent-color:#6366f1;accent-color:var(--accent-primary,#6366f1)}.ecm-preview-panel{background:#f8fafc;background:var(--bg-subtle,#f8fafc);display:flex;flex-direction:column;gap:12px;padding:24px 28px}.ecm-preview-header{color:#475569;color:var(--color-text-secondary,#475569);font-size:13px;font-weight:700}.ecm-preview-box{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 12px #0000000d;color:#1e293b;font-size:12px;padding:20px}.ecm-prev-company{color:#4338ca;font-size:16px;font-weight:800}.ecm-prev-sub{color:#64748b;font-size:11px}.ecm-prev-title{font-size:14px;font-weight:700;margin-top:10px}.ecm-prev-table{border-collapse:collapse;font-size:11px;margin-top:10px;width:100%}.ecm-prev-table th{background:#f1f5f9;color:#475569;font-weight:600;padding:6px 8px;text-align:left}.ecm-prev-table td{border-bottom:1px solid #f1f5f9;padding:6px 8px}.ecm-badge{border-radius:4px;font-size:10px;font-weight:600;padding:2px 6px}.ecm-badge.income{background:#dcfce7;color:#15803d}.ecm-badge.expense{background:#fee2e2;color:#b91c1c}.ecm-footer{background:#fff;background:var(--bg-card,#fff);border-top:1px solid #e2e8f0;border-top:1px solid var(--color-border,#e2e8f0);display:flex;gap:12px;justify-content:flex-end;padding:20px 28px}.ecm-btn-secondary{background:#f1f5f9;background:var(--bg-subtle,#f1f5f9);border:1px solid #cbd5e1;border:1px solid var(--color-border,#cbd5e1);border-radius:12px;color:#0f172a;color:var(--color-text-primary,#0f172a);cursor:pointer;font-size:13px;font-weight:600;padding:10px 20px}.ecm-btn-primary{background:linear-gradient(135deg,#6366f1,#4338ca);border:none;border-radius:12px;box-shadow:0 4px 12px #6366f14d;color:#fff;cursor:pointer;font-size:13px;font-weight:700;padding:10px 24px;transition:all .2s ease}.ecm-btn-primary:hover{box-shadow:0 6px 16px #6366f166;transform:translateY(-1px)}@media (max-width:768px){.ecm-backdrop{padding:10px;z-index:10000}.ecm-modal{border-radius:18px;max-height:85vh}.ecm-header{padding:16px 20px}.ecm-title{font-size:17px}.ecm-settings-panel{border-right:none;padding:16px}.ecm-field-row,.ecm-format-grid{grid-template-columns:1fr}.ecm-footer{padding:14px 20px}}.privacy-modal-overlay{align-items:center;animation:privacyFadeIn .25s ease-out;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#000000b8;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:9999}.privacy-modal-card{background:#111827;background:var(--bg-card,#111827);border:1px solid #ffffff1f;border:1px solid var(--color-border,#ffffff1f);border-radius:24px;box-shadow:0 24px 64px #00000080;color:#f3f4f6;color:var(--color-text-primary,#f3f4f6);display:flex;flex-direction:column;max-height:85vh;max-width:680px;overflow:hidden;width:100%}.privacy-modal-header{align-items:flex-start;border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--color-divider,#ffffff14);display:flex;gap:16px;justify-content:space-between;padding:20px 24px}.privacy-modal-badge{color:#60a5fa;color:var(--accent-primary,#60a5fa);display:inline-block;font-size:11px;font-weight:700;letter-spacing:.1em;margin-bottom:4px;text-transform:uppercase}.privacy-modal-header h2{color:#fff;color:var(--color-text-primary,#fff);font-size:1.25rem;font-weight:800;letter-spacing:-.02em;margin:0}.privacy-modal-subtitle{color:#9ca3af;color:var(--color-text-muted,#9ca3af);font-size:.75rem;margin:4px 0 0}.privacy-modal-header-actions{align-items:center;display:flex;gap:10px}.privacy-lang-switch{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:999px;display:flex;padding:2px}.privacy-lang-btn{background:#0000;border:none;border-radius:999px;color:#9ca3af;color:var(--color-text-muted,#9ca3af);cursor:pointer;font-size:11px;font-weight:700;padding:4px 10px;transition:all .2s ease}.privacy-lang-btn.active{background:#3b82f6;background:var(--accent-primary,#3b82f6);color:#fff}.privacy-close-btn{align-items:center;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:50%;color:#d1d5db;color:var(--color-text-secondary,#d1d5db);cursor:pointer;display:flex;font-size:14px;height:32px;justify-content:center;transition:background .2s;width:32px}.privacy-close-btn:hover{background:#ffffff26;color:#fff}.privacy-modal-tabs{background:#0003;border-bottom:1px solid #ffffff0f;border-bottom:1px solid var(--color-divider,#ffffff0f);display:flex;gap:8px;overflow-x:auto;padding:8px 16px}.privacy-tab-btn{background:#0000;border:1px solid #0000;border-radius:12px;color:#9ca3af;color:var(--color-text-muted,#9ca3af);cursor:pointer;font-size:13px;font-weight:600;padding:8px 14px;transition:all .2s ease;white-space:nowrap}.privacy-tab-btn:hover{background:#ffffff0a;color:#fff;color:var(--color-text-primary,#fff)}.privacy-tab-btn.active{background:#3b82f629;border-color:#3b82f659;color:#60a5fa;color:var(--accent-primary,#60a5fa);font-weight:700}.privacy-modal-body{color:#d1d5db;color:var(--color-text-secondary,#d1d5db);font-size:14px;line-height:1.65;overflow-y:auto;padding:20px 24px}.privacy-tab-content h3{color:#fff;color:var(--color-text-primary,#fff);font-size:1.05rem;margin:0 0 12px}.privacy-tab-content h4{color:#60a5fa;color:var(--accent-primary,#60a5fa);font-size:.9rem;margin:16px 0 8px}.privacy-tab-content p{margin:0 0 12px}.privacy-tab-content ul{margin:8px 0 14px;padding-left:20px}.privacy-tab-content li{margin-bottom:8px}.privacy-summary-table{background:#00000040;border:1px solid #ffffff1a;border:1px solid var(--color-border,#ffffff1a);border-radius:14px;margin:16px 0;overflow:hidden}.privacy-table-row{grid-gap:10px;align-items:center;border-bottom:1px solid #ffffff0f;display:grid;font-size:12px;gap:10px;grid-template-columns:140px 1fr 1fr;padding:10px 14px}.privacy-table-row:last-child{border-bottom:none}.privacy-table-row.header{background:#ffffff0d;color:#fff;color:var(--color-text-primary,#fff);font-weight:700}.badge-local{background:#22c55e26;color:#4ade80}.badge-local,.badge-secure{border-radius:6px;display:inline-block;font-size:11px;font-weight:600;padding:3px 8px}.badge-secure{background:#3b82f626;color:#60a5fa}.badge-cloud{background:#a855f726;border-radius:6px;color:#c084fc;display:inline-block;font-size:11px;font-weight:600;padding:3px 8px}.privacy-callout{border-radius:12px;margin:12px 0 16px;padding:12px 16px}.privacy-callout.info{background:#3b82f61a;border:1px solid #3b82f640;color:#e2e8f0;color:var(--color-text-primary,#e2e8f0)}.privacy-callout strong{display:block;font-size:13px;margin-bottom:4px}.privacy-callout p{font-size:12.5px;margin:0}.privacy-tab-content code{background:#ffffff14;border-radius:4px;color:#60a5fa;color:var(--accent-primary,#60a5fa);font-size:12px;padding:2px 6px}.privacy-modal-footer{align-items:center;background:#00000026;border-top:1px solid #ffffff14;border-top:1px solid var(--color-divider,#ffffff14);display:flex;gap:12px;justify-content:space-between;padding:16px 24px}.privacy-external-btn{background:#0000;border:1px solid #ffffff26;border:1px solid var(--color-border,#ffffff26);border-radius:12px;color:#d1d5db;color:var(--color-text-secondary,#d1d5db);cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s}.privacy-external-btn:hover{background:#ffffff14;color:#fff}.privacy-done-btn{background:#3b82f6;background:var(--accent-primary,#3b82f6);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:13px;font-weight:700;padding:9px 20px;transition:opacity .2s}.privacy-done-btn:hover{opacity:.9}@keyframes privacyFadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@media (max-width:640px){.privacy-modal-card{border-radius:20px;max-height:92vh}.privacy-modal-body,.privacy-modal-header{padding:16px}.privacy-modal-footer{flex-direction:column;gap:8px;padding:12px 16px}.privacy-done-btn,.privacy-external-btn{text-align:center;width:100%}.privacy-table-row{gap:4px;grid-template-columns:1fr}}.auth-container{--auth-fg:#241d3d;--auth-fg-soft:#635a7e;--auth-muted:#8b829f;--auth-surface:#fff;--auth-line:#462d5a1f;--auth-line-strong:#462d5a33;--auth-accent:#f2665f;--auth-accent-2:#8d72ff;--auth-gradient:linear-gradient(135deg,#ff9671,#f2665f 38%,#8d72ff);--auth-subtle:#5a3c500a;align-items:center;background:radial-gradient(ellipse 900px 520px at 6% -8%,#ffa88a80,#0000 66%),radial-gradient(ellipse 640px 460px at 96% 4%,#8d72ff3d,#0000 68%),radial-gradient(ellipse 760px 520px at 88% 100%,#ffd19657,#0000 70%),linear-gradient(180deg,#fffaf6,#fdf2ea);color:var(--auth-fg);display:flex;font-family:Manrope,Noto Sans Thai,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;min-height:100vh;min-height:100dvh;padding:clamp(16px,4vw,40px);position:relative}.auth-card{animation:authSlideUp .35s cubic-bezier(.4,0,.2,1) both;background:var(--auth-surface);border:1px solid var(--auth-line);border-radius:26px;box-shadow:0 28px 70px #8c649633;max-width:440px;padding:clamp(28px,5vw,40px);position:relative;width:100%}@keyframes authSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.language-switcher{background:var(--auth-subtle);border:1px solid var(--auth-line);border-radius:12px;display:flex;gap:2px;padding:3px;position:absolute;right:16px;top:16px}.lang-btn{background:#0000;border:none;border-radius:9px;color:var(--auth-muted);cursor:pointer;font:inherit;font-size:.78rem;font-weight:700;padding:6px 10px;transition:background .15s ease,color .15s ease}.lang-btn:hover{color:var(--auth-fg)}.lang-btn.active{background:var(--auth-gradient);box-shadow:0 2px 8px #f2665f47;color:#fff}.auth-header{margin-bottom:28px;text-align:center}.auth-logo--icon{background:none!important;border-radius:18px;object-fit:cover}.auth-logo{align-items:center;background:var(--auth-gradient);border-radius:20px;box-shadow:0 14px 30px #f2665f47;display:inline-flex;font-size:1.9rem;height:60px;justify-content:center;margin-bottom:12px;width:60px}.auth-header h1{color:var(--auth-fg);font-size:1.65rem;font-weight:800;letter-spacing:-.035em;margin:6px 0 4px}.auth-header p{color:var(--auth-fg-soft);font-size:.88rem;margin:0}.auth-form{display:flex;flex-direction:column;gap:18px}.auth-form h2{color:var(--auth-fg);font-size:1.15rem;font-weight:700;letter-spacing:-.02em;margin:0}.form-group{display:flex;flex-direction:column;gap:7px}.form-group label{color:var(--auth-muted);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.form-row{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.auth-container input[type=email],.auth-container input[type=password],.auth-container input[type=tel],.auth-container input[type=text],.auth-container select{background:#fff;border:1px solid var(--auth-line-strong);border-radius:12px;color:var(--auth-fg);font:inherit;font-size:.92rem;outline:none;padding:12px 14px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.auth-container input::placeholder{color:var(--auth-muted)}.auth-container input:focus,.auth-container select:focus{border-color:var(--auth-accent);box-shadow:0 0 0 3px #f2665f24}.auth-container input:disabled{cursor:not-allowed;opacity:.55}.auth-error,.auth-success{align-items:flex-start;border-radius:12px;display:flex;font-size:.85rem;font-weight:600;gap:10px;line-height:1.5;margin:0;padding:12px 14px}.auth-error{animation:authShake .3s ease-in-out;background:#d63f5b17;border:1px solid #d63f5b3d;color:#b8324c}.auth-success{background:#0d966817;border:1px solid #0d96683d;color:#0b7d57}@keyframes authShake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.auth-button,.demo-button,.google-button{align-items:center;border:1px solid #0000;border-radius:12px;box-sizing:border-box;cursor:pointer;display:inline-flex;font:inherit;font-size:.95rem;font-weight:600;gap:10px;height:48px;justify-content:center;padding:0 18px;transition:transform .15s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease;width:100%}.auth-button{background:var(--auth-gradient);box-shadow:0 6px 18px #f2665f3d;color:#fff;font-weight:700}.auth-button:hover:not(:disabled){box-shadow:0 12px 26px #f2665f4d;transform:translateY(-1px)}.auth-button:active:not(:disabled){box-shadow:none;transform:translateY(0)}.auth-button:disabled,.demo-button:disabled,.google-button:disabled{box-shadow:none!important;cursor:not-allowed;opacity:.5;transform:none!important}.google-button{background:#fff;border:1px solid #d1d5db;box-shadow:0 1px 3px #0000000d;color:#374151}.google-button:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af;box-shadow:0 3px 8px #00000014;transform:translateY(-1px)}.google-button img{display:block;flex-shrink:0;height:20px;width:20px}.demo-button{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffd9;border:1.5px solid var(--auth-line-strong);box-shadow:0 2px 8px #00000008;color:var(--auth-fg);font-weight:600}.demo-button:hover:not(:disabled){background:#fff;border-color:#0284c7;border-color:var(--accent-primary,#0284c7);box-shadow:0 4px 12px #0284c71f;color:#0284c7;color:var(--accent-primary,#0284c7);transform:translateY(-1px)}.auth-demo-divider{align-items:center;display:flex;gap:12px;margin:20px 0 12px}.auth-demo-divider:after,.auth-demo-divider:before{background:var(--auth-line-strong);content:"";flex:1 1;height:1px;opacity:.6}.auth-demo-title{color:var(--auth-fg-soft);font-size:.78rem;font-weight:600}.auth-demo-subtitle{color:var(--auth-muted);font-size:.76rem;line-height:1.4;margin-top:8px;opacity:.85}.auth-divider{align-items:center;color:var(--auth-muted);display:flex;font-size:.75rem;font-weight:700;gap:12px;letter-spacing:.1em;text-transform:uppercase}.auth-divider:after,.auth-divider:before{background:var(--auth-line);content:"";flex:1 1;height:1px}.auth-footer{border-top:1px solid var(--auth-line);color:var(--auth-fg-soft);font-size:.86rem;margin-top:22px;padding-top:18px;text-align:center}.auth-footer p{margin:0 0 6px}.auth-link{background:none;border:none;color:var(--auth-accent);cursor:pointer;font:inherit;font-weight:700;padding:0;text-decoration:none}.auth-link:hover{text-decoration:underline}.auth-demo{display:flex;flex-direction:column;gap:10px;margin-top:18px}.auth-container.dark-mode,.dark-mode .auth-container{--auth-fg:#f2f5ff;--auth-fg-soft:#a6b2da;--auth-muted:#7b88b6;--auth-surface:#121c34;--auth-line:#a8b6f024;--auth-line-strong:#a8b6f03d;--auth-accent:#6d80ff;--auth-accent-2:#9aa8ff;--auth-gradient:linear-gradient(135deg,#8b99ff,#5f74ff 58%,#4a5ed9);--auth-subtle:#ffffff0a;background:radial-gradient(ellipse 900px 500px at 8% -5%,#6d80ff3d,#0000 68%),radial-gradient(ellipse 700px 500px at 100% 100%,#43dd9e17,#0000 70%),#080f1f}.dark-mode .auth-card{box-shadow:0 28px 70px #02061780}.dark-mode .auth-container input[type=email],.dark-mode .auth-container input[type=password],.dark-mode .auth-container input[type=tel],.dark-mode .auth-container input[type=text],.dark-mode .auth-container select,.dark-mode .google-button{background:#1e2a47cc;color:var(--auth-fg)}.dark-mode .auth-container input:focus,.dark-mode .auth-container select:focus{border-color:var(--auth-accent);box-shadow:0 0 0 3px #6d80ff2e}.dark-mode .auth-error{background:#ff8f881f;border-color:#ff8f8847;color:#ff9f99}.dark-mode .auth-success{background:#43dd9e1f;border-color:#43dd9e47;color:#5fe3ae}@media (max-width:480px){.auth-card{border-radius:22px;padding:24px 20px 28px}.language-switcher{right:12px;top:12px}.auth-header{margin-bottom:22px}.form-row{grid-template-columns:minmax(0,1fr)}}.pos-page{animation:fadeIn .3s ease-out;padding:24px}.pos-gate-banner{align-items:center;background:linear-gradient(135deg,#6366f11a,#7c4dff26);border:1.5px dashed #6366f1;border:1.5px dashed var(--accent-primary,#6366f1);border-radius:20px;display:flex;gap:20px;justify-content:space-between;margin-bottom:24px;padding:20px 24px}.pos-gate-content h3{color:#6366f1;color:var(--accent-primary,#6366f1);font-size:16px;margin:0 0 6px}.pos-gate-content p{color:#64748b;color:var(--color-text-secondary,#64748b);font-size:13px;margin:0}.pos-gate-btn{background:linear-gradient(135deg,#4f46e5,#6534e0);border:none;border-radius:12px;box-shadow:0 4px 12px #6366f14d;color:#fff;cursor:pointer;font-size:13px;font-weight:700;padding:10px 20px;white-space:nowrap}.pos-header{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.pos-title{font-size:26px;font-weight:800;margin:4px 0 0}.pos-tabs{background:#f1f5f9;background:var(--bg-subtle,#f1f5f9);border-radius:14px;display:flex;gap:8px;padding:4px}.pos-tab{background:#0000;border:none;border-radius:10px;color:#64748b;color:var(--color-text-secondary,#64748b);cursor:pointer;font-size:13px;font-weight:600;padding:8px 18px;transition:all .2s ease}.pos-tab.active{background:#fff;background:var(--bg-card,#fff);box-shadow:0 2px 8px #00000014;color:#0f172a;color:var(--color-text-primary,#0f172a)}.pos-stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px}.pos-stat-card{background:#fff;background:var(--bg-card,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:18px;display:flex;flex-direction:column;gap:4px;padding:18px}.pos-stat-label{color:#64748b;color:var(--color-text-secondary,#64748b);font-size:12px;font-weight:600}.pos-stat-val{color:#0f172a;color:var(--color-text-primary,#0f172a);font-size:20px;font-weight:800}.pos-action-bar{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.pos-btn-add{background:#4a5ed9;background:var(--btn-accent);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:13px;font-weight:700;padding:10px 20px}.pos-table-wrap{-webkit-overflow-scrolling:touch;background:#fff;background:var(--bg-card,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:20px;box-shadow:0 4px 16px #00000008;overflow-x:auto}.pos-table{border-collapse:collapse;font-size:13px;min-width:900px;width:100%}.pos-table th{background:#f8fafc;background:var(--bg-subtle,#f8fafc);border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--color-border,#e2e8f0);color:#64748b;color:var(--color-text-secondary,#64748b);font-size:12px;font-weight:700;letter-spacing:.2px;text-align:left;white-space:nowrap}.pos-table td,.pos-table th{padding:14px 16px;vertical-align:middle}.pos-table td{border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--color-border,#f1f5f9);font-size:13px}.pos-table td.text-center,.pos-table th.text-center{text-align:center}.pos-table td.text-right,.pos-table th.text-right{text-align:right}.pos-cat-badge{background:#f1f5f9;background:var(--bg-subtle,#f1f5f9);border:1px solid #e2e8f0;border-radius:8px;color:#334155;color:var(--color-text-primary,#334155);display:inline-block;font-weight:600;padding:4px 10px}.pos-cat-badge,.pos-status-badge{font-size:11px;white-space:nowrap}.pos-status-badge{align-items:center;border-radius:999px;display:inline-flex;font-weight:700;justify-content:center;min-width:64px;padding:4px 12px;text-align:center}.pos-status-badge.normal{background:#dcfce7;border:1px solid #bbf7d0;color:#15803d}.pos-status-badge.low{background:#fef3c7;border:1px solid #fde68a;color:#b45309}.pos-status-badge.out{background:#fee2e2;border:1px solid #fca5a5;color:#b91c1c}.pos-icon-btn{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;display:inline-flex;font-size:13px;justify-content:center;padding:6px 10px;transition:all .2s ease}.pos-icon-btn:hover{background:#f1f5f9;border-color:#cbd5e1;transform:translateY(-1px)}.pos-icon-btn.danger:hover{background:#fee2e2;border-color:#fca5a5}.pos-register-layout{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 380px}@media (max-width:900px){.pos-register-layout{grid-template-columns:1fr}}.pos-catalog-panel{display:flex;flex-direction:column;gap:16px}.pos-search-input{background:#fff;background:var(--bg-input,#fff);border:1px solid #cbd5e1;border:1px solid var(--color-border,#cbd5e1);border-radius:16px;color:#0f172a;color:var(--color-text-primary,#0f172a);font-size:14px;padding:14px 18px;width:100%}.pos-catalog-grid{grid-gap:16px;align-items:stretch;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(185px,1fr))}.pos-prod-card{background:#fff;background:var(--bg-card,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:18px;box-shadow:0 2px 8px #00000008;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;height:100%;justify-content:space-between;padding:14px;transition:all .2s ease}.pos-prod-card:hover{border-color:#6366f1;border-color:var(--accent-primary,#6366f1);box-shadow:0 8px 20px #6366f12e;transform:translateY(-3px)}.pos-prod-img-box{align-items:center;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-shrink:0;height:110px;justify-content:center;margin-bottom:10px;overflow:hidden;width:100%}.pos-prod-img-box img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.pos-prod-card:hover .pos-prod-img-box img{transform:scale(1.05)}.pos-prod-details{display:flex;flex:1 1;flex-direction:column;gap:4px;justify-content:space-between}.pos-prod-sku{color:#64748b;color:var(--color-text-secondary,#64748b);font-size:10px;font-weight:700;letter-spacing:.3px;text-transform:uppercase}.pos-prod-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#0f172a;color:var(--color-text-primary,#0f172a);display:-webkit-box;font-size:13px;font-weight:700;line-height:1.35;margin:2px 0 4px;min-height:35px;overflow:hidden;text-overflow:ellipsis}.pos-prod-price{color:#6366f1;color:var(--accent-primary,#6366f1);font-size:16px;font-weight:800}.pos-prod-stock{color:#0d9668;color:var(--color-success,#0d9668);font-size:11px;font-weight:600}.pos-prod-stock.low{color:#ef4444}.pos-cart-panel{background:#fff;background:var(--bg-card,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:20px;display:flex;flex-direction:column;gap:16px;padding:20px}.pos-customer-form{display:flex;flex-direction:column;gap:8px}.pos-customer-form input{border:1px solid #cbd5e1;border:1px solid var(--color-border,#cbd5e1);border-radius:10px;font-size:12px;padding:10px 14px}.pos-cart-list{display:flex;flex-direction:column;gap:10px;max-height:300px;overflow-y:auto}.pos-cart-item{align-items:center;background:#f8fafc;background:var(--bg-subtle,#f8fafc);border-radius:12px;display:flex;font-size:12px;justify-content:space-between;padding:10px}.pos-cart-qty-ctrl{align-items:center;display:flex;gap:6px}.pos-cart-qty-ctrl button{background:#fff;border:1px solid #cbd5e1;border-radius:6px;cursor:pointer;height:24px;width:24px}.pos-cart-summary{border-top:1px solid #e2e8f0;border-top:1px solid var(--color-border,#e2e8f0);display:flex;flex-direction:column;gap:10px;padding-top:14px}.pos-sum-row{color:#64748b;color:var(--color-text-secondary,#64748b);display:flex;font-size:13px;justify-content:space-between}.pos-sum-row.total{color:#0f172a;color:var(--color-text-primary,#0f172a);font-size:16px;font-weight:800}.pos-grand-total{color:#0d9668;color:var(--color-success,#0d9668);font-size:20px}.pos-checkout-btn{background:linear-gradient(135deg,#047857,#065f46);border:none;border-radius:14px;color:#fff;cursor:pointer;font-size:14px;font-weight:800;padding:14px;width:100%}.pos-modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172ab3;bottom:0;justify-content:center;left:0;padding:16px;position:fixed;right:0;top:0;z-index:10000}.pos-modal,.pos-modal-backdrop{box-sizing:border-box;display:flex;overflow-y:auto}.pos-modal{-webkit-overflow-scrolling:touch;background:#fff;background:var(--bg-card,#fff);border-radius:20px;box-shadow:0 20px 40px #00000040;flex-direction:column;margin:auto;max-height:85vh;max-width:520px;padding:24px;width:100%}.pos-modal>*{min-width:0}.pos-modal img,.pos-modal>*{max-width:100%}.pos-field-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.pos-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.pos-field label{font-size:12px;font-weight:600}.pos-field input{border:1px solid #cbd5e1;border:1px solid var(--color-border,#cbd5e1);border-radius:10px;font-size:13px;padding:10px}.pos-modal-actions{background:#fff;background:var(--bg-card,#fff);border-top:1px solid #e2e8f0;border-top:1px solid var(--color-border,#e2e8f0);bottom:0;display:flex;gap:12px;justify-content:flex-end;margin-top:16px;padding-top:12px;position:sticky;z-index:10}.pos-btn-cancel{background:#f1f5f9;padding:10px 20px}.pos-btn-cancel,.pos-btn-submit{border-radius:10px;cursor:pointer}.pos-btn-submit{background:#4a5ed9;background:var(--btn-accent);border:none;color:#fff;font-weight:700;padding:10px 24px}.pos-printer-bar{align-items:center;background:#fff;background:var(--bg-card,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:16px;box-shadow:0 2px 8px #00000008;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:24px;padding:12px 20px}.pos-printer-info{align-items:center;display:flex;font-size:13px;gap:8px}.pos-printer-dot{background:#10b981;border-radius:50%;box-shadow:0 0 8px #10b98199;height:10px;width:10px}.pos-print-toggle{align-items:center;cursor:pointer;display:flex;font-size:13px;gap:8px;-webkit-user-select:none;user-select:none}.pos-print-toggle input[type=checkbox]{accent-color:#0d9668;accent-color:var(--color-success,#0d9668);height:16px;width:16px}.pos-btn-test-print{background:#f8fafc;background:var(--bg-elevated,#f8fafc);border:1px solid #cbd5e1;border:1px solid var(--color-border,#cbd5e1);border-radius:10px;cursor:pointer;font-size:12px;font-weight:600;padding:6px 14px;transition:all .2s ease}.pos-btn-test-print:hover{background:#e2e8f0}.pos-report-container{display:flex;flex-direction:column;gap:24px}.pos-report-container,.pos-report-filter-panel{box-sizing:border-box;max-width:100%;overflow-x:auto}.pos-report-filter-panel{-webkit-overflow-scrolling:touch;background:#fff;background:var(--bg-card,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:20px;box-shadow:0 4px 16px #0000000a;padding:24px}@media (max-width:768px){.pos-page{padding:12px}.pos-tabs{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;max-width:100%;overflow-x:auto;padding:4px}.pos-tab{font-size:12px;padding:8px 14px;white-space:nowrap}.pos-modal-backdrop{padding:10px;z-index:10000}.pos-modal{-webkit-overflow-scrolling:touch;border-radius:18px;max-height:85vh;overflow-y:auto;padding:18px}.pos-field-row{grid-template-columns:1fr}.pos-report-filter-panel{border-radius:16px;padding:14px}.pos-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}}.pos-printer-bar .pos-printer-icon{font-size:18px}.pos-printer-chip{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;color:#475569;font-size:11px;font-weight:700;padding:3px 10px}.pos-printer-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.pos-btn-printer-settings{background:#fff;border:1px solid #cbd5e1;border-radius:10px;color:#334155;cursor:pointer;font-size:12px;font-weight:700;padding:8px 14px}.pos-btn-printer-settings:hover{border-color:#6366f1;color:#4338ca}.mm-print-modal{max-width:720px}.mm-print-head{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.mm-print-head h3{font-size:17px;font-weight:800;margin:0}.mm-print-close{background:#f1f5f9;border:none;border-radius:50%;cursor:pointer;flex-shrink:0;height:32px;width:32px}.mm-print-ok,.mm-print-warn{border-radius:12px;font-size:12px;line-height:1.5;margin-bottom:12px;padding:10px 12px}.mm-print-warn{background:#fffbeb;border:1px solid #fcd34d;color:#92400e}.mm-print-ok{background:#ecfdf5;border:1px solid #6ee7b7;color:#047857}.mm-print-scroll{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:14px;display:flex;justify-content:center;max-height:55vh;min-width:0;overflow:auto;padding:16px}.mm-print-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:14px}.mm-btn{border:none;border-radius:12px;cursor:pointer;font-size:13px;font-weight:700;padding:10px 16px}.mm-btn-primary{background:linear-gradient(135deg,#4f46e5,#3730a3);color:#fff}.mm-btn-line{background:#fff;border:1px solid #6366f1;color:#4338ca}.mm-btn-ghost{background:#e2e8f0;color:#475569}.mm-hint{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;color:#64748b;font-size:12px;line-height:1.6;margin:0 0 14px;padding:10px 12px}.mm-seg{display:flex;gap:8px}.mm-seg button{background:#0000;border:1px solid #cbd5e1;border:1px solid var(--color-border-strong,#cbd5e1);border-radius:10px;color:#475569;color:var(--color-text-secondary,#475569);cursor:pointer;flex:1 1;font-family:inherit;font-size:13px;font-weight:600;padding:10px}.mm-seg button.active{background:#4a5ed9;background:var(--btn-accent);background:#eef2ff;border-color:#4a5ed9;border-color:var(--btn-accent);border-color:#4338ca;color:#fff;color:#4338ca;font-weight:700}.mm-slip{background:#fff;box-sizing:border-box;color:#000;font-family:Sarabun,-apple-system,sans-serif;font-size:12px;line-height:1.45;max-width:100%;padding:6mm 4mm}.mm-slip-shop{font-size:16px;font-weight:800;text-align:center}.mm-slip-sub{font-size:12px;font-weight:700;margin-top:2px;text-align:center}.mm-dash{border-top:1px dashed #000;margin:6px 0}.mm-row{display:flex;gap:8px;justify-content:space-between}.mm-row span:last-child{text-align:right;white-space:nowrap}.mm-item{margin-bottom:4px}.mm-item-name{font-weight:700;word-break:break-word}.mm-total{font-size:15px;font-weight:800;margin-top:4px}.mm-center{text-align:center}.mm-small{font-size:11px}.mm-doc{background:#fff;box-sizing:border-box;color:#0f172a;font-family:Sarabun,-apple-system,sans-serif;font-size:12px;max-width:100%;padding:10mm;width:190mm}.mm-doc-head{border-bottom:2px solid #4338ca;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:14px;padding-bottom:10px}.mm-doc-po .mm-doc-head{border-bottom-color:#059669}.mm-doc-head h1{color:#4338ca;font-size:19px;margin:0}.mm-doc-po .mm-doc-head h1{color:#047857}.mm-doc-head p{color:#64748b;font-size:11px;margin:2px 0 0}.mm-doc-meta{text-align:right}.mm-doc-no{font-size:14px;font-weight:800}.mm-doc-parties{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:14px}.mm-doc-right{text-align:right}.mm-doc-table{border-collapse:collapse;margin-bottom:14px;width:100%}.mm-doc-table th{background:#4338ca;color:#fff;font-size:11px;padding:7px 10px;text-align:left}.mm-doc-po .mm-doc-table th{background:#047857}.mm-doc-table td{border-bottom:1px solid #e2e8f0;padding:7px 10px;vertical-align:top;word-break:break-word}.mm-right{text-align:right}.mm-right,.mm-sku{white-space:nowrap}.mm-sku{color:#64748b;font-family:monospace}.mm-doc-summary{margin-left:auto;max-width:100%;width:260px}.mm-doc-summary>div{color:#475569;display:flex;justify-content:space-between;padding:3px 0}.mm-doc-grand{border-top:2px solid #0f172a;color:#0f172a!important;font-size:15px;font-weight:800;margin-top:6px;padding-top:6px!important}.mm-doc-qr{color:#475569;font-size:11px;margin-top:18px;text-align:center}.mm-doc-qr img{display:block;height:120px;margin:6px auto;width:120px}.mm-doc-foot{color:#635a7e;color:var(--color-text-secondary,#635a7e);font-size:10px;margin-top:18px;text-align:center}.mm-history{border-top:1px solid #e2e8f0;border-top:1px solid var(--color-border,#e2e8f0);margin-top:18px;padding-top:14px}.mm-history h4{color:#0f172a;color:var(--color-text-primary,#0f172a);font-size:13px;font-weight:800;margin:0 0 10px}.mm-history-empty{color:#635a7e;color:var(--color-text-secondary,#635a7e);font-size:12px;padding:10px 0}.mm-history-item{align-items:center;background:#fff;background:var(--bg-card,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:10px;display:flex;gap:8px;justify-content:space-between;margin-bottom:6px;padding:9px 10px}.mm-history-main{min-width:0}.mm-history-no{font-size:12px;font-weight:800}.mm-history-sub{color:#64748b;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mm-history-amt{font-size:13px;font-weight:800;white-space:nowrap}.mm-history-open{background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;color:#334155;cursor:pointer;flex-shrink:0;font-size:11px;font-weight:700;padding:6px 10px}@media print{body *{visibility:hidden!important}#moneyma-print-area,#moneyma-print-area *{visibility:visible!important}#moneyma-print-area{background:#fff!important;box-shadow:none!important;left:0!important;margin:0!important;padding:0!important;position:absolute!important;top:0!important;width:100%!important}.no-print{display:none!important}.mm-doc,.mm-slip{box-shadow:none!important;padding-top:0!important}@page{margin:8mm}}.mm-ai-bar{align-items:center;background:#eff6ff;border:1px dashed #60a5fa;border-radius:12px;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:16px;padding:12px}.mm-ai-text{flex:1 1 200px;min-width:0}.mm-ai-text strong{color:#1e40af;display:block;font-size:13px}.mm-ai-text span{color:#3b82f6;font-size:11px}.mm-ai-actions{display:flex;flex-wrap:wrap;gap:8px}.mm-ai-btn{border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:12px;font-weight:700;padding:9px 14px;white-space:nowrap}.mm-ai-btn:disabled{cursor:default;opacity:.6}.mm-ai-cam{background:#2563eb}.mm-ai-file{background:#4f46e5}.mm-img-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:14px;padding:12px}.mm-img-label{color:#475569;display:block;font-size:12px;font-weight:700;margin-bottom:6px}.mm-img-row{align-items:center;flex-wrap:wrap;gap:12px}.mm-img-fields{flex:1 1 180px}@media (max-width:560px){.mm-ai-bar{align-items:stretch;flex-direction:column}.mm-ai-actions{display:grid;grid-template-columns:1fr 1fr}.mm-ai-btn{width:100%}.mm-img-row{align-items:flex-start}.mm-img-fields{flex:1 1 100%}.mm-print-actions{flex-direction:column-reverse}.mm-print-actions .mm-btn{width:100%}.pos-modal-actions{flex-wrap:wrap}.pos-modal-actions>*{flex:1 1 100%}.pos-printer-bar{align-items:flex-start;flex-direction:column;gap:10px}.pos-printer-actions{justify-content:space-between;width:100%}.mm-history-item{flex-wrap:wrap}}.pos-table{min-width:720px}.pos-table-wrap{box-shadow:0 4px 16px #00000008,inset -16px 0 16px -16px #0f172a47}.mm-report-modal{max-width:900px;width:100%}.mm-report-frame{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:14px;height:60vh;min-width:0;width:100%}@media (max-width:560px){.mm-report-frame{height:52vh}}.mm-doc,.mm-slip{font-family:Sarabun,Noto Sans Thai,-apple-system,BlinkMacSystemFont,sans-serif,Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji}.mm-slip-qr{margin:6px 0 2px;text-align:center}.mm-slip-qr img{display:block;height:22mm;image-rendering:pixelated;margin:0 auto 3px;width:22mm}.mm-tiny{font-size:8px;letter-spacing:.5px;opacity:.75}@media print{.mm-slip-qr img{height:22mm;width:22mm}}.mm-ai-bar,.mm-img-box,.mm-print-scroll,.pos-btn-cancel,.pos-icon-btn,.pos-prod-img-box{color:#334155}.mm-print-close{color:#475569;font-size:15px;font-weight:700;line-height:1}:root{--wh-1:#56c7f5;--wh-2:#4fd6c4;--wh-3:#b49cfb}.app:not(.dark-mode){--wh-1:#0369a1;--wh-2:#0f766e;--wh-3:#6d28d9}:root{--btn-accent:#4a5ed9}.app:not(.dark-mode){--btn-accent:#c8453f}:root{--bg-modal-solid:#111a31}.app:not(.dark-mode){--bg-modal-solid:#fff}.pos-modal-actions{background:#111a31;background:var(--bg-modal-solid);padding-bottom:2px}.mm-prod-modal{overflow:hidden}.mm-prod-modal form{display:flex;flex:1 1;flex-direction:column;min-height:0}.mm-prod-body{flex:1 1;min-height:0;overflow-y:auto;padding-right:4px}.mm-prod-modal .pos-modal-actions{position:static}.mm-ai-strip{align-items:center;border:1px solid #cbd5e1;border:1px solid var(--color-border-strong,#cbd5e1);border-radius:10px;color:#475569;color:var(--color-text-secondary,#475569);display:flex;flex-wrap:wrap;font-size:12px;gap:10px;justify-content:space-between;margin-bottom:16px;padding:8px 10px}.mm-ai-strip-btns{display:flex;gap:6px}.mm-ai-strip button{background:#0000;border:1px solid #cbd5e1;border:1px solid var(--color-border-strong,#cbd5e1);border-radius:8px;color:#0f172a;color:var(--color-text-primary,#0f172a);cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;padding:6px 12px}.mm-ai-strip button:disabled{cursor:default;opacity:.5}.mm-img-row{align-items:flex-start;display:flex;gap:10px}.mm-img-thumb{border:1px solid #cbd5e1;border:1px solid var(--color-border-strong,#cbd5e1);border-radius:10px;flex-shrink:0;height:56px;object-fit:cover;width:56px}.mm-img-thumb-empty{border-style:dashed;color:#8b829f;color:var(--color-text-muted,#8b829f);display:grid;font-size:10px;line-height:1.25;padding:4px;place-items:center;text-align:center}.mm-img-fields{grid-gap:6px;display:grid;flex:1 1;gap:6px;min-width:0}.mm-img-pick{border:1px solid #cbd5e1;border:1px solid var(--color-border-strong,#cbd5e1);border-radius:8px;color:#0f172a;color:var(--color-text-primary,#0f172a);cursor:pointer;font-weight:600;justify-self:start;padding:6px 12px}.mm-img-fields input[type=text],.mm-img-pick{font-size:12px}.mm-stock{border:1px solid #cbd5e1;border:1px solid var(--color-border-strong,#cbd5e1);border-radius:12px;margin:2px 0 0;min-width:0;padding:6px 12px 12px}.mm-stock legend{color:#475569;color:var(--color-text-secondary,#475569);font-size:12px;font-weight:600;padding:0 6px}.mm-stock-grid{grid-gap:10px;align-items:end;display:grid;gap:10px;grid-template-columns:repeat(3,1fr)}.mm-stock-grid .pos-field{margin-bottom:0;min-width:0}.mm-stock-grid label{font-size:11px;font-weight:500}.mm-stock input:disabled{cursor:not-allowed;opacity:.45}.mm-lock{background:#c67f141a;background:var(--color-warning-soft,#c67f141a);border-radius:5px;color:#c67f14;color:var(--color-warning,#c67f14);display:inline-block;font-size:9px;font-weight:700;letter-spacing:.02em;margin-left:3px;padding:1px 5px;vertical-align:middle}.mm-stock-foot{align-items:center;border-top:1px solid #e2e8f0;border-top:1px solid var(--color-divider,#e2e8f0);color:#475569;color:var(--color-text-secondary,#475569);display:flex;flex-wrap:wrap;font-size:12px;gap:10px;justify-content:space-between;margin-top:12px;padding-top:10px}.mm-stock-total strong{color:#0f172a;color:var(--color-text-primary,#0f172a);font-size:16px}.mm-stock-min{align-items:center;color:#475569;color:var(--color-text-secondary,#475569);display:flex;font-size:12px;font-weight:600;gap:8px;margin:0}.mm-stock-min input{width:76px}@media (max-width:520px){.mm-prod-modal{padding:18px 16px}.mm-ai-strip{justify-content:flex-start}.mm-stock-grid{gap:7px}.mm-stock-min input{width:64px}}.pos-btn-cancel{background:#0000;border:1px solid #cbd5e1;border:1px solid var(--color-border-strong,#cbd5e1);color:#475569;color:var(--color-text-secondary,#475569);font-weight:600}@media (max-width:768px){.mm-prod-modal .pos-field-row{grid-template-columns:1fr 1fr}}@media (max-width:560px){.mm-prod-modal .pos-modal-actions{flex-wrap:nowrap}.mm-prod-modal .pos-modal-actions>*{flex:0 0 auto}.mm-prod-modal .pos-btn-submit{flex:1 1 auto}}.mm-bt{border:1px solid #cbd5e1;border:1px solid var(--color-border-strong,#cbd5e1);border-radius:12px;margin-bottom:14px;padding:12px}.mm-bt-head{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.mm-bt-title{color:#0f172a;color:var(--color-text-primary,#0f172a);font-size:13px;font-weight:700}.mm-bt-dot{background:#8b829f;background:var(--color-text-muted,#8b829f);border-radius:50%;flex-shrink:0;height:8px;margin-left:auto;width:8px}.mm-bt-dot.on{background:#0d9668;background:var(--color-success,#0d9668)}.mm-bt-state{color:#475569;color:var(--color-text-secondary,#475569);font-size:12px}.mm-bt-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.mm-bt-busy{font-feature-settings:"tnum";font-size:12px;font-variant-numeric:tabular-nums}.mm-bt-busy,.mm-bt-note{color:#475569;color:var(--color-text-secondary,#475569)}.mm-bt-note{font-size:11.5px;line-height:1.55;margin:10px 0 0}.mm-bt-note strong{color:#0f172a;color:var(--color-text-primary,#0f172a)}.mm-po-cost{align-items:center;display:flex;gap:8px;margin-top:6px}.mm-po-cost-label{color:#64748b;color:var(--color-text-secondary,#64748b);font-size:12px;font-weight:600;white-space:nowrap}.mm-po-cost-field{align-items:center;background:#111a31;background:var(--bg-modal-solid,#fff);border:1px solid #cbd5e1;border:1px solid var(--color-border-strong,#cbd5e1);border-radius:10px;display:flex;gap:3px;padding:2px 8px}.mm-po-cost-field:focus-within{border-color:#4a5ed9;border-color:var(--btn-accent,#4a5ed9)}.mm-po-cost-cur{color:#64748b;color:var(--color-text-secondary,#64748b);font-size:12px;font-weight:600}.mm-po-cost input{font-feature-settings:"tnum" 1,"tnum";background:#0000;border:none;color:#0f172a;color:var(--color-text-primary,#0f172a);font-size:14px;font-variant-numeric:tabular-nums;font-weight:700;outline:none;padding:4px 0;text-align:right;width:84px}.mm-po-cost input::-webkit-inner-spin-button,.mm-po-cost input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.mm-po-cost input[type=number]{appearance:textfield}.pos-cart-item-total,.pos-grand-total{font-feature-settings:"tnum" 1,"tnum";font-variant-numeric:tabular-nums}.mm-rx-backdrop{align-items:flex-end;background:#080f1f8c;display:flex;inset:0;justify-content:center;padding:16px 16px calc(16px + env(safe-area-inset-bottom, 0px));position:fixed;z-index:10050}@media (min-width:640px){.mm-rx-backdrop{align-items:center}}.mm-rx-card{background:#fff;border-radius:20px;box-shadow:0 18px 48px #080f1f59;color:#0f172a;max-width:420px;padding:18px 18px 16px;width:100%}.app.dark-mode .mm-rx-card{background:#111a31;color:#eef2ff}.mm-rx-head{align-items:center;display:flex;gap:12px;justify-content:space-between}.mm-rx-head h2{color:inherit;font-size:15px;font-weight:700;margin:0}.mm-rx-x{align-items:center;background:#0000;border:1px solid #cbd5e1;border-radius:999px;color:#475569;cursor:pointer;display:inline-flex;height:34px;justify-content:center;width:34px}.app.dark-mode .mm-rx-x{border-color:#33415c;color:#c7d2fe}.mm-rx-body{background:#f1f5f9;border-radius:14px;color:#0f172a;margin:14px 0 6px;padding:16px;text-align:center}.app.dark-mode .mm-rx-body{background:#0b1224;color:#eef2ff}.mm-rx-shop{font-size:17px;font-weight:800}.mm-rx-when{color:#475569;font-size:13px;margin-top:2px}.app.dark-mode .mm-rx-when{color:#a5b4cf}.mm-rx-total{font-feature-settings:"tnum";color:#15803d;font-size:32px;font-variant-numeric:tabular-nums;font-weight:800;margin-top:10px}.app.dark-mode .mm-rx-total{color:#4ade80}.mm-rx-meta{color:#475569;font-size:13px;margin-top:4px}.app.dark-mode .mm-rx-meta{color:#a5b4cf}.mm-rx-muted{color:#475569;font-size:14px;margin:16px 0 4px}.app.dark-mode .mm-rx-muted{color:#a5b4cf}.mm-rx-hint{color:#475569;font-size:12px;margin:8px 0 0;text-align:center}.app.dark-mode .mm-rx-hint{color:#a5b4cf}.mm-rx-ok{color:#15803d;font-size:14px;font-weight:700;margin:10px 0 0;text-align:center}.app.dark-mode .mm-rx-ok{color:#4ade80}.mm-rx-actions{display:flex;gap:10px;margin-top:14px}.mm-rx-btn{border-radius:12px;cursor:pointer;flex:1 1;font:inherit;font-size:15px;font-weight:700;min-height:46px}.mm-rx-btn-ghost{background:#0000;border:1px solid #cbd5e1;color:#334155}.app.dark-mode .mm-rx-btn-ghost{border-color:#33415c;color:#dbe4ff}.mm-rx-btn-primary{background:#c8453f;border:none;color:#fff}.app.dark-mode .mm-rx-btn-primary{background:#4a5ed9;color:#fff}.pw{--pw-font:"DM Sans","Noto Sans Thai","Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif,"Apple Color Emoji","Segoe UI Emoji";--pw-mono:"IBM Plex Mono",monospace;--pw-bg-light:#f5f3ee;--pw-bg-dark:#111008;--pw-sheet-light:#fff;--pw-sheet-dark:#1a1915;--pw-border-light:#00000014;--pw-border-dark:#ffffff14;--pw-text-light:#1c1b17;--pw-text-dark:#e8e4d8;--pw-muted-light:#6b6960;--pw-muted-dark:#9c9880;--pw-pro:#2c6e49;--pw-pro-light:#e8f2ec;--pw-pro-dark:#1a3a28;--pw-pro-text:#fff;--pw-biz:#8a5c1a;--pw-biz-light:#fdf3e3;--pw-biz-dark:#2a1c08;--pw-biz-border:#c4851a;--pw-check:#2c6e49;--pw-cross:#9c9880;--pw-error:#c0392b;--pw-radius:20px;--pw-radius-sm:10px;align-items:flex-end;display:flex;font-family:var(--pw-font);inset:0;justify-content:center;position:fixed;z-index:1000}.pw__backdrop{animation:pw-fade-in .2s ease;background:#00000080;inset:0;position:absolute}@keyframes pw-fade-in{0%{opacity:0}to{opacity:1}}.pw__sheet{-webkit-overflow-scrolling:touch;animation:pw-slide-up .28s cubic-bezier(.22,.61,.36,1);background:var(--pw-sheet-light);border-radius:var(--pw-radius) var(--pw-radius) 0 0;max-height:94dvh;max-width:560px;overflow-y:auto;padding-bottom:env(safe-area-inset-bottom,16px);position:relative;width:100%;z-index:1}@media (prefers-color-scheme:dark){.pw__sheet{background:var(--pw-sheet-dark)}}@keyframes pw-slide-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.pw__sheet:before{background:#0000001f;border-radius:2px;content:"";display:block;height:4px;margin:12px auto 0;width:36px}@media (prefers-color-scheme:dark){.pw__sheet:before{background:#ffffff1f}}.pw__close{align-items:center;background:#0000000f;border:none;border-radius:50%;color:var(--pw-muted-light);cursor:pointer;display:flex;font-size:13px;height:30px;justify-content:center;position:absolute;right:20px;top:16px;width:30px}@media (prefers-color-scheme:dark){.pw__close{background:#ffffff0f;color:var(--pw-muted-dark)}}.pw__header{padding:20px 24px 0;text-align:center}.pw__logo{font-size:36px;line-height:1;margin-bottom:8px}.pw__logo--icon{border-radius:16px;display:block;margin:0 auto 8px;object-fit:cover}.pw__title{color:var(--pw-text-light);font-size:22px;font-weight:700;letter-spacing:-.02em;margin:0 0 6px}@media (prefers-color-scheme:dark){.pw__title{color:var(--pw-text-dark)}}.pw__subtitle{color:var(--pw-muted-light);font-size:14px;line-height:1.5;margin:0}@media (prefers-color-scheme:dark){.pw__subtitle{color:var(--pw-muted-dark)}}.pw__period-toggle{align-items:center;background:#0000000d;border-radius:10px;display:flex;gap:4px;margin:20px 24px 0;padding:3px}@media (prefers-color-scheme:dark){.pw__period-toggle{background:#ffffff0f}}.pw__period-btn{align-items:center;background:#0000;border:none;border-radius:7px;color:var(--pw-muted-light);cursor:pointer;display:flex;flex:1 1;font-family:var(--pw-font);font-size:13px;font-weight:500;gap:6px;justify-content:center;padding:8px 12px;transition:background .15s,color .15s}@media (prefers-color-scheme:dark){.pw__period-btn{color:var(--pw-muted-dark)}}.pw__period-btn--active{background:#fff;box-shadow:0 1px 3px #0000001a;color:var(--pw-text-light);font-weight:600}@media (prefers-color-scheme:dark){.pw__period-btn--active{background:#ffffff1a;box-shadow:none;color:var(--pw-text-dark)}}.pw__period-save{background:var(--pw-pro);border-radius:4px;color:#fff;font-size:10px;font-weight:700;letter-spacing:.02em;padding:2px 5px}.pw__plans{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr 1fr;padding:16px 24px 0}.pw__plan{background:#fff;border:1.5px solid #0000001a;border-radius:14px;display:flex;flex-direction:column;gap:12px;padding:16px 12px 14px;position:relative;transition:border-color .2s}@media (prefers-color-scheme:dark){.pw__plan{background:#ffffff0a;border-color:#ffffff1a}}.pw__plan--featured{background:var(--pw-pro-light);border-color:var(--pw-pro);border-width:2px}@media (prefers-color-scheme:dark){.pw__plan--featured{background:var(--pw-pro-dark);border-color:var(--pw-pro)}}.pw__plan--current{border-color:#0003;opacity:.85}.pw__plans>.pw__plan:last-child{background:var(--pw-biz-light);border-color:#c4851a4d}@media (prefers-color-scheme:dark){.pw__plans>.pw__plan:last-child{background:var(--pw-biz-dark);border-color:#c4851a66}}.pw__plan-badge{background:var(--pw-pro);border-radius:20px;color:#fff;font-size:10px;font-weight:700;left:50%;letter-spacing:.04em;padding:3px 8px;position:absolute;top:-10px;transform:translateX(-50%);white-space:nowrap}.pw__plan-badge--current{background:#0003}.pw__plan-header{display:flex;flex-direction:column;gap:2px}.pw__plan-name{color:var(--pw-muted-light);font-size:12px;font-weight:700;letter-spacing:.06em;margin:0;text-transform:uppercase}@media (prefers-color-scheme:dark){.pw__plan-name{color:var(--pw-muted-dark)}}.pw__plan--featured .pw__plan-name{color:var(--pw-pro)}.pw__plan-price{align-items:baseline;display:flex;flex-wrap:wrap;gap:2px}.pw__plan-price-main{color:var(--pw-text-light);font-family:var(--pw-mono);font-size:18px;font-weight:500}@media (prefers-color-scheme:dark){.pw__plan-price-main{color:var(--pw-text-dark)}}.pw__plan-price-period{color:var(--pw-muted-light);font-size:11px}@media (prefers-color-scheme:dark){.pw__plan-price-period{color:var(--pw-muted-dark)}}.pw__plan-monthly-equiv{color:var(--pw-muted-light);font-family:var(--pw-mono);font-size:10px;margin:0}@media (prefers-color-scheme:dark){.pw__plan-monthly-equiv{color:var(--pw-muted-dark)}}.pw__plan-btn{background:#0000;border:1.5px solid #0000001f;border-radius:8px;color:var(--pw-text-light);cursor:pointer;font-family:var(--pw-font);font-size:11px;font-weight:600;line-height:1.3;padding:9px 6px;text-align:center;transition:background .15s,opacity .15s;width:100%}@media (prefers-color-scheme:dark){.pw__plan-btn{border-color:#ffffff26;color:var(--pw-text-dark)}}.pw__plan-btn--featured{background:var(--pw-pro);border-color:var(--pw-pro);color:#fff}.pw__plan-btn--featured:hover:not(:disabled){opacity:.88}.pw__plan-btn--current{cursor:default;opacity:.5}.pw__plan-btn:hover:not(:disabled):not(.pw__plan-btn--current){background:#0000000d}@media (prefers-color-scheme:dark){.pw__plan-btn:hover:not(:disabled):not(.pw__plan-btn--current){background:#ffffff14}}.pw__plan-btn:disabled{cursor:not-allowed}.pw__error{background:#fdf0ee;border-radius:8px;color:var(--pw-error);font-size:13px;line-height:1.5;margin:12px 24px 0;padding:10px 14px}@media (prefers-color-scheme:dark){.pw__error{background:#2a1410}}.pw__comparison{padding:24px 24px 0}.pw__comparison-title{color:var(--pw-muted-light);font-size:12px;font-weight:700;letter-spacing:.07em;margin:0 0 12px;text-transform:uppercase}@media (prefers-color-scheme:dark){.pw__comparison-title{color:var(--pw-muted-dark)}}.pw__table{border:1px solid #00000014;border-radius:12px;overflow:hidden}@media (prefers-color-scheme:dark){.pw__table{border-color:#ffffff14}}.pw__table-header,.pw__table-row{align-items:center;display:grid;grid-template-columns:1.6fr .8fr .8fr .8fr}.pw__table-header{background:#00000008;border-bottom:1px solid #00000014}@media (prefers-color-scheme:dark){.pw__table-header{background:#ffffff08;border-color:#ffffff14}}.pw__table-row{border-bottom:1px solid #0000000d}.pw__table-row:last-child{border-bottom:none}.pw__table-row:nth-child(2n){background:rgba(0,0,0,.015)}@media (prefers-color-scheme:dark){.pw__table-row:nth-child(2n){background:hsla(0,0%,100%,.015)}.pw__table-row{border-color:#ffffff0d}}.pw__col-label{color:var(--pw-text-light);font-size:12px;font-weight:500;padding:9px 12px}@media (prefers-color-scheme:dark){.pw__col-label{color:var(--pw-text-dark)}}.pw__col-plan,.pw__col-val{font-size:11px;padding:9px 6px;text-align:center}.pw__col-plan{color:var(--pw-muted-light);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}@media (prefers-color-scheme:dark){.pw__col-plan{color:var(--pw-muted-dark)}}.pw__col-plan--featured,.pw__col-you{color:var(--pw-pro)}.pw__col-you{font-weight:700}.pw__col-val--featured{background:#2c6e490a}@media (prefers-color-scheme:dark){.pw__col-val--featured{background:#2c6e4914}}.pw__check{color:var(--pw-check);font-size:13px;font-weight:700}.pw__cross{color:var(--pw-cross);font-size:15px;font-weight:300}.pw__val-text{color:var(--pw-muted-light);display:block;font-family:var(--pw-mono);font-size:10px;line-height:1.3}@media (prefers-color-scheme:dark){.pw__val-text{color:var(--pw-muted-dark)}}.pw__footer{align-items:center;display:flex;flex-direction:column;gap:10px;padding:20px 24px 24px}.pw__footer-link{background:none;border:none;border-radius:4px;color:var(--pw-pro);cursor:pointer;font-family:var(--pw-font);font-size:13px;font-weight:500;padding:4px 8px;transition:background .15s}.pw__footer-link:hover{background:var(--pw-pro-light)}.pw__footer-link:disabled{cursor:not-allowed;opacity:.5}.pw__footer-legal{color:var(--pw-muted-light);font-size:11px;line-height:1.5;margin:0;text-align:center}@media (prefers-color-scheme:dark){.pw__footer-legal{color:var(--pw-muted-dark)}}.pw__plan-badge--onetime{background:#5a3f8f;color:#fff}.pw__plan-discount{color:#43dd9e;color:var(--color-success,#43dd9e);font-weight:700;margin:4px 0 0;margin:var(--space-1,4px) 0 0}.pw__plan-discount,.pw__promo-terms{font-size:11px;font-size:var(--text-xs,11px)}.pw__promo-terms{color:#7b88b6;color:var(--color-text-muted,#7b88b6);line-height:1.5;margin:12px 0 0;margin:var(--space-3,12px) 0 0;text-align:center}
/*# sourceMappingURL=main.3cf94bf4.css.map*/