/* =========================================
   🎨 THEME GLOBAL - LES CHATS LIBRES
========================================= */

:root{
    --bg:#0f172a;
    --card:#1e293b;
    --hover:#334155;
    --text:#e2e8f0;
    --muted:#94a3b8;

    --blue:#3b82f6;
    --green:#22c55e;
    --red:#ef4444;
    --orange:#f97316;
    --yellow:#facc15;
    --purple:#8b5cf6;
}

/* GLOBAL */
body{
    margin:0;
    font-family:'Segoe UI',sans-serif;
    background:var(--bg);
    color:var(--text);
}

/* CONTAINER */
.container{
    max-width:1200px;
    margin:auto;
    padding:20px;
}

/* TITRES */
h1,h2,h3{
    margin-bottom:15px;
}
h2{color:var(--blue);}
h3{color:var(--green);}

/* CARTES */
.card{
    background:var(--card);
    padding:20px;
    border-radius:12px;
    box-shadow:0 5px 15px rgba(0,0,0,0.4);
    margin-bottom:20px;
}

/* BOUTONS */
.btn{
    display:inline-block;
    padding:10px 15px;
    border-radius:8px;
    text-decoration:none;
    color:white;
    font-weight:600;
    transition:.2s;
}

.btn:hover{
    transform:translateY(-2px);
    opacity:.9;
}

.btn-blue{background:var(--blue);}
.btn-green{background:var(--green);}
.btn-red{background:var(--red);}
.btn-orange{background:var(--orange);}
.btn-purple{background:var(--purple);}

/* FORM */
input,select,textarea{
    width:100%;
    padding:10px;
    border-radius:8px;
    border:none;
    margin:8px 0;
    background:#0f172a;
    color:white;
}

/* TABLE */
table{
    width:100%;
    border-collapse:collapse;
}

th,td{
    padding:12px;
    border-bottom:1px solid var(--hover);
}

tr:hover{
    background:var(--hover);
}

/* ALERTES */
.alert{
    padding:12px;
    border-radius:8px;
    margin-bottom:15px;
    font-weight:bold;
}

.alert-success{
    background:rgba(34,197,94,.2);
    color:var(--green);
}

.alert-error{
    background:rgba(239,68,68,.2);
    color:var(--red);
}

.alert-warning{
    background:rgba(250,204,21,.2);
    color:#facc15;
}

/* GRID */
.grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
    gap:15px;
}

/* DASHBOARD CARDS */
.stat{
    padding:15px;
    border-radius:10px;
    text-align:center;
    font-weight:bold;
}

.stat strong{
    font-size:22px;
    display:block;
}

/* BADGES */
.badge{
    padding:3px 8px;
    border-radius:20px;
    font-size:12px;
}

.badge-green{background:var(--green);color:#000;}
.badge-red{background:var(--red);}
.badge-blue{background:var(--blue);}
.badge-orange{background:var(--orange);}

/* ANIMATION */
.fade-in{
    animation:fade .5s ease;
}
@keyframes fade{
    from{opacity:0;transform:translateY(5px);}
    to{opacity:1;}
}
