body{
margin:0;
font-family:'Inter',sans-serif;
background:url("../public/fireworks.jpg") center/cover no-repeat fixed;
color:white;
display:flex;
}



/* couche sombre transparente */

.sidebar{
width:250px;
min-height:100vh;


top:0;
left:0;

background:linear-gradient(
180deg,
rgba(25,30,60,0.6),
rgba(15,18,35,0.7)
);

backdrop-filter:blur(20px);
-webkit-backdrop-filter:blur(20px);

border-right:1px solid rgba(255,255,255,0.18);

padding:30px;

position:relative;
z-index:3;
}




/* MAIN */

.main{
flex:1;
padding:40px;


background:linear-gradient(
90deg,
rgba(10,15,30,0.70),
rgba(10,15,30,0.92)
);

backdrop-filter:blur(16px);
-webkit-backdrop-filter:blur(16px);

position:relative;
z-index:2;
}
.main h1{
font-weight:500;
}

/* DASHBOARD */

.cards{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:25px;
margin-top:30px;
}
.card{
background:rgba(255,255,255,0.06);
backdrop-filter:blur(20px);
border-radius:16px;
padding:25px;
border:1px solid rgba(255,255,255,0.15);
box-shadow:0 10px 30px rgba(0,0,0,0.4);
transition:all 0.25s ease;
}

.card:hover{
transform:translateY(-4px);
background:rgba(255,255,255,0.10);
}

/* COULEURS */

.red{
color:#ef4444;
}

.orange{
color:#f59e0b;
}

.green{
color:#22c55e;
}
.logo-container{
width:100%;
display:flex;
justify-content:center;
margin-bottom:40px;
}

.logo{
width:180px;
}

/* PROJETS */

.projects-header{
display:flex;
justify-content:space-between;
align-items:center;

margin-bottom:20px;
}

.btn-new-project{
background:rgba(255,255,255,0.1);
border:1px solid rgba(255,255,255,0.2);
color:white;
padding:10px 18px;
border-radius:10px;
cursor:pointer;
backdrop-filter:blur(10px);
transition:0.2s;
}

.btn-new-project:hover{
background:rgba(255,255,255,0.2);
}

.projects-table{
background:rgba(255,255,255,0.05);
backdrop-filter:blur(15px);
border-radius:16px;
padding:20px;
border:1px solid rgba(255,255,255,0.1);
}

table{
width:100%;
border-collapse:collapse;
color:white;
}

th{
text-align:left;
padding:12px;
font-weight:500;
border-bottom:1px solid rgba(255,255,255,0.1);
}

td{
padding:12px;
border-bottom:1px solid rgba(255,255,255,0.05);
}

/* MODAL */

.modal{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
display:none;
justify-content:center;
align-items:center;
background:rgba(0,0,0,0.6);
z-index:1000;
}

.modal-content{
width:420px;
background:rgba(20,25,40,0.6);
backdrop-filter:blur(20px);
padding:30px;
border-radius:16px;
border:1px solid rgba(255,255,255,0.1);
color:white;
}

.form-group{
margin-bottom:15px;
display:flex;
flex-direction:column;
}

.form-group label{
margin-bottom:15px;
font-size:14px;
opacity:0.8;
}

.form-group input,
.form-group select{
padding:10px;
border-radius:8px;
border:1px solid rgba(255,255,255,0.2);
background:rgba(255,255,255,0.05);
color:white;
}

.modal-buttons{
display:flex;
justify-content:flex-end;
gap:10px;
margin-top:20px;
}

.btn-cancel{
background:rgba(255,255,255,0.1);
border:1px solid rgba(255,255,255,0.2);
padding:10px 15px;
border-radius:8px;
color:white;
cursor:pointer;
}

.btn-create{
background:#ff2c70;
border:none;
padding:10px 15px;
border-radius:8px;
color:white;
cursor:pointer;
}

.projects-table td,
.projects-table th{
text-align:center;
vertical-align:middle;
}

.projects-table tr{
border-bottom:1px solid rgba(255,255,255,0.08);
}

.projects-table tbody tr:hover{
background:rgba(255,255,255,0.05);
}

.projects-summary{
margin-top:25px;
display:flex;
gap:20px;
flex-wrap:wrap;
}

.summary-item{
padding:12px 18px;
border-radius:10px;
background:rgba(255,255,255,0.05);
border:1px solid rgba(255,255,255,0.1);
font-weight:500;
}

.summary-item.todo{
color:#bbbbbb;
}

.summary-item.progress{
color:#ff2c70;
}

.summary-item.accepted{
color:#27d17f;
}

.summary-item.refused{
color:#ff4c4c;
}

/* LIEN PROJET CLIQUABLE */

