@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root,:host{--font-sans:"Noto Sans TC", ui-sans-serif, system-ui, sans-serif;--font-display:"Noto Serif TC", Georgia, serif}:root{--primary:oklch(31% .055 28);--primary-foreground:oklch(98% .008 80);--background:oklch(96.7% .012 82);--foreground:oklch(27% .035 40);--card:oklch(99.2% .006 82);--card-foreground:oklch(27% .035 40);--popover:oklch(99.2% .006 82);--popover-foreground:oklch(27% .035 40);--secondary:oklch(93% .022 68);--secondary-foreground:oklch(37% .04 36);--muted:oklch(94% .016 80);--muted-foreground:oklch(53% .026 45);--accent:oklch(88% .053 38);--accent-foreground:oklch(30% .06 30);--destructive:oklch(58% .19 25);--destructive-foreground:oklch(99% 0 0);--border:oklch(87% .025 71);--input:oklch(87% .025 71);--ring:oklch(56% .12 33);--radius:.9rem}.dark{--primary:oklch(86% .09 52);--primary-foreground:oklch(22% .03 34);--background:oklch(20% .025 35);--foreground:oklch(94% .018 80);--card:oklch(25% .025 35);--card-foreground:oklch(94% .018 80);--popover:oklch(25% .025 35);--popover-foreground:oklch(94% .018 80);--secondary:oklch(32% .03 37);--secondary-foreground:oklch(89% .02 80);--muted:oklch(32% .03 37);--muted-foreground:oklch(70% .024 73);--accent:oklch(42% .07 36);--accent-foreground:oklch(95% .02 80);--destructive:oklch(70% .17 25);--destructive-foreground:oklch(18% 0 0);--border:oklch(100% 0 0/.13);--input:oklch(100% 0 0/.16);--ring:oklch(72% .09 43)}@layer base{*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring) 50%,transparent)}}html{background:var(--background);min-width:320px}body{background-color:var(--background);color:var(--foreground);font-family:var(--font-sans);letter-spacing:.01em;margin:0}button:not(:disabled),[role=button]:not([aria-disabled=true]),[type=button]:not(:disabled),[type=submit]:not(:disabled),[type=reset]:not(:disabled),a[href],select:not(:disabled),input[type=checkbox]:not(:disabled),input[type=radio]:not(:disabled){cursor:pointer}button,input{font-family:inherit}::selection{color:#301812;background:#fbb08e73}}@layer components{.container{width:100%;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}.flex{min-width:0;min-height:0}@media(min-width:640px){.container{padding-left:1.5rem;padding-right:1.5rem}}@media(min-width:1024px){.container{max-width:1280px;padding-left:2rem;padding-right:2rem}}}.app-shell{background:radial-gradient(circle at 7% 5%,oklch(99.5% .025 78/.85),transparent 28rem),radial-gradient(circle at 91% 18%,oklch(91% .09 42/.22),transparent 24rem),var(--background);min-height:100vh;position:relative;overflow:hidden}.app-frame{z-index:1;width:min(1180px,100% - 48px);min-height:100vh;margin:0 auto;position:relative}.page-orb{pointer-events:none;filter:blur(1px);border-radius:999px;position:absolute}.page-orb-one{border:1px solid oklch(83% .065 45/.3);width:320px;height:320px;top:25%;left:-220px}.page-orb-two{border:1px solid oklch(83% .065 45/.25);width:190px;height:190px;top:50%;right:-90px}.app-header{border-bottom:1px solid oklch(70% .04 55/.16);justify-content:space-between;align-items:center;height:98px;display:flex}.brand-mark{color:var(--foreground);align-items:center;gap:11px;display:inline-flex}.brand-mark-icon{color:#fcf8f1;background:var(--primary);border-radius:11px 11px 11px 4px;place-items:center;width:36px;height:36px;display:grid;box-shadow:0 8px 18px #4721192e}.brand-mark strong{font-family:var(--font-display);letter-spacing:.08em;font-size:18px;font-weight:700;line-height:1.1;display:block}.brand-mark small{color:var(--muted-foreground);letter-spacing:.2em;margin-top:3px;font-size:8px;font-weight:700;display:block}.desktop-nav{align-items:center;gap:34px;margin-left:110px;display:flex}.nav-link{color:var(--muted-foreground);background:0 0;border:0;border-bottom:1px solid #0000;padding:8px 0 9px;font-size:13px;transition:color .18s,border-color .18s}.nav-link:hover,.nav-link.active{color:var(--foreground);border-bottom-color:var(--primary)}.nav-link.active{font-weight:700}.header-note{color:var(--muted-foreground);letter-spacing:.05em;align-items:center;gap:7px;font-size:11px;display:inline-flex}.header-note svg{color:#b0642d}.scan-page{padding:82px 0 28px}.intro-copy{max-width:570px}.eyebrow{color:#a55a37;letter-spacing:.19em;align-items:center;gap:10px;font-size:10px;font-weight:800;display:flex}.eyebrow-line{background:#a55a37;width:28px;height:1px}.intro-copy h1,.history-heading h1{color:var(--foreground);font-family:var(--font-display);letter-spacing:-.055em;margin:18px 0;font-size:clamp(42px,5.3vw,68px);font-weight:500;line-height:1.2}.intro-copy h1 em{color:#b95c3a;font-style:normal}.intro-copy p,.history-heading p{max-width:455px;color:var(--muted-foreground);margin:0;font-size:14px;line-height:1.9}.mini-proof-row{color:#6e4c40;flex-wrap:wrap;gap:20px;margin-top:22px;font-size:11px;display:flex}.mini-proof-row span{align-items:center;gap:6px;display:inline-flex}.mini-proof-row svg{color:#b7643c}.workspace-grid{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:25px;margin-top:60px;display:grid}.premium-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffbf6d6;border:1px solid oklch(82% .03 60/.7);border-radius:20px;box-shadow:0 20px 60px #4a302a12}.scan-card{padding:30px}.card-heading-row,.review-header,.history-heading,.side-card-top,.review-footer{justify-content:space-between;align-items:center;display:flex}.section-kicker{color:#99624a;letter-spacing:.19em;font-size:9px;font-weight:800}.card-heading-row h2,.review-header h2,.empty-history h2{font-family:var(--font-display);letter-spacing:-.025em;margin:6px 0 0;font-size:25px;font-weight:600}.step-counter{color:#a69891;letter-spacing:.05em;align-items:center;gap:6px;font-size:10px;display:flex}.step-counter span:first-child{color:var(--foreground);font-weight:800}.step-counter i{background:#cabaae;width:16px;height:1px}.scan-stage{background:#f8f1e5d9;border:1px dashed oklch(77% .045 45);border-radius:16px;height:260px;margin-top:27px;overflow:hidden}.empty-scan-stage{height:100%;color:var(--muted-foreground);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.empty-scan-stage strong{color:var(--foreground);font-family:var(--font-display);margin-top:15px;font-size:19px;font-weight:600}.empty-scan-stage span{max-width:260px;margin-top:5px;font-size:11px;line-height:1.7}.scan-icon-disc{color:#ad5f41;background:#fff7ea;background:oklch(98% .022 80);border:1px solid oklch(75% .08 43);border-radius:50%;place-items:center;width:64px;height:64px;display:grid}.scan-corner{border-color:#ce7d5e;width:22px;height:22px;position:absolute}.scan-corner-tl{border-top:1px solid;border-left:1px solid;border-top-left-radius:6px;top:25px;left:25px}.scan-corner-tr{border-top:1px solid;border-right:1px solid;border-top-right-radius:6px;top:25px;right:25px}.scan-corner-bl{border-bottom:1px solid;border-left:1px solid;border-bottom-left-radius:6px;bottom:25px;left:25px}.scan-corner-br{border-bottom:1px solid;border-right:1px solid;border-bottom-right-radius:6px;bottom:25px;right:25px}.selected-image-wrap{background:#2d211d;width:100%;height:100%;position:relative}.selected-image-wrap img{object-fit:contain;width:100%;height:100%;display:block}.image-clear-button{color:#fff;background:#171310a6;border:1px solid #ffffff38;border-radius:50%;place-items:center;width:32px;height:32px;display:grid;position:absolute;top:12px;right:12px}.image-ready-label{color:#f8edd8;background:#171310ad;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:10px;display:inline-flex;position:absolute;bottom:12px;left:12px}.capture-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;display:grid}.capture-secondary{height:42px;color:var(--foreground);background:#fffdfad1;background:oklch(99.5% .007 80/.82);border-color:#d0b9a8;font-size:12px}.capture-secondary:hover{background:#ffe6d0}.capture-secondary svg{color:#b15d39}.scan-primary-button,.save-action,.export-button{height:46px;color:var(--primary-foreground);background:var(--primary);letter-spacing:.05em;border-radius:11px;margin-top:12px;font-size:12px;font-weight:700;transition:transform .16s cubic-bezier(.23,1,.32,1),box-shadow .16s,background .16s;box-shadow:0 12px 24px #47211924}.scan-primary-button{width:100%}.scan-primary-button:hover,.save-action:hover,.export-button:hover{background:#5a2f28;box-shadow:0 15px 28px #47211938}.scan-primary-button:active,.save-action:active,.export-button:active{transform:scale(.98)}.scan-primary-button svg:last-child{margin-left:auto}.privacy-note{color:#817168;justify-content:center;align-items:center;gap:6px;margin-top:14px;font-size:10px;display:flex}.privacy-note svg{color:#b1632f}.side-rail{gap:14px;display:grid}.side-stat-card{color:#f7f1e7;background:var(--primary);border-radius:20px;min-height:207px;padding:25px;box-shadow:0 22px 48px #4825202e}.side-card-top{color:#beae9d}.side-card-label{letter-spacing:.18em;font-size:9px;font-weight:800}.side-stat-card>.stat-number{font-family:var(--font-display);margin-top:32px;font-size:48px;line-height:1}.stat-number small{color:#c6a78e;font-family:var(--font-sans);margin-left:5px;font-size:13px}.side-stat-card p{color:#bfaa93;margin:8px 0 21px;font-size:11px}.text-link{color:#fddfbe;background:0 0;border:0;border-bottom:1px solid oklch(92% .055 70/.45);align-items:center;gap:4px;padding:0;font-size:11px;display:inline-flex}.guide-card{background:#ffefdd85;border:1px solid oklch(83% .04 58);border-radius:17px;gap:13px;padding:19px;display:flex}.guide-icon{color:#b85c37;background:#ffceb99e;background:oklch(89% .075 43/.62);border-radius:10px;flex:0 0 34px;place-items:center;width:34px;height:34px;display:grid}.guide-card strong{font-family:var(--font-display);margin:1px 0 5px;font-size:13px;display:block}.guide-card p{color:var(--muted-foreground);margin:0;font-size:11px;line-height:1.7}.review-section{margin-top:25px;padding:27px 30px 25px;scroll-margin-top:20px;animation:.35s cubic-bezier(.23,1,.32,1) reveal-up}.review-title-wrap{align-items:center;gap:12px;display:flex}.success-icon{color:#1c5c23;background:#bce5b3;border-radius:12px;place-items:center;width:36px;height:36px;display:grid}.review-note{color:#765447;background:#feebd6;border-radius:9px;align-items:center;gap:6px;margin-top:22px;padding:10px 12px;font-size:11px;display:flex}.review-note svg{color:#b15c3a}.confidence-badge{border-radius:999px;align-items:center;gap:6px;padding:6px 9px;font-size:10px;font-weight:700;display:inline-flex}.confidence-high{color:#1e521d;background:#c0e7bd}.confidence-medium{color:#764b00;color:oklch(45% .12 76);background:#ffe0ac;background:oklch(92% .08 80)}.confidence-low{color:#a04034;background:#ffd8c7;background:oklch(92% .08 40)}.confidence-dot{background:currentColor;border-radius:50%;width:5px;height:5px}.review-body{grid-template-columns:144px minmax(0,1fr);gap:24px;margin-top:20px;display:grid}.review-thumb{background:#2a1e1b;border-radius:12px;height:196px;position:relative;overflow:hidden}.review-thumb img{object-fit:cover;width:100%;height:100%}.review-thumb span{color:#fff;background:#171310ab;border-radius:5px;padding:5px 7px;font-size:9px;position:absolute;bottom:8px;left:8px}.fields-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 13px;display:grid}.field-editor{background:#fffdfa;background:oklch(99.5% .007 80);border:1px solid oklch(86% .025 64);border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:0 10px;transition:border-color .16s,box-shadow .16s;display:grid}.field-editor:focus-within{border-color:#c66843;box-shadow:0 0 0 3px #d27b5821}.field-label{color:#81695e;white-space:nowrap;flex:none;font-size:10px}.field-editor input{min-width:0;height:42px;color:var(--foreground);box-shadow:none;background:0 0;border:0;padding:0;font-size:12px}.field-editor input:focus{box-shadow:none}.field-edit-icon{color:#b79f91}.field-missing{background:#fff7ea;background:oklch(98% .04 75);border-color:#e99169}.field-missing>svg{color:#c45e39}.review-footer{border-top:1px solid oklch(85% .03 65);gap:20px;margin-top:22px;padding-top:18px}.review-footnote{color:var(--muted-foreground);align-items:center;gap:6px;font-size:10px;display:inline-flex}.review-buttons{gap:9px;display:flex}.secondary-action{height:40px;color:var(--foreground);background:0 0;border-color:#d4bcac;font-size:11px}.save-action{height:40px;margin:0;padding-left:16px;padding-right:16px;font-size:11px}.app-footer{color:#90837b;letter-spacing:.04em;justify-content:space-between;padding:42px 0 28px;font-size:10px;display:flex}.history-page{padding:78px 0 28px}.history-heading{align-items:end}.history-heading h1{margin-bottom:10px;font-size:clamp(40px,5vw,58px)}.export-button{margin:0;padding:0 18px}.archive-stats{border-bottom:1px solid oklch(82% .03 60/.8);grid-template-columns:170px 220px 170px minmax(0,1fr);align-items:center;gap:26px;margin:50px 0 22px;padding-bottom:21px;display:grid}.archive-stats>div:not(.archive-tip){flex-direction:column;gap:7px;display:flex}.archive-stats span{color:var(--muted-foreground);letter-spacing:.08em;font-size:10px}.archive-stats strong{font-family:var(--font-display);font-size:28px;font-weight:600}.archive-stats strong small{color:var(--muted-foreground);font-family:var(--font-sans);margin-left:3px;font-size:11px;font-weight:400}.archive-tip{color:#8f6f62;justify-content:flex-end;align-items:center;gap:7px;font-size:10px;display:flex}.archive-tip svg{color:#b36139}.invoice-list{gap:10px;display:grid}.invoice-row{border-radius:15px;grid-template-columns:42px minmax(0,1fr) auto 36px;align-items:center;gap:16px;padding:16px 19px;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid}.invoice-row:hover{border-color:#d39780;transform:translateY(-2px);box-shadow:0 15px 35px #4a302a1a}.invoice-row-icon{color:#ae5937;background:#ffe2c4;background:oklch(93% .06 66);border-radius:12px;place-items:center;width:42px;height:42px;display:grid}.invoice-row-meta{color:var(--muted-foreground);align-items:center;gap:8px;font-size:10px;display:flex}.meta-divider{background:#a98f7e;border-radius:50%;width:3px;height:3px}.invoice-row-main h2{font-family:var(--font-display);margin:5px 0 3px;font-size:16px;font-weight:600}.invoice-type-tag{color:#986655;font-size:9px}.invoice-row-amount{text-align:right;min-width:128px}.invoice-row-amount span{color:var(--muted-foreground);font-size:9px;display:block}.invoice-row-amount strong{color:var(--foreground);font-family:var(--font-display);margin-top:4px;font-size:17px;font-weight:600;display:block}.delete-invoice{color:#ae9183;background:0 0;border:0;border-radius:10px;place-items:center;width:34px;height:34px;transition:color .16s,background .16s;display:grid}.delete-invoice:hover{color:#c84341;background:#ffded5;background:oklch(93% .06 33)}.empty-history{text-align:center;flex-direction:column;align-items:center;padding:70px 24px;display:flex}.empty-history-icon{color:#b15c3a;background:#ffe2c3;background:oklch(93% .06 67);border-radius:21px;place-items:center;width:68px;height:68px;display:grid}.empty-history p{color:var(--muted-foreground);margin:9px 0 20px;font-size:12px}.history-loading{min-height:220px;color:var(--muted-foreground);justify-content:center;align-items:center;gap:10px;font-size:12px;display:flex}.bottom-nav{display:none}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.spin{animation:.85s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes reveal-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:760px){.app-shell{padding-bottom:75px}.app-frame{width:min(100% - 32px,590px)}.app-header{height:74px}.desktop-nav,.header-note{display:none}.brand-mark strong{font-size:16px}.scan-page,.history-page{padding-top:45px}.intro-copy h1,.history-heading h1{font-size:clamp(38px,12vw,55px);line-height:1.24}.intro-copy p,.history-heading p{font-size:13px;line-height:1.8}.mini-proof-row{gap:10px 16px}.workspace-grid{margin-top:36px;display:block}.scan-card{border-radius:17px;padding:21px}.card-heading-row h2,.review-header h2,.empty-history h2{font-size:22px}.scan-stage{height:230px;margin-top:22px}.side-rail{grid-template-columns:1fr 1fr;gap:10px;margin-top:13px}.side-stat-card{border-radius:16px;min-height:155px;padding:18px}.side-stat-card>.stat-number{margin-top:20px;font-size:38px}.side-stat-card p{margin:6px 0 14px;font-size:10px}.guide-card{border-radius:15px;padding:15px}.guide-icon{flex-basis:30px;width:30px;height:30px}.guide-card strong{font-size:12px}.guide-card p{font-size:10px}.review-section{border-radius:17px;padding:21px}.review-header{align-items:flex-start;gap:10px}.review-title-wrap{gap:9px}.success-icon{border-radius:10px;width:32px;height:32px}.review-note{align-items:flex-start;line-height:1.6}.review-body{display:block}.review-thumb{height:132px;margin-bottom:15px}.review-thumb img{object-fit:contain}.fields-grid{grid-template-columns:1fr;gap:9px}.review-footer{flex-direction:column;align-items:flex-start;gap:14px}.review-buttons{width:100%}.review-buttons>*{flex:1}.app-footer{padding:30px 0 13px;font-size:9px}.history-heading{display:block}.history-heading .export-button{width:100%;margin-top:22px}.archive-stats{grid-template-columns:1fr 1fr;gap:16px;margin-top:35px}.archive-stats strong{font-size:23px}.archive-tip{grid-column:1/-1;justify-content:flex-start;padding-top:4px}.invoice-row{border-radius:14px;grid-template-columns:36px minmax(0,1fr) 30px;gap:10px;padding:14px}.invoice-row-icon{width:36px;height:36px}.invoice-row-main h2{font-size:14px}.invoice-row-meta{gap:5px;font-size:9px}.invoice-row-amount{display:none}.delete-invoice,.edit-invoice{width:30px;height:30px}.bottom-nav{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#361811eb;border:1px solid oklch(76% .04 58/.75);border-radius:16px;grid-template-columns:repeat(3,minmax(0,1fr));padding:6px;display:grid;position:fixed;bottom:12px;left:12px;right:12px;box-shadow:0 18px 45px #321a1542}.bottom-nav-item{color:#bcafa0;background:0 0;border:0;border-radius:11px;justify-content:center;align-items:center;gap:7px;height:42px;font-size:11px;display:flex}.bottom-nav-item.active{color:#321a15;background:#ffdeb2;background:oklch(92% .08 72);font-weight:700}.capture-source-dialog{border-radius:20px;width:min(92vw,420px)}.capture-source-options{gap:10px;margin-top:8px;display:grid}.capture-source-option{text-align:left;justify-content:flex-start;align-items:center;gap:13px;min-height:66px;padding:13px 15px;display:flex}.capture-source-option>svg{color:#94421f;flex:none}.capture-source-option>span{gap:3px;display:grid}.capture-source-option strong{color:#3a211c;font-size:13px}.capture-source-option small{color:#7d6e63;font-size:11px}}@media(max-width:390px){.app-frame{width:calc(100% - 24px)}.scan-card{padding:17px}.step-counter{display:none}.side-rail{grid-template-columns:1fr}.side-stat-card{min-height:145px}.review-header .confidence-badge{font-size:9px}.review-buttons{flex-direction:column}.review-buttons>*{width:100%}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.history-filters{align-items:center;gap:9px;margin-bottom:14px;display:flex}.history-search-field,.history-month-field{background:#fffbf6bf;border:1px solid oklch(84% .03 60);border-radius:10px;align-items:center;gap:8px;height:40px;padding:0 12px;display:flex}.history-search-field{flex:1}.history-search-field>svg{color:#b26b4e;flex:none}.history-search-field input,.history-month-field input{height:38px;box-shadow:none;background:0 0;border:0;padding:0;font-size:11px}.history-search-field input:focus,.history-month-field input:focus{box-shadow:none}.history-month-field>span{color:var(--muted-foreground);white-space:nowrap;font-size:10px}.history-month-field input{width:112px}.clear-filter{color:#94604c;white-space:nowrap;background:0 0;border:0;align-items:center;gap:5px;height:36px;padding:0 8px;font-size:10px;display:inline-flex}.clear-filter:hover{color:var(--foreground)}.empty-filtered{min-height:180px;color:var(--muted-foreground);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-filtered>svg{color:#af765e}.empty-filtered p{margin:12px 0 8px;font-size:12px}.empty-filtered button{color:#a35737;background:0 0;border:0;border-bottom:1px solid oklch(54% .11 43/.4);padding:0;font-size:10px}@media(max-width:760px){.history-filters{flex-wrap:wrap}.history-search-field{flex:100%}.history-month-field{flex:1}}.process-progress-card{animation:progress-card-in .22s var(--ease-out,cubic-bezier(.23, 1, .32, 1));background:linear-gradient(135deg,#fff9f1eb,#ffe5d98f);background:linear-gradient(135deg,color(xyz 0.914 0.954 0.899 / 0.922),color(xyz 0.83 0.821 0.728 / 0.561));border:1px solid oklch(82% .045 47/.8);border-radius:1rem;margin:.95rem 0 0;padding:.9rem 1rem .8rem;box-shadow:0 12px 25px #49292214}.process-progress-top{align-items:center;gap:.65rem;display:flex}.progress-orbit{color:#fbf8f3;background:var(--primary);border-radius:999px;flex:none;place-items:center;width:2rem;height:2rem;animation:1.4s ease-in-out infinite progress-orbit-pulse;display:grid;box-shadow:0 0 0 5px #48252017}.process-progress-copy{flex:1;gap:.1rem;min-width:0;display:grid}.process-progress-copy strong{color:var(--foreground);letter-spacing:.03em;font-size:.84rem}.process-progress-copy small{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.process-percent{color:var(--primary);font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:700}.progress-track{background:#4825201a;border-radius:999px;height:.34rem;margin:.82rem 0 .65rem;overflow:hidden}.progress-track>span{border-radius:inherit;background:linear-gradient(90deg,#804036,#e18342);height:100%;transition:width .3s cubic-bezier(.23,1,.32,1);display:block;box-shadow:0 0 12px #c56a3e6b}.progress-steps{justify-content:space-between;gap:.4rem;display:flex}.progress-steps span{color:var(--muted-foreground);white-space:nowrap;align-items:center;gap:.28rem;font-size:.61rem;display:inline-flex}.progress-steps i{border:1px solid oklch(53% .026 45/.36);border-radius:50%;width:.34rem;height:.34rem;display:block}.progress-steps span.active{color:var(--primary);font-weight:700}.progress-steps span.active i{border-color:var(--primary);background:var(--primary);box-shadow:0 0 0 3px #4825201a}.progress-steps span.done{color:#84492c}.field-auto-calculated{background:#fff3e3b3;background:oklch(97% .05 74/.7);border-color:#d2824ead}.field-auto-calculated input{color:#663123;font-weight:650}.field-auto-icon{color:#b26235}.auto-calc-note{color:#714135;background:#fff2ddc7;background:oklch(97% .045 73/.78);border:1px solid oklch(73% .11 51/.62);border-radius:.72rem;align-items:flex-start;gap:.5rem;margin-top:.7rem;padding:.65rem .8rem;font-size:.73rem;line-height:1.55;display:flex}.auto-calc-note svg{color:#b26235;flex:none;margin-top:.1rem}.selection-toolbar{background:#fefbf6d1;border:1px solid oklch(87% .025 71);border-radius:.82rem;align-items:center;gap:.75rem;margin:.8rem 0 .95rem;padding:.58rem .7rem;display:flex}.select-all-control,.invoice-select-control{color:var(--foreground);align-items:center;gap:.48rem;font-size:.73rem;font-weight:650;display:inline-flex}.select-all-control input,.invoice-select-control input{width:1rem;height:1rem;accent-color:var(--primary)}.selection-count{color:var(--muted-foreground);margin-left:auto;font-size:.72rem}.selection-count strong{color:var(--primary)}.batch-export-button{border-radius:.65rem;min-height:2.15rem;padding:.45rem .75rem;font-size:.7rem}.invoice-row{grid-template-columns:auto auto minmax(0,1fr) auto auto auto}.invoice-select-control{align-self:center}.invoice-row-selected{background:linear-gradient(90deg,#fff9edeb,#fefcf8);background:linear-gradient(90deg,color(xyz 0.917 0.953 0.845 / 0.922),#fefcf8);border-color:#cd794eb3;box-shadow:0 12px 26px #4929221a}.invoice-row-selected .invoice-row-icon{color:#84492c;background:#fdc7a799}@keyframes progress-card-in{0%{opacity:0;transform:translateY(-.3rem)}to{opacity:1;transform:translateY(0)}}@keyframes progress-orbit-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@media(max-width:560px){.selection-toolbar{flex-wrap:wrap}.selection-count{margin-left:auto}.batch-export-button{width:100%}.progress-steps span{font-size:.57rem}.process-progress-card{padding-inline:.78rem}}@media(prefers-reduced-motion:reduce){.process-progress-card,.progress-orbit{animation:none}}.tax-type-panel{background:#fff9f0cc;background:oklch(98.5% .016 78/.8);border:1px solid oklch(82% .045 57/.75);border-radius:13px;justify-content:space-between;align-items:center;gap:18px;margin-top:12px;padding:14px 15px;transition:border-color .16s,background .16s;display:flex}.tax-type-panel.tax-type-exempt{background:#e1f5e06b;border-color:#85b2868c}.tax-type-panel.tax-type-zeroRated{background:#d8f4ff5c;background:oklch(95% .035 225/.36);border-color:#61b1cf8c}.tax-type-panel.tax-type-mixed{background:#ffefd46b;background:oklch(96% .055 76/.42);border-color:#cb9a5ba6}.tax-type-copy{gap:3px;min-width:0;display:grid}.tax-type-copy strong{font-family:var(--font-display);font-size:14px;font-weight:700}.tax-type-copy small{color:var(--muted-foreground);font-size:10px;line-height:1.6}.tax-type-panel select{min-width:120px;height:36px;color:var(--foreground);background:#fffdfae6;background:oklch(99.5% .007 80/.9);border:1px solid oklch(78% .04 55);border-radius:8px;padding:0 28px 0 10px;font-size:11px;font-weight:700}.line-items-panel{background:#fef6eabd;border:1px solid oklch(84% .035 60);border-radius:13px;margin-top:18px;padding:16px}.line-items-heading{gap:3px;display:grid}.line-items-heading strong{font-family:var(--font-display);font-size:15px}.line-items-heading small{color:var(--muted-foreground);font-size:10px;line-height:1.6}.line-items-list{gap:7px;margin-top:12px;display:grid}.line-item-row{background:#fffdfad1;background:oklch(99.5% .007 80/.82);border-radius:8px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:9px 10px;font-size:11px;display:grid}.line-item-row>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.line-item-row strong{white-space:nowrap;font-size:11px}.line-item-row em,.invoice-tax-tag{color:#804b36;white-space:nowrap;background:#fadcba;border-radius:999px;padding:3px 6px;font-size:9px;font-style:normal;font-weight:700}.invoice-tax-tag{color:#7b4028;background:#fce3c8;margin-left:5px;display:inline-flex}@media(max-width:639px){.tax-type-panel{flex-direction:column;align-items:stretch;gap:10px}.tax-type-panel select{width:100%}.line-item-row{grid-template-columns:minmax(0,1fr) auto}.line-item-row em{grid-column:1/-1;justify-self:start}}.expense-category-panel{background:linear-gradient(135deg,#fff9edeb,#ffe9d870);background:linear-gradient(135deg,color(xyz 0.915 0.954 0.844 / 0.922),color(xyz 0.865 0.846 0.621 / 0.439));border:1px solid oklch(78% .08 70/.62);border-radius:13px;justify-content:space-between;align-items:center;gap:18px;margin-top:12px;padding:14px 15px;display:flex}.expense-category-officeSupplies{background:#d4f5ff47;background:oklch(95% .04 220/.28);border-color:#68b1c77a}.expense-category-mealsAndEntertainment{background:#ffede170;background:oklch(96% .055 55/.44);border-color:#d8916c8c}.expense-category-travel{background:#daf7e352;border-color:#7cb48f85}.expense-category-utilities{background:#dff1ff47;background:oklch(95% .04 245/.28);border-color:#7aaad47a}.expense-category-software{background:#f1eaff42;background:oklch(95% .04 300/.26);border-color:#ac9ad075}.expense-category-copy{gap:3px;min-width:0;display:grid}.expense-category-copy strong{font-family:var(--font-display);flex-wrap:wrap;align-items:center;gap:7px;font-size:14px;font-weight:700;display:flex}.expense-category-copy small{color:var(--muted-foreground);font-size:10px;line-height:1.6}.ai-suggestion-badge{color:#7a4530;font-family:var(--font-body);letter-spacing:.04em;background:#ffd29eb8;background:oklch(89% .09 70/.72);border-radius:999px;align-items:center;gap:3px;padding:3px 6px;font-size:9px;font-weight:700;display:inline-flex}.expense-category-panel select,.history-category-field select{height:36px;color:var(--foreground);background:#fffdfae6;background:oklch(99.5% .007 80/.9);border:1px solid oklch(78% .04 55);border-radius:8px;padding:0 28px 0 10px;font-size:11px;font-weight:700}.history-category-field{background:#fffbf6bf;border:1px solid oklch(84% .03 60);border-radius:10px;align-items:center;gap:8px;height:40px;padding:0 12px;display:flex}.history-category-field>span{color:var(--muted-foreground);white-space:nowrap;font-size:10px}.history-category-field select{background:0 0;border:0;min-width:112px;height:30px;padding-block:0;font-size:10px}.invoice-category-tag{color:#2e5c36;white-space:nowrap;background:#c4eac4;border-radius:999px;margin-left:5px;padding:3px 6px;font-size:9px;font-weight:700;display:inline-flex}@media(max-width:760px){.expense-category-panel{flex-direction:column;align-items:stretch;gap:10px}.expense-category-panel select{width:100%}.history-category-field{flex:1}.history-category-field select{width:100%}}.batch-category-control{align-items:center;gap:.42rem;display:inline-flex}.batch-category-control label{color:var(--muted-foreground);white-space:nowrap;font-size:.66rem}.batch-category-control select{min-height:2.15rem;color:var(--foreground);background:#fefbf6;border:1px solid oklch(82% .04 58);border-radius:.65rem;padding:0 1.85rem 0 .58rem;font-size:.7rem}.batch-category-control select:focus{outline-offset:2px;outline:2px solid oklch(68% .12 48/.35)}.batch-category-button{border-radius:.65rem;min-height:2.15rem;padding:.45rem .7rem;font-size:.7rem}@media(max-width:760px){.batch-category-control{flex:100%;order:3}.batch-category-control select{flex:1;min-width:0}.batch-category-button{flex:none}}.settings-page{width:min(100%,1040px);margin:0 auto;padding:26px 0 72px}.settings-heading,.category-settings-intro,.category-form-heading,.category-form-actions,.category-settings-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.settings-heading{margin-bottom:22px}.settings-heading h1{margin:8px 0 6px}.settings-heading p,.category-settings-intro p{color:var(--muted-foreground);margin:0;line-height:1.65}.category-settings-card{padding:26px}.category-settings-intro{border-bottom:1px solid var(--border);justify-content:flex-start;padding-bottom:20px}.category-settings-intro h2{margin:0 0 4px;font-size:1.05rem}.settings-icon{width:42px;height:42px;color:var(--primary);background:var(--primary);border-radius:14px;place-items:center;display:grid}@supports (color:color-mix(in lab,red,red)){.settings-icon{background:color-mix(in srgb,var(--primary) 12%,transparent)}}.settings-icon{flex:none}.category-form-panel{border:1px solid var(--primary);margin:20px 0;padding:18px}@supports (color:color-mix(in lab,red,red)){.category-form-panel{border:1px solid color-mix(in srgb,var(--primary) 30%,var(--border))}}.category-form-panel{background:var(--primary);border-radius:16px}@supports (color:color-mix(in lab,red,red)){.category-form-panel{background:color-mix(in srgb,var(--primary) 4%,var(--card))}}.category-form-heading{margin-bottom:14px}.category-form-grid{grid-template-columns:1fr 1fr 180px;gap:12px;display:grid}.category-form-grid label{color:var(--muted-foreground);letter-spacing:.03em;gap:7px;font-size:.78rem;font-weight:700;display:grid}.category-form-grid select{border:1px solid var(--border);background:var(--background);height:40px;color:var(--foreground);border-radius:9px;padding:0 10px}.category-form-actions{justify-content:flex-end;margin-top:16px}.category-settings-list{gap:8px;padding-top:18px;display:grid}.category-settings-row{border:1px solid var(--border);background:var(--card);border-radius:12px;min-height:58px;padding:10px 12px}@supports (color:color-mix(in lab,red,red)){.category-settings-row{background:color-mix(in srgb,var(--card) 78%,var(--background))}}.category-settings-row-inactive{opacity:.62}.category-color-dot{background:#b27b42;border-radius:99px;flex:none;width:10px;height:10px}.category-color-dot[data-color=sage]{background:#6b8d72}.category-color-dot[data-color=rose]{background:#b56d72}.category-color-dot[data-color=blue]{background:#6386a8}.category-settings-name{flex:1;gap:3px;min-width:0;display:grid}.category-settings-name strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.category-settings-name span{color:var(--muted-foreground);font:500 .72rem ui-monospace,SFMono-Regular,Menlo,monospace}.category-status{white-space:nowrap;border-radius:99px;padding:4px 8px;font-size:.72rem;font-weight:800}.category-status.active{color:#567b5d;background:#edf5ed}.category-status.inactive{color:#8a6a63;background:#f4eeeb}.category-edit-button{gap:5px;min-height:32px;padding:0 9px;font-size:.76rem}.cleanup-dialog-content{max-width:470px}.cleanup-dialog-icon{color:#a35a3d;background:#faeee7;border-radius:14px;place-items:center;width:44px;height:44px;margin-bottom:4px;display:grid}.cleanup-confirm-field{gap:7px;margin:6px 0 4px;display:grid}.cleanup-confirm-field label{color:var(--muted-foreground);font-size:.8rem;font-weight:700}@media(max-width:680px){.settings-page{padding:18px 0 88px}.settings-heading{flex-direction:column;align-items:flex-start}.settings-heading .save-action{width:100%}.category-settings-card{padding:18px}.category-form-grid{grid-template-columns:1fr}.category-settings-row{flex-wrap:wrap;align-items:flex-start}.category-settings-name{min-width:calc(100% - 30px)}.category-status{margin-left:18px}.category-edit-button{margin-left:auto}.cleanup-dialog-content{border-radius:18px;width:calc(100% - 28px)}}.page-orb-one,.page-orb-two{display:none}.scan-page{padding-top:48px}.scan-workspace{margin-top:0;display:block}.scan-workspace .scan-card{width:100%}@media(max-width:760px){.app-header{border-bottom:0;height:58px}.scan-page{padding:15px 0 26px}.scan-workspace{margin-top:0}.scan-workspace .scan-card{border-radius:18px;padding:18px 14px 16px}.card-heading-row{align-items:flex-start;gap:12px}.card-heading-row h2{font-size:25px}.step-counter{padding-top:4px}.scan-stage{border-radius:15px;height:clamp(238px,62vw,310px);margin-top:24px}.scan-corner-tl,.scan-corner-tr{top:24px}.scan-corner-bl,.scan-corner-br{bottom:24px}.scan-corner-tl,.scan-corner-bl{left:25px}.scan-corner-tr,.scan-corner-br{right:25px}.capture-actions{gap:10px;margin-top:18px}.capture-secondary,.scan-primary-button{border-radius:10px;height:52px;min-height:52px;font-size:13px}.capture-secondary{padding:0 9px}.scan-primary-button{margin-top:10px}.privacy-note{text-align:center;margin-top:15px;font-size:10px;line-height:1.55}}@media(max-width:390px){.scan-workspace .scan-card{padding-inline:11px}.card-heading-row h2{font-size:23px}.step-counter{gap:4px;font-size:9px}.step-counter i{width:11px}.capture-actions{gap:7px}.capture-secondary,.scan-primary-button{font-size:12px}}.delete-confirm-overlay{z-index:80;background:#1d0c0a94;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.delete-confirm-sheet{width:min(100%,430px);color:var(--foreground);background:#fff9ef;background:oklch(98.5% .02 82);border:1px solid oklch(78% .06 55);border-radius:18px;padding:24px;box-shadow:0 24px 70px #18080647}.delete-confirm-sheet h2{font-family:var(--font-display);margin:14px 0 8px;font-size:21px}.delete-confirm-sheet p{color:var(--muted-foreground);margin:0 0 12px;font-size:13px;line-height:1.65}.delete-confirm-sheet p strong{color:var(--foreground)}.delete-confirm-sheet .cleanup-confirm-hint{color:#784133;background:#ffebd4;background:oklch(95% .05 70);border-radius:10px;margin-top:16px;padding:10px 12px;font-size:12px}.delete-confirm-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:20px;display:grid}.delete-confirm-actions button{min-height:50px;font:inherit;touch-action:manipulation;border-radius:11px;font-size:14px;font-weight:700}.delete-cancel-button{color:var(--foreground);background:0 0;border:1px solid oklch(72% .04 55)}.delete-confirm-button{color:#fff;background:#bb061e;border:1px solid oklch(48% .17 25)}.delete-confirm-button:disabled{cursor:wait;opacity:.6}@media(max-width:560px){.delete-confirm-overlay{padding:12px 12px calc(94px + env(safe-area-inset-bottom));align-items:end}.delete-confirm-sheet{border-radius:18px 18px 14px 14px;padding:20px}.delete-confirm-actions button{min-height:54px}}.auth-gate-page{background:var(--background);justify-content:center;align-items:center;min-height:100dvh;padding:24px 16px;display:flex}.auth-gate{flex-direction:column;gap:14px;width:min(100%,380px);padding:30px 26px;display:flex}.auth-gate .brand-mark{margin-bottom:4px}.auth-gate h1{color:var(--foreground);font-family:var(--font-display);align-items:center;gap:8px;margin:4px 0 0;font-size:22px;font-weight:600;display:flex}.auth-gate h1 svg{color:#b36139}.auth-gate>p{color:var(--muted-foreground);margin:0 0 4px;font-size:12px;line-height:1.6}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-field span{color:#81695e;letter-spacing:.03em;font-size:11px;font-weight:700}.auth-field input{height:46px;color:var(--foreground);background:#fffdfae6;background:oklch(99.5% .007 80/.9);border:1px solid oklch(84% .03 60);border-radius:10px;padding:0 14px;font-size:14px;transition:border-color .16s,box-shadow .16s}.auth-field input:focus{border-color:#c66843;outline:none;box-shadow:0 0 0 3px #d27b5821}.auth-gate-error{color:#90101a;background:#ffe2de59;background:oklch(94% .08 25/.35);border:1px solid oklch(70% .15 25/.45);border-radius:10px;padding:10px 12px;font-size:12px;line-height:1.6}.auth-submit{height:48px;color:var(--primary-foreground);background:var(--primary);letter-spacing:.03em;border:0;border-radius:11px;justify-content:center;align-items:center;gap:8px;margin-top:4px;font-size:14px;font-weight:700;transition:transform .16s cubic-bezier(.23,1,.32,1),box-shadow .16s,background .16s,opacity .16s;display:flex;box-shadow:0 12px 24px #47211924}.auth-submit:hover:not(:disabled){background:#5a2f28;box-shadow:0 15px 28px #47211938}.auth-submit:active:not(:disabled){transform:scale(.98)}.auth-submit:disabled{opacity:.55;cursor:not-allowed}.auth-gate-loading{color:var(--muted-foreground);font-size:13px}@media(max-width:420px){.auth-gate{border-radius:18px;padding:24px 20px}}.header-end{align-items:center;gap:16px;display:flex}.user-menu{align-items:center;gap:10px;display:flex}.user-menu-name{color:var(--muted-foreground);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.user-menu-name svg{color:#b36139}.user-menu-name-text{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.user-menu-role{color:#1e7729;display:inline-flex}.user-menu-logout{height:30px;color:var(--foreground);background:#fffdfad1;background:oklch(99.5% .007 80/.82);border:1px solid oklch(80% .035 57);border-radius:8px;align-items:center;gap:5px;padding:0 10px;font-size:11px;transition:background .16s,border-color .16s;display:inline-flex}.user-menu-logout:hover{background:#ffe6d0;border-color:#d39780}@media(max-width:760px){.header-end{gap:8px}.user-menu-name-text,.user-menu-logout-text{display:none}.user-menu-logout{justify-content:center;width:30px;padding:0}}.settings-tabs{margin-top:18px}.settings-tabs [data-slot=tabs-list]{width:100%;max-width:420px}.settings-tabs [data-slot=tabs-content]{margin-top:18px}@media(max-width:480px){.settings-tabs [data-slot=tabs-list]{max-width:100%;overflow-x:auto}}.needs-review-badge{color:#a63c0c;white-space:nowrap;background:#ffdaba;background:oklch(92% .09 55);border-radius:999px;align-items:center;gap:3px;margin-left:5px;padding:3px 7px;font-size:9px;font-weight:800;display:inline-flex}.needs-review-reasons{color:#803b2a;background:#ffeee1b3;background:oklch(96% .05 60/.7);border-radius:8px;margin-top:6px;padding:7px 10px;font-size:10.5px;line-height:1.65}.history-review-toggle{height:40px;color:var(--foreground);white-space:nowrap;background:#fffbf6bf;border:1px solid oklch(84% .03 60);border-radius:10px;align-items:center;gap:.42rem;padding:0 12px;font-size:11px;display:inline-flex}.history-review-toggle input{accent-color:oklch(58% .15 42);width:1rem;height:1rem}.archive-stat-review strong{color:#a63c0c}.edit-invoice{color:#8d6857;background:0 0;border:0;border-radius:10px;place-items:center;width:34px;height:34px;transition:color .16s,background .16s;display:grid}.edit-invoice:hover{color:#6f351d;background:#ffe2c7;background:oklch(93% .05 66)}.invoice-edit-sheet{width:min(100%,560px);max-height:min(86vh,760px);overflow-y:auto}.invoice-edit-reasons{color:#784133;background:#ffebd4;background:oklch(95% .05 70);border-radius:10px;margin:10px 0 4px;padding:9px 12px;font-size:12px;line-height:1.6}.invoice-edit-reasons strong{color:#a04034;margin-bottom:3px;display:block}.invoice-edit-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:20px;display:grid}.invoice-edit-actions button{touch-action:manipulation;border-radius:11px;min-height:50px;font-size:13px;font-weight:700}@media(max-width:760px){.archive-stat-review{grid-column:1/-1}.history-filters{row-gap:8px}}@media(max-width:560px){.invoice-edit-sheet{max-height:82vh}}@media(max-width:480px){.invoice-edit-actions{grid-template-columns:1fr}.invoice-edit-actions button{min-height:52px}}
