html, body {
  font-family: "TW Cen MT", "Century Gothic", "Trebuchet MS", Arial, sans-serif;
  height: 100%;
}
*, *::before, *::after,
input, button, select, textarea {
  font-family: inherit;
}
table, th, td,
table.dataTable thead th,
table.dataTable tbody td,
.dataTables_scrollHead th {
  font-family: "TW Cen MT", "Century Gothic", "Trebuchet MS", Arial, sans-serif !important;
}


h1{font-size:138.5%;}h2{font-size:123.1%;}h3{font-size:108%;}h1,h2,h3{margin:1em 0;}h1,h2,h3,h4,h5,h6,strong,dt{font-weight:bold;}optgroup{font-weight:normal;}abbr,acronym{border-bottom:1px dotted #000;cursor:help;}em{font-style:italic;}del{text-decoration:line-through;}blockquote,ul,ol,dl{margin:1em;}ol,ul,dl{margin-left:2em;}ol li{list-style:decimal outside;}ul li{list-style:disc outside;}dl dd{margin-left:1px;}
th{font-weight:bold;text-align:center;}caption{margin-bottom:.5em;text-align:center;}sup{vertical-align:super;}sub{vertical-align:sub;}p,fieldset,table,pre{margin-bottom:1em;}input[type="checkbox"],input[type="radio"],input[type="reset"]{padding:1px;}
#main {background: #FFFFFF; min-height: 100%; }
* html #main { height:100%; }
a { color: black; }
html body #content .clear { clear: both; height: 1px; width: 1px; float: none; font-size: 0px; }
label { text-align: right; margin-right: 10px; float: left; }
.formElem, .formElemRadio, .formElemCheckbox {font-size: 12px; height: 30px; line-height: 30px;}
.formElemArea { height: 110px; }
.formElemLink { height: 20px; }
body .formElemGaranties { height: 110px; line-height: 100%; }
.formElemGaranties select { height: 100px; }
.formElem select {font-size: 12px;}
#donneesCadre .alerte { margin: 0px; padding: 1px 0px; }
form { clear: left; }
h1 { font-size:20px; }
body { font-size: 12px; color : #000D2E; font-weight : 500}
.erreurs3 { margin: 10px; color : #9A0000; font-weight : bold; clear: both; align-content:center;}

.succes2 { margin: 20px 20px; color: #1EB805;font-weight : bold; padding: 5px 5px 5px 30px; clear: both; align-content:center;}

.erreurs {  font-weight : bold; color : #9A0000; float: left; clear: both;background: url("/img/alerte.svg");background-repeat: no-repeat; background-size: 20px;background-position: left;}
.succes {  color: #1EB805;font-weight : bold; float: left; clear: both;  background: url("/img/cocheverte.svg"); background-repeat: no-repeat;background-size: 20px; background-position: left;}


.erreurs2 { text-align:center; color : #9A0000; font-weight : bold; margin-left : 25%;margin-right : 25%; margin-bottom : 10px;clear: both; background: url("/img/alerte.svg");background-repeat: no-repeat; background-size: 20px;background-position: left;}
.alerte { margin: 10px 0px; color:#9A0000;font-weight : bold; padding: 5px; float: left; clear: both; }
.succes2 ul li{list-style: none}
.erreurs3 ul li{list-style: none}
.succes ul li{list-style: none}
.erreurs ul li{list-style: none}
#header { background: #0067A1; height: 30px; font-size: 14px; clear: both;}
#header a { color: white; font-weight: bold; text-decoration: none; }
#header a:hover { text-decoration: underline; color: #9A0000; }
#header .menuElem { float: left; margin-right: 10px; }
#content { padding: 10px; clear: both; }
#contact {float: right; margin: 10px; text-align: right; margin-left: 0px; margin-right: 0px; }
#contact #contactMail { color: blue; }
#client { float: right; margin:10px }
/*#FormAssureur label, #FormCourtier label, #FormDg label, #FormEntreprise label,
#FormOublie label, #FormAutre label, #FormCopieIntervenant label,
#FormCouvre label { width: 120px; }*/
.form-group label { text-align: right; margin-right: 10px; float: left; width: 217px; }
#layout2 div{
    margin-top: 10px;
}

#layout2 #submitbutton{
    margin-left: 80px;
}

.form-group { height: 30px; line-height: 30px}

#filtreperiode .form-group
{
    margin: 10px;
}
select, option { z-index: -1; }

textarea { resize: none; }
#FormContrat #statutaire { width: auto; }

#FormEchangePR .formElem select { width: 280px; }
.formElem input { width: 240px; }

#FormQuestionConfiance .formElem select { width: 290px; }
#FormQuestionConfiance .formElem input { width: 287px; }

/*#FormContrat select { width: 206px; }*/
#FormNouvelleNormeEchangee select { width: 240px; }
.formElem input { width: 240px; }
.formElemArea textarea { height: 100px; width: 200px; }
.formElemArea label { margin-top: 4px; }
.formElem select { width: 240px; }
.formElem #submit { width: auto; }
.formElem #annulerFiltre { width: auto; }  /* httd 2019/09/19 ajoute */
.valide { color: red; }

.formElem label,
.formElemRadio .radio { width: 200px; }
.formElemRadio label { float: none; }
.formElemRadio .radio { float: left; }

.formElemCheckbox { height: auto; width: 130px;}
.formElem label, .formElemArea label,
.formElemCheckbox .checkbox { width: 200px; }
.formElemCheckbox label { float: none; }
.formElemCheckbox .checkbox { float: left; }

#FormContrat .formElem label,
#FormContrat .formElemRadio .radio { width: 190px; }
#FormContrat .formElemRadio label  { float: none; }
#FormContrat .formElemRadio .radio { float: left; }


.MenuDeroulant { margin: 0px; padding: 0px; z-index: 100; }
.MenuDeroulant .gris a { /*color: black;*/ }
.MenuDeroulant .bord { border-left: 1px solid white; }


.MenuDeroulant li { float: left; list-style: none; position: relative; z-index: 100; }
.MenuDeroulant li a { float: left; height: 20px; line-height: 20px; display: block; background: #0067A1; padding: 5px 12px; text-decoration: none; color: #0067A1; white-space: nowrap; z-index: 100; }
.MenuDeroulant li a:hover { background: #cfe6f3;color: #0067A1;}
.MenuDeroulant li ul { top: 30px; left: 0px; width: 205px; position: absolute; visibility: hidden; border-top: 1px solid white; margin: 0px; padding: 0px; z-index: 100; }
.MenuDeroulant li ul li { float: none; display: inline; z-index: 100; position: relative; }
.MenuDeroulant li ul li a { float: none; width: 205px; background: #0067A1; z-index: 100; }
.MenuDeroulant li ul li a:hover { background: #cfe6f3; color: #0067A1;}

.MenuDeroulant .titre { height: 20px; width: 217px; background: #0067A1; z-index: 100; display: block; line-height: 20px; padding: 5px 6px; font-weight: bold; color: #0067A1; background: #0067A1; }

#typesLien { clear: both; }

.navslide {float: left; position: absolute; top: 0px;  }
#alertes .prev {  left: 0px; }
#alertes .next { right: 0px;  }

#slides { margin: 0 20px; }

.bouton
{
    background: none repeat scroll 0 0 #EEEEEE;
    border: 1px solid #CCCCCC;
    color: #777777;
    padding: 2px 4px;
    text-decoration: none;
    font-size: 1.2em;
}

.bouton:hover
{
    background: #DDDDDD;
    color: black;
    border: 1px solid #777777;
}


.ui-button-text-only .ui-button-text { padding: 2px 8px; }
input.ui-button { padding: 2px 5px; }
.ui-button span { font-size: 14px; }

form .edit { margin-left: 5px; cursor: pointer; }

#alertes .rouge { color: red; font-weight: bold; }


#gbx_overlay {
    background: none repeat scroll 0 0 #000000;
    display: none;
    height: 100%;
    left: 0;
    margin: 0;
    opacity: 0.7;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 2999;
    filter: alpha(opacity = 70);
    zoom: 1;
}
#motdepasseexpire div
{
    margin: 10px;
}
#frise { position: relative; margin: 10px 0px; height: 60px; }
#frise a p:hover { text-decoration: underline; }
#frise .elemfrise { background: url('../images/frise.png') no-repeat; width: 158px; height: 54px; float: left; position: relative; }
#frise .elemfriseactif { background: url('../images/frise_actif.png') no-repeat; width: 158px; height: 60px; float: left; position: relative;  }
#frise .textefrise { display: table; margin: 0 auto; width: 90px; font-weight: bold; text-align: center; height: 54px; }
#frise .textefrise p { vertical-align: middle; display: table-cell; margin: 0; }

#submitbutton:hover {
    background: white;
    color : #0067A1;
}
#submitbutton
{
    background: #0067A1;
    color: white;
    border: 1px solid #0067A1;
    width: 150px;
}
table {
    border: none;
    border-collapse: collapse;
}

table td,
table th {
    border: none;
}

#accueil_graphique
{
    text-align:center;
}
#accueil_graphique .graphique_dsn{
    align-items: stretch;display: flex;
}
#accueil_graphique .graphique_dsn div{
    width: 50%;
}
#accueil_graphique .graphique_siren{
    align-items: stretch;display: flex;
}
#accueil_graphique .graphique_siren div{
    width: 50%;
}
.graphique_erreur ul li{list-style: none}
.graphique_erreur{
    color : red;
    font-family: 'TW Cen MT';
}



/* Table de formulaire*/
/* Table centrée, colonnes stables */
.form-table{
  border-collapse: separate;
  border-spacing: 0 2px; /* espace vertical entre lignes */
  font-size: 12px;
}

/* colonne label */
.form-table td:first-child{
  width: 180px;
  text-align: right;
  padding-right: 10px;
  white-space: nowrap;
  vertical-align: middle;
}

/* colonne champ */
.form-table td:nth-child(2){
  width: 240px;          /* ✅ largeur des champs */
  vertical-align: middle;
}

/* colonne erreurs (si présente) */
.form-table td:nth-child(3){
  width: 240px;
  padding-left: 12px;
  vertical-align: middle;
}

/* Wrapper */
.form-table .formElem{
  width: 240px;          /* même que td(2) */
}

/* Tous les champs */
.form-table input,
.form-table select,
.form-table textarea{
  width: 100% !important;
  height: 25px;          /* ✅ hauteur uniforme */
  box-sizing: border-box;
  padding: 4px 10px;
  border: 1px solid #777;
  border-radius: 4px;
  background: #fff;
}

/* Focus plus clean */
.form-table input:focus,
.form-table select:focus,
.form-table textarea:focus{
  outline: none;
  border-color: #2b6cb0;
}

/* Bouton : même largeur que les champs (pas full page) */
.form-table .submit{
  width: 240px;
}
.form-table .submit input,
.form-table .submit button{
  width: 100% !important;
  height: 25px;
  padding: 0 10px;        /* ✅ pas de padding vertical */
  line-height: 23px;      /* ✅ centre vertical du texte */
  border-radius: 4px;
}

/* Bouton export comme un lien (image 1) */
.btn-export-link{
  background: transparent;
  border: 0;
  padding: 0;
  margin: 0;

  color: #000;
  text-decoration: underline;
  font: inherit;          /* garde la même police que la page */
  cursor: pointer;
}

/* Hover (optionnel) */
.btn-export-link:hover{
  opacity: .85;
}

/* Focus accessible au clavier */
.btn-export-link:focus{
  outline: 2px solid #000;
  outline-offset: 2px;
}
/* Bouton export comme un lien (image 1) */

.header-accueil {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 10px;
}

.header-accueil h1,
.header-accueil h2 {
    margin: 0;
}

.badge-traitement {
    margin-left: auto;
    font-size: 14px;
    font-weight: 600;
    color: #8a3d00;
    background: linear-gradient(135deg, #fff4e6, #ffe8cc);
    border: 1px solid #ffb366;
    border-radius: 999px;
    padding: 10px 22px;
    white-space: nowrap;
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
}

.spinner-traitement {
    width: 14px;
    height: 14px;
    border: 3px solid #ffd8a8;
    border-top: 3px solid #ff8c00;
    border-radius: 50%;
    animation: spinTraitement 0.8s linear infinite;
    flex-shrink: 0;
}

.alerte-traitement {
    animation: pulseBadge 1.8s infinite;
}

@keyframes spinTraitement {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

@keyframes pulseBadge {
    0% {
        box-shadow: 0 0 0 0 rgba(255, 140, 0, 0.35);
    }
    70% {
        box-shadow: 0 0 0 10px rgba(255, 140, 0, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(255, 140, 0, 0);
    }
}