:root{font-family:DM Sans,system-ui,sans-serif;line-height:1.5;font-weight:400;color:#1a1a1a;background:#f8f6f2;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--accent: #c45a2e;--accent-hover: #a84a24;--card: #fff;--border: #e8e4dc;--muted: #6b6560;--success: #2d7a4f}*{box-sizing:border-box}body{margin:0;min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{border-radius:10px;border:none;padding:.65em 1.2em;font-size:1em;font-weight:600;font-family:inherit;background:var(--accent);color:#fff;cursor:pointer;transition:background .2s}button:hover{background:var(--accent-hover)}button:disabled{opacity:.6;cursor:not-allowed}button.secondary{background:var(--border);color:var(--muted)}button.secondary:hover{background:#ddd9d0;color:#1a1a1a}input,select{font:inherit;padding:.6em .85em;border:1px solid var(--border);border-radius:8px;background:var(--card);width:100%}input:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #c45a2e33}.app{max-width:480px;margin:0 auto;padding:1.5rem;min-height:100vh}.page-title{font-size:1.5rem;font-weight:700;margin:0 0 .5rem;color:#1a1a1a}.page-subtitle{color:var(--muted);margin:0 0 1.5rem;font-size:.95rem}.card{background:var(--card);border-radius:14px;padding:1.25rem;box-shadow:0 2px 12px #0000000f;margin-bottom:1rem}.form-group{margin-bottom:1rem}.form-group label{display:block;font-weight:500;margin-bottom:.35rem;font-size:.9rem}.error-msg{color:#b91c1c;font-size:.9rem;margin-top:.5rem}.points-badge{font-size:2rem;font-weight:800;color:var(--accent);text-align:center;padding:1rem 0}.nav-links{display:flex;gap:.75rem;margin-top:1rem;flex-wrap:wrap}.merchant-bar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--border);margin-bottom:1rem}.merchant-bar span{font-weight:600;color:var(--muted)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal{background:var(--card);border-radius:16px;padding:1.5rem;width:100%;max-width:420px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #00000026}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.modal-header h3{margin:0;font-size:1.15rem}.modal-close{background:none;border:none;font-size:1.5rem;color:var(--muted);cursor:pointer;padding:0;line-height:1}.modal-close:hover{color:#1a1a1a;background:none}
