@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Sans:wght@300;400;500;600&display=swap');

:root {
  --k:#000;--k1:#111;--k2:#1C1C1C;--k3:#2E2E2E;--k4:#444;--k5:#666;
  --k6:#888;--k7:#AAA;--k8:#CCC;--k9:#E0E0E0;--ka:#EEE;--kb:#F5F5F5;--w:#FFF;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'DM Sans',sans-serif;background:var(--kb);color:var(--k);font-size:14px;}
a{color:inherit;text-decoration:none;}
.hidden{display:none !important;}

.admin-layout{display:flex;min-height:100vh;}
.sidebar{width:220px;background:var(--k);color:var(--w);display:flex;flex-direction:column;position:fixed;top:0;bottom:0;left:0;z-index:100;}
.sidebar-logo{padding:24px 20px 20px;border-bottom:1px solid var(--k3);}
.sidebar-logo img{height:24px;filter:brightness(0) invert(1);}
.sidebar-logo .version{font-size:10px;color:var(--k5);margin-top:4px;letter-spacing:.06em;}
.sidebar-nav{flex:1;padding:12px 0;overflow-y:auto;}
.nav-link{display:flex;align-items:center;gap:12px;padding:12px 20px;color:var(--k6);font-size:13px;cursor:pointer;transition:all .15s;border:none;background:none;width:100%;text-align:left;}
.nav-link:hover{background:var(--k2);color:var(--w);}
.nav-link.active{background:var(--k2);color:var(--w);border-left:3px solid var(--w);}
.nav-link svg{width:18px;height:18px;flex-shrink:0;}
.sidebar-footer{padding:16px 20px;border-top:1px solid var(--k3);}
.sidebar-user{font-size:12px;color:var(--k5);}

.main-content{margin-left:220px;flex:1;display:flex;flex-direction:column;min-height:100vh;}
.topbar{background:var(--w);border-bottom:1px solid var(--k9);padding:0 28px;height:56px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50;}
.topbar-title{font-family:'Bebas Neue';font-size:20px;letter-spacing:.06em;}
.page-body{padding:24px 28px;flex:1;}

.card{background:var(--w);border:1px solid var(--k9);box-shadow:0 1px 4px rgba(0,0,0,.06);}
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;}
.stat-box{background:var(--w);border:1px solid var(--k9);padding:20px;display:flex;flex-direction:column;gap:4px;}
.stat-box .number{font-family:'Bebas Neue';font-size:48px;line-height:1;}
.stat-box .label{font-size:11px;color:var(--k5);text-transform:uppercase;letter-spacing:.06em;}

.table{width:100%;border-collapse:collapse;}
.table th{text-align:left;padding:10px 14px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--k5);border-bottom:2px solid var(--k9);background:var(--kb);}
.table td{padding:12px 14px;border-bottom:1px solid var(--ka);vertical-align:middle;}
.table tr:hover td{background:var(--kb);}
.table tr{cursor:pointer;}

.badge{display:inline-flex;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;letter-spacing:.04em;}
.s-nouveau{background:var(--w);color:var(--k7);border:1px solid var(--k9);}
.s-a_contacter{background:var(--ka);color:var(--k4);border:1px solid var(--k8);}
.s-rdv_planifie{background:var(--k8);color:var(--k2);}
.s-projet_en_cours{background:var(--k5);color:var(--w);}
.s-signe{background:var(--k);color:var(--w);}
.s-sans_suite{background:var(--kb);color:var(--k7);border:1px solid var(--ka);font-style:italic;}

.temp-chaud{color:var(--k2);font-weight:700;}
.temp-tiede{color:var(--k4);}
.temp-froid{color:var(--k7);}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;border:none;font-family:inherit;font-size:13px;padding:8px 18px;transition:opacity .15s;}
.btn:hover{opacity:.85;}
.btn-primary{background:var(--k);color:var(--w);}
.btn-secondary{background:transparent;color:var(--k);border:1px solid var(--k9);}
.btn-sm{padding:6px 14px;font-size:12px;}
.btn-danger{background:#c0392b;color:var(--w);}

.gi{background:var(--kb);border:1.5px solid var(--k9);padding:9px 12px;font-size:14px;width:100%;outline:none;font-family:inherit;}
.gi:focus{border-color:var(--k);}

.search-row{display:flex;gap:12px;margin-bottom:16px;align-items:center;}
.filter-select{background:var(--kb);border:1.5px solid var(--k9);padding:8px 12px;font-size:13px;font-family:inherit;outline:none;cursor:pointer;}

.modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:200;display:flex;align-items:center;justify-content:center;}
.modal{background:var(--w);width:100%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.3);}
.modal-header{padding:20px 24px;border-bottom:1px solid var(--k9);display:flex;justify-content:space-between;align-items:center;}
.modal-header h2{font-family:'Bebas Neue';font-size:20px;letter-spacing:.06em;}
.modal-body{padding:24px;}
.modal-footer{padding:16px 24px;border-top:1px solid var(--k9);display:flex;gap:10px;justify-content:flex-end;}
.form-row{margin-bottom:14px;}
.form-row label{display:block;font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--k5);text-transform:uppercase;margin-bottom:5px;}

.avatar-sm{width:36px;height:36px;border-radius:50%;object-fit:cover;border:1.5px solid var(--k9);}
.avatar-placeholder{width:36px;height:36px;border-radius:50%;background:var(--ka);display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue';font-size:16px;color:var(--k6);}

.chart-bar-row{display:flex;align-items:center;gap:12px;margin-bottom:8px;}
.chart-bar-label{width:140px;font-size:12px;color:var(--k4);text-align:right;flex-shrink:0;}
.chart-bar-bg{flex:1;height:10px;background:var(--ka);}
.chart-bar-fill{height:100%;background:var(--k3);transition:width .5s;}
.chart-bar-val{width:40px;font-size:12px;font-weight:600;color:var(--k3);}

.detail-panel{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.field-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--ka);}
.field-key{font-size:12px;color:var(--k5);}
.field-val{font-size:13px;font-weight:500;}

@media(max-width:900px){
  .sidebar{width:60px;}
  .sidebar-logo span,.nav-link span,.sidebar-user,.version{display:none;}
  .main-content{margin-left:60px;}
  .stats-row{grid-template-columns:1fr 1fr;}
  .page-body{padding:16px;}
}
