*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f9fafb;color:#1f2937}#root{min-height:100vh}button{font-family:inherit;cursor:pointer;border:none;outline:none}input{font-family:inherit}a{text-decoration:none;color:inherit}.layout{min-height:100vh;display:flex;justify-content:center;background-color:#f9fafb}.layout-container{width:100%;max-width:430px;min-height:100vh;background-color:#f9fafb}.primary-button{padding:14px 32px;background:linear-gradient(135deg,#7c3aed,#6366f1);color:#fff;font-size:16px;font-weight:600;border-radius:12px;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 4px 12px #7c3aed33}.primary-button:hover{transform:translateY(-1px);box-shadow:0 6px 16px #7c3aed4d}.primary-button:active{transform:translateY(0)}.primary-button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.primary-button-full{width:100%}.secondary-button{padding:14px 32px;background:#fff;color:#7c3aed;font-size:16px;font-weight:600;border-radius:12px;border:2px solid #7C3AED;transition:background-color .2s ease,transform .2s ease}.secondary-button:hover{background-color:#f9fafb;transform:translateY(-1px)}.secondary-button:active{transform:translateY(0)}.secondary-button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.secondary-button-full{width:100%}.landing{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.landing-content{width:100%;max-width:400px;text-align:center}.landing-logo{margin-bottom:48px}.logo-icon{font-size:64px;margin-bottom:16px}.logo-text{font-size:32px;font-weight:700;color:#1f2937}.landing-headline{font-size:24px;font-weight:500;color:#6b7280;margin-bottom:48px;line-height:1.4}.landing-actions{display:flex;flex-direction:column;gap:16px}.otp-input-container{display:flex;gap:8px;justify-content:center;align-items:center;flex-wrap:wrap}.otp-input{width:48px;height:56px;text-align:center;font-size:24px;font-weight:600;color:#1f2937;border:2px solid #E5E7EB;border-radius:12px;transition:border-color .2s ease,box-shadow .2s ease;background-color:#fff}.otp-input:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.otp-input:disabled{background-color:#f9fafb;cursor:not-allowed;opacity:.6}.otp-input.otp-input-error{border-color:#dc2626}.otp-input.otp-input-error:focus{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.otp-input::-webkit-outer-spin-button,.otp-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.otp-input[type=number]{-moz-appearance:textfield}@media(max-width:400px){.otp-input-container{gap:6px}.otp-input{width:40px;height:52px;font-size:20px}}@media(max-width:320px){.otp-input-container{gap:4px}.otp-input{width:36px;height:48px;font-size:18px}}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-content{width:100%;max-width:400px;display:flex;flex-direction:column;align-items:center}.login-header{display:flex;justify-content:center;margin-bottom:16px}.login-logo{width:150px;height:60px;object-fit:contain}.login-title{font-size:32px;font-weight:700;color:#1f2937;margin-bottom:8px;text-align:center;width:100%}.login-subtitle{font-size:16px;color:#6b7280;margin-bottom:20px;text-align:center;width:100%}.helper-text{font-size:14px;color:#9ca3af;margin-bottom:20px;line-height:1.5;text-align:center;width:100%}.helper-text.helper-text-below{font-size:13px;color:#9ca3af;margin-top:6px;margin-bottom:0;text-align:left}.login-form{display:flex;flex-direction:column;gap:20px;width:100%}.form-label.otp-label{text-align:center;margin-bottom:4px}.form-input:disabled{background-color:#f9fafb;cursor:not-allowed}.form-input.form-input-error{border-color:#dc2626}.form-input.form-input-error:focus{border-color:#dc2626}.error-message{padding:12px 16px;background-color:#fef2f2;border:1px solid #FCA5A5;border-radius:8px;color:#dc2626;font-size:14px;margin-bottom:16px}.login-actions{display:flex;gap:16px;justify-content:center;align-items:center}.link-button{background:none;font-size:14px;font-weight:600;text-align:center;padding:8px;border:none;cursor:pointer;transition:all .2s ease}.link-button.link-button-primary{color:#7c3aed;font-size:15px}.link-button.link-button-secondary{color:#6b7280;font-size:14px}.link-button:hover:not(:disabled){text-decoration:underline}.link-button:disabled{opacity:.5;cursor:not-allowed}.resend-cooldown-text{font-size:14px;color:#9ca3af;padding:8px;text-align:center;font-weight:500}.header{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background-color:#f9fafb;border-bottom:1px solid rgba(0,0,0,.06);z-index:100}.header-title{font-size:28px;font-weight:700;color:#1f2937;flex:1}.header-action-left{display:flex;align-items:center;margin-right:8px}.header-action{display:flex;align-items:center;margin-left:8px}.status-pill{display:inline-block;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.status-pill-active{background-color:#dcfce7;color:#166534}.status-pill-expired{background-color:#fee2e2;color:#991b1b}.pass-card-wrapper{display:block;text-decoration:none;margin-bottom:0;max-width:430px;width:100%;cursor:pointer}.pass-card-container{position:relative;border-radius:28px;overflow:hidden;box-shadow:0 18px 50px #1118271f;background:transparent;transition:transform .2s ease,box-shadow .2s ease;cursor:pointer;height:168px}.pass-card-container:hover{transform:translateY(-2px);box-shadow:0 20px 54px #11182724}.pass-card-container:active{transform:scale(.99);box-shadow:0 16px 46px #1118271c}.gradient-purple-blue{background:linear-gradient(135deg,#7c3aed,#6b6fef,#6366f1)}.gradient-purple-blue:before{content:"";position:absolute;top:0;left:0;right:0;height:140px;background:radial-gradient(circle at 20% 50%,rgba(255,255,255,.08) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(255,255,255,.06) 0%,transparent 50%);pointer-events:none;z-index:1}.gradient-purple-blue:after{content:"";position:absolute;top:30px;right:-50px;width:200px;height:200px;background:#ffffff0a;border-radius:50%;pointer-events:none;z-index:1}.gradient-purple-pink{background:linear-gradient(135deg,#8b5cf6,#9d7bf5,#a78bfa)}.gradient-purple-pink:before{content:"";position:absolute;top:0;left:0;right:0;height:140px;background:radial-gradient(circle at 30% 40%,rgba(255,255,255,.08) 0%,transparent 50%),radial-gradient(circle at 70% 70%,rgba(255,255,255,.06) 0%,transparent 50%);pointer-events:none;z-index:1}.gradient-blue-indigo{background:linear-gradient(135deg,#6366f1,#7379f4,#818cf8)}.gradient-blue-indigo:before{content:"";position:absolute;top:0;left:0;right:0;height:140px;background:radial-gradient(circle at 40% 60%,rgba(255,255,255,.08) 0%,transparent 50%),radial-gradient(circle at 90% 30%,rgba(255,255,255,.06) 0%,transparent 50%);pointer-events:none;z-index:1}.pass-card-header{height:140px;padding:20px;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}.pass-event-title{font-size:18px;font-weight:600;color:#fff;margin:0 0 6px;line-height:1.2;position:relative;z-index:2}.pass-event-date{font-size:13px;color:#ffffffd9;margin:0;font-weight:400;position:relative;z-index:2}.pass-card-body{background:#fff;border-radius:20px;padding:16px;margin:-50px 16px 16px;position:relative;z-index:3;box-shadow:0 10px 30px #1118271a}.pass-status-badge{position:absolute;top:14px;right:14px;z-index:10}.status-pill{display:inline-block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;border-radius:999px;padding:6px 10px}.status-pill.status-active{background:#dcfce7;color:#166534}.status-pill.status-expired{background:#fee2e2;color:#991b1b}.status-pill.status-pending{background:#fef3c7;color:#92400e}.pass-body-content{display:flex;align-items:center;gap:16px}.pass-qr-box{width:88px;height:88px;background:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 6px 18px #1118271a;padding:8px;border:1px solid #F3F4F6}.pass-qr-box .qr-image{width:100%;height:100%;object-fit:contain;border-radius:6px}.pass-metadata{flex:1;display:flex;flex-direction:column;gap:8px;min-width:0}.pass-entitlement{font-size:14px;font-weight:600;color:#7c3aed;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pass-venue{display:flex;align-items:center;gap:6px;color:#6b7280;font-size:13px;font-weight:500}.pass-venue .venue-icon{flex-shrink:0;color:#9ca3af}.pass-venue span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pass-code{font-size:13px;color:#6b7280;font-family:SF Mono,Monaco,Courier New,monospace;letter-spacing:.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:480px){.pass-card-wrapper{margin-left:auto;margin-right:auto}.pass-event-title{font-size:18px}.pass-qr-box{width:80px;height:80px}}.pass-qr-image{max-width:100px}.fab{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#6366f1);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 14px 40px #7c3aed59;transition:transform .2s ease,box-shadow .2s ease;z-index:100}.fab:hover{transform:scale(1.05);box-shadow:0 16px 44px #7c3aed66}.fab:active{transform:scale(.96)}@media(min-width:481px){.fab{right:calc(50% - 191px)}}.dashboard{padding:20px 20px 100px}.quick-actions{display:flex;gap:12px;margin-bottom:20px}.quick-action-button{flex:1;min-height:56px;padding:14px 16px;background:#ede9fe80;border:none;border-radius:16px;display:flex;align-items:center;justify-content:center;gap:10px;color:#7c3aed;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #7c3aed14}.quick-action-button:hover{background:#ede9fecc;transform:translateY(-2px);box-shadow:0 4px 12px #7c3aed26}.quick-action-button:active{transform:translateY(0)}.quick-action-button svg{stroke-width:2.5;flex-shrink:0}.quick-action-button span{white-space:nowrap}@media(max-width:340px){.quick-actions{flex-direction:column}}.tabs-container{display:flex;gap:0;margin-bottom:20px;background:#f3f4f6;padding:4px;border-radius:12px}.tab{flex:1;padding:0;height:44px;border:none;background:transparent;border-radius:10px;font-size:15px;font-weight:600;color:#9ca3af;cursor:pointer;transition:all .2s ease}.tab.active{background:#fff;color:#7c3aed;box-shadow:0 1px 3px #11182714}.tab:hover:not(.active){color:#6b7280}.passes-list{display:flex;flex-direction:column;gap:20px}.header-add-button{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#6366f1);display:flex;align-items:center;justify-content:center;color:#fff;transition:transform .2s ease;box-shadow:0 4px 12px #7c3aed40}.header-add-button:hover{transform:scale(1.05)}.header-add-button:active{transform:scale(.95)}.empty-state{display:flex;flex-direction:column;align-items:center;max-width:360px;margin:60px auto 0;padding:24px;text-align:center}.empty-title{font-size:18px;font-weight:600;color:#1f2937;margin:0 0 8px}.empty-text{font-size:14px;color:#9ca3af;margin:0;line-height:1.5}.loading-state{display:flex;justify-content:center;align-items:center;padding:60px 24px;text-align:center}.loading-state p{font-size:16px;color:#6b7280}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;text-align:center;gap:24px}.error-text{font-size:16px;color:#dc2626;margin:0}.header-actions{display:flex;align-items:center;gap:8px}.header-refresh-button{width:44px;height:44px;border-radius:50%;background:transparent;border:none;display:flex;align-items:center;justify-content:center;color:#7c3aed;cursor:pointer;transition:all .2s ease}.header-refresh-button:hover:not(:disabled){background:#ede9fe80}.header-refresh-button:disabled{opacity:.5;cursor:not-allowed}.header-refresh-button .spinning{animation:spin 1s linear infinite}.header-avatar-button{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#6366f1);border:none;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #7c3aed33}.header-avatar-button:hover{transform:scale(1.05)}.header-avatar-button:active{transform:scale(.95)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.debug-panel{margin-top:40px;padding:16px;background:#f3f4f6;border-radius:12px;border:2px dashed #D1D5DB}.debug-panel h4{margin:0 0 12px;font-size:12px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.debug-panel .debug-item{font-size:13px;color:#374151;margin-bottom:8px;line-height:1.5}.debug-panel .debug-item strong{font-weight:600;margin-right:8px}.debug-panel .debug-logout{margin-top:12px;padding:8px 16px;background:#dc2626;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer}.debug-panel .debug-logout:hover{background:#b91c1c}.pass-detail{min-height:100vh;padding:24px}.back-button{background:#fff;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#1f2937;box-shadow:0 4px 12px #00000014;margin-bottom:24px;transition:transform .2s ease}.back-button:hover{transform:scale(1.05)}.pass-detail-content{background:#fff;border-radius:20px;padding:32px 24px;box-shadow:0 8px 24px #0000000f;text-align:center}.pass-header{display:flex;flex-direction:column;align-items:center;gap:16px;margin-bottom:12px}.pass-name{font-size:28px;font-weight:700;color:#1f2937;line-height:1.3}.pass-date{font-size:16px;color:#6b7280;margin-bottom:40px}.qr-code-container{margin-bottom:32px}.qr-code-large{width:240px;height:240px;margin:0 auto 20px;background:#fff;border-radius:20px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #7c3aed33;padding:20px}.qr-image{width:100%;height:100%;object-fit:contain;border-radius:8px}.qr-code-text{font-size:14px;font-weight:600;color:#6b7280;font-family:monospace;letter-spacing:1px}.entry-text{font-size:14px;color:#9ca3af}.pass-not-found{text-align:center;padding:60px 24px;font-size:18px;color:#6b7280}.add-pass{padding:20px 20px 40px}.add-pass-subtitle{font-size:14px;color:#6b7280;line-height:1.5;margin-bottom:16px;padding:0 4px}.add-pass-options{display:flex;flex-direction:column;gap:12px}.option-card{background:#fff;border-radius:16px;padding:20px 16px;box-shadow:0 1px 3px #11182714;display:flex;align-items:center;gap:14px;text-align:left;cursor:pointer;transition:all .2s ease;border:none;width:100%}.option-card:hover{box-shadow:0 2px 6px #1118271f;transform:translateY(-1px)}.option-card:active{transform:scale(.98)}.option-icon-container{width:48px;height:48px;border-radius:14px;background:#7c3aed14;display:flex;align-items:center;justify-content:center;flex-shrink:0}.option-icon{color:#7c3aed}.option-content{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.option-title{font-size:17px;font-weight:600;color:#1f2937;margin:0;line-height:1.3}.option-description{font-size:13px;color:#6b7280;line-height:1.4;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.option-chevron{width:20px;height:20px;color:#d1d5db;flex-shrink:0}.enter-pass-code{padding:20px 20px 40px}.enter-pass-code-subtitle{font-size:14px;color:#6b7280;line-height:1.5;margin-bottom:24px;padding:0 4px}.pass-code-form{display:flex;flex-direction:column;gap:24px}.form-label{font-size:14px;font-weight:600;color:#374151;padding:0 4px}.form-input{width:100%;padding:14px 16px;border:2px solid #E5E7EB;border-radius:12px;font-size:16px;color:#1f2937;background:#fff;transition:all .2s ease;box-sizing:border-box}.form-input:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed14}.form-input.error{border-color:#ef4444}.form-input.error:focus{box-shadow:0 0 0 3px #ef444414}.pass-code-input{font-weight:600;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;letter-spacing:.3px}.helper-text{font-size:13px;color:#6b7280;line-height:1.4;margin:0;padding:0 4px}.error-text{font-size:13px;color:#ef4444;line-height:1.4;margin:0;padding:0 4px;font-weight:500}.form-actions{margin-top:8px}.settings{padding:20px 20px 40px}.identity-card{background:linear-gradient(135deg,#7c3aed,#6366f1);border-radius:20px;padding:20px;margin-bottom:20px;box-shadow:0 4px 12px #7c3aed26}.identity-content{display:flex;flex-direction:column;gap:6px}.user-name{font-size:22px;font-weight:700;color:#fff;letter-spacing:-.3px}.user-email{font-size:15px;color:#ffffffd9;font-weight:400}.settings-section{margin-bottom:16px}.section-card{background:#fff;border-radius:16px;padding:16px;box-shadow:0 1px 3px #11182714}.section-header{font-size:13px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;padding:0 4px}.settings-item{display:flex;align-items:center;justify-content:space-between;padding:14px 4px;cursor:pointer;transition:all .2s ease;border-radius:8px}.settings-item:not(:last-child){border-bottom:1px solid #F3F4F6}.settings-item:hover:not(.disabled){background:#f3f4f680}.settings-item:active:not(.disabled){transform:scale(.98)}.settings-item.disabled{opacity:.4;cursor:not-allowed}.item-left{display:flex;align-items:center;gap:12px}.item-icon{width:20px;height:20px;color:#6b7280;flex-shrink:0}.item-label{font-size:16px;font-weight:500;color:#1f2937}.item-chevron{width:20px;height:20px;color:#d1d5db;flex-shrink:0}.logout-section{margin-top:32px;display:flex;justify-content:center}.logout-button{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 32px;background:transparent;border:none;color:#ef4444;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;border-radius:12px}.logout-button:hover{background:#ef444414}.logout-button:active{transform:scale(.96)}.logout-button svg{stroke-width:2.5}.modal-backdrop{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px;animation:fadeIn .2s ease}.modal-container{position:relative;width:calc(100% - 48px);max-width:360px;background:#fff;border-radius:20px;padding:24px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:slideUp .3s ease;display:flex;flex-direction:column;align-items:center}.modal-close-button{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:50%;background:transparent;border:none;display:flex;align-items:center;justify-content:center;color:#6b7280;cursor:pointer;transition:all .2s ease;z-index:10}.modal-close-button:hover{background:#f3f4f6cc;color:#1f2937}.modal-close-button:active{transform:scale(.95)}.modal-content{padding:0;width:100%;display:flex;flex-direction:column;align-items:center;text-align:center}.about-header{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:20px}.about-title{font-size:20px;font-weight:700;color:#1f2937;margin:0;letter-spacing:-.3px}.about-modal-content{display:flex;flex-direction:column;gap:12px;width:100%;text-align:center}.about-modal-content .about-description{font-size:15px;font-weight:500;color:#4b5563;line-height:1.5;margin:0}.about-modal-content .about-powered{font-size:13px;color:#9ca3af;margin:0;font-weight:500}.about-modal-content .about-version{font-size:12px;color:#9ca3af;opacity:.6;font-weight:500;margin:8px 0 0;padding-top:12px;border-top:1px solid #F3F4F6}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.about-logo{width:120px;height:auto;border-radius:12px;object-fit:cover}.faqs{padding:20px 20px 40px}.faqs-container{display:flex;flex-direction:column;gap:16px}.faq-card{background:#fff;border-radius:16px;box-shadow:0 1px 3px #11182714;overflow:hidden;transition:box-shadow .2s ease}.faq-card:hover{box-shadow:0 4px 12px #1118271a}.faq-question-button{width:100%;background:none;border:none;padding:20px;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;text-align:left;transition:background-color .2s ease}.faq-question-button:hover{background-color:#7c3aed05}.faq-question-button:active{background-color:#7c3aed0d}.faq-question{font-size:17px;font-weight:600;color:#1f2937;margin:0;line-height:1.4;flex:1}.faq-chevron{color:#7c3aed;flex-shrink:0;transition:transform .3s ease}.faq-chevron.open{transform:rotate(180deg)}.faq-answer-wrapper{max-height:0;overflow:hidden;transition:max-height .3s ease,opacity .3s ease;opacity:0}.faq-answer-wrapper.open{max-height:500px;opacity:1;border-top:1px solid #F3F4F6}.faq-answer{font-size:15px;font-weight:400;color:#6b7280;margin:0;line-height:1.6;padding:16px 20px 20px}.link-card-page{padding:20px 20px 40px}.header-back-button{width:44px;height:44px;border-radius:50%;background:transparent;border:none;display:flex;align-items:center;justify-content:center;color:#7c3aed;cursor:pointer;transition:all .2s ease}.header-back-button:hover{background:#ede9fe80}.header-back-button:active{transform:scale(.95)}.link-card-container{max-width:600px;margin:0 auto}.link-card-form{display:flex;flex-direction:column;gap:24px}.link-card-subtitle{font-size:15px;color:#6b7280;line-height:1.5;margin:0}.linked-card-info{padding:16px;background:#7c3aed0d;border:1px solid rgba(124,58,237,.15);border-radius:12px}.linked-card-label{font-size:12px;font-weight:600;color:#7c3aed;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.linked-card-id{font-size:18px;font-weight:700;color:#1f2937;margin-bottom:8px;font-family:Courier New,monospace}.linked-card-note{font-size:13px;color:#6b7280;line-height:1.4}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{font-size:14px;font-weight:600;color:#374151}.form-input{padding:14px 16px;border:2px solid #E5E7EB;border-radius:12px;font-size:16px;color:#1f2937;transition:border-color .2s ease}.form-input:focus{outline:none;border-color:#7c3aed}.form-input::placeholder{color:#9ca3af}.form-input:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.form-input.form-input-error{border-color:#ef4444}.form-error{font-size:13px;color:#ef4444;margin-top:-4px}.form-helper{font-size:13px;color:#6b7280;line-height:1.4}.form-format-hint{font-size:12px;color:#9ca3af;margin-top:6px;line-height:1.4}.link-card-actions{display:flex;flex-direction:column;gap:12px;margin-top:8px}.success-message{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.success-icon{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#10b981,#059669);color:#fff;display:flex;align-items:center;justify-content:center;font-size:40px;font-weight:700;margin-bottom:20px;box-shadow:0 8px 20px #10b9814d;animation:successPop .5s ease}.success-text{font-size:20px;font-weight:600;color:#1f2937}@keyframes successPop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}