.project-link{
cursor:pointer;
transition:all 0.2s ease;
font-weight:500;
}

/* HOVER */

.project-link:hover{

transform:scale(1.05);
color:#ff4d9d;

}

/* LIGNE DU TABLEAU */

tr{
transition:all 0.2s ease;
}

tr:hover{

background:rgba(255,255,255,0.05);
transform:scale(1.01);

}

.project-page{
padding:40px;
}

.project-grid{
display:grid;
grid-template-columns: 3fr 1fr;
gap:30px;
}

.card{
background: rgba(20,20,30,0.55);
backdrop-filter: blur(14px);
-webkit-backdrop-filter: blur(14px);

border:1px solid rgba(255,255,255,0.08);

border-radius:12px;
padding:30px;

box-shadow:0 10px 40px rgba(0,0,0,0.35);

margin-bottom:25px;
}

.card h2{
margin-bottom:20px;
font-size:16px;
letter-spacing:1px;
text-transform:uppercase;
}

.card h3{
margin-bottom:20px;
letter-spacing:1px;
font-size:14px;
opacity:0.7;
}

.form-row{
display:flex;
justify-content:space-between;
margin-bottom:12px;
}

.form-row input{
width:180px;
padding:6px;
border-radius:4px;
border:none;
background:rgba(255,255,255,0.1);
color:white;
}

.calc-row{
display:flex;
justify-content:space-between;
padding:10px 0;
border-bottom:1px solid rgba(255,255,255,0.08);
font-size:15px;
}

.calc-card{
padding:30px;
border-radius:12px;
background:rgba(20,20,30,0.6);
backdrop-filter:blur(8px);
}

.calc-card h3{
font-size:18px;
margin-bottom:20px;
letter-spacing:1px;
}



.calc-row{
display:flex;
justify-content:space-between;
align-items:center;
padding:10px 0;
border-bottom:1px solid rgba(255,255,255,0.08);
font-size:20px;
}

.calc-row:last-child{
margin-bottom:0;
}

.calc-row span:last-child{
font-weight:600;
font-size:20px;
}

.calc-row.highlight{
margin-top:12px;
padding-top:14px;
border-top:1px solid rgba(255,255,255,0.15);
}

.calc-title{
font-size:18px;
font-weight:600;
margin-bottom:20px;
letter-spacing:1px;
}

.benef{
color:#5cff9f;
font-weight:bold;
}

.marge{
font-weight:bold;
}

.projects-table tr:hover{
background: rgba(255,255,255,0.05);
}

.info-grid{
display:flex;
flex-direction:column;
gap:12px;
margin-top:15px;
}

.info-row{
display:flex;
align-items:center;
gap:40px;
margin-bottom:12px;
}

.info-label{
width:120px;
opacity:0.6;
}

.info-value{
font-weight:600;
}
.budget-box{
margin-top:15px;
display:flex;
flex-direction:column;
gap:12px;
}

.budget-row{
display:flex;
align-items:center;
gap:40px;
padding:10px 0;
}

.budget-row span:first-child{
width:120px;
opacity:0.6;
}

.budget-row span:last-child{
font-size:18px;
font-weight:600;
}

.marge-vert{
color:#3cff88;
font-weight:600;
}

.marge-orange{
color:#ffb347;
font-weight:600;
}

.marge-rouge{
color:#ff5c5c;
font-weight:600;
}

/* supprimer flèches input number */

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
-webkit-appearance: none;
margin: 0;
}

input[type=number] {
-moz-appearance: textfield;
}

/* ============================= */
/* TABLEAU ÉQUIPE ARTIFICIERS */
/* ============================= */

.team-card{
margin-top:40px;
}

.team-table{
width:100%;
border-collapse:collapse;
margin-top:10px;
}

.team-table th{
text-align:left;
padding:14px 0;
font-size:13px;
letter-spacing:1px;
color:rgba(255,255,255,0.65);
border-bottom:1px solid rgba(255,255,255,0.12);
}

.team-table td{
padding:12px 0;
border-bottom:1px solid rgba(255,255,255,0.06);
position:relative;
}


/* ============================= */
/* SELECT MODERN */
/* ============================= */

.team-table select{

background:rgba(255,255,255,0.06);

border:1px solid rgba(255,255,255,0.15);

color:white;

padding:6px 30px 6px 12px;

border-radius:6px;

font-size:13px;

outline:none;

cursor:pointer;

transition:all 0.2s ease;

appearance:none;
-webkit-appearance:none;
-moz-appearance:none;

min-width:120px;

}


.team-table select:hover{
border-color:rgba(255,255,255,0.35);
background:rgba(255,255,255,0.09);
}

