:root{--accent:#0e8a96;--accent-text:#0e8a96;--ink:#121826;--muted:#5c6778;--gutter:48px}html[data-theme=dark],html[data-theme=auto]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page-bg:#0c1118;--page-fg:#f5f8fc;--nav-bg:#0c1118e0;--nav-border:#ffffff1f;--nav-link:#eef3f7;--ghost-border:#ffffff59;--ghost-fg:#fff;--hero-glow:#5eead438;--accent-text:#7ee8ef;--panel-bg:#151c26;--card-bg:#ffffff17;--card-fg:#f5f8fc;--card-muted:#d5dde6;--card-border:#ffffff38;--card-shadow:none;--foot-bg:#080c12;--grain:.012;--muted:#cdd6e0;--hairline:#ffffff1f;--danger:#fecaca;--danger-bg:#7f1d1d73;--danger-border:#f8717173;--field-bg:#0c1118}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page-bg:#f4f6f8;--page-fg:#121826;--nav-bg:#f4f6f8e0;--nav-border:#0c111814;--nav-link:#2a3441;--ghost-border:#0c111829;--ghost-fg:#0c1118;--hero-glow:#0e8a9624;--accent-text:#0e8a96;--panel-bg:#fff;--card-bg:#fff;--card-fg:#121826;--card-muted:#5c6778;--card-border:#12182642;--card-shadow:0 1px 0 #1018280a;--foot-bg:#121826;--grain:.02;--hairline:#1218261a;--danger:#b91c1c;--danger-bg:#fef2f2;--danger-border:#fecaca;--field-bg:#f8fafc}@media (prefers-color-scheme:light){html[data-theme=auto]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page-bg:#f4f6f8;--page-fg:#121826;--nav-bg:#f4f6f8e0;--nav-border:#0c111814;--nav-link:#2a3441;--ghost-border:#0c111829;--ghost-fg:#0c1118;--hero-glow:#0e8a9624;--accent-text:#0e8a96;--panel-bg:#fff;--card-bg:#fff;--card-fg:#121826;--card-muted:#5c6778;--card-border:#12182642;--card-shadow:0 1px 0 #1018280a;--foot-bg:#121826;--grain:.02;--muted:#5c6778;--hairline:#1218261a;--danger:#b91c1c;--danger-bg:#fef2f2;--danger-border:#fecaca;--field-bg:#f8fafc}}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{color:var(--page-fg);background:var(--page-bg);font-family:Sarabun,Noto Sans Thai,sans-serif;line-height:1.5}.grain{pointer-events:none;z-index:40;opacity:var(--grain);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}a{color:inherit;text-decoration:none}button,input{font:inherit}.logo-light{display:none}.logo-dark,html[data-theme=light] .logo-light{display:block}html[data-theme=light] .logo-dark{display:none}@media (prefers-color-scheme:light){html[data-theme=auto] .logo-light{display:block}html[data-theme=auto] .logo-dark{display:none}}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.topbar{z-index:30;min-height:72px;padding:8px max(var(--gutter), env(safe-area-inset-right)) 8px max(var(--gutter), env(safe-area-inset-left));background:var(--nav-bg);color:var(--nav-link);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--nav-border);justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.brand{color:var(--page-fg);letter-spacing:-.03em;align-items:center;gap:10px;font-family:Outfit,Sarabun,sans-serif;font-weight:800;display:flex}.brand img{object-fit:contain;width:64px;height:64px}.brand span{flex-direction:column;line-height:1.05;display:flex}.brand small{color:var(--accent-text);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}.topbar-actions{align-items:center;gap:10px;display:flex}.theme-switch{border:1px solid var(--ghost-border);background:color-mix(in srgb, var(--page-bg) 55%, transparent);border-radius:999px;align-items:center;padding:2px;display:inline-flex}.theme-switch button{width:28px;height:28px;color:var(--nav-link);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;padding:0;display:grid}.theme-switch button.is-on{background:var(--accent);color:#fff}.theme-switch svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.theme-switch button:last-child svg{fill:currentColor;stroke:none}.theme-switch button:last-child svg path{fill:var(--page-bg)}.theme-switch button:last-child.is-on svg path{fill:var(--accent)}.page{width:min(1120px,100% - 32px);margin:28px auto 48px}.card{background:var(--card-bg);color:var(--card-fg);border:1px solid var(--card-border);box-shadow:var(--card-shadow);border-radius:12px}.hero{justify-content:space-between;align-items:flex-end;gap:16px;padding:8px 0 16px;display:flex}.hero h1,.detail-head h1,.auth-panel h1{letter-spacing:-.04em;margin:0;font-family:Outfit,Sarabun,sans-serif;font-weight:800;line-height:1.1}.hero h1{font-size:clamp(28px,4vw,40px)}.muted{color:var(--muted);margin:6px 0 0}.btn{cursor:pointer;background:var(--accent);color:#fff;text-align:center;border:0;border-radius:10px;justify-content:center;align-items:center;min-height:44px;padding:0 18px;font-family:Outfit,Sarabun,sans-serif;font-weight:700;line-height:1;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.secondary,.btn.ghost{border:1px solid var(--ghost-border);color:var(--ghost-fg);background:0 0}.upload{border:1px dashed var(--card-border);text-align:center;background:var(--card-bg);color:var(--card-fg);border-radius:12px;margin:0 0 24px;padding:22px}.upload.dragging{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--page-bg))}.upload-pick{margin-top:12px;position:relative}.upload-pick input{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.receipt-card{border:1px solid var(--card-border);background:var(--card-bg);color:var(--card-fg);box-shadow:var(--card-shadow);border-radius:12px;gap:10px;min-height:220px;padding:16px;display:grid}.receipt-card:hover{border-color:var(--accent)}.thumb{background:color-mix(in srgb, var(--page-fg) 6%, var(--page-bg));border-radius:10px;place-items:center;height:140px;display:grid;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%}.meta{gap:4px;display:grid}.meta strong{font-size:16px}.meta .muted,.receipt-card .muted{color:var(--card-muted)}.pill{background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent-text);border-radius:999px;align-items:center;padding:4px 10px;font-family:Outfit,Sarabun,sans-serif;font-size:12px;font-weight:700;display:inline-flex}.table-wrap{border:1px solid var(--card-border);background:var(--card-bg);border-radius:12px;margin-top:8px;overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--hairline);padding:10px 12px;font-size:14px}th{color:var(--muted);font-weight:600}.preview-pane img{border:1px solid var(--card-border);background:#fff;border-radius:12px;width:100%;display:block}.error{color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:12px;margin:0 0 16px;padding:10px 12px}.empty{text-align:center;color:var(--muted);padding:32px 0}.auth-panel{text-align:center;width:min(420px,100% - 32px);margin:12vh auto;padding:32px}.auth-panel h1{margin:0 0 8px;font-size:32px}.auth-actions{justify-content:center;gap:10px;margin-top:20px;display:flex}.clerk-auth{justify-content:center;padding:48px 16px 64px;display:flex}.detail-head{justify-content:space-between;align-items:flex-start;gap:12px;padding:8px 0 16px;display:flex}.detail-head h1{margin-top:8px;font-size:clamp(26px,4vw,36px)}@media (width<=900px){:root{--gutter:20px}.brand img{width:52px;height:52px}}
