*{margin:0;padding:0;box-sizing:border-box}body{font-family:Arial,sans-serif;margin:0px;background:url('../IMG/global/fond_formulaire.png') no-repeat center center fixed;background-size:cover}.navbar{position:sticky;top:0;z-index:1000;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,0.12);border-bottom:3px solid #c41e3a}.nav-container{max-width:1400px;margin:0 auto;padding:0.65rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.nav-brand a{display:inline-flex;align-items:center;gap:0.5rem;color:#111;text-decoration:none;font-weight:700;font-size:1.05rem}.nav-brand i{color:#c41e3a}.nav-menu{display:flex;align-items:center;gap:1rem;flex:1;justify-content:flex-end}.nav-list{list-style:none;display:flex;align-items:center;gap:0.25rem;margin:0;padding:0}.nav-item{position:relative}.nav-link{display:inline-flex;align-items:center;gap:0.4rem;padding:0.55rem 0.75rem;border:none;background:transparent;color:#222;text-decoration:none;font:inherit;font-size:0.92rem;cursor:pointer;border-radius:6px}.nav-link:hover,.nav-dropdown.open>.nav-link{background:#f3f3f6;color:#c41e3a}.nav-dropdown-caret{font-size:0.7rem;opacity:0.7}.nav-dropdown-menu{display:none;position:absolute;top:calc(100%+0.25rem);left:0;min-width:220px;background:#fff;border:1px solid #e5e5ea;border-radius:8px;box-shadow:0 10px 28px rgba(0,0,0,0.12);list-style:none;margin:0;padding:0.35rem;z-index:1100}.nav-dropdown.open>.nav-dropdown-menu{display:block}.nav-dropdown-link{display:flex;align-items:center;gap:0.5rem;padding:0.55rem 0.7rem;color:#222;text-decoration:none;border-radius:6px;white-space:nowrap}.nav-dropdown-link:hover{background:#f7f7f9;color:#c41e3a}.nav-user{display:flex;align-items:center;gap:0.75rem;margin-left:0.5rem;padding-left:0.75rem;border-left:1px solid #e5e5ea}.user-info{display:flex;flex-direction:column;line-height:1.2;text-align:right}.user-name{font-size:0.85rem;font-weight:600;color:#111}.user-role{font-size:0.72rem;color:#666}.user-actions{display:inline-flex;align-items:center;gap:0.35rem}.btn-notif,.btn-profile,.btn-logout{display:inline-flex;align-items:center;justify-content:center;width:2.15rem;height:2.15rem;border-radius:999px;border:1px solid #ddd;background:#fff;color:#333;text-decoration:none;cursor:pointer}.btn-notif:hover,.btn-profile:hover{border-color:#c41e3a;color:#c41e3a}.btn-logout:hover{border-color:#dc3545;color:#dc3545}.nav-guest-actions .btn-profile{width:auto;padding:0 0.85rem;gap:0.4rem;border-radius:999px}.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:2.25rem;height:2.25rem;cursor:pointer}.nav-toggle .bar{display:block;height:2px;width:100%;background:#222;border-radius:2px;transition:transform 0.2s ease,opacity 0.2s ease}.nav-toggle.active .bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle.active .bar:nth-child(2){opacity:0}.nav-toggle.active .bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media (max-width:768px){.nav-toggle{display:flex}.nav-menu{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;background:#fff;border-bottom:1px solid #e5e5ea;box-shadow:0 12px 24px rgba(0,0,0,0.12);padding:0.75rem 1rem 1rem;gap:0.75rem}.nav-menu.active{display:flex}.nav-list{flex-direction:column;align-items:stretch;width:100%}.nav-link{width:100%;justify-content:flex-start}.nav-dropdown-menu{position:static;box-shadow:none;border:none;padding-left:0.75rem;min-width:0}.nav-user{border-left:none;padding-left:0;margin-left:0;justify-content:space-between;width:100%;border-top:1px solid #eee;padding-top:0.75rem}.user-info{text-align:left}}.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%}