.team-table select:focus{
border-color:#ff2c70;
box-shadow:0 0 0 2px rgba(255,44,112,0.25);
}


/* flèche custom */

.team-table select{

background:rgba(255,255,255,0.06);
border:1px solid rgba(255,255,255,0.15);

color:white;

padding:6px 12px;

border-radius:6px;

font-size:16px;

outline:none;

cursor:pointer;

transition:all 0.2s ease;

}


/* colonnes résultats */

.team-table .qualification,
.team-table .cout-client,
.team-table .salaire-net{

font-weight:500;

color:rgba(255,255,255,0.9);

}

.project-actions{
display:flex;
justify-content:flex-end;
margin-bottom:20px;
}




.project-save-btn{

padding:14px 28px;

font-size:18px;

font-weight:500;

letter-spacing:0.3px;

color:white;

border-radius:14px;

background:rgba(255,255,255,0.08);

border:1px solid rgba(255,255,255,0.15);

backdrop-filter:blur(12px);

cursor:pointer;

transition:all 0.25s ease;

box-shadow:0 8px 30px rgba(0,0,0,0.3);

}

.project-save-btn:hover{

background:rgba(255,255,255,0.18);

border:1px solid rgba(255,255,255,0.35);

transform:translateY(-2px);

}

/* ========================= */
/* SAVE PROJECT */
/* ========================= */

/* HEADER ACTIONS */

/* SAVE BAR */

.save-container{

display:flex;

justify-content:flex-end;

align-items:center;

gap:12px;

margin-bottom:20px;

}

/* MESSAGE */

.save-message{

font-size:14px;

color:#57ffa0;

font-weight:500;

opacity:0;

transition:opacity 0.25s ease;

white-space:nowrap;

}

.save-message.visible{
opacity:1;
}

/* POPUP SAVE */

.save-popup{

position:fixed;

top:40px;
left:50%;

transform:translateX(-50%) scale(0.9);

padding:16px 28px;

background:rgba(20,30,40,0.55);

border:1px solid rgba(255,255,255,0.2);

border-radius:14px;

backdrop-filter:blur(14px);

-webkit-backdrop-filter:blur(14px);

color:#67ffb0;

font-size:15px;

font-weight:500;

letter-spacing:0.3px;

opacity:0;

transition:all 0.35s ease;

z-index:9999;

box-shadow:0 15px 40px rgba(0,0,0,0.45);

}

/* état visible */

.save-popup.show{

opacity:1;

transform:translateX(-50%) scale(1);

}

#projects-list tr {
cursor: pointer;
}

#projects-list td[contenteditable="true"] {
cursor: text;
}

.delete-btn{
background:rgba(255,60,60,0.15);
border:1px solid rgba(255,60,60,0.4);
}

.delete-btn:hover{
background:rgba(255,60,60,0.25);
}

.projects-header{
display:flex;
justify-content:flex-end;
margin-bottom:20px;
}

.projects-actions{
display:flex;
gap:10px;
align-items:center;
}

.project-btn{

padding:10px 18px;

font-size:14px;

color:white;

border-radius:10px;

background:rgba(255,255,255,0.1);

border:1px solid rgba(255,255,255,0.2);

cursor:pointer;

backdrop-filter:blur(10px);

transition:all 0.2s ease;

margin-top: 20px;
display: inline-block;

}

.project-btn:hover{

background:rgba(255,255,255,0.2);

transform:translateY(-1px);

}

.delete-btn{

background:rgba(255,60,60,0.15);
border:1px solid rgba(255,60,60,0.4);

}

.delete-btn:hover{

background:rgba(255,60,60,0.25);

}

#projects-list tr{
cursor:pointer;
}

#projects-list td[contenteditable="true"]{
cursor:text;
background:rgba(255,255,255,0.05);
border-radius:6px;
}

/* ============================= */
/* CHAMPS MODE EDITION PROJETS */
/* ============================= */

.projects-table input,
.projects-table select{

font-family: inherit;
font-size:15px;
font-weight:500;

color:white;

background:rgba(255,255,255,0.06);
border:1px solid rgba(255,255,255,0.15);

padding:6px 10px;

border-radius:6px;

outline:none;

transition:all 0.2s ease;

backdrop-filter:blur(6px);

}

/* HOVER */

.projects-table input:hover,
.projects-table select:hover{

border-color:rgba(255,255,255,0.35);
background:rgba(255,255,255,0.09);

}

/* FOCUS */

.projects-table input:focus,
.projects-table select:focus{

border-color:#ff2c70;
box-shadow:0 0 0 2px rgba(255,44,112,0.25);

}

/* DATE */

.projects-table input[type="date"]{

color:white;
letter-spacing:0.3px;

}

/* BUDGET */

