*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f0f4f8;color:#1a202c;-webkit-font-smoothing:antialiased}.app{max-width:480px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;background:#f8fafc}.app-header{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;padding:16px 16px 28px;position:sticky;top:0;z-index:50;box-shadow:0 2px 12px #2563eb33}.header-content{display:flex;align-items:center;gap:10px}.header-icon{font-size:1.6rem}.app-header h1{font-size:1.25rem;font-weight:700;line-height:1.2}.subtitle{font-size:.75rem;opacity:.8;margin-top:1px}.progress-bar{display:flex;align-items:flex-start;justify-content:space-between;margin-top:14px;padding:0 30px}.progress-step{display:flex;align-items:center}.progress-dot-wrap{display:flex;flex-direction:column;align-items:center;gap:4px}.progress-dot{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;transition:all .3s ease}.progress-step.future .progress-dot{background:#ffffff26;color:#ffffff80}.progress-step.active .progress-dot{background:#fff;color:#2563eb;box-shadow:0 0 0 3px #ffffff4d}.progress-step.completed .progress-dot{background:#22c55e;color:#fff}.check{font-size:.8rem}.progress-label{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;transition:opacity .3s ease;margin-top:10px}.progress-step.future .progress-label{opacity:.4}.progress-step.active .progress-label,.progress-step.completed .progress-label{opacity:1}.app-main{flex:1;padding:16px}.app-footer{padding:12px 16px}.error-message{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 14px;font-size:.875rem;text-align:center}
