@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700&family=Instrument+Sans:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap";:root{--cream: #f5f0e6;--cream-2: #faf7f0;--paper: #fffef9;--ink: #1a1815;--ink-2: #3d3a34;--muted: #86827a;--muted-2: #b0aba1;--line: #e5dfd1;--line-2: #efeadd;--leaf: #2d5d3a;--leaf-soft: #e6ede5;--rust: #9c4221;--rust-soft: #f5e6dd;--ochre: #a67c1e;--ochre-soft: #f5ecd2}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;background:var(--cream);font-family:Instrument Sans,system-ui,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}.font-display{font-family:Fraunces,serif}.font-mono{font-family:JetBrains Mono,monospace}.loading-shell{display:flex;align-items:center;justify-content:center;min-height:100vh}.loading-text{color:var(--muted);font-size:12px;letter-spacing:.2em;text-transform:uppercase}.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background-color:var(--cream);background-image:radial-gradient(rgba(120,95,40,.03) 1px,transparent 1px),radial-gradient(rgba(120,95,40,.02) 1px,transparent 1px);background-size:16px 16px,8px 8px;background-position:0 0,4px 4px}.login-card{width:100%;max-width:420px;background:var(--cream-2);border:1px solid var(--line);border-radius:24px;padding:36px 28px 28px;box-shadow:0 0 0 1px #0000000a,0 30px 80px -20px #281e0a26}.login-brand{text-align:center;margin-bottom:28px}.login-logo{width:56px;height:auto;margin:0 auto 14px;display:block}.login-company{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);font-weight:600;line-height:1.4}.login-sub{margin-top:8px;font-family:Fraunces,serif;font-weight:600;font-size:22px;letter-spacing:-.02em;color:var(--ink)}.login-setup-note{background:#f5ecd2;border:1px solid #e8d8a8;border-radius:12px;padding:12px 14px;font-size:13px;line-height:1.5;color:var(--ink-2);margin-bottom:20px}.login-setup-note strong{color:var(--ink);font-weight:600}.field{margin-bottom:14px}.field label{display:block;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;font-family:inherit;font-size:16px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:10px 12px;outline:none;transition:border-color .12s;-webkit-tap-highlight-color:transparent}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ink)}.login-error{background:var(--rust-soft);color:var(--rust);border-radius:10px;padding:10px 12px;font-size:13px;margin:12px 0 4px}.login-btn{width:100%;background:var(--ink);color:var(--cream-2);border:none;border-radius:999px;padding:14px 16px;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;margin-top:8px;transition:opacity .12s}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-foot{text-align:center;margin-top:20px;font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted-2)}.app-shell{min-height:100vh;max-width:480px;margin:0 auto;display:flex;flex-direction:column;background:var(--cream);position:relative}.topbar{padding:14px 16px 12px;background:var(--cream-2);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.topbar-brand-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.topbar-brand-row .company{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);font-weight:600;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-user-row{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted)}.topbar-user-row button{background:none;border:none;cursor:pointer;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:4px}.topbar-user-row button:hover{color:var(--rust)}.topbar-title{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.topbar-title h1{margin:0;font-family:Fraunces,serif;font-weight:600;font-size:22px;letter-spacing:-.01em;color:var(--ink)}.topbar-title .topbar-action{background:var(--ink);color:var(--cream-2);border:none;border-radius:999px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer}.main{flex:1;overflow-y:auto;padding-bottom:96px}.main-section{padding:16px}.main-section+.main-section{padding-top:0}.bottom-nav{position:fixed;bottom:0;left:0;right:0;max-width:480px;margin:0 auto;background:var(--cream-2);border-top:1px solid var(--line);display:grid;padding:8px 0 12px;z-index:30}.bottom-nav button{background:none;border:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 4px;color:var(--muted);font-family:inherit;font-size:10px;letter-spacing:.05em;font-weight:600;position:relative}.bottom-nav button.active{color:var(--ink)}.bottom-nav button.active:after{content:"";position:absolute;top:-8px;width:24px;height:2px;background:var(--ink);border-radius:2px}.bottom-nav .badge{position:absolute;top:-2px;right:18%;min-width:16px;height:16px;background:var(--rust);color:#fff;border-radius:8px;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px}.card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:14px}.card+.card{margin-top:10px}.card h3{margin:0 0 6px;font-family:Fraunces,serif;font-weight:600;font-size:16px}.card .muted{color:var(--muted);font-size:12px}.balance-card{background:var(--cream-2);border:1px solid var(--line);border-radius:18px;padding:18px}.balance-card .label{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:8px}.balance-card .amount{font-family:Fraunces,serif;font-weight:600;font-size:32px;letter-spacing:-.02em;color:var(--ink)}.balance-card .secondary{font-size:12px;color:var(--muted);margin-top:4px}.badge-status{display:inline-block;font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:3px 8px;border-radius:999px;white-space:nowrap}.sheet-backdrop{position:fixed;inset:0;background:#14120e66;z-index:40;display:flex;align-items:flex-end;animation:fadein .2s ease-out}@keyframes fadein{0%{opacity:0}to{opacity:1}}.sheet{width:100%;max-width:480px;margin:0 auto;background:var(--cream-2);border-radius:24px 24px 0 0;padding:8px 18px 22px;max-height:92vh;overflow-y:auto;animation:slideup .24s ease-out}@keyframes slideup{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-handle{width:36px;height:4px;background:var(--muted-2);border-radius:2px;margin:6px auto 12px}.sheet-title{font-family:Fraunces,serif;font-weight:600;font-size:18px;letter-spacing:-.01em;margin:0 0 14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:inherit;font-size:14px;font-weight:600;border:none;border-radius:999px;padding:12px 18px;cursor:pointer;transition:opacity .12s;-webkit-tap-highlight-color:transparent}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--ink);color:var(--cream-2)}.btn-secondary{background:var(--paper);border:1px solid var(--line);color:var(--ink)}.btn-leaf{background:var(--leaf);color:var(--cream-2)}.btn-rust{background:var(--rust);color:#fff}.btn-block{width:100%;padding:14px}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:100px;z-index:50;padding:10px 16px;border-radius:999px;font-size:13px;font-weight:500;box-shadow:0 6px 16px -8px #0006}.toast.ok{background:var(--ink);color:var(--cream-2)}.toast.err{background:var(--rust);color:#fff}.toggle{display:flex;align-items:flex-start;gap:12px;cursor:pointer;padding:12px 0}.toggle input[type=checkbox]{margin-top:2px;width:18px;height:18px;accent-color:var(--ink)}.toggle .toggle-text{flex:1}.toggle .toggle-title{font-size:14px;font-weight:600}.toggle .toggle-desc{font-size:11px;color:var(--muted);margin-top:2px;line-height:1.4}.empty{text-align:center;padding:32px 16px;color:var(--muted)}.empty-icon{width:48px;height:48px;background:var(--cream);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;color:var(--muted-2)}.empty-title{font-family:Fraunces,serif;font-weight:600;font-size:16px;color:var(--ink-2);margin-bottom:4px}.empty-body{font-size:12px;line-height:1.5}.list-row{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--paper);border:1px solid var(--line);border-radius:12px;cursor:pointer;-webkit-tap-highlight-color:transparent}.list-row+.list-row{margin-top:6px}.list-row:hover{background:var(--cream-2)}.list-row .leading{width:32px;height:32px;background:var(--cream);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0;color:var(--ink-2);font-family:Fraunces,serif}.list-row .body{flex:1;min-width:0}.list-row .title{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-row .subtitle{font-size:11px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-row .trailing{text-align:right;flex-shrink:0}.list-row .trailing .amount{font-size:14px;font-weight:600;font-family:JetBrains Mono,monospace}.list-row .trailing .meta{font-size:10px;color:var(--muted);margin-top:2px}.section-header{display:flex;align-items:baseline;justify-content:space-between;margin:18px 0 10px}.section-header h2{margin:0;font-family:Fraunces,serif;font-weight:600;font-size:16px;color:var(--ink)}.section-header .action-link{background:none;border:none;cursor:pointer;font-family:inherit;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--leaf);display:flex;align-items:center;gap:4px}.timeline-step{display:flex;gap:10px;padding:8px 0}.timeline-step .dot{width:10px;height:10px;border-radius:50%;background:var(--line);margin-top:5px;flex-shrink:0}.timeline-step.done .dot{background:var(--leaf)}.timeline-step.current .dot{background:var(--ink)}.timeline-step .body{flex:1}.timeline-step .step-title{font-size:13px;font-weight:600}.timeline-step .step-meta{font-size:11px;color:var(--muted);margin-top:2px}.receipt-thumb{width:100%;max-height:300px;object-fit:contain;border-radius:12px;background:var(--cream);border:1px solid var(--line);margin-top:8px}
