/* ReseauxCash - Styles front-office
   ============================================================ */
:root{
  --lm-primary:#FF5A5F;
  --lm-primary-dark:#E0484D;
  --lm-secondary:#00A699;
  --lm-accent:#FC642D;
  --lm-dark:#222222;
  --lm-gray-900:#2D2D2D;
  --lm-gray-700:#484848;
  --lm-gray-500:#767676;
  --lm-gray-300:#DDDDDD;
  --lm-gray-100:#F7F7F7;
  --lm-cream:#FFF8F3;
  --lm-gold:#FFB400;
  --lm-radius:12px;
  --lm-shadow:0 4px 16px rgba(0,0,0,0.08);
}

/* ====== BUTTONS ====== */
.lm-btn,.lm-btn-primary,.lm-btn-secondary,.lm-btn-outline,.lm-btn-danger{
  display:inline-flex;align-items:center;gap:8px;
  padding:12px 24px;border-radius:50px;font-weight:600;font-size:15px;
  text-decoration:none;cursor:pointer;border:none;transition:all 0.2s;
}
.lm-btn-primary{background:linear-gradient(135deg,var(--lm-primary),var(--lm-accent));color:white}
.lm-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(255,90,95,0.3)}
.lm-btn-secondary{background:var(--lm-dark);color:white}
.lm-btn-outline{background:transparent;border:2px solid var(--lm-dark);color:var(--lm-dark)}
.lm-btn-danger{background:#DC2626;color:white}
.lm-btn-sm{padding:6px 14px;font-size:13px;border-radius:50px;background:var(--lm-gray-100);color:var(--lm-dark);text-decoration:none}

/* ====== DASHBOARD LAYOUT ====== */
.lm-dashboard{
  display:grid;grid-template-columns:260px 1fr;gap:32px;
  max-width:1320px;margin:40px auto;padding:0 24px;
  min-height:calc(100vh - 200px);
}
.lm-dashboard-nav{
  background:white;border-radius:var(--lm-radius);
  box-shadow:var(--lm-shadow);padding:16px;height:fit-content;
  position:sticky;top:20px;
}
.lm-dashboard-nav ul{list-style:none;padding:0;margin:0}
.lm-dashboard-nav li a{
  display:flex;align-items:center;gap:12px;
  padding:12px 16px;border-radius:8px;
  text-decoration:none;color:var(--lm-gray-700);font-size:14px;
  transition:all 0.2s;
}
.lm-dashboard-nav li a:hover{background:var(--lm-cream);color:var(--lm-primary)}
.lm-dashboard-nav li.active a{background:linear-gradient(135deg,var(--lm-primary),var(--lm-accent));color:white}
.lm-nav-icon{font-size:18px}
.lm-nav-badge{
  margin-left:auto;background:var(--lm-primary);color:white;
  border-radius:50px;padding:2px 8px;font-size:11px;font-weight:700;
}
.lm-dashboard-nav li.active .lm-nav-badge{background:white;color:var(--lm-primary)}
.lm-logout a{color:var(--lm-gray-500) !important;border-top:1px solid var(--lm-gray-300);margin-top:8px;padding-top:16px !important}

.lm-dashboard-content{
  background:white;border-radius:var(--lm-radius);
  padding:32px;box-shadow:var(--lm-shadow);
}
.lm-dashboard-content h1{font-size:28px;font-weight:700;margin:0 0 8px;color:var(--lm-dark)}
.lm-dashboard-content h2{font-size:20px;font-weight:700;margin:32px 0 16px;color:var(--lm-dark)}
.lm-subtitle{color:var(--lm-gray-500);margin-bottom:24px}

/* ====== STATS CARDS ====== */
.lm-stats-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0;
}
.lm-stat-card{
  background:var(--lm-cream);border-radius:var(--lm-radius);
  padding:24px;text-align:center;
}
.lm-stat-blue{background:#EEF4FF}
.lm-stat-green{background:#ECFDF5}
.lm-stat-orange{background:#FFF4ED}
.lm-stat-gold{background:#FFFBEB}
.lm-stat-purple{background:#F5F3FF}
.lm-stat-icon{font-size:28px;margin-bottom:8px}
.lm-stat-value{font-size:32px;font-weight:800;color:var(--lm-dark);line-height:1}
.lm-stat-label{font-size:13px;color:var(--lm-gray-500);text-transform:uppercase;letter-spacing:1px;margin-top:8px}

/* ====== TABLES ====== */
.lm-table-wrapper{overflow-x:auto;margin:24px 0}
.lm-table{
  width:100%;border-collapse:collapse;font-size:14px;
}
.lm-table th{
  text-align:left;padding:14px 12px;background:var(--lm-gray-100);
  font-weight:600;color:var(--lm-gray-700);text-transform:uppercase;
  font-size:12px;letter-spacing:1px;border-bottom:1px solid var(--lm-gray-300);
}
.lm-table td{padding:14px 12px;border-bottom:1px solid var(--lm-gray-100)}
.lm-table tr:hover td{background:var(--lm-cream)}
.lm-status-pill{
  display:inline-block;padding:4px 12px;border-radius:50px;
  color:white;font-size:12px;font-weight:600;text-transform:uppercase;
  letter-spacing:0.5px;
}

/* ====== FORMS ====== */
.lm-form{max-width:640px}
.lm-field{margin-bottom:20px}
.lm-field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}
.lm-field-row .lm-field{margin-bottom:0}
.lm-field label{display:block;font-weight:600;font-size:14px;color:var(--lm-gray-700);margin-bottom:8px}
.lm-field input[type="text"],
.lm-field input[type="email"],
.lm-field input[type="tel"],
.lm-field input[type="number"],
.lm-field input[type="password"],
.lm-field select,
.lm-field textarea{
  width:100%;padding:12px 16px;border:2px solid var(--lm-gray-300);
  border-radius:8px;font-size:15px;font-family:inherit;
  transition:border-color 0.2s;
}
.lm-field input:focus,.lm-field select:focus,.lm-field textarea:focus{
  outline:none;border-color:var(--lm-primary);
}
.lm-field textarea{min-height:120px;resize:vertical}

/* ====== NOTICES ====== */
.lm-notice{
  padding:16px 20px;border-radius:8px;margin:16px 0;
  background:var(--lm-cream);border-left:4px solid var(--lm-primary);
}
.lm-notice-info{background:#EEF4FF;border-color:#3B82F6}
.lm-notice-warning{background:#FEF3C7;border-color:#F59E0B}
.lm-notice-success{background:#D1FAE5;border-color:#10B981}
.lm-notice-error{background:#FEE2E2;border-color:#EF4444}

/* ====== EMPTY STATES ====== */
.lm-empty-state{
  text-align:center;padding:60px 20px;
  background:var(--lm-cream);border-radius:var(--lm-radius);
  color:var(--lm-gray-500);
}
.lm-empty-state p{margin:0 0 16px}

/* ====== CARDS ====== */
.lm-card-connecteur{
  background:white;border:1px solid var(--lm-gray-300);
  border-radius:var(--lm-radius);padding:24px;text-align:center;
  transition:all 0.2s;
}
.lm-card-connecteur:hover{
  transform:translateY(-4px);box-shadow:var(--lm-shadow);
  border-color:var(--lm-primary);
}
.lm-avatar{
  width:80px;height:80px;border-radius:50%;
  object-fit:cover;margin:0 auto 12px;
}
.lm-rating{color:var(--lm-gold);font-size:14px;margin:8px 0}
.lm-metiers{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:12px 0}
.lm-tag{
  background:var(--lm-cream);color:var(--lm-primary);
  padding:4px 10px;border-radius:50px;font-size:11px;font-weight:600;
}

.lm-grid-connecteurs{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:20px;margin:24px 0;
}

/* ====== SUBSCRIPTION ====== */
.lm-subscription-card{
  background:linear-gradient(135deg,var(--lm-cream),#FFE8DC);
  padding:32px;border-radius:var(--lm-radius);text-align:center;
}

/* ====== SEARCH PAGE ====== */
.lm-search-bar{
  background:white;border-radius:var(--lm-radius);
  padding:24px;box-shadow:var(--lm-shadow);
  display:grid;grid-template-columns:2fr 2fr 1fr 1fr;gap:12px;
  margin-bottom:32px;
}

/* ====== RESPONSIVE ====== */
@media(max-width:1024px){
  .lm-dashboard{grid-template-columns:1fr}
  .lm-dashboard-nav{position:static;margin-bottom:20px}
  .lm-stats-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .lm-stats-grid{grid-template-columns:1fr}
  .lm-field-row{grid-template-columns:1fr}
  .lm-search-bar{grid-template-columns:1fr}
}
