:root{--bg-base:#faf9f7;--bg-elevated:#fff;--bg-overlay:#fff;--surface-glass:#fff;--surface-sunken:#f2f0eb;--surface-hover:#efede7;--text-primary:#1c1b19;--text-secondary:#57554f;--text-tertiary:#8b887f;--text-quiet:#b6b2a8;--violet:#c0392b;--violet-deep:#9b2d20;--pink:#c0392b;--cyan:#c0392b;--emerald:#1e8e68;--amber:#b07514;--rose:#c0392b;--grad-primary:linear-gradient(180deg, #cb4434 0%, #a8301f 100%);--grad-secondary:linear-gradient(180deg, #cb4434 0%, #a8301f 100%);--grad-success:linear-gradient(180deg, #229e73 0%, #167c5b 100%);--grad-danger:linear-gradient(180deg, #cb4434 0%, #a8301f 100%);--grad-rule:linear-gradient(90deg, transparent, #1c1b191a, transparent);--border-hair:#1c1b1914;--border-soft:#1c1b1921;--border-strong:#1c1b1938;--border-violet:#c0392b73;--font-sans:"Manrope", system-ui, -apple-system, sans-serif;--font-display:"Space Grotesk", "Manrope", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--text-display:46px;--text-h1:30px;--text-h2:21px;--text-h3:17px;--text-body:16px;--text-small:13px;--text-mini:11px;--radius-sm:8px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--radius-pill:9999px;--shadow-card:0 1px 2px #1c1b190a, 0 1px 3px #1c1b190d;--shadow-elev:0 8px 28px #1c1b191f, 0 2px 8px #1c1b190f;--shadow-glow:0 0 0 0 transparent;--shadow-glow-pink:0 0 0 0 transparent;--shadow-glow-cyan:0 0 0 0 transparent;--inset-highlight:inset 0 0 0 0 transparent;--color-primary:var(--violet);--color-primary-light:#c0392b1a;--color-primary-border:var(--border-violet);--color-primary-strong:var(--violet-deep);--color-bg:var(--bg-base);--color-surface:var(--bg-elevated);--color-border:var(--border-hair);--color-text:var(--text-primary);--color-text-secondary:var(--text-secondary);--color-text-muted:var(--text-tertiary);--color-warning-bg:#b075141a;--color-warning-border:#b075144d;--color-warning-dot:var(--amber);--color-ok-bg:#1e8e681a;--color-ok-border:#1e8e684d;--color-ok-dot:var(--emerald);--color-text-on-primary:#fff;--ink:var(--text-primary);--ink-soft:var(--text-secondary);--ink-mute:var(--text-tertiary);--paper:var(--bg-base);--paper-edge:var(--bg-overlay);--surface:var(--bg-elevated);--rule:var(--border-strong);--rule-soft:var(--border-hair);--accent:var(--violet);--accent-soft:#c0392b1a;--good:var(--emerald);--good-soft:#1e8e681f;--gold:var(--amber);--warn-bg:#b075141a;--warn-ink:var(--amber);--font-serif:var(--font-display);--text-kicker:var(--text-mini)}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg-base);color:var(--text-primary)}body{font-family:var(--font-sans);font-size:var(--text-body);font-feature-settings:"kern" 1, "ss01" 1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-weight:500;line-height:1.5;position:relative;overflow-x:hidden}#root{z-index:1;min-height:100vh;position:relative}.app-shell{--app-bottom-padding:36px;min-height:100vh}.app-shell--with-bottom-nav{--app-bottom-padding:calc(96px + env(safe-area-inset-bottom))}.app-navbar{z-index:100;-webkit-backdrop-filter:blur(24px)saturate(160%);border-bottom:1px solid var(--border-hair);background:#ffffffa6;justify-content:center;align-items:center;height:64px;padding:0 18px;display:flex;position:sticky;top:0}.app-navbar__inner{justify-content:space-between;align-items:center;width:100%;max-width:1120px;display:flex;position:relative}.app-navbar__inner.is-guest{justify-content:flex-end}.app-navbar__brand{align-items:center;display:inline-flex}.app-navbar__inner.is-guest .app-navbar__brand{position:absolute;left:50%;transform:translate(-50%)}.app-main{width:100%;max-width:720px;padding:24px 18px var(--app-bottom-padding);margin:0 auto}.app-main--wide{max-width:720px}.bottom-nav{bottom:calc(14px + env(safe-area-inset-bottom));max-width:calc(100vw - 32px - env(safe-area-inset-left) - env(safe-area-inset-right));-webkit-backdrop-filter:blur(24px)saturate(160%);border:1px solid var(--border-hair);border-radius:var(--radius-pill);z-index:90;background:#ffffffdb;justify-content:center;padding:5px;display:flex;position:fixed;left:50%;right:auto;transform:translate(-50%);box-shadow:0 14px 36px #1c1b1924,0 2px 10px #1c1b1914}.bottom-nav__inner{align-items:center;gap:4px;display:flex}.bottom-nav__link{border-radius:var(--radius-pill);width:42px;height:42px;font-family:var(--font-sans);letter-spacing:0;color:var(--text-tertiary);box-shadow:none;white-space:nowrap;background:0 0;border:1px solid #0000;flex:0 0 42px;justify-content:center;align-items:center;gap:0;padding:0;font-size:14px;font-weight:700;line-height:1;transition:all .18s;display:inline-flex;overflow:hidden}.bottom-nav__link svg{flex:none;width:17px;height:17px}.bottom-nav__link span{display:none}.bottom-nav__link.is-active{color:#fff;background:var(--grad-primary);flex-basis:auto;gap:7px;width:auto;min-width:108px;padding:0 16px;box-shadow:0 2px 8px #1c1b1929}.bottom-nav__link.is-active span{display:inline}.auth-shell{background:var(--bg-base);flex-direction:column;height:100dvh;min-height:0;display:flex;overflow:hidden}.auth-main{text-align:center;-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;justify-content:safe center;width:100%;max-width:400px;min-height:0;margin:0 auto;padding:24px;display:flex;overflow:hidden auto}.auth-panel{width:100%}.desktop-workspace,.desktop-single-column,.empty-hero,.upload-workspace,.profile-workspace{display:block}.desktop-single-column{max-width:720px;margin:0 auto}.desktop-sidebar,.profile-sidebar{min-width:0}.empty-hero__features{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:48px;display:grid}.invoice-analysis-preview{min-height:336px;margin-top:48px;position:relative;overflow:hidden}.invoice-analysis-preview:before{content:"";background:var(--surface-sunken);border:1px solid var(--border-hair);border-radius:var(--radius-xl);position:absolute;inset:22px 0 18px}.invoice-analysis-preview:after{content:"";z-index:1;border-top:1px dashed #c0392b52;position:absolute;top:164px;left:34%;right:18%}.invoice-analysis-preview__paper,.invoice-analysis-preview__diagnosis{z-index:2;box-sizing:border-box;background:var(--bg-elevated);border:1px solid var(--border-hair);position:absolute;box-shadow:0 14px 34px #1c1b191f,0 2px 8px #1c1b190f}.invoice-analysis-preview__paper{border-radius:16px;width:min(258px,100% - 84px);min-height:224px;padding:15px;top:0;left:8px;overflow:hidden;transform:rotate(-1.6deg)}.invoice-analysis-preview__paper-head,.invoice-analysis-preview__diagnosis-head{align-items:center;gap:10px;min-width:0;display:flex}.invoice-analysis-preview__paper-head svg,.invoice-analysis-preview__diagnosis-head svg{box-sizing:content-box;color:var(--violet);background:#c0392b14;border:1px solid #c0392b33;border-radius:9px;flex:none;padding:8px;display:inline-flex}.invoice-analysis-preview__paper-head span,.invoice-analysis-preview__diagnosis-head span{min-width:0}.invoice-analysis-preview__paper-head strong,.invoice-analysis-preview__paper-head small,.invoice-analysis-preview__diagnosis-head strong,.invoice-analysis-preview__diagnosis-head small{text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-sans);display:block;overflow:hidden}.invoice-analysis-preview__paper-head strong,.invoice-analysis-preview__diagnosis-head strong{color:var(--text-primary);font-size:13px;font-weight:850}.invoice-analysis-preview__paper-head small,.invoice-analysis-preview__diagnosis-head small{color:var(--text-tertiary);margin-top:2px;font-size:10px;font-weight:650}.invoice-analysis-preview__total{background:var(--surface-sunken);border:1px solid var(--border-hair);border-radius:var(--radius-md);margin-top:18px;padding:14px}.invoice-analysis-preview__total,.invoice-analysis-preview__lines div,.invoice-analysis-preview__finding{justify-content:space-between;align-items:center;gap:12px;display:flex}.invoice-analysis-preview__lines{gap:9px;margin-top:12px;display:grid}.invoice-analysis-preview__total span,.invoice-analysis-preview__lines span,.invoice-analysis-preview__finding span,.invoice-analysis-preview__note{text-overflow:ellipsis;min-width:0;font-family:var(--font-sans);color:var(--text-secondary);overflow:hidden}.invoice-analysis-preview__total span,.invoice-analysis-preview__lines span,.invoice-analysis-preview__finding span{white-space:nowrap;font-size:11px;font-weight:700}.invoice-analysis-preview__total strong,.invoice-analysis-preview__lines strong,.invoice-analysis-preview__finding strong{font-family:var(--font-display);color:var(--text-primary);flex-shrink:0;font-weight:800}.invoice-analysis-preview__total strong{font-size:18px}.invoice-analysis-preview__lines strong,.invoice-analysis-preview__finding strong{font-size:13px}.invoice-analysis-preview__scan-line{border-radius:var(--radius-pill);background:var(--violet);opacity:.74;height:2px;animation:2.6s ease-in-out infinite invoice-analysis-scan;position:absolute;top:74px;left:14px;right:14px}.invoice-analysis-preview__reader{z-index:4;border-radius:var(--radius-pill);background:var(--grad-primary);color:#fff;align-items:center;gap:7px;padding:9px 12px;display:inline-flex;position:absolute;top:148px;left:50%;transform:translate(-50%);box-shadow:0 8px 20px #9b2d2038}.invoice-analysis-preview__reader span{font-family:var(--font-sans);white-space:nowrap;font-size:11px;font-weight:850}.invoice-analysis-preview__diagnosis{border-radius:var(--radius-lg);width:min(282px,78%);padding:15px;bottom:0;right:8px;transform:rotate(1.2deg)}.invoice-analysis-preview__diagnosis-head{margin-bottom:13px}.invoice-analysis-preview__finding{border:1px solid var(--border-hair);border-radius:var(--radius-md);background:var(--surface-sunken);padding:10px 12px}.invoice-analysis-preview__finding+.invoice-analysis-preview__finding{margin-top:8px}.invoice-analysis-preview__finding--strong{background:#c0392b14;border:1px solid #c0392b2e}.invoice-analysis-preview__finding--strong strong{color:var(--violet)}.invoice-analysis-preview__note{border-top:1px solid var(--border-hair);margin-top:10px;padding-top:10px;font-size:11px;font-weight:650;line-height:1.45}.invoice-groups,.card-grid{flex-direction:column;gap:34px;display:flex}.card-grid{gap:12px}@media (width>=900px){html{scrollbar-gutter:stable}.app-navbar{padding:0 32px}.app-main{padding:32px 32px var(--app-bottom-padding)}.app-main--wide{max-width:1120px}.auth-main{align-items:center;max-width:1120px;padding:42px 32px}.auth-panel{background:var(--bg-elevated);border:1px solid var(--border-hair);border-radius:var(--radius-lg);max-width:420px;box-shadow:var(--shadow-card);padding:34px}.empty-hero{grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);align-items:center;gap:56px;min-height:calc(100dvh - 180px);display:grid}.empty-hero__features{grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;margin-top:0}.invoice-analysis-preview{min-height:266px;margin-top:30px}.invoice-analysis-preview:before{inset:30px 0}.invoice-analysis-preview:after{top:132px;left:43%;right:43%}.invoice-analysis-preview__paper{width:min(330px,46%);min-height:218px;top:18px;left:14px}.invoice-analysis-preview__reader{top:116px}.invoice-analysis-preview__diagnosis{width:min(318px,45%);top:42px;bottom:auto;right:12px}.desktop-workspace{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);align-items:start;gap:24px;display:grid}.home-card-panel{margin-top:20px}.home-card-panel__sidebar-placeholder{visibility:hidden;pointer-events:none}.desktop-primary,.desktop-sidebar{min-width:0}.desktop-sidebar{position:sticky;top:88px}.desktop-primary>:first-child,.desktop-sidebar>:first-child,.profile-main>:first-child,.profile-sidebar>:first-child{margin-top:0!important}.upload-workspace{max-width:720px;margin:44px auto 0}.upload-heading{max-width:520px}.upload-panel{min-width:0}.invoice-groups{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),560px));justify-content:start;align-items:start;gap:28px;display:grid}.card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));align-items:start;gap:14px;display:grid}.card-grid>*{width:100%;max-width:560px}.profile-workspace{grid-template-columns:minmax(0,1fr) minmax(300px,.78fr);align-items:start;gap:24px;display:grid}.profile-sidebar{position:sticky;top:88px}}@media (width>=1280px){.app-shell--with-bottom-nav{--app-bottom-padding:48px}.bottom-nav{border:1px solid var(--border-hair);border-radius:var(--radius-lg);max-width:none;box-shadow:var(--shadow-card);padding:8px;inset:96px auto auto max(24px,50vw - 676px);transform:none}.bottom-nav__inner{flex-direction:column;gap:6px;width:96px;max-width:none;display:flex}.bottom-nav__link{border-radius:var(--radius-md);white-space:normal;text-align:center;flex-direction:column;flex:none;gap:5px;width:100%;min-width:0;height:auto;min-height:56px;padding:8px;font-size:11px;line-height:1.15;overflow:visible}.bottom-nav__link.is-active{width:100%;min-width:0;color:var(--violet);box-shadow:none;background:#c0392b1a;border-color:#c0392b38;gap:5px;padding:8px}.bottom-nav__link span,.bottom-nav__link.is-active span{display:inline}}button{cursor:pointer;color:inherit;font-family:inherit}a{color:inherit;text-decoration:none}input,textarea,select{color:inherit;font-family:inherit}::selection{color:var(--text-primary);background:#c0392b29}.tnum{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.grad-text,.grad-text-cyan{color:var(--violet);-webkit-text-fill-color:var(--violet)}.glass{background:var(--surface-glass);border:1px solid var(--border-hair);box-shadow:var(--shadow-card)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes progress-indeterminate{0%{width:0%;margin-left:0%}50%{width:60%;margin-left:20%}to{width:0%;margin-left:100%}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes glow-pulse{0%,to{opacity:.45}50%{opacity:1}}@keyframes gradient-shift{0%,to{background-position:0%}50%{background-position:100%}}@keyframes dropzone-icon-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes invoice-analysis-scan{0%,to{opacity:.36;transform:translateY(0)}50%{opacity:.82;transform:translateY(126px)}}@media (prefers-reduced-motion:reduce){.invoice-analysis-preview__scan-line{animation:none}}.no-scrollbar{scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}:focus-visible{box-shadow:0 0 0 2px var(--bg-base), 0 0 0 4px #c0392b66;border-radius:var(--radius-sm);outline:none}
