@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-cyrillic-ext-wght-normal.1zrieox9119mb.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-cyrillic-wght-normal.2whpih27xg_2r.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-greek-ext-wght-normal.1xlj4-0oa5zql.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-greek-wght-normal.1fxkn-ggzj93z.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-vietnamese-wght-normal.1ahvy37o8m5gt.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-latin-ext-wght-normal.2ktx6yqc-sbf1.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-latin-wght-normal.0rpdhg_4ubdtf.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--ink:#141414;--muted:#8b8b8b;--line:#ebebeb;--font-sans:"Inter Variable", Arial, sans-serif}*{box-sizing:border-box}html,body{min-height:100%;color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;background:#fff;margin:0}button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.intro-pending{visibility:hidden}.app-splash{z-index:10000;background:#fff;place-items:center;display:grid;position:fixed;inset:0}.app-splash img{width:160px;height:160px;display:block}body:has(.app-splash){overflow:hidden}button:focus-visible,a:focus-visible{outline-offset:6px;outline:2px solid #696969}button:disabled{cursor:wait;opacity:.7}.login-screen{min-height:100dvh;padding:max(32px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));display:flex}.login-content{flex-direction:column;width:min(100%,360px);margin-inline:auto;animation:.5s both arrive;display:flex}.brand.login-brand{flex:1;justify-content:center;gap:24px;padding-block:32px}.login-logo{object-fit:contain;width:88px;height:88px}.login-content>form{flex-shrink:0}.brand{flex-direction:column;align-items:center;gap:8px;display:flex}.brand-name{letter-spacing:-2px;white-space:nowrap;font-size:clamp(32px,7.5vw,44px);font-weight:740;line-height:1.1}.brand-product{letter-spacing:-1px;color:var(--muted);font-size:clamp(23px,5vw,28px);font-weight:400;line-height:1.2}.google-button{border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:12px;justify-content:center;align-items:center;gap:13px;width:100%;min-height:56px;padding:16px 36px;font-size:14px;font-weight:500;transition:background .2s,transform .2s;display:flex;position:relative}.google-button:hover{background:#303030}.google-button:active{transform:scale(.985)}.spinner{border:1.5px solid #ffffff50;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}.archive-page{min-height:100svh;padding:max(28px, env(safe-area-inset-top)) max(28px, env(safe-area-inset-right)) max(28px, env(safe-area-inset-bottom)) max(28px, env(safe-area-inset-left));flex-direction:column;animation:.35s both arrive;display:flex}.archive-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding-bottom:26px;display:flex}.brand-compact{flex-direction:row;flex-shrink:0;align-items:center;gap:10px}.brand-logo{object-fit:contain;flex-shrink:0;width:40px;height:40px}.brand-compact .brand-name{letter-spacing:-.9px;font-size:22px}.brand-compact .brand-product{letter-spacing:-.5px;font-size:16px}.logout-button{border:1px solid var(--line);color:#555;white-space:nowrap;background:#fff;border-radius:9px;min-height:44px;padding:11px 15px;font-size:12px}.logout-button:hover{background:#f6f6f6}.user-menu{flex-shrink:0;position:relative}.user-menu-trigger{border:1px solid var(--line);color:#444;background:#fff;border-radius:11px;place-items:center;width:44px;height:44px;padding:10px;display:grid}.user-menu-trigger:hover,.user-menu-trigger[aria-expanded=true]{color:#141414;background:#f8f8f8}.user-menu-popover{z-index:40;transform-origin:100% 0;background:#141414;border:1px solid #292929;border-radius:13px;width:190px;padding:6px;animation:.28s cubic-bezier(.16,1,.3,1) both user-menu-open;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 16px 42px #00000020,0 3px 10px #00000012}.user-menu-popover .logout-button{color:#d28b8b;text-align:left;background:0 0;border:0;border-radius:8px;width:100%;min-height:44px;padding:12px 14px;font-size:13px}.user-menu-popover .logout-button:hover{background:#252020}.user-menu-popover .logout-button:focus-visible{outline-offset:-2px;outline-color:#d28b8b}@keyframes user-menu-open{0%{opacity:0;transform:translateY(-7px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}.placeholder{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:70px 0 120px;display:flex}.success-symbol{border:1px solid #e1e1e1;border-radius:50%;place-items:center;width:62px;height:62px;margin-bottom:14px;display:grid}h1{letter-spacing:-1.3px;margin:0;font-size:clamp(28px,6vw,38px);font-weight:600;line-height:1.2}.placeholder p,.error-page p{color:#858585;margin:0;font-size:14px;line-height:1.6}.loading-banner{z-index:40;background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:40px;min-height:100svh;display:flex;position:fixed;inset:0}.loading-banner p{color:#888;letter-spacing:-.1px;font-size:13px;animation:1.8s ease-in-out infinite breathe}.bloom{width:120px;height:120px;position:relative}.bloom span{transform-origin:50% 48px;width:36px;height:65px;transform:rotate(calc(var(--petal) * 45deg));animation:2.4s ease-in-out infinite bloom;animation-delay:calc(var(--petal) * -80ms);filter:blur(.3px);background:linear-gradient(#171717dd,#76767655);border-radius:70% 70% 50% 50%;position:absolute;top:12px;left:42px}.bloom i{background:#202020;border-radius:50%;width:18px;height:18px;position:absolute;top:51px;left:51px}.error-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:22px;min-height:100svh;padding:28px;display:flex}.error-page .google-button{width:auto;min-width:200px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes arrive{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0}}@keyframes breathe{50%{opacity:.5}}@keyframes bloom{0%,to{opacity:.55;scale:.88}50%{opacity:1;scale:1.06}}@media (min-width:800px){.archive-page{padding:40px 56px}.login-content{width:340px}}@media (max-width:380px){.brand-compact .brand-name{font-size:18px}.archive-page{padding-left:20px;padding-right:20px}.logout-button{padding:10px;font-size:11px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.logout-progress{z-index:100000;color:var(--ink);background:#fff;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.privacy-page{max-width:720px;margin:0 auto;padding:48px 24px;line-height:1.65}.privacy-page h1{margin-top:40px;font-size:30px;line-height:1.2}.privacy-page h2{margin-top:32px;font-size:20px}.privacy-page a{color:var(--ink);text-underline-offset:3px}
.header-actions{align-items:center;gap:10px;display:flex}.primary-button,.secondary-button,.icon-button{font:inherit;border-radius:10px;justify-content:center;align-items:center;gap:12px;min-height:44px;padding:12px 18px;font-size:13px;font-weight:500;transition:background .18s,transform .18s;display:inline-flex}.primary-button{color:#fff;background:#171717;border:1px solid #171717}.primary-button:hover{background:#353535}.secondary-button{color:#383838;background:#fff;border:1px solid #e2e2e2}.secondary-button:hover{background:#f6f6f6}.icon-button{background:#fff;border:1px solid #e9e9e9;padding:7px 12px;font-size:25px;font-weight:300}.primary-button:disabled,.secondary-button:disabled{opacity:.4;cursor:not-allowed}.eyebrow{color:#8a8a8a;letter-spacing:1.4px;margin-bottom:12px;font-size:10px;font-weight:500;display:block}.receipts-content{width:min(1100px,100%);margin:64px auto}.receipts-title{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:42px;display:flex}.receipts-title h1{font-size:36px;font-weight:550}.receipt-count{color:#999;white-space:nowrap;margin-bottom:5px;font-size:12px}.empty-receipts{text-align:center;border:1px dashed #dedede;border-radius:18px;padding:70px 24px}.empty-icon{color:#555;border:1px solid #e9e9e9;border-radius:50%;place-items:center;width:56px;height:56px;margin-bottom:20px;font-size:25px;display:inline-grid}.empty-receipts h2{letter-spacing:-.7px;margin:0 0 12px;font-size:22px;font-weight:500}.empty-receipts p{color:#888;margin:0 0 28px;font-size:13px}.action-confirmation{color:#171717;background:#fff;border:1px solid #eee;border-radius:18px;width:min(440px,100vw - 32px);padding:28px;box-shadow:0 24px 80px #0002}.action-confirmation::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0005}.action-confirmation h2{letter-spacing:-.5px;margin:0 0 14px;font-size:21px}.action-confirmation p{color:#777;font-size:14px;line-height:1.6}.action-confirmation .dialog-actions{margin-top:24px}.confirmation-progress{flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:220px;display:flex}.action-confirmation .confirmation-progress p{margin:0}.danger-button{font:inherit;color:#b42318;cursor:pointer;background:#fff5f5;border:1px solid #f1c4c4;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-size:13px;display:inline-flex}.danger-button:hover{background:#ffe8e8}.danger-button:disabled{opacity:.5;cursor:default}.receipt-header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.receipt-header-actions .icon-button{width:44px;height:44px;padding:10px}.dialog-header>div:first-child{min-width:0}.receipts-table{border:1px solid #e7e7e7;border-radius:16px;overflow:hidden}.receipt-columns,.receipt-row{grid-template-columns:minmax(0,1fr) 130px 140px;align-items:center;gap:20px;display:grid}.receipt-columns{color:#969696;letter-spacing:1px;background:#f8f8f8;padding:18px 76px 18px 24px;font-size:10px}.receipt-entry{border-top:1px solid #eee;grid-template-columns:minmax(0,1fr) 52px;align-items:center;display:grid}.receipt-delete{color:#888;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:36px;height:36px;display:grid}.receipt-delete:hover{color:#b42318;background:#fff0f0}.receipt-delete:focus-visible{outline-offset:2px;outline:2px solid #171717}.receipt-columns button{color:inherit;font:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:0;justify-self:start;align-items:center;gap:8px;padding:4px 0;display:inline-flex}.receipt-columns button:hover,.receipt-columns button[aria-pressed=true]{color:#171717}.receipt-columns button:focus-visible{outline-offset:5px;border-radius:2px;outline:2px solid #171717}.receipt-row{color:var(--ink);-webkit-text-fill-color:currentColor;text-align:left;background:#fff;border:0;width:100%;min-height:84px;padding:22px 24px}.receipt-row:hover{background:#fafafa}.receipt-row strong{overflow-wrap:anywhere;font-size:14px;font-weight:550;display:block}.receipt-row small{color:#919191;overflow-wrap:anywhere;margin-top:7px;font-size:11px;display:block}.receipt-row>span:first-child{min-width:0}.receipt-row time{color:#777;font-size:12px}.receipt-total{justify-content:space-between;align-items:center;gap:12px;font-size:14px;font-weight:550;display:flex}.receipt-view-icon{color:var(--ink);flex-shrink:0}.receipt-dialog{color:#171717;overscroll-behavior:contain;background:#fff;border:1px solid #e7e7e7;border-radius:20px;width:min(1050px,100vw - 32px);max-height:calc(100dvh - 48px);padding:30px;box-shadow:0 24px 100px #0002}.receipt-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0005}.dialog-header{border-bottom:1px solid #ededed;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;padding-bottom:24px;display:flex}.dialog-header h2{letter-spacing:-1px;overflow-wrap:anywhere;margin:0;font-size:27px;font-weight:550;line-height:1.2}.dialog-header .eyebrow{margin-bottom:9px;font-size:9px}.capture-choices{text-align:center;flex-direction:column;gap:14px;max-width:360px;margin:45px auto 55px;display:flex}.capture-choices p{letter-spacing:-.5px;margin:0 0 15px;font-size:18px}.capture-choices small{color:#999;margin-top:8px;font-size:11px;line-height:1.6}.capture-photo{text-align:center;background:#f6f6f6;border:1px solid #eee;border-radius:12px;margin:0;padding:16px}.capture-photo img{object-fit:contain;max-width:100%;max-height:56dvh}.receipt-viewer{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:30px;display:grid}.receipt-image{text-align:center;background:#f5f5f5;border:1px solid #ececec;border-radius:12px;min-width:0;margin:0;padding:16px;position:sticky;top:0}.receipt-image img{object-fit:contain;width:100%;max-height:65dvh;display:block}.receipt-image a{cursor:zoom-in;display:block}.receipt-image figcaption{color:#909090;margin-top:12px;font-size:10px;line-height:1.5}.receipt-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:17px 14px;display:grid}.receipt-field:first-child,.receipt-field:last-child{grid-column:1/-1}.receipt-field{color:#6e6e6e;flex-direction:column;gap:7px;min-width:0;font-size:11px;display:flex}.receipt-field>span:first-child{min-height:14px}.receipt-field small{color:#9c9c9c;font-size:9px}.receipt-field input{width:100%;min-width:0;min-height:46px;font:inherit;color:#222;background:#fff;border:1px solid #dedede;border-radius:8px;padding:12px;font-size:14px}.receipt-field input[type=date]{appearance:none;text-align:left;max-width:100%;height:46px;display:block}.receipt-field input[type=date]::-webkit-date-and-time-value{text-align:left;min-width:0;margin:0}.receipt-field input:focus{outline-offset:2px;outline:2px solid #aaa}.receipt-field input[readonly]{color:#6b6b6b;background:#fafafa}.receipt-field input.missing{background:#fffcf5;border-color:#c5b58a}.receipt-field input[aria-invalid=true]{border-color:#c93d3d}.field-error{color:#ae3535;font-size:10px;line-height:1.5}.receipt-notice{background:#f7f7f7;border:1px solid #e5e5e5;border-radius:10px;margin-bottom:24px;padding:15px 18px}.receipt-notice strong{font-size:13px;font-weight:550}.receipt-notice p{color:#777;margin:6px 0 0;font-size:12px;line-height:1.6}.receipt-notice.rejected{background:#fff8f8;border-color:#efcdcd}.receipt-notice.rejected strong{color:#ab3535}.confirmation-check{color:#666;align-items:flex-start;gap:10px;margin-top:24px;font-size:12px;line-height:1.7;display:flex}.confirmation-check input{accent-color:#171717;min-width:18px;height:18px;margin:0}.dialog-actions{border-top:1px solid #ededed;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:24px;padding-top:22px;display:flex}.analysis-progress{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:45dvh;display:flex}.analysis-progress p{color:#444;margin:0;font-size:15px}.analysis-progress small{color:#999;font-size:11px}.discard-confirmation{background:#fff;border:1px solid #ddd;border-radius:14px;margin-top:24px;padding:24px;position:sticky;bottom:0;box-shadow:0 -12px 60px #0001}.discard-confirmation h3{margin:0 0 10px;font-size:18px;font-weight:550}.discard-confirmation p{color:#777;font-size:13px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pdf-preview canvas{background:#fff;width:100%;height:auto;display:block}.pdf-pagination{color:#777;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;font-size:12px;display:flex}.pdf-preview figcaption a{color:inherit;text-decoration:none}@media (max-width:650px){.archive-header{grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:18px 14px;display:grid}.header-actions{display:contents}.header-actions>.user-menu{grid-area:1/2;justify-self:end}.header-actions>.primary-button{grid-area:2/1/auto/-1;width:100%}.receipts-content{margin:36px auto}.receipts-title h1{font-size:29px}.receipt-dialog{border-radius:16px;width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:20px}.receipt-viewer{grid-template-columns:1fr;gap:24px}.receipt-image{position:static}.receipt-image img{max-height:38dvh}.receipt-columns,.receipt-row{grid-template-columns:minmax(0,1fr) 100px;gap:14px;padding:17px}.receipt-columns{justify-content:space-between;gap:12px;padding-right:65px;display:flex}.receipt-row time{grid-area:2/1;margin-top:-4px}.receipt-total{grid-area:1/2/3;font-size:13px}.dialog-actions .primary-button{width:100%}.dialog-actions .secondary-button{flex:1;padding:11px;font-size:11px}.receipt-dialog .dialog-header h2{font-size:24px}}.saved-receipt-actions{grid-template-columns:minmax(0,1fr) 46px;display:grid}.saved-receipt-actions .primary-button{width:100%;min-width:0;min-height:46px}.saved-receipt-actions .receipt-delete-action{width:46px;height:46px;padding:0}.pdf-page-stage{position:relative}.pdf-page-stage.is-loading{aspect-ratio:1/1.414;min-height:240px}.pdf-page-stage.is-loading canvas{visibility:hidden;height:0}.pdf-loading{color:#777;flex-direction:column;justify-content:center;align-items:center;gap:16px;font-size:13px;display:flex;position:absolute;inset:0}.pdf-spinner{border:2px solid #ddd;border-top-color:#141414;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}
