*{box-sizing:border-box}html{color:#1f2937;background:#f7f7f8;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{min-width:320px;margin:0}button,input{font:inherit}button{cursor:pointer}.page-shell{justify-content:center;align-items:center;min-height:100vh;padding:32px 16px;display:flex}.auth-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;width:100%;max-width:520px;padding:32px}.auth-header{margin-bottom:28px}.auth-header h1{margin:6px 0 8px;font-size:32px;line-height:1.15}.auth-header p{color:#6b7280;margin:0}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:13px;font-weight:700}.name-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.field{margin-bottom:18px}.field label{margin-bottom:7px;font-size:14px;font-weight:600;display:block}.field input{border:1px solid #d1d5db;border-radius:10px;outline:none;width:100%;height:48px;padding:0 13px}.field input:focus{border-color:#111827}.primary-button{color:#fff;background:#111827;border:0;border-radius:10px;width:100%;min-height:48px;font-weight:700}.primary-button:disabled{opacity:.6;cursor:not-allowed}.referral-banner{background:#f3f4f6;border-radius:10px;margin-bottom:20px;padding:12px 14px;font-size:14px}.error-message{color:#b91c1c;background:#fef2f2;border-radius:10px;margin-bottom:16px;padding:12px 14px;font-size:14px}.auth-footer{text-align:center;color:#6b7280;margin:22px 0 0;font-size:14px}.text-button{color:#111827;background:0 0;border:0;padding:0;font-weight:700}@media (width<=600px){.page-shell{align-items:flex-start;padding-top:24px}.auth-card{border-radius:14px;padding:24px 20px}.auth-header h1{font-size:28px}.name-grid{grid-template-columns:1fr;gap:0}}.email-highlight{word-break:break-word;font-weight:600;color:#111827!important;margin-top:4px!important}.verification-input{text-align:center;letter-spacing:.3em;font-weight:700;font-size:24px!important}.success-message{color:#166534;background:#f0fdf4;border-radius:10px;margin-bottom:16px;padding:12px 14px;font-size:14px}.verify-footer{color:#6b7280;justify-content:center;gap:6px;margin-top:22px;font-size:14px;display:flex}.back-button{color:#6b7280;background:0 0;border:0;margin:18px auto 0;font-weight:600;display:block}.dashboard-shell{background:#f7f7f8;min-height:100vh;padding:40px 16px}.dashboard-container{width:100%;max-width:1000px;margin:0 auto}.dashboard-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px;display:flex}.dashboard-header h1{margin:4px 0 6px;font-size:34px}.dashboard-header p{color:#6b7280;margin:0}.dashboard-grid{grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px;display:grid}.points-card,.invite-card,.dashboard-section{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:24px}.points-card{flex-direction:column;justify-content:center;min-height:210px;display:flex}.points-card span{color:#6b7280;font-weight:600}.points-card strong{margin-top:10px;font-size:52px;line-height:1}.points-card small{color:#6b7280;margin-top:8px}.invite-card span{color:#6b7280;font-weight:600}.invite-card h2{margin:8px 0}.invite-card p{color:#6b7280;margin-bottom:20px}.dashboard-section{margin-bottom:18px}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.section-heading h2{margin:0 0 4px}.section-heading p{color:#6b7280;margin:0;font-size:14px}.count-badge{background:#f3f4f6;border-radius:999px;justify-content:center;align-items:center;min-width:34px;height:34px;font-weight:700;display:inline-flex}.referral-list,.reward-list{flex-direction:column;display:flex}.referral-row,.reward-row{border-top:1px solid #f0f0f0;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;display:flex}.referral-row:first-child,.reward-row:first-child{border-top:0}.referral-person{align-items:center;gap:12px;display:flex}.referral-person div:last-child,.reward-row div{flex-direction:column;gap:4px;display:flex}.referral-person span,.reward-row span{color:#6b7280;font-size:14px}.status-dot{background:#d1d5db;border-radius:50%;width:10px;height:10px}.status-dot.active{background:#22c55e}.status-label{color:#6b7280;font-size:13px;font-weight:700}.status-label.active{color:#15803d}.empty-state{color:#6b7280;padding:20px 0}.secondary-button{background:#fff;border:1px solid #d1d5db;border-radius:10px;min-height:42px;padding:0 16px;font-weight:700}@media (width<=700px){.dashboard-shell{padding:24px 16px}.dashboard-header h1{font-size:28px}.dashboard-grid{grid-template-columns:1fr}.points-card{min-height:170px}.points-card strong{font-size:44px}.referral-row,.reward-row{align-items:flex-start}}.reward-status{align-items:flex-end;gap:6px;display:flex}.reward-badge{border-radius:999px;justify-content:center;align-items:center;padding:4px 9px;font-size:12px;font-weight:700;display:inline-flex}.reward-badge.available{color:#166534;background:#dcfce7}.reward-badge.locked{color:#6b7280;background:#f3f4f6}@media (width<=700px){.reward-status{flex-shrink:0;align-items:flex-end}}.referral-actions{grid-template-columns:1fr auto;gap:10px;display:grid}.referral-share-button{min-width:100px}@media (width<=500px){.referral-actions{grid-template-columns:1fr}.referral-share-button{width:100%}}.referral-link-box{color:#6b7280;overflow-wrap:anywhere;background:#f7f7f8;border-radius:10px;margin:14px 0;padding:10px 12px;font-size:13px}.points-history-list{flex-direction:column;display:flex}.points-history-row{border-top:1px solid #f0f0f0;justify-content:space-between;align-items:center;gap:20px;padding:16px 0;display:flex}.points-history-row:first-child{border-top:0}.points-history-info{flex-direction:column;gap:4px;display:flex}.points-history-info span{color:#6b7280;font-size:14px}.points-history-info small{color:#9ca3af;font-size:12px}.points-change{flex-shrink:0;font-size:18px;font-weight:800}.points-change.positive{color:#15803d}.points-change.negative{color:#b91c1c}@media (width<=700px){.dashboard-header{align-items:center}.dashboard-header>div{min-width:0}.dashboard-header p,.referral-link-box,.points-history-info span{overflow-wrap:anywhere}.reward-row,.points-history-row{gap:12px}.reward-status{text-align:right;min-width:90px}}
