:root{--bg-page:#f1f5f9;--bg-app:#fff;--bg-card:#fff;--bg-card-subtle:#f8fafc;--bg-input:#f8fafc;--border-subtle:#e2e8f0;--border-focus:#00c2a8;--primary:#00c2a8;--primary-hover:#00a892;--primary-glow:#00c2a826;--accent-blue:#06f;--accent-gradient:linear-gradient(135deg, #00c2a8 0%, #06f 100%);--text-main:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--danger:#ef4444;--success:#10b981;--warning:#f59e0b;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-full:9999px;--font-family:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--shadow-sm:0 1px 3px #0000000d;--shadow-md:0 4px 12px #0f172a0f;--shadow-lg:0 12px 32px #0f172a14;--shadow-glow:0 4px 20px #00c2a833}*{box-sizing:border-box;font-family:var(--font-family);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;margin:0;padding:0}input,select,textarea{-webkit-user-select:auto;user-select:auto}html,body{background-color:var(--bg-page);color:var(--text-main);justify-content:center;align-items:flex-start;height:100vh;min-height:100vh;display:flex;overflow:hidden}#root{justify-content:center;align-items:flex-start;width:100%;height:100vh;display:flex}.app-viewport{background-color:var(--bg-app);width:100%;max-width:460px;height:100vh;max-height:100vh;box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:relative;overflow:hidden}@media (width<=480px){.app-viewport{max-width:100%;box-shadow:none}}.app-header{border-bottom:1px solid var(--border-subtle);z-index:90;background:#fff;flex-shrink:0;justify-content:center;align-items:center;padding:14px 20px;display:flex}.app-logo{object-fit:contain;height:30px;transition:transform .2s}.app-logo:active{transform:scale(.96)}.app-body{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;padding:20px;display:flex;overflow-y:auto}.app-body::-webkit-scrollbar{width:4px}.app-body::-webkit-scrollbar-thumb{background:#0000001a;border-radius:4px}.step-container{flex-direction:column;gap:20px;animation:.3s forwards fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.form-group{flex-direction:column;gap:8px;display:flex}.form-label{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:13.5px;font-weight:600;display:flex}.input-wrapper{align-items:center;display:flex;position:relative}.form-input{background-color:var(--bg-input);border:1.5px solid var(--border-subtle);border-radius:var(--radius-md);width:100%;color:var(--text-main);outline:none;padding:14px 16px;font-size:15px;font-weight:500;transition:all .25s}.form-input::placeholder{color:var(--text-muted)}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow);background-color:#fff}.form-input.is-invalid{border-color:var(--danger);background-color:#ef444408}.form-input.is-valid{border-color:var(--success)}.input-icon-left{color:var(--text-muted);pointer-events:none;position:absolute;left:14px}.input-icon-right{color:var(--text-muted);cursor:pointer;justify-content:center;align-items:center;transition:color .2s;display:flex;position:absolute;right:14px}.input-icon-right:hover{color:var(--text-main)}.has-left-icon .form-input{padding-left:44px}.has-right-icon .form-input{padding-right:44px}.error-message{color:var(--danger);align-items:center;gap:4px;margin-top:2px;font-size:12px;font-weight:500;display:flex}.btn-primary{background:var(--accent-gradient);border-radius:var(--radius-md);color:#fff;cursor:pointer;width:100%;box-shadow:var(--shadow-glow);border:none;justify-content:center;align-items:center;gap:8px;margin-top:10px;padding:16px;font-size:16px;font-weight:700;transition:all .25s;display:flex}.btn-primary:hover:not(:disabled){opacity:.95;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)scale(.99)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-secondary{background:var(--bg-card-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);width:100%;color:var(--text-main);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:14px;font-size:15px;font-weight:600;transition:all .2s;display:flex}.btn-secondary:hover{background:#edf2f7}.step-header{margin-bottom:6px}.step-badge{background:var(--primary-glow);color:var(--primary);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:6px;margin-bottom:8px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.step-title{color:var(--text-main);letter-spacing:-.5px;font-size:24px;font-weight:800}.step-subtitle{color:var(--text-secondary);margin-top:4px;font-size:14px;line-height:1.5}.progress-bar-container{background:var(--bg-card-subtle);border-radius:var(--radius-full);width:100%;height:5px;margin-bottom:20px;overflow:hidden}.progress-bar-fill{background:var(--accent-gradient);border-radius:var(--radius-full);height:100%;transition:width .4s}.checkbox-card{background:var(--bg-card-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;align-items:flex-start;gap:12px;padding:14px;transition:all .2s;display:flex}.checkbox-card:hover{border-color:var(--primary)}.custom-checkbox{border:2px solid var(--text-muted);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:2px;transition:all .2s;display:flex}.checkbox-card.checked .custom-checkbox{background:var(--primary);border-color:var(--primary);color:#fff}.checkbox-label{color:var(--text-secondary);font-size:13.5px;line-height:1.4}.checkbox-label a{color:var(--primary);cursor:pointer;text-decoration:underline}.requirements-box{background:var(--bg-card-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;gap:8px;padding:14px;display:flex}.req-item{color:var(--text-muted);align-items:center;gap:8px;font-size:13px;transition:color .2s;display:flex}.req-item.met{color:var(--success);font-weight:600}.dashboard-header{border-bottom:1px solid var(--border-subtle);z-index:80;background:#fff;flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.user-greeting{align-items:center;gap:12px;display:flex}.avatar{border-radius:var(--radius-full);background:var(--accent-gradient);color:#fff;width:42px;height:42px;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;font-size:16px;font-weight:800;display:flex}.greeting-text{flex-direction:column;display:flex}.greeting-title{color:var(--text-secondary);font-size:12px}.greeting-name{color:var(--text-main);font-size:16px;font-weight:700}.status-card{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#fff;padding:22px;position:relative;overflow:hidden}.badge-pulsing{background:var(--primary-glow);color:var(--primary);border-radius:var(--radius-full);letter-spacing:.5px;border:1px solid #00c2a84d;align-items:center;gap:8px;padding:6px 14px;font-size:12px;font-weight:700;display:inline-flex}.pulse-dot{background-color:var(--primary);width:8px;height:8px;box-shadow:0 0 8px var(--primary);border-radius:50%;animation:1.5s infinite pulse}@keyframes pulse{0%{transform:scale(.95);box-shadow:0 0 #00c2a8b3}70%{transform:scale(1);box-shadow:0 0 0 10px #00c2a800}to{transform:scale(.95);box-shadow:0 0 #00c2a800}}.status-title{color:var(--text-main);margin-top:14px;margin-bottom:6px;font-size:20px;font-weight:800}.status-desc{color:var(--text-secondary);font-size:13.5px;line-height:1.5}.timer-box{background:var(--bg-card-subtle);border-radius:var(--radius-md);border:1px solid var(--border-subtle);justify-content:space-between;align-items:center;margin-top:16px;padding:12px;display:flex}.timer-label{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;display:flex}.timer-value{color:var(--primary);font-family:monospace;font-size:18px;font-weight:800}.timeline{flex-direction:column;gap:16px;margin-top:20px;padding-left:28px;display:flex;position:relative}.timeline:before{content:"";background:var(--border-subtle);width:2px;position:absolute;top:8px;bottom:8px;left:11px}.timeline-item{flex-direction:column;gap:2px;display:flex;position:relative}.timeline-dot{background:var(--bg-input);border:2px solid var(--border-subtle);width:24px;height:24px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:12px;display:flex;position:absolute;top:2px;left:-28px}.timeline-item.completed .timeline-dot{background:var(--primary);border-color:var(--primary);color:#fff}.timeline-item.active .timeline-dot{border-color:var(--primary);color:var(--primary);box-shadow:0 0 10px var(--primary-glow);background:#fff}.timeline-step-title{color:var(--text-main);font-size:14px;font-weight:700}.timeline-item.pending .timeline-step-title{color:var(--text-muted)}.timeline-step-desc{color:var(--text-secondary);font-size:12.5px}.quick-actions{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:24px;display:grid}.action-btn{background:var(--bg-card-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-main);cursor:pointer;flex-direction:column;align-items:center;gap:8px;padding:14px 6px;font-size:12px;font-weight:600;transition:all .2s;display:flex}.action-btn:hover{border-color:var(--primary);background:#fff;transform:translateY(-2px)}.action-icon{background:var(--primary-glow);width:40px;height:40px;color:var(--primary);border-radius:12px;justify-content:center;align-items:center;display:flex}.offer-card{border-radius:var(--radius-md);background:linear-gradient(135deg,#00c2a814 0%,#0066ff0d 100%);border:1px dashed #00c2a866;justify-content:space-between;align-items:center;margin-top:24px;padding:18px;display:flex}.offer-info{flex-direction:column;gap:4px;display:flex}.offer-tag{color:var(--primary);text-transform:uppercase;font-size:11px;font-weight:700}.offer-amount{color:var(--text-main);font-size:22px;font-weight:800}.bottom-nav{border-top:1px solid var(--border-subtle);z-index:100;background:#fff;flex-shrink:0;justify-content:space-around;align-items:center;padding:10px 16px 14px;display:flex;box-shadow:0 -4px 12px #0f172a0a}.nav-item{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-md);background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;padding:4px 12px;font-size:11px;font-weight:600;transition:all .2s;display:flex}.nav-item.active{color:var(--primary)}.nav-item:active{transform:scale(.92)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;background:#0f172a80;justify-content:center;align-items:flex-end;animation:.25s forwards fadeIn;display:flex;position:fixed;inset:0}.modal-content{border-top:1px solid var(--border-subtle);width:100%;max-width:460px;max-height:85vh;box-shadow:var(--shadow-lg);background:#fff;border-top-left-radius:24px;border-top-right-radius:24px;padding:24px;animation:.3s cubic-bezier(.16,1,.3,1) forwards slideUp;overflow-y:auto}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.modal-title{color:var(--text-main);font-size:18px;font-weight:700}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none}.spinner{border:2px solid var(--border-subtle);border-top-color:var(--primary);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}
