:root{--color-topbar:#3E99F7;--color-navbar:#ffffff;--color-navbar-text:#333333;--color-btn:#CB2A38;--color-btn-hover:#0B59AB;--color-navy:#0B59AB;--color-navy-light:#1a6cc4;--color-navy-dark:#083d7a;--color-blue:#3E99F7;--color-blue-light:#5baafb;--color-red:#CB2A38;--color-red-hover:#0B59AB;--color-white:#ffffff;--color-off-white:#f5f6f8;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5db;--color-gray-400:#9ca3af;--color-gray-500:#6b7280;--color-gray-600:#4b5563;--color-gray-700:#374151;--color-gray-900:#111827;--text-primary:#111827;--text-secondary:#374151;--text-muted:#6b7280;--text-on-dark:#ffffff;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--container-max:1200px;--container-pad:24px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--shadow-sm:0 1px 3px rgba(0,0,0,0.1);--shadow-md:0 4px 12px rgba(0,0,0,0.1);--shadow-lg:0 8px 24px rgba(0,0,0,0.12);--transition:150ms ease}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{overflow-x:hidden;max-width:100%}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;font-size:1rem;line-height:1.6;color:var(--text-primary);background:var(--color-white)}img,video{max-width:100%;height:auto;display:block}a{color:var(--color-blue);text-decoration:none}a:hover{text-decoration:underline}ol,ul{list-style:none}button{cursor:pointer;border:none;background:none;font-family:inherit}input,select,textarea{font-family:inherit;font-size:inherit}h1,h2,h3,h4,h5,h6{line-height:1.3;font-weight:600;color:var(--text-primary)}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--container-pad)}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.flex-1{flex:1 1}.grid{display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.25rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-center{text-align:center}.text-muted{color:var(--text-muted)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.tracking-wide{letter-spacing:.05em}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.py-6{padding-top:var(--space-6);padding-bottom:var(--space-6)}.py-10{padding-top:var(--space-10);padding-bottom:var(--space-10)}.py-12{padding-top:var(--space-12);padding-bottom:var(--space-12)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:10px 20px;border-radius:var(--radius-md);font-size:.9375rem;font-weight:600;line-height:1;transition:background var(--transition),opacity var(--transition),transform var(--transition);cursor:pointer;border:2px solid transparent;white-space:nowrap}.btn,.btn:hover{text-decoration:none}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-btn);color:var(--color-white);border-color:var(--color-btn)}.btn-primary:hover{background:var(--color-btn-hover);border-color:var(--color-btn-hover)}.btn-navy{background:var(--color-navy);color:var(--color-white);border-color:var(--color-navy)}.btn-navy:hover{background:var(--color-navy-light)}.btn-blue{background:var(--color-blue);color:var(--color-white);border-color:var(--color-blue)}.btn-blue:hover{background:var(--color-blue-light)}.btn-outline{background:transparent;color:var(--color-navy);border-color:var(--color-navy)}.btn-outline:hover{background:var(--color-navy);color:var(--color-white)}.btn-outline-white{background:transparent;color:var(--color-white);border-color:var(--color-white)}.btn-outline-white:hover{background:var(--color-white);color:var(--color-navy)}.btn-ghost{background:transparent;color:var(--text-secondary);border-color:var(--color-gray-300)}.btn-ghost:hover{background:var(--color-gray-100)}.btn-danger{background:var(--color-red);color:var(--color-white);border-color:var(--color-red)}.btn-danger:hover{background:var(--color-red-hover)}.btn-sm{padding:6px 14px;font-size:.8125rem}.btn-lg{padding:14px 28px;font-size:1.0625rem}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-size:.875rem;font-weight:600;color:var(--text-secondary)}.form-label .required{color:var(--color-red);margin-left:3px}.form-input,.form-select,.form-textarea{width:100%;padding:10px 14px;border:1.5px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:.9375rem;color:var(--text-primary);background:var(--color-white);transition:border-color var(--transition),box-shadow var(--transition);outline:none}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-blue);box-shadow:0 0 0 3px rgba(26,108,196,.15)}.form-input.error,.form-select.error,.form-textarea.error{border-color:var(--color-red)}.form-error{font-size:.8125rem;color:var(--color-red)}.form-textarea{min-height:120px;resize:vertical}.card{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);overflow:hidden}.card-body{padding:var(--space-6)}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:600;line-height:1.4}.badge-green{background:#d1fae5;color:#065f46}.badge-red{background:#fee2e2;color:#991b1b}.badge-blue{background:#dbeafe;color:#1e40af}.badge-yellow{background:#fef3c7;color:#92400e}.badge-gray{background:var(--color-gray-200);color:var(--color-gray-600)}.badge-navy{background:var(--color-navy);color:var(--color-white)}.announcement-banner{background:var(--color-btn);color:var(--color-white);text-align:center;padding:var(--space-2) var(--space-4);font-size:.875rem;font-weight:500;position:relative}.top-bar{background:var(--color-topbar);font-size:.8125rem;padding:var(--space-2) 0;border-bottom:1px solid rgba(0,0,0,.08)}.top-bar,.top-bar a{color:#ffffff}.top-bar a:hover{color:rgba(255,255,255,.85);text-decoration:none}.site-header{background:var(--color-navbar);position:-webkit-sticky;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px rgba(0,0,0,.1);border-bottom:3px solid var(--color-topbar)}.site-header .container{display:flex;align-items:center;justify-content:space-between;height:90px;min-height:90px}@media (max-width:1024px){.site-header .container{height:auto;min-height:70px;padding-top:8px;padding-bottom:8px}.site-logo img{height:52px!important}}.site-logo img{height:72px;width:auto}.rich-content h2{font-size:1.125rem;font-weight:700;color:#0B1F3F;margin:16px 0 8px}.rich-content h3{font-size:1rem;font-weight:700;color:#0B1F3F;margin:14px 0 6px}.rich-content p{margin:0 0 10px;line-height:1.75}.rich-content p:last-child{margin-bottom:0}.rich-content ul{list-style:disc}.rich-content ol,.rich-content ul{padding-left:22px;margin:8px 0 12px}.rich-content ol{list-style:decimal}.rich-content li{margin-bottom:5px;line-height:1.65}.rich-content a{color:#0B59AB;text-decoration:underline}.rich-content strong{font-weight:700}.rich-content em{font-style:italic}.rich-content u{text-decoration:underline}@media (max-width:1024px){.footer-grid{grid-template-columns:1fr 1fr 1fr!important;gap:28px!important}}@media (max-width:768px){.footer-grid{grid-template-columns:1fr 1fr!important;gap:28px!important}}@media (max-width:480px){.footer-grid{grid-template-columns:1fr!important;gap:24px!important}}.mobile-menu-btn{display:none;align-items:center;justify-content:center;width:44px;height:44px;background:transparent;border:none;cursor:pointer;color:#0B1F3F;padding:8px}@media (max-width:1024px){nav[aria-label="Main navigation"]{display:none!important}.mobile-menu-btn{display:flex!important}}.site-footer{background:#0B59AB;color:#c8e0ff;padding:var(--space-10) 0 var(--space-6)}.site-footer a{color:#c8e0ff;transition:color var(--transition)}.site-footer a:hover{color:var(--color-white);text-decoration:none}.site-footer-bottom{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid rgba(255,255,255,.15);text-align:center;font-size:.8125rem;color:rgba(255,255,255,.6)}.event-card{background:var(--color-white);border:1px solid #e8edf5;border-radius:16px;padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.event-card:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(11,89,171,.12);border-color:#3E99F7}.event-card-title{font-size:1.0625rem;font-weight:700;color:#0B1F3F;line-height:1.35}.event-card-meta{display:flex;flex-direction:column;gap:var(--space-1);font-size:.875rem;color:var(--text-muted)}.event-card-price{font-size:1.375rem;font-weight:800;color:#0B59AB}.event-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:var(--space-4);border-top:1px solid #e8edf5}.page-hero{background:linear-gradient(150deg,#0B59AB,#1a72d9 55%,#3E99F7);color:var(--color-white)}.page-hero,.section{padding:var(--space-12) 0}.section-alt{background:#f8faff}.admin-layout{display:flex;min-height:100vh}.admin-sidebar{width:260px;background:#0B59AB;color:var(--color-white);flex-shrink:0;display:flex;flex-direction:column}.admin-sidebar-logo{padding:var(--space-6);border-bottom:1px solid rgba(255,255,255,.15)}.admin-sidebar-nav{flex:1 1;padding:var(--space-4) 0;overflow-y:auto}.admin-nav-item{display:flex;align-items:center;gap:var(--space-3);padding:10px var(--space-6);font-size:.9375rem;color:rgba(255,255,255,.85);transition:background var(--transition),color var(--transition);text-decoration:none}.admin-nav-item:hover{background:rgba(255,255,255,.12);color:var(--color-white);text-decoration:none}.admin-nav-item.active{background:#CB2A38;color:var(--color-white)}.admin-nav-section{padding:var(--space-4) var(--space-6) var(--space-2);font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.45)}.admin-main{flex:1 1;display:flex;flex-direction:column;background:var(--color-off-white);min-width:0}.admin-topbar{background:var(--color-white);border-bottom:1px solid var(--color-gray-200);padding:var(--space-4) var(--space-8);display:flex;align-items:center;justify-content:space-between;height:64px}.admin-content{flex:1 1;padding:var(--space-8)}.admin-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6)}.admin-page-title{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.table-wrapper{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);overflow:hidden}.data-table{width:100%;border-collapse:collapse;font-size:.9375rem}.data-table thead tr{background:var(--color-gray-100);border-bottom:1px solid var(--color-gray-200)}.data-table th{padding:12px var(--space-4);text-align:left;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);white-space:nowrap}.data-table td{padding:14px var(--space-4);border-bottom:1px solid var(--color-gray-100);vertical-align:top}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--color-gray-100)}.alert{padding:var(--space-4);border-radius:var(--radius-md);font-size:.9375rem;display:flex;align-items:flex-start;gap:var(--space-3);border:1px solid transparent}.alert-success{background:#d1fae5;border-color:#6ee7b7;color:#065f46}.alert-error{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.alert-info{background:#dbeafe;border-color:#93c5fd;color:#1e40af}.alert-warning{background:#fef3c7;border-color:#fcd34d;color:#92400e}.divider{height:1px;background:var(--color-gray-200);border:none;margin:var(--space-6) 0}@media (max-width:1024px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){:root{--container-pad:16px}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.admin-layout{flex-direction:column}.admin-sidebar{width:100%}.admin-content{padding:var(--space-4)}}.spinner{width:20px;height:20px;border:2px solid rgba(0,0,0,.1);border-top:2px solid var(--color-blue);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(1turn)}}.checkout-steps{gap:0;margin-bottom:var(--space-8)}.checkout-step,.checkout-steps{display:flex;align-items:center}.checkout-step{gap:var(--space-2);flex:1 1}.checkout-step-number{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8125rem;font-weight:700;flex-shrink:0}.checkout-step.active .checkout-step-number{background:var(--color-blue);color:var(--color-white)}.checkout-step.completed .checkout-step-number{background:#059669;color:var(--color-white)}.checkout-step.pending .checkout-step-number{background:var(--color-gray-200);color:var(--color-gray-500)}.checkout-step-label{font-size:.875rem;font-weight:500}.checkout-step.active .checkout-step-label{color:var(--color-blue)}.checkout-step.completed .checkout-step-label{color:#059669}.checkout-step.pending .checkout-step-label{color:var(--text-muted)}.checkout-step-line{flex:1 1;height:2px;background:var(--color-gray-200);margin:0 var(--space-2)}.checkout-step-line.completed{background:#059669}