*{margin:0;padding:0;box-sizing:border-box}body{font-family:Arial,sans-serif;margin:0px;background-color:#0d1b2a;background-image:none}#page-bg-root{position:fixed;inset:0;z-index:-2;pointer-events:none;overflow:hidden}.page-bg-layer{position:absolute;inset:0;background-repeat:no-repeat;background-position:center center;background-size:cover;opacity:0;transition:opacity 1.1s ease;will-change:opacity}.page-bg-layer.is-active{opacity:1}.page-bg-veil{position:absolute;inset:0;background:linear-gradient( 165deg,rgba(8,16,32,calc(var(--page-bg-veil,0.4)+0.02)) 0%,rgba(8,16,32,calc(var(--page-bg-veil,0.4) * 0.7)) 45%,rgba(8,16,32,calc(var(--page-bg-veil,0.4)+0.08)) 100% )}@media (prefers-reduced-motion:reduce){.page-bg-layer{transition:none}}.container{max-width:1400px;margin:0 auto;padding:20px}.header{background:white;padding:20px;border-radius:10px;box-shadow:0 2px 10px rgba(0,0,0,0.1);margin-bottom:20px}.header h1{color:#2c3e50;margin-bottom:10px}.page-header{background:linear-gradient(135deg,rgb(255,0,0,0.8) 0%,rgb(0,26,255,0.8) 100%);color:white;padding:40px 0;margin-bottom:30px}.page-subtitle{opacity:0.9}h1{color:white;font-size:1.5rem;margin-bottom:18px;text-align:center;font-weight:600;margin-bottom:20px}h2{background:linear-gradient(135deg,rgba(255,0,0,0.8) 0%,rgba(0,26,255,0.8) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent;font-size:1.5rem;margin-bottom:18px;text-align:center;font-weight:600;margin-bottom:20px}.btn{display:inline-block;padding:12px 24px;border-radius:8px;text-decoration:none;font-weight:bold;transition:all 0.3s ease;border:none;cursor:pointer;margin-right:10px;margin-bottom:10px}.btn-primary{background:linear-gradient(135deg,rgb(255,0,0) 0%,rgb(0,26,255) 100%);color:white;transition:background 0.3s ease,color 0.3s ease,box-shadow 0.3s,opacity 0.3s,transform 0.3s}.btn-primary:hover{background:linear-gradient(135deg,rgb(0,26,255) 0%,rgb(255,0,0) 100%);transform:background 0.9s ease,color 0.9s ease,box-shadow 0.9s,opacity 0.9s,transform 0.9s;transition:transform 0.90s ease;opacity:0.85}.btn-secondary{background:#6c757d;color:white}.btn-secondary:hover{background:#5a6268}.btn-success{background:#28a745;color:white}.btn-success:hover{background:#218838}.btn-warning{background:#ffc107;color:#212529}.btn-warning:hover{background:#e0a800;transform:translateY(-2px)}.btn-danger{background:#dc3545;color:white}.btn-danger:hover{background:#c82333;transform:translateY(-2px)}.btn-info{background:#17a2b8;color:white}.btn-info:hover{background:#138496;transform:translateY(-2px)}.section{background:white;border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:0 2px 4px rgba(0,0,0,0.1)}.section h2{color:#333;margin-bottom:20px;display:flex;align-items:center;gap:10px}#participants-list{display:flex;flex-wrap:wrap;gap:1rem;justify-content:flex-start}.participant-card{flex:1 1 280px;max-width:340px;min-width:280px;box-sizing:border-box}.btn-BBRBB{display:inline-block;padding:0.75em 2em;font-size:1.2em;font-weight:bold;color:rgba(0,38,84);background:linear-gradient( 90deg,rgba(0,38,84,0.65) 0%,rgba(255,255,255,0.35) 20%,rgba(218,41,28,0.65) 50%,rgba(255,255,255,0.35) 80%,rgba(0,38,84,0.65) 100% );border:1px solid rgba(0,38,84);border-radius:2em;box-shadow:0 4px 16px rgba(0,0,0,0.15);cursor:pointer;backdrop-filter:blur(2px);outline:none}.stats-flex-container{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:32px}.stats-formal-card,.stats-graph-card{flex:1 1 48%;background:white;border-radius:10px;box-shadow:0 2px 10px rgba(0,0,0,0.08);padding:24px;min-width:320px;display:flex;flex-direction:column;justify-content:stretch}.stats-formal-card{align-items:flex-start}.stats-graph-card{align-items:flex-start}@media (max-width:900px){.stats-flex-container{flex-direction:column;gap:16px}.stats-formal-card,.stats-graph-card{flex:1 1 100%;min-width:0;width:100%;margin:0}}@media (max-width:800px){#participants-list{gap:10px}.participant-card{min-width:180px;max-width:100%}}@media (max-width:768px){.container,body[class*="-page"] .container{padding:0 8px 16px}.page-header,body[class*="-page"] .page-header{padding:12px 0;margin-bottom:8px}.page-header .container{padding:0 10px}.page-title,h1.page-title{font-size:1.35rem;margin-bottom:4px}.page-subtitle{font-size:0.9rem;margin:0}h1{font-size:1.35rem;margin-bottom:10px}h2{font-size:1.15rem;margin-bottom:10px}.header,body[class*="-page"] .header{padding:12px 10px;margin-bottom:10px}.card,section.card,body[class*="-page"] .card{padding:12px 10px;margin-bottom:10px;border-radius:10px}.card h2,section.card h2,body[class*="-page"] .card h2{font-size:1.15rem;margin-bottom:10px}.section,body[class*="-page"] .section{padding:12px 10px;margin-bottom:10px}.message{padding:10px 12px;margin-bottom:10px}.form-group{margin-bottom:12px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:10px}.stat-card{padding:12px 8px}.stat-number{font-size:1.4rem}.stat-label{font-size:0.85rem}.stats-flex-container{gap:10px;margin-bottom:12px}.stats-formal-card,.stats-graph-card{padding:12px 10px;margin-bottom:0}.search-container{flex-direction:column;align-items:stretch;gap:8px;margin-bottom:12px}.search-container .form-group,.search-container .form-group--code{flex:1 1 100%;width:100%}.search-container .form-group input,.search-container input[type="text"],.search-container input[type="search"],#code-search{width:100%;max-width:none}.table-container{font-size:0.9rem}.table th,.table td{padding:8px 4px}.session-actions-bar,.actions-bar-grid{display:grid !important;grid-template-columns:repeat(2,1fr);gap:8px;align-items:stretch !important}.session-actions-bar .btn,.actions-bar-grid .btn{width:100%;margin-bottom:0;margin-right:0;padding:10px 8px;font-size:0.85rem}.card[style*="display:flex"]:not(.session-actions-bar):not(.actions-bar-grid){flex-direction:column !important;align-items:stretch !important}.card[style*="display:flex"]:not(.session-actions-bar):not(.actions-bar-grid) .btn{width:100%;margin-bottom:8px;margin-right:0}.card[style*="display:flex"]:not(.session-actions-bar):not(.actions-bar-grid) .btn:last-child{margin-bottom:0}#participants-list,.participants-cards-container{gap:0.65rem;margin-bottom:1rem}.participant-card{padding:0.75rem}.participant-field{grid-template-columns:4.75rem 1fr}.pagination{gap:6px;margin-top:12px}.footer{padding:24px 0;margin-top:20px}.footer-container{padding:0 10px}.footer-content{grid-template-columns:1fr;text-align:center}}html.pwa-standalone body{-webkit-touch-callout:none}html.pwa-standalone a,html.pwa-standalone img,html.pwa-standalone button,html.pwa-standalone .btn,html.pwa-standalone .nav-link,html.pwa-standalone label{-webkit-touch-callout:none;-webkit-user-drag:none;user-select:none}html.pwa-standalone input,html.pwa-standalone textarea,html.pwa-standalone select,html.pwa-standalone [contenteditable="true"],html.pwa-standalone [contenteditable=""]{-webkit-touch-callout:default;-webkit-user-select:text;user-select:text}@media (max-width:480px){.container,body[class*="-page"] .container{max-width:100%;padding:0 6px 12px;margin:0 auto}header,.header{padding:8px}.card,section.card,body[class*="-page"] .card,.section{padding:10px 8px}}body.cup-account-blocked-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box}.cup-account-blocked{width:100%;max-width:440px}.cup-account-blocked-card{background:#fff;border-radius:16px;box-shadow:0 20px 40px rgba(0,0,0,0.12);padding:36px 28px;text-align:center;border-top:5px solid #dc3545}.cup-account-blocked-icon{margin:0 0 16px;font-size:4.5rem;color:#dc3545;line-height:1}.cup-account-blocked h1{margin:0 0 12px;font-size:1.45rem;color:#1a1a2e}.cup-account-blocked-lead{margin:0 0 20px;line-height:1.5;color:#444;font-size:0.98rem}.cup-account-blocked-contact{margin:0 0 10px;padding:14px 16px;background:#fff5f5;border:1px solid #f5c2c7;border-radius:10px;color:#842029;font-size:1.05rem;display:flex;align-items:center;justify-content:center;gap:10px}.cup-account-blocked-hint{margin:0 0 24px;font-size:0.9rem;color:#666;line-height:1.45}.cup-account-blocked-actions{display:flex;flex-direction:column;gap:10px}.cup-account-blocked-actions .btn{justify-content:center}body.cup-not-found-page{min-height:100vh;padding:20px 0;box-sizing:border-box}body.cup-not-found-page .header{position:relative;aspect-ratio:1191 / 176;background:url('../IMG/global/banniere.png') no-repeat center / 100% 100%;border-radius:10px;margin-bottom:20px;box-shadow:0 2px 10px rgba(0,0,0,0.1);overflow:hidden}body.cup-not-found-page .header h1{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;color:#2c3e50}.cup-not-found{width:100%;max-width:480px;margin:0 auto}.cup-not-found-card{background:#fff;border-radius:16px;box-shadow:0 20px 40px rgba(0,0,0,0.12);padding:36px 28px;text-align:center;border:2px solid transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,rgb(255,0,0) 0%,rgb(0,26,255) 100%) border-box}.cup-not-found-code{margin:0 0 8px;font-size:4rem;font-weight:800;line-height:1;background:linear-gradient(135deg,rgb(255,0,0) 0%,rgb(0,26,255) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent}.cup-not-found h1{margin:0 0 12px;font-size:1.45rem;color:#1a1a2e}.cup-not-found-lead{margin:0 0 20px;line-height:1.5;color:#444;font-size:0.98rem}.cup-not-found-redirect{margin:0 0 24px;padding:14px 16px;background:#f0f4ff;border:1px solid #c5d4f7;border-radius:10px;color:#1a3a6e;font-size:0.95rem;display:flex;align-items:center;justify-content:center;gap:10px}.cup-not-found-actions{display:flex;flex-direction:column;gap:10px}.cup-not-found-actions .btn{margin:0}.footer{background:linear-gradient(135deg,rgb(255,0,0,0.9) 0%,rgb(0,26,255,0.9) 100%);color:white;padding:40px 0;border-top-left-radius:20px;border-top-right-radius:20px}.footer-container{max-width:1200px;margin:0 auto;padding:0 20px;text-align:center}.footer-section{align-items:center;justify-content:center;gap:30px;margin-bottom:10px;font-size:24px}.footer-content{font-size:14px;gap:30px;margin-bottom:10px}.cup-prereq-blocker{position:fixed;inset:0;z-index:2147483647;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box;background:linear-gradient(135deg,rgba(180,0,0,0.96) 0%,rgba(0,26,120,0.96) 100%);color:#fff;text-align:center}.cup-prereq-blocker[hidden]{display:none !important}noscript .cup-prereq-blocker{display:flex !important}.cup-prereq-blocker-inner{max-width:420px;width:100%;background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.35);border-radius:16px;padding:24px 20px;box-shadow:0 16px 48px rgba(0,0,0,0.35);backdrop-filter:blur(4px)}.cup-prereq-icon{font-size:2.5rem;margin:0 0 12px;line-height:1}.cup-prereq-blocker h1{color:#fff;font-size:1.25rem;margin:0 0 12px;text-align:center}.cup-prereq-blocker p{margin:0 0 10px;line-height:1.5;font-size:0.95rem}.cup-prereq-lead{font-weight:600;margin-top:4px !important}.cup-prereq-missing,.cup-prereq-actions-list{list-style:none;margin:12px 0 0;padding:0;text-align:left;font-size:0.9rem;line-height:1.45}.cup-prereq-missing li,.cup-prereq-actions-list li{position:relative;padding:6px 0 6px 18px;border-top:1px solid rgba(255,255,255,0.2)}.cup-prereq-missing li:first-child,.cup-prereq-actions-list li:first-child{border-top:none}.cup-prereq-missing li::before,.cup-prereq-actions-list li::before{content:"•";position:absolute;left:0;color:#ffe082}html.cup-prereq-lock{overflow:hidden !important;height:100%}html.cup-prereq-lock body{overflow:hidden !important;height:100%}