@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=IBM+Plex+Mono:wght@400;500&family=Sarabun:wght@300;400;500;600&display=swap";@keyframes progressSlide{0%{transform:translate(-100%)}50%{transform:translate(0)}to{transform:translate(100%)}}@keyframes authFadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.auth-page{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--body-bg-fallback);background-color:var(--body-bg-oklch);background-image:radial-gradient(ellipse 70% 30% at 50% 0%,oklch(.4714 .1794 258.7 / .1) 0%,transparent 100%);padding:2rem 1rem;font-family:Inter,Sarabun,sans-serif}[data-theme=dark] .auth-page{background-image:radial-gradient(ellipse 70% 30% at 50% 0%,oklch(.4714 .1794 258.7 / .15) 0%,transparent 100%)}.auth-card{position:relative;width:100%;max-width:360px;background:var(--card-bg, #fff);border:1px solid rgba(255,255,255,.7);border-radius:20px;padding:2rem 1.75rem;box-shadow:inset 0 1px #ffffffe6,0 1px 3px #0f193c1a,0 4px 16px #0f193c1a,0 12px 32px #0f193c12;display:flex;flex-direction:column;align-items:center;gap:.75rem;animation:authFadeIn .35s ease both}[data-theme=dark] .auth-card{border-color:var(--border)}.auth-brand{display:flex;align-items:center;gap:.45rem;align-self:flex-start}.auth-brand-logo{width:18px;height:18px;-o-object-fit:contain;object-fit:contain}.auth-brand-text{font-size:.82rem;font-weight:500;color:var(--text-3);letter-spacing:.01em}.auth-brand-highlight{color:var(--primary);font-weight:700}.auth-divider{width:100%;height:1px;background:var(--border);margin:.25rem 0}.auth-icon-container{width:56px;height:56px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin-top:.5rem}.auth-icon-container--loading,.auth-icon-container--unauthenticated{background:var(--primary-light);border:1.5px solid var(--primary-mid);color:var(--primary)}.auth-icon-container--error{background:var(--rose-light);border:1.5px solid var(--rose-mid);color:var(--rose)}.auth-title{font-size:1rem;font-weight:700;color:var(--text);text-align:center;letter-spacing:-.01em;margin:0;line-height:1.3}.auth-subtitle{font-size:.8rem;color:var(--text-3);text-align:center;line-height:1.65;margin:0;max-width:260px}.auth-badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.65rem;font-weight:600;padding:.22rem .65rem;border-radius:100px;letter-spacing:.04em;text-transform:uppercase}.auth-badge--error{color:var(--rose);background:var(--rose-light);border:1px solid var(--rose-mid)}.auth-badge--unauthenticated{color:var(--primary);background:var(--primary-light);border:1px solid var(--primary-mid)}.auth-progress-track{width:100%;height:2px;background:var(--border);border-radius:100px;overflow:hidden;margin-top:.25rem}.auth-progress-bar{height:100%;width:45%;border-radius:100px;background:var(--primary);animation:progressSlide 1.4s ease-in-out infinite}.auth-btn{margin-top:.5rem;display:flex;align-items:center;justify-content:center;width:100%;padding:.7rem;background:var(--primary);color:#fff;border-radius:var(--radius-md);text-decoration:none;font-weight:600;font-size:.875rem;box-shadow:0 2px 8px #0f193c26;transition:background .18s,transform .15s}.auth-btn:hover{opacity:.9}.auth-btn:active{transform:scale(.98)}.auth-footer{margin-top:1.5rem;font-size:.68rem;color:var(--text-4);text-align:center;letter-spacing:.02em}:root{--radius: .625rem;--background: oklch(.9 .014 258.7);--foreground: oklch(.16 .02 258.7);--card-bg: oklch(1 0 0);--card-foreground: oklch(.16 .02 258.7);--popover: oklch(1 0 0);--popover-foreground: oklch(.16 .02 258.7);--secondary: oklch(.94 .014 258.7);--secondary-foreground: oklch(.22 .02 258.7);--muted: oklch(.95 .008 258.7);--muted-foreground: oklch(.46 .016 258.7);--accent: oklch(.93 .024 258.7);--accent-foreground: oklch(.22 .02 258.7);--destructive: oklch(.666 .2013 24.11);--destructive-foreground: oklch(1 0 0);--input-border: oklch(.91 .008 258.7);--ring: oklch(.4714 .1794 258.7);--success: oklch(.7515 .1117 188.43);--success-foreground: oklch(.3 .08 188.43);--info: oklch(.5852 .1706 253.27);--info-foreground: oklch(.3 .1 253.27);--warning: oklch(.78 .15 75);--warning-foreground: oklch(.3 .06 75);--primary: oklch(.4714 .1794 258.7);--primary-light: oklch(.95 .014 258.7);--primary-mid: oklch(.88 .04 258.7);--primary-hover: oklch(.4 .18 258.7);--primary-glow: oklch(.4714 .1794 258.7 / .15);--primary-dark: oklch(.3 .15 258.7);--teal: oklch(.5852 .1706 253.27);--teal-light: oklch(.95 .014 253.27);--teal-mid: oklch(.8 .07 253.27);--teal-hover: oklch(.5 .18 253.27);--rose: oklch(.666 .2013 24.11);--rose-light: oklch(.95 .025 24.11);--rose-mid: oklch(.84 .08 24.11);--rose-hover: oklch(.55 .18 24.11);--amber: oklch(.78 .15 75);--amber-light: oklch(.97 .025 75);--amber-mid: oklch(.9 .08 75);--amber-text: oklch(.41 .13 60);--emerald: oklch(.7515 .1117 188.43);--emerald-light: oklch(.96 .025 188.43);--emerald-mid: oklch(.88 .06 188.43);--gray-50: oklch(.985 .003 258.7);--gray-100: oklch(.96 .006 258.7);--gray-200: oklch(.91 .008 258.7);--gray-300: oklch(.84 .01 258.7);--gray-400: oklch(.7 .014 258.7);--gray-500: oklch(.56 .016 258.7);--gray-600: oklch(.44 .016 258.7);--gray-700: oklch(.33 .018 258.7);--gray-800: oklch(.24 .018 258.7);--gray-900: oklch(.16 .02 258.7);--text: oklch(.16 .02 258.7);--text-2: oklch(.33 .018 258.7);--text-3: oklch(.56 .016 258.7);--text-4: oklch(.7 .014 258.7);--border: oklch(.91 .008 258.7);--border-hi: oklch(.84 .01 258.7);--radius-xl: 20px;--radius-lg: 14px;--radius-md: 9px;--radius-sm: 6px;--radius-xs: 4px;--shadow-xs: 0 .0625rem .125rem 0rem oklch(.25 .03 258.7 / .04);--shadow-sm: 0 .0625rem .25rem 0rem oklch(.25 .03 258.7 / .07), 0 .0625rem .125rem -.0625rem oklch(.25 .03 258.7 / .04);--shadow-md: 0 .25rem .5rem -.0625rem oklch(.25 .03 258.7 / .09), 0 .125rem .25rem -.125rem oklch(.25 .03 258.7 / .05);--shadow-lg: 0 .5rem .875rem -.1875rem oklch(.25 .03 258.7 / .09), 0 .25rem .375rem -.25rem oklch(.25 .03 258.7 / .05);--shadow-xl: 0 1rem 1.5rem -.25rem oklch(.25 .03 258.7 / .09), 0 .5rem .625rem -.375rem oklch(.25 .03 258.7 / .04);--shadow-primary: 0 4px 18px oklch(.4714 .1794 258.7 / .2);--shadow-teal: 0 4px 16px oklch(.5852 .1706 253.27 / .18);--shadow-card: inset 0 1px 0 rgba(255, 255, 255, .9), 0 1px 3px rgba(15, 25, 60, .1), 0 4px 16px rgba(15, 25, 60, .1), 0 12px 32px rgba(15, 25, 60, .07);--shadow-card-hover: inset 0 1px 0 rgba(255, 255, 255, .95), 0 2px 6px rgba(15, 25, 60, .12), 0 8px 24px rgba(15, 25, 60, .12), 0 20px 48px rgba(15, 25, 60, .08);--z-sticky: 50;--z-modal-backdrop: 300;--z-toast: 350;--z-modal: 400;--z-loading: 500;--ease: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--ease-drawer: cubic-bezier(.32, .72, 0, 1);--dur-fast: .12s;--dur-base: .2s;--dur-slow: .28s;--data-card-bg: oklch(1 0 0);--btn-ok-bg: oklch(.97 .02 188.43);--btn-ok-text: oklch(.3 .08 188.43);--btn-ok-border: oklch(.88 .06 188.43);--btn-err-bg: oklch(.97 .02 24.11);--btn-err-text: oklch(.45 .18 24.11);--btn-err-border: oklch(.88 .07 24.11);--ap-suggest-bg: oklch(.96 .012 258.7);--ap-error-bg: oklch(.97 .02 24.11);--ap-include-bg: oklch(.97 .025 75);--ap-exclude-bg: oklch(.96 .012 253.27);--glass-bg: oklch(1 0 0 / .92);--glass-border: oklch(.91 .008 258.7);--body-bg-fallback: hsl(220, 14%, 90%);--body-bg-oklch: oklch(.9 .014 258.7);--header-bg-fallback: rgba(255, 255, 255, .88);--header-bg-oklch: oklch(1 0 0 / .88)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,Sarabun,-apple-system,sans-serif;background-color:var(--body-bg-fallback);background-color:var(--body-bg-oklch);color:var(--text);min-height:100vh;padding:2.5rem 2rem 6rem;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}button{font-family:Inter,Sarabun,sans-serif;cursor:pointer;border:none;transition:transform var(--dur-fast) var(--ease-out)}button:active:not(:disabled){transform:scale(.97)}.stagger-rows>tr{animation:fadeUp .25s var(--ease) both}.stagger-rows>tr:nth-child(1){animation-delay:0ms}.stagger-rows>tr:nth-child(2){animation-delay:40ms}.stagger-rows>tr:nth-child(3){animation-delay:80ms}.stagger-rows>tr:nth-child(4){animation-delay:.12s}.stagger-rows>tr:nth-child(5){animation-delay:.16s}.stagger-rows>tr:nth-child(6){animation-delay:.2s}.stagger-rows>tr:nth-child(7){animation-delay:.24s}.stagger-rows>tr:nth-child(8){animation-delay:.28s}.stagger-rows>tr:nth-child(9){animation-delay:.32s}.stagger-rows>tr:nth-child(10){animation-delay:.36s}.stagger-rows>tr:nth-child(n+11){animation-delay:.4s}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes fadeDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes blink{0%,to{opacity:1}50%{opacity:.45}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes modalScaleIn{0%{opacity:0;transform:scale(.95) translateY(12px)}to{opacity:1;transform:none}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes aurora1{0%{transform:translate(0) scale(1)}to{transform:translate(10%,15%) scale(1.2)}}@keyframes aurora2{0%{transform:translate(0) scale(1)}to{transform:translate(-12%,-10%) scale(1.15)}}@keyframes aurora3{0%{transform:translate(0) scale(1)}50%{transform:translate(5%,-8%) scale(1.1)}to{transform:translate(-5%,5%) scale(.95)}}.bg-blob-mid{display:none}.hidden{display:none!important}.text-mono{font-family:IBM Plex Mono,monospace}:focus{outline:none}:focus-visible{outline:2.5px solid var(--primary);outline-offset:2px;border-radius:var(--radius-sm)}button:focus-visible,[role=button]:focus-visible,label[tabindex]:focus-visible{outline:2.5px solid var(--primary);outline-offset:3px;border-radius:var(--radius-md)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--primary);outline-offset:0;border-radius:var(--radius-sm)}[data-theme=dark]{--background: oklch(.18 .02 258.7);--foreground: oklch(.94 .006 258.7);--card-bg: oklch(.22 .024 258.7);--muted: oklch(.26 .022 258.7);--muted-foreground: oklch(.65 .016 258.7);--accent: oklch(.3 .034 258.7);--primary: oklch(.5852 .1706 253.27);--primary-light: oklch(.3 .034 258.7);--primary-mid: oklch(.38 .05 258.7);--primary-hover: oklch(.65 .16 253.27);--primary-glow: oklch(.5852 .1706 253.27 / .22);--primary-dark: oklch(.22 .024 258.7);--teal: oklch(.7515 .1117 188.43);--teal-light: oklch(.26 .022 188.43);--teal-mid: oklch(.4 .06 188.43);--teal-hover: oklch(.65 .1 188.43);--rose: oklch(.666 .2013 24.11);--rose-light: oklch(.28 .04 24.11);--rose-mid: oklch(.4 .08 24.11);--amber: oklch(.82 .13 75);--amber-light: oklch(.28 .04 75);--amber-mid: oklch(.42 .08 75);--amber-text: oklch(.88 .1 75);--emerald: oklch(.7515 .1117 188.43);--emerald-light: oklch(.26 .035 188.43);--text: oklch(.94 .006 258.7);--text-2: oklch(.82 .01 258.7);--text-3: oklch(.65 .016 258.7);--text-4: oklch(.5 .014 258.7);--border: oklch(.32 .026 258.7);--border-hi: oklch(.42 .024 258.7);--shadow-xs: 0 .0625rem .125rem 0rem oklch(.1 .04 258.7 / .25);--shadow-sm: 0 .0625rem .25rem 0rem oklch(.1 .04 258.7 / .32), 0 .0625rem .125rem -.0625rem oklch(.1 .04 258.7 / .2);--shadow-md: 0 .25rem .5rem -.0625rem oklch(.1 .04 258.7 / .36), 0 .125rem .25rem -.125rem oklch(.1 .04 258.7 / .22);--shadow-lg: 0 .5rem .875rem -.1875rem oklch(.1 .04 258.7 / .36), 0 .25rem .375rem -.25rem oklch(.1 .04 258.7 / .22);--shadow-xl: 0 1rem 1.5rem -.25rem oklch(.1 .04 258.7 / .36), 0 .5rem .625rem -.375rem oklch(.1 .04 258.7 / .18);--shadow-primary: 0 4px 18px oklch(.5852 .1706 253.27 / .28);--shadow-teal: 0 4px 16px oklch(.7515 .1117 188.43 / .2);--shadow-card: inset 0 1px 0 rgba(255, 255, 255, .04), 0 1px 3px rgba(0, 0, 0, .35), 0 4px 16px rgba(0, 0, 0, .25), 0 12px 32px rgba(0, 0, 0, .25);--shadow-card-hover: inset 0 1px 0 rgba(255, 255, 255, .06), 0 2px 6px rgba(0, 0, 0, .45), 0 8px 24px rgba(0, 0, 0, .35), 0 20px 48px rgba(0, 0, 0, .28);--gray-50: oklch(.2 .02 258.7);--gray-100: oklch(.24 .022 258.7);--gray-200: oklch(.32 .026 258.7);--gray-300: oklch(.42 .024 258.7);--gray-400: oklch(.5 .016 258.7);--gray-500: oklch(.6 .014 258.7);--gray-600: oklch(.72 .012 258.7);--gray-700: oklch(.82 .01 258.7);--gray-800: oklch(.88 .008 258.7);--gray-900: oklch(.94 .006 258.7);--data-card-bg: oklch(.22 .024 258.7);--btn-ok-bg: oklch(.3 .06 188.43);--btn-ok-text: oklch(.82 .08 188.43);--btn-ok-border: oklch(.4 .09 188.43);--btn-err-bg: oklch(.28 .06 24.11);--btn-err-text: oklch(.75 .15 24.11);--btn-err-border: oklch(.4 .1 24.11);--ap-suggest-bg: oklch(.28 .03 258.7);--ap-error-bg: oklch(.28 .06 24.11);--ap-include-bg: oklch(.28 .05 75);--ap-exclude-bg: oklch(.28 .03 253.27);--glass-bg: oklch(.22 .024 258.7 / .92);--glass-border: oklch(.32 .026 258.7);--body-bg-fallback: hsl(220, 18%, 16%);--body-bg-oklch: oklch(.16 .018 258.7);--header-bg-fallback: rgba(30, 41, 59, .85);--header-bg-oklch: oklch(.2 .022 258.7 / .85)}[data-theme=dark] body{color:var(--text)}[data-theme=dark] .app-header{background:#101620!important;border-color:var(--border)!important;box-shadow:var(--shadow-md)!important}[data-theme=dark] .step-wizard{background:#101620!important;border-color:var(--border)!important;box-shadow:var(--shadow-sm)!important}[data-theme=dark] .home-version{background:var(--card-bg)!important;border-color:var(--border)!important}[data-theme=dark] .panel-card{background:var(--card-bg)!important;border-color:var(--border)!important;box-shadow:var(--shadow-card)!important}[data-theme=dark] .panel-card:hover{border-color:var(--border-hi)!important;box-shadow:var(--shadow-card-hover)!important}[data-theme=dark] .module-card,[data-theme=dark] .data-card{background:var(--card-bg)!important;border-color:var(--border)!important;box-shadow:var(--shadow-card)!important}[data-theme=dark] .data-card:hover{border-color:var(--border-hi)!important}[data-theme=dark] .modal-overlay{background:#010309cc}[data-theme=dark] .modal-box{background:#141b26!important;border:1px solid var(--border)!important;box-shadow:var(--shadow-xl)!important}[data-theme=dark] .ocr-loading-overlay{background:#010309cc}[data-theme=dark] .ocr-loading-box{background:var(--card-bg);border-color:var(--border)}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:var(--card-bg);border-color:var(--border);color:var(--text);color-scheme:dark}[data-theme=dark] input::-moz-placeholder,[data-theme=dark] textarea::-moz-placeholder{color:var(--text-4)}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:var(--text-4)}[data-theme=dark] .field-input,[data-theme=dark] .tbl-input,[data-theme=dark] .tbl-select,[data-theme=dark] .ap-field-input,[data-theme=dark] .ap-tbl-input,[data-theme=dark] .ap-tbl-select,[data-theme=dark] .ap-edit-input:hover,[data-theme=dark] .ap-sum-from-doc,[data-theme=dark] .ap-search-input-wrap input{background:var(--card-bg)!important;border-color:var(--border)!important;color:var(--text)!important}[data-theme=dark] th,[data-theme=dark] .tbl-head-cell,[data-theme=dark] .ap-acct-table th,[data-theme=dark] .ap-review-table th,[data-theme=dark] .mapping-table th{background:#1e293b!important;color:var(--text-3)!important;border-color:var(--border)!important}[data-theme=dark] td{border-color:var(--border)!important}[data-theme=dark] tr:hover td{background:#ffffff06!important}[data-theme=dark] .btn-outline,[data-theme=dark] .btn-cancel{border-color:var(--border-hi)!important;color:var(--text-2)!important;background:transparent!important}[data-theme=dark] .btn-outline:hover,[data-theme=dark] .btn-cancel:hover{background:#ffffff0f!important}[data-theme=dark] .btn-icon{border-color:var(--border);color:var(--text-3);background:transparent}[data-theme=dark] .btn-icon:hover{background:#ffffff0f;color:var(--text)}[data-theme=dark] .bank-option{background:transparent;border-color:var(--border)}[data-theme=dark] .bank-option:hover{background:var(--primary-light);border-color:var(--primary-mid)}[data-theme=dark] .upload-drop{background:var(--card-bg);border-color:var(--border-hi)}[data-theme=dark] .upload-drop:hover{background:var(--primary-light)}[data-theme=dark] .vendor-dropdown,[data-theme=dark] .cs-dropdown{background:var(--card-bg)!important;border-color:var(--border)!important}[data-theme=dark] .vendor-item:hover,[data-theme=dark] .cs-option:hover{background:var(--primary-light)!important}[data-theme=dark] .toast{background:var(--card-bg)!important;border-color:var(--border)!important;color:var(--text)!important}[data-theme=dark] .step.active{background:var(--primary-light)!important;border-color:var(--primary-mid)!important;color:var(--primary)!important}[data-theme=dark] .dark-toggle{color:#fbbf24!important}[data-theme=dark] .ap-account-card,[data-theme=dark] .ap-success-wrap,[data-theme=dark] .ap-step-nav,[data-theme=dark] .file-info-strip,[data-theme=dark] .preview-toolbar,[data-theme=dark] .preview-frame,[data-theme=dark] .vendor-search-input-wrap,[data-theme=dark] .preview-toggle-btn,[data-theme=dark] .mapping-table th select{background:var(--card-bg)!important;border-color:var(--border)!important;color:var(--text)!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(max-width:768px){body{padding:1.25rem 1rem 5rem}}@media(max-width:480px){body{padding:.875rem .75rem 4rem}}:root{--header-top: .75rem;--header-height: 4rem;--header-bottom: calc(var(--header-top) + var(--header-height) + .75rem)}.app-container{max-width:1480px;margin:0 auto;padding:1.5rem;animation:fadeUp .35s var(--ease) both}@media(max-width:768px){.app-container{padding:1rem}}@media(max-width:480px){.app-container{padding:.75rem}}.app-header{--module-accent: var(--primary);--module-accent-soft: var(--primary-light);display:flex;align-items:center;gap:.875rem;margin-bottom:2rem;padding:.75rem .875rem .75rem .625rem;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:inset 0 1px #fff9,var(--shadow-sm);animation:fadeDown .3s var(--ease) both;position:sticky;top:.75rem;z-index:var(--z-sticky);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);background-color:var(--header-bg-fallback);background-color:var(--header-bg-oklch);overflow:hidden}.app-header:after{content:"";position:absolute;left:18%;right:18%;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--module-accent) 45%,var(--module-accent) 55%,transparent);opacity:.45;pointer-events:none}.app-header-back{display:inline-flex;align-items:center;gap:.4rem;height:32px;padding:0 .75rem 0 .55rem;border-radius:100px;background:var(--muted);border:1px solid var(--border);color:var(--text-2);font-size:.72rem;font-weight:600;letter-spacing:.01em;cursor:pointer;transition:background .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease),transform .12s var(--ease);flex-shrink:0}.app-header-back:hover{background:var(--module-accent-soft);border-color:var(--module-accent);color:var(--module-accent)}.app-header-back:active{transform:scale(.97)}.app-header-back svg{transition:transform .18s var(--ease)}.app-header-back:hover svg{transform:translate(-2px)}.app-header-sep{width:1px;height:28px;background:var(--border);flex-shrink:0}.app-header .brand{display:flex;align-items:center;gap:.75rem;position:relative;z-index:1;flex:1;min-width:0}.app-header .logo-box{width:38px;height:38px;border-radius:var(--radius-md);background:var(--module-accent);background-image:linear-gradient(135deg,#ffffff1f,#0000 60%);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:inset 0 1px #ffffff40,inset 0 -1px #00000014,0 0 0 3px var(--module-accent-soft),var(--shadow-xs);position:relative}.app-header .logo-box .logo-img{width:20px;height:20px;-o-object-fit:contain;object-fit:contain;filter:brightness(0) invert(1);opacity:.96}.app-header .brand-text{display:flex;flex-direction:column;gap:.05rem;min-width:0}.app-header-eyebrow{font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-4);line-height:1.2;display:flex;align-items:center;gap:.35rem}.app-header-eyebrow:before{content:"";width:4px;height:4px;border-radius:50%;background:var(--module-accent);flex-shrink:0}.app-header-title,.app-header h1{font-size:1.02rem;font-weight:700;letter-spacing:-.02em;color:var(--text);line-height:1.2;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-header-actions{display:flex;align-items:center;gap:.625rem;flex-shrink:0}.app-header[data-module=credit-card]{--module-accent: oklch(.4714 .1794 258.7);--module-accent-soft: oklch(.95 .014 258.7)}.app-header[data-module=ap-invoice]{--module-accent: oklch(.5852 .1706 253.27);--module-accent-soft: oklch(.95 .014 253.27)}.app-header[data-module=mapping]{--module-accent: oklch(.56 .1 188.43);--module-accent-soft: oklch(.95 .018 188.43)}[data-theme=dark] .app-header{box-shadow:inset 0 1px #ffffff0a,var(--shadow-md)}[data-theme=dark] .app-header[data-module=credit-card]{--module-accent: oklch(.65 .16 258.7);--module-accent-soft: oklch(.3 .06 258.7)}[data-theme=dark] .app-header[data-module=ap-invoice]{--module-accent: oklch(.7 .13 253.27);--module-accent-soft: oklch(.3 .06 253.27)}[data-theme=dark] .app-header-back{background:#1d2430;border-color:var(--border);color:var(--text-2)}.main-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start;width:100%}@media(max-width:1100px){.main-grid{grid-template-columns:1fr}}.main-content{display:grid;grid-template-columns:360px 1fr;gap:1.75rem;align-items:start;animation:fadeUp .3s var(--ease) both}.main-content.hide-data{grid-template-columns:360px 1fr}.main-content.hide-data .data-column{display:block;opacity:.25;pointer-events:none;filter:blur(1.5px) grayscale(100%);transition:opacity .3s,filter .3s}@media(max-width:1100px){.main-content{grid-template-columns:1fr}}.data-column{display:flex;flex-direction:column;gap:1.25rem}.section-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem}.section-title{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-4);margin-bottom:1rem;display:flex;align-items:center;gap:.6rem}.section-title i{color:var(--primary)}@media(max-width:1100px){.preview-column{position:static}}@media(max-width:768px){.app-header{gap:.625rem;padding:.625rem .75rem;margin-bottom:1.25rem}.app-header-back span{display:none}.app-header-back{padding:0 .5rem}.app-header-eyebrow{display:none}.app-header-title{font-size:.95rem}.action-bar{flex-wrap:wrap}.form-actions{flex-wrap:wrap;flex-direction:row}.form-actions>.btn-submit,.form-actions>.btn-danger{width:100%;order:-1;justify-content:center}.form-actions>.btn-cancel{flex:1;justify-content:center;margin-right:0!important}.form-actions>.btn-icon{flex:0 0 auto;width:auto}.form-actions-sep{display:none}.btn-add-row{margin:.75rem 1rem;width:calc(100% - 2rem)}.total-summary-grid{grid-template-columns:1fr 1fr}.main-content{gap:1.25rem}.data-column{gap:1rem}}@media(max-width:480px){.app-header{gap:.5rem;border-radius:var(--radius-lg);padding:.5rem .625rem;margin-bottom:1rem}.app-header .logo-box{width:32px;height:32px}.app-header-sep{height:22px}.main-content{gap:1rem}.section-title{font-size:.68rem}}.step-wizard-wrap{overflow-x:auto;margin-bottom:1.75rem;display:flex;justify-content:center}.step-wizard-wrap::-webkit-scrollbar{display:none}.step-wizard{display:flex;align-items:center;justify-content:center;min-width:-moz-max-content;min-width:max-content;width:100%;padding:.65rem 1.5rem;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);position:relative}.step-wizard:before{display:none}.step{display:flex;align-items:center;gap:.55rem;padding:.5rem 1rem;border-radius:100px;font-size:.8rem;font-weight:500;color:var(--text-4);transition:color .2s var(--ease),background-color .2s var(--ease);white-space:nowrap;position:relative}.step.active{color:#fff;font-weight:700;border:none;box-shadow:var(--shadow-primary)}.step.done{color:var(--emerald);font-weight:500}.step.done.clickable{cursor:pointer;transition:background .2s var(--ease),transform .15s var(--ease)}.step.done.clickable:hover{background:var(--emerald-light);transform:translateY(-1px)}.step.done.clickable:active{transform:translateY(0)}.step-num{width:22px;height:22px;border-radius:50%;border:2px solid currentColor;display:flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:700;font-family:IBM Plex Mono,monospace;flex-shrink:0;transition:background-color .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),box-shadow .2s var(--ease)}.step.active .step-num{border-color:#fff9;color:#fff}.step.done .step-num{background:linear-gradient(135deg,var(--emerald) 0%,#34d399 100%);border-color:transparent;color:#fff;box-shadow:0 2px 8px #05966959}.step-sep{flex:1;max-width:40px;height:2px;background:var(--border);border-radius:100px;transition:background .3s var(--ease)}@keyframes pulse-ring{0%{transform:scale(1);opacity:.5}to{transform:scale(1.04);opacity:0}}.panel-card.step-active,.panel-card.step-active-upload{position:relative}.panel-card.step-active:after,.panel-card.step-active-upload:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:calc(var(--radius-lg) + 3px);border:2px solid var(--primary);opacity:0;animation:pulse-ring 1.8s ease-out infinite;pointer-events:none}.panel-card.step-active{border-color:var(--primary)}.panel-card.step-active-upload:after{border-color:var(--emerald)}.panel-card.step-active-upload{border-color:var(--emerald)}.panel-card.step-dimmed{opacity:.45;pointer-events:none;filter:grayscale(.3);transition:opacity .3s,filter .3s}.step-badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.18rem .55rem;border-radius:99px;margin-left:.5rem;vertical-align:middle}.step-badge.badge-now{background:var(--primary-light);color:var(--primary);border:1px solid var(--primary-mid)}.step-badge.badge-next{background:var(--gray-100);color:var(--text-3);border:1px solid var(--border)}.step-badge.badge-now-upload{background:#10b9811a;color:var(--emerald);border:1px solid rgba(16,185,129,.2)}.upload-section{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.25rem;margin-bottom:1.5rem}@media(max-width:900px){.upload-section{grid-template-columns:1fr 1fr}}@media(max-width:580px){.upload-section{grid-template-columns:1fr}}.panel-card{background:var(--card-bg);border:1px solid rgba(255,255,255,.7);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-card);transition:box-shadow .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease)}@media(hover:hover)and (pointer:fine){.panel-card:hover{box-shadow:var(--shadow-card-hover);border-color:#ffffffe6;transform:translateY(-2px)}}.field-label{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);display:flex;align-items:center;gap:.4rem;margin-bottom:1rem}.field-label i{color:var(--primary);font-size:.7rem}.bank-select-grid{display:flex;flex-direction:column;gap:.4rem}.bank-option{display:flex;align-items:center;gap:.65rem;padding:.65rem .9rem;border-radius:var(--radius-md);border:1.5px solid var(--border);cursor:pointer;transition:background-color .15s var(--ease),border-color .15s var(--ease),box-shadow .15s var(--ease),transform .1s var(--ease);background:transparent;font-family:inherit}.bank-option:active{transform:scale(.98)}.bank-option:hover{border-color:var(--primary-mid);background:var(--primary-light)}.bank-option.selected{border-color:var(--primary);background:var(--primary-light);box-shadow:0 0 0 3px var(--primary-glow)}.bank-option input[type=radio]{display:none}.bank-dot{width:8px;height:8px;border-radius:50%;border:1.5px solid var(--gray-300);transition:background-color .15s var(--ease),border-color .15s var(--ease),box-shadow .15s var(--ease);flex-shrink:0}.bank-option.selected .bank-dot{background:var(--primary);border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.bank-name{font-size:.85rem;font-weight:500;color:var(--text-2)}.bank-option.selected .bank-name{color:var(--primary);font-weight:600}.bank-code{margin-left:auto;font-size:.72rem;font-family:IBM Plex Mono,monospace;color:var(--text-4);background:var(--gray-100);padding:.14rem .45rem;border-radius:var(--radius-xs)}.bank-option.selected .bank-code{background:var(--primary-mid);color:var(--primary)}.upload-drop.step-active-upload:before{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border-radius:calc(var(--radius-lg) - 4px);border:2px dashed var(--emerald);opacity:0;animation:pulse-ring 1.8s ease-out infinite;pointer-events:none;z-index:1}.upload-drop{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:160px;border:2px dashed var(--border-hi);cursor:pointer;overflow:hidden;transition:background-color .2s var(--ease),border-color .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease);border-radius:var(--radius-lg);background:linear-gradient(135deg,#f8fafce6,#f0ecff66)}.upload-drop:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(ellipse 70% 50% at 50% 100%,rgba(128,88,241,.04) 0%,transparent 70%);pointer-events:none}.upload-drop:hover,.upload-drop.dragover{border-color:var(--primary);background:var(--primary-light);box-shadow:0 0 0 3px var(--primary-glow);transform:scale(1.005)}.upload-drop.dragover{border-style:solid;box-shadow:0 0 0 4px var(--primary-glow),var(--shadow-md);transform:scale(1.01)}.upload-drop.dropping{transform:scale(.98);transition:transform var(--dur-fast) var(--ease-out)}.upload-drop input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%;height:100%}.upload-icon{font-size:1.75rem;color:var(--gray-300);margin-bottom:.65rem;transition:color .25s,transform .25s var(--ease)}@media(hover:hover)and (pointer:fine){.upload-drop:hover .upload-icon{color:var(--primary);transform:scale(1.1) translateY(-2px)}}.upload-drop.dragover .upload-icon{color:var(--primary);transform:scale(1.1) translateY(-2px)}.upload-label{font-size:.875rem;font-weight:600;color:var(--text-3)}.upload-drop:hover .upload-label{color:var(--primary)}.upload-hint{font-size:.72rem;color:var(--text-4);margin-top:.3rem;font-family:IBM Plex Mono,monospace}.how-to-list{display:flex;flex-direction:column;gap:.7rem}.how-to-item{display:flex;gap:.65rem;align-items:flex-start}.how-step-num{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:700;flex-shrink:0;margin-top:1px}.how-step-num.gold{background:var(--amber-light);border:1px solid var(--amber-mid);color:var(--amber)}.how-step-num.teal{background:var(--teal-light);border:1px solid var(--teal-mid);color:var(--teal)}.how-to-item span{font-size:.8rem;color:var(--text-3);line-height:1.5}.action-bar{display:flex;align-items:center;gap:1rem;margin-bottom:2.25rem}#btnProcess{display:inline-flex;align-items:center;gap:.6rem;padding:.82rem 1.9rem;background:var(--primary);color:#fff;font-size:.9rem;font-weight:600;border-radius:var(--radius-md);box-shadow:var(--shadow-primary);transition:background-color .2s var(--ease),box-shadow .2s var(--ease),transform .1s var(--ease);letter-spacing:-.01em}@media(hover:hover)and (pointer:fine){#btnProcess:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 8px 24px var(--primary-glow)}}#btnProcess:active{transform:scale(.97)}#btnProcess:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.loader{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;display:none;flex-shrink:0}.status-text{font-size:.8rem;font-family:IBM Plex Mono,monospace;color:var(--text-3)}.preview-column{position:sticky;top:var(--header-bottom, 6rem)}.preview-toolbar{display:flex;align-items:center;gap:.2rem;padding:.5rem .75rem;background:#fff;border:1px solid var(--border-hi);border-bottom:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.prev-tool-group{display:flex;align-items:center;gap:.1rem}.prev-tool-sep{width:1px;height:1.3rem;background:var(--border-hi);margin:0 .35rem;flex-shrink:0}.prev-zoom-pct{font-size:.75rem;font-weight:700;color:var(--text-2);min-width:2.8rem;text-align:center;font-family:IBM Plex Mono,monospace;background:var(--primary-light);border-radius:var(--radius-sm);padding:.15rem 0}.prev-tool-btn{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;height:2rem;padding:0 .55rem;border:1px solid transparent;background:transparent;color:var(--text-3);border-radius:var(--radius-sm);cursor:pointer;font-size:.83rem;transition:background .12s var(--ease),color .12s var(--ease),border-color .12s var(--ease),transform .1s var(--ease);white-space:nowrap}.prev-tool-btn:active:not(:disabled){transform:scale(.93)}.prev-tool-btn span{font-size:.75rem;font-weight:600}.prev-tool-btn:hover:not(:disabled){background:var(--primary-light);color:var(--primary);border-color:var(--primary-mid)}.prev-tool-btn:disabled{opacity:.3;cursor:not-allowed}.prev-pdf-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:700;color:var(--rose);background:var(--rose-light);border:1px solid var(--rose-mid);border-radius:var(--radius-sm);padding:.15rem .5rem;flex-shrink:0}.prev-tool-hint{font-size:.7rem;color:var(--text-4);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-frame{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .2s,border-color .2s;position:relative}.preview-frame .placeholder-text{min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%}.preview-frame--docked{border-radius:0 0 var(--radius-lg) var(--radius-lg)}.preview-frame:hover{box-shadow:var(--shadow-md);border-color:var(--border-hi)}.prev-img-wrap{display:flex;align-items:center;justify-content:center;width:100%;overflow:hidden}.prev-img{max-width:100%;max-height:75vh;-o-object-fit:contain;object-fit:contain;-webkit-user-select:none;-moz-user-select:none;user-select:none;display:block;padding:.5rem}.placeholder-text{text-align:center;padding:2.5rem}.placeholder-icon-wrap{width:64px;height:64px;border-radius:var(--radius-lg);background:var(--gray-50);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:1.6rem;color:var(--gray-300);margin:0 auto 1rem}.placeholder-text p{font-size:.85rem;color:var(--text-4);line-height:1.55}.preview-image{max-width:100%;max-height:600px;-o-object-fit:contain;object-fit:contain;display:none;padding:1rem}#pdfPreview{width:100%;height:600px;border:none;display:none}.file-info-strip{display:none;align-items:center;justify-content:space-between;gap:.8rem;padding:.55rem 1rem;background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);margin-top:.6rem;font-size:.8rem;box-shadow:var(--shadow-xs)}.file-info-strip i{color:var(--primary);flex-shrink:0}.file-info-strip .file-name{color:var(--text-2);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.btn-zoom-action{margin-left:auto;background:var(--primary);color:#fff;padding:.45rem 1rem;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;display:inline-flex;align-items:center;gap:.5rem;box-shadow:var(--shadow-sm);transition:background-color .15s var(--ease),transform .12s var(--ease),box-shadow .15s var(--ease)}@media(hover:hover)and (pointer:fine){.btn-zoom-action:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}}.btn-zoom-action:active{transform:scale(.97)}.btn-zoom-action.hidden{display:none}.data-card{background:var(--card-bg);border:1px solid rgba(255,255,255,.7);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);transition:box-shadow .25s var(--ease),border-color .25s var(--ease)}.data-card:hover{box-shadow:var(--shadow-card-hover);border-color:#ffffffe6}.card-title{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.5rem;border-bottom:1px solid var(--border);font-size:.85rem;font-weight:600;color:var(--text-2);background:var(--muted)}.card-title-left{display:flex;align-items:center;gap:.6rem}.card-title i{width:26px;height:26px;border-radius:var(--radius-sm);background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:.7rem;flex-shrink:0}.card-body{padding:1.5rem}.card-body-flush{padding:0}.row-count{font-size:.7rem;font-family:IBM Plex Mono,monospace;color:var(--text-4);background:var(--gray-100);padding:.18rem .55rem;border-radius:100px}.header-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));gap:1.25rem}.form-field{display:flex;flex-direction:column;gap:.3rem}.form-field label{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);line-height:1.3}.form-field label span{display:block;font-size:.68rem;font-weight:600;color:var(--text-4);margin-top:2px}.form-field input{background:transparent;border:none;border-bottom:1.5px solid var(--border);border-radius:0;padding:.45rem 0;font-family:Inter,Sarabun,sans-serif;font-size:.9rem;font-weight:500;color:var(--text);outline:none;width:100%;transition:border-color .2s}.form-field input:focus{border-bottom-color:var(--primary)}.form-field input::-moz-placeholder{color:var(--text-4)}.form-field input::placeholder{color:var(--text-4)}.table-wrapper{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table th{padding:.8rem 1rem;text-align:left;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);background:var(--gray-50);border-bottom:1px solid var(--border);white-space:nowrap;line-height:1.4}.data-table th span{display:block;font-size:.68rem;font-weight:600;color:var(--text-4);margin-top:2px}.data-table tbody tr{border-bottom:1px solid var(--gray-100);transition:background .12s,box-shadow .12s}.data-table tbody tr:nth-child(2n){background:var(--gray-50)}.data-table tbody tr:last-child{border-bottom:none}.data-table tbody tr:hover{background:var(--primary-light)}.data-table td{padding:.5rem 1rem;vertical-align:middle}input[type=text].detail-input{background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:.4rem .6rem;font-family:IBM Plex Mono,monospace;font-size:.83rem;color:var(--text);width:100%;min-width:90px;outline:none;transition:all .18s}input[type=text].detail-input:hover{border-color:var(--border);background:#fff}input[type=text].detail-input:focus{border-color:var(--primary);background:var(--primary-light)}.btn-delete{width:28px;height:28px;border-radius:var(--radius-sm);background:transparent;border:1px solid var(--border);color:var(--text-4);display:flex;align-items:center;justify-content:center;font-size:.72rem;transition:background-color .15s var(--ease),color .15s var(--ease),border-color .15s var(--ease),transform .1s var(--ease);margin:auto;padding:0;cursor:pointer}.btn-delete:hover{background:var(--rose-light);border-color:var(--rose-mid);color:var(--rose)}.btn-delete:active{transform:scale(.9)}.btn-add-row{width:calc(100% - 3rem);padding:.8rem;background:transparent;border:1.5px dashed var(--border-hi);border-radius:var(--radius-md);color:var(--text-4);font-size:.83rem;display:flex;align-items:center;justify-content:center;gap:.45rem;margin:1rem 1.5rem;transition:background-color .15s var(--ease),color .15s var(--ease),border-color .15s var(--ease),transform .1s var(--ease);cursor:pointer}.btn-add-row:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.btn-add-row:active{transform:scale(.98)}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border);background:var(--gray-50)}.btn-cancel{display:inline-flex;align-items:center;gap:.45rem;padding:.65rem 1.25rem;background:#fff;border:1px solid var(--border-hi);border-radius:var(--radius-md);color:var(--text-3);font-size:.85rem;font-weight:500;transition:background-color .15s var(--ease),color .15s var(--ease),border-color .15s var(--ease),transform .12s var(--ease);cursor:pointer}.btn-cancel:hover{border-color:var(--gray-400);color:var(--text-2);background:var(--gray-50)}.btn-cancel:active{transform:scale(.97)}.btn-submit{display:inline-flex;align-items:center;gap:.45rem;padding:.65rem 1.5rem;background:var(--primary);border-radius:var(--radius-md);color:#fff;font-size:.85rem;font-weight:600;box-shadow:var(--shadow-primary);transition:background-color .15s var(--ease),box-shadow .18s var(--ease),transform .12s var(--ease);cursor:pointer}@media(hover:hover)and (pointer:fine){.btn-submit:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-primary)}}.btn-submit:active{transform:scale(.97)}.btn-submit:disabled{opacity:.42;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.85rem;font-weight:600;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:background-color .15s var(--ease),color .15s var(--ease),border-color .15s var(--ease),box-shadow .18s var(--ease),transform .12s var(--ease);text-decoration:none;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none;color:inherit}.btn:active{transform:scale(.97)}.btn-sm{padding:.45rem .85rem;font-size:.75rem}.btn-primary{background:var(--primary);color:#fff;box-shadow:var(--shadow-primary)}@media(hover:hover)and (pointer:fine){.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-primary)}}.btn-primary:active{transform:scale(.97)}.btn-secondary{background:var(--gray-100);color:var(--text-2);border-color:var(--border)}.btn-secondary:hover{background:var(--gray-200);border-color:var(--gray-300)}.btn-secondary:active{transform:scale(.97)}.btn-success{background:var(--teal);color:#fff;box-shadow:var(--shadow-teal)}@media(hover:hover)and (pointer:fine){.btn-success:hover{background:var(--teal-hover);transform:translateY(-1px);box-shadow:var(--shadow-teal)}}.btn-success:active{transform:scale(.97)}.btn-outline{background:var(--card-bg);border:1px solid var(--border-hi);color:var(--text-2)}.btn-outline:hover{border-color:var(--primary-mid);color:var(--primary);background:var(--primary-light)}.btn-outline:active{transform:scale(.97)}.btn-group{display:flex;align-items:center;gap:.6rem}.btn-overwrite{display:inline-flex;align-items:center;gap:.45rem;padding:.65rem 1.4rem;background:var(--rose);border-radius:var(--radius-md);color:#fff;font-size:.85rem;font-weight:600;box-shadow:0 2px 10px #e11d4833;transition:background-color .15s var(--ease),box-shadow .15s var(--ease),transform .12s var(--ease);cursor:pointer}@media(hover:hover)and (pointer:fine){.btn-overwrite:hover{background:var(--rose-hover);transform:translateY(-1px)}}.btn-overwrite:active{transform:scale(.97)}.btn-danger{display:inline-flex;align-items:center;gap:.45rem;padding:.65rem 1.25rem;background:var(--rose-light);border:1px solid var(--rose-mid);border-radius:var(--radius-md);color:var(--rose);font-size:.85rem;font-weight:500;transition:background-color .15s var(--ease),color .15s var(--ease),border-color .15s var(--ease),transform .12s var(--ease);cursor:pointer;font-family:Inter,Sarabun,sans-serif}@media(hover:hover)and (pointer:fine){.btn-danger:hover{background:var(--rose);color:#fff;border-color:var(--rose);transform:translateY(-1px)}}.btn-danger:active{transform:scale(.97)}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;flex-shrink:0;border:1px solid var(--border-hi);border-radius:var(--radius-md);background:#fff;color:var(--text-3);font-size:.8rem;cursor:pointer;transition:background-color .15s var(--ease),color .15s var(--ease),border-color .15s var(--ease),transform .12s var(--ease);font-family:Inter,Sarabun,sans-serif}.btn-icon:hover{border-color:var(--primary-mid);color:var(--primary);background:var(--primary-light)}.btn-icon:active{transform:scale(.93)}.form-actions-sep{width:1px;height:22px;background:var(--border-hi);flex-shrink:0;margin:0 .25rem;align-self:center}.toast-container{position:fixed;top:1.5rem;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:.75rem;z-index:var(--z-toast);pointer-events:none}.toast{display:flex;align-items:center;gap:.75rem;padding:.85rem 1.4rem;border-radius:var(--radius-lg);font-size:.875rem;font-weight:600;min-width:300px;max-width:90vw;box-shadow:0 12px 28px #0f172a1f,0 4px 10px #0f172a0f;pointer-events:all;background:#ffffffeb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(226,232,240,.8);color:var(--text);animation:slideInDown .25s var(--ease) both}.toast.success{border-color:var(--emerald-mid);background:#e0f8f5eb}.toast.success i{color:var(--emerald)}.toast.error{border-color:var(--rose-mid);background:#fff1f0eb;background:oklch(.97 .02 24.11 / .92)}.toast.error i{color:var(--rose)}.toast.info{border-color:var(--primary-mid);background:#f0f6fdeb}.toast.info i{color:var(--primary)}.toast.warning{border-color:var(--amber-mid);background:#fff3e3eb}.toast.warning i{color:var(--amber)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#08061499;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center}.modal-icon{width:52px;height:52px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin:0 auto 1.25rem}.modal-icon.error{background:var(--rose-light);border:1px solid var(--rose-mid);color:var(--rose)}.modal-icon.warning{background:var(--amber-light);border:1px solid var(--amber-mid);color:var(--amber)}.modal-icon.success{background:var(--emerald-light);border:1px solid var(--emerald-mid);color:var(--emerald)}.modal-icon.info{background:var(--primary-light);border:1px solid var(--primary-mid);color:var(--primary)}.modal-title{font-size:1.1rem;font-weight:700;margin-bottom:.5rem;color:var(--text);text-align:center;letter-spacing:-.01em}.modal-msg{font-size:.875rem;color:var(--text-3);line-height:1.65;text-align:center;margin-bottom:1.5rem;white-space:pre-line}.modal-box{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-xl);padding:2.5rem 2.25rem 2rem;max-width:420px;width:90%;box-sizing:border-box;box-shadow:var(--shadow-xl);position:relative;overflow:hidden;text-align:center}.modal-doc{display:inline-block;font-family:IBM Plex Mono,monospace;font-size:.8rem;background:var(--gray-100);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.35rem .65rem;color:var(--text-2);margin:.75rem 0}.modal-actions{display:flex;gap:.75rem;justify-content:center;margin-top:1.75rem}.accounting-preview-container{background:var(--card-bg);border-radius:var(--radius-md);border:1px solid var(--border);overflow:hidden;margin-top:1rem;box-shadow:var(--shadow-xs)}.accounting-table{width:100%;border-collapse:collapse;font-size:.85rem}.accounting-table th{background:var(--gray-50);padding:.85rem 1.25rem;text-align:left;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);border-bottom:1.5px solid var(--border)}.accounting-table td{padding:.8rem 1.25rem;border-bottom:1px solid var(--gray-100);color:var(--text-2)}.accounting-table tbody tr:nth-child(2n){background:var(--gray-50)}.accounting-table tbody tr:hover{background:var(--primary-light)}.accounting-table .text-right{text-align:right;font-family:IBM Plex Mono,monospace;font-weight:500}.accounting-table .missing-cell,.missing-cell{color:var(--rose);background:var(--rose-light);font-weight:700;border:1px dashed var(--rose-mid)!important}.total-summary-card{border-top:2px solid var(--primary)}.total-summary-card .card-title{background:var(--muted);border-bottom-color:var(--border)}.total-summary-card .card-title i{background:var(--primary);color:#fff}.total-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}.total-summary-item{display:flex;flex-direction:column;gap:.35rem;padding:1rem;background:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--border);transition:background-color .15s var(--ease),border-color .15s var(--ease),transform .15s var(--ease),box-shadow .15s var(--ease)}@media(hover:hover)and (pointer:fine){.total-summary-item:hover{border-color:var(--primary-mid);background:var(--primary-light);transform:translateY(-2px);box-shadow:var(--shadow-sm)}}.total-summary-label{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.total-summary-value{font-size:1.15rem;font-weight:700;font-family:IBM Plex Mono,monospace;color:var(--primary);letter-spacing:-.02em}.status-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .7rem;border-radius:100px;font-size:.72rem;font-weight:600;line-height:1}.status-badge.info{background:var(--primary-light);color:var(--primary);border:1px solid var(--primary-mid)}.status-badge.success{background:var(--emerald-light);color:var(--emerald);border:1px solid var(--emerald-mid)}.status-badge-success{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem 1.1rem;border-radius:100px;font-size:.83rem;font-weight:600;background:var(--emerald-light);color:var(--emerald);border:1px solid var(--emerald-mid);box-shadow:0 2px 8px #197cdd1a}.text-right{text-align:right!important}.text-center{text-align:center!important}.text-left{text-align:left!important}.text-mono{font-family:IBM Plex Mono,monospace;font-size:.83rem}.jv-table thead tr{background:var(--gray-50);color:var(--text-3)}.jv-table thead th{color:var(--text-3);background:var(--gray-50);border-bottom:2px solid var(--border-hi)}.jv-meta-field{position:relative;border:1px solid var(--border);border-radius:var(--radius-xs);padding:.45rem .75rem;background:var(--card-bg)}.jv-meta-label{position:absolute;top:-8px;left:8px;background:var(--card-bg);padding:0 4px;font-size:.68rem;font-weight:700;letter-spacing:.04em;color:var(--text-4);text-transform:uppercase}.jv-meta-value{font-size:.875rem;color:var(--text-2)}.btn-cancel:disabled{background:var(--gray-100);color:var(--text-4);border-color:var(--border);cursor:not-allowed}.status-badge.gray{background:var(--gray-200);color:var(--text-3);border:1px solid var(--gray-300)}.status-badge.blue{background:var(--primary);color:#fff;border:1px solid var(--primary-dark)}.status-badge.warning{background:var(--amber-light);color:var(--amber-text);border:1px solid var(--amber-mid)}.status-badge.tag{border-radius:var(--radius-xs)}.mapping-alert{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;background:var(--amber-light);border:1px solid var(--amber-mid);border-radius:var(--radius-md);margin-bottom:1rem;font-size:.875rem;font-weight:500;color:var(--amber-text)}.mapping-alert i{color:var(--amber-text);flex-shrink:0}@media(max-width:640px){.mapping-alert{flex-wrap:wrap}.mapping-alert>span{flex:1 1 calc(100% - 2rem)!important}.mapping-alert>.btn{width:100%;margin-left:0;margin-top:.25rem}}.jv-total-row{background:var(--gray-50);border-top:2px solid var(--border-hi)}.jv-total-row td{font-weight:700;font-family:IBM Plex Mono,monospace;color:var(--text)}.ocr-loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172a99;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:var(--z-loading);animation:fadeIn .2s ease both}.ocr-loading-box{background:#fff;border-radius:var(--radius-xl);padding:2.5rem 3rem;display:flex;flex-direction:column;align-items:center;gap:1.1rem;box-shadow:var(--shadow-xl);width:calc(100% - 2rem);max-width:400px;box-sizing:border-box;text-align:center;animation:modalScaleIn .3s var(--ease) both;border:1px solid var(--border);position:relative;overflow:hidden}.ocr-loading-box:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary),var(--teal));background-size:200% 100%;animation:shimmer 1.8s ease infinite}.ocr-loading-spinner{width:44px;height:44px;border-radius:50%;border:3px solid var(--gray-100);border-top-color:var(--primary);border-right-color:var(--primary-mid);animation:spin .8s linear infinite;flex-shrink:0}.ocr-loading-title{font-weight:700;font-size:1.05rem;color:var(--gray-900);letter-spacing:-.01em;word-break:break-word}.ocr-loading-status{font-size:.8rem;color:var(--text-3);font-family:IBM Plex Mono,monospace;min-height:1.2em;word-break:break-word;overflow-wrap:break-word}.extraction-status-strip{display:flex;align-items:center;gap:.6rem;padding:.55rem 1rem;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);position:relative;overflow:hidden;animation:fadeDown .2s var(--ease-out) both}.extraction-status-strip:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--primary),var(--teal));background-size:200% 100%;animation:shimmer 1.8s ease infinite}.extraction-spinner{width:14px;height:14px;border-radius:50%;border:2px solid var(--gray-200);border-top-color:var(--primary);animation:spin .7s linear infinite;flex-shrink:0}.extraction-status-text{font-size:.8rem;color:var(--text-3);font-family:IBM Plex Mono,monospace;flex:1;min-width:0}.extraction-elapsed{font-size:.72rem;color:var(--text-4);font-family:IBM Plex Mono,monospace;flex-shrink:0}@media(max-width:640px){.step-label{display:none}.step.active .step-label{display:inline}.step-sep{max-width:10px}.step{padding:.4rem .55rem;gap:.35rem}.step-wizard{padding:.5rem .75rem;justify-content:flex-start}.step-wizard-wrap{margin-bottom:1.25rem;justify-content:flex-start}}.card-title-badges{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}@media(max-width:640px){.panel-card,.card-body{padding:1.1rem 1rem}.card-title{padding:.875rem 1rem;flex-direction:column;align-items:flex-start;gap:.5rem}.card-title-badges{margin-top:.25rem}}@media(max-width:580px){.upload-drop{min-height:110px;padding:1.5rem 1rem 1.25rem}.upload-icon{font-size:1.8rem;margin-bottom:.4rem}.how-to-list{gap:.5rem}.how-to-item span{font-size:.75rem}.step-badge{display:none}}@media(max-width:768px){.data-table th{padding:.75rem .875rem}.data-table td{padding:.65rem .875rem}input[type=text].detail-input{min-height:40px;padding:.55rem;font-size:.85rem}.btn-delete{width:44px;height:44px;font-size:.8rem}.btn-add-row{padding:.9rem}.form-field input{padding:.6rem 0;min-height:40px;font-size:.95rem}}@media(max-width:1100px){.prev-img{max-height:45vh}#pdfPreview{height:45vh;min-height:280px}}@media(max-width:640px){.prev-img{max-height:35vh}#pdfPreview{height:35vh;min-height:220px}.prev-tool-hint{display:none}.prev-tool-btn{height:1.75rem;padding:0 .4rem;font-size:.75rem}.preview-toolbar{padding:.4rem .6rem;gap:.15rem;flex-wrap:wrap}}@media(max-width:768px){.btn,.btn-cancel,.btn-submit,.btn-danger,.btn-overwrite{min-height:44px}.btn-sm{min-height:36px;padding:.55rem .9rem}.bank-option{min-height:44px}}@media(pointer:coarse){.btn-delete{width:44px;height:44px}.bank-option{min-height:44px}}@media(max-width:480px){.modal-box{padding:1.5rem 1.25rem;border-radius:var(--radius-lg);width:calc(100% - 2rem);max-width:100%}.modal-actions{flex-direction:column-reverse;gap:.6rem;margin-top:1.25rem}.modal-actions .btn{width:100%;justify-content:center;min-height:44px}.modal-title{font-size:1rem}}@media(max-width:768px){.jv-table{min-width:720px}}@media(max-width:640px){.ai-suggest-bar{flex-wrap:wrap;gap:.4rem}}@media(max-width:480px){.ocr-loading-box{padding:1.75rem 1.5rem;border-radius:var(--radius-lg);gap:.875rem}.ocr-loading-title{font-size:.95rem}}.preview-pdf-iframe{width:100%;height:500px;border:none;display:block;flex-shrink:0}@media(max-width:1100px){.preview-pdf-iframe{height:45vh;min-height:280px}}@media(max-width:640px){.preview-pdf-iframe{height:35vh;min-height:220px}}.mapping-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal-backdrop);display:flex;align-items:center;justify-content:center;visibility:visible;opacity:1;transition:opacity .2s var(--ease),visibility .2s var(--ease)}.mapping-modal-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a99;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1}.mapping-modal-content{position:relative;z-index:2;background:var(--data-card-bg, white);width:90%;max-width:860px;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);animation:modalScaleIn .35s var(--ease);border:1px solid var(--border);display:flex;flex-direction:column;max-height:90vh}.mapping-modal-header{padding:1.25rem 1.5rem;background:var(--gray-50);border-bottom:1px solid var(--border);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.mapping-modal-body{padding:1.5rem;overflow-y:auto;flex:1}.mapping-modal-footer{padding:1.25rem 1.5rem;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:1rem}[data-theme=dark] .mapping-modal-content{background:var(--gray-100)}[data-theme=dark] .mapping-modal-header{background:var(--gray-50)}.bank-detection-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem .75rem .6rem .9rem;background:var(--primary-light);border:1px solid var(--primary-mid);border-radius:var(--radius-md);font-size:.83rem}.bank-detection-banner.unknown{background:var(--gray-50);border-color:var(--border);border-left-color:var(--text-4)}.bank-detection-info{display:flex;align-items:center;gap:.5rem;color:var(--primary);min-width:0;flex-wrap:wrap}.bank-detection-banner.unknown .bank-detection-info{color:var(--text-3)}.bank-detection-icon{flex-shrink:0;display:flex;align-items:center}.bank-detection-label{font-weight:500;color:var(--text-4);white-space:nowrap}.bank-detection-value{font-weight:700;white-space:nowrap}.bank-reextract-btn{white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center;gap:.35rem;transition:transform .16s cubic-bezier(.23,1,.32,1),background .16s ease,color .16s ease,border-color .16s ease}.bank-reextract-btn:active:not(:disabled){transform:scale(.96)}.bank-reextract-chevron{transition:transform .2s cubic-bezier(.23,1,.32,1)}.bank-reextract-btn.is-open .bank-reextract-chevron{transform:rotate(180deg)}.bank-reextract-dropdown{position:absolute;top:calc(100% + 6px);right:0;z-index:var(--z-sticky);background:var(--data-card-bg, white);border:1px solid var(--border-hi);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:220px;padding:.35rem;display:flex;flex-direction:column;gap:.1rem;transform-origin:top right;opacity:0;transform:scale(.94) translateY(-6px);pointer-events:none;transition:opacity .15s cubic-bezier(.23,1,.32,1),transform .15s cubic-bezier(.23,1,.32,1)}.bank-reextract-dropdown.is-open{opacity:1;transform:scale(1) translateY(0);pointer-events:auto}.bank-reextract-hint{font-size:.71rem;font-weight:600;color:var(--text-4);letter-spacing:.07em;text-transform:uppercase;padding:.3rem .65rem .35rem}.bank-reextract-option{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .65rem;border-radius:var(--radius-sm);border:none;background:transparent;font-size:.83rem;font-weight:500;color:var(--text-2);cursor:pointer;text-align:left;transition:background .12s ease-out,color .12s ease-out,transform .12s cubic-bezier(.23,1,.32,1);opacity:0;transform:translateY(4px)}.bank-reextract-dropdown.is-open .bank-reextract-option{animation:bankOptIn .18s cubic-bezier(.23,1,.32,1) forwards;animation-delay:calc(40ms + var(--i, 0) * 28ms)}@keyframes bankOptIn{to{opacity:1;transform:translateY(0)}}@media(hover:hover)and (pointer:fine){.bank-reextract-option:hover{background:var(--primary-light);color:var(--primary)}}.bank-reextract-option:active{transform:scale(.97)}.bank-reextract-option.is-current{background:var(--primary-light);color:var(--primary);font-weight:700}.bank-reextract-option-label{display:flex;align-items:center;gap:.4rem}.bank-reextract-option-tag{font-size:.7rem;font-weight:600;color:var(--primary);background:var(--primary-mid);padding:.05rem .35rem;border-radius:100px;opacity:.85}[data-theme=dark] .bank-detection-banner{background:var(--primary-glow);border-color:var(--primary-mid)}[data-theme=dark] .bank-detection-banner.unknown{background:var(--gray-100);border-color:var(--border);border-left-color:var(--text-4)}[data-theme=dark] .bank-reextract-dropdown{background:var(--gray-100);border-color:var(--border)}.modal-icon-wrapper{width:56px;height:56px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem;border-width:1.5px;border-style:solid}.modal-input-group{margin:.25rem 0 1rem;text-align:left}.modal-input-label{display:block;font-size:.72rem;font-weight:700;color:var(--text-2);margin-bottom:.35rem;text-transform:uppercase;letter-spacing:.05em}.modal-input{width:100%;box-sizing:border-box;padding:.55rem .85rem;font-size:.9rem;border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--muted);color:var(--text);outline:none;transition:border-color .2s,box-shadow .2s}.modal-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.modal-info .modal-icon-wrapper{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.modal-info .btn-confirm{background:var(--primary);color:#fff}.modal-success .modal-icon-wrapper{background:var(--emerald-light);border-color:var(--emerald);color:var(--emerald)}.modal-success .btn-confirm{background:var(--emerald);color:#fff}.modal-warning .modal-icon-wrapper{background:var(--amber-light);border-color:var(--amber);color:var(--amber)}.modal-warning .btn-confirm{background:var(--amber);color:#fff}.modal-error .modal-icon-wrapper{background:var(--rose-light);border-color:var(--rose);color:var(--rose)}.modal-error .btn-confirm{background:var(--rose);color:#fff}.cc-step-title{display:inline-flex;align-items:center;gap:.5rem}.cc-alert-text{flex:1}.cc-loader-text{font-size:.75rem;color:var(--text-4);font-weight:400;margin-left:.5rem;display:inline-flex;align-items:center;gap:.3rem}.w-120{width:120px}.w-90{width:90px}.w-110{width:110px}.w-140{width:140px}.cc-empty-row-text{text-align:center;padding:2rem;color:var(--gray-500)}.cc-missing-cell-text{display:inline-flex;align-items:center;gap:.3rem}.cc-account-name-cell{color:var(--text-3);font-size:.85rem}.cc-mr-auto{margin-right:auto}.cc-section-title-container{display:flex;justify-content:space-between;align-items:center}.cc-flex-center-gap{display:flex;align-items:center;gap:1rem}.cc-loading-text-primary{margin-left:10px;font-size:.8rem;color:var(--primary);display:inline-flex;align-items:center;gap:.3rem}.cc-pb-0{padding-bottom:0}.cc-mapping-grid-container{display:grid;grid-template-columns:70px 140px minmax(0,1fr) minmax(0,1fr) auto;gap:.5rem;align-items:center;width:100%}.cc-mapping-grid-container .mapping-header{font-weight:600}.cc-mapping-type-credit{color:var(--primary);background:var(--primary-light);padding:.2rem .5rem;border-radius:var(--radius-xs);text-align:center;font-weight:700}.cc-mapping-type-debit{color:var(--amber);background:var(--ap-include-bg, var(--caution-amber-light, var(--amber-light)));padding:.2rem .5rem;border-radius:var(--radius-xs);text-align:center;font-weight:700}.cc-mapping-label-clickable{cursor:pointer;color:var(--primary);text-decoration:underline}.cc-grid-span-3{grid-column:span 3}.cc-mapping-status{font-size:.85rem;padding:.6rem 1rem;border-radius:var(--radius-md);border:1px solid;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.cc-mapping-status.missing{color:var(--rose);background:var(--btn-err-bg, var(--rose-light));border-color:var(--rose-mid)}.cc-mapping-status.ready{color:var(--teal);background:var(--teal-light);border-color:var(--teal)}.cc-flex-shrink-0{flex-shrink:0}.cc-bullet-divider-missing{color:var(--rose-mid)}.cc-required-badge{margin-left:auto;font-size:.72rem;background:var(--rose);color:#fff;padding:2px 10px;border-radius:var(--radius-pill);font-weight:600;white-space:nowrap;flex-shrink:0}.cc-ready-subtext{font-size:.78rem;opacity:.75}.cc-label-flex-container{display:flex;align-items:center;gap:.5rem}.cc-history-badge{font-size:.75rem;color:var(--emerald);background:var(--emerald-light);padding:3px 8px;border-radius:var(--radius-xs);border:1px solid var(--emerald-mid);font-weight:600;display:flex;align-items:center;gap:.4rem}.cc-suggestion-buttons{display:flex;gap:.3rem}.cc-btn-accept{padding:4px 10px;background:var(--emerald-light);color:var(--emerald);border:1px solid var(--emerald-mid);border-radius:var(--radius-sm);cursor:pointer;font-size:.78rem;display:flex;align-items:center;gap:.3rem;font-weight:600}.cc-btn-reject{padding:4px 10px;background:var(--btn-err-bg, var(--rose-light));color:var(--btn-err-text, var(--rose));border:1px solid var(--btn-err-border, var(--rose-mid));border-radius:var(--radius-sm);cursor:pointer;font-size:.78rem;display:flex;align-items:center;gap:.3rem;font-weight:600;transition:background .15s var(--ease),color .15s var(--ease),border-color .15s var(--ease)}.cc-btn-reject:hover{background:var(--rose);color:#fff;border-color:var(--rose)}.cc-btn-accept:hover{background:var(--emerald);color:#fff;border-color:var(--emerald)}.cc-badge-primary{background:var(--primary-light);color:var(--primary);border:1px solid var(--primary-mid);border-radius:var(--radius-xs);padding:.2rem .65rem;font-size:.8rem;font-weight:600}.cc-badge-gray{background:var(--gray-100);color:var(--text-2);border:1px solid var(--border);border-radius:var(--radius-xs);padding:.2rem .65rem;font-size:.8rem;font-weight:500}.cc-table-header-row{background-color:var(--bg-table-header, var(--gray-50));color:var(--text-table-header, var(--text-3))}.cc-table-header-row th{color:inherit;background:inherit;border-bottom:2px solid var(--border-hi)}.cc-badge-teal-bold{background:var(--teal-light);color:var(--teal);border:1px solid var(--btn-ok-border, #99f6e4);border-radius:var(--radius-xs);padding:.15rem .5rem;font-size:.78rem;font-weight:700}.cc-mono-text{font-family:IBM Plex Mono,monospace;font-size:.83rem}.cc-max-w-160-wrap{max-width:160px;white-space:normal}.cc-desc-cell{max-width:180px;white-space:normal;color:var(--text-2);font-size:.83rem}.cc-badge-primary-nowrap{background:var(--primary-light);color:var(--primary);border:1px solid var(--primary-mid);border-radius:var(--radius-xs);padding:.15rem .5rem;font-size:.78rem;font-weight:600;white-space:nowrap}.cc-mono-only{font-family:IBM Plex Mono,monospace}.cc-mono-semi-bold{font-family:IBM Plex Mono,monospace;font-weight:600}.cc-mono-bold-teal{font-family:IBM Plex Mono,monospace;font-weight:700;color:var(--teal)}.cc-font-bold{font-weight:700}.cc-mono-bold{font-family:IBM Plex Mono,monospace;font-weight:700}.cc-modal-overlay-container{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--modal-overlay-bg, rgba(0, 0, 0, .45));display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop)}.cc-modal-icon-teal{margin-bottom:.75rem;color:var(--teal);display:flex;justify-content:center}.cc-modal-icon-rose{margin-bottom:.75rem;color:var(--rose);display:flex;justify-content:center}.cc-modal-title{font-size:1.1rem;font-weight:700;margin-bottom:.65rem}.cc-modal-body-text{color:var(--text-2);font-size:.92rem;margin-bottom:1rem;line-height:1.7}.cc-modal-info-box-teal{background:var(--teal-light);border:1px solid var(--btn-ok-border, #99f6e4);border-radius:var(--radius-sm);padding:.55rem .85rem;margin-bottom:1.25rem;color:var(--teal);font-size:.83rem;text-align:left;display:flex;gap:.5rem;align-items:flex-start}.cc-modal-info-box-rose{background:var(--btn-err-bg, var(--rose-light));border:1px solid var(--btn-err-border, var(--rose-mid));border-radius:var(--radius-sm);padding:.55rem .85rem;margin-bottom:1.5rem;color:var(--btn-err-text, var(--rose));font-size:.83rem;text-align:left;display:flex;gap:.5rem;align-items:flex-start}.cc-info-icon-flag{margin-top:.15rem;flex-shrink:0}.cc-modal-error-box{background:var(--btn-err-bg, var(--rose-light));border:1px solid var(--btn-err-border, var(--rose-mid));border-radius:var(--radius-sm);padding:.6rem .85rem;margin-bottom:1.25rem;color:var(--btn-err-text, var(--rose));font-size:.85rem;text-align:left}.cc-error-icon-alert{margin-right:.4rem;flex-shrink:0}.cc-btn-danger-rose{background:var(--rose)!important;color:#fff!important}.date-input{position:relative}.date-input-trigger{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;background:transparent;border:none;border-bottom:1.5px solid var(--border);border-radius:0;padding:.45rem 0;font-family:Inter,Sarabun,sans-serif;font-size:.9rem;font-weight:500;color:var(--text);cursor:pointer;text-align:left;transition:border-color .2s var(--ease)}.date-input-trigger:hover:not(:disabled){border-bottom-color:var(--primary)}.date-input-trigger:disabled{cursor:default;opacity:.7}.date-input-trigger svg{color:var(--text-4);flex-shrink:0;transition:color .2s var(--ease)}.date-input-trigger:hover:not(:disabled) svg{color:var(--primary)}.date-input-placeholder{color:var(--text-4)}.date-input-popover{position:absolute;z-index:var(--z-sticky);top:calc(100% + 6px);left:0;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:.6rem;transform-origin:top left;animation:dateInPop .18s var(--ease) both;max-width:calc(100vw - 24px);--rdp-accent-color: var(--primary);--rdp-accent-background-color: var(--primary-light);--rdp-day-width: 2.3rem;--rdp-day-height: 2.3rem;--rdp-day_button-width: 2.1rem;--rdp-day_button-height: 2.1rem;--rdp-day_button-border-radius: var(--radius-md);--rdp-selected-border: none;--rdp-today-color: var(--primary);--rdp-outside-opacity: .35;--rdp-font-family: "Inter", "Sarabun", sans-serif;--rdp-weekday-opacity: 1;font-family:Inter,Sarabun,sans-serif;font-size:.85rem;color:var(--text-2)}.date-input-popover.align-right{left:auto;right:0;transform-origin:top right}@keyframes dateInPop{0%{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.date-input-popover{animation:dateInFade .12s ease both}@keyframes dateInFade{0%{opacity:0}to{opacity:1}}}.date-input-popover .rdp-root{margin:0}.date-input-popover .rdp-month_caption{font-weight:700;color:var(--text-2);font-size:.92rem;padding-bottom:.4rem}.date-input-popover .rdp-weekday{color:var(--text-4);font-weight:600;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em}.date-input-popover .rdp-day_button{border:none;border-radius:var(--radius-md);font-weight:500;color:var(--text-2);transition:background-color .15s var(--ease),color .15s var(--ease),transform .12s var(--ease)}.date-input-popover .rdp-day_button:hover:not([disabled]){background:var(--primary-light);color:var(--primary)}.date-input-popover .rdp-selected .rdp-day_button{background:var(--primary);color:#fff;font-weight:700;box-shadow:var(--shadow-primary)}.date-input-popover .rdp-selected .rdp-day_button:hover{background:var(--primary-hover);color:#fff}.date-input-popover .rdp-today:not(.rdp-selected) .rdp-day_button{color:var(--primary);font-weight:700}.date-input-popover .rdp-button_previous,.date-input-popover .rdp-button_next{border-radius:var(--radius-sm);transition:background-color .15s var(--ease)}.date-input-popover .rdp-button_previous:hover:not([disabled]),.date-input-popover .rdp-button_next:hover:not([disabled]){background:var(--primary-light)}.date-input-popover .rdp-chevron{fill:var(--text-3);transition:fill .15s var(--ease)}.date-input-popover .rdp-button_previous:hover:not([disabled]) .rdp-chevron,.date-input-popover .rdp-button_next:hover:not([disabled]) .rdp-chevron{fill:var(--primary)}.date-input-popover .rdp-dropdown_root{position:relative;display:inline-flex;align-items:center;padding:.2rem .5rem;border-radius:var(--radius-sm);font-weight:700;color:var(--text-2);transition:background-color .15s var(--ease)}.date-input-popover .rdp-dropdown_root:hover{background:var(--primary-light)}.date-input-popover .rdp-dropdown{cursor:pointer}.date-input-popover .rdp-dropdown_root .rdp-chevron{margin-left:.15rem}.gl-help-tip{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:var(--gray-200);color:var(--text-3);font-size:.62rem;font-weight:700;font-style:normal;cursor:help;margin-left:.3rem;flex-shrink:0;vertical-align:middle;transition:background .15s var(--ease),color .15s var(--ease)}.gl-help-tip:hover{background:var(--primary-light);color:var(--primary)}.ui-quota{display:flex;align-items:stretch;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;transition:border-color .18s var(--ease),box-shadow .18s var(--ease)}.ui-quota:hover{border-color:var(--border-hi);box-shadow:var(--shadow-sm)}.ui-quota:after{content:"";position:absolute;bottom:0;left:0;height:2px;width:100%;background:var(--quota-color, var(--teal));transform:scaleX(var(--used-pct-factor, 0));transform-origin:left;transition:transform .9s cubic-bezier(.16,1,.3,1);border-radius:0 99px 99px 0}.ui-quota-col{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.3rem .75rem;gap:.14rem;flex-shrink:0}.ui-quota-col+.ui-quota-col{border-left:1px solid var(--border)}.ui-quota-col.col-remain{background:var(--muted)}.ui-quota-col.col-remain .ui-quota-value{color:var(--primary)}.ui-quota.is-low .col-remain .ui-quota-value{color:var(--rose)}.ui-quota-label{font-size:.56rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-4);line-height:1;white-space:nowrap}.ui-quota-value{font-family:IBM Plex Mono,monospace;font-size:.8rem;font-weight:700;line-height:1;white-space:nowrap}.ui-quota--skeleton{opacity:.45;pointer-events:none}.ui-quota-placeholder{color:var(--text-4)!important}.ui-quota.is-low{border-color:var(--rose-mid)}.ui-quota.is-low .col-remain{background:var(--rose-light)}[data-theme=dark] .ui-quota{background:var(--card-bg);border-color:var(--border)}[data-theme=dark] .ui-quota.is-low{border-color:var(--rose-mid)}[data-theme=dark] .ui-quota.is-low .col-remain{background:var(--rose-light)}@media(max-width:768px){.ui-quota-col.col-used{display:none}}@media(max-width:480px){.ui-quota-col.col-total{display:none}.ui-quota-col{padding:.25rem .6rem}.ui-quota-value{font-size:.75rem}}.usage-bar-bg{width:60px;height:3px;background:var(--border);border-radius:99px;overflow:hidden}.usage-bar-fill{height:100%;border-radius:99px}[data-sonner-toaster]{--normal-bg: var(--card-bg);--normal-border: var(--border);--normal-text: var(--text);--success-bg: oklch(.97 .04 188.43);--success-border: var(--emerald);--success-text: var(--success-foreground);--error-bg: oklch(.97 .04 24.11);--error-border: var(--rose);--error-text: var(--destructive);--warning-bg: oklch(.97 .04 75);--warning-border: var(--amber);--warning-text: var(--warning-foreground);--info-bg: oklch(.97 .025 253.27);--info-border: var(--teal);--info-text: var(--info-foreground);font-family:Inter,Sarabun,sans-serif}[data-sonner-toast]{border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-lg)!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition-timing-function:var(--ease-out)!important}[data-sonner-toast] [data-button]{transition:transform var(--dur-fast) var(--ease-out)}[data-sonner-toast] [data-button]:active{transform:scale(.97)}[data-theme=dark] [data-sonner-toaster]{--success-bg: oklch(.26 .04 188.43);--error-bg: oklch(.28 .06 24.11);--warning-bg: oklch(.28 .05 75);--info-bg: oklch(.26 .035 253.27)}.page-skeleton{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--body-bg-fallback);background-color:var(--body-bg-oklch);background-image:radial-gradient(ellipse 70% 30% at 50% 0%,oklch(.4714 .1794 258.7 / .08) 0%,transparent 100%);z-index:100;animation:sk-fade-in .2s var(--ease) both}@keyframes sk-fade-in{0%{opacity:0}to{opacity:1}}.page-skeleton-bar{position:fixed;top:0;left:0;height:3px;width:0%;background:linear-gradient(90deg,var(--primary),var(--teal));border-radius:0 99px 99px 0;box-shadow:0 0 10px var(--primary-glow);animation:sk-bar-grow 1.8s cubic-bezier(.1,.6,.3,1) forwards}@keyframes sk-bar-grow{0%{width:0%}60%{width:72%}90%{width:88%}to{width:88%}}.page-skeleton-body{width:min(480px,90vw);display:flex;flex-direction:column;gap:16px;animation:sk-body-in .35s .1s var(--ease) both}@keyframes sk-body-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.page-skeleton-header{display:flex;align-items:center;justify-content:space-between}.page-skeleton-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:24px;display:flex;flex-direction:column;gap:16px}.page-skeleton-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px}@keyframes sk-shimmer{0%{background-position:-300% center}to{background-position:300% center}}.sk-block{border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--gray-100) 25%,var(--gray-200) 50%,var(--gray-100) 75%);background-size:300% 100%;animation:sk-shimmer 1.6s ease infinite}.sk-title{height:22px;width:180px;border-radius:var(--radius-md)}.sk-badge{height:22px;width:80px;border-radius:99px}.sk-upload-zone{height:120px;border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:1.5px dashed var(--border-hi);background:linear-gradient(90deg,var(--gray-50) 25%,var(--gray-100) 50%,var(--gray-50) 75%);background-size:300% 100%;animation:sk-shimmer 1.8s ease infinite}.sk-icon{width:32px;height:32px;border-radius:8px}.sk-line{height:12px;border-radius:99px}.sk-line-sm{width:55%}.sk-line-md{width:75%}.sk-line-lg{width:85%}.sk-line-full{width:100%}.sk-divider{height:1px;background:var(--border);margin:2px 0}.sk-pills{display:flex;gap:8px}.sk-pill{height:26px;width:80px;border-radius:99px}.sk-btn{height:34px;width:90px;border-radius:var(--radius-md)}.sk-btn-primary{width:110px}[data-theme=dark] .sk-block,[data-theme=dark] .sk-upload-zone{background:linear-gradient(90deg,var(--gray-100) 25%,var(--gray-200) 50%,var(--gray-100) 75%);background-size:300% 100%;animation:sk-shimmer 1.6s ease infinite}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-screen{height:100vh}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.resize{resize:both}.items-center{align-items:center}.justify-center{justify-content:center}.border{border-width:1px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.uppercase{text-transform:uppercase}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ap-split-layout{display:grid;grid-template-columns:340px 1fr;gap:1.5rem;align-items:start;transition:grid-template-columns .3s var(--ease)}.ap-split-layout.full-width{grid-template-columns:1fr}.ap-preview-side{position:sticky;top:var(--header-bottom, 6rem);display:flex;flex-direction:column;gap:.75rem}.ap-preview-side .preview-column{position:static}.ap-work-area{display:flex;flex-direction:column;gap:1.25rem;min-width:0}.preview-toggle-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem 1rem;border-radius:var(--radius-md);font-size:.8rem;font-weight:700;cursor:pointer;transition:all .2s;border:1px solid var(--border-hi);background:#fff;color:var(--text-3);box-shadow:var(--shadow-xs)}.preview-toggle-btn:hover{background:var(--primary-light);color:var(--primary);border-color:var(--primary-mid);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.preview-toggle-btn.show{align-self:flex-start;margin-bottom:.5rem;background:var(--primary);color:#fff;border:none}.preview-toggle-btn.show:hover{background:var(--primary-hover)}.lang-toggle{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .9rem;background:var(--primary-light);border:1px solid var(--primary-mid);border-radius:100px;font-size:.78rem;font-weight:700;color:var(--primary);cursor:pointer;transition:all .18s;letter-spacing:.04em}.lang-toggle:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.vendor-search-wrap{background:var(--gray-50);border:1px solid var(--border);border-radius:var(--radius-md);padding:1rem;margin-bottom:1rem;position:relative;z-index:10}.vendor-search-input-wrap{display:flex;align-items:center;gap:.55rem;padding:0 .85rem;border:1.5px solid var(--border-hi);border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-xs);transition:all .18s}.vendor-search-input-wrap:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a}.vendor-search-input-wrap i{color:var(--text-4);font-size:.8rem;flex-shrink:0;pointer-events:none}.vendor-search-input{flex:1;min-width:0;padding:.6rem 0;border:none;border-radius:0;font-family:Inter,Sarabun,sans-serif;font-size:.87rem;font-weight:500;color:var(--text);background:transparent;outline:none}.vendor-search-input.matched{color:#065f46;font-weight:600}.vendor-search-input-wrap:has(.vendor-search-input.matched){border-color:var(--emerald);box-shadow:0 0 0 3px #0596691a}.vendor-dropdown{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:1000;background:#fff;border:1px solid var(--border-hi);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-height:360px;overflow-y:auto}.vendor-dropdown-item{padding:.75rem 1rem;cursor:pointer;border-bottom:1px solid var(--gray-100);transition:background .12s}.vendor-dropdown-item:last-child{border-bottom:none}.vendor-dropdown-item:hover{background:var(--primary-light)}.vendor-dropdown-item .vd-name{font-size:.85rem;font-weight:600;color:var(--text)}.vendor-dropdown-item .vd-meta{display:flex;gap:1.2rem;margin-top:.2rem}.vendor-dropdown-item .vd-tax,.vendor-dropdown-item .vd-branch{font-size:.72rem;color:var(--text-4);font-family:IBM Plex Mono,monospace}.data-card.card-vendor{overflow:visible}.data-card.card-vendor .card-title{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.vendor-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.2rem .55rem;border-radius:var(--radius-xs)}.vendor-badge.mapped{background:var(--emerald-light);color:var(--emerald);border:1px solid #6ee7b7}.vendor-badge.unmapped{background:var(--amber-light);color:var(--amber);border:1px solid var(--amber-mid)}.mapping-table-wrap{overflow-x:auto}.mapping-table-wrap--padded{padding:.5rem}.mapping-table-more-rows{text-align:center;color:var(--text-4);font-style:italic;font-size:.8rem;padding:.75rem}.mapping-table{width:100%;border-collapse:collapse;min-width:900px}.mapping-table th{padding:.6rem;background:var(--gray-50);border:1px solid var(--border);text-align:left;min-width:110px}.mapping-table th .col-label{font-size:.6rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--text-4);margin-bottom:.35rem;white-space:nowrap}.mapping-table th select{width:100%;padding:.4rem .5rem;border-radius:var(--radius-sm);border:1.5px solid var(--border-hi);font-family:Inter,Sarabun,sans-serif;font-size:.78rem;font-weight:600;color:var(--text-2);background:#fff;outline:none;cursor:pointer;transition:border-color .15s}.mapping-table th select:focus{border-color:var(--primary)}.mapping-table th select.ignored{background:var(--gray-100);color:var(--text-4);border-style:dashed}.mapping-table th select.mapped{border-color:var(--primary-mid);color:var(--primary);background:var(--primary-light)}.mapping-table td{padding:.65rem .75rem;border:1px solid var(--gray-100);font-size:.83rem;color:var(--text-2);vertical-align:middle}.mapping-table tbody tr:hover{background:var(--gray-50)}.mapping-table td.is-numeric{text-align:right;font-family:IBM Plex Mono,monospace}.mapping-table td.is-ignored{color:var(--text-4);font-style:italic;background:var(--gray-50)}.ap-review-table{width:100%;border-collapse:collapse;min-width:700px}.ap-review-table th{padding:.7rem .85rem;background:var(--gray-50);border-bottom:1.5px solid var(--border);text-align:left;font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-3);white-space:nowrap}.ap-review-table td{padding:.3rem .5rem;border-bottom:1px solid var(--gray-100);vertical-align:middle}.ap-review-table tbody tr:hover{background:var(--gray-50)}.ap-group-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:1rem;background:#08061499;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.ap-group-modal{display:flex;flex-direction:column;width:min(520px,100%);max-height:80vh;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);overflow:hidden}.ap-group-modal-header{display:flex;align-items:center;gap:.5rem;padding:.85rem 1rem;font-weight:600;color:var(--text);border-bottom:1px solid var(--border)}.ap-group-modal-body{padding:1rem;overflow-y:auto}.ap-group-modal-label{display:block;font-size:.8rem;font-weight:600;color:var(--text);margin-bottom:.35rem}.ap-group-modal-input{width:100%;padding:.5rem .65rem;background:var(--card-bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);font-size:.9rem;transition:border-color .15s var(--ease)}.ap-group-modal-input--error{border-color:var(--danger, #e53e3e)!important}.ap-group-modal-input:focus{outline:none;border-color:var(--primary)}.ap-group-modal-hint{margin:.75rem 0 .4rem;font-size:.78rem;color:var(--text-3)}.ap-group-modal-list{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.ap-group-modal-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:.6rem;padding:.45rem .65rem;border-bottom:1px solid var(--border);cursor:pointer;font-size:.85rem;color:var(--text);transition:background-color .12s var(--ease)}.ap-group-modal-row:last-child{border-bottom:none}@media(hover:hover)and (pointer:fine){.ap-group-modal-row:hover{background:var(--gray-50)}}.ap-group-modal-row-desc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-group-modal-row-profile{font-size:.72rem;color:var(--text-3);font-family:IBM Plex Mono,monospace}.ap-group-modal-row-amt{font-family:IBM Plex Mono,monospace;text-align:right}.ap-group-modal-warn{margin-top:.6rem;font-size:.78rem;color:var(--rose)}.ap-group-modal-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem;border-top:1px solid var(--border)}.ap-review-table tfoot td{padding:.75rem .85rem;background:var(--gray-50);border-top:2px solid var(--border);font-weight:700;font-family:IBM Plex Mono,monospace;font-size:.83rem}.ap-edit-input{width:100%;padding:.4rem .6rem;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);font-family:inherit;font-size:.83rem;color:var(--text);outline:none;transition:all .15s}.ap-edit-input:hover{border-color:var(--border);background:#fff}.ap-edit-input:focus{border-color:var(--primary);background:var(--primary-light)}.ap-edit-input.numeric{text-align:right;font-family:IBM Plex Mono,monospace}.ap-edit-input.category{color:#4f46e5;font-weight:600}.ap-tax-na{display:inline-block;color:var(--muted-foreground);cursor:default}.ap-tax-unmatched{border-color:#f59e0b!important;color:#b45309}.ap-valid-warn{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;background:var(--amber-light);border:1px solid var(--amber-mid);border-radius:var(--radius-md);color:var(--amber);font-size:.85rem;font-weight:600}.ap-valid--checklist{align-items:flex-start}.ap-valid-check-list{list-style:none;margin:.35rem 0 0;padding:0;display:flex;flex-direction:column;gap:.3rem}.ap-valid-check-list li{display:flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:400}.ap-check-ok{opacity:.65}.ap-check-fail{font-weight:600}.ap-cell-missing{background:var(--rose-light)}.ap-required-badge{margin-left:.35rem;padding:.05rem .35rem;background:var(--amber-mid);color:var(--amber-text);border-radius:999px;font-size:.65rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;vertical-align:middle}.ap-summary-row{display:flex;justify-content:space-between;align-items:center;padding:.6rem 0;border-bottom:1px solid var(--gray-100)}.ap-summary-row:last-child{border-bottom:none}.ap-summary-label{font-size:.87rem;color:var(--text-2);font-weight:500}.ap-summary-values{display:flex;align-items:center;gap:.75rem}.ap-sum-from-table{font-size:.85rem;font-family:IBM Plex Mono,monospace;font-weight:600;color:var(--text-2);min-width:90px;text-align:right}.ap-sum-from-table.diff{color:var(--rose);font-weight:700}.ap-sum-from-doc{font-family:IBM Plex Mono,monospace;font-size:.85rem;font-weight:700;text-align:right;padding:.35rem .6rem;border:1.5px solid var(--border-hi);border-radius:var(--radius-sm);background:var(--gray-50);width:110px;outline:none;transition:all .15s;color:var(--text)}.ap-sum-from-doc:focus{border-color:var(--primary);background:var(--primary-light)}.ap-sum-from-doc.diff{border-color:var(--rose-mid);background:var(--rose-light);color:var(--rose)}.ap-adjust-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.3rem .6rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:var(--gray-800);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s}.ap-adjust-btn:hover{background:var(--gray-700)}.ap-doc-inconsistent{font-size:.68rem;font-weight:600;color:#b45309;max-width:16rem;text-align:right;line-height:1.2}.ap-grand-total-row{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1rem;background:var(--gray-50);border:1px solid var(--border);border-radius:var(--radius-md);margin-top:.5rem}.ap-valid-ok{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;background:var(--emerald-light);border:1px solid #6ee7b7;border-radius:var(--radius-md);color:#065f46;font-size:.85rem;font-weight:600}.ap-valid-err{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;background:var(--rose-light);border:1px solid var(--rose-mid);border-radius:var(--radius-md);color:var(--rose);font-size:.85rem;font-weight:600}.ap-account-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);overflow:hidden}.ap-account-card-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border);background:var(--gray-50)}.ap-account-icon{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:.8rem;flex-shrink:0}.ap-account-icon.blue{background:var(--primary-light);color:var(--primary)}.ap-account-icon.green{background:var(--emerald-light);color:var(--emerald)}.ap-account-icon.violet{background:var(--primary-light);color:var(--primary)}.ap-account-body{padding:1rem 1.25rem}.ap-static-field{padding:.5rem .75rem;background:var(--gray-50);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.83rem;font-weight:600;color:var(--text-2);font-family:IBM Plex Mono,monospace}.ap-acct-table{width:100%;border-collapse:collapse}.data-card.card-acct{overflow:visible}.data-card.card-acct .card-title{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.data-card.card-acct .table-wrapper{overflow:visible}.ap-acct-table th{padding:.7rem 1rem;background:var(--gray-50);border-bottom:1.5px solid var(--border);text-align:left;font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-3)}.ap-acct-table td{padding:.6rem 1rem;border-bottom:1px solid var(--gray-100);vertical-align:middle}.ap-acct-table tbody tr:hover{background:var(--gray-50)}.ap-acct-table .cat-badge{display:inline-flex;padding:.2rem .6rem;background:var(--primary-light);color:var(--primary);border-radius:var(--radius-sm);font-size:.75rem;font-weight:700}.ap-search-input-wrap{position:relative}.ap-search-input-wrap i{position:absolute;left:.6rem;top:50%;transform:translateY(-50%);color:var(--text-4);font-size:.75rem;pointer-events:none}.ap-search-input-wrap input{width:100%;padding:.5rem .75rem .5rem 1.9rem;border:1.5px solid var(--border-hi);border-radius:var(--radius-sm);font-family:Inter,Sarabun,sans-serif;font-size:.83rem;font-weight:600;color:var(--text);background:#fff;outline:none;transition:all .15s;box-shadow:var(--shadow-xs)}.ap-search-input-wrap input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a}.ap-success-wrap{max-width:640px;margin:0 auto;background:#fff;border:1px solid #6ee7b7;border-radius:var(--radius-xl);padding:3rem;text-align:center;position:relative;overflow:hidden;box-shadow:var(--shadow-md)}.ap-success-wrap:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--emerald) 0%,#34d399 100%)}.ap-success-icon{width:88px;height:88px;background:var(--emerald-light);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;font-size:2.2rem;color:var(--emerald);box-shadow:0 0 0 12px #05966914}.ap-success-doc-no{display:inline-block;font-family:IBM Plex Mono,monospace;background:var(--emerald-light);color:var(--emerald);padding:.25rem .75rem;border-radius:var(--radius-sm);font-weight:700;font-size:1rem}.ap-success-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;background:var(--gray-50);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.25rem;text-align:left;margin:1.5rem 0}.ap-success-field-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin-bottom:.25rem}.ap-success-field-val{font-size:.88rem;font-weight:600;color:var(--text)}.ap-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5rem 2rem;gap:1rem;text-align:center}.ap-spinner{width:44px;height:44px;border:3px solid var(--primary-light);border-top-color:var(--primary);border-radius:50%;animation:spin .75s linear infinite}.ap-error-wrapper{max-width:480px;margin:0 auto;padding:2rem 0}.ap-error-box{display:flex;align-items:flex-start;gap:1rem;background:var(--rose-light);border:1px solid var(--rose-mid);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;max-width:500px;margin:0 auto}.ap-error-retry{margin-top:.75rem}.ap-error-box i{color:var(--rose);font-size:1.1rem;margin-top:.1rem;flex-shrink:0}.ap-error-title{font-size:.87rem;font-weight:700;color:var(--rose);margin-bottom:.3rem}.ap-error-msg{font-size:.82rem;color:#9f1239}.ap-step-nav{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}[data-theme=dark]{--ap-vendor-bg: var(--primary-light);--ap-vendor-border: var(--primary-mid);--ap-vendor-icon-bg: var(--primary-mid);--ap-vendor-text: var(--text);--ap-vendor-text-muted: var(--muted-foreground);--ap-vendor-pill-border: var(--primary-mid);--ap-inv-desc-bg: var(--card-bg);--ap-inv-desc-border: var(--border);--ap-inv-desc-shadow: 0 0 0 3px var(--primary-light)}@media(max-width:900px){.ap-split-layout{grid-template-columns:1fr}.ap-preview-side{position:static}}@media(max-width:768px){.mapping-table-wrap{scroll-behavior:auto}.ap-edit-input{min-height:40px;padding:.55rem .6rem}.ap-acct-table td,.ap-acct-table th,.ap-review-table th{padding:.65rem .75rem}.ap-review-table td{padding:.5rem .6rem}.vendor-dropdown{max-height:260px}.ap-step-nav{flex-wrap:wrap;gap:.75rem}.ap-step-nav .btn{flex:1;justify-content:center;min-height:44px}.ap-success-wrap{padding:2rem 1.5rem}}@media(max-width:640px){.ap-split-layout{gap:1rem}.ap-success-grid{grid-template-columns:1fr}.ap-success-wrap{padding:1.5rem 1rem;border-radius:var(--radius-lg)}.ap-success-icon{width:68px;height:68px;font-size:1.7rem;box-shadow:0 0 0 8px #05966914}.ap-step-nav{padding:.875rem 1rem;flex-direction:column;align-items:stretch}.ap-step-nav .btn{min-height:44px}.ap-account-card-header{flex-wrap:wrap;gap:.5rem;padding:.875rem 1rem}.ap-account-body{padding:.875rem 1rem}.vendor-search-wrap{padding:.75rem}.ap-summary-values{flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.ap-sum-from-doc{width:90px;font-size:.8rem}.ap-sum-from-table{min-width:70px;font-size:.8rem}.ap-grand-total-row{flex-wrap:wrap;gap:.5rem}.mapping-table th{min-width:80px}.mapping-table td{font-size:.78rem;padding:.55rem .6rem}}.ap-taxtype-select{width:100%;padding:.4rem .6rem;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);font-family:inherit;font-size:.83rem;font-weight:400;color:var(--text);cursor:pointer;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color .15s,background .15s}.ap-taxtype-select:hover{border-color:var(--border);background-color:#fff}.ap-taxtype-select:focus{border-color:var(--primary);background-color:var(--primary-light)}.ap-delete-item-btn{background:none;border:none;color:var(--gray-400, #9ca3af);cursor:pointer;padding:4px;border-radius:4px;line-height:1;display:flex;align-items:center;justify-content:center;transition:color .15s,background .15s}.ap-delete-item-btn:hover:not(:disabled){color:#ef4444;background:#fee2e2}.ap-delete-item-btn:disabled{opacity:.25;cursor:not-allowed}:root{--ttd-ease-out: cubic-bezier(.23, 1, .32, 1);--ttd-ease-in: cubic-bezier(.55, 0, 1, .45)}.ttd-root{position:relative;display:inline-flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.ttd-label{font-size:.8rem;color:var(--text-3);white-space:nowrap;flex-shrink:0}.ttd-trigger{display:inline-flex;align-items:center;gap:.35rem;padding:.22rem .55rem .22rem .6rem;border-radius:99px;font-weight:700;font-size:.8rem;cursor:pointer;border:1px solid var(--ttd-border);background:var(--ttd-bg);color:var(--ttd-color);transition:transform .1s var(--ttd-ease-out),box-shadow .12s var(--ttd-ease-out),background .12s ease,border-color .12s ease;outline:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ttd-trigger[data-value=Include]{--ttd-color: var(--amber-700, #b45309);--ttd-bg: var(--ap-include-bg, #fffbeb);--ttd-border: var(--amber-300, #fcd34d)}.ttd-trigger[data-value=Exclude]{--ttd-color: var(--blue-700, #1d4ed8);--ttd-bg: var(--ap-exclude-bg, #eff6ff);--ttd-border: var(--blue-300, #93c5fd)}.ttd-trigger[data-value=None]{--ttd-color: var(--emerald, #059669);--ttd-bg: var(--ap-none-bg, #f0fdf4);--ttd-border: var(--emerald-300, #6ee7b7)}.ttd-trigger:hover{filter:brightness(.96);box-shadow:0 1px 4px #00000014}.ttd-trigger:active{transform:scale(.97);box-shadow:none}.ttd-trigger-icon{display:flex;align-items:center;flex-shrink:0}.ttd-trigger-text{line-height:1}.ttd-chevron{margin-left:.1rem;color:currentColor;opacity:.7;transition:transform .2s var(--ttd-ease-out);flex-shrink:0;transform:rotate(0)}.ttd-chevron--open{transform:rotate(-180deg)}.ttd-panel{position:absolute;top:calc(100% + 6px);left:0;z-index:100;min-width:230px;background:var(--card-bg, #fff);border:1px solid var(--border-hi, #e5e7eb);border-radius:var(--radius-lg, 10px);box-shadow:0 8px 24px #0000001a,0 2px 6px #0000000f;padding:.3rem;transform-origin:top left;opacity:0;transform:scale(.95) translateY(-4px);pointer-events:none;transition:opacity .13s var(--ttd-ease-in),transform .13s var(--ttd-ease-in)}.ttd-panel[data-open=true]{opacity:1;transform:scale(1) translateY(0);pointer-events:auto;transition:opacity .18s var(--ttd-ease-out),transform .18s var(--ttd-ease-out)}.ttd-option{width:100%;display:flex;align-items:center;gap:.55rem;padding:.45rem .55rem;border-radius:var(--radius-md, 7px);border:none;background:transparent;cursor:pointer;text-align:left;transition:background .1s ease;opacity:0;transform:translateY(3px)}.ttd-panel[data-open=true] .ttd-option{animation:ttdOptionIn .2s var(--ttd-ease-out) both;animation-delay:var(--ttd-delay, 0ms)}@keyframes ttdOptionIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.ttd-option:hover{background:var(--surface-hover, rgba(0, 0, 0, .04))}.ttd-option:active{background:var(--surface-2, rgba(0, 0, 0, .07));transform:scale(.99)}.ttd-option[data-active=true]{background:var(--primary-light, rgba(79, 70, 229, .06))}.ttd-option-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;transition:background .15s ease,transform .15s var(--ttd-ease-out)}.ttd-option[data-active=true] .ttd-option-dot{transform:scale(1.25)}.ttd-option-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .55rem;border-radius:99px;font-size:.78rem;font-weight:700;white-space:nowrap;flex-shrink:0}.ttd-option-badge[data-value=Include]{color:var(--amber-700, #b45309);background:var(--ap-include-bg, #fffbeb);border:1px solid var(--amber-300, #fcd34d)}.ttd-option-badge[data-value=Exclude]{color:var(--blue-700, #1d4ed8);background:var(--ap-exclude-bg, #eff6ff);border:1px solid var(--blue-300, #93c5fd)}.ttd-option-badge[data-value=None]{color:var(--emerald, #059669);background:var(--ap-none-bg, #f0fdf4);border:1px solid var(--emerald-300, #6ee7b7)}.ttd-option[data-value=Include] .ttd-option-dot{border:2px solid var(--amber-700, #b45309);background:transparent}.ttd-option[data-value=Include][data-active=true] .ttd-option-dot{background:var(--amber-700, #b45309)}.ttd-option[data-value=Exclude] .ttd-option-dot{border:2px solid var(--blue-700, #1d4ed8);background:transparent}.ttd-option[data-value=Exclude][data-active=true] .ttd-option-dot{background:var(--blue-700, #1d4ed8)}.ttd-option[data-value=None] .ttd-option-dot{border:2px solid var(--emerald, #059669);background:transparent}.ttd-option[data-value=None][data-active=true] .ttd-option-dot{background:var(--emerald, #059669)}.ttd-option[data-index="0"]{--ttd-delay: 0ms}.ttd-option[data-index="1"]{--ttd-delay: 28ms}.ttd-option[data-index="2"]{--ttd-delay: 56ms}.ttd-option-sub{font-size:.73rem;color:var(--text-3, #9ca3af);font-weight:400;white-space:nowrap}[data-theme=dark] .ttd-panel{background:var(--card-bg);border-color:var(--border-hi);box-shadow:0 8px 28px #00000059,0 2px 6px #0003}[data-theme=dark] .ttd-trigger:hover{filter:brightness(1.08)}@media(prefers-reduced-motion:reduce){.ttd-panel{transition:opacity .1s ease;transform:none!important}.ttd-panel[data-open=true]{transition:opacity .1s ease}.ttd-option{animation:none!important;opacity:1;transform:none}.ttd-chevron{transition:none}}.ap-total-label{color:var(--text-3)}.ap-total-val-emerald{text-align:right;color:var(--emerald)}.ap-total-val-rose-bold{text-align:right;color:var(--rose);font-weight:800}.ap-review-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1rem}.ap-valid-icon{flex-shrink:0}.ap-valid-title{font-weight:700}.ap-valid-desc{font-size:.8rem;margin-top:.2rem;font-weight:400}.ap-nav-right{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem}.ap-vendor-warning{font-size:.75rem;color:#b45309;font-weight:600;display:flex;align-items:center;gap:.3rem}.btn-disabled,.btn:disabled{opacity:.55;cursor:not-allowed}.ap-card-header-actions{display:flex;align-items:center;gap:.5rem}.ap-success-step-wrap{padding:2rem 0}.ap-success-title{font-size:1.75rem;font-weight:800;color:var(--text);margin-bottom:.75rem}.ap-success-subtitle{color:var(--text-3);margin-bottom:1.5rem;line-height:1.6}.ap-success-val-highlight{color:var(--primary);font-weight:700}.ap-success-summary-box{grid-row:span 2;background:var(--ap-summary-bg, white);border:1px solid var(--border);border-radius:8px;padding:1rem}[data-theme=dark] .ap-success-summary-box{background:var(--card-bg)}.ap-success-summary-row{display:flex;justify-content:space-between;font-size:.83rem;margin-bottom:.4rem}.ap-success-summary-label{color:var(--text-3)}.ap-success-summary-val{font-family:IBM Plex Mono,monospace;font-weight:600;color:var(--text)}.ap-success-summary-val.color-rose{color:var(--rose)}.ap-success-summary-divider{height:1px;background:var(--border);margin:.6rem 0}.ap-success-total-row{display:flex;justify-content:space-between}.ap-success-total-label{font-weight:800}.ap-success-total-val{font-family:IBM Plex Mono,monospace;font-weight:800;color:var(--emerald);font-size:1.05rem}.ap-success-actions{display:flex;gap:.75rem;justify-content:center}.ap-vendor-info-pill{display:flex;flex-direction:column;justify-content:center;gap:.15rem;padding:.55rem 1rem;border-right:1px solid var(--ap-vendor-pill-border, #ddd6fe);flex:1}.ap-vendor-info-pill.last{border-right:none}.ap-vendor-info-pill-label{display:flex;align-items:center;gap:.3rem;font-size:.68rem;color:var(--ap-vendor-text-muted, #7c3aed);font-weight:700;text-transform:uppercase;letter-spacing:.05em}.ap-vendor-info-pill-value{font-size:.84rem;font-weight:700;color:var(--ap-vendor-text, #1e1b4b)}.ap-account-card-title{font-weight:700;font-size:.87rem;color:var(--text)}.ap-account-card .field-label{margin-bottom:.3rem}.ap-account-body-grid{display:grid;grid-template-columns:1fr;gap:.6rem}.ap-account-body-grid-pair{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.ap-static-field.highlight-primary{color:var(--primary);font-weight:700}.ap-static-field.highlight-emerald{color:var(--emerald);font-weight:700}.ap-mapping-step-container{max-width:1080px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:1.25rem;box-sizing:border-box}.ap-vendor-info-bar{display:flex;align-items:stretch;flex-wrap:wrap;gap:0;background:var(--ap-vendor-bg, #f5f3ff);border:1.5px solid var(--ap-vendor-border, #c4b5fd);border-radius:12px;padding:0;overflow:hidden;min-width:0}.ap-vendor-name-section{display:flex;align-items:center;gap:.6rem;padding:.7rem 1.1rem;border-right:1.5px solid var(--ap-vendor-border, #c4b5fd);flex-shrink:0;min-width:0}.ap-vendor-icon-container{width:34px;height:34px;border-radius:8px;background:var(--ap-vendor-icon-bg, #7c3aed);display:flex;align-items:center;justify-content:center;flex-shrink:0}.ap-vendor-display-name{font-weight:700;font-size:.92rem;color:var(--ap-vendor-text, #3b0764)}.ap-vendor-code{font-size:.75rem;color:var(--ap-vendor-text-muted, #7c3aed);margin-top:.05rem;font-weight:600}.ap-vendor-pills-container{display:flex;align-items:stretch;flex-wrap:wrap;gap:0;flex:1}.ap-invoice-desc-container{display:flex;flex-direction:column;gap:.3rem}.ap-invoice-desc-label{font-size:.72rem;font-weight:700;color:var(--ap-vendor-text-muted, #7c3aed);text-transform:uppercase;letter-spacing:.05em}.ap-invoice-desc-input{width:100%;box-sizing:border-box;padding:.55rem .85rem;font-size:.88rem;border:1.5px solid var(--ap-inv-desc-border, #c4b5fd);border-radius:8px;background:var(--ap-inv-desc-bg, #faf5ff);color:var(--ap-vendor-text, #1e1b4b);outline:none;transition:border-color .2s,box-shadow .2s}.ap-invoice-desc-input:focus{border-color:var(--ap-vendor-icon-bg, #7c3aed);box-shadow:var(--ap-inv-desc-shadow, 0 0 0 3px #ede9fe)}.ap-fixed-gl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1.25rem}.ap-card-title-right{display:flex;align-items:center;gap:.6rem}.ap-card-title-sub{font-size:.8rem;color:var(--text-3)}.ap-acct-table th.col-description{width:40%}.ap-acct-table th.col-dept,.ap-acct-table th.col-acc{width:26%}.ap-acct-table th.col-actions{width:8%}.ap-acct-table tbody tr.row-suggest{background:var(--ap-suggest-bg, #f5f3ff)}.ap-acct-table tbody tr.row-error{background:var(--ap-error-bg, #fff1f2)}.ap-acct-table td.ap-line-desc{font-size:.83rem;color:var(--text-2);padding-left:1rem}.ap-summary-badges{display:flex;gap:.4rem}.ap-sum-discount-no-diff{color:var(--rose)!important}.ap-grand-total-label{font-weight:800;font-size:1rem}.ap-field-error-ring{border-radius:7px;outline:2px solid var(--ap-error-border, #fca5a5)}.ap-suggest-btn{padding:3px 8px;border-radius:6px;cursor:pointer;font-size:.75rem;display:flex;align-items:center;border-width:1px;border-style:solid}.ap-suggest-btn--ok{background:var(--btn-ok-bg, #f0fdf4);color:var(--btn-ok-text, #15803d);border-color:var(--btn-ok-border, #86efac)}.ap-suggest-btn--err{background:var(--btn-err-bg, #fff1f2);color:var(--btn-err-text, #dc2626);border-color:var(--btn-err-border, #fca5a5)}.ap-suggest-actions{display:flex;gap:.25rem;justify-content:center}.ap-step-nav-end{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem}.ap-mapping-warning{font-size:.75rem;color:#b45309;font-weight:600;display:flex;align-items:center;gap:.3rem}.btn:disabled,.btn[disabled]{opacity:.55;cursor:not-allowed}.ap-grand-total-table-val{font-family:IBM Plex Mono,monospace;font-weight:800;font-size:1rem;color:var(--text)}.ap-grand-total-table-val.diff{color:var(--rose)}.ap-sum-from-doc.grand-total{font-size:.95rem;font-weight:800}body:has(.admin-shell),body:has(.admin-login-page){padding:0!important;background-image:none}.admin-shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh;background:radial-gradient(ellipse 60% 30% at 20% 0%,oklch(.4714 .1794 258.7 / .08) 0%,transparent 60%),radial-gradient(ellipse 50% 30% at 90% 100%,oklch(.5852 .1706 253.27 / .07) 0%,transparent 55%),#f3f5f9;color:var(--text);font-family:Inter,Sarabun,sans-serif}[data-theme=dark] .admin-shell{background:radial-gradient(ellipse 60% 30% at 20% 0%,oklch(.5852 .1706 253.27 / .13) 0%,transparent 60%),radial-gradient(ellipse 50% 30% at 90% 100%,oklch(.4714 .1794 258.7 / .12) 0%,transparent 55%),#090d15}.admin-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-right:1px solid var(--border);box-shadow:var(--shadow-sm);overflow-y:auto}.admin-logo{display:flex;align-items:center;gap:.7rem;padding:1.4rem 1.25rem 1.1rem;border-bottom:1px solid var(--border)}.admin-logo-icon{width:36px;height:36px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--primary),var(--teal));display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:var(--shadow-primary);flex-shrink:0}.admin-logo-icon svg{display:block}.admin-logo-text{font-size:1rem;font-weight:800;letter-spacing:-.01em;color:var(--text)}.admin-logo-text:after{content:"CONSOLE";display:block;font-size:.58rem;font-weight:600;letter-spacing:.18em;color:var(--text-4);margin-top:1px}.admin-nav{flex:1;padding:.85rem .6rem;display:flex;flex-direction:column;gap:2px}.admin-nav-item{display:flex;align-items:center;gap:.7rem;padding:.55rem .85rem;border-radius:var(--radius-md);color:var(--text-3);text-decoration:none;font-size:.83rem;font-weight:500;transition:background .18s var(--ease),color .18s var(--ease),transform .18s var(--ease);cursor:pointer;position:relative}.admin-nav-item:hover{background:var(--gray-50);color:var(--text)}.admin-nav-item.active{background:var(--primary-light);color:var(--primary);font-weight:600}.admin-nav-item.active:before{content:"";position:absolute;left:-.6rem;top:25%;bottom:25%;width:3px;background:var(--primary);border-radius:0 3px 3px 0}.admin-nav-icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:currentColor;opacity:.85}.admin-nav-item.active .admin-nav-icon{opacity:1}.admin-skip-link{position:absolute;top:.5rem;left:.5rem;z-index:100;padding:.55rem 1rem;background:var(--primary);color:#fff;font-size:.78rem;font-weight:700;border-radius:var(--radius-md);text-decoration:none;box-shadow:var(--shadow-md);transform:translateY(-200%);transition:transform .18s var(--ease)}.admin-skip-link:focus{transform:translateY(0)}.admin-sidebar-footer{display:flex;align-items:center;gap:.6rem;padding:.85rem 1rem;margin:.5rem;background:var(--gray-50);border:1px solid var(--border);border-radius:var(--radius-md)}.admin-user-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.admin-user-email{font-size:.74rem;font-weight:600;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user-role{font-size:.6rem;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:.1em}.admin-logout-btn{width:30px;height:30px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--card-bg);color:var(--text-3);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .18s var(--ease);flex-shrink:0}.admin-logout-btn svg{display:block}.admin-logout-btn:hover{background:var(--rose-light);border-color:var(--rose-mid);color:var(--rose)}.admin-main{min-width:0;padding:2rem 2.25rem 3rem}.admin-page{max-width:1320px;margin:0 auto;animation:fadeUp .4s var(--ease) both}.admin-page-header{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.admin-page-title{font-size:1.5rem;font-weight:800;letter-spacing:-.025em;color:var(--text);margin:0;line-height:1.15}.admin-page-title:before{content:"";display:inline-block;width:4px;height:1.2rem;background:linear-gradient(180deg,var(--primary),var(--teal));border-radius:4px;margin-right:.7rem;vertical-align:-2px}.admin-page-controls{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.admin-card,.admin-chart-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:1.25rem;overflow:hidden;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.admin-card:hover,.admin-chart-card:hover{border-color:var(--border-hi);box-shadow:var(--shadow-md)}.admin-chart-card{padding:1.1rem 1.25rem .8rem}.admin-chart-title{font-size:.78rem;font-weight:700;color:var(--text-3);letter-spacing:.06em;text-transform:uppercase;margin:0 0 .85rem;display:flex;align-items:center;gap:.5rem}.admin-chart-title:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--primary);animation:blink 3s ease-in-out infinite}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.85rem;margin-bottom:1.5rem}.kpi-card{position:relative;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.1rem 1.2rem 1rem;box-shadow:var(--shadow-sm);transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s var(--ease);overflow:hidden}.kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--primary)}.kpi-card--default:before{background:var(--primary)}.kpi-card--green:before{background:var(--emerald)}.kpi-card--red:before{background:var(--rose)}.kpi-card--yellow:before{background:var(--amber)}.kpi-card:hover{transform:translateY(-2px);border-color:var(--border-hi);box-shadow:var(--shadow-md)}.kpi-label{font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);margin-bottom:.45rem}.kpi-value{font-size:1.6rem;font-weight:800;color:var(--text);line-height:1.05;letter-spacing:-.025em;font-feature-settings:"tnum"}.kpi-trend{font-size:.95rem;margin-left:.3rem}.kpi-trend--up{color:var(--emerald)}.kpi-trend--down{color:var(--rose)}.kpi-sub{font-size:.72rem;color:var(--text-4);margin-top:.35rem}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:.82rem}.admin-th{padding:.75rem 1rem;text-align:left;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);background:var(--gray-50);border-bottom:1px solid var(--border);white-space:nowrap}.admin-th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color .15s,background .15s}.admin-th.sortable:hover{color:var(--primary);background:var(--primary-light)}.admin-th.text-right{text-align:right}.admin-tr{transition:background .12s var(--ease)}.admin-tr:hover{background:var(--primary-light)}.admin-td{padding:.65rem 1rem;border-bottom:1px solid var(--border);color:var(--text-2);white-space:nowrap;font-feature-settings:"tnum"}.admin-td.text-right{text-align:right}.admin-td-empty{padding:3rem 1rem;text-align:center;color:var(--text-4);font-style:italic;font-size:.85rem}.admin-table-loading{padding:3rem 1rem;text-align:center;color:var(--text-3);font-size:.85rem}.admin-table-loading:before{content:"";display:inline-block;width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;margin-right:.5rem;vertical-align:-3px;animation:spin .7s linear infinite}.admin-table-pagination{display:flex;align-items:center;justify-content:flex-end;gap:.7rem;padding:.7rem 1rem;border-top:1px solid var(--border);font-size:.76rem;color:var(--text-3);background:var(--gray-50)}.pagination-info{flex:1}.pagination-btn{padding:.3rem .85rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card-bg);cursor:pointer;font-size:.76rem;font-weight:600;color:var(--text-2);transition:all .15s var(--ease)}.pagination-btn:hover:not(:disabled){background:var(--primary-light);border-color:var(--primary-mid);color:var(--primary)}.pagination-btn:disabled{opacity:.45;cursor:not-allowed}.admin-select,.admin-date-input{padding:.45rem .75rem;border:1px solid var(--border-hi);border-radius:var(--radius-md);background:var(--card-bg);font-size:.8rem;font-weight:500;font-family:inherit;color:var(--text);cursor:pointer;transition:all .15s var(--ease);box-shadow:var(--shadow-xs)}.admin-select:hover,.admin-date-input:hover{border-color:var(--primary-mid)}.admin-select:focus,.admin-date-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.admin-form-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.1rem}.admin-form-label{font-size:.74rem;font-weight:700;color:var(--text-2);letter-spacing:.02em}.admin-form-input{padding:.6rem .85rem;border:1.5px solid var(--border-hi);border-radius:var(--radius-md);font-size:.88rem;font-family:inherit;color:var(--text);background:var(--card-bg);transition:all .15s var(--ease);box-shadow:var(--shadow-xs)}.admin-form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.admin-date-range{display:flex;align-items:center;gap:.45rem;padding:.2rem .5rem;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs)}.admin-date-label{font-size:.68rem;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.05em}.admin-date-sep{color:var(--text-4)}.admin-date-range .admin-date-input{border:none;box-shadow:none;background:transparent;padding:.35rem .4rem}.admin-date-range .admin-date-input:focus{box-shadow:none}.admin-checkbox-label{display:flex;align-items:center;gap:.45rem;font-size:.82rem;cursor:pointer;color:var(--text-2)}.status-badge{display:inline-block;padding:.18rem .65rem;border-radius:100px;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.status-badge.ok{background:var(--emerald-light);color:#003734;color:oklch(.3 .08 188.43);border:1px solid oklch(.85 .07 188.43)}.status-badge.error{background:var(--rose-light);color:#a2041c;border:1px solid var(--rose-mid)}.status-badge.warn{background:var(--amber-light);color:#694500;color:oklch(.42 .13 75);border:1px solid var(--amber-mid)}.text-red{color:var(--rose)}.text-yellow{color:var(--amber)}.admin-mono{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.76rem;color:var(--text-2)}.admin-sub-text{font-size:.72rem;color:var(--text-4)}.admin-btn-danger-sm,.alert-resolve-btn{padding:.3rem .85rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s var(--ease);white-space:nowrap}.admin-btn-danger-sm{border:1px solid var(--rose-mid);background:var(--card-bg);color:var(--rose)}.admin-btn-danger-sm:hover{background:var(--rose);color:#fff;border-color:var(--rose)}.alert-resolve-btn{align-self:center;border:1px solid var(--primary-mid);background:var(--card-bg);color:var(--primary)}.alert-resolve-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.alert-list{display:flex;flex-direction:column}.alert-item{display:flex;align-items:flex-start;gap:1rem;padding:1rem 1.2rem;border-bottom:1px solid var(--border);background:var(--card-bg);transition:background .15s var(--ease)}.alert-item:last-child{border-bottom:none}.alert-item:hover{background:var(--gray-50)}.alert-item--critical{background:var(--rose-light);box-shadow:inset 0 0 0 1px var(--rose-mid)}.alert-item--warn{background:var(--amber-light);box-shadow:inset 0 0 0 1px var(--amber-mid)}.alert-meta{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;min-width:0;flex:1}.alert-severity{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:.18rem .55rem;border-radius:100px}.alert-severity--critical{background:var(--rose-light);color:#a2041c}.alert-severity--warn{background:var(--amber-light);color:#694500;color:oklch(.42 .13 75)}.alert-metric{font-weight:700;font-size:.88rem;color:var(--text)}.alert-module{font-size:.7rem;font-weight:600;background:var(--gray-100);padding:.15rem .55rem;border-radius:100px;color:var(--text-2)}.alert-tenant{font-size:.7rem;color:var(--text-4);font-family:IBM Plex Mono,monospace}.alert-body{flex:2;min-width:0}.alert-description{margin:0 0 .25rem;font-size:.85rem;color:var(--text)}.alert-values{margin:0 0 .25rem;font-size:.78rem;color:var(--text-2)}.alert-time{margin:0;font-size:.7rem;color:var(--text-4)}@keyframes skeleton-shimmer{to{transform:translate(100%)}}.skeleton{position:relative;overflow:hidden;border-radius:var(--radius-sm);background:#dfe1e5}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);will-change:transform;background:linear-gradient(90deg,transparent 0%,oklch(.97 .004 258.7 / .75) 50%,transparent 100%);animation:skeleton-shimmer 1.5s ease-in-out infinite}[data-theme=dark] .skeleton{background:#1f242d}[data-theme=dark] .skeleton:after{background:linear-gradient(90deg,transparent 0%,oklch(.34 .022 258.7 / .6) 50%,transparent 100%)}.skeleton-label{height:.6rem;width:48%;border-radius:4px}.skeleton-value{height:1.7rem;width:62%;border-radius:6px;margin-top:.5rem}.skeleton-cell{height:.85rem;border-radius:4px;display:inline-block}.skeleton-chart{height:260px;border-radius:var(--radius-md)}.sk-w-50{width:50%}.sk-w-55{width:55%}.sk-w-60{width:60%}.sk-w-68{width:68%}.sk-w-72{width:72%}.sk-w-78{width:78%}.sk-w-80{width:80%}.sk-w-85{width:85%}.kpi-card-skeleton .kpi-label{visibility:hidden}.admin-tr.skeleton-row .admin-td{padding-top:.9rem;padding-bottom:.9rem}.chart-empty{height:200px;display:flex;align-items:center;justify-content:center;color:var(--text-4);font-style:italic;font-size:.85rem}.admin-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:radial-gradient(ellipse 50% 40% at 50% 20%,oklch(.4714 .1794 258.7 / .18) 0%,transparent 70%),radial-gradient(ellipse 40% 30% at 80% 90%,oklch(.5852 .1706 253.27 / .15) 0%,transparent 60%),#eff2f7;font-family:Inter,Sarabun,sans-serif}[data-theme=dark] .admin-login-page{background:radial-gradient(ellipse 50% 40% at 50% 20%,oklch(.5852 .1706 253.27 / .22) 0%,transparent 70%),radial-gradient(ellipse 40% 30% at 80% 90%,oklch(.4714 .1794 258.7 / .18) 0%,transparent 60%),#050911}.admin-login-card{width:100%;max-width:400px;background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-xl);padding:2.4rem 2.2rem;box-shadow:var(--shadow-xl);animation:modalScaleIn .4s var(--ease) both}.admin-login-header{text-align:center;margin-bottom:1.8rem}.admin-login-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--primary),var(--teal));color:#fff;box-shadow:var(--shadow-primary);margin-bottom:1rem}.admin-login-icon svg{display:block}.admin-login-title{margin:0 0 .25rem;font-size:1.4rem;font-weight:800;letter-spacing:-.02em;color:var(--text)}.admin-login-subtitle{font-size:.82rem;color:var(--text-3);margin:0}.admin-login-form .admin-form-input{padding:.7rem .9rem;font-size:.9rem}.admin-login-btn{width:100%;padding:.75rem;background:linear-gradient(135deg,var(--primary),var(--primary-hover));color:#fff;border:none;border-radius:var(--radius-md);font-size:.92rem;font-weight:700;font-family:inherit;cursor:pointer;margin-top:.4rem;letter-spacing:.02em;box-shadow:var(--shadow-primary);transition:all .18s var(--ease)}.admin-login-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 24px #0154bd59}.admin-login-btn:active:not(:disabled){transform:translateY(0)}.admin-login-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}[data-theme=dark] .admin-sidebar{background:#101620d9;border-color:var(--border)}[data-theme=dark] .admin-nav-item:hover{background:var(--gray-100)}[data-theme=dark] .admin-nav-item.active{background:var(--primary-light)}[data-theme=dark] .admin-sidebar-footer{background:var(--gray-100)}[data-theme=dark] .admin-th,[data-theme=dark] .admin-table-pagination{background:#101620}[data-theme=dark] .admin-tr:hover{background:var(--primary-light)}[data-theme=dark] .alert-item:hover,[data-theme=dark] .alert-module{background:var(--gray-100)}@media(max-width:900px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:relative;height:auto;width:100%;flex-direction:row;overflow-x:auto;border-right:none;border-bottom:1px solid var(--border)}.admin-nav{flex-direction:row;flex-wrap:nowrap;padding:.5rem}.admin-nav-item.active:before{display:none}.admin-logo{border-right:1px solid var(--border);border-bottom:none;flex-shrink:0}.admin-sidebar-footer{flex-shrink:0;margin:.4rem}.admin-main{padding:1.25rem 1rem 2rem}.admin-page-title{font-size:1.25rem}}@media(max-width:540px){.admin-main{padding:1rem .75rem 2rem}.kpi-value{font-size:1.35rem}.admin-page-header{flex-direction:column;align-items:stretch}.admin-page-controls{width:100%}}
