*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}body{margin:0;min-width:320px;min-height:100vh}#root{width:100%}:root{--primary: #1e88e5;--primary-dark: #1565c0;--primary-light: #42a5f5;--cream: #fff8f0;--text: #1a1a2e;--text-muted: #5c5c7a;--white: #ffffff;--success: #2e7d32;--error: #c62828;--shadow: 0 4px 24px rgba(30, 136, 229, .15);--shadow-lg: 0 12px 48px rgba(30, 136, 229, .2);--radius: 16px;--radius-sm: 10px}.app-container{font-family:Outfit,-apple-system,BlinkMacSystemFont,sans-serif;background:linear-gradient(135deg,var(--cream) 0%,#e8f4fd 100%);min-height:100vh;color:var(--text);line-height:1.6;width:100%;overflow-x:hidden}.background-pattern{position:fixed;inset:0;background-image:radial-gradient(circle at 20% 80%,rgba(30,136,229,.08) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(66,165,245,.06) 0%,transparent 50%);pointer-events:none;z-index:0}.container{position:relative;z-index:1;max-width:480px;margin:0 auto;padding:2rem 1.25rem 4rem;width:100%}.header{text-align:center;margin-bottom:2rem}.logo{display:inline-flex;flex-direction:column;align-items:center;gap:.25rem}.logo-icon{font-size:3rem;filter:drop-shadow(0 2px 8px rgba(30,136,229,.3))}.logo-image{width:120px;height:auto;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(30,136,229,.2))}.logo h1{font-size:2rem;font-weight:700;color:var(--primary);letter-spacing:-.02em}.tagline{font-size:.9rem;color:var(--text-muted);font-weight:500}.hero{text-align:center;margin-bottom:1.75rem}.hero h2{font-size:1.5rem;font-weight:600;margin-bottom:.75rem;color:var(--text)}.hero p{color:var(--text-muted);font-size:1rem}.form{background:var(--white);padding:1.5rem;border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1.5rem;width:100%}.form-group{margin-bottom:1.25rem;text-align:left}.form-group label{display:block;font-size:.875rem;font-weight:500;color:var(--text);margin-bottom:.5rem}.form-group input{width:100%;padding:.875rem 1rem;border:2px solid #e8ecf0;border-radius:var(--radius-sm);font-size:1rem;font-family:inherit;color:var(--text);background:var(--white);transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}.form-group input::placeholder{color:#a0a0b8}.form-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #1e88e526}.btn-submit{width:100%;padding:1rem 1.5rem;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:var(--white);border:none;border-radius:var(--radius-sm);font-size:1.0625rem;font-weight:600;font-family:inherit;cursor:pointer;transition:transform .2s,box-shadow .2s;position:relative;display:flex;align-items:center;justify-content:center;margin-top:.5rem}.btn-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-lg)}.btn-submit:active:not(:disabled){transform:translateY(0)}.btn-submit:disabled{opacity:.8;cursor:not-allowed}.btn-submit.loading .btn-text{display:none}.btn-loading{display:flex;align-items:center;gap:.5rem}.spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.success-message{background:var(--white);padding:2rem 1.5rem;border-radius:var(--radius);box-shadow:var(--shadow);text-align:center}.success-icon{width:64px;height:64px;background:linear-gradient(135deg,var(--success) 0%,#388e3c 100%);color:#fff;font-size:2rem;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.success-message h3{font-size:1.25rem;margin-bottom:.5rem}.success-message p{color:var(--text-muted);margin-bottom:1.25rem}.btn-download{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.75rem;background:#000;color:#fff;text-decoration:none;border-radius:8px;font-weight:600;font-size:1rem;transition:transform .2s,opacity .2s}.btn-download:hover{transform:scale(1.02);opacity:.95}.apple-wallet-icon{width:24px;height:24px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M18.71 19.5c-.83 1.24-1.71 2.45-3.05 2.47-1.34.03-1.77-.79-3.29-.79-1.53 0-2 .77-3.27.82-1.31.05-2.3-1.32-3.14-2.53C4.25 17 2.94 12.45 4.7 9.39c.87-1.52 2.43-2.48 4.12-2.51 1.28-.02 2.5.87 3.29.87.78 0 2.26-1.07 3.81-.91.65.03 2.47.26 3.64 1.98-.09.06-2.17 1.28-2.15 3.81.03 3.02 2.65 4.03 2.68 4.04-.03.07-.42 1.44-1.38 2.83M13 3.5c.73-.83 1.94-1.46 2.94-1.5.13 1.17-.34 2.35-1.04 3.19-.69.85-1.83 1.51-2.95 1.42-.15-1.15.41-2.35 1.05-3.11z'/%3E%3C/svg%3E") center/contain no-repeat}.success-note{font-size:.85rem!important;margin-top:.75rem}.error-message{background:#ffebee;border:2px solid var(--error);color:var(--error);padding:1rem 1.25rem;border-radius:var(--radius-sm);display:flex;align-items:flex-start;gap:.75rem;margin-top:1rem}.error-icon{font-size:1.25rem;font-weight:700;flex-shrink:0}@media(max-width:480px){.container{padding:1.5rem 1rem 3rem}.header{margin-bottom:1.5rem}.logo-image{width:100px}.hero h2{font-size:1.3rem}.hero p{font-size:.9rem}.form{padding:1.25rem;border-radius:12px}.form-group input{padding:.75rem .875rem;font-size:1rem}.btn-submit{padding:.875rem 1.25rem}.success-message{padding:1.75rem 1.25rem}}@media(max-width:360px){.container{padding:1.25rem .75rem 2.5rem}.hero h2{font-size:1.2rem}.form{padding:1rem}.form-group input{padding:.7rem .75rem;font-size:.9375rem}}@media(min-width:481px){.container{padding:2.5rem 1.5rem 4rem}.form{padding:2rem}.success-message{padding:2.5rem 2rem}}
