*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Roboto,sans-serif;background-color:#f5f6f7;color:#1f2937}.app-header{position:fixed;top:0;left:0;width:100%;height:74px;background-color:#fff;display:flex;align-items:center;justify-content:center;padding:0 20px;z-index:1000;border-bottom:1px solid #e5e7eb}.header-left{position:absolute;left:20px;display:flex;align-items:center;height:100%}.header-logo{max-width:none;max-height:none;width:auto;height:55px;object-fit:contain}.header-text{text-align:center}.header-text h1{font-size:28px;font-weight:900;letter-spacing:1px;color:#111827}.header-text h2{display:none}.page-wrapper{min-height:100vh;padding-top:100px;padding-left:16px;padding-right:16px;display:flex;justify-content:center;background-color:#f5f6f7}.form-card{width:100%;max-width:580px;background-color:#fff;border-radius:16px;padding:32px;box-shadow:0 10px 26px #00000014}.form-header{text-align:center;margin-bottom:24px}.form-header h1{font-size:22px;font-weight:700}.form-header h2{font-size:17px;font-weight:600;margin-top:4px}.form-header p{font-size:14px;color:#6b7280;margin-top:8px;line-height:1.5}.event-amount{margin-top:16px;padding:12px 20px;background-color:#dbeafe;border-radius:8px;color:#1e40af;font-size:16px}.loading-event{margin-top:12px;font-size:13px;color:#6b7280;font-style:italic}.registration-form h3{font-size:15px;margin-bottom:16px;padding-bottom:6px;border-bottom:1px solid #e5e7eb}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:14px;font-weight:500;margin-bottom:6px}.form-group input{width:100%;padding:12px;font-size:14px;border-radius:8px;border:1px solid #d1d5db;background-color:#fff;transition:border .2s ease,box-shadow .2s ease}.form-group input:focus{outline:none;border-color:#94a3b8;box-shadow:0 0 0 2px #94a3b833}.radio-group{display:flex;gap:24px;flex-wrap:wrap}.radio-group label{display:flex;align-items:center;gap:6px;font-size:14px}.submit-btn{width:100%;padding:14px;margin-top:18px;border:none;border-radius:12px;background-color:#3b82f6;color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s ease,transform .1s ease}.submit-btn:hover{background-color:#2563eb}.submit-btn:active{transform:scale(.97)}@media(min-width:640px){.header-logo{height:60px}.header-text h1{font-size:30px}.form-card{padding:36px}}@media(min-width:1024px){.page-wrapper{padding-left:24px;padding-right:24px}.header-logo{height:65px}.form-card{max-width:620px}.submit-btn{font-size:16px}}@media(min-width:1440px){.header-logo{height:70px}.form-card{max-width:660px}}.error-message{background-color:#fee2e2;color:#dc2626;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px;border-left:4px solid #dc2626}.submit-btn:disabled{background-color:#9ca3af;cursor:not-allowed;opacity:.6}.await-payment-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f5f7fb;padding:20px}.await-payment-card{background:#fff;padding:40px 30px;border-radius:12px;width:100%;max-width:420px;text-align:center;box-shadow:0 10px 30px #00000014}.await-payment-card h2{margin-top:20px;font-size:1.4rem;color:#222}.await-payment-card p{margin-top:10px;font-size:.95rem;color:#555}.spinner{width:60px;height:60px;border:6px solid #e0e0e0;border-top:6px solid #0a3cff;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto}@media(max-width:480px){.await-payment-card{padding:30px 20px}.await-payment-card h2{font-size:1.2rem}}.error-icon{width:60px;height:60px;margin:0 auto;background-color:#fee2e2;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;color:#dc2626;font-weight:700}.receipt-page{min-height:100vh;background:#f4f6f8;display:flex;flex-direction:column;align-items:center;padding:16px}.receipt-card{background:#fff;width:100%;max-width:420px;border-radius:12px;padding:20px;box-shadow:0 10px 25px #00000014}.receipt-logo-container{text-align:center;margin-bottom:16px}.receipt-logo{width:80px;height:80px;object-fit:contain;border-radius:8px}.receipt-title{text-align:center;font-size:20px;font-weight:700}.receipt-subtitle{text-align:center;font-size:14px;color:#666;margin-bottom:20px}.section-title{font-size:16px;margin-bottom:12px;font-weight:600}.receipt-grid{display:flex;flex-direction:column;gap:10px}.receipt-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #eee;padding-bottom:6px}.label{font-size:13px;color:#666}.value{font-size:13px;font-weight:500;text-align:right}.receipt-actions{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap;justify-content:center}.btn{padding:10px 14px;border-radius:8px;font-size:14px;cursor:pointer;border:none}.primary{background:#2563eb;color:#fff}.outline{background:#fff;border:1px solid #2563eb;color:#2563eb}.ghost{background:transparent;color:#555}@media print{.receipt-actions{display:none}body{background:#fff}}.loading{text-align:center;padding:40px 20px;background:#fff;border-radius:12px;box-shadow:0 10px 25px #00000014;max-width:420px;margin-top:40px}.spinner{border:4px solid #f3f3f3;border-top:4px solid #2563eb;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto 20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message{text-align:center;padding:40px 20px;background:#fff;border-radius:12px;box-shadow:0 10px 25px #00000014;max-width:420px;margin-top:40px;color:#dc2626}.payment-status-badge{text-align:center;padding:12px 20px;border-radius:8px;font-weight:600;font-size:14px;margin-bottom:20px;text-transform:uppercase;letter-spacing:.5px}.payment-status-badge.paid{background-color:#d1fae5;color:#065f46;border:2px solid #10b981}.payment-status-badge.pending{background-color:#fef3c7;color:#92400e;border:2px solid #f59e0b}.payment-status-badge.failed{background-color:#fee2e2;color:#991b1b;border:2px solid #dc2626}.payment-status-badge.abandoned{background-color:#f3f4f6;color:#374151;border:2px solid #9ca3af}.admin-login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:#3b82f6;padding:20px}.login-card{width:100%;max-width:400px;background-color:#fff;border-radius:12px;padding:40px;box-shadow:0 20px 60px #0000004d}.login-header{text-align:center;margin-bottom:32px}.login-logo{width:80px;height:80px;object-fit:contain;margin-bottom:16px}.login-header h1{font-size:24px;font-weight:900;color:#111827;margin-bottom:8px}.login-header h2{font-size:18px;font-weight:600;color:#6b7280}.form-group input{width:100%;padding:12px;font-size:14px;border-radius:8px;border:1px solid #d1d5db;background-color:#f9fafb;transition:border .2s ease,box-shadow .2s ease}.error-message{background-color:#fee2e2;color:#dc2626;padding:12px;border-radius:8px;font-size:14px;margin-bottom:16px;border-left:4px solid #dc2626}.info-message{background-color:#dbeafe;color:#1e40af;padding:12px;border-radius:8px;font-size:14px;margin-bottom:16px;border-left:4px solid #3b82f6;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.login-btn{width:100%;padding:12px;background-color:#667eea;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s ease,transform .1s ease}.login-btn:hover:not(:disabled){background-color:#5568d3}.login-btn:active:not(:disabled){transform:scale(.98)}.login-btn:disabled{opacity:.7;cursor:not-allowed}.btn-loading{display:flex;align-items:center;justify-content:center;gap:8px}.btn-spinner{display:inline-block;width:16px;height:16px;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)}}.demo-info{text-align:center;font-size:12px;color:#6b7280;margin-top:24px;line-height:1.6}.admin-dashboard{min-height:100vh;background-color:#f3f4f6}.admin-header{position:fixed;top:0;left:0;width:100%;height:74px;background-color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 20px;z-index:1000;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a}.header-left{display:flex;align-items:center;height:100%}.admin-header-logo{max-width:none;max-height:none;width:auto;height:55px;object-fit:contain}.header-center{text-align:center;flex:1;position:absolute;left:50%;transform:translate(-50%);pointer-events:none}.header-center h1{font-size:28px;font-weight:900;letter-spacing:1px;color:#111827;margin:0}.header-center h2{font-size:16px;font-weight:600;color:#3b82f6;margin:4px 0 0}.header-right{display:flex;align-items:center;gap:16px;margin-left:auto;z-index:1}.admin-email{font-size:14px;color:#6b7280}.logout-btn{padding:8px 16px;background-color:#dc2626;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s ease}.logout-btn:hover{background-color:#b91c1c}.admin-nav{position:fixed;top:74px;left:0;width:100%;background-color:#fff;border-bottom:1px solid #e5e7eb;padding:0;display:flex;gap:0;z-index:999}.nav-btn{flex:1;padding:16px 20px;background:none;border:none;border-bottom:3px solid transparent;font-size:14px;font-weight:600;color:#6b7280;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.nav-btn:hover{background-color:#f9fafb;color:#1f2937}.nav-btn.active{color:#667eea;border-bottom-color:#667eea}.nav-btn svg{flex-shrink:0}.hamburger-btn{display:none;background:none;border:none;color:#1f2937;cursor:pointer;padding:8px;border-radius:6px;transition:background .2s ease}.hamburger-btn:hover{background-color:#f3f4f6}.mobile-menu-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:2000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.mobile-menu{position:absolute;top:0;right:0;width:280px;height:100%;background-color:#fff;box-shadow:-4px 0 12px #00000026;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.mobile-menu-header{padding:20px;border-bottom:1px solid #e5e7eb;background-color:#f9fafb;display:flex;justify-content:space-between;align-items:center}.mobile-admin-email{font-size:14px;font-weight:600;color:#1f2937}.close-menu-btn{background:none;border:none;color:#6b7280;cursor:pointer;padding:4px;border-radius:6px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.close-menu-btn:hover{background-color:#e5e7eb;color:#1f2937}.mobile-menu-nav{display:flex;flex-direction:column;padding:12px 0}.mobile-menu-item{display:flex;align-items:center;gap:12px;padding:16px 20px;background:none;border:none;border-left:3px solid transparent;font-size:15px;font-weight:500;color:#374151;cursor:pointer;transition:all .2s ease;text-align:left}.mobile-menu-item:hover{background-color:#f9fafb;color:#1f2937}.mobile-menu-item.active{background-color:#eff6ff;border-left-color:#667eea;color:#667eea}.mobile-menu-item.logout{margin-top:auto;color:#dc2626;border-top:1px solid #e5e7eb}.mobile-menu-item.logout:hover{background-color:#fee2e2}.mobile-only{display:none}.desktop-only{display:flex}.admin-content{margin-top:130px;padding:30px;max-width:1200px;margin-left:auto;margin-right:auto}@media(max-width:768px){.mobile-only{display:block}.desktop-only{display:none!important}.mobile-menu-overlay{display:block}.admin-header{height:auto;min-height:74px;padding:12px 20px}.header-left{position:static}.admin-header-logo{height:45px}.header-center{position:absolute;left:50%;transform:translate(-50%)}.header-center h1{font-size:20px;letter-spacing:.5px}.header-center h2{font-size:14px}.header-right{gap:12px}.admin-email{display:none}.admin-content{margin-top:90px;padding:16px}}@media(max-width:480px){.admin-header{height:auto;flex-wrap:wrap;justify-content:center;gap:8px;padding:12px 16px}.header-left{order:1;width:auto}.admin-header-logo{height:40px}.header-center{order:2;flex:1;position:static;transform:none}.header-center h1{font-size:16px}.header-center h2{font-size:12px}.header-right{order:3;margin-left:0}.mobile-menu{width:100%}.admin-content{margin-top:100px}}.records-container{background-color:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.records-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:12px}.records-header h2{font-size:20px;font-weight:700;color:#1f2937;margin:0;display:block}.records-header p{font-size:14px;color:#6b7280;margin:0;display:block}.export-btn{padding:8px 16px;background-color:#10b981;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.export-btn:hover{background-color:#059669}.loading,.error-message{text-align:center;padding:40px 20px;color:#6b7280;font-size:14px}.error-message{color:#dc2626;background-color:#fee2e2;border-radius:8px;margin-bottom:20px}.search-box{margin-bottom:24px}.search-input{width:100%;padding:12px 16px;font-size:14px;border:1px solid #d1d5db;border-radius:8px;background-color:#f9fafb;transition:border .2s ease,box-shadow .2s ease}.search-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;background-color:#fff}.records-table-wrapper{overflow-x:auto}.records-table{width:100%;border-collapse:collapse;font-size:14px}.records-table thead{background-color:#f3f4f6;border-bottom:2px solid #e5e7eb}.records-table th{padding:12px 16px;text-align:left;font-weight:600;color:#1f2937}.records-table td{padding:12px 16px;border-bottom:1px solid #e5e7eb;color:#374151}.records-table tbody tr:hover{background-color:#f9fafb}.status-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase}.status-badge.paid,.status-badge.success,.status-badge.successful{background-color:#d1fae5;color:#065f46}.status-badge.pending{background-color:#fef3c7;color:#92400e}.status-badge.failed{background-color:#fee2e2;color:#991b1b}.status-badge.abandoned{background-color:#f3f4f6;color:#374151}.no-records{text-align:center;color:#9ca3af;padding:40px 16px}@media(max-width:768px){.records-container{padding:16px}.records-header{flex-direction:column;gap:8px;align-items:flex-start}.records-header h2{font-size:18px}.records-header p{font-size:13px}.records-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.records-table{font-size:12px;min-width:800px}.records-table th,.records-table td{padding:8px 10px}.status-badge{font-size:11px;padding:3px 10px}}@media(max-width:480px){.records-container{padding:12px}.records-header h2{font-size:16px}.search-input{font-size:13px;padding:10px 14px}.records-table{font-size:11px}.records-table th,.records-table td{padding:6px 8px}}.validate-container{display:flex;justify-content:center;align-items:flex-start;min-height:400px}.validate-card{background-color:#fff;border-radius:12px;padding:32px;box-shadow:0 1px 3px #0000001a;width:100%;max-width:500px}.validate-card h2{font-size:20px;font-weight:700;color:#1f2937;margin:0 0 8px}.validate-card p{font-size:14px;color:#6b7280;margin:0 0 24px}.button-group{display:flex;gap:12px}.validate-btn,.clear-btn{flex:1;padding:12px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.validate-btn{background-color:#667eea;color:#fff}.validate-btn:hover:not(:disabled){background-color:#5568d3}.validate-btn:disabled{background-color:#cbd5e1;cursor:not-allowed}.clear-btn{background-color:#e5e7eb;color:#1f2937}.clear-btn:hover{background-color:#d1d5db}.validation-result{margin-top:24px;padding:20px;border-radius:8px;text-align:center}.validation-result.valid{background-color:#d1fae5;border:1px solid #6ee7b7}.validation-result.invalid{background-color:#fee2e2;border:1px solid #fca5a5}.result-icon{font-size:48px;font-weight:700;color:#10b981;margin-bottom:12px}.result-icon.error{color:#ef4444}.validation-result h3{font-size:18px;font-weight:700;margin:0 0 16px;color:#065f46}.validation-result.invalid h3{color:#7f1d1d}.validation-result p{font-size:14px;color:#065f46;margin:0}.validation-result.invalid p{color:#7f1d1d}.result-details{text-align:left;margin-top:16px}.detail-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.1);font-size:14px}.detail-row:last-child{border-bottom:none}.detail-row .label{font-weight:600;color:#065f46}.detail-row .value{color:#047857}.detail-row .value.status{background-color:#10b981;color:#fff;padding:2px 8px;border-radius:4px;font-weight:600}@media(max-width:768px){.validate-card{padding:20px}.validate-card h2{font-size:18px}.validate-card p{font-size:13px}.button-group{flex-direction:column}.validate-btn,.clear-btn{width:100%}.result-icon{font-size:36px}.validation-result h3{font-size:16px}.detail-row{flex-direction:column;gap:4px;align-items:flex-start}}@media(max-width:480px){.validate-card{padding:16px}.validate-card h2{font-size:16px}.form-group input,.validate-btn,.clear-btn{font-size:13px;padding:10px}}.password-container{display:flex;justify-content:center;align-items:flex-start;min-height:400px}.password-card{background-color:#fff;border-radius:12px;padding:32px;box-shadow:0 1px 3px #0000001a;width:100%;max-width:500px}.password-card h2{font-size:20px;font-weight:700;color:#1f2937;margin:0 0 8px}.password-card p{font-size:14px;color:#6b7280;margin:0 0 24px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:14px;font-weight:500;margin-bottom:8px;color:#1f2937}.form-group input{width:100%;padding:12px;font-size:14px;border:1px solid #d1d5db;border-radius:8px;background-color:#f9fafb;transition:border .2s ease,box-shadow .2s ease}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;background-color:#fff}.message{padding:12px;border-radius:8px;font-size:14px;margin-bottom:16px;font-weight:500}.message.success{background-color:#d1fae5;color:#065f46;border:1px solid #6ee7b7}.message.error{background-color:#fee2e2;color:#7f1d1d;border:1px solid #fca5a5}.change-btn{width:100%;padding:12px;background-color:#667eea;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.change-btn:hover:not(:disabled){background-color:#5568d3}.change-btn:disabled{background-color:#cbd5e1;cursor:not-allowed}.password-info{margin-top:24px;padding:16px;background-color:#f3f4f6;border-radius:8px}.password-info h4{font-size:13px;font-weight:600;color:#1f2937;margin:0 0 12px}.password-info ul{list-style:none;padding:0;margin:0}.password-info li{font-size:13px;color:#6b7280;padding:4px 0 4px 20px;position:relative}.password-info li:before{content:"✓";position:absolute;left:0;color:#10b981;font-weight:700}@media(max-width:768px){.password-card{padding:20px}.password-card h2{font-size:18px}.password-card p{font-size:13px}.password-info{padding:12px}.password-info h4,.password-info li{font-size:12px}}@media(max-width:480px){.password-card{padding:16px}.password-card h2{font-size:16px}.form-group input,.change-btn,.message{font-size:13px;padding:10px}}