.edit-budget{

width:110px;
text-align:right;

}

/* STATUT */

.edit-status{

min-width:140px;
appearance:none;
-webkit-appearance:none;
-moz-appearance:none;

}

/* CELLS EDITABLES */

td[contenteditable="true"]{

font-family:inherit;
font-size:15px;
font-weight:500;

background:rgba(255,255,255,0.05);

border-radius:6px;

padding:6px 10px;

}

/* ============================= */
/* CHAMPS EDITION PROJETS */
/* ============================= */

.projects-table input,
.projects-table select{

font-family: inherit;

font-size:16px;
font-weight:500;

color:white;

background:rgba(255,255,255,0.06);

border:1px solid rgba(255,255,255,0.15);

padding:10px 14px;

border-radius:8px;

outline:none;

transition:all 0.2s ease;

backdrop-filter:blur(6px);

}

/* HOVER */

.projects-table input:hover,
.projects-table select:hover{

border-color:rgba(255,255,255,0.35);
background:rgba(255,255,255,0.09);

}

/* FOCUS */

.projects-table input:focus,
.projects-table select:focus{

border-color:#ff2c70;

box-shadow:0 0 0 2px rgba(255,44,112,0.25);

}

/* DATE */

.projects-table input[type="date"]{

font-size:16px;
text-align:center;

}

/* STATUT */

.edit-status{

font-size:16px;

min-width:160px;

text-align:center;

appearance:none;
-webkit-appearance:none;
-moz-appearance:none;

}

/* BUDGET */

.edit-budget{

width:120px;

font-size:16px;

text-align:center;

}

/* CENTRAGE COLONNES */

.projects-table td:nth-child(6){
text-align:center;
}

.projects-table td:nth-child(7){
text-align:center;
}

/* CELLS EDITABLES */

td[contenteditable="true"]{

font-family:inherit;

font-size:16px;
font-weight:500;

background:rgba(255,255,255,0.05);

border-radius:8px;

padding:10px 14px;

}

.btn-back{

margin-right:10px;

}

.project-actions{

position:absolute;

top:30px;
right:40px;

display:flex;

gap:12px;

}

/* SELECT STYLE GLASS */

select{

appearance:none;
-webkit-appearance:none;
-moz-appearance:none;

background: rgba(255,255,255,0.06);
border:1px solid rgba(255,255,255,0.15);

color:#fff;

padding:10px 14px;

border-radius:10px;

backdrop-filter:blur(10px);

font-size:14px;

cursor:pointer;

}

/* options */

select option{

background:#0f172a;
color:white;

}.dropdown{

position:relative;
width:140px;

}

.dropdown-btn{

background:rgba(255,255,255,0.08);
border:1px solid rgba(255,255,255,0.15);
backdrop-filter:blur(12px);

color:white;

padding:8px 14px;

border-radius:10px;

cursor:pointer;

font-size:14px;

}

.dropdown-menu{

position:absolute;
top:110%;
left:0;

width:100%;

background:rgba(15,23,42,0.85);
backdrop-filter:blur(14px);

border:1px solid rgba(255,255,255,0.15);

border-radius:12px;

overflow:hidden;

display:none;

z-index:1000;

}

.dropdown-menu div{

padding:10px 14px;
cursor:pointer;

}

.dropdown-menu div:hover{

background:rgba(255,255,255,0.08);

}

.dropdown.open .dropdown-menu{
display:block;
}

/* ============================= */
/* SELECT GLASS MODERN */
/* ============================= */

.projects-table select,
.modal select{

appearance:none;
-webkit-appearance:none;
-moz-appearance:none;

background:rgba(20,25,40,0.75);

border:1px solid rgba(255,255,255,0.2);

color:white;

padding:10px 14px;

border-radius:10px;

backdrop-filter:blur(10px);

font-size:15px;

cursor:pointer;

}

/* options */

.projects-table select option,
.modal select option{

background:#0f172a;
color:white;

}

/* hover */

.projects-table select:hover,
.modal select:hover{

background:rgba(255,255,255,0.1);

border-color:rgba(255,255,255,0.4);

}

.summary-item{
cursor:pointer;
transition:all 0.2s ease;
}

.summary-item:hover{
transform:translateY(-2px);
background:rgba(255,255,255,0.1);
}

.summary-item.active{

background:rgba(255,255,255,0.15);
border:1px solid rgba(255,255,255,0.4);

}

.status-icon{
width:24px;
text-align:center;
}

.status-dot{

display:inline-block;

width:15px;
height:15px;

border-radius:50%;

}

.status-dot.accepted{
background:#27d17f;
}

.status-dot.refused{
background:#ff4c4c;
}

.status-dot.encours{
background:#eb0565;
}

