
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100&family=Roboto:ital,wght@0,100;1,100&display=swap');



body {
    font-family: "Roboto", serif;
    background-color: #ffffff;
    margin: 0;
    padding: 0;
    color: #333333; /* Couleur par défaut du texte */
	display: flex;
    flex-direction: column;
    min-height: 100vh;
}


h1, h2, h3, h4, h5{
    font-weight: 900;
    font-size: 2.5rem;
    color: #222222;
}
h6 {
	margin: 0;
	margin-top: 20px;
    font-weight: 100;
    font-size: 2rem;
    color: #222222;
}

p {
    line-height: 1.6;
    margin: 0.5em 0;
    font-weight: 300;
}


.Normal {
  font-family: "Roboto", serif;
  font-optical-sizing: auto;
  font-weight: 100;
  font-style: normal;
  font-size: 2.5rem;
  font-variation-settings:
    "wdth" 100;
}

#NomCopro {
  width: 100%;
  max-width: 600px;
  margin-top: 25px;
  font-family: "Roboto", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 2.0rem !important;
  margin: 0 auto;
  margin-top : 15px;

}
#NomCopro2 {
	  width: 100%;
  max-width: 600px;
  margin-top: 25px;
  font-family: "Roboto", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 1.5rem !important;
  margin: 0 auto;
    margin-top : 15px;

}
#NomCopro3 {
	  width: 100%;
  max-width: 600px;
  margin-top: 25px;
  font-family: "Roboto", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 1.2rem !important;
  color: #6658d3;
  margin: 0 auto;
    margin-top : 15px;

}
#NomCopro4 {
	  width: 100%;
  max-width: 600px;
  margin-top: 10px;
  font-family: "Roboto", serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
  font-size: 1rem !important;
  margin: 0 auto;
    margin-top : 15px;

}

a {
    color: #007BFF;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}


.container {
    max-width: 100%;
    margin: 0 auto;
}
#container-form {
	width: 100%;
    max-width: 600px;
    margin: 0 auto;
}

/* Layout des div principales */
header {
    background-color: #fff;
    padding: 5px;
    text-align: center;
    position: sticky;
    top: 0;
    z-index: 1000;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

main {
    flex: 1;
	text-align: center;
}


footer {  padding: 10px; text-align: center; display: block; }

    #main-box {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; /* Permet de passer les divs à la ligne si nécessaire */
    }

    #box1, #box2 {
      width: 50%; 
	  padding: 10px;
      text-align: center;
	  box-sizing: border-box;
	  font-family: "Roboto", serif;
	  font-optical-sizing: auto;
	  font-weight: 100;
	  font-style: normal;
	  font-size: 1rem;
    }

    @media (max-width: 768px) {
      #box1, #box2 {
        width: 100%; /* Sur petits écrans, les divs prennent toute la largeur */
      }
    }

/*

.btn-1 {
  width: 300px;
  min-width: 300px;
  max-width: 300px;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  margin: 0 auto;
  margin-top: 20px;
  margin-bottom: 20px;

}

.btn-1 a {
    width: 200px;
  min-width: 200px;
  max-width: 200px;
  text-decoration: none;
  border: 2px solid #010100;
  padding: 15px;
  color: #000;
  text-transform: uppercase;
  letter-spacing: 2px;
  position: relative;
  display: inline-block;
}

span {
  position: relative;
  z-index: 3;
}

.btn-1 a::before {
  content: "";
  position: absolute;
  top: 5px;
  left: -2px;
  width: calc(100% + 6px);
  height: calc(100% - 10px);
  background-color: #ffffff;
  transition: all 0.5s ease-in-out;
  transform: scaleY(1);
}

.btn-1 a:hover::before {
  transform: scaleY(0);
}

.btn-1 a::after {
  content: "";
  position: absolute;
  left: 5px;
  top: -5px;
  width: calc(100% - 10px);
  height: calc(100% + 10px);
  background-color: #ffffff;
  transition: all 0.5s ease-in-out;
  transform: scaleX(1);
}


.btn-1 a:hover::after {
  transform: scaleX(0);
}
*/

.btn {
    display: inline-block; /* Nécessaire pour styliser comme un bouton */
    width: 250px;
    height: 50px;
    line-height: 50px; /* Aligne le texte verticalement */
    text-align: center; /* Aligne le texte horizontalement */
    border: 1px solid #000;
    border-radius: 8px;
    background-color: #fff;
    color: #000;
    text-decoration: none; /* Supprime le soulignement */
    font-size: 16px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.btn:hover {
    background-color: #f0f0f0;
    color: #333;
    border-color: #333;
}

#div_inscription {
	width: 600px;
	margin : 0 auto;
	
}
@media (max-width: 768px) {
      #div_inscription {
        width: 99%; /* Sur petits écrans, les divs prennent toute la largeur */
      }
    }




// iOS Reset 
input {
	appearance: none;
	border-radius: 0;
}


