:root{--navy:#0a1628;--blue:#1e3a5f;--accent-blue:#2563eb;--purple:#5b21b6;--gold:#d4a84b;--white:#ffffff;--gray-light:#f5f5f5;--gray:#6b7280;--gray-dark:#374151;--black:#111827;--green:#10b981;--red:#ef4444;--shadow:0 10px 40px rgba(0,0,0,0.1);--shadow-lg:0 25px 50px -12px rgba(0, 0, 0, 0.25)} *, *::before, *::after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;background:var(--gray-light);color:var(--black);line-height:1.6;min-height:100vh} h1, h2, h3, h4, h5, h6{font-family:'Oswald', sans-serif;font-weight:600;line-height:1.2}a{color:var(--accent-blue);text-decoration:none}a:hover{text-decoration:underline} .page-container{min-height:100vh;display:flex;flex-direction:column} .main-header{background:var(--navy);padding:24px;text-align:center}.logo-row{display:flex;justify-content:center;align-items:center;gap:24px;flex-wrap:nowrap;margin-bottom:16px}.logo-spot{width:100px;height:100px;flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.logo-spot img{width:100px;height:100px;object-fit:contain}.header-logo{width:100px;height:100px;object-fit:contain}.header-text{color:var(--white);text-align:center}.event-number{font-family:'Oswald', sans-serif;font-size:3.5rem;font-weight:700;line-height:1}.event-number sup{font-size:1.5rem;vertical-align:super}.annual{font-family:'Oswald', sans-serif;font-size:1.2rem;font-weight:500;letter-spacing:0.3em;text-transform:uppercase}.event-name{font-family:'Oswald', sans-serif;font-size:2rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em} .date-banner{background:var(--accent-blue);color:var(--white);padding:16px 24px;display:flex;justify-content:center;align-items:center;gap:48px;flex-wrap:wrap;border-top:3px solid var(--gold);border-bottom:3px solid var(--gold)}.date-item{text-align:center}.date-label{display:block;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.1em;opacity:0.9}.date-value{font-family:'Oswald', sans-serif;font-size:1.25rem;font-weight:600} .free-banner{background:var(--purple);color:var(--white);text-align:center;padding:12px;font-family:'Oswald', sans-serif;font-size:1.25rem;font-weight:600;letter-spacing:0.15em;text-transform:uppercase} .main-content{flex:1;padding:32px 24px;max-width:1200px;margin:0 auto;width:100%}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}@media (max-width:768px){.content-grid{grid-template-columns:1fr}} .event-info section{margin-bottom:24px}.event-info h2{font-size:1.25rem;color:var(--navy);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid var(--navy)}.location-name{font-family:'Oswald', sans-serif;font-size:1.1rem;font-weight:600;color:var(--navy)}.location-address{color:var(--gray);font-size:0.95rem}.topics-list{list-style:none}.topics-list li{padding:8px 0;padding-left:24px;position:relative;font-weight:600}.topics-list li::before{content:"\2605";position:absolute;left:0;color:var(--purple)}.contact-phone{font-family:'Oswald', sans-serif;font-size:1.5rem;font-weight:700;color:var(--accent-blue);margin-bottom:8px}.contact-emails{color:var(--gray);font-size:0.9rem;line-height:1.8}.contact-emails a{color:var(--purple);font-weight:600}.donation-section{background:var(--gray-light);border:2px solid var(--navy);padding:16px;text-align:center;border-radius:8px}.donation-section h3{color:var(--navy);font-size:0.9rem;margin-bottom:8px}.donation-section p{font-size:0.85rem;color:var(--gray)}.donation-address{font-weight:600;margin-top:8px} .registration-card{background:var(--white);border-radius:12px;box-shadow:var(--shadow);padding:32px}.registration-card h2{font-size:1.5rem;color:var(--navy);margin-bottom:8px}.reg-deadline{color:var(--red);font-size:0.9rem;font-weight:600;margin-bottom:24px} .form-group{margin-bottom:20px}.form-group label{display:block;font-weight:600;margin-bottom:6px;color:var(--navy)}.form-group input, .form-group select, .form-group textarea{width:100%;padding:14px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color 0.2s, box-shadow 0.2s}.form-group input:focus, .form-group select:focus, .form-group textarea:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 3px rgba(37, 99, 235, 0.1)}.form-group input.error{border-color:var(--red)} .btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 28px;border:none;border-radius:8px;font-size:1rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all 0.2s;text-decoration:none}.btn-primary{background:var(--accent-blue);color:var(--white)}.btn-primary:hover{background:#1d4ed8;text-decoration:none}.btn-secondary{background:var(--gray-light);color:var(--navy)}.btn-secondary:hover{background:#e5e7eb}.btn-success{background:var(--green);color:var(--white)}.btn-success:hover{background:#059669}.btn-danger{background:var(--red);color:var(--white)}.btn-danger:hover{background:#dc2626}.btn-large{width:100%;padding:16px;font-size:1.1rem}.btn:disabled{opacity:0.6;cursor:not-allowed}.btn-icon{margin-right:8px} .check-status-link{text-align:center;margin-top:20px;padding-top:20px;border-top:1px solid #e5e7eb}.check-status-link a{color:var(--gray);font-size:0.9rem}.check-status-link a:hover{color:var(--accent-blue)} .main-footer{background:var(--navy);color:var(--white);text-align:center;padding:24px}.main-footer p{font-size:0.9rem}.main-footer .gold{color:var(--gold)}.weather-notice{margin-top:12px;font-size:0.8rem;opacity:0.8} .modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0, 0, 0, 0.6);display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.modal-content{background:var(--white);border-radius:16px;padding:40px;max-width:440px;width:100%;text-align:center;box-shadow:var(--shadow-lg)}.modal-icon{width:80px;height:80px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:2.5rem;margin-bottom:24px}.modal-icon.success{background:#d1fae5;color:var(--green)}.modal-icon.info{background:#dbeafe;color:var(--accent-blue)}.modal-icon.error{background:#fee2e2;color:var(--red)}.modal-content h2{font-size:1.5rem;color:var(--navy);margin-bottom:16px}.modal-content p{color:var(--gray);margin-bottom:12px}.modal-location{font-weight:600;color:var(--navy)}.modal-content .btn{margin-top:16px} .alert{padding:14px 18px;border-radius:8px;margin-bottom:16px;font-size:0.95rem}.alert-success{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.alert-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.alert-info{background:#dbeafe;color:#1e40af;border:1px solid #bfdbfe} .dashboard-header{background:var(--navy);color:var(--white);padding:24px}.dashboard-header h1{font-size:1.5rem;margin-bottom:8px}.dashboard-nav{display:flex;gap:16px;margin-top:16px;flex-wrap:wrap}.dashboard-nav a{color:var(--white);opacity:0.8;font-size:0.9rem;padding:8px 0}.dashboard-nav a:hover, .dashboard-nav a.active{opacity:1;text-decoration:none;border-bottom:2px solid var(--gold)}.dashboard-content{padding:24px;max-width:1400px;margin:0 auto} .stats-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:24px;margin-bottom:32px}.stat-card{background:var(--white);border-radius:12px;padding:24px;box-shadow:var(--shadow)}.stat-card .stat-value{font-family:'Oswald', sans-serif;font-size:2.5rem;font-weight:700;color:var(--navy)}.stat-card .stat-label{color:var(--gray);font-size:0.9rem;text-transform:uppercase;letter-spacing:0.05em}.stat-card.highlight{background:var(--accent-blue);color:var(--white)}.stat-card.highlight .stat-value, .stat-card.highlight .stat-label{color:var(--white)} .data-card{background:var(--white);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}.data-card-header{padding:20px 24px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.data-card-header h2{font-size:1.25rem;color:var(--navy)}.data-card-actions{display:flex;gap:12px;flex-wrap:wrap}.search-box{display:flex;gap:8px}.search-box input{padding:10px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:0.95rem;min-width:250px}.search-box input:focus{outline:none;border-color:var(--accent-blue)}.data-table{width:100%;border-collapse:collapse}.data-table th, .data-table td{padding:14px 16px;text-align:left;border-bottom:1px solid #e5e7eb}.data-table th{background:var(--gray-light);font-weight:600;font-size:0.85rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--gray-dark)}.data-table tbody tr:hover{background:#f9fafb}.data-table .status-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:0.8rem;font-weight:600}.status-badge.checked-in{background:#d1fae5;color:#065f46}.status-badge.not-checked-in{background:#e5e7eb;color:var(--gray)}.data-table .actions{display:flex;gap:8px}.data-table .btn-small{padding:6px 12px;font-size:0.8rem} .checkin-container{max-width:800px;margin:0 auto;padding:24px}.checkin-header{text-align:center;margin-bottom:32px}.checkin-header h1{font-size:2rem;color:var(--navy);margin-bottom:8px}.mode-toggle{display:flex;gap:8px;justify-content:center;margin-bottom:24px}.mode-toggle button{padding:12px 24px;border:2px solid var(--navy);background:var(--white);color:var(--navy);border-radius:8px;font-weight:600;cursor:pointer;transition:all 0.2s}.mode-toggle button.active{background:var(--navy);color:var(--white)}.checkin-search{margin-bottom:24px}.checkin-search input{width:100%;padding:20px 24px;border:3px solid var(--navy);border-radius:12px;font-size:1.25rem;text-align:center}.checkin-search input:focus{outline:none;border-color:var(--accent-blue)}.checkin-results{margin-bottom:32px}.checkin-item{display:flex;justify-content:space-between;align-items:center;background:var(--white);padding:20px 24px;margin-bottom:12px;border-radius:12px;box-shadow:var(--shadow)}.checkin-item-info h3{font-size:1.25rem;color:var(--navy);margin-bottom:4px}.checkin-item-info p{color:var(--gray);font-size:0.9rem}.checkin-item .btn-checkin{padding:14px 32px;font-size:1.1rem}.checkin-item.checked-in{opacity:0.7;background:#f0fdf4}.checkin-item.checked-in .btn-checkin{background:var(--green);cursor:default} .kiosk-mode .checkin-search input{font-size:1.5rem;padding:28px 32px}.kiosk-mode .checkin-item{padding:28px 32px}.kiosk-mode .checkin-item-info h3{font-size:1.5rem}.kiosk-mode .btn-checkin{padding:20px 48px;font-size:1.25rem} .recent-checkins{background:var(--white);border-radius:12px;padding:24px;box-shadow:var(--shadow)}.recent-checkins h3{font-size:1rem;color:var(--navy);margin-bottom:16px;text-transform:uppercase;letter-spacing:0.05em}.recent-checkins ul{list-style:none}.recent-checkins li{padding:12px 0;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between}.recent-checkins li:last-child{border-bottom:none}.recent-checkins .name{font-weight:600}.recent-checkins .time{color:var(--gray);font-size:0.85rem} .checkin-confirmation{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(16, 185, 129, 0.95);display:flex;justify-content:center;align-items:center;z-index:1000;color:var(--white);text-align:center}.checkin-confirmation h2{font-size:3rem;margin-bottom:16px}.checkin-confirmation p{font-size:1.5rem} .login-container{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:24px;background:linear-gradient(135deg, var(--navy) 0%, var(--blue) 100%)}.login-card{background:var(--white);border-radius:16px;padding:48px;max-width:400px;width:100%;box-shadow:var(--shadow-lg)}.login-card h1{font-size:1.5rem;color:var(--navy);margin-bottom:8px;text-align:center}.login-card .subtitle{text-align:center;color:var(--gray);margin-bottom:32px} .verify-container{max-width:600px;margin:0 auto;padding:48px 24px}.verify-card{background:var(--white);border-radius:16px;padding:48px;box-shadow:var(--shadow-lg);text-align:center}.verify-card h1{color:var(--navy);margin-bottom:24px}.verify-result{margin-top:32px;padding:32px;border-radius:12px}.verify-result.valid{background:#d1fae5;border:2px solid var(--green)}.verify-result.invalid{background:#fee2e2;border:2px solid var(--red)}.verify-result h2{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:24px}.verify-result.valid h2{color:var(--green)}.verify-result.invalid h2{color:var(--red)}.verify-details{text-align:left}.verify-details dt{font-weight:600;color:var(--gray);font-size:0.85rem;text-transform:uppercase;letter-spacing:0.05em;margin-top:16px}.verify-details dd{color:var(--navy);font-size:1.1rem} @media (max-width:768px){.logo-row{gap:12px;flex-wrap:wrap}.logo-spot{width:70px;height:70px}.logo-spot img{width:70px;height:70px}.header-logo{width:70px;height:70px}.event-number{font-size:2.5rem}.event-name{font-size:1.5rem}.date-banner{flex-direction:column;gap:12px}.registration-card{padding:24px}.dashboard-content{padding:16px}.data-card-header{flex-direction:column;align-items:stretch}.search-box input{min-width:auto;width:100%}.data-table{font-size:0.85rem}.data-table th, .data-table td{padding:10px 8px}.checkin-item{flex-direction:column;gap:16px;text-align:center}.checkin-item .btn-checkin{width:100%}.login-card{padding:32px 24px}} @media print{.no-print{display:none !important}body{background:white}.page-container{min-height:auto}}