.status-dot.neutral{
background:rgba(255,255,255,0.4);
}
/* couleur lignes projets */


.status-accepted{
background:rgba(0,255,140,0.06);
}

.status-refused{
background:rgba(255,70,70,0.06);
}

.status-progress{
background:rgba(0,150,255,0.06);
}

.status-todo{
background:rgba(255,255,255,0.03);
}

.notes-editable{

min-height:160px;

padding:10px;

outline:none;

color:white;

font-size:15px;

line-height:1.6;

opacity:0.9;

}

/* texte placeholder */

.notes-editable:empty:before{
content:attr(placeholder);
opacity:0.4;
}

.form-row{

display:flex;
align-items:center;
gap:12px;

}

.form-row label{
white-space:nowrap;
opacity:0.7;
}

.form-row .dots{

flex:1;

border-bottom:1px dotted rgba(255,255,255,0.25);

margin:0 8px;

}

/* ===== COLONNE DROITE DOCUMENTS ===== */

.documents-card{

width:380px;          /* plus large */
min-height:520px;     /* plus haut */

display:flex;
flex-direction:column;

gap:8px;

}

/* lignes documents */

.doc-row{

display:flex;
justify-content:space-between;
align-items:center;

padding:12px 0;

border-bottom:1px solid rgba(255,255,255,0.05);

}

.doc-actions{

display:flex;
gap:8px;

}

.doc-actions button{

background:rgba(255,255,255,0.06);
border:none;

color:white;

padding:6px 12px;

border-radius:6px;

cursor:pointer;

transition:0.2s;

}

.doc-actions button:hover{

background:rgba(255,255,255,0.18);

}


/* responsive */

@media (max-width:1200px){

.documents-card{
width:100%;
margin-top:20px;
}

}

/* modal fond */

.doc-modal{

position:fixed;

top:0;
left:0;

width:100%;
height:100%;

background:rgba(0,0,0,0.85);

display:none;

justify-content:center;
align-items:center;

z-index:999;

}

/* contenu */

.doc-modal-content{

width:80%;
height:85%;

background:#0c0f18;

border-radius:10px;

position:relative;

overflow:hidden;

}

/* viewer */

#docViewer{

width:100%;
height:100%;

border:none;

}

/* bouton fermer */

.doc-close{

position:absolute;

top:10px;
right:10px;

background:rgba(255,255,255,0.1);

border:none;

color:white;

font-size:18px;

width:35px;
height:35px;

border-radius:6px;

cursor:pointer;

}

.doc-item{
margin-bottom:25px;
padding-bottom:20px;
border-bottom:1px solid rgba(255,255,255,0.05);
}

.doc-label{
font-size:14px;
font-weight:500;
margin-bottom:8px;
}

.doc-content{
display:flex;
justify-content:space-between;
align-items:center;
gap:15px;
}

.doc-name{
font-size:13px;
color:#bfc6d1;
}

.doc-name.empty{
opacity:0.6;
}

/* BOUTONS DOCUMENTS */

.doc-buttons button{

background: linear-gradient(
145deg,
rgba(255,255,255,0.08),
rgba(255,255,255,0.03)
);

border:1px solid rgba(255,255,255,0.08);

color:white;

padding:8px 16px;

border-radius:8px;

font-size:13px;

cursor:pointer;

transition:all 0.2s ease;

backdrop-filter:blur(10px);

margin-top:15px; /* espace vertical */

}


/* HOVER */

.doc-buttons button:hover{

background:linear-gradient(
145deg,
rgba(255,255,255,0.18),
rgba(255,255,255,0.06)
);

transform:translateY(-1px);

}


/* BOUTON AJOUTER */

.doc-buttons button:first-child{

background:linear-gradient(
145deg,
rgba(0,120,255,0.25),
rgba(0,120,255,0.10)
);

border:1px solid rgba(0,120,255,0.35);

}


/* BOUTON AFFICHER */

.doc-buttons button:last-child{

background:linear-gradient(
145deg,
rgba(255,255,255,0.10),
rgba(255,255,255,0.04)
);

}



.info-base{
display:flex;
justify-content:space-between;
align-items:center;
}

.photo-container{
width:120px;
height:120px;
display:flex;
align-items:center;
justify-content:center;
margin-right:30px;   /* espace à droite */

}

#photoPreview{
width:180px;
height:180px;

object-fit:cover;

border-radius:12px;

border:1px solid rgba(255,255,255,0.15);

box-shadow:0 10px 25px rgba(0,0,0,0.45);

transition:all 0.25s ease;

cursor:pointer;
}

#photoPreview:hover{

transform:scale(1.05);

