:root{color:#f8fafc;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0b1020;font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}body{background:radial-gradient(circle at 0 0,#fbbf241f,#0000 28%),radial-gradient(circle at 100% 0,#38bdf81f,#0000 24%),#0b1020;min-width:320px;min-height:100vh;margin:0}#root{min-height:100vh}button,input{font:inherit}button{cursor:pointer}.app-shell{max-width:1280px;margin:0 auto;padding:24px 20px 48px}.app-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}.header-brand{align-items:center;gap:14px;display:flex}.brand-mark{color:#111827;background:linear-gradient(135deg,#fbbf24,#f97316);border-radius:14px;place-items:center;width:48px;height:48px;font-size:1.4rem;display:grid;box-shadow:0 10px 30px #fbbf2440}.brand-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:#fbbf24;margin:0;font-size:.78rem}.brand-title{margin:2px 0 0;font-size:1.35rem;font-weight:700}.header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.identity-pill{background:#ffffff0f;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;align-items:flex-end;padding:8px 12px;display:flex}.identity-label{text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;font-size:.72rem}.identity-value{font-size:.92rem;font-weight:600}.btn{border:none;border-radius:12px;padding:10px 16px;font-weight:600;transition:transform .15s,background .15s,border-color .15s}.btn:hover{transform:translateY(-1px)}.btn-primary{color:#111827;background:linear-gradient(135deg,#fbbf24,#f59e0b)}.btn-secondary{color:#f8fafc;background:#ffffff14;border:1px solid #ffffff1f}.btn-ghost{color:#cbd5e1;background:0 0;border:1px solid #ffffff1f}.btn-full{width:100%}.hero-banner{background:linear-gradient(135deg,#1e293bf2,#0f172af2);border:1px solid #ffffff14;border-radius:24px;grid-template-columns:1.4fr 1fr;gap:20px;margin-bottom:28px;padding:28px;display:grid;box-shadow:0 20px 60px #00000040}.hero-eyebrow,.section-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:#fbbf24;margin:0 0 8px;font-size:.78rem}.hero-copy h2{margin:0 0 10px;font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.15}.hero-copy p:last-child{color:#cbd5e1;max-width:52ch;margin:0}.hero-stats{gap:12px;display:grid}.stat-card{background:#ffffff0a;border:1px solid #ffffff14;border-radius:16px;flex-direction:column;padding:16px 18px;display:flex}.stat-value{font-size:1.35rem;font-weight:700}.stat-label{color:#94a3b8;font-size:.9rem}.rewards-section{gap:18px;display:grid}.section-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.section-title{margin:0 0 6px;font-size:1.5rem}.section-subtitle{color:#94a3b8;margin:0}.category-filters{flex-wrap:wrap;gap:10px;display:flex}.filter-chip{color:#e2e8f0;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:999px;padding:8px 14px}.filter-chip.active{color:#fde68a;background:#fbbf2429;border-color:#fbbf2473}.merchant-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;display:grid}.merchant-grid-ten{max-width:100%}.merchant-card{background:#0f172aeb;border:1px solid #ffffff14;border-radius:20px;gap:12px;padding:18px;display:grid;box-shadow:0 12px 30px #0000002e}.merchant-card-clickable{cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .15s}.merchant-card-clickable:hover,.merchant-card-clickable:focus-visible{border-color:#fbbf2459;outline:none;transform:translateY(-2px);box-shadow:0 16px 36px #0000003d}.merchant-card-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.merchant-logo{border-radius:16px;place-items:center;width:52px;height:52px;font-weight:700;display:grid}.reward-badge{color:#fde68a;background:#fbbf2429;border-radius:999px;padding:6px 10px;font-size:.82rem;font-weight:700}.merchant-name{margin:0;font-size:1.1rem}.merchant-category{color:#94a3b8;margin:0;font-size:.92rem}.merchant-meta{flex-wrap:wrap;gap:8px;display:flex}.meta-chip{color:#cbd5e1;background:#ffffff0f;border-radius:999px;padding:4px 8px;font-size:.78rem}.empty-state{text-align:center;background:#ffffff0a;border:1px dashed #ffffff1f;border-radius:20px;padding:32px}.modal-backdrop{z-index:20;background:#020617b8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#111827;border:1px solid #ffffff14;border-radius:24px;width:min(100%,420px);padding:28px;position:relative;box-shadow:0 24px 80px #00000073}.modal-close{color:#e2e8f0;background:#ffffff0f;border:none;border-radius:10px;width:36px;height:36px;font-size:1.4rem;line-height:1;position:absolute;top:14px;right:14px}.modal h2{margin:0 0 8px}.modal-subtitle{color:#94a3b8;margin:0 0 20px}.login-form{gap:12px;display:grid}.identity-toggle{background:#ffffff0a;border-radius:14px;grid-template-columns:1fr 1fr;gap:8px;padding:4px;display:grid}.toggle-btn{color:#cbd5e1;background:0 0;border:none;border-radius:10px;padding:10px 12px}.toggle-btn.active{color:#fde68a;background:#fbbf242e}.field-label{color:#cbd5e1;font-size:.88rem}.field-input{color:#f8fafc;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:12px;width:100%;padding:12px 14px}.field-input:focus{border-color:#fbbf2473;outline:2px solid #fbbf2459}.field-error{color:#fb7185;margin:0;font-size:.88rem}.login-screen{place-items:center;min-height:100vh;padding:24px;display:grid}.login-screen-card{background:linear-gradient(135deg,#1e293bf2,#0f172af2);border:1px solid #ffffff14;border-radius:24px;width:min(100%,440px);padding:32px;box-shadow:0 24px 80px #00000059}.login-screen-brand{align-items:center;gap:14px;margin-bottom:12px;display:flex}.login-screen-title{margin:2px 0 0;font-size:1.5rem;font-weight:700}.login-screen-subtitle{color:#94a3b8;margin:0 0 24px}.merchant-detail-modal{width:min(100%,480px)}.merchant-detail-header{grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin-bottom:20px;padding-right:28px;display:grid}.merchant-detail-header h2{margin:0 0 4px;font-size:1.35rem}.merchant-logo-lg{width:64px;height:64px;font-size:1.1rem}.reward-badge-lg{align-self:start;padding:8px 12px;font-size:.9rem}.merchant-detail-list{gap:12px;margin:0 0 20px;display:grid}.detail-row{border-bottom:1px solid #ffffff0f;justify-content:space-between;gap:16px;padding-bottom:12px;display:flex}.detail-row dt{color:#94a3b8;margin:0;font-size:.9rem}.detail-row dd{text-align:right;margin:0;font-weight:600}@media (width<=860px){.hero-banner{grid-template-columns:1fr}.section-header{flex-direction:column}.app-header{flex-direction:column;align-items:flex-start}}