.input {
	
	display: flex;
	flex-direction: column-reverse;
	position: relative;
	padding-top: 1.5rem;
	&+.input {
		margin-top: 1.5rem;
	}
}

.input-label {
	color: #8597a3;
	position: absolute;
	top: 1.5rem;
	transition: .25s ease;
	font-weight: 900;
	font-size: 16px;
}

.input-field {
	border: 0;
	z-index: 1;
	background-color: transparent;
	border-bottom: 2px solid #eee; 
	font: inherit;
	font-size: 1.125rem;
	padding: .25rem 0;
	&:focus, &:valid {
		outline: 0;
		border-bottom-color: #6658d3;
		&+.input-label {
			color: #6658d3;
			transform: translateY(-1.5rem);
		}
	}
}

.input textarea.input-field {
    resize: none; /* Empêche le redimensionnement */
    min-height: 4rem;
	    padding: .25rem 0;
}

.input textarea.input-field:focus,
.input textarea.input-field:not(:placeholder-shown) {
    outline: 0;
    border-bottom-color: #6658d3;
}

.input textarea.input-field:focus + .input-label,
.input textarea.input-field:not(:placeholder-shown) + .input-label {
    color: #6658d3;
    transform: translateY(-1.5rem);
}

.action {
	margin-top: 2rem;
}

.action-button {
	font: inherit;
	font-size: 1.25rem;
	padding: 1em;
	width: 100%;
	font-weight: 500;
	background-color: #6658d3;
	border-radius: 6px;
	color: #FFF;
	border: 0;
	&:focus {
		outline: 0;
	}
}

.card-info {
	padding: 1rem 1rem;
	text-align: center;
	font-size: .875rem;
	color: #8597a3;
	a {
		display: block;
		color: #6658d3;
		text-decoration: none;
	}
}


.link-button {
	font: inherit;
	font-size: 1.25rem;
	padding: 1em;
	font-weight: 500;
	background-color: #6658d3;
	border-radius: 6px;
	color: #FFF;
	cursor: pointer;
	border: 0;
	&:focus {
		outline: 0;
	}
}

.form-container {
	width: 99%;
	max-width: 500px;
	margin: 0 auto;
	
}

/* CSS */
.buttonCopro {
  appearance: button;
  backface-visibility: hidden;
  background-color: #405cf5;
  border-radius: 6px;
  border-width: 0;
  box-shadow: rgba(50, 50, 93, .1) 0 0 0 1px inset,rgba(50, 50, 93, .1) 0 2px 5px 0,rgba(0, 0, 0, .07) 0 1px 1px 0;
  box-sizing: border-box;
  color: #fff;
  cursor: pointer;
  font-family: -apple-system,system-ui,"Segoe UI",Roboto,"Helvetica Neue",Ubuntu,sans-serif;
  font-size: 100%;
  height: 44px;
  line-height: 1.15;
  margin: 12px 0 0;
  outline: none;
  overflow: hidden;
  padding: 0 25px;
  position: relative;
  text-align: center;
  text-transform: none;
  transform: translateZ(0);
  transition: all .2s,box-shadow .08s ease-in;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
  width: 100%;
}

.buttonCopro:disabled {
  cursor: default;
}

.buttonCopro:focus {
  box-shadow: rgba(50, 50, 93, .1) 0 0 0 1px inset, rgba(50, 50, 93, .2) 0 6px 15px 0, rgba(0, 0, 0, .1) 0 2px 2px 0, rgba(50, 151, 211, .3) 0 0 0 4px;
}


#tickets-container-main {
    max-height: 500px; /* Ajuste selon ton besoin */
    overflow-y: auto;
}

.ticket-container {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    font-family: "Roboto", serif;
    font-optical-sizing: auto;
    font-weight: 100;
    font-style: normal;
    font-size: 1rem;
}

.ticket {
    display: flex;
    border-bottom: 1px solid #ccc;
}

.ticket.header {
    font-weight: bold;
    background: #f4f4f4;
}