box-shadow:
0 15px 35px rgba(0,0,0,0.6),
0 0 12px rgba(255,255,255,0.15);

}

.artificiers-stats{

display:flex;
gap:10px;

align-items:center;

margin-right:50px;

}
.stat-card{

padding:12px 18px;

border-radius:10px;

background:rgba(255,255,255,0.04);

border:1px solid rgba(255,255,255,0.08);

font-size:14px;

}

.artificiers-table tbody tr{

cursor:pointer;
transition:all 0.2s ease;

}

.artificiers-table tbody tr:hover{

background:rgba(255,255,255,0.05);
transform:translateY(-1px);

}

.artificier-select,
.statut-select{
width: 95%;
min-width: 180px;
padding: 6px 10px;
border-radius: 6px;
}

.settings-modal{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.6);
display:none;
z-index:9999;
}

.settings-modal.open{
display:flex;
justify-content:center;
align-items:center;
}

.settings-container{
width:1100px;
height:700px;
background:#1f2430;
border-radius:12px;
display:flex;
overflow:hidden;
}

.settings-sidebar{
width:220px;
background:#161a22;
padding:20px;
}

.settings-sidebar ul{
list-style:none;
padding:0;
}

.settings-sidebar li{
padding:10px;
cursor:pointer;
border-radius:6px;
}

.settings-sidebar li:hover{
background:rgba(255,255,255,0.08);
}

.settings-content{
flex:1;
padding:30px;
overflow:auto;
}

.settings-tab{
display:none;
}

.settings-tab.active{
display:block;
}

.close-settings{
position:absolute;
top:20px;
right:20px;
}

.statut-select,
.artificier-select{
cursor: pointer;
}

select option {
background: #0f172a;
color: white;
}
select option:hover {
background: #1e293b;
}
select{
background:#0f172a;
color:white;
border:1px solid rgba(255,255,255,0.1);
padding:6px 10px;
border-radius:6px;
cursor:pointer;
}

.statut-dropdown{
position:relative;
width:80%;
cursor:pointer;
}

.statut-selected{
background:#1e293b;
padding:8px;
border-radius:6px;
border:1px solid rgba(255,255,255,0.1);
}

.statut-menu{
position:absolute;
top:100%;
left:0;
right:0;
background:#0f172a;
border-radius:6px;
border:1px solid rgba(255,255,255,0.1);
display:none;
z-index:10;
}

.statut-option{
padding:8px;
cursor:pointer;
}

.statut-option:hover{
background:#1e293b;
}

.artificier-dropdown{
position:relative;
width:80%;
cursor:pointer;
z-index:100;
}

.artificier-selected{
background:#1e293b;
padding:8px;
border-radius:6px;
border:1px solid rgba(255,255,255,0.1);
}

.artificier-menu{
position:absolute;
top:100%;
left:0;
right:0;
background:#0f172a;
border-radius:6px;
border:1px solid rgba(255,255,255,0.1);
display:none;
z-index:999;
}

.artificier-option{
padding:8px;
cursor:pointer;
}

.artificier-option:hover{
background:#1e293b;
}

.cerfa-actions{
    display:flex;
    justify-content:flex-end;
    margin-top:20px;
}

.cerfa-inline-row{
display:flex;
gap:150px;
align-items:flex-start;
}

.cerfa-inline-block{
min-width:220px;
}

.checkbox-inline {
display: flex;
gap: 20px;
align-items: center;
}

table input {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.2);
  color: white;
  padding: 6px 8px;
  border-radius: 6px;
  width: 100%;
}

.graph-container {
margin-top: 30px;
padding: 25px;
border-radius: 20px;
background: rgba(255,255,255,0.03);
backdrop-filter: blur(10px);
border: 1px solid rgba(255,255,255,0.05);
height: 400px; /* 👈 ici seulement */
}

.graphs-row {
display: flex;
gap: 20px;
margin-top: 30px;
}

.graph-box {
flex: 1;
height: 580px; /* même taille pour tous */
padding: 20px;
border-radius: 20px;
background: rgba(255,255,255,0.03);
border: 1px solid rgba(255,255,255,0.05);
display: flex;
flex-direction: column;
}

.graph-box canvas {
display: block;
}

.chart-wrapper {
flex: 1;
position: relative;
}




/* TOP LINE */
.card-top {
display: flex;
justify-content: space-between;
align-items: center;
}

/* TREND */
.trend {
font-size: 12px;
padding: 3px 8px;
border-radius: 8px;
}

.trend.up {
background: rgba(46, 204, 113, 0.15);
color: #2ecc71;
}

.trend.down {
background: rgba(231, 76, 60, 0.15);
color: #e74c3c;
}

/* VALUE */
.card p {
font-size: 28px;
font-weight: 600;
margin: 10px 0;
}

