:root{--green-dark:#1b4f2a;--green-mid:#2e7d46;--green-light:#4caf70;--green-pale:#e8f5ec;--gold:#c8a84b;--gold-pale:#fbf6e9;--text-primary:#1a1a1a;--text-secondary:#555;--text-muted:#888;--border:#ddd;--bg:#f7f8f5;--white:#fff;--radius:10px;--radius-lg:16px;--shadow:0 2px 12px #00000014;--shadow-lg:0 4px 24px #0000001f}*{box-sizing:border-box;margin:0;padding:0}.hero-img-frame{inset:0;position:absolute}body{-webkit-font-smoothing:antialiased;background:#f7f8f5;background:var(--bg);color:#1a1a1a;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6}a{color:#2e7d46;color:var(--green-mid);text-decoration:none}button{border:none;border-radius:10px;border-radius:var(--radius);cursor:pointer;font-family:inherit;font-size:1rem;transition:all .2s}.btn-primary{background:#2e7d46;background:var(--green-mid);color:#fff;font-weight:600;padding:14px 28px;width:100%}.btn-primary:hover{background:#1b4f2a;background:var(--green-dark)}.btn-primary:disabled{background:#aaa;cursor:not-allowed}.btn-secondary{background:#fff;border:2px solid #2e7d46;border:2px solid var(--green-mid);color:#2e7d46;color:var(--green-mid);font-weight:600;padding:12px 28px;width:100%}.btn-secondary:hover{background:#e8f5ec;background:var(--green-pale)}.btn-gold{background:#c8a84b;background:var(--gold);color:#fff;font-weight:600;padding:14px 28px;width:100%}.btn-gold:hover{background:#a8882e}input,select,textarea{-webkit-appearance:none;background:#fff;border:1.5px solid #ddd;border:1.5px solid var(--border);border-radius:10px;border-radius:var(--radius);color:#1a1a1a;color:var(--text-primary);font-family:inherit;font-size:1rem;padding:12px 16px;transition:border-color .2s;width:100%}input:focus,select:focus,textarea:focus{border-color:#2e7d46;border-color:var(--green-mid);outline:none}label{color:#555;color:var(--text-secondary);display:block;font-size:.875rem;font-weight:600;margin-bottom:6px}.form-group{margin-bottom:18px}.card{background:#fff;border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 2px 12px #00000014;box-shadow:var(--shadow);padding:24px}.error-msg{background:#fee;border:1px solid #fcc;border-radius:10px;border-radius:var(--radius);color:#c33}.error-msg,.success-msg{font-size:.9rem;margin-bottom:16px;padding:12px 16px}.success-msg{background:#e8f5ec;background:var(--green-pale);border:1px solid #4caf70;border:1px solid var(--green-light);border-radius:10px;border-radius:var(--radius);color:#1b4f2a;color:var(--green-dark)}.badge{border-radius:20px;display:inline-block;font-size:.75rem;font-weight:600;padding:4px 10px}.badge-pending{background:#fff3cd;color:#856404}.badge-active{background:#e8f5ec;background:var(--green-pale);color:#1b4f2a;color:var(--green-dark)}.badge-complete{background:#d1ecf1;color:#0c5460}.badge-invoiced{background:#e2d9f3;color:#432874}.badge-paid{background:#d4edda;color:#155724}.page-wrap{margin:0 auto;max-width:480px;padding:0 16px 100px}.section-title{color:#1a1a1a;color:var(--text-primary);font-size:1.25rem;font-weight:700;margin-bottom:16px}.divider{border:none;border-top:1px solid #ddd;border-top:1px solid var(--border);margin:20px 0}.empty-state{color:#888;color:var(--text-muted);padding:48px 24px;text-align:center}.bottom-nav{background:#fff;border-top:1px solid #ddd;border-top:1px solid var(--border);bottom:0;display:flex;left:0;padding-bottom:env(safe-area-inset-bottom);position:fixed;right:0;z-index:100}.bottom-nav a{align-items:center;color:#888;color:var(--text-muted);display:flex;flex:1 1;flex-direction:column;font-size:.7rem;font-weight:500;gap:4px;padding:10px 4px 8px}.bottom-nav a.active{color:#2e7d46;color:var(--green-mid)}.bottom-nav a svg{height:22px;width:22px}.app-header{align-items:center;background:#1b4f2a;background:var(--green-dark);color:#fff;display:flex;justify-content:space-between;padding:16px;position:-webkit-sticky;position:sticky;top:0;z-index:90}.app-header h1{font-size:1.1rem;font-weight:700;letter-spacing:.02em}.app-header .subtitle{font-size:.7rem;letter-spacing:.05em;opacity:.75}.spinner{align-items:center;display:flex;height:200px;justify-content:center}.spinner:after{animation:spin .7s linear infinite;border:3px solid #ddd;border-top-color:#2e7d46;border:3px solid var(--border);border-radius:50%;border-top-color:var(--green-mid);content:"";height:36px;width:36px}@keyframes spin{to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.b16eaac7.css.map*/