.col1 {
    width: 75px;
	height: 22px;
    padding: 8px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.col2 {
    width: 150px;
	height: 22px;
    padding: 8px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.col2-5 {
    width: 50px;
	height: 22px;
    padding: 8px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.col3 {
    width: 400px;
	height: 22px;
    padding: 8px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.col4 {
    width: 100px;
	height: 22px;
    padding: 8px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.col5 {
    width: 100px;
	height: 38px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.col6 {
    width: 150px;
	height: 22px;
    padding: 8px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.col7 {
    width: 150px;
	height: 38px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}


/* ===== Tickets en cartes (2 lignes) ===== */
.ticket-list{
  width:100%;
  max-width:1400px;
  margin:0 auto;
  padding:4px 8px;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.ticket-card{
  border:1px solid #e5e7eb;
  border-radius:10px;
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
  overflow:hidden;
  transition: transform .12s ease, box-shadow .12s ease;
}
.ticket-card:hover{
  transform: translateY(-1px);
  box-shadow:0 6px 18px rgba(0,0,0,.08);
}

.ticket-link{ /* rend toute la carte cliquable */
  display:block;
  color:inherit;
  text-decoration:none;
  padding:10px 12px;
}

.trow{
  display:grid;
  gap:8px 12px;
}

.trow-1{
  /* Ligne 1: #, Nom, Cat, Intervention, Statut */
  grid-template-columns: 80px minmax(120px,220px) 44px 1fr max-content;
  align-items:center;
  padding-bottom:6px;
  border-bottom:1px dashed #eee;
}

.trow-2{
  /* Ligne 2: Date, Accepté, Fin, Prestataire */
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  padding-top:6px;
}

/* Petits libellés en ligne 2 */
.field .label{
  display:block;
  font-size:.75rem;
  color:#8597a3;
  line-height:1.1;
  margin-bottom:2px;
}
.field .value{
  font-size:.95rem;
  font-weight:500;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Colonnes ligne 1 */
.tid{ font-weight:800; text-align:left; }
.tname{ font-weight:700; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tcat{ text-align:center; font-size:1.2rem; line-height:1; }
.tinterv{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tstatus{ justify-self:end; }

/* Badges statut */
.badge{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:108px; height:28px; padding:0 10px;
  border-radius:999px; font-weight:800; font-size:.85rem;
  border:1px solid rgba(0,0,0,.08);
}
.status-1{ background:#ff7043; color:#000; }   /* Non validé */
.status-2{ background:#f1c40f; color:#000; }   /* En attente */
.status-3{ background:#2e86c1; color:#000; }   /* En cours */
.status-4{ background:#28b463; color:#000; }   /* Clôturé */

/* Accessibilité hover */
.ticket-link:focus-visible{
  outline:3px solid #6658d3;
  outline-offset:2px;
  border-radius:8px;
}

/* ===== Responsive ===== */
@media (max-width: 900px){
  .trow-1{
    grid-template-columns: 64px minmax(120px,1fr) 40px max-content;
  }
  .tinterv{ grid-column: 2 / -1; } /* Intervention passe à la ligne en 900- */
}

@media (max-width: 640px){
  .trow-1{
    grid-template-columns: 58px 1fr max-content;
  }
  .tcat{ display:none; }            /* On cache l’icône cat sur très petits écrans */
  .tinterv{ grid-column: 1 / -1; }  /* Intervention prend toute la ligne */
  .trow-2{
    grid-template-columns: 1fr 1fr; /* On passe à 2 colonnes */
    row-gap:10px;
  }
}


/* ===== Ligne 1: on ajoute la colonne COPRO ===== */
/* Desktop / large */
.trow-1{
  grid-template-columns: 80px                    /* # */
                        minmax(140px,220px)      /* Copro */
                        minmax(140px,220px)      /* Nom */
                        44px                     /* Cat */
                        1fr                      /* Intervention */
                        max-content;             /* Statut */
  align-items:center;
}
.tcopro{
  font-weight:600;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}

/* Garde le badge tout à droite */
.tstatus{ justify-self:end; }

/* ===== Breakpoint ~900px ===== */
@media (max-width: 900px){
  .trow-1{
    grid-template-columns: 64px minmax(120px,1fr) 40px max-content;
    grid-template-areas:
      "tid tcopro tcat tstatus"
      "tname tname tname tstatus"
      "tinterv tinterv tinterv tstatus";
  }
  .tid{ grid-area: tid; }
  .tcopro{ grid-area: tcopro; }
  .tname{ grid-area: tname; }
  .tcat{ grid-area: tcat; text-align:center; }
  .tinterv{ grid-area: tinterv; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .tstatus{ grid-area: tstatus; justify-self:end; align-self:start; }
}

/* ===== Mobile <=640px : badge reste à droite, clair et compact ===== */
@media (max-width: 640px){
  .trow-1{
    grid-template-columns: 1fr max-content;
    grid-template-areas:
      "tid     tstatus"
      "tcopro  tstatus"
      "tname   tstatus"
      "tinterv tstatus";
    align-items:start;
    row-gap: 4px;
  }
  .tcat{ display:none; } /* cache l’icône de catégorie sur très petit écran */

  .tid{ grid-area: tid; }
  .tcopro{ grid-area: tcopro; }
  .tname{ grid-area: tname; }
  .tinterv{ grid-area: tinterv; white-space:normal; } /* on autorise le retour à la ligne */
  .tstatus{
    grid-area: tstatus;
    justify-self: end;  /* ✅ reste à droite */
    align-self: start;
  }

  /* Ligne 2 en 2 colonnes (lisible) */
  .trow-2{
    grid-template-columns: 1fr 1fr;
    row-gap: 10px;
  }
}

/* Option: encore plus compact sous 380px */
@media (max-width: 380px){
  .trow-2{ grid-template-columns: 1fr; } /* chaque champ sur sa ligne */
}
