:root{color:#18181b;font-synthesis:none;background:#f4f4f5;font-family:Fira Sans,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}[hidden]{display:none!important}.auth-shell{background:radial-gradient(circle at 15% 15%,#8b5cf63b,#0000 30rem),radial-gradient(circle at 85% 85%,#ffffff14,#0000 28rem),#161616;place-items:center;min-height:100vh;padding:32px 20px;display:grid}.auth-card{background:#fff;border-radius:24px;width:min(100%,440px);padding:34px;box-shadow:0 30px 90px #00000061}.brand{align-items:center;gap:11px;display:flex}.brand--login{margin-bottom:58px}.brand-mark{color:#fff;background:#171717;border-radius:11px;place-items:center;width:40px;height:40px;font-size:18px;font-weight:700;display:grid}.brand strong,.brand small{display:block}.brand strong{font-size:16px;line-height:1.05}.brand small{color:#71717a;margin-top:3px;font-size:12px}.eyebrow{color:#7c3aed;letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:700;display:block}.auth-copy h1{letter-spacing:-.045em;margin:10px 0 12px;font-size:clamp(28px,8vw,38px);line-height:1.08}.auth-copy p{color:#71717a;margin:0 0 28px;line-height:1.55}.stack{gap:16px;display:grid}label{color:#3f3f46;font-size:13px;font-weight:600}input,select{color:#18181b;background:#fff;border:1px solid #e4e4e7;border-radius:10px;outline:none;width:100%;margin-top:7px;padding:11px 13px;transition:border .18s,box-shadow .18s}input:focus,select:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61f}.button{border:0;border-radius:10px;padding:12px 18px;font-size:14px;font-weight:600;transition:transform .15s,opacity .15s,background .15s}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.48}.button--dark{color:#fff;background:#18181b}.button--violet{color:#fff;background:#7c3aed}.button--violet:hover:not(:disabled){background:#6d28d9}.button--ghost{color:#52525b;background:#f4f4f5}.text-button{color:#71717a;background:0 0;border:0;width:max-content;padding:0;font-size:13px}.app-shell{background:#f4f4f5;min-height:100vh}.topbar{background:#fff;border-bottom:1px solid #e4e4e7;justify-content:space-between;align-items:center;height:72px;padding:0 max(22px,50vw - 490px);display:flex}.topbar-actions{align-items:center;gap:16px;display:flex}.connected{color:#71717a;align-items:center;gap:7px;font-size:12px;display:flex}.connected i{background:#22c55e;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #dcfce7}.icon-button{color:#71717a;background:#fff;border:1px solid #e4e4e7;border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.icon-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px}.workspace{width:min(100% - 32px,760px);margin:0 auto;padding:68px 0 36px}.intro{margin-bottom:25px}.intro h1{letter-spacing:-.05em;margin:7px 0 5px;font-size:clamp(32px,7vw,46px);line-height:1}.intro p{color:#71717a;margin:0;font-size:16px}.upload-card,.review-card,.success-card{background:#fff;border:1px solid #e4e4e7;border-radius:18px;box-shadow:0 10px 30px #18181b0b}.upload-card{padding:12px}.drop-zone{text-align:center;cursor:pointer;background:#fafafa;border:2px dashed #d4d4d8;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;min-height:330px;padding:32px;transition:border-color .18s,background .18s,transform .18s;display:flex}.drop-zone:hover,.drop-zone.is-dragging{background:#faf5ff;border-color:#8b5cf6;transform:scale(.997)}.drop-zone input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.upload-icon{color:#7c3aed;background:#ede9fe;border-radius:17px;place-items:center;width:58px;height:58px;margin-bottom:18px;display:grid}.upload-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:27px}.drop-zone strong{font-size:18px}.drop-zone>span:not(.upload-icon){color:#71717a;margin-top:5px;font-weight:400}.drop-zone small{color:#a1a1aa;margin-top:18px;font-weight:400}.working{color:#71717a;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:330px;display:flex}.working strong{color:#27272a;margin:20px 0 5px}.spinner{border:3px solid #ede9fe;border-top-color:#7c3aed;border-radius:50%;width:42px;height:42px;animation:.75s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.review-card{padding:26px}.review-head{border-bottom:1px solid #f0f0f2;grid-template-columns:48px 1fr auto;align-items:center;gap:14px;padding-bottom:22px;display:grid}.document-icon{color:#52525b;background:#f4f4f5;border-radius:13px;place-items:center;width:48px;height:48px;display:grid}.document-icon svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:23px}.review-head h2{margin:4px 0 1px;font-size:17px}.review-head p{color:#a1a1aa;margin:0;font-size:12px}.status-pill{color:#15803d;background:#dcfce7;border-radius:999px;align-self:start;padding:7px 9px;font-size:11px;font-weight:700}.status-pill--warning{color:#a16207;background:#fef3c7}.facts{background:#ececef;border:1px solid #ececef;border-radius:12px;grid-template-columns:1.4fr 1fr 1fr;gap:1px;margin:22px 0;display:grid;overflow:hidden}.facts div{background:#fafafa;min-width:0;padding:15px}.facts span,.facts strong{display:block}.facts span{color:#a1a1aa;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:10px;font-weight:700}.facts strong{color:#27272a;text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.expense-field{max-width:100%;display:block}.expense-field small{color:#71717a;min-height:18px;margin-top:7px;font-weight:400;display:block}.review-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.message{border-radius:10px;margin:14px 0 0;padding:11px 13px;font-size:13px;line-height:1.4}.message--error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.message--warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a;margin-bottom:18px}.success-card{text-align:center;padding:54px 28px}.success-icon{color:#16a34a;background:#dcfce7;border-radius:50%;place-items:center;width:64px;height:64px;margin:0 auto 22px;display:grid}.success-icon svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:30px}.success-card h2{letter-spacing:-.03em;margin:8px 0;font-size:27px}.success-card p{color:#71717a;max-width:430px;margin:0 auto 24px;line-height:1.55}.help{color:#a1a1aa;text-align:center;margin-top:20px;font-size:12px}.help span{color:#71717a;font-weight:600}@media (width<=640px){.auth-card{border-radius:20px;padding:26px}.brand--login{margin-bottom:42px}.topbar{height:64px;padding:0 16px}.connected{display:none}.workspace{padding-top:44px}.drop-zone{min-height:290px;padding:24px 16px}.review-card{padding:18px}.review-head{grid-template-columns:44px 1fr}.status-pill{grid-column:1/-1;justify-self:start}.facts{grid-template-columns:1fr 1fr}.facts div:first-child{grid-column:1/-1}.review-actions{grid-template-columns:1fr;display:grid}.button--violet{order:-1}}
