.modal-overlay{-webkit-backdrop-filter:blur(4px);z-index:99999;background-color:#0f172a99;justify-content:center;align-items:center;width:100vw;height:100vh;animation:.2s ease-out fadeInOverlay;display:flex;position:fixed;top:0;left:0}.modal-content{background-color:#fff;border-radius:14px;width:calc(100% - 32px);max-width:450px;animation:.25s cubic-bezier(.16,1,.3,1) slideInContent;overflow:hidden;box-shadow:0 20px 25px -5px #0003,0 10px 10px -5px #0000001a}.modal-header{background:linear-gradient(135deg,#1faec5 0%,#61bd4f 100%);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.modal-header h3{color:#fff;margin:0;font-family:Segoe UI,system-ui,sans-serif;font-size:1.1rem;font-weight:700}.modal-close-btn{color:#fffc;cursor:pointer;background:0 0;border:none;font-size:1.6rem;line-height:1;transition:color .2s}.modal-close-btn:hover{color:#fff}.modal-form{flex-direction:column;gap:16px;padding:24px;display:flex}.modal-error{color:#e11d48;background-color:#fff1f2;border:1px solid #fecdd3;border-radius:6px;padding:10px;font-size:.85rem;font-weight:600}.form-group label{color:#475569;font-size:.85rem;font-weight:600}.form-group input{color:#0f172a;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:8px;width:100%;padding:10px 14px;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus{border-color:#1faec5;outline:none;box-shadow:0 0 0 3px #1faec526}.modal-actions{justify-content:flex-end;gap:12px;margin-top:10px;display:flex}.btn-cancel{color:#475569;cursor:pointer;background-color:#f1f5f9;border:1px solid #cbd5e1;border-radius:8px;padding:10px 18px;font-size:.9rem;font-weight:600;transition:all .2s}.btn-cancel:hover{background-color:#e2e8f0}.btn-submit{color:#fff;cursor:pointer;background-color:#1faec5;border:none;border-radius:8px;padding:10px 20px;font-size:.9rem;font-weight:600;transition:background-color .2s}.btn-submit:hover{background-color:#178fa3}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}@keyframes slideInContent{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.navbar-container{-webkit-backdrop-filter:blur(10px);z-index:1000;box-sizing:border-box;background:#fff9;border:1px solid #fff6;border-radius:16px;justify-content:space-between;align-items:center;max-width:90%;margin:0 auto 20px;padding:10px 24px;display:flex;position:sticky;top:20px;left:0;right:0;box-shadow:0 8px 32px #1f26870a}.navbar-menu{align-items:center;display:flex}.nav-link{color:#1faec5;border-radius:8px;padding:8px 16px;font-family:Segoe UI,system-ui,sans-serif;font-weight:600;text-decoration:none;transition:all .2s}.nav-link:hover{background:#1faec514}.navbar-actions{align-items:center;display:flex}.auth-group{align-items:center;gap:16px;display:flex}.btn-add-participant{color:#166534;cursor:pointer;background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:8px 16px;font-family:Segoe UI,system-ui,sans-serif;font-size:.85rem;font-weight:600;transition:all .2s}.btn-add-participant:hover{color:#fff;background:linear-gradient(135deg,#1faec5 0%,#61bd4f 100%);border-color:#0000;box-shadow:0 4px 12px #1faec526}.btn-add-participant:active{transform:scale(.97)}.nav-link-admin{color:#64748b;border:1px solid #0000;border-radius:8px;align-items:center;padding:8px 14px;font-family:Segoe UI,system-ui,sans-serif;font-size:.85rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.nav-link-admin:hover{color:#1faec5;background:#1faec514}.nav-link-admin.logout-active{color:#94a3b8}.nav-link-admin.logout-active:hover{color:#e11d48;background:#e11d4814}.concours-container{max-width:90%;margin:20px auto;font-family:Segoe UI,system-ui,sans-serif}.responsive-table-wrapper{-webkit-overflow-scrolling:touch;background-color:#fff;border:1px solid #e2e8f0;border-radius:12px;width:100%;margin-bottom:20px;overflow-x:auto;box-shadow:0 4px 20px #00000008}.concours-table{border-collapse:separate;border-spacing:0;width:100%}.concours-table thead tr{background:linear-gradient(135deg,#1faec5 0%,#61bd4f 100%)}.concours-table th{color:#fff;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;padding:16px 24px;font-size:.85rem;font-weight:700}.concours-table td{color:#334155;border-bottom:1px solid #e2e8f0;padding:16px 24px;font-size:.95rem}.concours-table tbody tr:last-child td{border-bottom:none}.concours-table tbody tr{transition:background-color .2s}.concours-table tbody tr:hover{background-color:#f8fafc}.text-center{text-align:center}.text-left{text-align:left}.manche-cell-inline{justify-content:center;align-items:center;gap:12px;width:100%;display:flex}.dossard-wrapper{text-align:right;flex:0 0 65px}.pesee-wrapper{text-align:left;flex:0 0 95px}.dossard-tag{color:#475569;background-color:#f1f5f9;border:1px solid #cbd5e1;border-radius:6px;padding:4px 8px;font-size:.8rem;font-weight:700;display:inline-block}.dossard-tag.empty{color:#94a3b8;background-color:#f8fafc;border-color:#e2e8f0;padding:4px 12px;font-weight:400}.pecheur-info{flex-direction:column;display:flex}.pecheur-nom{color:#0f172a;font-weight:600}.pecheur-prenom{color:#64748b;font-size:.85rem}.pesee-badge{color:#475569;background-color:#f1f5f9;border-radius:6px;min-width:70px;padding:6px 12px;font-size:.9rem;font-weight:600;display:inline-block}.total-badge{color:#166534;background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;min-width:80px;padding:6px 14px;font-size:.95rem;font-weight:700;display:inline-block}.th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s}.th-sortable:hover{background:#ffffff26}.th-actions,.td-actions{box-sizing:border-box;width:190px;min-width:190px;max-width:190px}.action-buttons-flex{justify-content:center;align-items:center;gap:8px;width:100%;display:flex}.edit-button{color:#0d9488;cursor:pointer;background-color:#f0fdfa;border:1px solid #ccfbf1;border-radius:6px;padding:6px 14px;font-size:.85rem;font-weight:600;transition:all .2s}.edit-button:hover{color:#fff;background-color:#0d9488;border-color:#0d9488;box-shadow:0 4px 12px #0d94881f}.delete-button{color:#e11d48;cursor:pointer;background-color:#fff1f2;border:1px solid #fecdd3;border-radius:6px;padding:6px 14px;font-size:.85rem;font-weight:600;transition:all .2s}.delete-button:hover{color:#fff;background-color:#e11d48;border-color:#e11d48;box-shadow:0 4px 12px #e11d481f}.confirm-box{justify-content:center;align-items:center;gap:6px;width:100%;animation:.15s ease-out fadeIn;display:flex}.confirm-text{color:#e11d48;text-transform:uppercase;margin-right:4px;font-size:.85rem;font-weight:700}.btn-confirm-yes{color:#fff;cursor:pointer;background-color:#e11d48;border:1px solid #e11d48;border-radius:4px;padding:4px 10px;font-size:.8rem;font-weight:700}.btn-confirm-yes:hover{background-color:#be123c}.btn-confirm-no{color:#475569;cursor:pointer;background-color:#f1f5f9;border:1px solid #cbd5e1;border-radius:4px;padding:4px 10px;font-size:.8rem;font-weight:600}.btn-confirm-no:hover{color:#0f172a;background-color:#e2e8f0}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.table-actions-header{justify-content:space-between;align-items:center;gap:16px;width:100%;margin-bottom:16px;display:flex}.search-input{color:#334155;box-sizing:border-box;background-color:#fff;border:1px solid #cbd5e1;border-radius:8px;width:100%;max-width:320px;padding:8px 16px;font-family:Segoe UI,system-ui,sans-serif;font-size:.9rem;transition:all .2s;box-shadow:0 1px 2px #00000005}.search-input:focus{background-color:#fff;border-color:#1faec5;outline:none;box-shadow:0 0 0 3px #1faec51f,0 4px 12px #00000005}.search-input::placeholder{color:#94a3b8;font-size:.85rem;font-style:italic}.btn-download-pdf{color:#1faec5;cursor:pointer;white-space:nowrap;background-color:#fff;border:1px solid #1faec5;border-radius:8px;padding:8px 16px;font-family:Segoe UI,system-ui,sans-serif;font-size:.85rem;font-weight:600;transition:all .2s}.btn-download-pdf:hover{color:#fff;background-color:#1faec5;transform:translateY(-1px);box-shadow:0 4px 12px #1faec526}.btn-download-pdf:active{transform:translateY(0)}.table-empty-row{color:#64748b;background-color:#f8fafc;font-size:.95rem;font-style:italic;font-weight:500;padding:32px!important}.unauthorized-lock-container{box-sizing:border-box;justify-content:center;align-items:center;width:100%;min-height:350px;padding:40px 20px;display:flex}.lock-card{text-align:center;background-color:#fff;border:1px solid #e2e8f0;border-radius:12px;width:100%;max-width:420px;padding:40px 30px;box-shadow:0 4px 20px #00000008}.lock-icon-shield{margin-bottom:20px;font-size:46px;line-height:1;display:inline-block}.lock-card h2{color:#1e293b;margin:0 0 10px;font-size:22px;font-weight:700}.lock-card p{color:#64748b;margin:0;font-size:14px;line-height:1.6}.error-message-table{color:#ff3b3b;text-align:center;padding:30px;font-weight:700}@media (width<=1024px){.concours-container{max-width:95%;margin:15px auto}.concours-table th,.concours-table td{padding:12px 16px;font-size:.9rem}}@media (width<=768px){.table-actions-header{flex-direction:column;align-items:stretch;gap:12px}.search-input{max-width:100%}.btn-download-pdf{text-align:center;width:100%;padding:10px}.manche-cell-inline{gap:6px}.dossard-wrapper{flex:0 0 55px}.pesee-wrapper{flex:0 0 85px}.pesee-badge{min-width:60px;padding:4px 8px;font-size:.85rem}.total-badge{min-width:70px;padding:4px 10px;font-size:.85rem}}@media (width<=480px){.concours-table th{letter-spacing:0;padding:10px 12px;font-size:.75rem}.concours-table td{padding:10px 12px;font-size:.85rem}.pecheur-prenom{font-size:.8rem}.lock-card{padding:30px 20px}.lock-card h2{font-size:18px}}.home-page{max-width:1600px;margin:0 auto;padding:40px 20px;font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif}.home-header{border-bottom:1px solid #e2e8f0;margin-bottom:40px;padding-bottom:20px}.home-title{color:#1a202c;letter-spacing:-1px;margin:0 0 8px;font-size:2.5rem;font-weight:800}.home-subtitle{color:#718096;margin:0;font-size:1.1rem}.home-main{width:100%}.login-container{justify-content:center;align-items:center;min-height:calc(100vh - 140px);padding:20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;display:flex}.login-card{-webkit-backdrop-filter:blur(8px);background:#fff9;border:1px solid #fff6;border-radius:16px;width:100%;max-width:420px;padding:35px;box-shadow:0 10px 30px #0000000a}.login-title{color:#0f172a;text-align:center;letter-spacing:-.5px;margin:0 0 25px;font-size:1.6rem;font-weight:700}.login-error{color:#dc2626;background-color:#fef2f2;border:1px solid #fee2e2;border-radius:8px;margin-bottom:20px;padding:12px;font-size:.9rem;font-weight:500}.login-form{flex-direction:column;gap:20px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:#475569;font-size:.9rem;font-weight:600}.form-input{color:#334155;box-sizing:border-box;background-color:#fffc;border:1px solid #cbd5e1;border-radius:8px;width:100%;padding:10px 14px;font-size:1rem;transition:all .2s}.form-input:focus{background-color:#fff;border-color:#1faec5;outline:none;box-shadow:0 0 0 3px #1faec526}.login-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#1faec5 0%,#61bd4f 100%);border:none;border-radius:8px;width:100%;margin-top:10px;padding:12px;font-size:1rem;font-weight:600;transition:opacity .2s,transform .1s;box-shadow:0 4px 12px #1faec533}.login-button:hover{opacity:.95}.login-button:active{transform:scale(.98)}body{background-color:#f8fafc;background-image:radial-gradient(at 0 0,#1faec50d 0,#0000 50%),radial-gradient(at 100% 0,#61bd4f0d 0,#0000 50%);min-height:100vh;margin:0}