/* PROGRESS BAR */
.progress-bar {
height: 6px;
background: rgba(255,255,255,0.05);
border-radius: 10px;
overflow: hidden;
}

.progress-fill {
height: 100%;
background: linear-gradient(90deg, #4dabf7, #2ecc71);
border-radius: 10px;
}

/* ===== MENU SIGNATURE MADNESS ===== */

.menu {
  list-style: none;
  padding: 0;
  margin-top: 30px;
}

.menu-item {
  margin: 10px 14px;
}

/* lien */
.menu-item a {
  display: block;
  padding: 14px 16px;
  border-radius: 12px;
  text-decoration: none;
  color: rgba(255,255,255,0.55);
  font-size: 15px;
  letter-spacing: 0.3px;
  transition: all 0.25s ease;
  position: relative;
}

/* hover (lumière douce) */
.menu-item a:hover {
  color: white;
  background: rgba(255,255,255,0.04);
  transform: translateX(4px);
}




/* ACTIF */
.menu-item.active a {
  color: white;
  background: rgba(255,255,255,0.06);
  backdrop-filter: blur(6px);
}

/* MENU CLEAN MODERNE */

.menu {
  list-style: none;
  padding: 0;
  margin-top: 30px;
}

.menu-item {
  margin: 6px 0;
}

.menu-item a {
  display: block;
  padding: 12px 16px;
  border-radius: 10px;

  color: rgba(255,255,255,0.6);
  text-decoration: none;
  font-size: 15px;

  transition: all 0.2s ease;
}

/* hover clean */
.menu-item a:hover {
  color: white;
  background: rgba(255,255,255,0.05);
}

/* actif */
.menu-item.active a {
  color: white;
  background: rgba(255,255,255,0.08);
}

#cityResults{
position: absolute;
background: #1e1e2f;
width: 100%;
border-radius: 8px;
margin-top: 5px;
z-index: 999;
max-height: 200px;
overflow-y: auto;
}

.dropdown-item{
padding: 10px;
cursor: pointer;
}

.dropdown-item:hover{
background: #2a2a40;
}

/* =======================
   CHECKBOX PROPRE
======================= */

.custom-checkbox {
  appearance: none;
  -webkit-appearance: none;

  width: 18px;
  height: 18px;

  border-radius: 6px;
  border: 2px solid rgba(255,255,255,0.25);

  background: rgba(255,255,255,0.05);
  cursor: pointer;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  transition: all 0.2s ease;
}

/* hover */
.custom-checkbox:hover {
  border-color: #ff2e63;
}

/* checked */
.custom-checkbox:checked {
  background: linear-gradient(135deg, #ff2e63, #ff4d7a);
  border-color: transparent;
}

/* CHECK ICON PROPRE */
.custom-checkbox:checked::after {
  content: "✓";
  color: white;
  font-size: 12px;
  font-weight: bold;
}

.edit-text {
  width: 100%;
  max-width: 180px;
  box-sizing: border-box;
}

/* =======================
   FIX INPUT DATE
======================= */

.edit-date {
  width: 340px;
  max-width: 100%;
  box-sizing: border-box;

  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 6px;

  color: white;
  padding: 6px 8px;

  font-size: 13px;
}

/* enlève le style natif moche */
.edit-date::-webkit-calendar-picker-indicator {
  filter: invert(1);
  opacity: 0.7;
  cursor: pointer;
}

/* =========================
ROWS CLIQUABLES
========================= */

tr {
  transition: all 0.2s ease;
}

tr:hover {
  cursor: pointer;
  background: rgba(255,255,255,0.05);
  transform: scale(1.002);
}

/* effet plus visible */
tr:hover td {
  color: #fff;
}

.client-side-card{
  margin-top:25px;
  padding:20px;
  border-radius:12px;
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.05);
}

.client-side-card h3{
  font-size:16px;
  font-weight:500;
  color:#fff;
}

.client-side-card button{
  width:28px;
  height:28px;
  border-radius:6px;
  border:none;
  background:rgba(255,255,255,0.1);
  color:#fff;
  cursor:pointer;
  transition:0.2s;
}

.client-side-card button:hover{
  background:#ff2e6e;
}

#contactBlock{
  margin-top:15px;
  display:flex;
  flex-direction:column;
  gap:8px;
}

#contactName{
  font-size:15px;
  font-weight:600;
  color:#fff;
}

.contact-line{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  color:rgba(255,255,255,0.7);
}

.contact-note{
  margin-top:10px;
  padding:10px;
  border-radius:8px;
  background:rgba(255,255,255,0.04);
  font-size:13px;
  color:rgba(255,255,255,0.7);
}

