@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";@import"https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap";:root{--primary: #ee4443;--secondary: #1e2837;--accent: #7d0f4a;--neutral: #3d4451;--base-100: #ffffff;--base-200: #f8f9fa;--base-300: #f1f3f5;--base-content: #000000;--contrast-base: #39393b;--gradient-orange: 255, 166, 0;--gradient-purple: 147, 51, 234;--gradient-teal: 0, 184, 148;--interactive-orange: 255, 166, 0;--board-bg: #000000;--board-text: #ffff00;--board-text-secondary: #ffffff;--board-header: #000000;--board-border: #444444;--urgent-red: #ff0000;--critical-flash: #ff6600;--normal-green: #00ff00;--row-alt: #111111}*{margin:0;padding:0;box-sizing:border-box}body{font-family:JetBrains Mono,Courier New,monospace;background:var(--board-bg);color:var(--board-text);min-height:100vh;overflow-x:auto}.App{min-height:100vh}.dashboard{min-height:100vh;padding:0}.admin-panel{background:var(--board-header);padding:20px 0;border-bottom:3px solid var(--board-border);position:sticky;top:0;z-index:100}.admin-header{max-width:100%;margin:0 auto;padding:0 30px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:25px}.office-info h3{color:var(--board-text);font-family:JetBrains Mono,monospace;font-size:1.3rem;margin:0;font-weight:600;text-transform:uppercase;letter-spacing:1px}.datetime{display:flex;gap:30px;align-items:center}.current-time{font-family:JetBrains Mono,monospace;font-size:1.8rem;font-weight:700;color:var(--board-text)}.current-date{color:var(--board-text);font-size:1.1rem;opacity:.8}.alert-summary{display:flex;gap:15px;align-items:center}.alert-badge{padding:8px 18px;border-radius:6px;font-size:1rem;font-weight:700;display:flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:1px;font-family:JetBrains Mono,monospace}.alert-badge.critical{background:var(--urgent-red);color:#fff;animation:critical-pulse 1s infinite}.alert-badge.urgent{background:var(--critical-flash);color:#fff;animation:urgent-pulse-soft 2s infinite}.alert-badge.safe{background:var(--normal-green);color:#000}.admin-controls{display:flex;gap:8px}.control-btn{background:var(--board-border);border:1px solid var(--board-text);color:var(--board-text);width:35px;height:35px;border-radius:4px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;font-size:.9rem}.control-btn:hover{background:var(--board-text);color:var(--board-bg)}.urgent-banner{background:var(--urgent-red);color:#fff;padding:8px 0;margin-top:10px;animation:banner-flash 1.5s infinite}.banner-content{max-width:100%;margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:center;gap:15px;font-weight:700;font-size:.9rem;text-align:center;font-family:JetBrains Mono,monospace;text-transform:uppercase;letter-spacing:1px}.world-clock{margin:20px 30px 40px;background:var(--board-bg);border:2px solid var(--board-border);border-radius:4px;overflow:hidden;box-shadow:inset 0 0 10px #00000080}.world-clock-header{background:var(--board-header);border-bottom:2px solid var(--board-border);padding:10px 25px;text-align:center}.world-clock-header h3{font-family:JetBrains Mono,monospace;font-size:1.1rem;font-weight:700;color:var(--board-text-secondary);text-transform:uppercase;letter-spacing:1px;margin:0}.time-zones{display:grid;grid-template-columns:repeat(5,1fr);background:var(--board-bg)}.time-zone{padding:15px 20px;text-align:center;border-right:1px solid var(--board-border);font-family:JetBrains Mono,monospace}.time-zone:last-child{border-right:none}.city-code{font-size:1rem;font-weight:700;color:var(--board-text-secondary);margin-bottom:4px;letter-spacing:1px}.city-name{font-size:1rem;color:var(--board-text-secondary);font-weight:600;margin-bottom:8px;text-transform:uppercase}.city-time{font-size:1.4rem;font-weight:800;color:var(--board-text);margin-bottom:2px;letter-spacing:1px}.city-date{font-size:.75rem;color:var(--board-text-secondary);opacity:.6;text-transform:uppercase}.urgent-alert-banner{width:100%;padding:12px 0;margin:20px 0;font-family:JetBrains Mono,monospace;font-weight:700;font-size:1.2rem;text-transform:uppercase;letter-spacing:1px;overflow:hidden;white-space:nowrap}.urgent-alert-banner.critical{background:var(--urgent-red);color:#fff;animation:critical-banner-flash 1.5s infinite}.urgent-alert-banner.urgent{background:var(--critical-flash);color:#fff;animation:urgent-banner-pulse 2s infinite}.alert-content{width:100%;overflow:hidden}.marquee-container{display:flex;width:200%}.alert-message{flex-shrink:0;width:100%;display:inline-block;animation:marquee-seamless 20s linear infinite;white-space:nowrap}.departure-board{padding:30px;max-width:100%;margin:0 auto;min-height:calc(100vh - 200px)}.board-header{margin-bottom:20px;padding:20px;background:var(--board-header);border:2px solid var(--board-border);border-radius:4px}.header-content{display:flex;justify-content:space-between;align-items:center}.title-section{text-align:center;flex:1}.board-header h1{font-family:JetBrains Mono,monospace;font-size:4rem;font-weight:700;color:var(--board-text);letter-spacing:4px;text-transform:uppercase;line-height:1.1}.board-subtitle{font-family:JetBrains Mono,monospace;font-size:1.5rem;color:var(--board-text);opacity:.8;letter-spacing:3px;text-transform:uppercase}.past-link,.back-link{display:flex;align-items:center;gap:10px;color:var(--board-text-secondary);text-decoration:none;font-family:JetBrains Mono,monospace;font-weight:600;font-size:1rem;padding:12px 20px;border:2px solid var(--board-border);border-radius:6px;background:#ffffff0d;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px}.past-link:hover,.back-link:hover{background:#ffffff1a;border-color:var(--board-text-secondary);transform:translateY(-2px)}.departure-table{background:var(--board-bg);border:2px solid var(--board-border);border-radius:4px;overflow:hidden;box-shadow:inset 0 0 10px #00000080}.table-header{display:grid;grid-template-columns:3fr .8fr 1.2fr 1.5fr .8fr;background:var(--board-header);border-bottom:2px solid var(--board-border);padding:15px 25px;font-family:JetBrains Mono,monospace;font-weight:700;font-size:1.1rem;color:var(--board-text-secondary);text-transform:uppercase;letter-spacing:1px}.table-header>div:not(:first-child){text-align:center}.table-body{max-height:75vh;overflow-y:auto}.departure-row{display:grid;grid-template-columns:3fr .8fr 1.2fr 1.5fr .8fr;padding:20px 25px;border-bottom:1px solid var(--board-border);font-family:JetBrains Mono,monospace;font-size:1.1rem;align-items:center;transition:none;background:var(--board-bg);min-height:70px}.departure-row:nth-child(2n){background:var(--row-alt)}.departure-row:hover{background:#ffff0008}.departure-row.critical{background:#ff000026!important;border-left:6px solid var(--urgent-red);animation:critical-row-flash 1s infinite}.departure-row.urgent{background:#ff66001a!important;border-left:4px solid var(--critical-flash);animation:urgent-row-glow 2s infinite}.departure-row.normal{border-left:3px solid var(--normal-green)}.departure-row.closed{background:#6666660d!important;border-left:3px solid #666666;opacity:.8}.departure-info{display:flex;flex-direction:column;gap:8px}.competition-header{display:flex;align-items:center;gap:15px}.competition-logo{flex-shrink:0;width:100px;height:50px;display:flex;align-items:center;justify-content:center;background:#ffffff26;border-radius:3px;padding:6px;border:1px solid var(--board-border)}.competition-logo img{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px}.competition-details{display:flex;flex-direction:column;gap:6px;flex:1}.competition-name{color:var(--board-text);font-weight:600;font-size:1.3rem;line-height:1.2}.past-competitions .competition-name{color:#1f2937;font-weight:600;font-size:1rem;line-height:1.5rem;margin-bottom:.25rem;font-family:Poppins,system-ui,sans-serif}.location{color:var(--board-text-secondary);opacity:.8;font-size:1rem;text-transform:uppercase;letter-spacing:1px}.event-date,.close-time,.close-date{color:var(--board-text-secondary);font-weight:500;text-align:center;font-size:1.1rem}.departure-countdown{text-align:center;font-family:JetBrains Mono,monospace;font-weight:700}.countdown-text{color:var(--board-text-secondary);font-size:1.3rem;letter-spacing:2px;font-weight:800}.departure-countdown.urgent-flash .countdown-text{animation:countdown-flash 1s infinite}.departure-countdown.expired .countdown-text{color:var(--board-text-secondary);opacity:.8}.entries{text-align:center}.entries-count{display:flex;flex-direction:column;align-items:center;gap:2px}.winners-count{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}.entries-number{color:var(--board-text-secondary);font-size:1.3rem;font-weight:800;font-family:JetBrains Mono,monospace}.loading-entries{color:var(--board-text-secondary);opacity:.6;font-size:1.1rem;animation:loading-pulse 1.5s infinite}.status{text-align:center}.status-indicator{padding:8px 16px;border-radius:6px;font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;font-family:JetBrains Mono,monospace}.status-indicator.critical{background:var(--urgent-red);color:#fff;animation:status-critical-flash 1s infinite}.status-indicator.urgent{background:var(--critical-flash);color:#fff;animation:status-urgent-pulse 2s infinite}.status-indicator.normal{background:var(--normal-green);color:#000}.status-indicator.closed{background:#666;color:#fff}.loading-state,.error-state{text-align:center;color:var(--board-text);padding:80px 20px;font-family:JetBrains Mono,monospace}.loading-state h3,.error-state h3{font-size:1.5rem;margin-bottom:20px;text-transform:uppercase;letter-spacing:2px}.spinner{border:3px solid var(--board-border);border-radius:50%;border-top:3px solid var(--board-text);width:50px;height:50px;animation:spin 1s linear infinite;margin:0 auto 30px}.error-state i{font-size:3rem;margin-bottom:20px;color:var(--urgent-red)}.empty-state{text-align:center;color:var(--board-text);padding:80px 20px;font-family:JetBrains Mono,monospace}.empty-state i{font-size:3rem;margin-bottom:30px;color:var(--normal-green)}.empty-state h3{font-size:1.5rem;margin-bottom:15px;text-transform:uppercase;letter-spacing:2px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes critical-pulse{0%,to{background:var(--urgent-red);transform:scale(1)}50%{background:#f33;transform:scale(1.05)}}@keyframes urgent-pulse-soft{0%,to{background:var(--critical-flash);opacity:1}50%{background:#f83;opacity:.8}}@keyframes banner-flash{0%,to{opacity:1}50%{opacity:.7}}@keyframes critical-row-flash{0%,to{background:#ff00001a}50%{background:#f003}}@keyframes urgent-row-glow{0%,to{background:#ff66001a;border-left-color:var(--critical-flash)}50%{background:#ff660026;border-left-color:#f83}}@keyframes countdown-flash{0%,to{color:var(--board-text);opacity:1}50%{color:var(--urgent-red);opacity:.8}}@keyframes status-critical-flash{0%,to{background:var(--urgent-red)}50%{background:#f33}}@keyframes status-urgent-pulse{0%,to{background:var(--critical-flash)}50%{background:#f83}}@keyframes loading-pulse{0%,to{opacity:.6}50%{opacity:1}}@keyframes critical-banner-flash{0%,to{background:var(--urgent-red)}50%{background:#c00}}@keyframes urgent-banner-pulse{0%,to{background:var(--critical-flash);opacity:1}50%{background:#f83;opacity:.9}}@keyframes marquee-seamless{0%{transform:translateZ(0)}to{transform:translate3d(-50%,0,0)}}@media (max-width: 1200px){.board-header h1{font-size:2rem}.table-header,.departure-row{font-size:.8rem;padding:12px 15px}}@media (max-width: 768px){.world-clock{margin:15px 15px 30px}.time-zones{grid-template-columns:repeat(2,1fr)}.time-zone{padding:12px 15px}.city-time{font-size:1.2rem}.departure-board{padding:10px}.board-header h1{font-size:1.5rem;letter-spacing:2px}.board-subtitle{font-size:.8rem}.table-header,.departure-row{grid-template-columns:2.5fr .7fr 1fr 1.2fr .6fr;font-size:.7rem;padding:10px}.competition-logo{width:70px;height:40px;padding:4px}.competition-header{gap:10px}.competition-name{font-size:.8rem}.location{font-size:.65rem}.admin-header{flex-direction:column;gap:10px}.datetime{flex-direction:column;gap:5px}}@media (max-width: 480px){.table-header,.departure-row{grid-template-columns:2fr .6fr .8fr 1fr .5fr;font-size:.65rem;padding:8px}.board-header h1{font-size:1.2rem}.competition-logo{width:50px;height:30px;padding:2px}.competition-header{gap:8px}.competition-name{font-size:.7rem}}.blank-homepage{min-height:100vh;background:var(--board-bg)}.past-competitions-header{margin-bottom:2rem;padding:2rem;background:#fff;border:1px solid #e5e7eb;border-radius:1rem;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a;margin-left:1rem;margin-right:1rem}.past-competitions-header h1{font-family:Poppins,system-ui,sans-serif;font-size:2.25rem;line-height:2.5rem;font-weight:600;color:#1f2937;margin:0 0 .5rem;text-align:center}.past-competitions-header p{font-family:Inter,system-ui,sans-serif;color:#6b7280;font-size:1rem;margin:0;text-align:center}.past-competitions-board{padding:1rem;background:#fff;min-height:100vh;font-family:Inter,system-ui,sans-serif}.past-table{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.past-competitions .table-header{display:grid;grid-template-columns:3fr 1fr 1.2fr .8fr .8fr;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:1rem 1.5rem;font-family:Poppins,system-ui,sans-serif;font-size:.875rem;line-height:1.25rem;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.05em}.past-competitions .table-header>div:not(:first-child){text-align:center}.past-competitions .location{color:#6b7280;font-size:.875rem;font-family:Inter,system-ui,sans-serif;opacity:1}.past-competitions .closed-date,.past-competitions .closed-ago,.past-competitions .event-date,.past-competitions .entries-number{color:#374151;font-family:Inter,system-ui,sans-serif;font-weight:500}.past-competitions .closed-ago{color:#6b7280;font-size:.75rem;margin-top:.25rem}.past-competitions .entries-number{font-weight:600;color:#1f2937}.winners-number{color:var(--board-text-secondary);font-size:1.3rem;font-weight:800;font-family:JetBrains Mono,monospace}.past-competitions .winners-number{color:#374151;font-family:Inter,system-ui,sans-serif;font-weight:600}.past-competitions .competition-logo{background:#000;padding:.75rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center;width:4rem;height:3rem;margin-right:1rem}.past-competitions .competition-logo img{max-width:100%;max-height:100%;object-fit:contain}.past-competitions .competition-header{display:flex;align-items:center}.past-competitions .competition-details{flex:1}.past-competitions .past-competition-row{display:grid;grid-template-columns:3fr 1fr 1.2fr .8fr .8fr;padding:1.5rem;border-bottom:1px solid #e5e7eb;font-family:Inter,system-ui,sans-serif;font-size:.875rem;line-height:1.25rem;align-items:center;background:#fff;min-height:4rem;text-decoration:none;color:#1f2937;transition:all .15s}.past-competitions .past-competition-row:nth-child(2n){background:#f9fafb}.past-competitions .past-competition-row.clickable:hover{background:#f3f4f6;transform:translateY(-1px);cursor:pointer;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.closed-info{text-align:center}.closed-date{color:var(--board-text-secondary);font-weight:600;font-size:1rem}.closed-ago{color:var(--board-text-secondary);opacity:.6;font-size:.8rem;margin-top:2px}.actions{display:flex;gap:10px;justify-content:center}.action-btn{padding:8px 16px;border:2px solid var(--board-border);border-radius:6px;background:#ffffff0d;color:var(--board-text-secondary);font-family:JetBrains Mono,monospace;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:6px;text-transform:uppercase;letter-spacing:.5px}.action-btn:hover:not(:disabled){background:#ffffff1a;border-color:var(--board-text-secondary);transform:translateY(-2px)}.action-btn:disabled{opacity:.3;cursor:not-allowed}.export-btn:hover:not(:disabled){border-color:rgba(var(--gradient-teal),1);color:rgba(var(--gradient-teal),1)}.winner-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.competition-detail-page .competition-detail-header{margin-bottom:2rem;padding:2rem;background:#fff;border:1px solid #e5e7eb;border-radius:1rem;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a;position:relative;display:flex;align-items:center;justify-content:center}.competition-detail-page .back-button{position:absolute;left:2rem;top:50%;transform:translateY(-50%);color:#6b7280;text-decoration:none;display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border:1px solid #e5e7eb;border-radius:.5rem;background:#fff;font-family:Inter,system-ui,sans-serif;font-size:.875rem;font-weight:500;transition:all .15s;box-shadow:0 1px 2px #0000000d}.competition-detail-page .back-button:hover{color:#1f2937;border-color:#d1d5db;background:#f9fafb;transform:translateY(-50%) translate(-2px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.back-button i{font-size:1rem}.title-section-centered{text-align:center;max-width:600px}.competition-detail-page .title-section-centered h1{font-family:Poppins,system-ui,sans-serif;font-size:2.25rem;line-height:2.5rem;font-weight:600;color:#1f2937;margin:0 0 .5rem}.competition-detail-page .title-section-centered p{color:#6b7280;font-size:1rem;margin:0;font-family:Inter,system-ui,sans-serif}@media (max-width: 768px){.competition-detail-header{flex-direction:column;text-align:center;padding:15px 20px}.back-button{position:static;transform:none;margin-bottom:15px;align-self:flex-start}.back-button:hover{transform:translate(-2px)}.title-section-centered h1{font-size:2rem}}.competition-detail-page .competition-actions{display:flex;gap:1rem;justify-content:center;margin-bottom:2rem;padding:0 1rem}.competition-detail-page .action-btn.large{padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:.5rem;font-family:Inter,system-ui,sans-serif;transition:all .15s;box-shadow:0 1px 2px #0000000d}.competition-detail-page .action-btn.large:hover{background:#f9fafb;border-color:#9ca3af;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.competition-detail-page .entries-section{margin-top:2rem;background:#fff;padding:2rem;border-radius:1rem;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a;border:1px solid #e5e7eb;margin-left:1rem;margin-right:1rem}.competition-detail-page .entries-header{color:#1f2937;font-size:1.5rem;line-height:2rem;font-weight:600;margin-bottom:1.5rem;text-align:center;font-family:Poppins,system-ui,sans-serif}.entries-table-container{padding:0 30px}.entries-table{background:#fff;border:1px solid #e1e5e9;border-radius:8px;overflow:hidden}.entries-table .table-header{display:none}.entries-table .table-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px;padding:20px}.entry-row{display:flex;align-items:center;justify-content:center;padding:12px 16px;border:1px solid #e1e5e9;border-radius:6px;text-align:center;background:#f9fafb;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.9rem;transition:all .2s ease;color:#374151}.entry-row:hover{background:#fff;border-color:#d1d5db;transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.competition-detail-page .entry-row:nth-child(2n){background:#fff}.entry-row.modal-cycling-highlight{background:var(--tech-tickets-primary)!important;color:#fff!important;font-weight:700;transform:scale(1.05);box-shadow:0 0 20px #ef4444cc;border-color:var(--tech-tickets-primary);animation:modalCyclingPulse .3s ease-in-out;z-index:10;position:relative}@keyframes modalCyclingPulse{0%{transform:scale(1.05);box-shadow:0 0 20px #ef4444cc}50%{transform:scale(1.08);box-shadow:0 0 30px #ef4444}to{transform:scale(1.05);box-shadow:0 0 20px #ef4444cc}}.entry-row>div{color:var(--board-text-secondary);padding:5px}.loading-row,.empty-row{grid-column:1 / -1;display:flex;justify-content:center;align-items:center;padding:40px;background:var(--board-bg);border:2px solid var(--board-border);border-radius:4px;color:var(--board-text-secondary);font-family:JetBrains Mono,monospace;gap:15px}.winner-announcement{background:linear-gradient(135deg,var(--primary-yellow),#f1c40f);color:var(--bg-dark);padding:40px;border-radius:12px;margin-top:30px;text-align:center;border:3px solid var(--primary-yellow);animation:winnerReveal .8s ease-out;box-shadow:0 10px 30px #ffc1074d}.winner-card{background:var(--primary);color:#fff;padding:20px;border-radius:10px;box-shadow:0 10px 30px #00000080;animation:winner-appear .5s ease-out}.winner-card h3{font-family:JetBrains Mono,monospace;margin-bottom:15px;font-size:1.2rem;display:flex;align-items:center;gap:10px}.winner-info{font-family:JetBrains Mono,monospace}.winner-name{font-size:1.1rem;font-weight:700;margin-bottom:5px}.winner-email{font-size:.9rem;opacity:.9;margin-bottom:5px}.winner-company{font-size:.8rem;opacity:.8}.competition-detail-page .col-email-only{color:#1f2937;font-size:.875rem;font-family:Inter,system-ui,sans-serif;font-weight:500}.past-competitions,.competition-detail-page{background:#fff;min-height:100vh;padding:40px 20px;font-family:Inter,system-ui,sans-serif;color:#1f2937}.dashboard.main-dashboard{background:var(--board-bg);color:var(--board-text);font-family:JetBrains Mono,monospace}.clean-page{background:#fff;min-height:100vh;font-family:Inter,system-ui,sans-serif;color:#1f2937}.winner-details>div:before{content:"•";color:var(--bg-dark);font-weight:700;font-size:1.5rem;margin-right:.5rem}:root{--tech-tickets-primary: #ef4444;--tech-tickets-primary-light: #f87171;--tech-tickets-secondary: #ff41c7;--tech-tickets-accent: #00cfbd}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:transparent;display:flex;align-items:center;justify-content:center;z-index:2000;animation:modalFadeIn .3s ease-out}.winner-modal{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;width:90%;max-width:600px;min-height:400px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040;animation:modalSlideIn .4s ease-out;position:relative;transition:height .5s ease-out}.winner-modal.expanded{height:auto;max-height:95vh}.modal-header{background:#f9fafb;color:#1f2937;padding:1.5rem 2rem;text-align:center;position:relative;border-bottom:1px solid #e5e7eb}.modal-header *,.winner-modal .modal-header h2,.winner-modal .modal-header h3{color:#1f2937!important}.modal-header h2{color:#1f2937!important;font-family:Poppins,system-ui,sans-serif;font-size:1.5rem;font-weight:600}.modal-header h3{color:#6b7280!important;font-family:Inter,system-ui,sans-serif;font-size:1rem;font-weight:500}.winner-modal .modal-close{color:#6b7280!important;background:transparent!important;border:none!important;font-size:1.25rem}.winner-modal .cycling-email{color:#1f2937!important;background:#f9fafb!important;border:2px solid var(--tech-tickets-primary)!important;font-family:Inter,system-ui,sans-serif!important;font-size:1.25rem!important;font-weight:500!important}.winner-modal .winner-email-large{color:#fff!important;background:var(--tech-tickets-primary)!important;border:none!important;font-family:Inter,system-ui,sans-serif!important;font-size:1.5rem!important;font-weight:600!important}.winner-modal .winner-revealed .winner-announcement-modal h3{color:var(--tech-tickets-primary)!important}.winner-modal .winner-revealed .winner-email-large{color:#fff!important;background:var(--tech-tickets-primary)!important}.modal-header h2{margin:0 0 .5rem;font-size:2rem;font-weight:700;color:#1a1a1a}.modal-header h3{margin:0;font-size:1.3rem;font-weight:600;opacity:.8;color:#1a1a1a}.modal-close{position:absolute;top:1rem;right:1rem;background:transparent;border:none;color:#1a1a1a!important;font-size:1.5rem;cursor:pointer;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.modal-close:hover{background:#0000001a}.modal-content{padding:3rem;text-align:center;min-height:350px;display:flex;flex-direction:column;justify-content:center;color:var(--primary-yellow)!important}.modal-content *{color:#374151!important}.modal-content.expanded{min-height:auto;justify-content:flex-start}.selection-in-progress{display:flex;flex-direction:column;align-items:center;gap:2rem}.cycling-email{font-family:JetBrains Mono,monospace;font-size:1.8rem;font-weight:600;color:#1a1a1a!important;background:var(--primary-yellow)!important;padding:1.5rem 2rem;border-radius:12px;border:3px solid #f1c40f;min-height:80px;height:80px;display:flex;align-items:center;justify-content:center;animation:emailCycle .2s ease-in-out infinite alternate;word-break:break-all;min-width:450px;box-shadow:0 4px 12px #ffc1074d,inset 0 1px #fff3}.selection-status{display:flex;flex-direction:column;align-items:center;gap:1rem}.selection-status p{color:var(--primary-yellow);font-size:1.2rem;margin:0}.spinner-large{width:60px;height:60px;border:4px solid var(--border-color);border-top:4px solid var(--primary-yellow);border-radius:50%;animation:spin 1s linear infinite}.winner-revealed{animation:winnerRevealModal .6s ease-out}.winner-announcement-modal h3{color:var(--primary-yellow)!important;font-size:2.5rem;margin:0 0 2rem;font-weight:700}.winner-modal .winner-announcement-modal h3{color:#ffc107!important}.winner-email-large{font-family:JetBrains Mono,monospace;font-size:2rem;font-weight:700;color:#1a1a1a!important;background:var(--primary-yellow)!important;padding:2rem;border-radius:12px;margin-bottom:2rem;word-break:break-all;animation:winnerEmailReveal .8s ease-out;border:3px solid #f1c40f;box-shadow:0 8px 24px #ffc10766,inset 0 1px #fff3}.loading-details-modal{display:flex;flex-direction:column;align-items:center;gap:1rem;margin:2rem 0}.loading-details-modal p{color:var(--primary-yellow);margin:0;font-size:1.1rem}.winner-details-modal{background:#ffc10726;border:3px solid var(--primary-yellow);border-radius:12px;padding:2rem;margin:2rem 0;box-shadow:0 4px 16px #ffc10733,inset 0 1px #ffc1071a}.details-grid{display:flex;flex-direction:column;gap:1rem;text-align:left}.detail-item{display:grid;grid-template-columns:120px 1fr;gap:1rem;align-items:center;padding:.75rem 0;border-bottom:1px solid #e5e7eb}.detail-item:last-child{border-bottom:none}.detail-icon{font-size:1.5rem}.detail-label{font-weight:600;color:#6b7280;font-family:Inter,system-ui,sans-serif}.detail-value{color:#1f2937;font-weight:500;font-size:1rem;font-family:Inter,system-ui,sans-serif}.modal-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.modal-actions .action-btn.primary{background:var(--tech-tickets-primary);color:#fff!important;border:1px solid var(--tech-tickets-primary);font-family:Inter,system-ui,sans-serif;font-weight:500;padding:.75rem 1.5rem;border-radius:.5rem}.modal-actions .action-btn.primary:hover{background:var(--tech-tickets-primary-light);border-color:var(--tech-tickets-primary-light);color:#fff!important}.modal-actions .action-btn.secondary{background:#fff;color:#6b7280;border:1px solid #d1d5db;font-family:Inter,system-ui,sans-serif;font-weight:500;padding:.75rem 1.5rem;border-radius:.5rem}.modal-actions .action-btn.secondary:hover{background:#f9fafb;color:#374151;border-color:#9ca3af}.modal-loading{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem 0}.modal-loading p{color:var(--text-secondary);margin:0}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.8) translateY(-50px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes emailCycle{0%{transform:scale(1);background:var(--tech-tickets-primary)}to{transform:scale(1.02);background:var(--tech-tickets-primary-light)}}@keyframes winnerRevealModal{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes winnerEmailReveal{0%{opacity:0;transform:scale(.8) rotateX(90deg)}to{opacity:1;transform:scale(1) rotateX(0)}}@keyframes winnerPulse{0%{background:var(--urgent-bg);box-shadow:0 0 20px #ffc10780}to{background:#f1c40f;box-shadow:0 0 30px #ffc107cc}}@keyframes cyclingPulse{0%{transform:scale(1.01);background:#ffc10733}50%{transform:scale(1.02);background:#ffc10766}to{transform:scale(1.01);background:#ffc1074d}}@keyframes winnerReveal{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (prefers-contrast: high){:root{--board-text: #ffffff;--board-border: #666666}.departure-row.critical{border-left-width:6px}.departure-row.urgent{border-left-width:5px}}
