Files
ms1inscription-v5/css/style.css

6329 lines
130 KiB
CSS

/* GLOBAL */
* {margin: 0; padding: 0;}
img {border: none; max-width: 100%;}
.special td, .special th {padding: 3px;}
.clearer {clear: both;}
table {border-collapse: collapse; font-size: 1em;}
hr {margin: 5px 0;}
p{word-wrap: break-word;}
img{max-width: 100%; height:auto;}
#sponsors img{max-width: 93%;}
/* BODY */
body {
color: #262d35;
background: #e2e3e6 url(../images/site.jpg) no-repeat center center fixed;
background-size: cover;
font-family: 'Lato', sans-serif;
}
/* EN-TÊTE */
header {
color: #fff;
}
.ms1-header-top {
background-color: #333c49;
}
.ms1-header-top li a {
color: #fff;
line-height: 40px;
text-decoration: none;
text-transform: uppercase;
}
.ms1-header-top li a:hover, .ms1-header-top li.active a {
color: #f3954a;
font-weight: bold;
text-decoration: none;
}
.ms1-header-bottom {
background-color: rgba(30, 35, 41, 0.9);
}
.ms1-header-bottom a {
color: #fff;
text-decoration: none;
}
.ms1-header-bottom a:hover {
color: #fff;
text-decoration: underline;
}
.btn-menu{display: none; border:none; color:#fff; padding: 7px 10px; font: 100 16px/28px 'Lato', sans-serif;}
.btn-menu:hover{color:#fff; border:none; background:transparent;}
/* MILIEU */
#main, #page_logo {
/*opacity: 0.95;*/
}
/* ==================================================
* CART-STEPS
* ================================================== */
.cart-steps {
margin-bottom: 1rem;
}
.cart-steps .cart-steps-item {
background-color: #ccc;
border: .25rem solid #fff;
color: #111;
font-size: 1.2rem;
font-weight: bold;
padding: .5rem .5rem .5rem 1rem;
text-transform: uppercase;
}
.cart-steps .cart-steps-item.active {
background-color: #f3954a;
color: #fff;
}
/* PANIER */
#quitter_pas_login,
#panier_boite_login,
#panier_nouveau_compte {}
#quitter_pas_login div.titre,
#panier_boite_login div.titre,
#panier_nouveau_compte div.titre {background: #f3954a; color: #262d35; margin-bottom: 10px; padding: 5px; text-align: center;}
/* PANIER CHECKOUT*/
#panier_l {float: left; width: 100%;}
#panier_r {border: 1px dashed #fff; background: #262d35; color: #fff; float: right; width: 28%;}
#panier #rabais, #panier #options, #panier #paiement {border: 1px solid #ccc; color: #262d35; margin-bottom: 20px;}
#panier_l img {vertical-align: middle;}
#panier_r #adresse, #panier_r #annulation, #panier_r #promo, #panier #paiement, #panier #rabais, #panier #options {padding: 20px;}
#panier_r .titre, #panier #rabais .titre, #panier #rabais .sous-titre, #panier #options .titre { margin-bottom: 15px;}
#panier_r a {color: #fff; text-decoration: underline;}
#panier_r a:hover {color: #fff; text-decoration: none;}
#panier_r div.img_cartes {margin-bottom: 10px; text-align: center; width: 100%;}
#panier_r div.img_cartes img {float: none; margin: 0; padding: 0 5px;}
.img_cartes img.active {
border: 1px solid #333;
}
.img_cartes img.inactive {
opacity: .2;
}
div#loading {display: none; position: fixed; z-index: 1000; top: 0; left: 0; height: 100%; width: 100%; background: rgba(0,0,0,0.45) url(../images/ms1-runner-loader.gif) 50% 50% no-repeat; background-size: 72px 72px;}
#page .wrapper {display: block; max-width:1004px; margin:0 auto; padding:20px 65px 100px; background: #fff; opacity:0.95; min-height:60vh;}
#page_logo .wrapper {display: block; max-width:1004px; margin:0 auto; padding:0 65px 25px; background: #fff; border-bottom: 1px solid #262d35;}
#rabais .titre {font-weight: bold;}
#rabais .titre, #panier #rabais .sous-titre {display:block; float:left; margin: 15px auto;}
#rabais label.form{width:12%;}
#rabais input[type="text"] {float: left; display: block; padding:5.75px;}
#rabais button {float: left; display: block;}
#adresse, #acheteur{border:1px solid #666; width:35%; padding:22px; float:left; margin:0 20px 30px 0;}
#creationcompte{width:55%; display: block; float:left; padding:22px; border:1px solid #666;}
#creationcompte .connect{display: block; float: left; margin:10px 0 0; text-align: left; width:100%;}
#creationcompte .connect input{max-width:200px; margin:0 5px 0 0!important; padding: 4px;}
table.special{border-bottom:1px solid #666!important;}
table.special tbody tr th{background: #f3954a!important;}
.inactif{opacity:0.5;}
.inactif:hover{background: #f3954a; color:#333;}
p.right{display:block; float:right; width:39%; text-align: center; clear:both;}
.paiement_inactif {position: absolute; background: rgba(0,0,0,0.7); width:100%; max-width: 1004px; height: 336px;}
.paiement_inactif p {display: block; float: right; width: 35%; margin: 30px; color:#fff;}
p.facebook_dialog {display: block; font-size: 28px; height: 28px; line-height: 28px; padding: 10px 0; vertical-align: middle;}
p.facebook_dialog img {margin-right: 5px;}
p.print-receipt {font-size: 16px; text-align: right; width: 100%;}
p.print-receipt img {padding-right: 3px; vertical-align: text-top;}
p.retry-checkout {font-size: 16px;}
/* LISTE DES ÉVÉNEMENTS */
#page div.box_equipe {border-bottom: 5px solid #f3a566; margin-bottom: 10px; padding: 10px 0;}
.card.box_participant .card-header {
background-color: #f3a566;
color: #fff;
}
.card.box_participant {
border-color: #f3a566;
}
.btn_cancel_event_promo, .btn_cancel_event_client, .link_confirmation {padding: 2px 8px; font-weight: bold; margin: 2px 0 2px;}
.btn_edit_event, .btn_edit_event_promo {font-weight: bold;}
#main div.sep {border-bottom: 1px dashed #ccc; margin: 10px 0; padding-top: 10px; width: 100%;}
/* PIED DE PAGE */
#sponsors {margin: 0 auto; background: #ecedf0; padding: 25px 0;}
#sponsors ul {list-style: none; margin: 0 auto; text-align: center;}
#sponsors ul li {display: inline-block; *display:inline; margin: 0 10px;}
#sponsors ul li img {padding: 10px; vertical-align: middle;}
footer {
background-color: #333c49;
color: #fff;
}
footer a {
color: #fff;
text-decoration: none;
}
.ms1-footer-top a:hover, .ms1-footer-top a.active {
color: #f3954a;
font-weight: bold;
text-decoration: none;
}
.ms1-footer-bottom {
background-color: #262d35;
}
footer i {
font-size: 35px!important;
margin: 10px 0 10px 5px;
}
footer .social a.cookie-manage-link {
color: #fff;
text-decoration: none;
}
footer .social a.cookie-manage-link:hover {
color: #f3954a;
}
footer .social a.cookie-manage-link .cookie-manage-icon {
font-size: 35px;
line-height: 1;
width: 1em;
height: 1em;
display: inline-block;
vertical-align: middle;
font-style: normal;
}
footer .social a.cookie-manage-link .cookie-manage-icon svg {
display: block;
width: 1em;
height: 1em;
fill: currentColor;
}
/* TITRES */
h1 {color: #262d35; text-transform: uppercase; margin-bottom: 10px; margin-top:20px;}
h2 {color: #262d35; text-transform: uppercase; margin-bottom: 10px; margin-top:20px;}
h3 {color: #262d35; text-transform: uppercase; margin-bottom: 5px;}
h4 {color: #262d35; text-transform: uppercase; margin-bottom: 10px;}
h4 span {color: #262d35; }
footer h1,
footer h2,
footer h3,
footer h4 {
color:#fff;
}
h2.box_paiement{width:35.4%; margin:5px 0;}
i.fa.fa-file-text-o {font-size: 45px; width: 50px; display: block; float: left;}
/* LIENS */
a {
color: #f3954a;
text-decoration: none;
}
a:hover {
color: #f3954a;
text-decoration: underline;
}
a[href^="mailto:"] {
/* These are technically the same, but use both */
overflow-wrap: break-word;
word-wrap: break-word;
-ms-word-break: break-all;
/* This is the dangerous one in WebKit, as it breaks things wherever */
word-break: break-all;
/* Instead use this non-standard one: */
word-break: break-word;
/* Adds a hyphen where the word breaks, if supported (No Blink) */
-ms-hyphens: auto;
-moz-hyphens: auto;
-webkit-hyphens: auto;
hyphens: auto;
}
/* LISTES */
ul.promoteur {width: 100%; margin: 5px 0 5px!important;}
ul.promoteur li{list-style:none; margin-bottom: 15px; background: none!important;}
/* FORMULAIRES */
label.error-dash {
background-position: left top;
background-repeat: no-repeat;
display: block;
float: none;
font-style: italic;
font-weight: bold;
line-height: 18px;
margin: 5px 5px 5px 5px;
padding-left: 18px; width: auto;
background-image: url(../images/error.png); color: #c33;
background-color: #ffb;
}
div.error-dash{
background-color: #FFB;
border: 1px solid #FEB;
margin-bottom: 10px;
padding: 3px;
display: block;
clear: both;
}
label.error,
label.success,
label.msg,
label.promo {
font-size: 0.9rem;
font-style: italic;
font-weight: bold;
margin: 5px;
}
label.error { color: #c33; }
label.error:before {
content: '\f071';
color: #c33;
font-family: fontawesome;
font-style: normal;
font-weight: normal;
padding-right: 5px;
}
label.success {background-image: url(../images/tick.png); color: #529214;}
label.msg {background-image: url(../images/information.png); color: #0072bc; padding:0 20px;}
div.error {display: none;}
div.error, div.msg {/*background-color: #ffb;*/ margin-bottom: 10px; display: block; clear: both;}
table.resultats>tbody>tr:nth-of-type(even) input {
background: #fff;
}
header ::-webkit-input-placeholder {
text-align: center;
}
header :-moz-placeholder { /* Firefox 18- */
text-align: center;
}
header ::-moz-placeholder { /* Firefox 19+ */
text-align: center;
}
header :-ms-input-placeholder {
text-align: center;
}
fieldset {border: none; margin-bottom: 10px;}
fieldset legend {color: #262d35; font-weight: bold; padding: 2px 5px;}
fieldset label.form {color: #262d35; float: left; margin: 8px 5px; text-align: right; width: 35%;}
fieldset label.info {color: #262d35; margin: 5px;}
fieldset #panier_r label.form {display: block; float: none; margin: 5px 0; text-align: left; width: auto;}
fieldset #panier_r input, fieldset #panier_r textarea, fieldset #panier_r select, fieldset #panier_r p, fieldset #panier_r button, fieldset #panier_r img {float: left; margin: 5px 5px 5px 0;}
fieldset #panier_l img {float: none; margin: 0 3px 0 0;}
fieldset br {clear: left;}
fieldset p img {float: none; margin: 0; padding-right: 3px; vertical-align: text-top;}
.img_cartes img{margin:0 5px!important;}
div.boutons p.boutons_l, div.boutons p.boutons_m, div.boutons p.boutons_r {float: left; width: 32%;}
div.boutons button {float: none; margin: 0; width: 200px;}
div.bouton {display: block; text-align: right; }
/* TABLEAUX */
td.highlighted {color: #fff;}
td.grayed {color: #666; text-decoration: line-through;}
/* MISC */
.img_cadre {border: 1px solid #a39f7a;}
table.tab-rabais td, table.tab-rabais th {padding: 3px;}
table.resultats,
table.stats {width:90%; max-width: 1240px; display: block; clear: both; margin: 10px auto;}
table.resultats td,
table.stats td,
table.stats th {padding: 8px;}
table.stats td,
table.stats th {border: 1px solid #fff;}
table.resultats tr.HeaderRow td,
table.stats th {background: #f3a566; color: #262d35; font-weight: bold; width:auto!important;}
table.stats td {background: #444;}
table.resultats tr.OddRow td, table.resultats > tbody > tr:nth-of-type(odd) {background: #FAFDFF; width: auto!important;}
table.resultats tr.EvenRow td, table.resultats > tbody > tr:nth-of-type(even) {background: #E6E6E6; width: auto!important;}
table.resultats td.BestTimeOverall {color: #FF00FF; font-weight: bold;}
table.resultats td.BestTime {color: #00FF00; font-weight: bold;}
table.resultats td.PitIn {color: #FF0000; font-weight: bold;}
table.resultats td.PitOut {color: #FFFF00; font-weight: bold;}
table.resultats td img {height: 1.1em;}
#Time {max-width: 1240px; margin: 0 auto 0.5em auto; font-size: 1em; font-weight: bold; text-align: right;}
#DayTime {color: #FFFF00; float: left}
#ElapsedTime {color: #00FF00; margin-right: 1em}
#RemainingTime {color: #FF0000;}
img.img_status {height: 1.1em; margin-bottom: 5px;}
tr.OddRowCancelled, table.resultats > tbody > tr.RowCancelled:nth-of-type(odd) {
font-weight: bold;
color: #ffCD00;
font-style: italic;
background: #262d35;
}
tr.EvenRowCancelled, table.resultats > tbody > tr.RowCancelled:nth-of-type(even) {
font-weight: bold;
color: #ffCD00;
font-style: italic;
background: #222;
}
table.resultats > tbody > tr.RowIncomplete:nth-of-type(odd) {
font-weight: bold;
color: #f26522;
font-style: italic;
background: #262d35;
}
table.resultats > tbody > tr.RowIncomplete:nth-of-type(even) {
font-weight: bold;
color: #f26522;
font-style: italic;
background: #222;
}
td#available form input{max-width: 50%;}
/* TABLE */
.table thead tr,
.table tfoot tr {
background-color: #f3a566;
color: #262d35;
}
div.pagination{
color: #f58400;
text-align: center;
}
span.pagination-links{
background-color: #f58400;
border: 1px solid #fff;
}
a.pagination{
padding: 10px;
color: #000;
}
.disabled {
background:#EEE;
color: #fff;
text-align: center;
}
.dash-qte {
width: 100px;
}
.dash-bib{
width:100%;
}
.btn_bib{
cursor:pointer;
}
.input-readonly{
background-color: #fff;
}
.sel-input-readonly{
background-color: #fff;
/*width:150px;*/
}
.sel-input{
/*width:150px;*/
}
.button-promoteur {
background: #f3954a;
border: 3px solid #333;
color: #333;
cursor: pointer;
display: block;
font-size: 1em;
font-weight: bold;
line-height: 130%;
outline: none;
overflow: visible;
text-decoration: none;
text-transform: lowercase;
width: 100px;
height: 100px;
margin: 0px auto;
}
.button-promoteur:hover{
border: 3px solid #333;
}
/*RESPONSIVE*/
@media screen and (max-width: 1145px) {
#page ul.evenements li{
width:22%;
}
}
@media screen and (max-width: 1045px) {
.wrapper, #footer .wrapper{
padding:0 45px;
}
#footer_r, #footer_l {
margin-top:10px;
}
}
@media screen and (max-width: 1024px) {
.logo {
max-width: 300px;
}
}
@media screen and (max-width: 974px) {
#header{
min-height:260px!important;
margin-bottom: 0!important;
}
#header .middle {
min-height: 260px;
}
}
@media screen and (max-width: 925px) {
.titre_desktop {display: none;}
.titre_mobile{display: block;}
.client_logo{width:100%;}
#header{
min-height:260px!important;
margin-bottom: 0px!important;
}
#header .middle {
min-height: 260px;
}
}
@media screen and (max-width: 820px) {
#page ul.evenements li{
width:30%;
}
.btn-menu{
display: block;
float: right;
}
.menu{
display: none;
width: 100%;
position: absolute;
top: 40px;
left: 0;
}
.menu li{
background: #262d35;
width: 100%;
text-align: left;
}
.top .menu_top ul li a {
margin:0;
text-align: center;
padding: 5px 0 15px;
}
.top .lang li a{
padding: 0!important;
}
.top .menu_top {
float: none;
}
.top .menu_top ul.lang li a:before {
content: "";
}
.paiement_inactif{width: 83%; height:31%;}
}
@media screen and (max-width: 768px) {
.client_logo {
padding: 25px 0 0!important;
}
.wrapper, #footer .wrapper{
padding:30px;
}
#header .wrapper{
padding:0 30px;
}
#page ul.evenements li{
width:45%;
}
fieldset label.form {
text-align: left;
width: 95%;
}
div.boutons p.boutons_l, div.boutons p.boutons_m, div.boutons p.boutons_r{width: 100%;}
div.boutons button {
float: right;
}
#adresse, #acheteur, #creationcompte{width: 92%;}
.paiement_inactif{width: 84%; height:49%;}
}
@media screen and (max-width: 570px) {
fieldset label.form {
text-align: left;
width: 100%;
}
form fieldset select{
width: 75%;
}
form fieldset select p{
width: 100%;
}
fieldset p{
margin: 5px 0;
}
.paiement_inactif {
width: 89%;
height: 73%;
}
#adresse, #acheteur, #creationcompte {
width: 85%;
}
#rabais{
width: 78%;
}
.special{
font-size: 0.79em!important;
}
#footer i {
margin: 10px 2px 10px 2px;
}
/* TITRES */
h2.box_paiement { width: 100%;margin: 5px 0;}
}
/* Aspect général de la coche */
input[type="checkbox"]:checked:before, input[type="radio"]:checked:before {
font-family: 'FontAwesome';
content: "\F00C";
font-size: 18px;
color: #f3954a;
background: #ecedf0;
line-height: 15px;
}
input[type="checkbox"], input[type="radio"] {
font-size: 14px;
border:7px solid #ecedf0!important;
outline: 1px solid #b7b6b6;
/*outline: none;*/
}
input[type="checkbox"]:checked, input[type="radio"]:checked {
background: transparent!important;
border: none!important;
outline: 1px solid #b7b6b6;
/*outline: none;*/
}
/* PRELOADER — voir aussi css/ms1-loader.css */
#preloader {
background-color: rgba(0,0,0,0.6);
height: auto;
min-height: 100%;
position: fixed;
top: 0;
left: 0;
width: 100%;
z-index: 9999;
}
/* CHECKOUT */
span.termes {
font-size: 1.2em;
}
.form-message {
background: #ffc;
border: 1px solid #ddd;
border-radius: 8px;
display: none;
padding: 10px;
margin: 10px auto;
max-width: 350px;
}
.form-message label {
display: block;
}
#page a.under-dash {
border-bottom: 1px dashed;
text-decoration: none;
}
#page a.under-dash:hover {
border-bottom: none;
text-decoration: none;
}
/* ICÔNES SPÉCIALES */
.ico-question, .ico-cart {
font-size: 24px;
}
.fa-file-pdf-o.ico-question {
color: red;
}
.fa-question-circle.ico-question {
color: #0000ff;
}
/* TRANSFERT D'ÉPREUVE */
.xfer_sign,
.donation_sign {
/*color: #333;*/
font-weight: bold;
margin-left: 5px;
}
.xfer-box .message {
margin-bottom: 15px;
padding: 15px 0;
}
.xfer-box .details {
border: 1px solid #333;
margin-bottom: 15px;
padding: 15px;
}
.xfer-box .details .titre,
.xfer-box .details .value {
display: block;
padding: 5px 0;
}
.xfer-box .details .titre {
float: left;
font-weight: bold;
text-align: right;
width: 30%;
}
.xfer-box .details .value {
float: right;
text-align: left;
width: 66%;
}
@media screen and (max-width: 767px) {
.xfer-box .details .titre,
.xfer-box .details .value {
float: none;
text-align: left;
width: 99%;
}
}
/* DISABLED - READONLY */
:disabled {
background-color: #999;
}
div.rabais {
color: #777;
text-decoration: line-through;
}
.frm_search{
display: none;
}
.div_open{
display: block;
}
.lbl_hint{
color: grey;
text-transform: lowercase;
font-style: italic;
font-size: 0.7em;
}
.white-popup-block {
background: #FFF;
padding: 20px 30px;
text-align: left;
max-width: 650px;
margin: 40px auto;
position: relative;
}
.special{
height: 50px;
}
/*Thermometre*/
.left, .right {
display: block;
float: left;
margin: 2% 0 2% 5%;
min-height: 185px;
}
.right{
float: right;
margin: 5% 10% 20px 0;
}
.left p{
margin: 15px auto;
font-size: 20px;
line-height: 28px;
}
.therm-number {
font-size: 11px;
color:#000;
}
@media screen and (max-width: 767px) {
.left, .right{
margin:2% 0;
}
.right{
margin:2% 0 50px 20px;
}
.left p{
font-size: 16px;
line-height: 20px;
}
}
.don-stats, .don-thermo {
display: block;
float: left;
margin: 2% 0 2% 5%;
min-height: 185px;
}
.don-thermo {
/*float: right;*/
margin: 5% 15%;
}
.don-stats p {
margin: 15px auto;
font-size: 20px;
line-height: 28px;
}
@media screen and (max-width: 767px) {
.don-stats, .don-thermo {
float: none;
margin:2% 0;
}
.don-thermo {
margin:2% 25%;
}
.don-stats p {
font-size: 16px;
line-height: 20px;
}
}
@media screen and (max-width: 499px) {
.don-stats, .don-thermo {
float: none;
margin:2% 0;
}
}
/* DONS */
.box-donateurs {
margin: 0 auto;
width: 70%;
}
.floatl {
float: left;
}
.floatr {
float: right;
}
.trie a {
color: #AAFFAA;
}
/* COMPTE CLIENT */
ul.ms1-menu-compte {
clear: both;
list-style: none;
margin: 0.5rem 0;
}
ul.ms1-menu-compte li {
color: #111;
font-size: 1rem;
font-weight: bold;
margin: 0.5rem;
text-transform: uppercase;
}
ul.ms1-menu-compte li i {
font-size: 1.5rem;
margin-right: 0.5rem;
width: 30px;
}
ul.ms1-menu-compte li small {
font-size: 0.8rem;
margin-left: 0.5rem;
text-transform: none;
}
ul.ms1-menu-compte li a {
background-color: #ccc;
border: #999 0.05rem solid;
border-radius: 0.25rem;
color: #111;
display: block;
margin: auto;
padding: 1rem 2rem;
text-decoration: none;
}
ul.ms1-menu-compte li a:hover, ul.ms1-menu-compte li a:active {
background-color: #f3954a;
color: #fff;
text-decoration: none;
}
.bloc_archives {
background-color: #ccc;
margin: 50px 0;
padding: 15px;
}
.bloc_archives .more_sign {
color: #333;
font-weight: bold;
margin-left: 5px;
}
.bloc_archives .more_link {
color: #333;
font-size: 1.2rem;
font-weight: bold;
}
/*Block Headline*/
.headline {
display: block;
margin: 10px 0 25px 0;
border-bottom: 1px dotted rgba(0,0,0,0.2);
}
.headline h2,
.headline h3,
.headline h4 {
margin: 0 0 -2px 0;
padding-bottom: 5px;
display: inline-block;
border-bottom: 2px solid #262d35;
width: auto;
}
/* ==================================================
* SCROLL TOP
* ================================================== */
.scroll-top-wrapper {
background-color: #f3954a;
border-radius: 5px;
bottom: 20px;
color: #fff;
height: 36px;
line-height: 36px;
opacity: 0;
overflow: hidden;
position: fixed;
right: 20px;
text-align: center;
-webkit-transition: all 0.5s ease-in-out;
-moz-transition: all 0.5s ease-in-out;
-o-transition: all 0.5s ease-in-out;
transition: all 0.5s ease-in-out;
visibility: hidden;
width: 36px;
z-index: 999;
}
.scroll-top-wrapper:hover {
color: #fff;
background-color: #f3954a;
}
.scroll-top-wrapper.show {
cursor: pointer;
opacity: 1.0;
visibility :visible;
}
.scroll-top-wrapper i.fa {
line-height: inherit;
}
/* GOOGLE reCAPTCHA */
.grecaptcha-badge {
visibility: hidden;
}
/* TABLEAU PRDOMOTEUR */
.btn-promoteur {
border-width: 0.25rem;
height: 8rem;
width: 8rem;
}
.btn-promoteur i {
font-size: 4rem;
vertical-align: middle;
}
.prix-epreuve-actuel {
font-size: 1.75rem;
margin: .5rem;
}
.prix-epreuve-actuel div {
height: 7rem;
margin: auto;
padding: 2rem 0;
width: 7rem;
}
.cents {
font-size: .75rem;
vertical-align: text-top;
}
.prix-epreuve-dernier {
font-style: italic;
margin: .25rem;
text-decoration: line-through;
}
.prix-epreuve-date {
margin: .25rem;
}
.badge-notification {
position: absolute;
font-size: 1rem;
margin-top: -1.5rem;
margin-left: -2rem;
}
.prix-note {
position: absolute;
bottom: 1.8rem;
left: 50%;
transform: translateX(-50%);
font-size: 0.65rem;
color: #fff;
white-space: nowrap;
text-align: center;
max-width: 90%;
}
.popover {
max-width: 400px;
}
.popover-content a {
word-break: break-word!important;
word-wrap: break-word!important;
}
/* MSIN-4379 — Switch bannière dev/préprod (alert-danger) : contraste sombre sur fond rose. */
.alert-danger.sticky-top .ms1-env-text-edit{
display:inline-flex;
align-items:center;
vertical-align:middle;
margin-left:14px;
padding-left:14px;
border-left:2px solid rgba(114,28,36,.35);
}
.ms1-env-text-edit-label{
display:inline-flex;
align-items:center;
gap:8px;
color:#721c24;
font-size:12px;
font-weight:600;
cursor:pointer;
user-select:none;
white-space:nowrap;
}
.ms1-env-text-edit-opt{
color:#721c24;
opacity:.5;
transition:opacity .15s ease;
}
.ms1-env-text-edit-opt.is-active{
opacity:1;
font-weight:700;
}
.ms1-env-text-edit-switch{
appearance:none;
width:38px;
height:20px;
margin:0;
border-radius:999px;
border:2px solid #721c24;
background:#f5c6cb;
position:relative;
cursor:pointer;
flex-shrink:0;
vertical-align:middle;
}
.ms1-env-text-edit-switch::after{
content:"";
position:absolute;
top:1px;
left:1px;
width:14px;
height:14px;
border-radius:50%;
background:#721c24;
transition:transform .15s ease;
}
.ms1-env-text-edit-switch:checked{
background:#e67e22;
border-color:#a04000;
}
.ms1-env-text-edit-switch:checked::after{
background:#fff;
transform:translateX(18px);
}
.ms1-env-text-edit-switch:focus{
outline:none;
box-shadow:0 0 0 2px rgba(114,28,36,.35);
}
.ms1-perm-inspect-badge{
display:inline-block;
font-size:11px;
line-height:1.3;
padding:2px 6px;
margin:2px 4px 2px 0;
border-radius:3px;
background:#fff3cd;
border:1px solid #e0a800;
color:#856404;
vertical-align:middle;
}
.ms1-perm-inspect-badge code{
font-size:10px;
color:inherit;
background:transparent;
padding:0;
}
.ms1-perm-inspect-zone{
outline:2px dashed rgba(224,168,0,.55);
outline-offset:4px;
}
.ms1-perm-inspect-slot{
display:inline-block;
margin:2px 6px 2px 0;
vertical-align:middle;
}
.epr-wrapper{
display:flex;
flex-direction:column;
gap:20px;
font-size:14px;
line-height:1.45;
}
/* MSIN-4424 — Blocs repliables en tête du module bib : espacement serré. */
#module-bib.epr-wrapper{
gap:6px;
}
#module-bib > .epr-row:first-of-type{
margin-top:10px;
}
/* MSIN-4467 — Espaces de travail de la gestion des dossards. */
#module-bib .bib-tool-hub{
margin-top:10px;
}
#module-bib .bib-workspace-bar{
display:flex;
align-items:stretch;
gap:4px;
padding:4px;
border:1px solid #c8d6e5;
border-radius:8px;
background:#f4f8fc;
overflow-x:auto;
}
#module-bib .bib-workspace-nav{
display:flex;
align-items:stretch;
gap:4px;
}
#module-bib .bib-workspace-tab{
display:inline-flex;
align-items:center;
justify-content:center;
gap:5px;
min-height:42px;
padding:8px 16px;
border:0;
border-radius:6px;
background:transparent;
color:#495057;
font-size:13px;
font-weight:600;
line-height:1.25;
white-space:nowrap;
cursor:pointer;
}
/* MSIN-4470 — L'impression PDF reste accessible à droite des espaces principaux. */
#module-bib .bib-workspace-action{
display:flex;
flex:0 0 auto;
margin-left:auto;
}
#module-bib .bib-workspace-action .bib-tool-btn{
width:auto;
min-height:42px;
padding:8px 16px;
border-width:0;
background:transparent;
color:#495057;
font-size:13px;
font-weight:600;
line-height:1.25;
}
#module-bib .bib-workspace-action .bib-tool-btn:not(.is-active):hover,
#module-bib .bib-workspace-action .bib-tool-btn:not(.is-active):focus{
background:#e8f0f8;
color:#1e4a9e;
box-shadow:none;
}
#module-bib .bib-workspace-action .bib-tool-btn.is-active,
#module-bib .bib-workspace-action .bib-tool-btn.is-active:hover,
#module-bib .bib-workspace-action .bib-tool-btn.is-active:focus{
background:#2f5fd0;
color:#fff;
border-color:transparent;
box-shadow:none;
}
#module-bib .bib-workspace-tab:hover,
#module-bib .bib-workspace-tab:focus{
background:#e8f0f8;
color:#1e4a9e;
outline:none;
}
#module-bib .bib-workspace-tab.is-active{
background:#2f5fd0;
color:#fff;
}
#module-bib .bib-workspace-tab .btn-aide-trad,
#module-bib .bib-workspace-tab .btn-trad-admin{
margin:0;
}
#module-bib .bib-workspace-panel{
margin-top:8px;
padding:16px;
border:1px solid #c8d6e5;
border-radius:8px;
background:#fff;
}
#module-bib .bib-workspace-panel-heading{
margin-bottom:14px;
}
#module-bib .bib-workspace-panel-heading p{
margin:0;
color:#495057;
}
#module-bib .bib-preparation-overview{
margin-bottom:16px;
}
#module-bib .bib-preparation-groups{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:12px;
}
#module-bib .bib-preparation-group{
display:flex;
flex-direction:column;
gap:10px;
min-width:0;
padding:12px;
border:1px solid #c8d6e5;
border-radius:8px;
background:#f8fbfe;
}
#module-bib .bib-preparation-group--quantities{
background:#fafbfc;
}
#module-bib .bib-preparation-group h3{
margin:0;
color:#1e3a6e;
font-size:14px;
font-weight:700;
}
#module-bib .bib-preparation-stats{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:1px;
margin:0;
overflow:hidden;
border:1px solid #dee2e6;
border-radius:6px;
background:#dee2e6;
}
#module-bib .bib-preparation-stat{
margin:0;
padding:12px 14px;
background:#fff;
}
#module-bib .bib-preparation-stat dd{
margin:0 0 2px;
color:#212529;
font-size:22px;
font-weight:700;
line-height:1.15;
}
#module-bib .bib-preparation-stat dt{
margin:0;
color:#6c757d;
font-size:11px;
font-weight:600;
line-height:1.3;
text-transform:uppercase;
}
#module-bib .bib-preparation-stat--success dd{
color:#218838;
}
#module-bib .bib-preparation-stat--warning dd{
color:#a36b00;
}
#module-bib .bib-preparation-races{
display:flex;
flex-direction:column;
gap:6px;
margin-top:10px;
}
/* MSIN-4440 — Outils contextuels + panneau de détail unique. */
#module-bib .bib-tool-nav{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:8px;
}
#module-bib .bib-tool-nav--operations{
grid-template-columns:repeat(3, minmax(0, 1fr));
}
#module-bib .bib-tool-nav--settings{
grid-template-columns:minmax(0, 1fr);
max-width:520px;
}
#module-bib .bib-tool-nav--group{
grid-template-columns:minmax(0, 1fr);
margin-top:auto;
}
#module-bib .bib-tool-btn:nth-child(4){
grid-column:1;
}
#module-bib .bib-tool-btn:nth-child(5){
grid-column:2;
}
#module-bib .bib-tool-btn{
position:relative;
display:flex;
align-items:stretch;
width:100%;
min-height:56px;
padding:8px 10px;
border:2px solid transparent;
border-radius:8px;
background:#2f5fd0;
color:#fff;
font-size:12px;
font-weight:700;
line-height:1.3;
text-align:left;
cursor:pointer;
user-select:none;
overflow:visible;
transition:background .15s ease, border-color .15s ease, box-shadow .15s ease, color .15s ease;
}
/* Tuile outil — repos : bleu uni ; survol : relief ; actif : fond blanc + bordure bleue. */
#module-bib .bib-tool-btn:not(.is-active):hover,
#module-bib .bib-tool-btn:not(.is-active):focus{
background:#2852b8;
color:#fff;
box-shadow:0 2px 8px rgba(47,95,208,.35);
outline:none;
}
#module-bib .bib-tool-btn.is-active{
background:#fff;
color:#2f5fd0;
border-color:#2f5fd0;
box-shadow:0 2px 10px rgba(47,95,208,.15);
}
#module-bib .bib-tool-btn.is-active:hover,
#module-bib .bib-tool-btn.is-active:focus{
background:#fff;
color:#2f5fd0;
outline:none;
}
#module-bib .bib-tool-btn--alt{
background:#f4f8fc;
color:#212529;
border-color:#c8d6e5;
font-weight:600;
}
#module-bib .bib-tool-btn--alt:not(.is-active):hover,
#module-bib .bib-tool-btn--alt:not(.is-active):focus{
background:#e8f0f8;
color:#212529;
box-shadow:0 2px 8px rgba(47,95,208,.18);
outline:none;
}
#module-bib .bib-tool-btn--alt.is-active{
background:#fff;
color:#2f5fd0;
border-color:#2f5fd0;
box-shadow:0 2px 10px rgba(47,95,208,.15);
}
#module-bib .bib-tool-btn--alt.is-active:hover,
#module-bib .bib-tool-btn--alt.is-active:focus{
background:#fff;
color:#2f5fd0;
outline:none;
}
#module-bib .bib-tool-btn__main{
display:flex;
flex-direction:column;
align-items:flex-start;
justify-content:center;
gap:4px;
width:100%;
min-width:0;
}
#module-bib .bib-tool-btn__label{
position:relative;
display:block;
width:100%;
min-width:0;
padding-right:26px;
}
#module-bib .bib-tool-btn__label-text{
display:-webkit-box;
-webkit-line-clamp:2;
-webkit-box-orient:vertical;
overflow:hidden;
}
#module-bib .bib-tool-btn__actions{
position:absolute;
top:0;
right:0;
display:inline-flex;
align-items:center;
gap:2px;
}
#module-bib .bib-tool-btn__badges{
display:inline-flex;
flex-wrap:wrap;
align-items:center;
gap:4px;
max-width:100%;
}
#module-bib .bib-tool-btn .epr-header-summary{
font-size:10px;
padding:1px 6px;
}
#module-bib .bib-tool-btn .bib-anomalies-count{
font-size:10px;
}
#module-bib .bib-tool-btn .btn-aide-bib,
#module-bib .bib-tool-btn .bib-aide-trigger,
#module-bib .bib-tool-btn .btn-aide-trad,
#module-bib .bib-tool-btn .btn-doc-trigger,
#module-bib .bib-tool-btn .btn-admin-doc,
#module-bib .bib-tool-btn .btn-trad-admin{
padding:0;
font-size:12px;
line-height:1;
}
/* (?) sur tuile bleue : rond blanc, ? bleu — lisible sur fond #2f5fd0. */
#module-bib .bib-tool-btn:not(.bib-tool-btn--alt) .btn-aide-bib,
#module-bib .bib-tool-btn:not(.bib-tool-btn--alt) .bib-aide-trigger{
width:20px;
height:20px;
border:1px solid rgba(255,255,255,.9);
background:rgba(255,255,255,.95);
color:#2f5fd0;
opacity:1;
}
#module-bib .bib-tool-btn:not(.bib-tool-btn--alt) .btn-aide-bib:hover,
#module-bib .bib-tool-btn:not(.bib-tool-btn--alt) .bib-aide-trigger:hover,
#module-bib .bib-tool-btn:not(.bib-tool-btn--alt) .btn-aide-bib:focus,
#module-bib .bib-tool-btn:not(.bib-tool-btn--alt) .bib-aide-trigger:focus{
background:#fff;
color:#1e4a9e;
border-color:#fff;
}
#module-bib .bib-tool-btn.is-active:not(.bib-tool-btn--alt) .btn-aide-bib,
#module-bib .bib-tool-btn.is-active:not(.bib-tool-btn--alt) .bib-aide-trigger{
border:1px solid #2f5fd0;
background:#fff;
color:#2f5fd0;
}
#module-bib .bib-tool-btn.is-active:not(.bib-tool-btn--alt) .btn-aide-bib:hover,
#module-bib .bib-tool-btn.is-active:not(.bib-tool-btn--alt) .bib-aide-trigger:hover,
#module-bib .bib-tool-btn.is-active:not(.bib-tool-btn--alt) .btn-aide-bib:focus,
#module-bib .bib-tool-btn.is-active:not(.bib-tool-btn--alt) .bib-aide-trigger:focus{
background:#e8f0fc;
color:#1e4a9e;
border-color:#2f5fd0;
}
/* (?) sur tuile grise (assignation globale). */
#module-bib .bib-tool-btn--alt .btn-aide-bib,
#module-bib .bib-tool-btn--alt .bib-aide-trigger{
width:20px;
height:20px;
border:1px solid #adb5bd;
background:#fff;
color:#2f5fd0;
opacity:1;
}
#module-bib .bib-tool-btn--alt .btn-aide-bib:hover,
#module-bib .bib-tool-btn--alt .bib-aide-trigger:hover,
#module-bib .bib-tool-btn--alt .btn-aide-bib:focus,
#module-bib .bib-tool-btn--alt .bib-aide-trigger:focus{
background:#e8f0f8;
color:#1e4a9e;
}
#module-bib .bib-tool-detail{
position:relative;
margin-top:8px;
border:2px solid #2f5fd0;
border-radius:8px;
background:#fff;
overflow:hidden;
box-shadow:0 2px 10px rgba(47,95,208,.12);
}
#module-bib .bib-tool-detail__header{
position:relative;
display:flex;
align-items:center;
justify-content:space-between;
gap:10px;
padding:8px 12px;
font-size:14px;
font-weight:700;
color:#2f5fd0;
background:#fff;
border-bottom:1px solid #e8f0fc;
}
#module-bib .bib-tool-detail__title{
flex:1 1 auto;
min-width:0;
font-weight:700;
}
#module-bib .bib-tool-detail__close{
flex-shrink:0;
}
#module-bib .bib-tool-detail__body{
background:#f4f8fc;
}
#module-bib .bib-tool-detail__body .bib-global-batch__body{
display:block !important;
background:transparent;
}
#module-bib .bib-tool-detail__body .bib-event-config-content,
#module-bib .bib-tool-detail__body .bib-qty-summary-content,
#module-bib .bib-tool-detail__body .bib-anomalies-content,
#module-bib .bib-tool-detail__body .bib-dist-print-content,
#module-bib .bib-tool-detail__body .bib-global-batch__body{
padding:12px 14px;
background:transparent;
}
/* MSIN-4443 — Contenu des sections assignation globale : repliable malgré display:block sur .epr-content */
#module-bib .bib-tool-detail__body .bib-global-batch__section.is-collapsed .bib-global-batch__section-content,
#module-bib .bib-tool-detail__body .bib-global-batch__section.is-collapsed .epr-content{
display:none !important;
}
/* (?) dans le panneau de détail : rond blanc bien visible sur fond teinté. */
#module-bib .bib-tool-detail .btn-aide-bib,
#module-bib .bib-tool-detail .bib-aide-trigger{
width:22px;
height:22px;
border:1px solid #8fa8d8;
background:#fff;
color:#2f5fd0;
font-weight:700;
opacity:1;
}
#module-bib .bib-tool-detail .btn-aide-bib:hover,
#module-bib .bib-tool-detail .bib-aide-trigger:hover,
#module-bib .bib-tool-detail .btn-aide-bib:focus,
#module-bib .bib-tool-detail .bib-aide-trigger:focus{
background:#e8f0fc;
border-color:#2f5fd0;
color:#1e4a9e;
}
#module-bib .bib-tool-store{
display:none;
}
/* MSIN-4467 — Aperçu du futur parcours de production physique. */
#module-bib .bib-production-planned{
display:inline-flex;
margin-top:8px;
padding:3px 8px;
border:1px solid #d8b45a;
border-radius:999px;
background:#fff8e1;
color:#664d03;
font-size:11px;
font-weight:600;
}
#module-bib .bib-production-steps{
display:grid;
grid-template-columns:repeat(4, minmax(0, 1fr));
gap:8px;
margin:0 0 20px;
padding:0;
list-style:none;
}
#module-bib .bib-production-steps li{
display:flex;
align-items:center;
gap:8px;
min-width:0;
padding:10px;
border:1px solid #dee2e6;
border-radius:6px;
background:#f8f9fa;
color:#495057;
font-size:12px;
font-weight:600;
}
#module-bib .bib-production-step-number{
display:inline-flex;
align-items:center;
justify-content:center;
flex:0 0 24px;
width:24px;
height:24px;
border-radius:999px;
background:#2f5fd0;
color:#fff;
font-size:12px;
}
#module-bib .bib-production-category-heading h3{
margin:0 0 8px;
color:#212529;
font-size:15px;
}
#module-bib .bib-production-category-list{
display:flex;
flex-direction:column;
border:1px solid #dee2e6;
border-radius:6px;
overflow:hidden;
}
#module-bib .bib-production-category{
display:grid;
grid-template-columns:minmax(180px, 1.2fr) minmax(300px, 2fr) auto;
gap:16px;
align-items:center;
padding:12px 14px;
background:#fff;
}
#module-bib .bib-production-category + .bib-production-category{
border-top:1px solid #dee2e6;
}
#module-bib .bib-production-category__identity{
display:flex;
flex-direction:column;
gap:2px;
min-width:0;
}
#module-bib .bib-production-category__identity strong{
color:#212529;
font-size:13px;
}
#module-bib .bib-production-category__identity span{
color:#6c757d;
font-size:11px;
}
#module-bib .bib-production-category__fields{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:12px;
margin:0;
}
#module-bib .bib-production-category__fields > div{
min-width:0;
}
#module-bib .bib-production-category__fields dt{
margin:0 0 2px;
color:#6c757d;
font-size:10px;
font-weight:600;
text-transform:uppercase;
}
#module-bib .bib-production-category__fields dd{
margin:0;
color:#212529;
font-size:12px;
font-weight:600;
}
#module-bib .bib-production-category__status{
padding:3px 8px;
border:1px solid #d8b45a;
border-radius:999px;
background:#fff8e1;
color:#664d03;
font-size:11px;
font-weight:600;
white-space:nowrap;
}
@media (max-width:768px){
#module-bib .bib-workspace-bar,
#module-bib .bib-workspace-nav{
align-items:stretch;
}
#module-bib .bib-workspace-tab{
flex:1 0 auto;
}
#module-bib .bib-preparation-groups{
grid-template-columns:1fr;
}
#module-bib .bib-preparation-stats{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
#module-bib .bib-tool-nav{
grid-template-columns:1fr;
}
#module-bib .bib-tool-btn:nth-child(4),
#module-bib .bib-tool-btn:nth-child(5){
grid-column:auto;
}
#module-bib .bib-production-steps{
grid-template-columns:1fr;
}
#module-bib .bib-production-category{
grid-template-columns:1fr;
}
#module-bib .bib-production-category__fields{
grid-template-columns:1fr;
}
}
/* MSIN-4424 — ancien bandeau remplacé par panneau repliable .bib-event-config-panel */
.bib-anomaly-block--inter-epr-dupes .bib-anomaly-block-title{
color:#8a3b12;
}
/* MSIN-4436 — Assignation globale (épreuves solo) */
.bib-global-batch{
border:1px solid #c8d6e5;
border-radius:8px;
background:#f4f8fc;
padding:10px 12px;
margin:0;
}
.bib-global-batch__header{
display:flex;
align-items:center;
justify-content:space-between;
gap:12px;
flex-wrap:wrap;
}
.bib-global-batch__body{
margin-top:0;
padding-top:0;
border-top:none;
display:flex;
flex-direction:column;
gap:10px;
}
.bib-global-batch__section{
margin-bottom:0;
border:1px solid #c5d9f5;
border-radius:8px;
overflow:hidden;
background:#fff;
}
.bib-global-batch__section-header{
margin:0;
padding:8px 10px;
cursor:pointer;
user-select:none;
}
.bib-global-batch__section-header .epr-header-label{
font-size:13px;
font-weight:700;
}
.bib-global-batch__section-header .btn-aide-bib{
color:#fff;
}
.bib-global-batch__section-content{
padding:10px 12px;
border-top:1px solid #c5d9f5;
background:#f8fbfe;
}
.bib-global-batch__section-title{
font-size:1rem;
font-weight:600;
margin:0 0 10px;
}
.bib-global-batch__section-sep{
margin:20px 0;
border-color:#d8e3ef;
}
.bib-global-batch__start-bib{
max-width:220px;
}
.bib-global-batch__start-bib-label{
display:block;
margin-bottom:4px;
font-weight:600;
}
/* MSIN-4445 — Assignation libre : Début / Qté / Fin */
.bib-global-free-range__headers,
.bib-global-free-range__fields{
display:grid;
grid-template-columns:minmax(72px, 1fr) minmax(72px, 1fr) auto minmax(72px, 1fr);
gap:6px 8px;
align-items:center;
max-width:420px;
}
.bib-global-free-range__headers{
margin-bottom:2px;
font-size:11px;
text-transform:uppercase;
letter-spacing:.02em;
color:#6c757d;
}
.bib-global-free-range__or{
text-align:center;
color:#9aa0a6;
font-size:12px;
}
.bib-global-free-range__feedback{
margin-top:6px;
}
.bib-global-free-range__qty,
.bib-global-free-range__dupes{
font-size:12.5px;
}
.bib-global-free-range__feedback--juste{
color:#155724;
font-weight:600;
}
.bib-global-free-range__feedback--manquante{
color:#856404;
font-weight:600;
}
.bib-global-free-range__feedback--supplementaire{
color:#004085;
font-weight:600;
}
.bib-global-free-range__dupes{
color:#a94442;
font-weight:600;
margin-top:2px;
}
.bib-global-epr--inactive{
opacity:0.55;
background:#f1f3f5;
}
.bib-global-epr--inactive .bib-global-epr__name,
.bib-global-epr--inactive .bib-global-epr__pending{
color:#6c757d;
}
.bib-global-sim-section__range{
margin-bottom:8px;
}
.bib-global-batch--unavailable{
background:#f8f9fa;
border-style:dashed;
}
.bib-global-epr{
margin-bottom:12px;
padding:8px 10px;
background:#fff;
border:1px solid #e2e8f0;
border-radius:6px;
}
.bib-global-epr__label{
display:flex;
align-items:baseline;
gap:8px;
flex-wrap:wrap;
font-weight:600;
margin-bottom:6px;
}
.bib-global-epr__ranges{
display:flex;
flex-direction:column;
gap:4px;
margin-left:1.5rem;
}
.bib-global-range__label{
display:flex;
align-items:center;
gap:6px;
font-weight:400;
margin:0;
}
.bib-global-sim-view__summary{
font-weight:600;
margin-bottom:12px;
}
.bib-global-sim-view__toolbar{
display:flex;
align-items:center;
justify-content:space-between;
gap:12px;
flex-wrap:wrap;
margin-bottom:12px;
padding-bottom:10px;
border-bottom:1px solid #dee2e6;
}
.bib-global-sim-view__title{
font-size:1rem;
font-weight:700;
margin:0;
}
/* Un seul Fermer en tête — pas les boutons par épreuve dans la simulation globale */
.bib-global-sim-view .bib-global-sim-section .btn-close-view{
display:none;
}
.bib-global-sim-section{
margin-top:16px;
padding-top:12px;
border-top:1px solid #dee2e6;
}
.bib-global-sim-section__title{
font-size:1rem;
margin-bottom:8px;
}
/* MSIN-4443 — Écran de fin assignation globale GO */
.bib-global-batch-complete{
margin:0;
padding:28px 24px 32px;
text-align:center;
background:#fff;
border:1px solid #c5d9f5;
border-radius:10px;
box-shadow:0 4px 18px rgba(47,95,208,.08);
}
.bib-global-batch-complete--ok{
border-color:#9fd4b0;
background:linear-gradient(180deg,#f3fbf5 0%,#fff 55%);
}
.bib-global-batch-complete--warning{
border-color:#f0d58a;
background:linear-gradient(180deg,#fffbf0 0%,#fff 55%);
}
.bib-global-batch-complete--error{
border-color:#efb8b8;
background:linear-gradient(180deg,#fff5f5 0%,#fff 55%);
}
.bib-global-batch-complete__icon{
font-size:2.5rem;
line-height:1;
margin-bottom:12px;
}
.bib-global-batch-complete__title{
font-size:1.35rem;
font-weight:700;
margin:0 0 10px;
color:#1a3a6b;
}
.bib-global-batch-complete__message{
font-size:1.05rem;
margin:0 0 8px;
color:#333;
}
.bib-global-batch-complete__summary{
font-size:.95rem;
color:#5a6c7d;
margin:0 0 24px;
}
.bib-global-batch-complete__reload{
min-width:220px;
font-weight:600;
}
/* Typographie cohérente — module bib v4 */
#module-bib .epr-header{
font-size:15px;
}
#module-bib .epr-header-summary{
font-size:12px;
}
#module-bib .epr-epr-title-line{
font-size:15px;
}
#module-bib .epr-epr-title-line--cat{
font-size:12px;
}
#module-bib .epr-epr-title-line--type{
font-size:16px;
}
#module-bib .epr-epr-title-line--nom{
font-size:14px;
}
#module-bib .epr-col-header-label{
font-size:12px;
}
#module-bib .epr-line .form-control,
#module-bib .epr-line .btn{
font-size:13px;
}
#module-bib .epr-content{
padding:12px 14px;
}
/* MSIN-4379 — Refonte layout dossards v4 : 2 colonnes, Tippy, gestion masquée. */
/* CONTENEUR 2 BLOCS — colonne identité étroite + séparation blanche avec la droite. */
.epr-row{
display:block;
border:1px solid #b8c9e8;
border-radius:6px;
background:#fff;
overflow:hidden;
}
.epr-row-detail{
/* MSIN-4467 — Le détail utilise toute la largeur, sans colonne d'identité. */
display:block;
padding:12px;
border-top:1px solid #dbe4f3;
}
.epr-row:not(.is-expanded) .epr-row-detail{
display:none;
}
.bib-race-summary{
display:grid;
grid-template-columns:minmax(220px, 1.2fr) minmax(180px, .9fr) minmax(270px, 1.3fr) 32px;
gap:14px;
align-items:center;
min-height:64px;
padding:10px 12px;
background:#fff;
cursor:pointer;
}
.bib-race-summary:hover,
.bib-race-summary:focus{
background:#f4f8fc;
outline:none;
}
.epr-row.is-expanded .bib-race-summary{
background:#f4f8fc;
}
.bib-race-summary__identity{
display:flex;
flex-direction:column;
gap:4px;
min-width:0;
}
.bib-race-summary__identity-head{
display:flex;
align-items:center;
gap:7px;
min-width:0;
}
.bib-race-summary__identity-head strong{
min-width:0;
overflow:hidden;
color:#1e3a6e;
font-size:14px;
line-height:1.3;
text-overflow:ellipsis;
white-space:nowrap;
}
.bib-race-summary__identity-head .bib-view-range-cell{
flex:0 0 auto;
margin-left:auto;
}
.bib-race-summary-view{
display:inline-flex;
align-items:center;
justify-content:center;
min-width:26px;
height:24px;
padding:2px 6px;
border:1px solid #b8c9e8;
background:#fff;
color:#2f5fd0;
}
.bib-race-summary-view:hover,
.bib-race-summary-view:focus{
border-color:#8fa8d8;
background:#e8f0fc;
color:#1e4fbf;
}
.bib-race-summary__metadata{
display:flex;
align-items:center;
flex-wrap:wrap;
gap:3px 6px;
min-width:0;
}
.bib-race-summary__metadata span{
overflow:hidden;
color:#6c757d;
font-size:11px;
text-overflow:ellipsis;
white-space:nowrap;
}
.bib-race-summary__metadata span + span::before{
content:"·";
margin-right:6px;
color:#9aa4b2;
}
.bib-race-summary__group{
display:flex;
flex-direction:column;
justify-content:center;
align-self:stretch;
min-width:0;
padding:5px 10px;
border:1px solid #cbd3dc;
border-radius:6px;
background:#f1f3f5;
}
.bib-race-summary__group--bibs{
border-color:#b8c9e8;
background:#e8f0fc;
}
.bib-race-summary__group h4{
margin:0 0 5px;
color:#1e3a6e;
font-size:11px;
font-weight:800;
letter-spacing:.06em;
text-transform:uppercase;
}
/* MSIN-4470 — Accentue légèrement les deux repères principaux de chaque épreuve. */
.bib-race-summary__group--bibs h4{
color:#1e4fbf;
}
.bib-race-summary__stats{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:12px;
margin:0;
}
.bib-race-summary__group--quantities .bib-race-summary__stats{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
.bib-race-summary__stats > div{
min-width:0;
}
.bib-race-summary__stats dd{
margin:0 0 2px;
color:#212529;
font-size:13px;
font-weight:700;
}
.bib-race-summary__stats dt{
margin:0;
color:#6c757d;
font-size:9px;
font-weight:600;
line-height:1.2;
text-transform:uppercase;
}
.bib-race-summary__status{
padding:3px 8px;
border:1px solid #d8b45a;
border-radius:999px;
background:#fff8e1;
color:#664d03;
font-size:11px;
font-weight:600;
white-space:nowrap;
}
.bib-race-summary__status.is-ready{
border-color:#8bc49a;
background:#edf8f0;
color:#17652c;
}
.bib-race-toggle{
display:inline-flex;
align-items:center;
justify-content:center;
width:30px;
height:30px;
padding:0;
border:1px solid #8fa8d8;
border-radius:4px;
background:#fff;
color:#2f5fd0;
cursor:pointer;
}
.bib-race-toggle:hover,
.bib-race-toggle:focus{
background:#e8f0fc;
outline:none;
}
.epr-row .epr-block{
border:none;
border-radius:0;
}
.epr-block-identity{
border:1px solid #b8c9e8;
border-radius:4px;
overflow:hidden;
background:#fff;
}
.epr-header--epr-identity{
display:flex;
flex-direction:column;
align-items:stretch;
gap:4px;
flex-shrink:0;
padding:8px;
}
/* MSIN-4436 — œil aligné en haut à droite du titre (sans ligne dédiée). */
.epr-identity-head{
display:flex;
align-items:flex-start;
justify-content:space-between;
gap:6px;
}
.epr-identity-head .epr-epr-title{
flex:1 1 auto;
min-width:0;
}
.epr-identity-head .btn-view-range{
flex:0 0 auto;
align-self:flex-start;
width:auto;
min-width:28px;
padding:2px 6px;
background:rgba(255,255,255,.18);
border:1px solid rgba(255,255,255,.55);
color:#fff;
line-height:1.1;
}
.epr-identity-head .btn-view-range:hover,
.epr-identity-head .btn-view-range:focus{
background:rgba(255,255,255,.32);
border-color:#fff;
color:#fff;
}
#module-bib[data-bib-trad="1"] .bib-view-range-cell{
display:inline-flex;
align-items:center;
gap:2px;
flex:0 0 auto;
align-self:flex-start;
}
#module-bib[data-bib-trad="1"] .epr-identity-head .bib-view-range-cell .btn-aide-trad,
#module-bib[data-bib-trad="1"] .epr-line .bib-view-range-cell .btn-aide-trad{
box-shadow:0 0 0 1px rgba(0,0,0,.3);
}
.epr-header--epr-identity .epr-header-summaries{
flex-direction:column;
align-items:stretch;
gap:3px;
width:100%;
}
.epr-header--epr-identity .epr-header-summary{
width:100%;
box-sizing:border-box;
text-align:center;
white-space:normal;
}
.epr-epr-title{
display:flex;
flex-direction:column;
gap:2px;
line-height:1.3;
}
.epr-epr-title-line{
display:block;
font-size:14px;
font-weight:700;
}
.epr-epr-title-line--cat{
font-size:11px;
font-weight:600;
letter-spacing:.04em;
text-transform:uppercase;
opacity:.88;
}
.epr-epr-title-line--type{
font-size:15px;
}
.epr-epr-title-line--nom{
font-size:13px;
font-weight:600;
opacity:.95;
}
.epr-content--identity{
flex:1 1 auto;
padding:12px 10px;
min-height:0;
}
.epr-content--identity .team-mode-box{
margin-top:0;
}
/* MSIN-4436 — Réinitialisation totale, sous l'en-tête identité. */
.epr-identity-reset-all{
flex-shrink:0;
padding:6px 8px 8px;
background:#fff;
border-top:1px solid #e8edf5;
}
.epr-identity-reset-all .btn-reset-all-epr{
width:100%;
white-space:normal;
line-height:1.25;
font-size:11px;
padding:5px 8px;
}
.epr-col-right{
display:flex;
flex-direction:column;
gap:0;
min-width:0;
width:100%;
border:1px solid #b8c9e8;
border-radius:4px;
overflow:hidden;
}
.bib-team-mode-step{
padding:12px 14px;
border-bottom:1px solid #b8c9e8;
background:#f8fafc;
}
.bib-team-mode-step .team-mode-box{
margin:0;
padding:0;
border:0;
background:transparent;
}
.bib-team-mode-step .team-mode-title{
margin:0 0 8px;
color:#1e3a6e;
font-size:13px;
font-weight:700;
}
.bib-team-mode-options{
display:flex;
align-items:center;
flex-wrap:wrap;
gap:8px 24px;
}
.bib-team-mode-options .team-mode-option{
align-items:center;
margin:0;
}
.bib-team-mode-options .team-mode-option input[type="radio"]{
margin-top:0;
}
.epr-col-right .epr-block{
border:none;
border-radius:0;
}
/* MSIN-4467 — En-têtes secondaires plus compacts et moins dominants visuellement. */
.epr-col-right > .epr-block > .epr-header{
padding:8px 10px;
border-bottom:1px solid #b8c9e2;
background:#d9e4f4;
color:#1e3a6e;
font-size:14px;
cursor:pointer;
}
.epr-col-right > .epr-block:not(.is-collapsed) > .epr-header{
background:#c7d7ef;
}
.epr-col-right > .epr-block > .epr-header:hover{
background:#cfddf1;
}
.epr-col-right > .epr-block > .epr-header .epr-block-toggle{
width:26px;
height:26px;
border-color:#9fb2cf;
background:#fff;
color:#2f5fd0;
}
.epr-col-right > .epr-block > .epr-header .epr-block-toggle:hover,
.epr-col-right > .epr-block > .epr-header .epr-block-toggle:focus{
border-color:#7f9bc5;
background:#e3ebf6;
color:#1e4fbf;
}
.epr-col-right > .epr-block > .epr-header .epr-header-summary--seq-empty{
border-color:#c3cede;
background:#fff;
color:#65758b;
}
.epr-col-right .epr-block + .epr-block{
border-top:1px solid #b8c9e8;
}
.epr-block-assign{
width:100%;
min-width:0;
}
.epr-block-gestion{
width:100%;
min-width:0;
}
.epr-gestion-panel{
display:flex;
flex-direction:column;
gap:14px;
font-size:14px;
line-height:1.45;
}
.epr-gestion-stats{
display:grid;
grid-template-columns:repeat(4, minmax(0, 1fr));
gap:12px 16px;
margin:0;
}
.epr-gestion-stat{
margin:0;
min-width:0;
}
.epr-gestion-stat dt{
margin:0 0 4px;
font-size:11px;
font-weight:600;
text-transform:uppercase;
letter-spacing:.03em;
color:#6c757d;
line-height:1.3;
}
.epr-gestion-stat dd{
margin:0;
font-size:16px;
font-weight:700;
color:#212529;
}
.epr-gestion-stat--dispo dd{
color:#2f5fd0;
}
.epr-gestion-qte-edit{
display:inline-flex;
align-items:center;
gap:8px;
max-width:100%;
}
.epr-gestion-qte-input{
width:5.5rem;
max-width:100%;
padding:6px 8px;
font-size:16px;
font-weight:700;
color:#2f5fd0;
text-align:center;
border:1px solid #ced4da;
border-radius:4px;
}
.epr-gestion-qte-ok{
padding:6px 14px;
font-size:13px;
font-weight:600;
line-height:1.2;
border-radius:4px;
}
.epr-gestion-readonly-notice{
margin:0;
padding:8px 10px;
border-left:3px solid #ffc107;
background:#fff9e6;
color:#664d03;
line-height:1.45;
}
.epr-gestion-lattente{
display:flex;
flex-wrap:wrap;
align-items:flex-start;
gap:10px 14px;
padding-top:4px;
border-top:1px solid #dee2e6;
}
.epr-gestion-lattente-action .btn{
font-size:13px;
padding:6px 14px;
}
.epr-gestion-lattente-counts{
display:flex;
flex-wrap:wrap;
gap:12px 20px;
margin:0;
}
.epr-gestion-lattente-counts > div{
margin:0;
}
.epr-gestion-lattente-counts dt{
margin:0 0 4px;
font-size:11px;
font-weight:600;
text-transform:uppercase;
color:#6c757d;
}
.epr-gestion-lattente-counts dd{
margin:0;
font-size:16px;
font-weight:700;
}
@media (max-width: 900px){
.epr-gestion-stats{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
}
.epr-block-assign .epr-content{
display:flex;
flex-direction:column;
gap:0;
min-width:0;
}
.epr-assign-divider{
border-top:1px solid #ced4da;
margin:14px 0 12px;
flex-shrink:0;
}
.epr-block-assign .bib-container{
width:100%;
min-width:0;
/* MSIN-4475 — filet mobile étroit seulement ; plus de min-width 1100px (slider inutile). */
overflow-x:auto;
-webkit-overflow-scrolling:touch;
}
.epr-line-header{
background:#fff3cd;
font-weight:700;
}
.epr-line-header > div{
display:flex;
align-items:center;
justify-content:center;
min-width:0;
overflow:hidden;
}
#module-bib .epr-line-header .epr-col-header-label{
white-space:normal;
text-align:center;
font-size:10px;
line-height:1.15;
gap:2px;
max-width:100%;
}
#module-bib .epr-line-header .epr-col-stats .epr-col-header-label{
font-size:10px;
}
.epr-col-header-label{
display:inline-flex;
align-items:center;
justify-content:center;
gap:4px;
white-space:nowrap;
font-size:11px;
line-height:1.2;
}
.epr-col-header-label--empty{
gap:0;
}
.epr-line-header .btn-aide-bib{
width:18px;
height:18px;
font-size:10px;
flex-shrink:0;
border-color:#adb5bd;
background:#f8f9fa;
color:#495057;
}
.epr-line-header .btn-aide-bib:hover,
.epr-line-header .btn-aide-bib:focus{
background:#e9ecef;
color:#212529;
}
.epr-action-row{
display:flex;
align-items:center;
gap:6px;
flex-wrap:wrap;
}
/* Boutons principaux : assign/reset à gauche, auto à droite. */
.epr-action-row-main{
flex-wrap:wrap;
gap:8px 12px;
width:100%;
}
.epr-action-row-main .epr-action-auto-group{
margin-left:auto;
}
.auto-config-container{
width:100%;
align-self:stretch;
}
.auto-config-container .epr-action-row-auto-config{
display:flex;
align-items:center;
justify-content:space-between;
flex-wrap:nowrap;
gap:12px;
width:100%;
}
.auto-config-container .epr-action-row-auto-left{
display:flex;
align-items:center;
flex-wrap:wrap;
gap:6px;
}
.auto-config-container .epr-action-row-auto-config .epr-action-desactiver-group{
margin-left:auto;
flex-shrink:0;
}
.epr-action-group{
display:inline-flex;
align-items:center;
gap:8px;
}
/* MSIN-4379 — Bouton + ? collés (segment droit, même hauteur que le bouton). */
.epr-btn-aide-segment{
display:inline-flex;
align-items:stretch;
vertical-align:middle;
}
.epr-btn-aide-segment > .btn{
border-top-right-radius:0;
border-bottom-right-radius:0;
position:relative;
z-index:1;
}
.epr-btn-aide-segment > .btn:hover,
.epr-btn-aide-segment > .btn:focus{
z-index:2;
}
.epr-btn-aide-segment > .btn-aide-bib{
width:1.65rem;
min-width:1.65rem;
height:auto;
padding:0;
margin-left:-1px;
border-radius:0;
border-top-right-radius:0.2rem;
border-bottom-right-radius:0.2rem;
border-left-width:0;
align-self:stretch;
display:inline-flex;
align-items:center;
justify-content:center;
flex-shrink:0;
}
.epr-btn-aide-segment > .btn-aide-bib:hover,
.epr-btn-aide-segment > .btn-aide-bib:focus{
z-index:2;
}
.epr-btn-aide-segment--badge > .badge{
border-top-right-radius:0;
border-bottom-right-radius:0;
margin-right:0;
display:inline-flex;
align-items:center;
line-height:1.2;
}
.epr-btn-aide-segment--badge > .btn-aide-bib{
border-top-left-radius:0;
border-bottom-left-radius:0;
}
#module-bib .bib-ui-hidden{
display:none !important;
}
.epr-auto-badge-wrap{
display:inline-flex;
align-items:center;
gap:8px;
}
.epr-header-label{
display:inline-flex;
align-items:center;
gap:8px;
}
.batch-config label{
display:inline-flex;
align-items:center;
gap:8px;
flex-wrap:wrap;
}
.btn-aide-bib{
width:22px;
height:22px;
padding:0;
border-radius:50%;
border:1px solid #adb5bd;
background:#f8f9fa;
color:#495057;
font-size:12px;
font-weight:700;
line-height:1;
cursor:pointer;
overflow:visible;
}
.btn-aide-bib .bib-aide-text,
.bib-aide-trigger .bib-aide-text{
display:none !important;
}
.btn-aide-bib:hover,
.btn-aide-bib:focus{
background:#e9ecef;
color:#212529;
}
/* (?) rond assorti au bouton voisin (Bootstrap ms1). */
.btn-secondary + .btn-aide-bib,
.btn-aide-tone-secondary{
border-color:#6c757d;
background-color:#6c757d;
color:#fff;
}
.btn-secondary + .btn-aide-bib:hover,
.btn-aide-tone-secondary:hover{
background-color:#5a6268;
color:#fff;
}
.btn-bib-auto{
background-color:#f39c12;
border-color:#e67e22;
color:#fff;
}
.btn-bib-auto:hover,
.btn-bib-auto:focus{
background-color:#e67e22;
border-color:#d35400;
color:#fff;
}
.btn-bib-auto--active,
.btn-bib-auto--active:hover,
.btn-bib-auto--active:focus{
background-color:#e67e22;
border-color:#d35400;
color:#fff;
}
.badge-bib-auto{
background-color:#f39c12;
color:#fff;
}
.badge-bib-auto-seq{
background-color:#28a745;
border:1px solid #218838;
color:#fff;
font-size:10px;
font-weight:600;
line-height:1.2;
padding:0.35em 0.5em;
/* MSIN-4475 — peut passer sur 2 lignes si la colonne restante est étroite. */
white-space:normal;
}
.bib-auto-badge--row{
display:inline-flex;
align-items:center;
flex-wrap:wrap;
gap:2px;
max-width:100%;
}
.bib-container.batch-mode .bib-auto-badge--row{
display:none;
}
.btn-bib-auto + .btn-aide-bib,
.btn-aide-tone-auto,
.btn-auto.btn-bib-auto + .btn-aide-bib{
border-color:#e67e22;
background-color:#f39c12;
color:#fff;
}
.btn-bib-auto + .btn-aide-bib:hover,
.btn-aide-tone-auto:hover,
.btn-auto.btn-bib-auto + .btn-aide-bib:hover{
background-color:#e67e22;
color:#fff;
}
.btn-bib-auto--active + .btn-aide-bib,
.epr-btn-aide-segment--badge .btn-aide-tone-auto{
background-color:#e67e22;
border-color:#d35400;
}
.btn-success + .btn-aide-bib,
.btn-aide-tone-success{
border-color:#28a745;
background-color:#28a745;
color:#fff;
}
.btn-success + .btn-aide-bib:hover,
.btn-aide-tone-success:hover{
background-color:#218838;
color:#fff;
}
.btn-danger + .btn-aide-bib,
.btn-aide-tone-danger{
border-color:#dc3545;
background-color:#dc3545;
color:#fff;
}
.btn-danger + .btn-aide-bib:hover,
.btn-aide-tone-danger:hover{
background-color:#c82333;
color:#fff;
}
.btn-aide-trad,
a.ms1-trad-link.btn-aide-trad{
display:inline-flex;
align-items:center;
justify-content:center;
vertical-align:middle;
text-decoration:none;
border:1px solid;
border-color:#e67e22;
background:#f39c12;
color:#fff;
}
.btn-aide-trad:hover,
.btn-aide-trad:focus{
background:#e67e22;
color:#fff;
}
.btn-aide-trad .fa{
font-size:10px;
line-height:1;
}
.epr-line-header .btn-aide-trad{
width:18px;
height:18px;
}
.epr-line-header .btn-aide-trad .fa{
font-size:9px;
}
#module-bib .epr-header-summary .btn-aide-trad,
#module-bib .bib-auto-badge--row .btn-aide-trad{
width:18px;
height:18px;
margin-left:4px;
flex-shrink:0;
}
#module-bib .epr-header-summary .btn-aide-trad .fa,
#module-bib .bib-auto-badge--row .btn-aide-trad .fa{
font-size:9px;
}
/* Mode Textes — crayons visibles dans pastilles et zones à overflow */
#module-bib[data-bib-trad="1"] .epr-col-right,
#module-bib[data-bib-trad="1"] .epr-col-batch,
#module-bib[data-bib-trad="1"] .epr-actions,
#module-bib[data-bib-trad="1"] .epr-header-start{
overflow:visible;
}
#module-bib[data-bib-trad="1"] .epr-header-summary{
display:inline-flex;
align-items:center;
white-space:normal;
}
#module-bib[data-bib-trad="1"] .epr-header-summary--seq .btn-aide-trad,
#module-bib[data-bib-trad="1"] .epr-header-summary--auto .btn-aide-trad,
#module-bib[data-bib-trad="1"] .epr-header-summary--solo .btn-aide-trad,
#module-bib[data-bib-trad="1"] .epr-header-summary--team .btn-aide-trad,
#module-bib[data-bib-trad="1"] .epr-header-summary--teams .btn-aide-trad,
#module-bib[data-bib-trad="1"] .epr-header-summary--insc .btn-aide-trad,
#module-bib[data-bib-trad="1"] .epr-header-summary--bib .btn-aide-trad{
box-shadow:0 0 0 1px rgba(0,0,0,.3);
}
#module-bib .bib-anomaly-detail .btn-aide-trad,
#module-bib .bib-anomaly-item .btn-aide-trad{
display:inline-flex;
vertical-align:middle;
margin-left:3px;
}
#module-bib .epr-btn-aide-segment > .btn-aide-trad{
width:1.65rem;
min-width:1.65rem;
margin-left:-1px;
border-top-right-radius:0.2rem;
border-bottom-right-radius:0.2rem;
border-left-width:0;
align-self:stretch;
}
.tippy-box[data-theme~='ms1-bib']{
z-index:10050;
background-color:#1e293b;
color:#f8fafc;
font-size:12px;
line-height:1.45;
}
.tippy-box[data-theme~='ms1-bib'] .tippy-arrow{
color:#1e293b;
}
/* Pop-up aide longue (?) — paragraphes et retours à la ligne depuis info_aide. */
.tippy-box[data-theme~='ms1-bib-aide'] .tippy-content{
text-align:left;
}
.tippy-box[data-theme~='ms1-bib-aide'] .tippy-content p{
margin:0 0 0.55em;
}
.tippy-box[data-theme~='ms1-bib-aide'] .tippy-content p:last-child{
margin-bottom:0;
}
/* BLOCS */
.epr-block{
border:1px solid #ddd;
display:flex;
flex-direction:column;
}
/* HEADER */
.epr-header{
background:#2f5fd0;
color:#fff;
padding:10px;
font-weight:bold;
}
.epr-header--collapsible{
display:flex;
align-items:center;
justify-content:space-between;
gap:10px;
}
.epr-header--collapsible .epr-header-label{
flex:1;
min-width:0;
}
.epr-header-start{
display:flex;
flex:1;
align-items:center;
flex-wrap:wrap;
gap:8px 12px;
min-width:0;
}
.epr-header-summaries{
display:inline-flex;
flex-wrap:wrap;
align-items:center;
gap:6px;
}
.epr-header-summary{
display:inline-flex;
align-items:center;
padding:2px 8px;
border-radius:999px;
font-size:11px;
font-weight:600;
line-height:1.35;
background:rgba(255,255,255,.18);
border:1px solid rgba(255,255,255,.35);
color:#fff;
white-space:nowrap;
}
.epr-header-summary--dispo{
background:rgba(255,255,255,.92);
border-color:rgba(255,255,255,.92);
color:#2f5fd0;
}
.epr-header-summary--seq{
background:rgba(40,167,69,.85);
border-color:rgba(40,167,69,.85);
}
.epr-header-summary--seq-empty{
background:rgba(255,255,255,.12);
border-color:rgba(255,255,255,.3);
color:rgba(255,255,255,.85);
font-weight:500;
}
.epr-header-summary--auto{
background:rgba(255,193,7,.92);
border-color:rgba(255,193,7,.92);
color:#533f03;
}
.epr-header-summary--solo{
background:rgba(255,162,0,.9);
border-color:rgba(255,162,0,.9);
color:#fff;
}
.epr-header-summary--team{
background:rgba(111,66,193,.85);
border-color:rgba(111,66,193,.85);
}
.epr-header-summary--teams,
.epr-header-summary--insc,
.epr-header-summary--bib{
background:rgba(255,255,255,.18);
border-color:rgba(255,255,255,.35);
}
.epr-block-toggle{
flex-shrink:0;
width:28px;
height:28px;
padding:0;
border:1px solid rgba(255,255,255,.55);
border-radius:4px;
background:rgba(255,255,255,.12);
color:#fff;
font-size:13px;
line-height:1;
cursor:pointer;
}
.epr-block-toggle:hover,
.epr-block-toggle:focus{
background:rgba(255,255,255,.22);
color:#fff;
outline:none;
}
.epr-block.is-collapsed .epr-content{
display:none;
}
.bib-container .batch-checkbox{
display:none;
}
.bib-container.batch-mode.batch-awaiting-selection .epr-col-batch,
.bib-container.batch-mode.batch-awaiting-selection .batch-checkbox{
background-color:#fff8e1;
border-radius:4px;
box-shadow:inset 0 0 0 1px #ffe082;
}
.bib-seq-pick-prompt{
margin-bottom:10px;
}
.batch-pick-prompt{
padding:12px 14px;
margin-bottom:0;
background:#f0f7ff;
border:1px solid #c5d9f5;
border-radius:6px;
border-left:4px solid #2f5fd0;
}
.batch-pick-prompt__title{
margin:0 0 4px;
font-weight:600;
color:#1e3a6e;
}
.batch-pick-prompt__hint{
font-size:0.9rem;
line-height:1.45;
}
.bib-container.batch-mode .batch-checkbox{
display:block;
}
.bib-container.batch-mode .epr-col-batch{
display:block;
}
/* CONTENU */
.epr-content{
padding:10px;
flex:1;
}
/* CENTRE TABLE */
.epr-table{
display:flex;
flex-direction:column;
gap:6px;
width:100%;
}
/* MSIN-4379 / MSIN-4469 — cadenas utilisateur + impression + view/OK/stats. */
/* MSIN-4429 — colonnes Début | Qté | ou | Fin (alignées sur l'en-tête). */
/* MSIN-4475 — grille compacte (~640px min) pour tenir dans le wrapper page sans slider. */
.epr-line{
display:grid;
grid-template-columns:
42px
minmax(70px, 78px)
36px
minmax(60px, 72px)
minmax(60px, 72px)
20px
minmax(60px, 72px)
minmax(48px, 56px)
36px
minmax(140px, 152px)
minmax(0, 1fr);
gap:6px;
align-items:center;
width:100%;
min-width:0;
}
.bib-container.batch-mode .epr-line{
grid-template-columns:
42px
minmax(70px, 78px)
36px
minmax(60px, 72px)
minmax(60px, 72px)
20px
minmax(60px, 72px)
minmax(48px, 56px)
36px
minmax(140px, 152px)
28px;
}
.epr-col-lock{
display:flex;
align-items:center;
justify-content:center;
min-width:0;
}
.epr-col-production-lock{
display:flex;
align-items:center;
justify-content:center;
min-width:0;
}
.btn-bib-production-lock{
display:flex;
align-items:center;
justify-content:center;
width:38px;
min-height:31px;
padding:4px 0;
border:1px solid #2f4ba0;
background-color:#3f63c9;
color:#fff;
font-size:15px;
line-height:1;
cursor:help;
}
.btn-bib-production-lock:hover,
.btn-bib-production-lock:focus{
border-color:#263d83;
background-color:#3656ad;
color:#fff;
}
.btn-bib-lock{
width:38px;
min-height:31px;
padding:4px 0;
border-width:1px;
border-style:solid;
font-size:15px;
line-height:1;
}
.btn-bib-lock .fa{
font-size:15px;
vertical-align:middle;
}
.btn-bib-lock--open{
background-color:#28a745;
border-color:#218838;
color:#fff;
}
.btn-bib-lock--open:hover,
.btn-bib-lock--open:focus{
background-color:#218838;
border-color:#1e7e34;
color:#fff;
}
.btn-bib-lock--closed{
background-color:#dc3545;
border-color:#c82333;
color:#fff;
}
.btn-bib-lock--closed:hover,
.btn-bib-lock--closed:focus{
background-color:#c82333;
border-color:#bd2130;
color:#fff;
}
.bib-range--locked .bib-start,
.bib-range--locked .bib-qty,
.bib-range--locked .bib-end{
background-color:#f1f3f5;
}
/* MSIN-4429 — colonne « ou » + états pilote / calculé sur Qté et Fin. */
.epr-col-or{
display:flex;
align-items:center;
justify-content:center;
min-width:0;
}
.bib-range-or{
color:#6c757d;
font-size:11px;
font-weight:600;
text-transform:lowercase;
white-space:nowrap;
user-select:none;
line-height:1;
}
.epr-line-header .epr-col-or{
padding-top:2px;
}
.epr-line .bib-start,
.epr-line .bib-qty,
.epr-line .bib-end{
width:100%;
min-width:0;
max-width:100%;
padding-left:4px;
padding-right:4px;
}
.epr-line .epr-btn-aide-segment{
max-width:100%;
min-width:0;
}
.epr-line .epr-btn-aide-segment > .btn{
min-width:0;
padding-left:6px;
padding-right:6px;
}
.bib-field--idle,
.bib-field--pick,
.bib-field--calc{
background-color:#eef1f4;
color:#6c757d;
cursor:pointer;
}
.bib-field--idle{
cursor:not-allowed;
opacity:.85;
}
.bib-field--active{
background-color:#fff;
color:inherit;
cursor:text;
}
.bib-field--invalid{
border-color:#dc3545 !important;
background-color:#fff5f5 !important;
color:inherit;
}
.bib-range-validate-msg{
margin-bottom:4px;
}
.bib-field--pick:focus,
.bib-field--calc:focus{
outline:none;
box-shadow:none;
}
.epr-col-stats{
display:grid;
grid-template-columns:minmax(44px, 52px) minmax(40px, 48px) minmax(40px, 48px);
gap:4px;
align-items:center;
justify-content:start;
min-width:0;
}
.epr-col-stats > .bib-last,
.epr-col-stats > .bib-used,
.epr-col-stats > .bib-dispo{
text-align:center;
font-size:13px;
min-width:0;
}
.epr-line-header .epr-col-stats > div{
display:flex;
align-items:center;
justify-content:center;
min-width:0;
}
.epr-add-range-row{
margin-top:6px;
}
.epr-col-batch{
/* MSIN-4475 — badge auto dans la colonne fluide restante (pas de min-width forcé). */
overflow:hidden;
min-width:0;
display:flex;
align-items:center;
justify-content:flex-start;
gap:4px;
}
.epr-line .btn-view-range{
width:100%;
padding-left:0;
padding-right:0;
}
.batch-checkbox{
display:none;
}
/* ACTIONS — rangée principale horizontale, panneaux batch/auto en dessous. */
.epr-actions{
display:flex;
flex-direction:column;
gap:10px;
width:100%;
padding-top:2px;
}
/* MSIN-4467 — Parcours progressif dans le détail d'une épreuve. */
.bib-assignment-step{
display:flex;
flex-direction:column;
gap:12px;
}
.bib-assignment-step__header{
display:flex;
align-items:flex-start;
gap:10px;
}
.bib-assignment-step__heading{
flex:1 1 auto;
min-width:0;
}
.bib-assignment-step__actions{
flex:0 0 auto;
margin-left:auto;
}
.bib-assignment-step__actions .epr-identity-reset-all{
padding:0;
border:0;
background:transparent;
}
.bib-assignment-step__actions .epr-identity-reset-all .btn-reset-all-epr{
width:auto;
}
.bib-assignment-step__number{
display:inline-flex;
align-items:center;
justify-content:center;
flex:0 0 26px;
width:26px;
height:26px;
border-radius:999px;
background:#2f5fd0;
color:#fff;
font-size:12px;
font-weight:700;
}
.bib-assignment-step__header h3{
margin:1px 0 2px;
color:#1e3a6e;
font-size:14px;
font-weight:700;
}
.bib-assignment-step__header p{
margin:0;
color:#6c757d;
font-size:12px;
}
.bib-assignment-methods{
display:grid;
grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
gap:10px;
}
.bib-assignment-method{
display:flex;
flex-direction:column;
align-items:flex-start;
min-width:0;
padding:12px;
border:1px solid #c8d6e5;
border-radius:6px;
background:#f8fbfe;
}
.bib-assignment-method h4{
margin:0 0 4px;
color:#212529;
font-size:13px;
font-weight:700;
}
.bib-assignment-method p{
min-height:34px;
margin:0 0 10px;
color:#6c757d;
font-size:11px;
line-height:1.45;
}
.bib-assignment-method .epr-action-group{
margin-top:auto;
}
#module-bib .bib-assignment-method .btn-bib-auto:not(.btn-bib-auto--active){
border-color:#2f5fd0;
background:#fff;
color:#2f5fd0;
}
#module-bib .bib-assignment-method .btn-bib-auto:not(.btn-bib-auto--active):hover,
#module-bib .bib-assignment-method .btn-bib-auto:not(.btn-bib-auto--active):focus{
border-color:#1e4a9e;
background:#e8f0fc;
color:#1e4a9e;
}
#module-bib .bib-assignment-method .btn-bib-auto:not(.btn-bib-auto--active) + .btn-aide-bib{
border-color:#2f5fd0;
background:#2f5fd0;
}
#module-bib .bib-assignment-method .btn-bib-auto--active,
#module-bib .bib-assignment-method .btn-bib-auto--active:hover,
#module-bib .bib-assignment-method .btn-bib-auto--active:focus{
border-color:#218838;
background:#28a745;
color:#fff;
}
.bib-advanced-actions{
display:flex;
align-items:center;
gap:10px;
padding-top:10px;
border-top:1px solid #dee2e6;
}
.bib-advanced-actions__title{
color:#6c757d;
font-size:11px;
font-weight:600;
text-transform:uppercase;
}
/* MOBILE */
@media (max-width:768px){
.epr-row-detail{
padding:8px;
}
.bib-race-summary{
grid-template-columns:minmax(0, 1fr) auto;
}
.bib-race-summary__group{
grid-column:1 / -1;
padding:8px 10px;
}
.bib-race-summary__group--quantities{
grid-row:2;
}
.bib-assignment-step__header{
flex-wrap:wrap;
}
.bib-assignment-step__actions{
flex:1 0 100%;
margin-left:36px;
}
.bib-race-summary__group--bibs{
grid-row:3;
}
.bib-race-toggle{
grid-column:2;
grid-row:1;
}
.bib-assignment-methods{
grid-template-columns:1fr;
}
.bib-assignment-method p{
min-height:0;
}
}
.bib-view {
width: 100%;
border: 1px solid #d9d9d9;
background: #f3f3f3;
}
.bib-view-header {
position: relative;
display: grid;
grid-template-columns: 1.6fr 1fr 0.7fr;
background: #3f63c9;
color: #fff;
font-weight: 700;
font-size: 15px;
}
.bib-view-header > div {
padding: 14px 16px;
}
/* MSIN-4447 — X fermer (œil / vue dossards), coin droit de l'en-tête */
.bib-view-header > div:last-of-type {
padding-right: 48px;
}
.bib-view-header__close {
position: absolute;
top: 50%;
right: 10px;
transform: translateY(-50%);
z-index: 1;
}
.bib-view-row {
display: grid;
grid-template-columns: 1.6fr 1fr 0.7fr;
border-top: 1px solid #e1e1e1;
}
.bib-view.team-mode .bib-view-header,
.bib-view.team-mode .bib-view-row{
grid-template-columns: 1.5fr 1fr 0.7fr 1fr 0.8fr;
}
.bib-view-row--cancelled {
background: #fde8ea !important;
}
.bib-view-row--cancelled > div {
color: #2f3640;
}
.bib-view-cancelled-label {
display: inline-block;
margin-left: 8px;
padding: 2px 8px;
border-radius: 4px;
font-size: 12px;
font-weight: 600;
color: #842029;
background: rgba(220, 53, 69, 0.2);
vertical-align: middle;
}
.bib-view-row--cancelled .bib-view-number strong {
color: #842029;
}
.bib-view-row:nth-of-type(odd) {
background: #f3f3f3;
}
.bib-view-row:nth-of-type(even) {
background: #ececec;
}
.bib-view-row > div {
padding: 14px 16px;
font-size: 15px;
color: #2f3640;
}
.bib-view-race {
line-height: 1.4;
}
.bib-view-name,
.bib-view-number {
display: flex;
align-items: flex-start;
}
.bib-view-empty {
padding: 14px 16px;
background: #f3f3f3;
color: #2f3640;
border-top: 1px solid #e1e1e1;
}
.bib-view-footer {
padding: 12px 16px;
text-align: right;
background: #f3f3f3;
border-top: 1px solid #e1e1e1;
}
.bib-error {
max-height: 80px;
overflow-y: auto;
white-space: normal;
word-break: break-word;
}
/* MSIN-4379 — verrouillage édition séquences ; masquer tout le bloc « + Ajouter » (pas le ? seul). */
.epr-row.auto-mode .bib-range .btn-save-range,
.epr-row.auto-mode .bib-range .btn-delete-range {
visibility: hidden;
}
.epr-row.auto-mode .bib-start,
.epr-row.auto-mode .bib-qty,
.epr-row.auto-mode .bib-end {
pointer-events: none;
background: #eee;
}
.epr-row.auto-mode .batch-config-container {
display: none;
}
.epr-row.batch-mode .bib-range .btn-save-range,
.epr-row.batch-mode .bib-range .btn-delete-range {
visibility: hidden;
}
.epr-row.batch-mode .bib-start,
.epr-row.batch-mode .bib-qty,
.epr-row.batch-mode .bib-end {
pointer-events: none;
background: #eee;
}
.bib-view-info {
margin-bottom:10px;
padding:10px;
border-radius:6px;
}
.info-success {
background:#d4edda;
color:#155724;
font-weight:bold;
}
.info-partial {
background:#fff3cd;
color:#856404;
}
.info-error {
background:#f8d7da;
color:#721c24;
}
.info-default {
background:#f1f1f1;
color:#555;
}
.bib-view-header > div{
white-space:nowrap;
}
.team-mode-title{
font-size:11px;
color:#666;
margin-top:8px;
margin-bottom:4px;
}
.team-mode-box{
margin-top:10px;
padding:8px;
background:#f7f7f7;
border:1px solid #ddd;
border-radius:6px;
}
.team-mode-title{
font-size:12px;
font-weight:600;
color:#444;
margin-bottom:8px;
}
.team-mode-option{
display:flex;
align-items:flex-start;
gap:6px;
margin-bottom:6px;
font-size:12px;
color:#333;
}
.team-mode-option.disabled{
color:#999;
}
.team-mode-option input[type="radio"]{
margin-top:2px;
}
/* MSIN-4379 — Dashboard anomalies dossards */
.bib-tool-card-header{
display:flex;
align-items:center;
justify-content:space-between;
gap:12px;
flex-wrap:wrap;
}
.bib-tool-card-title{
margin:0;
}
/* MSIN-4424 — Panneau configuration globale (contenu dans .epr-content). */
.bib-event-config-header-actions{
display:inline-flex;
align-items:center;
gap:8px;
flex-shrink:0;
}
.bib-event-config-note{
font-size:12px;
font-weight:700;
white-space:nowrap;
}
.bib-event-config-content{
background:#fff;
}
.bib-event-config-content .bib-event-settings__label{
display:flex;
align-items:flex-start;
gap:8px;
margin:0;
font-weight:600;
font-size:14px;
line-height:1.4;
cursor:pointer;
}
.bib-event-config-content .bib-event-settings__label input[type="checkbox"]{
margin-top:3px;
flex-shrink:0;
}
.bib-event-config-content .bib-event-settings__text{
flex:1 1 auto;
}
/* MSIN-4424 — Sommaire des quantités (même gabarit que anomalies). */
.bib-qty-summary-panel--alert{
border-color:#f0ad4e;
}
.bib-qty-summary-badges{
display:inline-flex;
flex-wrap:wrap;
align-items:center;
gap:6px;
}
.bib-qty-summary-badges--pending{
font-size:12px;
opacity:.85;
}
.bib-qty-summary-badge{
font-size:12px;
font-weight:600;
}
.bib-qty-summary-badge--warn{
background:rgba(220,53,69,.9);
border-color:rgba(220,53,69,.9);
}
.bib-qty-summary-content{
background:#fff;
}
.bib-qty-summary-section-title{
margin:0 0 10px;
font-size:14px;
font-weight:700;
color:#212529;
}
.bib-qty-summary-totals{
margin-bottom:16px;
}
.bib-qty-summary-dl{
display:grid;
grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));
gap:8px 16px;
margin:0;
}
.bib-qty-summary-dl__row{
display:flex;
justify-content:space-between;
gap:10px;
padding:8px 10px;
background:#f8f9fa;
border:1px solid #e9ecef;
border-radius:4px;
font-size:13px;
}
.bib-qty-summary-dl__row dt{
margin:0;
font-weight:600;
color:#495057;
}
.bib-qty-summary-dl__row dd{
margin:0;
font-weight:700;
color:#212529;
}
.bib-qty-summary-table th,
.bib-qty-summary-table td{
font-size:13px;
vertical-align:middle;
}
.bib-qty-summary-table tbody tr:nth-child(odd){
background-color:#f1f3f5;
}
.bib-qty-summary-table tbody tr:nth-child(odd) th,
.bib-qty-summary-table tbody tr:nth-child(odd) td{
background-color:#f1f3f5;
}
.bib-qty-summary-by-epr{
border-top:1px solid #e9ecef;
padding-top:14px;
}
.bib-anomalies-panel{
margin-bottom:0;
border:1px solid #ced4da;
border-radius:4px;
overflow:hidden;
}
.bib-anomalies-panel--alert{
border-color:#dc3545;
}
.bib-anomalies-header{
display:flex;
align-items:center;
justify-content:space-between;
gap:10px;
}
.bib-anomalies-header-label{
display:inline-flex;
align-items:center;
gap:8px;
flex-wrap:wrap;
}
.bib-anomalies-count{
font-size:12px;
font-weight:700;
}
.bib-anomalies-content{
background:#fff;
padding:8px;
}
.bib-dist-print-panel{
margin-bottom:0;
}
.bib-dist-print-epr{
border-top:1px solid #e9ecef;
padding-top:12px;
margin-top:12px;
}
.bib-dist-print-epr:first-of-type{
border-top:0;
padding-top:0;
margin-top:0;
}
.bib-dist-print-epr-title{
font-size:14px;
font-weight:600;
margin:0 0 8px;
}
.bib-dist-print-question-list{
display:flex;
flex-wrap:wrap;
gap:8px 16px;
}
.bib-dist-print-question-label{
display:inline-flex;
align-items:flex-start;
gap:6px;
margin:0;
font-size:13px;
cursor:pointer;
}
.bib-dist-print-actions{
border-top:1px solid #e9ecef;
padding-top:12px;
}
.bib-anomaly-block{
margin-bottom:8px;
border:1px solid #c5d9f5;
border-radius:6px;
overflow:hidden;
background:#fff;
}
.bib-anomaly-block:last-child{
margin-bottom:0;
}
.bib-anomaly-block-header{
margin:0;
padding:8px 10px;
font-size:13px;
font-weight:700;
cursor:pointer;
user-select:none;
}
.bib-anomaly-block-header .epr-header-label{
font-size:13px;
font-weight:700;
}
.bib-anomaly-block-header .btn-aide-bib{
color:#fff;
}
.bib-anomaly-block-count{
font-size:11px;
min-width:1.6em;
justify-content:center;
text-align:center;
}
.bib-anomaly-block.is-collapsed .bib-anomaly-block-content{
display:none;
}
.bib-anomaly-block-content{
padding:10px 12px;
border-top:1px solid #c5d9f5;
background:#fff;
}
.bib-anomaly-block-title{
display:flex;
align-items:center;
flex-wrap:wrap;
gap:8px;
margin:0 0 8px;
font-size:14px;
font-weight:700;
color:#212529;
}
.bib-anomaly-list{
margin:0;
}
.bib-anomaly-item{
padding:8px 10px;
margin-bottom:6px;
background:#f8f9fa;
border:1px solid #e9ecef;
border-radius:4px;
font-size:13px;
}
.bib-anomaly-item:last-child{
margin-bottom:0;
}
.bib-anomaly-sublist{
margin-top:4px;
padding-left:14px;
font-size:12px;
color:#495057;
}
.bib-anomaly-detail{
margin-top:4px;
}
.bib-anomaly-detail--split{
display:flex;
justify-content:space-between;
align-items:flex-start;
gap:10px;
}
.bib-anomaly-detail__meta{
min-width:0;
}
.bib-anomaly-inscr-link{
color:#c82333;
font-weight:700;
font-size:12px;
white-space:nowrap;
flex-shrink:0;
text-decoration:none;
}
.bib-anomaly-inscr-link:hover,
.bib-anomaly-inscr-link:focus{
color:#a71d2a;
text-decoration:underline;
}
.bib-anomalies-empty{
font-size:13px;
}
/* Inscriptions mobile — style compte promoteur (desktop + mobile) */
.inscr-gestion-page{
max-width:1100px;
margin:0 auto;
padding-left:12px !important;
padding-right:12px !important;
}
.inscr-gestion-entry-body .inscr-gestion-entry-header .ms1-header-bottom{
border-bottom:1px solid #dee2e6;
}
.inscr-gestion-login-wrap{
max-width:420px;
margin:0 auto;
}
.inscr-gestion-login-intro{
font-size:14px;
margin-bottom:14px;
}
.inscr-gestion-login-form .inscr-gestion-label:first-child{
margin-top:0;
}
.inscr-gestion-entry-footer .ms1-footer-bottom{
border-top:1px solid #dee2e6;
}
.inscr-gestion-shell{
font-size:14px;
line-height:1.45;
}
.inscr-gestion-nav-back{
margin-bottom:12px;
}
.inscr-gestion-full-account{
margin-bottom:12px;
}
.inscr-gestion-page-head,
.inscr-gestion-fiche-head{
margin-bottom:14px;
display:flex;
flex-wrap:wrap;
align-items:center;
gap:10px;
}
.inscr-gestion-page-title{
margin:0;
font-size:1.5rem;
font-weight:700;
line-height:1.25;
color:#212529;
}
.inscr-gestion-btn-chronotrack{
white-space:nowrap;
}
.inscr-gestion-page-sub{
margin-top:6px;
font-size:14px;
}
.inscr-gestion-panel{
border:1px solid #ced4da;
border-radius:6px;
margin-bottom:10px;
background:#fff;
overflow:hidden;
box-shadow:0 1px 3px rgba(0,0,0,.04);
}
.inscr-gestion-panel__head{
display:flex;
align-items:center;
gap:8px;
padding:10px 12px;
font-weight:600;
font-size:14px;
background:#f8f9fa;
cursor:pointer;
list-style:none;
color:#212529;
}
.inscr-gestion-panel__icon{
color:#007bff;
width:1.15em;
text-align:center;
flex-shrink:0;
}
.inscr-gestion-panel__head::-webkit-details-marker{
display:none;
}
.inscr-gestion-panel__body{
padding:12px;
border-top:1px solid #eee;
}
/*
* MSIN-4401 — Tons de panneau v2 (même langage que fiche Détails / Gestion / Éditable
* et détail dossards #module-bib .bib-tool-detail) :
* --search = info / bleu
* --qr = outil caméra / violet
*/
.inscr-gestion-panel--search{
border-color:#c5d8f0;
box-shadow:0 1px 3px rgba(0,64,133,.06);
}
.inscr-gestion-panel--search .inscr-gestion-panel__head{
background:#e7f1ff;
border-left:4px solid #007bff;
color:#004085;
}
.inscr-gestion-panel--search .inscr-gestion-panel__icon{
color:#007bff;
}
.inscr-gestion-panel--search .inscr-gestion-panel__body{
background:#f5f9ff;
border-top-color:#d6e4f5;
}
.inscr-gestion-panel--search .inscr-gestion-label{
font-size:11px;
font-weight:700;
letter-spacing:.02em;
text-transform:uppercase;
color:#6c757d;
}
.inscr-gestion-panel--search .inscr-gestion-form-field--checks{
border-top-color:#d6e4f5;
}
.inscr-gestion-panel--qr{
border-color:#d4c4ef;
box-shadow:0 1px 3px rgba(111,66,193,.08);
}
.inscr-gestion-panel--qr .inscr-gestion-panel__head{
background:#f3eef9;
border-left:4px solid #6f42c1;
color:#4b2a7a;
}
.inscr-gestion-panel--qr .inscr-gestion-panel__icon{
color:#6f42c1;
}
.inscr-gestion-panel--qr .inscr-gestion-panel__body{
background:#faf8fd;
border-top-color:#e6dcf3;
}
/* MSIN-4401 — À l'ouverture, la caméra QR doit dominer l'écran (pas en bas hors vue). */
.inscr-gestion-panel--qr[open]{
margin-bottom:16px;
}
.inscr-gestion-panel--qr[open] .inscr-gestion-panel__body{
padding:10px 8px 14px;
}
.inscr-gestion-qr-hint{
margin:0 auto 8px;
text-align:center;
max-width:min(100%, 92vw, 70vh);
}
.inscr-gestion-qr-reader-wrap{
width:min(100%, 92vw, 70vh);
max-width:min(100%, 92vw, 70vh);
max-height:70vh;
margin:0 auto;
scroll-margin-top:12px;
scroll-margin-bottom:12px;
border-radius:6px;
overflow:hidden;
background:#111;
}
.inscr-gestion-qr-reader-wrap #inscr-gestion-qr-reader{
width:100% !important;
min-height:min(70vh, 92vw);
}
.inscr-gestion-qr-reader-wrap #inscr-gestion-qr-reader video,
.inscr-gestion-qr-reader-wrap video{
width:100% !important;
max-height:70vh !important;
object-fit:cover;
border-radius:4px;
display:block;
}
.inscr-gestion-qr-reader-wrap img{
max-width:100%;
}
.inscr-gestion-bib-scan-toggle.is-active{
background:#6f42c1;
border-color:#6f42c1;
color:#fff;
}
.inscr-gestion-bib-scan-capture{
position:relative;
overflow:hidden;
border-radius:6px;
background:#111;
/* MSIN-4401 — Plus grand carre possible dans le viewport telephone. */
aspect-ratio:1 / 1;
width:min(100%, 92vw, 70vh);
max-width:min(100%, 92vw, 70vh);
max-height:70vh;
margin:0 auto;
cursor:pointer;
outline:none;
scroll-margin:20px;
}
.inscr-gestion-bib-scan-capture.is-ready{
box-shadow:0 0 0 2px rgba(111,66,193,.35);
}
/* Ne pas bloquer les taps via CSS : le JS ignore deja si OCR pas pret. */
.inscr-gestion-bib-scan-capture[aria-disabled="true"]{
cursor:wait;
}
.inscr-gestion-bib-scan-video,
.inscr-gestion-bib-scan-video video{
width:100%;
height:100%;
}
.inscr-gestion-bib-scan-video video{
display:block;
object-fit:cover;
pointer-events:none;
}
/* Zone-cible centrale (spotlight). Source de verite du crop OCR :
le JS mesure ce cadre (getBoundingClientRect) — ne pas « elargir » le crop en JS. */
.inscr-gestion-bib-scan-target{
position:absolute;
left:50%;
top:50%;
transform:translate(-50%,-50%);
width:55%;
height:30%;
border:2px solid rgba(255,255,255,.95);
border-radius:8px;
box-shadow:0 0 0 100vmax rgba(0,0,0,.5);
pointer-events:none;
}
/* Pastille courte en bas — ne doit pas masquer le cadre central. */
.inscr-gestion-bib-scan-capture-label{
position:absolute;
left:50%;
bottom:8px;
transform:translateX(-50%);
max-width:92%;
padding:5px 12px;
border-radius:10px;
background:rgba(0,0,0,.7);
color:#fff;
font-size:12px;
font-weight:600;
line-height:1.3;
text-align:center;
pointer-events:none;
}
.inscr-gestion-bib-scan-panel{
margin-bottom:10px;
}
.inscr-gestion-bib-scan-hint{
text-align:center;
max-width:min(100%, 92vw, 70vh);
margin-left:auto;
margin-right:auto;
}
.inscr-gestion-bib-scan-status{
color:#6f42c1;
font-weight:600;
text-align:center;
user-select:text;
-webkit-user-select:text;
}
.inscr-gestion-bib-scan-status.is-active::before{
content:'';
display:inline-block;
width:7px;
height:7px;
margin-right:5px;
border-radius:50%;
background:#6f42c1;
animation:inscr-gestion-qr-pulse 1.2s ease-in-out infinite;
}
.inscr-gestion-bib-row input.inscr-gestion-bib--proposed{
border-color:#6f42c1;
box-shadow:0 0 0 2px rgba(111,66,193,.2);
}
@keyframes inscr-gestion-qr-pulse{
0%,100%{ opacity:1; transform:scale(1); }
50%{ opacity:.4; transform:scale(.85); }
}
.inscr-gestion-label{
display:block;
font-size:12px;
font-weight:600;
margin:8px 0 4px;
color:#495057;
}
.inscr-gestion-label:first-child{
margin-top:0;
}
/* MSIN-4401 — Recherche : 1 col mobile, 2 cols tablette, 3 cols bureau. */
.inscr-gestion-form-grid{
display:grid;
grid-template-columns:1fr;
gap:4px 14px;
align-items:start;
}
.inscr-gestion-form-field{
min-width:0;
}
.inscr-gestion-form-field > .inscr-gestion-label:first-child{
margin-top:0;
}
.inscr-gestion-form-field--checks{
display:flex;
flex-direction:column;
gap:2px;
padding-top:4px;
}
.inscr-gestion-form-field--checks .inscr-gestion-check{
margin-top:6px;
}
.inscr-gestion-form-field--actions{
padding-top:4px;
}
.inscr-gestion-form-field--actions .inscr-gestion-form-actions{
margin-top:4px;
}
@media (min-width:768px){
.inscr-gestion-form-grid{
grid-template-columns:1fr 1fr;
}
.inscr-gestion-form-field--checks,
.inscr-gestion-form-field--actions{
grid-column:1 / -1;
}
.inscr-gestion-form-field--checks{
flex-direction:row;
flex-wrap:wrap;
gap:8px 20px;
align-items:center;
padding-top:8px;
border-top:1px solid #eef2f7;
margin-top:4px;
}
.inscr-gestion-form-field--checks .inscr-gestion-check{
margin-top:0;
}
}
@media (min-width:992px){
.inscr-gestion-form-grid{
grid-template-columns:repeat(3, minmax(0, 1fr));
}
/* 3 cols égales : prénom/nom/commande puis dossard/épreuve/statut. */
.inscr-gestion-form-field--bib,
.inscr-gestion-form-field--statut{
grid-column:auto;
}
}
.inscr-gestion-check{
display:flex;
align-items:center;
gap:8px;
font-size:13px;
margin:8px 0 0;
}
/* MSIN-4401 — Multi-sélection statut de course (tactile / mobile). */
.inscr-gestion-statut-multi{
position:relative;
margin-top:0;
}
.inscr-gestion-statut-multi__summary{
list-style:none;
display:flex;
align-items:center;
justify-content:space-between;
gap:8px;
min-height:38px;
padding:6px 10px;
border:1px solid #ced4da;
background:#fff;
font-size:14px;
color:#212529;
cursor:pointer;
-webkit-user-select:none;
user-select:none;
}
.inscr-gestion-statut-multi__summary::-webkit-details-marker{
display:none;
}
.inscr-gestion-statut-multi__summary::after{
content:'\f078';
font-family:FontAwesome;
font-size:12px;
color:#6c757d;
flex-shrink:0;
}
.inscr-gestion-statut-multi[open] > .inscr-gestion-statut-multi__summary::after{
content:'\f077';
}
.inscr-gestion-statut-multi__summary-text{
flex:1;
min-width:0;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
}
.inscr-gestion-statut-multi__panel{
display:flex;
flex-direction:column;
gap:2px;
margin-top:4px;
padding:8px;
border:1px solid #ced4da;
background:#fff;
max-height:min(280px, 50vh);
overflow-y:auto;
-webkit-overflow-scrolling:touch;
}
.inscr-gestion-statut-multi__opt{
display:flex;
align-items:center;
gap:10px;
min-height:40px;
padding:6px 8px;
margin:0;
font-size:14px;
font-weight:400;
color:#212529;
cursor:pointer;
border-radius:2px;
-webkit-tap-highlight-color:transparent;
}
.inscr-gestion-statut-multi__opt:active,
.inscr-gestion-statut-multi__opt:hover{
background:#f1f3f5;
}
.inscr-gestion-statut-multi__opt input{
width:18px;
height:18px;
flex-shrink:0;
margin:0;
}
.inscr-gestion-form-actions{
display:flex;
flex-wrap:wrap;
gap:8px;
}
.inscr-gestion-list-head{
display:flex;
justify-content:space-between;
align-items:flex-start;
gap:10px 16px;
flex-wrap:wrap;
font-size:13px;
font-weight:600;
color:#004085;
margin:12px 0 8px;
padding:8px 12px;
background:#e7f1ff;
border:1px solid #c5d8f0;
border-left:4px solid #007bff;
border-radius:6px;
}
.inscr-gestion-list-head__main{
display:flex;
flex-wrap:wrap;
align-items:center;
gap:6px 8px;
min-width:0;
flex:1 1 12rem;
}
.inscr-gestion-list-head__count{
white-space:nowrap;
}
.inscr-gestion-list-head__filters{
display:inline-flex;
flex-wrap:wrap;
gap:4px 6px;
align-items:center;
font-weight:500;
}
.inscr-gestion-list-head__chip{
display:inline-block;
max-width:100%;
padding:2px 8px;
border-radius:999px;
background:#fff;
border:1px solid #b8d0ef;
color:#1a4a7a;
font-size:12px;
font-weight:500;
line-height:1.35;
word-break:break-word;
}
.inscr-gestion-list-head__pg{
font-weight:500;
color:#6c757d;
white-space:nowrap;
margin-left:auto;
}
.inscr-gestion-list{
--ig-list-cols:
minmax(9.5rem, 1.15fr)
minmax(11rem, 1.9fr)
minmax(6.75rem, 0.7fr)
minmax(3.75rem, 5rem)
minmax(5.5rem, 7.5rem)
2.5rem
1.15rem;
border:1px solid #c5d8f0;
border-radius:6px;
background:#fff;
overflow:hidden;
box-shadow:0 1px 3px rgba(0,64,133,.06);
}
.inscr-gestion-list-item{
display:grid;
grid-template-columns:var(--ig-list-cols);
gap:8px 12px;
align-items:center;
padding:10px 12px;
border-bottom:1px solid #eef2f7;
background:#fff;
color:inherit;
text-decoration:none;
}
/* En-tete de colonnes : meme grille que les lignes pour un alignement parfait. */
.inscr-gestion-list-cols{
display:grid;
grid-template-columns:var(--ig-list-cols);
gap:8px 12px;
align-items:center;
padding:8px 12px;
background:#e7f1ff;
border-bottom:1px solid #c5d8f0;
font-size:11px;
font-weight:700;
text-transform:uppercase;
letter-spacing:.03em;
color:#004085;
}
.inscr-gestion-list-cols__bib,
.inscr-gestion-list-cols__statut,
.inscr-gestion-list-cols__check{
text-align:center;
}
.inscr-gestion-list-item:last-child{
border-bottom:none;
}
/* Zebra : en-tete = child 1 ; 1re ligne (child 2) blanche, 2e (child 3) alternee. */
.inscr-gestion-list > .inscr-gestion-list-item:nth-child(odd){
background:#f7faff;
}
.inscr-gestion-list-item:hover,
.inscr-gestion-list-item:focus-within{
color:inherit;
text-decoration:none;
background:#eaf3ff;
}
.inscr-gestion-list-item a.inscr-gestion-list-item__name,
.inscr-gestion-list-item a.inscr-gestion-list-item__race,
.inscr-gestion-list-item a.inscr-gestion-list-item__order,
.inscr-gestion-list-item a.inscr-gestion-list-item__statut{
color:inherit;
text-decoration:none;
min-width:0;
}
.inscr-gestion-list-item a.inscr-gestion-list-item__arrow{
text-decoration:none;
min-width:0;
}
.inscr-gestion-list-item a.inscr-gestion-list-item__name:hover,
.inscr-gestion-list-item a.inscr-gestion-list-item__race:hover,
.inscr-gestion-list-item a.inscr-gestion-list-item__order:hover,
.inscr-gestion-list-item a.inscr-gestion-list-item__statut:hover{
color:inherit;
text-decoration:none;
}
.inscr-gestion-list-item--cancellation{
background:#fff5f5;
border-color:#f1b0b7;
}
.inscr-gestion-list > .inscr-gestion-list-item--cancellation:nth-child(odd){
background:#fff0f0;
}
.inscr-gestion-list-item--cancellation:hover,
.inscr-gestion-list-item--cancellation:focus-within{
background:#ffecec;
}
/* MSIN-4405 — pastille de cause d'annulation (annulee / transferee) */
.inscr-gestion-cancel-badge{
display:inline-block;
margin-left:6px;
padding:1px 7px;
border-radius:10px;
font-size:.72rem;
font-weight:600;
line-height:1.4;
vertical-align:middle;
white-space:nowrap;
color:#fff;
background:#dc3545;
}
.inscr-gestion-cancel-badge--transfert{
background:#0d6efd;
}
.inscr-gestion-cancel-badge--annule{
background:#dc3545;
}
.inscr-gestion-list-item__main{
display:contents;
}
/* MSIN-4459 — Groupe equipe en liste : separateur + indent coequipier (nom 1 ligne). */
.inscr-gestion-list-item--team-start{
border-top:2px solid #b8d0ef;
}
.inscr-gestion-list-item--teammate .inscr-gestion-list-item__name{
padding-left:1.15rem;
}
.inscr-gestion-list-item__name{
font-weight:700;
font-size:14px;
color:#212529;
min-width:0;
display:flex;
align-items:baseline;
flex-wrap:wrap;
gap:4px 8px;
}
.inscr-gestion-list-item__name-text{
min-width:0;
}
.inscr-gestion-list-item__team-inline{
font-size:12px;
font-weight:500;
color:#6c757d;
white-space:nowrap;
}
.inscr-gestion-list-item__team-inline::before{
content:'·';
margin-right:6px;
color:#adb5bd;
}
/* MSIN-4405 — la pastille de cause se colle au bord droit de la cellule du nom */
.inscr-gestion-list-item__name .inscr-gestion-cancel-badge{
margin-left:auto;
}
.inscr-gestion-list-item__race{
font-size:13px;
color:#495057;
min-width:0;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
}
.inscr-gestion-list-item__order{
font-size:12px;
color:#6c757d;
font-variant-numeric:tabular-nums;
min-width:0;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
}
.inscr-gestion-list-item__meta{
display:none;
}
.inscr-gestion-list-item__bib{
text-align:center;
min-width:0;
}
/* MSIN-4448 — Pastille dossard cliquable + edition inline a la demande. */
.inscr-gestion-list-bib-wrap{
display:inline-flex;
align-items:center;
max-width:100%;
vertical-align:middle;
}
.inscr-gestion-list-bib-wrap.is-editing{
max-width:100%;
}
button.inscr-gestion-list-bib-pill{
margin:0;
cursor:pointer;
appearance:none;
-webkit-appearance:none;
font:inherit;
}
button.inscr-gestion-list-bib-pill:hover{
filter:brightness(0.97);
}
button.inscr-gestion-list-bib-pill:focus{
outline:2px solid #80bdff;
outline-offset:2px;
}
.inscr-gestion-list-bib-edit{
display:inline-flex;
align-items:center;
gap:4px;
max-width:100%;
vertical-align:middle;
}
.inscr-gestion-list-bib-edit[hidden]{
display:none !important;
}
.inscr-gestion-list-bib-input{
width:4.25rem;
max-width:100%;
padding:2px 6px;
font-size:12px;
font-weight:700;
font-variant-numeric:tabular-nums;
text-align:center;
line-height:1.35;
}
.inscr-gestion-list-bib-edit .btn_bib{
padding:2px 7px;
font-size:11px;
line-height:1.35;
flex-shrink:0;
}
button.inscr-gestion-list-remis{
margin:0;
padding:0;
cursor:pointer;
appearance:none;
-webkit-appearance:none;
background:inherit;
border:none;
}
button.inscr-gestion-list-remis.inscr-gestion-remis--no{
background:#eef1f4;
border:1px solid #dee2e6;
}
button.inscr-gestion-list-remis:focus{
outline:2px solid #80bdff;
outline-offset:2px;
}
button.inscr-gestion-list-remis:hover{
filter:brightness(0.97);
}
.inscr-gestion-bib-pill{
display:inline-block;
max-width:100%;
padding:2px 9px;
border-radius:999px;
background:#e7f1ff;
border:1px solid #b8daff;
color:#004085;
font-weight:700;
font-size:12px;
font-variant-numeric:tabular-nums;
line-height:1.35;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
vertical-align:middle;
}
.inscr-gestion-bib-pill--empty{
background:#f1f3f5;
border-color:#dee2e6;
color:#adb5bd;
font-weight:600;
}
/* MSIN-4399 — pastille statut de course (liste). */
.inscr-gestion-list-item__statut{
text-align:center;
min-width:0;
}
.inscr-gestion-statut-pill{
display:inline-block;
max-width:100%;
padding:2px 8px;
border-radius:999px;
background:#eef2f7;
border:1px solid #d5dde8;
color:#495057;
font-weight:600;
font-size:11px;
line-height:1.35;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
vertical-align:middle;
}
.inscr-gestion-statut-pill--conf{
background:#e8f5e9;
border-color:#c3e6cb;
color:#155724;
}
.inscr-gestion-statut-pill--dq,
.inscr-gestion-statut-pill--dns,
.inscr-gestion-statut-pill--np,
.inscr-gestion-statut-pill--abandon{
background:#fff3cd;
border-color:#ffeaa7;
color:#856404;
}
.inscr-gestion-list-item__check{
text-align:center;
}
.inscr-gestion-remis{
display:inline-flex;
align-items:center;
justify-content:center;
width:1.35rem;
height:1.35rem;
border-radius:50%;
line-height:1;
}
.inscr-gestion-remis--yes{
color:#28a745;
background:#e8f5e9;
font-size:14px;
}
.inscr-gestion-remis--no{
background:#eef1f4;
border:1px solid #dee2e6;
}
.inscr-gestion-list-item__arrow{
display:inline-flex;
align-items:center;
justify-content:center;
color:#8aa8d4;
flex-shrink:0;
justify-self:end;
}
/* Tablette : cacher Commande, garder le punch utile (nom / épreuve / dossard / statut / remis). */
@media (max-width:1099px) and (min-width:768px){
.inscr-gestion-list{
--ig-list-cols:
minmax(8.5rem, 1.2fr)
minmax(10rem, 2fr)
minmax(3.5rem, 4.75rem)
minmax(4.75rem, 6.5rem)
2.5rem
1.15rem;
}
.inscr-gestion-list-cols__order,
.inscr-gestion-list-item__order{
display:none;
}
}
.inscr-gestion-badge{
display:inline-block;
padding:1px 6px;
border-radius:999px;
font-size:11px;
font-weight:600;
}
.inscr-gestion-badge--ok{
background:#d4edda;
color:#155724;
}
.inscr-gestion-pager{
margin:14px 0 4px;
}
.inscr-gestion-pager .page-link{
padding:6px 10px;
}
.inscr-gestion-empty{
margin-top:8px;
text-align:center;
color:#004085;
background:#f5f9ff;
border-color:#c5d8f0 !important;
border-radius:6px;
}
.inscr-gestion-event-list{
display:flex;
flex-direction:column;
gap:8px;
}
.inscr-gestion-event-item{
display:flex;
align-items:center;
justify-content:space-between;
padding:12px;
border:1px solid #ced4da;
border-radius:4px;
background:#fff;
color:inherit;
text-decoration:none;
}
.inscr-gestion-event-item:hover{
background:#f8f9fa;
color:inherit;
text-decoration:none;
}
.inscr-gestion-event-item__name{
font-weight:600;
font-size:15px;
}
.inscr-gestion-gestion-actions{
display:flex;
flex-wrap:wrap;
gap:8px;
padding:0;
align-items:center;
}
.inscr-gestion-gestion-actions .btn{
margin:0;
}
/* MSIN-4401 — Bouton + cadenas colle a droite (jamais orphelin a gauche). */
.inscr-gestion-action-item{
display:inline-flex;
flex-wrap:wrap;
align-items:center;
gap:4px 6px;
max-width:100%;
}
.inscr-gestion-action-item .ms1-perm-inspect-badge,
.inscr-gestion-action-item .ms1-perm-inspect-slot{
margin:0;
}
.inscr-gestion-action-item--inspect-only{
opacity:.92;
}
/* Remboursement PayPal — fiche gestion promoteur (formulaire + panneau doc) */
.ms1-refund-wrap{
width:100%;
}
.ms1-refund-layout{
display:flex;
flex-wrap:wrap;
align-items:flex-start;
gap:16px;
}
.ms1-refund-main{
flex:0 1 560px;
min-width:280px;
max-width:100%;
}
.ms1-refund{
border:1px solid #ddd;
border-radius:10px;
padding:14px;
}
.ms1-refund--solo{
max-width:560px;
}
.ms1-refund-doc-aside{
flex:1 1 280px;
min-width:240px;
max-width:100%;
}
.ms1-refund-doc-panel{
border:1px solid #dbe7ff;
border-radius:10px;
background:#f9fbff;
padding:14px 16px;
height:100%;
}
.ms1-refund-doc-head{
display:flex;
align-items:flex-start;
justify-content:space-between;
gap:10px;
margin-bottom:10px;
}
.ms1-refund-doc-title{
margin:0;
font-size:15px;
font-weight:700;
line-height:1.35;
color:#1a3a6b;
}
.ms1-refund-doc-head-actions{
flex-shrink:0;
}
.ms1-refund-doc-body{
font-size:13px;
line-height:1.55;
color:#333;
}
@media (max-width:767px){
.ms1-refund-main,
.ms1-refund-doc-aside{
flex:1 1 100%;
}
}
/* Libelle d'invite devant le bouton facture (numero de commande). */
.inscr-gestion-facture-label{
align-self:center;
font-size:0.85rem;
color:#6c757d;
margin-right:2px;
}
.inscr-gestion-remis-row{
display:flex;
align-items:center;
justify-content:space-between;
gap:12px;
flex-wrap:wrap;
}
.inscr-gestion-remis-row__left{
display:flex;
align-items:center;
gap:10px;
flex-wrap:wrap;
}
.inscr-gestion-remis-row__meta{
margin-left:auto;
text-align:right;
font-size:12px;
line-height:1.35;
flex:1 1 160px;
}
.inscr-gestion-field-block__label--inline{
margin-bottom:0;
}
.inscr-gestion-fiche-section--editable{
padding:0;
overflow:hidden;
}
.inscr-gestion-fiche-section__body{
padding:0;
}
.inscr-gestion-fiche-section:not(.inscr-gestion-fiche-section--details) .inscr-gestion-fiche-section__body > .inscr-gestion-kv-list{
padding:4px 12px 8px;
}
.inscr-gestion-fiche-section__body > .inscr-gestion-gestion-actions{
padding:12px;
}
.inscr-gestion-fiche-section__body > .inscr-gestion-field-block:first-child{
border-top:none;
}
.inscr-gestion-fiche-section--editable > .inscr-gestion-fiche-section__title{
padding:10px 12px;
margin-bottom:0;
}
.inscr-gestion-field-block{
padding:12px;
border-top:1px solid #eee;
}
.inscr-gestion-field-block__label{
font-size:13px;
font-weight:700;
color:#495057;
margin-bottom:8px;
}
/* MSIN-4464 — historique champ ( ! ) sur la fiche — discret, pas une alerte */
.inscr-gestion-audit-bang{
display:inline-flex;
align-items:center;
justify-content:center;
margin-left:4px;
padding:0;
width:1.05em;
height:1.05em;
border:1px solid #8a939c;
border-radius:50%;
background:#f1f3f5;
color:#5c636a;
font-weight:700;
font-size:0.75em;
line-height:1;
vertical-align:middle;
cursor:pointer;
}
.inscr-gestion-audit-bang:hover,
.inscr-gestion-audit-bang:focus{
background:#e2e6ea;
border-color:#6c757d;
color:#343a40;
outline:none;
}
.inscr-gestion-audit-inline{
display:inline-flex;
align-items:center;
font-size:13px;
color:#495057;
}
.inscr-gestion-order-row{
display:flex;
flex-wrap:wrap;
align-items:center;
gap:8px;
}
.inscr-gestion-statut-select{
max-width:100%;
font-size:14px;
padding:6px 10px;
height:auto;
min-height:34px;
}
.inscr-gestion-field-block--statut.inscr-gestion-statut--saved .inscr-gestion-statut-select{
border-color:#198754;
background-color:#d1e7dd;
}
.inscr-gestion-field-block--statut.inscr-gestion-statut--error .inscr-gestion-statut-select{
border-color:#dc3545;
animation:inscr-gestion-statut-shake .35s ease;
}
/* ===== Fiche de gestion : champs modifiables agrandis =====
Saisie souvent faite au cellulaire ou a une table d'inscription :
cibles tactiles plus grandes, lisibles, faciles a toucher (tous ecrans). */
.inscr-gestion-fiche-section--editable .inscr-gestion-field-block{
padding:16px;
}
.inscr-gestion-fiche-section--editable .inscr-gestion-field-block__label,
.inscr-gestion-fiche-section--editable .inscr-gestion-field-block__label--inline{
font-size:15px;
}
.inscr-gestion-fiche-section--editable .inscr-gestion-bib-row{
gap:10px;
}
.inscr-gestion-fiche-section--editable .inscr-gestion-bib-row .form-control{
min-height:54px;
font-size:22px;
font-weight:700;
padding:8px 14px;
}
.inscr-gestion-fiche-section--editable .inscr-gestion-bib-row .btn{
min-height:54px;
min-width:64px;
font-size:18px;
font-weight:700;
display:inline-flex;
align-items:center;
justify-content:center;
}
.inscr-gestion-fiche-section--editable .inscr-gestion-bib-scan-toggle{
font-size:22px;
}
.inscr-gestion-fiche-section--editable .inscr-gestion-statut-select{
min-height:54px;
font-size:18px;
padding:8px 14px;
}
.inscr-gestion-fiche-section--editable .btn_remis{
min-height:48px;
min-width:64px;
font-size:18px;
padding:8px 16px;
display:inline-flex;
align-items:center;
justify-content:center;
}
/* Apercu camera OCR (carre) un peu plus grand sur la fiche pour viser facilement. */
.inscr-gestion-fiche-section--editable .inscr-gestion-bib-scan-capture{
/* Meme plafond viewport que la recherche (pas un petit 420px). */
max-width:min(100%, 92vw, 70vh);
}
@keyframes inscr-gestion-statut-shake{
0%,100%{ transform:translateX(0); }
25%{ transform:translateX(-4px); }
75%{ transform:translateX(4px); }
}
.inscr-gestion-fiche-section{
border:1px solid #ced4da;
border-radius:4px;
background:#fff;
padding:0;
margin-bottom:12px;
overflow:hidden;
}
.inscr-gestion-fiche-section__title{
display:flex;
align-items:center;
gap:8px;
margin:0;
padding:10px 12px;
font-size:14px;
font-weight:700;
border-bottom:1px solid #dee2e6;
text-transform:none;
letter-spacing:normal;
cursor:pointer;
list-style:none;
}
.inscr-gestion-fiche-section__title::-webkit-details-marker{
display:none;
}
.inscr-gestion-fiche-section__title::after{
content:'\f107';
font-family:FontAwesome;
font-weight:normal;
margin-left:auto;
font-size:13px;
opacity:.55;
transition:transform .15s ease;
}
.inscr-gestion-fiche-section[open] > .inscr-gestion-fiche-section__title{
border-bottom:1px solid #dee2e6;
}
.inscr-gestion-fiche-section[open] > .inscr-gestion-fiche-section__title::after{
transform:rotate(180deg);
}
.inscr-gestion-fiche-section:not([open]) > .inscr-gestion-fiche-section__title{
border-bottom:none;
}
.inscr-gestion-fiche-section__icon{
width:1.15em;
text-align:center;
flex-shrink:0;
}
.inscr-gestion-fiche-section--details .inscr-gestion-fiche-section__title{
background:#e7f1ff;
border-left:4px solid #007bff;
color:#004085;
}
.inscr-gestion-fiche-section--details .inscr-gestion-fiche-section__icon{
color:#007bff;
}
.inscr-gestion-fiche-section--gestion .inscr-gestion-fiche-section__title{
background:#fff8e6;
border-left:4px solid #e0a800;
color:#664d03;
}
.inscr-gestion-fiche-section--gestion .inscr-gestion-fiche-section__icon{
color:#e0a800;
}
.inscr-gestion-fiche-section--editable .inscr-gestion-fiche-section__title{
background:#e8f5e9;
border-left:4px solid #28a745;
color:#155724;
}
.inscr-gestion-fiche-section--editable .inscr-gestion-fiche-section__icon{
color:#28a745;
}
.inscr-gestion-dl{
margin:0;
padding:12px;
}
.inscr-gestion-kv-list{
padding:4px 12px 8px;
}
.inscr-gestion-kv-row{
display:flex;
flex-wrap:wrap;
gap:4px 16px;
align-items:flex-start;
padding:7px 0;
border-bottom:1px solid #f1f3f5;
line-height:1.45;
}
.inscr-gestion-kv-row:last-child{
border-bottom:none;
}
.inscr-gestion-kv-row--profile{
border-top:1px solid #dee2e6;
margin-top:4px;
padding-top:8px;
}
.inscr-gestion-kv-row--flag{
border-bottom:1px solid #f1f3f5;
padding:8px 0;
}
.inscr-gestion-kv-flag{
display:inline-block;
padding:4px 10px;
border-radius:999px;
background:#e7f1ff;
border:1px solid #b8daff;
color:#004085;
font-size:12px;
font-weight:700;
letter-spacing:0.02em;
}
.inscr-gestion-kv-row__label{
flex:0 0 132px;
max-width:38%;
font-weight:700;
color:#9aa0a6;
font-size:12px;
line-height:1.4;
}
.inscr-gestion-kv-row__value{
flex:1 1 180px;
color:#212529;
font-size:14px;
font-weight:400;
min-width:0;
overflow-wrap:anywhere;
word-wrap:break-word;
text-align:left;
}
/* Fiche gestion v2 — corps d'onglet plus pale que l'en-tete colore. */
.inscr-gestion-fiche-section--details .inscr-gestion-fiche-section__body{
background:#f5f9ff;
}
.inscr-gestion-fiche-section--gestion .inscr-gestion-fiche-section__body{
background:#fffdf5;
}
.inscr-gestion-fiche-section--editable .inscr-gestion-fiche-section__body{
background:#f4faf5;
}
/* Détails : fiche Rolodex condensee (grille 2 col., 1 fiche unique). */
.inscr-gestion-kv-list.inscr-gestion-fiche-card{
display:grid;
grid-template-columns:1fr 1fr;
gap:0;
padding:8px 10px;
margin:6px 10px 8px;
background:#fff;
border:1px solid #c5d8f0;
border-radius:6px;
box-shadow:0 1px 3px rgba(0,64,133,.06);
}
.inscr-gestion-fiche-card .inscr-gestion-kv-row{
display:block;
flex-wrap:nowrap;
align-items:stretch;
gap:0;
padding:5px 8px 6px;
margin:0;
border:none;
border-bottom:1px solid #eef2f7;
border-radius:0;
background:transparent;
box-shadow:none;
line-height:1.3;
min-width:0;
}
.inscr-gestion-fiche-card .inscr-gestion-kv-row--full{
grid-column:1 / -1;
}
.inscr-gestion-fiche-card .inscr-gestion-kv-row--profile{
border-top:1px solid #e3eaf3;
margin-top:2px;
padding-top:7px;
}
.inscr-gestion-fiche-card .inscr-gestion-kv-row--flag{
text-align:left;
padding-bottom:4px;
}
.inscr-gestion-fiche-card .inscr-gestion-kv-row--flag .inscr-gestion-kv-flag{
font-size:11px;
padding:2px 8px;
}
.inscr-gestion-fiche-card .inscr-gestion-kv-row__label{
flex:none;
max-width:none;
font-size:10px;
font-weight:700;
text-transform:uppercase;
letter-spacing:.04em;
color:#8a9bb5;
margin-bottom:1px;
line-height:1.25;
}
.inscr-gestion-fiche-card .inscr-gestion-kv-row__value{
flex:none;
font-size:13px;
font-weight:500;
color:#1a3557;
line-height:1.35;
}
.inscr-gestion-dl dt{
font-size:12px;
font-weight:600;
color:#6c757d;
margin:10px 0 2px;
}
.inscr-gestion-dl dt:first-child{
margin-top:0;
}
.inscr-gestion-dl dd{
margin:0 0 4px;
font-size:14px;
}
.inscr-gestion-bib-row{
display:flex;
gap:8px;
}
.inscr-gestion-bib-row .form-control{
flex:1;
}
.inscr-gestion-field-block--search-bib{
margin-bottom:0;
/* MSIN-4401 — Pas le padding fiche (.inscr-gestion-field-block) : sinon decalage sous le label. */
padding:0;
border-top:none;
}
.inscr-gestion-field-block--search-bib .inscr-gestion-bib-scan-panel{
margin-bottom:8px;
}
.inscr-gestion-field-block--search-bib .inscr-gestion-bib-row .inscr-gestion-bib-scan-toggle{
flex-shrink:0;
min-width:42px;
display:inline-flex;
align-items:center;
justify-content:center;
}
/* MSIN-4401 — Exact / Partiel entre le champ et la camera. */
.inscr-gestion-bib-match{
display:inline-flex;
flex-shrink:0;
border:1px solid #ced4da;
border-radius:4px;
overflow:hidden;
background:#fff;
align-self:stretch;
}
.inscr-gestion-bib-match__opt{
display:inline-flex;
align-items:center;
margin:0;
cursor:pointer;
user-select:none;
}
.inscr-gestion-bib-match__opt input{
position:absolute;
opacity:0;
pointer-events:none;
}
.inscr-gestion-bib-match__opt span{
display:inline-flex;
align-items:center;
justify-content:center;
min-height:100%;
padding:0 8px;
font-size:11px;
font-weight:700;
line-height:1.2;
color:#6c757d;
background:#f8f9fa;
border-right:1px solid #ced4da;
white-space:nowrap;
}
.inscr-gestion-bib-match__opt:last-child span{
border-right:none;
}
.inscr-gestion-bib-match__opt input:checked + span{
background:#007bff;
color:#fff;
}
.inscr-gestion-bib-match__opt input:focus-visible + span{
outline:2px solid rgba(0,123,255,.45);
outline-offset:-2px;
}
.inscr-gestion-muted{
font-size:12px;
color:#6c757d;
margin-top:6px;
}
.inscr-gestion-actions .btn{
margin-bottom:8px;
}
.inscr-gestion-actions .btn:last-child{
margin-bottom:0;
}
.container:has(.inscr-gestion-page){
padding:12px !important;
}
.inscr-gestion-list-anchor{
scroll-margin-top:8px;
}
.inscr-gestion-pager .pagination{
margin-bottom:0;
}
.inscr-gestion-pager .page-link{
min-width:38px;
text-align:center;
}
@media (max-width:767px){
/* En-tete tabulaire sans objet quand la liste passe en cartes. */
.inscr-gestion-list-cols{
display:none;
}
.inscr-gestion-list-item{
grid-template-columns:1fr auto;
grid-template-areas:
"name arrow"
"race race"
"order bib"
"statut check";
gap:6px 10px;
padding:12px;
border-left:3px solid #c5d8f0;
margin:0;
border-radius:0;
}
.inscr-gestion-list > .inscr-gestion-list-item:nth-child(odd){
background:#f7faff;
}
.inscr-gestion-list-item__name{ grid-area:name; }
.inscr-gestion-list-item__race{
grid-area:race;
white-space:normal;
display:-webkit-box;
-webkit-line-clamp:2;
-webkit-box-orient:vertical;
}
.inscr-gestion-list-item__order{ grid-area:order; }
.inscr-gestion-list-item__bib{ grid-area:bib; text-align:left; }
.inscr-gestion-list-item__statut{ grid-area:statut; text-align:left; }
.inscr-gestion-list-item__check{ grid-area:check; text-align:left; }
.inscr-gestion-list-item__arrow{ grid-area:arrow; }
.inscr-gestion-remis-row__meta{
flex-basis:100%;
margin-left:0;
text-align:left;
}
.inscr-gestion-kv-row{
gap:3px;
padding:8px 0;
}
.inscr-gestion-kv-row__label{
flex:1 1 100%;
max-width:100%;
font-size:11px;
color:#adb5bd;
}
.inscr-gestion-kv-row__value{
flex:1 1 100%;
font-size:15px;
font-weight:500;
color:#212529;
}
.inscr-gestion-kv-list.inscr-gestion-fiche-card{
grid-template-columns:1fr;
margin:6px 8px;
padding:6px 8px;
}
.inscr-gestion-fiche-card .inscr-gestion-kv-row{
padding:6px 6px 7px;
}
.inscr-gestion-fiche-card .inscr-gestion-kv-row__value{
font-size:14px;
}
}
.promoteur-hub-card {
background-color: #fff;
border: 1px solid #dee2e6;
border-left: 5px solid #f3a566;
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}
.promoteur-hub-event-title {
color: #1f3b63;
font-weight: 600;
}
.promoteur-hub-card-icon {
flex-shrink: 0;
padding: 6px;
background-color: #fff;
border: 1px solid #f3a566;
border-radius: 6px;
}
.promoteur-hub-card-archived {
border-left-color: #adb5bd;
opacity: 0.78;
}
.promoteur-hub-card-archived .promoteur-hub-card-icon {
border-color: #ced4da;
filter: grayscale(40%);
}
.promoteur-hub-section-title {
color: #1f3b63;
border-bottom: 2px solid #f3a566;
display: inline-block;
padding-bottom: 4px;
}
.promoteur-hub-annonces .ms1-doc-trigger,
.promoteur-hub-annonces .btn-doc-trigger {
flex-shrink: 0;
}
.promoteur-hub-toggle-caret {
transition: transform 0.2s ease;
}
.promoteur-hub-toggle[aria-expanded="true"] .promoteur-hub-toggle-caret {
transform: rotate(180deg);
}
.promoteur-hub-functions {
border-top: 1px solid #e9ecef;
padding-top: 1rem;
}
/* MSIN-4473 — liens GESTION / RAPPORTS : mêmes coins que #module-bib .bib-tool-btn */
.promoteur-hub-link {
border-radius: 8px;
}
/* ===== Hub promoteur : resume flash (haut) + tuiles par epreuve (collapse) ===== */
.promoteur-hub-card-row {
align-items: stretch;
}
.promoteur-hub-card-flash {
margin-top: 0.6rem;
}
@media (min-width: 992px) {
.promoteur-hub-card-flash {
margin-top: 0;
display: flex;
flex-direction: column;
justify-content: center;
border-left: 1px dashed #e3c4a6;
}
}
.promoteur-hub-card-flash .promoteur-hub-flash {
margin-bottom: 0.5rem;
}
.promoteur-hub-card-flash .promoteur-hub-badges {
margin-bottom: 0;
}
.promoteur-hub-actions {
display: flex;
flex-wrap: wrap;
align-items: center;
}
.promoteur-hub-epreuves-collapse {
border-top: 1px solid #e9ecef;
padding-top: 0.9rem;
}
/* --- Bande flash --- */
.promoteur-hub-flash {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
background: linear-gradient(135deg, #fff7f0 0%, #fdeede 100%);
border: 1px solid #f3d6b8;
border-radius: 12px;
padding: 0.6rem 0.75rem;
margin-bottom: 0.6rem;
}
.phub-flash-item {
flex: 1 1 auto;
min-width: 72px;
text-align: center;
line-height: 1.1;
}
.phub-flash-num {
display: block;
font-size: 1.5rem;
font-weight: 700;
color: #1f3b63;
}
.phub-flash-lbl {
display: block;
font-size: 0.7rem;
text-transform: uppercase;
letter-spacing: 0.03em;
color: #8a6d52;
}
.phub-flash-main .phub-flash-num {
color: #e8821e;
font-size: 1.85rem;
}
/* MSIN-4451 — sous-ligne « N participants » sous le KPI épreuves vendues */
.phub-flash-sub {
display: block;
margin-top: 0.2rem;
font-size: 0.72rem;
font-weight: 600;
color: #6b7280;
letter-spacing: 0.01em;
text-transform: none;
}
/* --- Badges d'alerte --- */
.promoteur-hub-badges {
display: flex;
flex-wrap: wrap;
gap: 0.35rem;
margin-bottom: 0.6rem;
}
.phub-badge {
font-size: 0.72rem;
font-weight: 600;
padding: 0.2rem 0.55rem;
border-radius: 999px;
white-space: nowrap;
}
/* MSIN-4452 — pastilles alignées sur la bande flash (peach / navy), sans ton alerte agressif */
.phub-badge-danger { background: #f8e4df; color: #8f3d32; }
.phub-badge-warn { background: #fdeede; color: #8a5a2b; border: 1px solid #f3d6b8; }
.phub-badge-info { background: #e8f0fa; color: #1f3b63; }
.phub-badge-soft { background: #f3f1ee; color: #5a6570; }
/* --- Grille de tuiles par epreuve --- */
.promoteur-hub-epreuves-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
gap: 0.6rem;
}
.phub-epr-tile {
background: #fff;
border: 1px solid #e7ebf0;
border-left: 4px solid #adb5bd;
border-radius: 10px;
padding: 0.6rem 0.7rem;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
display: flex;
flex-direction: column;
}
.phub-epr-head {
margin-bottom: 0.35rem;
}
.phub-epr-titre {
display: block;
font-weight: 700;
color: #1f3b63;
font-size: 0.9rem;
line-height: 1.15;
}
.phub-epr-cat {
display: inline-block;
font-size: 0.68rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.02em;
color: #8a6d52;
}
.phub-epr-sub {
display: block;
font-size: 0.72rem;
color: #6b7785;
}
.phub-epr-big {
line-height: 1;
margin: 0.15rem 0 0.4rem;
}
.phub-epr-bignum {
font-size: 2.3rem;
font-weight: 800;
color: #1f3b63;
}
.phub-epr-max {
font-size: 1rem;
font-weight: 600;
color: #9aa6b2;
margin-left: 0.15rem;
}
.phub-epr-biglbl {
display: block;
font-size: 0.66rem;
text-transform: uppercase;
letter-spacing: 0.03em;
color: #8a93a0;
margin-top: 0.1rem;
}
.phub-epr-bar {
height: 8px;
background: #eef1f4;
border-radius: 999px;
overflow: hidden;
}
.phub-epr-bar > span {
display: block;
height: 100%;
border-radius: 999px;
background: #2f9e44;
transition: width 0.4s ease;
}
.phub-epr-barlbl {
font-size: 0.7rem;
color: #6b7785;
margin-top: 0.2rem;
}
.phub-epr-illimite {
color: #6b7785;
font-style: italic;
}
.phub-epr-chips {
display: flex;
flex-wrap: wrap;
gap: 0.3rem;
margin-top: 0.45rem;
}
.phub-chip {
font-size: 0.68rem;
font-weight: 600;
padding: 0.15rem 0.45rem;
border-radius: 6px;
background: #f1f4f7;
color: #45525f;
white-space: nowrap;
}
.phub-chip-prix { background: #e7f3ea; color: #1d6b32; }
.phub-chip-next { background: #fdecc8; color: #8a5a00; }
.phub-chip-checkin { background: #e2eefb; color: #1f5fb3; }
.phub-chip-attente { background: #efe6fb; color: #6b3fb3; }
/* --- Etats de remplissage (bordure + barre) --- */
.phub-etat-ok { border-left-color: #2f9e44; }
.phub-etat-attention { border-left-color: #f59f00; }
.phub-etat-attention .phub-epr-bar > span { background: #f59f00; }
.phub-etat-presque { border-left-color: #e8590c; }
.phub-etat-presque .phub-epr-bar > span { background: #e8590c; }
.phub-etat-complete { border-left-color: #b3261e; }
.phub-etat-complete .phub-epr-bar > span { background: #b3261e; }
.phub-etat-illimitee { border-left-color: #868e96; }
/* --- Produits en vente (sous les epreuves) --- */
.promoteur-hub-produits {
margin-top: 1rem;
padding-top: 0.9rem;
border-top: 1px dashed #e0e4ea;
}
.promoteur-hub-produits-title {
font-size: 0.75rem;
letter-spacing: 0.03em;
margin-bottom: 0.6rem;
}
.promoteur-hub-produits-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
gap: 0.6rem;
}
.phub-prod-tile {
background: #fff;
border: 1px solid #e7ebf0;
border-left: 4px solid #2f9e44;
border-radius: 10px;
padding: 0.6rem 0.7rem;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
display: flex;
flex-direction: column;
}
.phub-prod-nom {
display: block;
font-weight: 700;
color: #1f3b63;
font-size: 0.9rem;
line-height: 1.15;
}
.phub-prod-big {
line-height: 1;
margin: 0.25rem 0 0.1rem;
}
.phub-prod-num {
font-size: 2.1rem;
font-weight: 800;
color: #1f3b63;
}
.phub-prod-tot {
font-size: 1rem;
font-weight: 600;
color: #9aa6b2;
margin-left: 0.15rem;
}
.phub-prod-lbl {
display: block;
font-size: 0.66rem;
text-transform: uppercase;
letter-spacing: 0.03em;
color: #8a93a0;
margin-top: 0.1rem;
}
.phub-prod-tile.phub-etat-complete .phub-prod-num { color: #b3261e; }