.modal-content{
  position:relative; /* IMPORTANT */
}

.modal-close{
  position:absolute;
  top:12px;
  right:15px;
  font-size:22px;
  color:rgba(255,255,255,0.6);
  cursor:pointer;
  transition:0.2s;
}

.modal-close:hover{
  color:#ff2e6e;
}

.modal{
  display:none;
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:rgba(0,0,0,0.7);
  justify-content:center;
  align-items:center;
  z-index:1000;
}

.modal.active{
  display:flex;
}

.modal-content{
  position:relative;
  background:#111;
  padding:20px;
  border-radius:10px;
  width:350px;
}

.contact-card{
  margin-top:20px;
  padding:22px;
  border-radius:16px;
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.08);
}

.contact-top{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.contact-badge-line{
  display:flex;
  justify-content:flex-end;
}

.contact-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:18px;
  font-size:13px;
  opacity:0.6;
}

.contact-btn{
  padding:10px 18px;              /* 🔥 plus gros */
  border-radius:10px;

  background:rgba(255,255,255,0.08);  /* 🔥 style comme tes autres boutons */
  border:1px solid rgba(255,255,255,0.15);

  color:white;
  font-size:13px;
  font-weight:500;

  cursor:pointer;

  backdrop-filter:blur(10px);

  transition:all 0.25s ease;
}

.contact-btn:hover{
  background:rgba(255,255,255,0.18);
  border:1px solid rgba(255,255,255,0.35);

  transform:translateY(-1px);
}
.contact-body{
  display:flex;
  flex-direction:column;
  gap:18px;
}

/* NOM + BADGE */

.contact-name{
  font-size:22px;
  font-weight:600;
  margin-bottom:6px;
}

.contact-top{
  display:flex;
  flex-direction:column;
  gap:6px;
}


/* GRID INFOS */

.contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.contact-box{
  padding:14px;
  border-radius:12px;
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.05);
}

.contact-box span{
  font-size:11px;
  opacity:0.5;
}

.contact-box strong{
  display:block;
  margin-top:4px;
  font-size:15px;
}

/* NOTE */

.contact-note{
  margin-top:6px;
  padding:14px;
  border-radius:12px;
  background:rgba(255,255,255,0.05);
  font-size:13px;
  opacity:0.8;
}

.badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  padding:8px 16px;        /* 🔥 plus gros */
  border-radius:999px;

  font-size:13px;          /* 🔥 plus lisible */
  font-weight:600;

  background:linear-gradient(135deg,#ff2e6e,#ff4d8a); /* 🔥 dégradé premium */

  white-space:nowrap;
  width:auto;

  box-shadow:0 4px 12px rgba(255,46,110,0.35); /* 🔥 petit glow */
}

.status-badge{
  font-size:11px;
  padding:4px 10px;
  border-radius:999px;
  background:rgba(255,255,255,0.1);
  color:#fff;
}

.contact-title-line{
  display:flex;
  align-items:center;
  gap:12px;
}

.pdf-viewer-modal{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.65);
  z-index:9999;
  align-items:center;
  justify-content:center;
}

.pdf-viewer-box{
  width:90%;
  height:90%;
  background:#111827;
  border:1px solid rgba(255,255,255,0.08);
  border-radius:16px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  box-shadow:0 20px 60px rgba(0,0,0,0.4);
}

.pdf-viewer-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 18px;
  border-bottom:1px solid rgba(255,255,255,0.08);
  color:#fff;
}

.pdf-viewer-frame{
  width:100%;
  height:100%;
  border:none;
  background:#fff;
}

.top-message{
  position: fixed;
  top: 20px;
  left: 50%;
  transform: translateX(-50%) translateY(-20px);
  min-width: 280px;
  max-width: 520px;
  padding: 14px 20px;
  border-radius: 14px;
  background: #1f2937;
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  text-align: center;
  box-shadow: 0 12px 30px rgba(0,0,0,0.22);
  opacity: 0;
  pointer-events: none;
  z-index: 9999;
  transition: all 0.25s ease;
}

.top-message.show{
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

.top-message.success{
  background: #1f7a4f;
}

.top-message.error{
  background: #b42318;
}

.top-message.info{
  background: #344054;
}

.confirm-modal{
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.45);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 10000;
}

.confirm-modal.show{
  display: flex;
}

.confirm-box{
  width: 100%;
  max-width: 420px;
  background: #fff;
  border-radius: 18px;
  padding: 22px;
  box-shadow: 0 18px 50px rgba(0,0,0,0.18);
}

.confirm-title{
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 10px;
  color: #111827;
}

.confirm-text{
  font-size: 14px;
  color: #4b5563;
  margin-bottom: 18px;
}

.confirm-actions{
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}