:root{--brand-ink:#1a1815;--brand-paper:#f1f2ef;--brand-warm-gray:#dedcd2;--brand-bolt:#ee4627;--brand-bolt-hover:#c13d27;--brand-bolt-deep:#9e3822;--brand-mosaic:#6f225b;--brand-teal:#3e7692;--brand-gold:#f4b824;--brand-gold-text:#b5860d;--bg-app:#f1f2ef;--bg-surface:#fff;--bg-subtle:#e9eae4;--bg-hover:#e2e3dc;--bg-active:#d9dacf;--bg-inverse:#1a1815;--border:#dedcd2;--border-strong:#c2c0b5;--border-faint:#eae8e0;--fg:#1a1815;--fg-soft:#4d4a45;--fg-muted:#7a766f;--fg-faint:#a8a49c;--fg-inverse:#f1f2ef;--accent:#ee4627;--accent-hover:#c13d27;--accent-soft:oklch(96.3408% .0209351 32.6164);--accent-fg:#fff;--ai:#6f225b;--ai-light:#a8568c;--ai-soft:oklch(95.1359% .0102452 339.658);--success:#3e7692;--success-soft:oklch(95.3934% .00735203 232.096);--warning:#f4b824;--warning-text:#b5860d;--warning-soft:oklch(97.4261% .0224082 83.4799);--danger:#9e3822;--danger-soft:oklch(94.8314% .0140387 33.8026);--info:#3e7692;--info-soft:oklch(95.3934% .00735203 232.096);--r-sm:4px;--r:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--shadow-xs:0 1px 0 #14120f0a;--shadow-sm:0 1px 2px #14120f0d, 0 1px 0 #14120f08;--shadow-md:0 4px 12px #14120f0f, 0 1px 2px #14120f0a;--shadow-lg:0 12px 32px #14120f1a, 0 2px 8px #14120f0d;--font-sans:"Geist", -apple-system, system-ui, sans-serif;--font-mono:"Geist Mono", ui-monospace, "SF Mono", monospace}*,:before,:after{box-sizing:border-box}html,body,#root{background:var(--bg-app);height:100%;margin:0;padding:0}body{font-family:var(--font-sans);font-feature-settings:"ss01", "cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--fg);font-size:14px;line-height:1.45}.num,.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.hr{background:var(--border);width:100%;height:1px}.btn{background:var(--bg-surface);height:32px;color:var(--fg);border:1px solid var(--border-strong);border-radius:var(--r);cursor:pointer;font-size:13px;font-weight:500;font-family:var(--font-sans);box-shadow:var(--shadow-xs);white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 12px;text-decoration:none;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover{background:var(--bg-hover)}.btn.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent);box-shadow:0 1px 2px #14120f1a,inset 0 1px #ffffff1f}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.ghost{box-shadow:none;color:var(--fg-soft);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--bg-hover);color:var(--fg)}.btn.sm{border-radius:var(--r-sm);height:26px;padding:0 8px;font-size:12px}.btn.lg{height:38px;padding:0 16px;font-size:14px}.btn.icon{width:32px;padding:0}.btn.icon.sm{width:26px}.input{background:var(--bg-surface);width:100%;height:32px;color:var(--fg);border:1px solid var(--border-strong);border-radius:var(--r);font-size:13px;font-family:var(--font-sans);outline:none;padding:0 10px;transition:border-color .12s,box-shadow .12s}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input::placeholder{color:var(--fg-faint)}.label{color:var(--fg-muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:500}.badge{background:var(--bg-subtle);height:20px;color:var(--fg-soft);border:1px solid var(--border);border-radius:999px;align-items:center;gap:4px;padding:0 7px;font-size:11px;font-weight:500;display:inline-flex}.badge .dot{background:currentColor;border-radius:50%;width:6px;height:6px}.badge.success{background:var(--success-soft);color:var(--success);border-color:#0000}.badge.warning{background:var(--warning-soft);color:var(--warning-text);border-color:#0000}.badge.danger{background:var(--danger-soft);color:var(--danger);border-color:#0000}.badge.info{background:var(--info-soft);color:var(--info);border-color:#0000}.badge.ai{background:var(--ai-soft);color:var(--ai);border-color:#0000}.badge.accent{background:var(--accent-soft);color:var(--accent);border-color:#0000}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-xs)}.receipt-thumb{border-radius:var(--r-sm);border:1px solid var(--border);background:repeating-linear-gradient(#0000 0 11px,#14120f0a 11px 12px),linear-gradient(#fdfcf8 0%,#f6f4ee 100%);flex-shrink:0;position:relative;overflow:hidden}.receipt-thumb:after{content:"";height:8px;filter:drop-shadow(0 -1px 0 var(--border));background:radial-gradient(circle at 4px 0,#0000 3px,#fdfcf8 3.5px) 0 0/8px 8px;position:absolute;bottom:-3px;left:0;right:0}.ai-highlight{background:linear-gradient(0deg, var(--ai-soft), var(--ai-soft));border-bottom:1px dashed var(--ai)}.row{border-bottom:1px solid var(--border-faint);align-items:center;gap:12px;padding:12px 16px;display:flex}.row:last-child{border-bottom:none}.tabs{border-bottom:1px solid var(--border);gap:2px;display:flex}.tab{color:var(--fg-muted);cursor:pointer;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 12px;font-size:13px;font-weight:500;transition:color .12s}.tab:hover{color:var(--fg)}.tab.active{color:var(--fg);border-bottom-color:var(--fg)}.nav-item{border-radius:var(--r);color:var(--fg-soft);cursor:pointer;align-items:center;gap:8px;padding:6px 10px;font-size:13px;text-decoration:none;display:flex}.nav-item:hover{background:var(--bg-hover);color:var(--fg)}.nav-item.active{background:var(--bg-active);color:var(--fg);font-weight:500}.nav-item svg{color:var(--fg-muted);flex-shrink:0}.nav-item.active svg{color:var(--fg)}.table{border-collapse:separate;border-spacing:0;width:100%}.table th{text-align:left;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border);padding:10px 12px;font-size:11px;font-weight:500}.table td{border-bottom:1px solid var(--border-faint);vertical-align:middle;padding:12px;font-size:13px}.table tr:hover td{background:var(--bg-hover)}.table tr:last-child td{border-bottom:none}.stripe-progress{background:var(--bg-active);border-radius:2px;height:4px;overflow:hidden}.stripe-progress>div{background:var(--accent);border-radius:2px;height:100%}.avatar{color:#fff;letter-spacing:.02em;background:linear-gradient(135deg,oklch(70% .08 60),oklch(55% .12 30));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:600;display:inline-flex}.dropzone{border:1.5px dashed var(--border-strong);border-radius:var(--r-lg);background:var(--bg-subtle);text-align:center;color:var(--fg-muted);padding:28px}.pill-btn{border:1px solid var(--border-strong);height:22px;color:var(--fg-soft);cursor:pointer;font-size:11px;font-weight:500;font-family:var(--font-sans);background:0 0;border-radius:999px;align-items:center;gap:4px;padding:0 8px;display:inline-flex}.pill-btn:hover{background:var(--bg-hover)}.pill-btn.selected{background:var(--fg);color:var(--fg-inverse);border-color:var(--fg)}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.skeleton{background:linear-gradient(90deg, var(--bg-subtle) 0%, var(--bg-hover) 50%, var(--bg-subtle) 100%);border-radius:var(--r);background-size:200% 100%;animation:1.4s ease-in-out infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.toast{animation:.18s ease-out toast-in}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}.mobile-tab-bar{min-height:72px;padding:8px 24px calc(20px + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border);z-index:100;background:#f1f2eff0;justify-content:space-around;align-items:center;gap:12px;display:none;position:fixed;bottom:0;left:0;right:0}@media (width<=767px){html,body,#root{max-width:100%;overflow-x:clip}.sidebar,.desktop-only{display:none!important}.mobile-tab-bar{display:flex}.main-content-with-sidebar{margin-left:0!important}.page-content-mobile-pad{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))!important}}@media (width>=768px){.mobile-only{display:none!important}}
