:root{--ink:#171512;--ink-2:#1d1913;--charcoal:#241f1a;--cream:#fbf8f1;--cream-2:#f7efd8;--gold:#d4af37;--gold-light:#e6c868;--gold-dark:#b8912b;--gold-muted:#c9a24b;--card:#fff;--card-border:#ece5d6;--row-border:#f4efe5;--text-dim:#8a8378;--text-body:#5a5344;--soft-gold:#fbf3da;--success:#2e7d5b;--success-bg:#e4f1e9;--danger:#b23a48;--danger-bg:#f6e4e4;--amber-bg:#f6eac2;color:var(--ink);background:var(--cream);font-family:Manrope,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--cream)}a{color:var(--gold-dark);text-decoration:none}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}.serif{font-family:Georgia,Times New Roman,serif}.btn{border:none;border-radius:12px;align-items:center;gap:8px;padding:11px 18px;font-size:14px;font-weight:700;transition:transform 80ms,opacity .15s,background .15s;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:default}.btn-gold{background:linear-gradient(180deg, var(--gold-light), var(--gold));color:#1b1509}.btn-dark{background:var(--ink);color:var(--cream-2)}.btn-ghost{color:var(--ink);border:1px solid var(--card-border);background:#fff}.btn-danger{background:var(--danger-bg);color:var(--danger)}.btn-sm{border-radius:9px;padding:7px 12px;font-size:12.5px}.card{background:var(--card);border:1px solid var(--card-border);border-radius:18px;box-shadow:0 14px 30px -24px #201c1580}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field label{letter-spacing:1px;color:var(--gold-dark);text-transform:uppercase;font-size:11px;font-weight:800}.input{border:1px solid var(--card-border);color:var(--ink);background:#fff;border-radius:11px;outline:none;width:100%;padding:11px 13px;font-size:14px;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #d4af372e}textarea.input{resize:vertical;min-height:76px}.pill{border-radius:20px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:800;display:inline-flex}.dot{border-radius:50%;width:7px;height:7px}.muted{color:var(--text-dim)}.spinner{border:3px solid #d4af3740;border-top-color:var(--gold);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.fade-up{animation:.35s both fadeUp}
