﻿@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600&family=Poppins:wght@300;400;500;600;700&display=swap');

[data-bs-theme-base="neutral"] {
  --tblr-gray-50: #fafafa;
  --tblr-gray-100: #f5f5f5;
  --tblr-gray-200: #e5e5e5;
  --tblr-gray-300: #d4d4d4;
  --tblr-gray-400: #a3a3a3;
  --tblr-gray-500: #737373;
  --tblr-gray-600: #525252;
  --tblr-gray-700: #404040;
  --tblr-gray-800: #262626;
  --tblr-gray-900: #171717;
  --tblr-gray-950: #0a0a0a;
}

:root {
  --gn-red: #CE1126;
  --gn-yellow: #FCD116;
  --gn-green: #009460;
  --gn-green-dark: #007a4e;
  --gn-green-deeper: #00573a;
  --gn-dark: #0a1f14;
  --gn-dark-mid: #0f2b1e;
  --gn-dark-lighter: #14432a;
  --gn-bg: #f0f2f1;
  --gn-card-bg: #ffffff;
  --gn-text: #111;
  --gn-text-muted: #6b7280;
  --gn-border: #e2e5e3;
  --gn-radius: 14px;
  --gn-radius-sm: 10px;
  --gn-shadow: 0 1px 3px rgba(0,0,0,0.03), 0 1px 2px rgba(0,0,0,0.04);
  --gn-shadow-md: 0 4px 12px rgba(0,0,0,0.06);
  --gn-shadow-lg: 0 12px 40px rgba(0,0,0,0.08);
}

* { font-family: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif; }
body { background: var(--gn-bg); color: var(--gn-text); font-size: 14px; }
[data-bs-theme="dark"] body { background: #0c0c0c; }

/* ============================================
   HEADER
   ============================================ */
.gn-header { background: var(--gn-dark); padding: 0; position: sticky; top: 0; z-index: 1030; }
.gn-header-tricolor { height: 3px; display: flex; width: 100%; }
.gn-header-tricolor span:nth-child(1) { flex:1; background: var(--gn-red); }
.gn-header-tricolor span:nth-child(2) { flex:1; background: var(--gn-yellow); }
.gn-header-tricolor span:nth-child(3) { flex:1; background: var(--gn-green); }
.gn-header-inner { display:flex; align-items:center; justify-content:space-between; padding:0 24px; height:64px; max-width:1480px; margin:0 auto; }
.gn-header-brand { display:flex; align-items:center; gap:12px; text-decoration:none; }
.gn-header-brand img { height:40px; width:auto; }
.gn-header-nav { display:flex; align-items:center; gap:6px; }
.gn-nav-link { display:flex; align-items:center; gap:6px; padding:8px 14px; border-radius:var(--gn-radius-sm); color:rgba(255,255,255,0.7); text-decoration:none; font-size:13px; font-weight:500; transition:all 0.2s; border:none; background:transparent; cursor:pointer; }
.gn-nav-link:hover { background:rgba(255,255,255,0.08); color:#fff; }
.gn-nav-link.active { background:rgba(0,148,96,0.2); color:var(--gn-green); }
.gn-nav-link svg { width:18px; height:18px; stroke-width:1.5; }
.gn-nav-link.gn-admin-badge { background:rgba(252,209,22,0.12); color:var(--gn-yellow); }
.gn-nav-link.gn-admin-badge:hover { background:rgba(252,209,22,0.2); }
.gn-header-actions { display:flex; align-items:center; gap:8px; }
.gn-theme-btn { width:36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1); color:rgba(255,255,255,0.6); cursor:pointer; transition:all 0.2s; padding:0; }
.gn-theme-btn:hover { background:rgba(255,255,255,0.12); color:#fff; }
.gn-theme-btn svg { width:18px; height:18px; }
.gn-profile-btn { display:flex; align-items:center; gap:10px; padding:6px 12px 6px 6px; border-radius:50px; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1); color:#fff; text-decoration:none; transition:all 0.2s; cursor:pointer; }
.gn-profile-btn:hover { background:rgba(255,255,255,0.12); color:#fff; }
.gn-profile-avatar { width:32px; height:32px; border-radius:50%; background-size:cover; background-position:center; border:2px solid rgba(0,148,96,0.4); }
.gn-profile-info { display:flex; flex-direction:column; }
.gn-profile-name { font-size:13px; font-weight:500; line-height:1.2; }
.gn-profile-role { font-size:10px; color:rgba(255,255,255,0.45); }
.gn-header .dropdown-menu { border:1px solid var(--gn-border); border-radius:var(--gn-radius-sm); box-shadow:var(--gn-shadow-md); padding:4px; margin-top:8px; }
.gn-header .dropdown-item { border-radius:6px; font-size:13px; padding:8px 12px; }
.gn-header .dropdown-item:hover { background:var(--gn-bg); }
.gn-mobile-toggle { display:none; width:36px; height:36px; border-radius:var(--gn-radius-sm); background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1); color:#fff; cursor:pointer; align-items:center; justify-content:center; }
.gn-mobile-toggle svg { width:20px; height:20px; }
.gn-mobile-nav { display:none; background:var(--gn-dark-mid); padding:8px 16px 16px; }
.gn-mobile-nav.show { display:block; }
.gn-mobile-nav .gn-nav-link { width:100%; padding:10px 14px; }

/* ============================================
   PAGE STRUCTURE
   ============================================ */
.page-body { margin-top: 0; padding: 24px 0; }
.page-wrapper { min-height: calc(100vh - 67px); }
.jm-dashboard .page-wrapper { background: var(--gn-bg); }
[data-bs-theme="dark"] .jm-dashboard .page-wrapper { background: #0c0c0c; }

/* ============================================
   DASHBOARD CARD — THE MAIN CONTAINER
   ============================================ */
.jm-dashboard .card {
  border: none !important;
  border-radius: var(--gn-radius) !important;
  box-shadow: var(--gn-shadow-lg) !important;
  overflow: hidden !important;
  background: var(--gn-card-bg) !important;
}
[data-bs-theme="dark"] .jm-dashboard .card {
  background: #151515 !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.3) !important;
}

/* ============================================
   MEETING HEADER — COMMAND CENTER
   ============================================ */
.jm-meeting-header {
  border-bottom: none !important;
  background: linear-gradient(145deg, var(--gn-dark) 0%, var(--gn-dark-mid) 40%, var(--gn-dark-lighter) 100%) !important;
  position: relative;
  overflow: hidden;
}
.jm-meeting-header::before {
  content: '';
  position: absolute;
  top: -80px; right: -30px;
  width: 280px; height: 280px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0,148,96,0.12) 0%, transparent 70%);
  pointer-events: none;
}
.jm-meeting-header::after {
  content: '';
  position: absolute;
  bottom: -60px; left: 20%;
  width: 200px; height: 200px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(252,209,22,0.06) 0%, transparent 70%);
  pointer-events: none;
}
.jm-header-left, .jm-header-right {
  padding: 22px 28px;
  position: relative;
  z-index: 1;
}
.jm-header-left {
  border-right: 1px solid rgba(255,255,255,0.06) !important;
}
.jm-header-left h2 {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  color: #fff !important;
  letter-spacing: -0.3px;
}
.jm-header-right { gap: 14px; }

/* Instant meeting h4 */
.jm-instant-meeting { gap: 12px; }
.jm-instant-meeting h4 {
  font-size: 12px !important;
  font-weight: 500 !important;
  color: rgba(255,255,255,0.5) !important;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.jm-right { gap: 8px; }

/* Header buttons - glass morphism */
.jm-meeting-header .btn-outline-primary {
  color: #fff !important;
  border-color: rgba(255,255,255,0.15) !important;
  background: rgba(255,255,255,0.06) !important;
  backdrop-filter: blur(8px);
  box-shadow: none !important;
}
.jm-meeting-header .btn-outline-primary:hover {
  background: rgba(255,255,255,0.14) !important;
  border-color: rgba(255,255,255,0.25) !important;
  color: #fff !important;
  transform: translateY(-1px);
}
.jm-meeting-header .btn-primary {
  background: var(--gn-green) !important;
  border-color: var(--gn-green) !important;
  box-shadow: 0 4px 16px rgba(0,148,96,0.4) !important;
}
.jm-meeting-header .btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 24px rgba(0,148,96,0.5) !important;
}

/* Join input in header */
.jm-join-meeting .form-control {
  border-radius: 10px 0 0 10px !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-right: none !important;
  font-size: 13px;
  padding: 10px 14px 10px 40px;
  background: rgba(255,255,255,0.06) !important;
  color: #fff !important;
  transition: all 0.2s;
}
.jm-join-meeting .form-control::placeholder { color: rgba(255,255,255,0.25); }
.jm-join-meeting .form-control:focus {
  border-color: var(--gn-green) !important;
  box-shadow: 0 0 0 3px rgba(0,148,96,0.12) !important;
  background: rgba(255,255,255,0.1) !important;
}
.jm-join-meeting .input-icon-addon { color: rgba(255,255,255,0.35); }
button.link.jm-join-link {
  position: absolute;
  top: 0; right: 0; bottom: 0;
  font-weight: 700 !important;
  cursor: pointer;
  border: none;
  background: var(--gn-yellow) !important;
  color: var(--gn-dark) !important;
  font-size: 11px !important;
  letter-spacing: 1.5px;
  padding: 0 18px !important;
  border-radius: 0 10px 10px 0;
  transition: all 0.2s;
}
button.link.jm-join-link:hover {
  background: #e6be00 !important;
}
[dir="rtl"] button.link.jm-join-link { right: unset; left: 0; border-radius: 10px 0 0 10px; }

/* ============================================
   MEETING LIST PANEL
   ============================================ */
.jm-meeting-search {
  padding: 14px 20px !important;
  border-bottom: 1px solid var(--gn-border);
  background: var(--gn-bg) !important;
}
[data-bs-theme="dark"] .jm-meeting-search { background: #111 !important; border-color: #222; }
.jm-meeting-search .form-control {
  border-radius: var(--gn-radius-sm) !important;
  font-size: 12px !important;
  border: 1px solid var(--gn-border) !important;
  background: var(--gn-card-bg) !important;
  padding: 9px 14px !important;
}
.jm-meeting-search .form-control:focus {
  border-color: var(--gn-green) !important;
  box-shadow: 0 0 0 3px rgba(0,148,96,0.08) !important;
}
.jm-meeting-search .jm-join-link,
.jm-meeting-search .input-group-text.jm-join-link {
  background: var(--gn-green) !important;
  color: #fff !important;
  border-radius: var(--gn-radius-sm) !important;
  padding: 8px 14px !important;
  border: none !important;
  transition: all 0.2s;
}
.jm-meeting-search .jm-join-link:hover { background: var(--gn-green-dark) !important; }

/* Meeting cards in list */
.jm-meeting-card {
  padding: 16px 20px !important;
  border-bottom: 1px solid var(--gn-border) !important;
  cursor: pointer;
  transition: all 0.2s;
  position: relative;
  border-radius: 0 !important;
}
[data-bs-theme="dark"] .jm-meeting-card { border-color: #222 !important; }
.jm-meeting-card:hover {
  background: linear-gradient(90deg, rgba(0,148,96,0.04) 0%, transparent 100%) !important;
}
.jm-meeting-card.active,
.list-group-transparent .list-group-item.active {
  background: linear-gradient(90deg, rgba(0,148,96,0.08) 0%, rgba(0,148,96,0.02) 100%) !important;
  border-left: 3px solid var(--gn-green) !important;
  padding-left: 17px !important;
}
.nav-pills .nav-link.active::after { display: none !important; }
.nav-pills .jm-meeting-card.nav-link { border-radius: 0 !important; }
.meeting-title {
  font-family: 'Poppins', sans-serif;
  font-weight: 600 !important;
  font-size: 14px !important;
  color: var(--gn-text);
  max-width: 330px !important;
}
.created-time {
  font-size: 10px !important;
  color: var(--gn-text-muted) !important;
  background: var(--gn-bg);
  padding: 2px 8px;
  border-radius: 50px;
  font-weight: 600;
}
.jm-meeting-id {
  font-size: 11px !important;
  font-family: 'Courier New', monospace !important;
  color: var(--gn-text-muted);
}
.jm-meeting-date { gap: 4px; }
.jm-meeting-card .text-truncate { max-width: 550px; }
.jm-meeting-date .text-truncate { max-width: 300px; }

/* Left panel border */
.border-end { border-right: 1px solid var(--gn-border) !important; }
[data-bs-theme="dark"] .border-end { border-color: #222 !important; }

/* ============================================
   MEETING DETAIL PANEL
   ============================================ */
.jm-meeting-detail {
  padding: 28px 32px !important;
  background: var(--gn-card-bg);
}
[data-bs-theme="dark"] .jm-meeting-detail { background: #151515; }

/* Detail heading with green pulse */
.jm-meeting-heading {
  padding-bottom: 20px;
  margin-bottom: 20px !important;
  border-bottom: 1px solid var(--gn-border);
}
[data-bs-theme="dark"] .jm-meeting-heading { border-color: #222; }
.jm-meeting-heading h2, #meetingTitleDetail {
  font-family: 'Poppins', sans-serif !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  color: var(--gn-text) !important;
  letter-spacing: -0.3px;
}
[data-bs-theme="dark"] .jm-meeting-heading h2 { color: #f0f0f0 !important; }
.jm-meeting-actions { gap: 8px !important; white-space: nowrap; }
.jm-meeting-heading .jm-meeting-actions a { margin-left: 0 !important; }

/* Detail info - styled as grid cards */
.jm-meeting-detail dl {
  display: grid !important;
  grid-template-columns: auto 1fr auto 1fr !important;
  gap: 0 !important;
  background: var(--gn-bg) !important;
  border-radius: 12px !important;
  padding: 0 !important;
  margin-bottom: 24px !important;
  overflow: hidden;
  border: 1px solid var(--gn-border);
}
[data-bs-theme="dark"] .jm-meeting-detail dl {
  background: #111 !important;
  border-color: #222;
}
.jm-meeting-detail dl dd {
  font-family: 'Poppins', sans-serif;
  font-size: 10px !important;
  font-weight: 700 !important;
  color: var(--gn-text-muted) !important;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 14px 0 14px 18px !important;
  margin: 0 !important;
  border-bottom: 1px solid var(--gn-border);
  display: flex;
  align-items: center;
}
.jm-meeting-detail dl dt {
  font-family: 'Poppins', sans-serif;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--gn-text) !important;
  padding: 14px 18px 14px 10px !important;
  margin: 0 !important;
  border-bottom: 1px solid var(--gn-border);
  display: flex;
  align-items: center;
}
[data-bs-theme="dark"] .jm-meeting-detail dl dd,
[data-bs-theme="dark"] .jm-meeting-detail dl dt {
  border-color: #222;
}
[data-bs-theme="dark"] .jm-meeting-detail dl dt { color: #e0e0e0 !important; }

/* Calendar buttons */
.jm-addto-btn { gap: 10px !important; }
.jm-addto-btn a {
  gap: 8px;
  font-family: 'Poppins', sans-serif;
  font-size: 12px !important;
  font-weight: 500;
  padding: 10px 18px !important;
  border-radius: 10px !important;
  border: 1px solid var(--gn-border) !important;
  background: var(--gn-card-bg) !important;
  transition: all 0.25s !important;
}
.jm-addto-btn a:hover {
  border-color: var(--gn-green) !important;
  transform: translateY(-2px);
  box-shadow: var(--gn-shadow-md);
}
.jm-addto-btn a.jm-btn-google-calender { color: #4285f4; }
.jm-addto-btn a.jm-btn-microsoft-outlook { color: #117bd6; }

/* ============================================
   BUTTONS — Presidential Style
   ============================================ */
.btn-primary {
  background: var(--gn-green) !important;
  border-color: var(--gn-green) !important;
  border-radius: var(--gn-radius-sm) !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  padding: 10px 22px !important;
  transition: all 0.25s !important;
  box-shadow: 0 4px 14px rgba(0,148,96,0.3) !important;
  letter-spacing: 0.2px !important;
}
.btn-primary:hover, .btn-primary:active, .btn-primary:focus,
.btn-primary:disabled, .btn-primary:not(:disabled):not(.disabled):active {
  background: var(--gn-green-dark) !important;
  border-color: var(--gn-green-dark) !important;
  background-image: none !important;
  box-shadow: 0 6px 20px rgba(0,148,96,0.4) !important;
  transform: translateY(-1px);
}
.btn-outline-primary {
  color: var(--gn-green) !important;
  border-color: var(--gn-border) !important;
  border-radius: var(--gn-radius-sm) !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  background: var(--gn-card-bg) !important;
  transition: all 0.25s !important;
  box-shadow: var(--gn-shadow) !important;
}
.btn-outline-primary:hover {
  background: rgba(0,148,96,0.04) !important;
  color: var(--gn-green-dark) !important;
  border-color: var(--gn-green) !important;
  transform: translateY(-1px);
  box-shadow: var(--gn-shadow-md) !important;
}
.btn-outline-danger {
  border-radius: var(--gn-radius-sm) !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  border-color: var(--gn-border) !important;
  background: var(--gn-card-bg) !important;
  box-shadow: var(--gn-shadow) !important;
  transition: all 0.25s !important;
}
.btn-outline-danger:hover {
  border-color: var(--gn-red) !important;
  transform: translateY(-1px);
}
.btn-outline-secondary {
  border-radius: var(--gn-radius-sm) !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 500 !important;
  border-color: var(--gn-border) !important;
  background: var(--gn-card-bg) !important;
  box-shadow: var(--gn-shadow) !important;
}

/* ============================================
   MODALS
   ============================================ */
.modal-content {
  border: none !important;
  border-radius: 16px !important;
  box-shadow: 0 24px 80px rgba(0,0,0,0.18) !important;
  overflow: hidden;
}
.modal-header {
  border-bottom: 1px solid var(--gn-border) !important;
  padding: 20px 28px !important;
  background: var(--gn-bg);
}
.modal-header .modal-title {
  font-family: 'Poppins', sans-serif;
  font-size: 16px !important;
  font-weight: 600 !important;
}
.modal-body { padding: 28px !important; }
.modal-body .form-label {
  font-family: 'Poppins', sans-serif;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: var(--gn-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.8px;
}
.modal-body .form-control, .modal-body .form-select {
  border-radius: var(--gn-radius-sm) !important;
  font-family: 'Poppins', sans-serif;
  font-size: 13px !important;
  border: 1px solid var(--gn-border) !important;
  padding: 11px 14px !important;
  transition: all 0.2s;
}
.modal-body .form-control:focus, .modal-body .form-select:focus {
  border-color: var(--gn-green) !important;
  box-shadow: 0 0 0 3px rgba(0,148,96,0.1) !important;
}
.modal-footer {
  border-top: 1px solid var(--gn-border) !important;
  padding: 16px 28px !important;
  background: var(--gn-bg);
}

/* ============================================
   TOAST
   ============================================ */
.gn-toast-container { position:fixed; top:80px; right:20px; z-index:1090; }
.gn-toast {
  background: var(--gn-card-bg);
  border: 1px solid var(--gn-border);
  border-radius: 14px;
  box-shadow: 0 12px 40px rgba(0,0,0,0.12);
  min-width: 340px;
  overflow: hidden;
  border-left: 4px solid var(--gn-green);
}
.gn-toast .toast-header { background:transparent; border-bottom:1px solid var(--gn-border); padding:12px 16px; }
.gn-toast .toast-header strong { font-family:'Poppins',sans-serif; font-size:13px; font-weight:600; }
.gn-toast .toast-body { font-family:'Poppins',sans-serif; font-size:13px; padding:12px 16px; }
[data-bs-theme=dark] .toast-header { background:unset; color:var(--tblr-white); }

/* ============================================
   FOOTER
   ============================================ */
.gn-footer { background:var(--gn-card-bg); border-top:1px solid var(--gn-border); padding:16px 0; margin-top:auto; }
[data-bs-theme="dark"] .gn-footer { background:#151515; border-color:#222; }
.gn-footer-inner { max-width:1480px; margin:0 auto; padding:0 24px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.gn-footer-links { display:flex; gap:20px; list-style:none; margin:0; padding:0; }
.gn-footer-links a { font-family:'Poppins',sans-serif; font-size:12px; color:var(--gn-text-muted); text-decoration:none; transition:color 0.2s; }
.gn-footer-links a:hover { color:var(--gn-green); }
.gn-footer-copy { font-family:'Poppins',sans-serif; font-size:12px; color:var(--gn-text-muted); margin:0; }
.gn-footer-social { display:flex; gap:10px; list-style:none; margin:0; padding:0; }
.gn-footer-social a { width:32px; height:32px; border-radius:50%; background:var(--gn-bg); display:flex; align-items:center; justify-content:center; transition:all 0.2s; border:1px solid var(--gn-border); }
.gn-footer-social a:hover { background:rgba(0,148,96,0.06); border-color:var(--gn-green); }
.gn-footer-social svg { width:14px; height:14px; }

/* ============================================
   FORMS
   ============================================ */
.form-control, .form-select { font-family:'Poppins',sans-serif; border-radius:var(--gn-radius-sm); }
.form-control:focus, .form-select:focus { border-color:var(--gn-green); box-shadow:0 0 0 3px rgba(0,148,96,0.1); }
.form-label { font-family:'Poppins',sans-serif; font-size:13px; font-weight:500; }

/* ============================================
   EMPTY STATE
   ============================================ */
.empty .empty-title { font-family:'Poppins',sans-serif; font-weight:600; font-size:16px; }
.empty .empty-subtitle { font-family:'Poppins',sans-serif; font-size:13px; }

/* ============================================
   MISC
   ============================================ */
.container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl { max-width:1480px; }
.logo-image { height:4rem; width:auto; }
.navbar-logo { width:auto; height:4rem; }
.ts-dropdown { z-index:1056; }
[type="radio"].hide-radio { display:none; }
.g-recaptcha { overflow:hidden; width:298px; height:74px; }
.g-recaptcha iframe { margin:-1px 0 0 -2px; }
.jm-profile .jm-header-right { padding:0; }
.jm-invite-list { max-height:350px; overflow-y:auto; }
.jm-meeting-embed { font-size:12px; resize:none; height:89px; border-radius:var(--gn-radius-sm); }
.page-link { border-radius:6px !important; font-family:'Poppins',sans-serif; font-size:13px; }
.page-item.active .page-link { background-color:var(--gn-green); border-color:var(--gn-green); }

/* Hero / Landing */
.hero { padding:6.5rem 0; }
.hero-title { text-align:center; font-family:'Playfair Display',Georgia,serif; font-size:3rem; font-weight:600; letter-spacing:-0.02em; line-height:1.2; }
.hero-description { color:var(--gn-text-muted); font-family:'Poppins',sans-serif; font-size:1.1rem; line-height:1.6; margin:0 auto; max-width:45rem; }
.hero-description-wide { max-width:61.875rem; }
.pricing-label { position:absolute; top:0; left:0; transform:translateY(-50%); right:0; display:flex; align-items:center; justify-content:center; }
.featured { z-index:1; border:2px solid var(--gn-green); }
@media (min-width:768px) { .featured { border-radius:var(--gn-radius); } }

/* Loader */
#cover-spin { position:fixed; top:0; left:0; width:100%; height:100%; background-color:rgba(255,255,255,0.9); z-index:9999; backdrop-filter:blur(4px); }
@keyframes spin { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }
#cover-spin::after { content:""; display:block; position:absolute; left:calc(50% - 20px); top:40%; width:40px; height:40px; border:3px solid var(--gn-green); border-top-color:transparent; border-radius:50%; animation:spin 0.8s linear infinite; }

/* ============================================
   RESPONSIVE
   ============================================ */
@media screen and (max-width:991px) {
  .gn-header-inner { padding:0 16px; }
  .gn-header-nav { display:none; }
  .gn-mobile-toggle { display:flex; }
  .jm-header-left, .jm-header-right { padding:16px 20px; }
  .jm-meeting-detail { padding:20px !important; }
}
@media screen and (max-width:767px) {
  .featured { transform:unset; }
  .container, .container-lg, .container-md, .container-sm, .container-xl { max-width:100%; }
  .btn-outline-primary, .Jm-upgrade-btn, .btn-outline-danger {
    font-size:0px !important; width:36px; height:36px; padding:0 !important;
    display:flex; align-items:center; justify-content:center;
  }
  .jm-instant-meeting, .jm-join-meeting { width:100%; }
  .jm-header-left {
    padding:16px !important;
    border-right:none !important;
    border-bottom:1px solid rgba(255,255,255,0.06) !important;
  }
  .jm-header-right { padding:16px !important; }
  .jm-meeting-detail { padding:16px !important; }
  .jm-meeting-detail dl { grid-template-columns:auto 1fr !important; }
  .text-secondary { font-size:12px; }
  .jm-meeting-heading .jm-meeting-actions a { margin:0; }
  body { font-size:13px; }
  .jm-meeting-card { padding:14px 16px !important; }
  .jm-meeting-search { padding:12px 16px !important; }
  .jm-meeting-card .text-truncate { max-width:280px; }
  .jm-meeting-id { width:130px; }
  .jm-meeting-date { width:60%; }
  .jm-meeting-date .text-truncate { width:140px; }
  .meeting-title { max-width:200px !important; }
  .jm-addto-btn { flex-direction:column; }
  .hero-title { font-size:2rem; }
  .hero-description { font-size:1rem; }
  .gn-footer-inner { flex-direction:column; text-align:center; }
  .gn-footer-links, .gn-footer-social { justify-content:center; }
  .gn-header-brand img { height:32px; }
  .jm-meeting-heading { padding-bottom:14px; margin-bottom:14px !important; }
  .jm-meeting-heading h2, #meetingTitleDetail { font-size:18px !important; }
}
@media only screen and (min-width:768px) and (max-width:959px) {
  .container, .container-lg, .container-md, .container-sm, .container-xl { max-width:100%; }
  .btn-outline-primary, .Jm-upgrade-btn { font-size:0px !important; width:36px; height:36px; padding:0 !important; }
  .jm-instant-meeting, .jm-join-meeting { width:100%; }
  .jm-header-left, .jm-meeting-detail, .jm-meeting-card, .jm-meeting-search, .jm-header-right { padding:16px !important; }
}
@media screen and (min-width:1200px) and (max-width:1600px) {
  .container, .container-lg, .container-md, .container-sm, .container-xl { max-width:100%; }
  .page-body { padding-top:20px; }
  .jm-meeting-card { padding:14px 24px !important; }
  .jm-meeting-detail { padding:24px 28px !important; }
  .jm-meeting-card .text-truncate { max-width:440px; }
  .jm-meeting-date p.text-truncate { max-width:220px; }
}

/* ================================================================
   GV DASHBOARD — PRESIDENTIAL COMMAND CENTER
   Cards grid + expandable detail panel
   ================================================================ */

.gv-command { background:linear-gradient(160deg,#050f09 0%,#0a1f14 25%,#0f3321 50%,#145a35 100%); border-radius:16px; margin-bottom:24px; position:relative; overflow:hidden; }
.gv-command-bg { position:absolute; inset:0; background:radial-gradient(ellipse 350px 350px at 90% 15%,rgba(0,148,96,0.14) 0%,transparent 100%),radial-gradient(ellipse 250px 250px at 10% 85%,rgba(252,209,22,0.06) 0%,transparent 100%),radial-gradient(ellipse 200px 200px at 50% 130%,rgba(206,17,38,0.04) 0%,transparent 100%); pointer-events:none; }
.gv-command-row { position:relative; z-index:1; padding:28px 32px 0; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.gv-command-left { flex-shrink:0; }
.gv-badge { display:inline-flex; align-items:center; gap:8px; font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:2px; color:rgba(255,255,255,0.4); background:rgba(255,255,255,0.04); padding:5px 14px; border-radius:50px; border:1px solid rgba(255,255,255,0.06); margin-bottom:10px; }
.gv-pulse { width:6px; height:6px; border-radius:50%; background:var(--gn-green); box-shadow:0 0 8px var(--gn-green); animation:gvP 2s infinite; }
@keyframes gvP { 0%,100%{opacity:1;} 50%{opacity:0.3;} }
.gv-title { font-family:'Playfair Display',Georgia,serif; font-size:28px; font-weight:500; color:#fff; margin:0 0 4px; }
.gv-sub { font-size:12px; color:rgba(255,255,255,0.38); margin:0; }
.gv-command-center { flex:1; max-width:400px; min-width:200px; }
.gv-join-box { display:flex; gap:0; position:relative; }
.gv-join-box input { flex:1; background:rgba(255,255,255,0.07); border:1px solid rgba(255,255,255,0.1); border-right:none; border-radius:10px 0 0 10px; padding:11px 16px; color:#fff; font-family:'Poppins',sans-serif; font-size:12px; outline:none; }
.gv-join-box input::placeholder { color:rgba(255,255,255,0.22); }
.gv-join-box input:focus { border-color:var(--gn-green); background:rgba(255,255,255,0.1); }
.gv-join-go { background:var(--gn-yellow); color:var(--gn-dark); border:none; border-radius:0 10px 10px 0; padding:11px 18px; font-family:'Poppins',sans-serif; font-size:10px; font-weight:800; letter-spacing:1.5px; cursor:pointer; transition:background 0.2s; }
.gv-join-go:hover { background:#e6be00; }
.gv-command-actions { display:flex; gap:6px; flex-shrink:0; }
.gv-act { display:flex; flex-direction:column; align-items:center; gap:4px; padding:10px 16px; border-radius:10px; cursor:pointer; transition:all 0.25s; text-decoration:none; border:none; }
.gv-act svg { width:20px; height:20px; }
.gv-act span { font-family:'Poppins',sans-serif; font-size:10px; font-weight:600; }
.gv-act-start { background:var(--gn-green); color:#fff; box-shadow:0 4px 20px rgba(0,148,96,0.45); }
.gv-act-start:hover { background:var(--gn-green-dark); transform:translateY(-2px); box-shadow:0 6px 28px rgba(0,148,96,0.55); color:#fff; }
.gv-act-ghost { background:rgba(255,255,255,0.05); color:rgba(255,255,255,0.6); border:1px solid rgba(255,255,255,0.08); }
.gv-act-ghost:hover { background:rgba(255,255,255,0.1); color:#fff; transform:translateY(-2px); }
.gv-stats-bar { position:relative; z-index:1; padding:14px 32px 18px; display:flex; gap:28px; border-top:1px solid rgba(255,255,255,0.04); margin-top:16px; }
.gv-stat { font-family:'Poppins',sans-serif; font-size:11px; color:rgba(255,255,255,0.3); display:flex; align-items:center; gap:6px; font-weight:500; }
.gv-dot { width:5px; height:5px; border-radius:50%; }
.gv-dot.g { background:var(--gn-green); box-shadow:0 0 6px var(--gn-green); }
.gv-dot.y { background:var(--gn-yellow); box-shadow:0 0 6px rgba(252,209,22,0.4); }
.gv-dot.r { background:var(--gn-red); box-shadow:0 0 6px rgba(206,17,38,0.3); }

/* EMPTY */
.gv-empty { text-align:center; padding:60px 40px !important; background:var(--gn-card-bg); border:2px dashed var(--gn-border); border-radius:16px; height:auto !important; }
[data-bs-theme="dark"] .gv-empty { background:#151515; border-color:#333; }
.gv-empty-icon { width:72px; height:72px; border-radius:50%; background:rgba(0,148,96,0.06); border:2px dashed rgba(0,148,96,0.15); display:flex; align-items:center; justify-content:center; margin:0 auto 20px; }
.gv-empty-icon svg { width:30px; height:30px; color:var(--gn-green); stroke:var(--gn-green); }

/* MEETINGS SECTION */
.gv-meetings { }
.gv-sec-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; flex-wrap:wrap; gap:12px; }
.gv-sec-left h2 { font-family:'Poppins',sans-serif; font-size:18px; font-weight:700; margin:0; color:var(--gn-text); display:flex; align-items:center; gap:10px; }
.gv-count { background:var(--gn-green); color:#fff; font-size:10px; font-weight:700; padding:2px 9px; border-radius:50px; }
.gv-sec-right { display:flex; gap:10px; align-items:center; }
.gv-search-form { position:relative; display:flex; align-items:center; }
.gv-search-form svg { position:absolute; left:12px; width:16px; height:16px; color:var(--gn-text-muted); pointer-events:none; }
.gv-search-form input { padding:9px 14px 9px 36px; border:1px solid var(--gn-border); border-radius:10px; font-family:'Poppins',sans-serif; font-size:12px; background:var(--gn-card-bg); width:200px; outline:none; transition:all 0.2s; }
[data-bs-theme="dark"] .gv-search-form input { background:#1a1a1a; border-color:#333; color:#eee; }
.gv-search-form input:focus { border-color:var(--gn-green); box-shadow:0 0 0 3px rgba(0,148,96,0.08); width:260px; }

/* CARDS GRID */
.gv-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:14px; margin-bottom:12px; }
.gv-card { background:var(--gn-card-bg); border:1px solid var(--gn-border); border-radius:14px; padding:20px; cursor:pointer; transition:all 0.3s cubic-bezier(0.4,0,0.2,1); position:relative; overflow:hidden; display:flex; flex-direction:column; }
[data-bs-theme="dark"] .gv-card { background:#1a1a1a; border-color:#2a2a2a; }
.gv-card::after { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:transparent; transition:background 0.3s; }
.gv-card:hover { transform:translateY(-4px); box-shadow:0 8px 30px rgba(0,0,0,0.08); border-color:rgba(0,148,96,0.2); }
.gv-card:hover::after { background:var(--gn-green); }
.gv-card.active { border-color:var(--gn-green) !important; box-shadow:0 8px 30px rgba(0,148,96,0.12) !important; }
.gv-card.active::after { background:linear-gradient(90deg,var(--gn-red),var(--gn-yellow),var(--gn-green)) !important; }
.gv-card-top { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:12px; }
.gv-card-icon { width:36px; height:36px; border-radius:10px; background:rgba(0,148,96,0.08); display:flex; align-items:center; justify-content:center; }
.gv-card-icon svg { width:18px; height:18px; color:var(--gn-green); stroke:var(--gn-green); }
.gv-card-time { font-size:10px !important; color:var(--gn-text-muted) !important; }
.gv-card-title { font-family:'Poppins',sans-serif; font-size:15px; font-weight:600; margin:0 0 4px; color:var(--gn-text); max-width:none !important; }
.gv-card-desc { font-size:12px; color:var(--gn-text-muted); margin:0 0 14px; min-height:18px; flex:1; }
.gv-card-bottom { display:flex; justify-content:space-between; align-items:center; }
.gv-card-id { font-family:'Courier New',monospace !important; font-size:11px !important; background:var(--gn-bg); padding:3px 10px; border-radius:6px; }
[data-bs-theme="dark"] .gv-card-id { background:#111; }
.gv-pagination { margin-bottom:8px; }

/* DETAIL PANEL */
.gv-detail { background:var(--gn-card-bg); border:1px solid var(--gn-border); border-radius:16px; overflow:hidden; margin-top:8px; box-shadow:0 2px 16px rgba(0,0,0,0.05); animation:gvSlide 0.3s ease; }
@keyframes gvSlide { from{opacity:0;transform:translateY(-10px);} to{opacity:1;transform:translateY(0);} }
[data-bs-theme="dark"] .gv-detail { background:#151515; border-color:#2a2a2a; }
.gv-back { display:flex; align-items:center; gap:6px; padding:14px 20px; font-size:13px; color:var(--gn-green); text-decoration:none; border-bottom:1px solid var(--gn-border); }
.gv-back svg { width:16px; height:16px; }
.gv-detail-grid { display:grid; grid-template-columns:1fr 300px; }
.gv-detail-info { padding:28px 32px; border-right:1px solid var(--gn-border); }
[data-bs-theme="dark"] .gv-detail-info { border-color:#2a2a2a; }
.gv-detail-name { display:flex; align-items:center; gap:10px; margin-bottom:20px; }
.gv-detail-pulse { width:8px; height:8px; border-radius:50%; background:var(--gn-green); box-shadow:0 0 8px var(--gn-green); animation:gvP 2s infinite; flex-shrink:0; }
.gv-detail-name h2 { font-family:'Poppins',sans-serif; font-size:22px; font-weight:700; margin:0; color:var(--gn-text); }
[data-bs-theme="dark"] .gv-detail-name h2,
[data-bs-theme="dark"] #meetingTitleDetail,
[data-bs-theme="dark"] .jm-meeting-heading h2 { color: #f0f0f0 !important; }
.gv-info-chips { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:20px; }
.gv-chip { background:var(--gn-bg); border:1px solid var(--gn-border); border-radius:10px; padding:10px 16px; min-width:120px; }
[data-bs-theme="dark"] .gv-chip { background:#111; border-color:#2a2a2a; }
.gv-chip label { display:block; font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:var(--gn-text-muted); margin-bottom:4px; }
.gv-chip span { font-size:14px; font-weight:600; color:var(--gn-text); display:block; }
[data-bs-theme="dark"] .gv-chip span { color:#e0e0e0; }
.gv-chip-mono { font-family:'Courier New',monospace !important; letter-spacing:1px; color:var(--gn-green) !important; }
.gv-chip-wide { flex:1 1 100%; }
.gv-cal-row { display:flex; gap:8px; }
.gv-cal-btn { display:flex; align-items:center; gap:6px; padding:8px 14px; border:1px solid var(--gn-border); border-radius:8px; font-family:'Poppins',sans-serif; font-size:12px; color:var(--gn-text-muted); text-decoration:none; transition:all 0.2s; }
.gv-cal-btn:hover { border-color:var(--gn-green); color:var(--gn-text); }

/* Detail actions */
.gv-detail-actions { padding:28px 24px; display:flex; flex-direction:column; gap:8px; }
.gv-big-start { display:flex; align-items:center; justify-content:center; gap:10px; padding:16px; background:var(--gn-green); color:#fff; border:none; border-radius:12px; font-family:'Poppins',sans-serif; font-size:15px; font-weight:600; cursor:pointer; transition:all 0.25s; text-decoration:none; box-shadow:0 6px 24px rgba(0,148,96,0.4); margin-bottom:8px; }
.gv-big-start:hover { background:var(--gn-green-dark); transform:translateY(-2px); box-shadow:0 8px 32px rgba(0,148,96,0.5); color:#fff; }
.gv-big-start svg { width:20px; height:20px; }
.gv-action-grid { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.gv-aq { display:flex; align-items:center; gap:8px; padding:10px 14px; border:1px solid var(--gn-border); border-radius:10px; font-family:'Poppins',sans-serif; font-size:12px; font-weight:500; color:var(--gn-text); text-decoration:none; cursor:pointer; transition:all 0.2s; background:var(--gn-card-bg); }
[data-bs-theme="dark"] .gv-aq { background:#1a1a1a; border-color:#2a2a2a; color:#ccc; }
.gv-aq:hover { border-color:var(--gn-green); transform:translateY(-1px); color:var(--gn-text); }
.gv-aq svg { width:16px; height:16px; color:var(--gn-green); flex-shrink:0; }
.gv-aq-danger:hover { border-color:var(--gn-red); }
.gv-aq-danger:hover svg { color:var(--gn-red); }
.gv-modal-id { font-family:'Courier New',monospace; font-size:13px; color:var(--gn-green); }

/* Hide old structures */
.jm-meeting-header { display:none !important; }

/* Responsive */
@media screen and (max-width:991px) {
  .gv-command-row { padding:24px 20px 0; }
  .gv-stats-bar { padding:12px 20px 16px; }
  .gv-detail-grid { grid-template-columns:1fr; }
  .gv-detail-info { border-right:none; border-bottom:1px solid var(--gn-border); }
  .gv-grid { grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); }
}
@media screen and (max-width:767px) {
  .gv-command { border-radius:12px; margin-bottom:16px; }
  .gv-command-row { padding:20px 16px 0; flex-direction:column; align-items:flex-start; }
  .gv-title { font-size:22px; }
  .gv-command-center { max-width:100%; width:100%; }
  .gv-command-actions { width:100%; justify-content:space-between; }
  .gv-act { flex:1; padding:8px 10px; }
  .gv-act span { font-size:9px; }
  .gv-stats-bar { padding:12px 16px 16px; gap:16px; flex-wrap:wrap; }
  .gv-grid { grid-template-columns:1fr; gap:10px; }
  .gv-card { padding:16px; }
  .gv-sec-head { flex-direction:column; align-items:flex-start; }
  .gv-sec-right { width:100%; }
  .gv-search-form { flex:1; }
  .gv-search-form input { width:100%; }
  .gv-search-form input:focus { width:100%; }
  .gv-detail-info { padding:20px; }
  .gv-detail-actions { padding:20px; }
  .gv-detail-name h2 { font-size:18px; }
  .gv-info-chips { gap:8px; }
  .gv-chip { min-width:auto; flex:1 1 calc(50% - 4px); }
  .gv-action-grid { grid-template-columns:1fr 1fr; gap:4px; }
  .gv-aq { padding:8px 10px; font-size:11px; }
  .gv-big-start { padding:14px; font-size:14px; }
}

/* ================================================================
   DARK MODE FIXES — Dashboard
   ================================================================ */
[data-bs-theme="dark"] .gv-card .meeting-title,
[data-bs-theme="dark"] .gv-card .gv-card-title,
[data-bs-theme="dark"] .gv-card h3 { color: #e8e8e8 !important; }

[data-bs-theme="dark"] .gv-card .meeting-description,
[data-bs-theme="dark"] .gv-card .gv-card-desc,
[data-bs-theme="dark"] .gv-card .text-secondary,
[data-bs-theme="dark"] .gv-card .created-time,
[data-bs-theme="dark"] .gv-card .gv-card-time,
[data-bs-theme="dark"] .gv-card .jm-meeting-id,
[data-bs-theme="dark"] .gv-card .jm-meeting-date,
[data-bs-theme="dark"] .gv-card .jm-meeting-date span { color: #999 !important; }

[data-bs-theme="dark"] .gv-card .text-body { color: #ddd !important; }

[data-bs-theme="dark"] .gv-card:hover { box-shadow: 0 8px 30px rgba(0,0,0,0.3); border-color: rgba(0,148,96,0.3); }
[data-bs-theme="dark"] .gv-card.active { border-color: var(--gn-green) !important; box-shadow: 0 8px 30px rgba(0,148,96,0.2) !important; }

[data-bs-theme="dark"] .gv-card-icon { background: rgba(0,148,96,0.15); }
[data-bs-theme="dark"] .gv-card-id { background: #0d0d0d; color: #888 !important; }

/* Section header */
[data-bs-theme="dark"] .gv-sec-head h2 { color: #e8e8e8; }
[data-bs-theme="dark"] .gv-sec-head { border-color: #222; }

/* Detail panel */
[data-bs-theme="dark"] .gv-detail { box-shadow: 0 2px 16px rgba(0,0,0,0.3); }
[data-bs-theme="dark"] .gv-back { color: var(--gn-green); border-color: #2a2a2a; }
[data-bs-theme="dark"] .gv-chip label { color: #777; }
[data-bs-theme="dark"] .gv-chip-mono { color: #00c07a !important; }
[data-bs-theme="dark"] .gv-cal-btn { border-color: #2a2a2a; color: #999; }
[data-bs-theme="dark"] .gv-cal-btn:hover { border-color: var(--gn-green); color: #ddd; }
[data-bs-theme="dark"] .gv-aq:hover { border-color: rgba(0,148,96,0.5); background: rgba(0,148,96,0.08); color: #eee; }
[data-bs-theme="dark"] .gv-aq-danger:hover { border-color: rgba(206,17,38,0.5); background: rgba(206,17,38,0.06); }

/* Pagination */
[data-bs-theme="dark"] .gv-pagination .page-link { background: #1a1a1a; border-color: #2a2a2a; color: #ccc; }
[data-bs-theme="dark"] .gv-pagination .page-item.active .page-link { background: var(--gn-green); border-color: var(--gn-green); color: #fff; }

/* Big start button dark */
[data-bs-theme="dark"] .gv-big-start { box-shadow: 0 6px 24px rgba(0,148,96,0.3); }
[data-bs-theme="dark"] .gv-big-start:hover { box-shadow: 0 8px 32px rgba(0,148,96,0.4); }

/* Footer in dark */
[data-bs-theme="dark"] .gn-footer { background: #111; border-color: #1a1a1a; }
[data-bs-theme="dark"] .gn-footer-copy { color: #555; }
[data-bs-theme="dark"] .gn-footer-links a { color: #666; }
[data-bs-theme="dark"] .gn-footer-links a:hover { color: var(--gn-green); }
[data-bs-theme="dark"] .gn-footer-social a { background: #1a1a1a; border-color: #2a2a2a; }

/* Modals in dark */
[data-bs-theme="dark"] .modal-content { background: #1a1a1a; border-color: #2a2a2a; }
[data-bs-theme="dark"] .modal-header { background: #141414; border-color: #2a2a2a; }
[data-bs-theme="dark"] .modal-header .modal-title { color: #e8e8e8; }
[data-bs-theme="dark"] .modal-footer { background: #141414; border-color: #2a2a2a; }
[data-bs-theme="dark"] .modal-body .form-control,
[data-bs-theme="dark"] .modal-body .form-select { background: #111; border-color: #333; color: #e0e0e0; }
[data-bs-theme="dark"] .modal-body .form-label { color: #888; }

/* General text in dark */
[data-bs-theme="dark"] .text-body { color: #ddd !important; }
[data-bs-theme="dark"] .text-secondary { color: #888 !important; }


@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&display=swap');

/* ── FOND DE LA SALLE ── */
.jm-start-call .page-wrapper {
  background: #0c0c0c !important;
}

.jm-start-call {
  background: #0c0c0c !important;
}

.jm-start-call .page-body {
  padding: 0 !important;
  margin: 0 !important;
}

/* ── GRILLE VIDÉO ── */
#videos.jm-start-call-uservideo {
  background: #0c0c0c !important;
  gap: 6px !important;
  padding: 6px !important;
}

.videoContainer {
  border-radius: 14px !important;
  overflow: hidden !important;
  background: #1a1a1a !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
}

.videoContainer.speaking-shadow {
  box-shadow: 0 0 0 3px #009460, 0 0 20px rgba(0,148,96,0.25) !important;
}

.videoContainer video.cam {
  border-radius: 14px !important;
}

/* Avatar */
.jm-call-start-avatar .avatar {
  width: 80px !important;
  height: 80px !important;
  font-size: 28px !important;
  font-weight: 600 !important;
  background: linear-gradient(135deg, #007a4e, #0f2b1e) !important;
  color: #fff !important;
  border: 3px solid rgba(255,255,255,0.1) !important;
  border-radius: 50% !important;
}

/* Nom sous la vidéo */
.jm-start-call-username .tag {
  background: rgba(0,0,0,0.65) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 8px !important;
  padding: 5px 12px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: #fff !important;
  font-family: 'Poppins', sans-serif !important;
}

.jm-start-call-username .tag .moderator-icon {
  color: #FCD116 !important;
}

/* ════════════════════════════════════════════════════════════
   BARRE DE CONTRÔLE — Style pill SANS changer la position
   ════════════════════════════════════════════════════════════ */
.jm-call-start-actin {
  background: rgba(15, 20, 18, 0.92) !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  padding: 10px 20px !important;
  gap: 12px !important;
}

/* Logo + timer */
.jm-call-start-logo {
  gap: 10px !important;
  padding-right: 16px !important;
  border-right: 1px solid rgba(255,255,255,0.1) !important;
}

.jm-call-start-logo img {
  width: 32px !important;
  height: 32px !important;
  border-radius: 8px !important;
}

.jm-start-call-name p.meeting-id,
.jm-start-call-name p.m-0.meeting-id {
  font-size: 11px !important;
  color: rgba(255,255,255,0.5) !important;
  font-family: 'Poppins', sans-serif !important;
}

.jm-start-call-name h3.timer,
.jm-start-call-name h3.m-0.timer {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #fff !important;
  font-family: 'JetBrains Mono', monospace !important;
  letter-spacing: 1px !important;
}

/* ── BOUTONS — Ronds ── */
.jm-video-action.meeting-buttons {
  gap: 6px !important;
}

.jm-video-action .btn {
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  border: none !important;
  transition: all 0.2s ease !important;
}

/* Boutons normaux */
.jm-video-action .btn.btn-outline-light {
  background: rgba(255,255,255,0.1) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  color: #fff !important;
}

.jm-video-action .btn.btn-outline-light:hover {
  background: rgba(255,255,255,0.2) !important;
  border-color: rgba(255,255,255,0.3) !important;
}

/* Bouton QUITTER — ovale rouge */
.jm-video-action .btn.btn-danger#leave {
  width: 64px !important;
  height: 44px !important;
  border-radius: 22px !important;
  background: #CE1126 !important;
  border: none !important;
  color: #fff !important;
  margin-left: 10px !important;
  box-shadow: 0 2px 12px rgba(206,17,38,0.35) !important;
}

.jm-video-action .btn.btn-danger#leave:hover {
  background: #e0132a !important;
  box-shadow: 0 4px 20px rgba(206,17,38,0.5) !important;
}

/* Dropdown Présenter */
.jm-video-action .dropdown .btn {
  background: rgba(255,255,255,0.1) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  color: #fff !important;
}

.jm-video-action .dropdown .btn:hover {
  background: rgba(255,255,255,0.2) !important;
}

.jm-video-action .dropdown .btn::after {
  display: none !important;
}

/* Trois-points à droite */
.jm-call-start-actin > .jm-video-action:last-child {
  padding-left: 16px !important;
  border-left: 1px solid rgba(255,255,255,0.1) !important;
}

.jm-call-start-actin > .jm-video-action:last-child > .dropdown > a {
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(255,255,255,0.06) !important;
  cursor: pointer !important;
}

.jm-call-start-actin > .jm-video-action:last-child > .dropdown > a:hover {
  background: rgba(255,255,255,0.12) !important;
}

/* ── Menus déroulants ── */
.jm-video-action .dropdown-menu,
.jm-start-call-mobile-header .dropdown-menu {
  background: rgba(20, 25, 22, 0.95) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 14px !important;
  padding: 6px !important;
  box-shadow: 0 16px 48px rgba(0,0,0,0.5) !important;
  min-width: 220px !important;
}

.jm-video-action .dropdown-menu .dropdown-item,
.jm-start-call-mobile-header .dropdown-menu .dropdown-item {
  color: rgba(255,255,255,0.85) !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
  font-size: 13px !important;
  font-family: 'Poppins', sans-serif !important;
}

.jm-video-action .dropdown-menu .dropdown-item:hover,
.jm-start-call-mobile-header .dropdown-menu .dropdown-item:hover {
  background: rgba(0,148,96,0.15) !important;
  color: #fff !important;
}

.jm-video-action .dropdown-menu .dropdown-item .badge {
  background: #009460 !important;
  border-radius: 10px !important;
  font-size: 10px !important;
}

/* ════════════════════════════════════════════════════════════
   HEADER MOBILE
   ════════════════════════════════════════════════════════════ */
.jm-start-call-mobile-header {
  background: rgba(15, 20, 18, 0.92) !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  padding: 10px 16px !important;
}

/* ════════════════════════════════════════════════════════════
   PANNEAUX LATÉRAUX (CHAT, CHATGPT)
   ════════════════════════════════════════════════════════════ */
.jm-start-call-sidepanel {
  background: rgba(18, 22, 20, 0.95) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
}

.jm-start-call-sidepanel .card-header {
  background: rgba(255,255,255,0.03) !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  padding: 14px 18px !important;
}

.jm-start-call-sidepanel .card-header .card-title {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  color: #fff !important;
}

.jm-start-call-sidepanel .card-footer {
  background: rgba(255,255,255,0.02) !important;
  border-top: 1px solid rgba(255,255,255,0.06) !important;
}

/* Chat input */
.jm-start-call-sidepanel .input-group-flat {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}

.jm-start-call-sidepanel .input-group-flat .form-control {
  background: transparent !important;
  border: none !important;
  color: #fff !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 13px !important;
}

.jm-start-call-sidepanel .input-group-flat .form-control::placeholder {
  color: rgba(255,255,255,0.3) !important;
}

.jm-start-call-sidepanel .input-group-flat .input-group-text {
  background: transparent !important;
  border: none !important;
}

.jm-start-call-sidepanel .input-group-flat .input-group-text a {
  color: rgba(255,255,255,0.4) !important;
}

.jm-start-call-sidepanel .input-group-flat .input-group-text a:hover {
  color: #009460 !important;
}

/* Chat bulles */
.chat-bubble {
  border-radius: 14px !important;
  padding: 10px 14px !important;
  background: rgba(255,255,255,0.06) !important;
  font-family: 'Poppins', sans-serif !important;
}

.chat-bubble-me .chat-bubble {
  background: rgba(0, 148, 96, 0.15) !important;
}

.chat-bubble-author {
  font-weight: 600 !important;
  font-size: 12px !important;
  color: #009460 !important;
}

.chat-bubble-date {
  font-size: 10px !important;
  color: rgba(255,255,255,0.3) !important;
}

.chat-bubble-body p {
  font-size: 13px !important;
  color: rgba(255,255,255,0.85) !important;
  line-height: 1.5 !important;
}

.empty-chat-body {
  color: rgba(255,255,255,0.15) !important;
}

/* ════════════════════════════════════════════════════════════
   MODALS — On ne touche PAS au z-index
   ════════════════════════════════════════════════════════════ */
.jm-start-call .modal-content,
.modal[data-bs-theme="dark"] .modal-content {
  background: rgba(20, 25, 22, 0.95) !important;
  backdrop-filter: blur(24px) !important;
  -webkit-backdrop-filter: blur(24px) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 18px !important;
  box-shadow: 0 24px 64px rgba(0,0,0,0.5) !important;
}

.modal[data-bs-theme="dark"] .modal-header {
  background: rgba(255,255,255,0.03) !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  padding: 18px 24px !important;
  border-radius: 18px 18px 0 0 !important;
}

.modal[data-bs-theme="dark"] .modal-title {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  color: #fff !important;
}

.modal[data-bs-theme="dark"] .modal-body {
  padding: 20px 24px !important;
  color: rgba(255,255,255,0.8) !important;
  font-family: 'Poppins', sans-serif !important;
}

.modal[data-bs-theme="dark"] .modal-footer {
  border-top: 1px solid rgba(255,255,255,0.06) !important;
  padding: 14px 24px !important;
}

.modal[data-bs-theme="dark"] .modal-footer .btn-primary {
  background: #009460 !important;
  border: none !important;
  border-radius: 12px !important;
  padding: 10px 24px !important;
  font-weight: 500 !important;
  font-family: 'Poppins', sans-serif !important;
}

.modal[data-bs-theme="dark"] .modal-footer .btn-primary:hover {
  background: #007a4e !important;
}

.modal[data-bs-theme="dark"] .modal-footer .btn-link {
  color: rgba(255,255,255,0.5) !important;
}

.modal[data-bs-theme="dark"] .btn-close {
  filter: brightness(0) invert(1) !important;
  opacity: 0.5 !important;
}

/* Settings form */
.modal[data-bs-theme="dark"] .form-label {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 500 !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  color: rgba(255,255,255,0.5) !important;
}

.modal[data-bs-theme="dark"] .form-select,
.modal[data-bs-theme="dark"] .form-control {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 10px !important;
  color: #fff !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 13px !important;
}

.modal[data-bs-theme="dark"] .form-select:focus,
.modal[data-bs-theme="dark"] .form-control:focus {
  border-color: #009460 !important;
  box-shadow: 0 0 0 3px rgba(0,148,96,0.15) !important;
}

/* Shortcut keys */
.jm-meeting-shortcutkey dt {
  color: rgba(255,255,255,0.5) !important;
  font-weight: 500 !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
}

.jm-meeting-shortcutkey dd {
  color: rgba(255,255,255,0.8) !important;
  font-size: 13px !important;
}

.jm-meeting-shortcutkey dd svg {
  color: #009460 !important;
}

/* Participants */
.jm-invite-list dt {
  color: rgba(255,255,255,0.5) !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  font-size: 11px !important;
}

.jm-invite-list dd {
  color: rgba(255,255,255,0.85) !important;
  font-size: 13px !important;
}

.jm-invite-list .moderator-icon {
  color: #FCD116 !important;
}

/* ════════════════════════════════════════════════════════════
   TOASTS
   ════════════════════════════════════════════════════════════ */
#toastContainer .toast {
  background: rgba(18, 22, 20, 0.95) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 14px !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.4) !important;
}

#toastContainer .toast-header {
  background: rgba(255,255,255,0.03) !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  color: #fff !important;
  font-family: 'Poppins', sans-serif !important;
}

#toastContainer .toast-body {
  color: rgba(255,255,255,0.85) !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 13px !important;
}

#toastContainer .btn-success {
  background: #009460 !important;
  border: none !important;
  border-radius: 8px !important;
}

#toastContainer .btn-danger {
  background: #CE1126 !important;
  border: none !important;
  border-radius: 8px !important;
}

/* ════════════════════════════════════════════════════════════
   ÉCRAN DE PARTAGE
   ════════════════════════════════════════════════════════════ */
.videoContainer.screen,
.videoContainer.OT_big {
  border-radius: 14px !important;
  border: 2px solid rgba(0,148,96,0.3) !important;
}

/* ════════════════════════════════════════════════════════════
   OVERLAY
   ════════════════════════════════════════════════════════════ */
#overlay {
  background: rgba(0,0,0,0.85) !important;
}

#overlayText {
  font-family: 'Poppins', sans-serif !important;
  font-size: 16px !important;
  color: #fff !important;
}

/* Admin controls sur vidéo */
.videoContainer .dropdown-menu {
  background: rgba(20, 25, 22, 0.95) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 12px !important;
  padding: 4px !important;
}

.videoContainer .dropdown-menu .dropdown-item {
  color: rgba(255,255,255,0.8) !important;
  border-radius: 8px !important;
  padding: 8px 12px !important;
  font-size: 12px !important;
  font-family: 'Poppins', sans-serif !important;
}

.videoContainer .dropdown-menu .dropdown-item:hover {
  background: rgba(0,148,96,0.15) !important;
}

.videoContainer .dropdown-menu .dropdown-item.text-danger:hover {
  background: rgba(206, 17, 38, 0.15) !important;
}

/* ════════════════════════════════════════════════════════════
   RESPONSIVE
   ════════════════════════════════════════════════════════════ */
@media (max-width: 767px) {
  .jm-video-action .btn {
    width: 42px !important;
    height: 42px !important;
  }

  .jm-video-action .btn.btn-danger#leave {
    width: 56px !important;
    height: 38px !important;
    margin-left: 6px !important;
  }

  .videoContainer {
    border-radius: 10px !important;
  }

  .jm-call-start-avatar .avatar {
    width: 56px !important;
    height: 56px !important;
    font-size: 22px !important;
  }
}

/* ════════════════════════════════════════
   MASTER FIX — Backdrop + Toasts + Chat
   ════════════════════════════════════════ */

html body .modal-backdrop,
html body .modal-backdrop.fade,
html body .modal-backdrop.show {
  --tblr-backdrop-zindex: 1040 !important;
  z-index: 1040 !important;
  pointer-events: none !important;
}

.modal {
  z-index: 1055 !important;
  pointer-events: auto !important;
}

.modal-dialog,
.modal-content {
  pointer-events: auto !important;
}

#toastContainer {
  z-index: 9999 !important;
  pointer-events: none !important;
}

#toastContainer .toast {
  pointer-events: auto !important;
}

.jm-meeting-start-space {
  padding-bottom: 70px !important;
}

@media (max-width: 767px) {
  .jm-meeting-start-space {
    padding-bottom: 80px !important;
  }
}


/* ════════════════════════════════════════════════════════════
   PROFIL — DOSSIER OFFICIEL PRÉSIDENTIEL
   Refonte complète via CSS — Aucun JS modifié
   ════════════════════════════════════════════════════════════ */

/* ── PAGE WRAPPER ── */
.jm-dashboard .page-header {
  background: linear-gradient(135deg, #0a1f14 0%, #0f2b1e 50%, #14432a 100%) !important;
  padding: 36px 0 100px !important;
  border-bottom: none !important;
  position: relative;
  overflow: hidden;
  margin-bottom: -60px;
}

.jm-dashboard .page-header::before {
  content: '';
  position: absolute;
  top: -80px; right: -50px;
  width: 320px; height: 320px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0,148,96,0.18) 0%, transparent 70%);
  pointer-events: none;
}

.jm-dashboard .page-header::after {
  content: '';
  position: absolute;
  bottom: -40px; left: 10%;
  width: 220px; height: 220px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(252,209,22,0.06) 0%, transparent 70%);
  pointer-events: none;
}

.jm-dashboard .page-header .container-xl {
  position: relative;
  z-index: 1;
}

/* Titre "Profil" */
.jm-dashboard .page-header .page-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 32px !important;
  font-weight: 500 !important;
  color: #fff !important;
  letter-spacing: -0.5px;
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 14px;
}

.jm-dashboard .page-header .page-title::before {
  content: 'DOSSIER OFFICIEL · ACCÈS SÉCURISÉ';
  display: inline-block;
  padding: 5px 14px;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 50px;
  font-family: 'Poppins', sans-serif;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 2px;
  color: rgba(255,255,255,0.5);
  position: relative;
  padding-left: 22px;
}

.jm-dashboard .page-header .page-title::after {
  content: '';
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #009460;
  box-shadow: 0 0 8px #009460;
  margin-left: -154px;
  margin-top: 10px;
  animation: gnPulse 2s infinite;
}

@keyframes gnPulse { 0%,100% { opacity: 1; } 50% { opacity: 0.3; } }

/* Personal Meeting box dans le header */
.jm-dashboard .page-header .jm-instant-meeting h4 {
  color: rgba(255,255,255,0.6) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.jm-dashboard .page-header .jm-tooltip svg {
  color: rgba(255,255,255,0.4) !important;
}

.jm-dashboard .page-header .btn-outline-primary {
  background: rgba(255,255,255,0.08) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  color: #fff !important;
  backdrop-filter: blur(8px);
  border-radius: 10px !important;
  padding: 9px 16px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  box-shadow: none !important;
}

.jm-dashboard .page-header .btn-outline-primary:hover {
  background: rgba(255,255,255,0.15) !important;
  border-color: rgba(255,255,255,0.25) !important;
  color: #fff !important;
  transform: translateY(-1px);
}

/* ── PAGE BODY ── */
.jm-dashboard .page-body {
  position: relative;
  z-index: 2;
}

/* ── CARTE PRINCIPALE ── */
.jm-dashboard .page-body > .container-xl > .card {
  border: none !important;
  border-radius: 18px !important;
  box-shadow: 0 16px 48px rgba(0,0,0,0.08) !important;
  overflow: hidden !important;
  background: #fff !important;
  position: relative;
}

.jm-dashboard .page-body > .container-xl > .card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  display: flex;
  background: linear-gradient(90deg, #CE1126 0% 33%, #FCD116 33% 66%, #009460 66% 100%);
  z-index: 10;
}

[data-bs-theme="dark"] .jm-dashboard .page-body > .container-xl > .card {
  background: #151515 !important;
}

/* ── SIDEBAR PROFIL (navigation) ── */
.profile-tabs {
  background: linear-gradient(180deg, #fafbfa 0%, #f0f2f1 100%) !important;
  border-right: 1px solid #e2e5e3 !important;
  padding-top: 8px !important;
}

[data-bs-theme="dark"] .profile-tabs {
  background: linear-gradient(180deg, #1a1a1a 0%, #111 100%) !important;
  border-right-color: #222 !important;
}

.profile-tabs .card-body {
  padding: 24px 16px !important;
}

.profile-tabs .card-body::before {
  content: 'PARAMÈTRES';
  display: block;
  font-family: 'Poppins', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.5px;
  color: #9ca3af;
  text-transform: uppercase;
  margin: 0 0 14px 14px;
}

.profile-tabs .list-group-transparent {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.profile-tabs .list-group-item {
  background: transparent !important;
  border: none !important;
  border-left: 3px solid transparent !important;
  border-radius: 0 10px 10px 0 !important;
  padding: 11px 14px !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #6b7280 !important;
  transition: all 0.2s ease !important;
  position: relative;
}

[data-bs-theme="dark"] .profile-tabs .list-group-item {
  color: #999 !important;
}

.profile-tabs .list-group-item::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 12px;
  vertical-align: middle;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  filter: invert(45%) sepia(8%) saturate(380%) hue-rotate(176deg) brightness(95%) contrast(85%);
}

[data-bs-theme="dark"] .profile-tabs .list-group-item::before {
  filter: invert(60%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(100%) contrast(85%);
}

/* Icônes par type */
.profile-tabs .list-group-item[href*="basic"]::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'><path d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/><circle cx='12' cy='7' r='4'/></svg>");
}

.profile-tabs .list-group-item[href*="security"]::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'><rect x='3' y='11' width='18' height='11' rx='2'/><path d='M7 11V7a5 5 0 0 1 10 0v4'/></svg>");
}

.profile-tabs .list-group-item[href*="contact"]::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'><path d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/><circle cx='9' cy='7' r='4'/><path d='M23 21v-2a4 4 0 0 0-3-3.87'/><path d='M16 3.13a4 4 0 0 1 0 7.75'/></svg>");
}

.profile-tabs .list-group-item[href*="tfa"]::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'><rect x='5' y='2' width='14' height='20' rx='2'/><line x1='12' y1='18' x2='12.01' y2='18'/></svg>");
}

.profile-tabs .list-group-item[href*="plan"]::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'><polygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/></svg>");
}

.profile-tabs .list-group-item[href*="payment"]::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'><rect x='1' y='4' width='22' height='16' rx='2' ry='2'/><line x1='1' y1='10' x2='23' y2='10'/></svg>");
}

.profile-tabs .list-group-item[href*="delete"]::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CE1126' stroke-width='1.7'><path d='M3 6h18'/><path d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6'/><path d='M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/></svg>");
  filter: none !important;
}

.profile-tabs .list-group-item:hover {
  background: rgba(0,148,96,0.05) !important;
  color: #007a4e !important;
}

.profile-tabs .list-group-item:hover::before {
  filter: invert(33%) sepia(99%) saturate(498%) hue-rotate(122deg) brightness(94%) contrast(101%);
}

.profile-tabs .list-group-item.active {
  background: linear-gradient(90deg, rgba(0,148,96,0.12), rgba(0,148,96,0.02)) !important;
  border-left-color: #009460 !important;
  color: #007a4e !important;
  font-weight: 600 !important;
}

.profile-tabs .list-group-item.active::before {
  filter: invert(33%) sepia(99%) saturate(498%) hue-rotate(122deg) brightness(94%) contrast(101%);
}

/* Supprimer le compte — séparé en bas avec couleur rouge */
.profile-tabs .list-group-item[href*="delete"] {
  color: #CE1126 !important;
  margin-top: 12px;
  padding-top: 16px !important;
  border-top: 1px solid #e2e5e3 !important;
  border-radius: 0 !important;
}

[data-bs-theme="dark"] .profile-tabs .list-group-item[href*="delete"] {
  border-top-color: #2a2a2a !important;
}

.profile-tabs .list-group-item[href*="delete"]:hover {
  background: rgba(206,17,38,0.06) !important;
  color: #CE1126 !important;
}

.profile-tabs .list-group-item[href*="delete"].active {
  background: linear-gradient(90deg, rgba(206,17,38,0.12), rgba(206,17,38,0.02)) !important;
  border-left-color: #CE1126 !important;
  border-radius: 0 10px 10px 0 !important;
}

/* ── ZONE CONTENU PROFIL ── */
.jm-dashboard form.col-12.col-md-9 .card-body {
  padding: 28px 36px !important;
}

[data-bs-theme="dark"] .jm-dashboard form.col-12.col-md-9 .card-body {
  background: #151515;
}

.jm-dashboard form.col-12.col-md-9 .card-body h2 {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 24px !important;
  font-weight: 600 !important;
  color: #1a1a1a !important;
  letter-spacing: -0.3px;
  margin-bottom: 6px !important;
  position: relative;
  padding-bottom: 16px;
  border-bottom: 1px solid #e2e5e3;
  margin-bottom: 24px !important;
}

.jm-dashboard form.col-12.col-md-9 .card-body h2::after {
  content: 'Modifiez votre identité affichée publiquement';
  display: block;
  font-family: 'Poppins', sans-serif;
  font-size: 12px;
  font-weight: 400;
  color: #6b7280;
  letter-spacing: 0;
  margin-top: 4px;
}

[data-bs-theme="dark"] .jm-dashboard form.col-12.col-md-9 .card-body h2 {
  color: #f0f0f0 !important;
  border-bottom-color: #2a2a2a;
}

/* ── AVATAR SECTION ── */
.jm-dashboard form .row.align-items-center.mb-3 {
  background: #f8f9f8;
  border: 1px solid #e2e5e3;
  border-radius: 14px;
  padding: 16px 20px !important;
  margin: 0 0 24px 0 !important;
  align-items: center !important;
  gap: 12px;
}

[data-bs-theme="dark"] .jm-dashboard form .row.align-items-center.mb-3 {
  background: #1a1a1a;
  border-color: #2a2a2a;
}

#avatar-preview {
  width: 64px !important;
  height: 64px !important;
  border-radius: 50% !important;
  background-size: cover !important;
  background-position: center !important;
  border: 3px solid #fff !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

#change-avatar {
  background: #009460 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 9px 16px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  font-family: 'Poppins', sans-serif !important;
  box-shadow: 0 4px 14px rgba(0,148,96,0.25) !important;
  transition: all 0.2s ease !important;
}

#change-avatar:hover {
  background: #007a4e !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(0,148,96,0.35) !important;
}

#removeAvatar.btn-ghost-danger {
  background: transparent !important;
  border: 1px solid #fecaca !important;
  color: #CE1126 !important;
  border-radius: 10px !important;
  padding: 9px 14px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  font-family: 'Poppins', sans-serif !important;
}

#removeAvatar.btn-ghost-danger:hover {
  background: rgba(206,17,38,0.08) !important;
  border-color: #CE1126 !important;
}

/* ── FORMULAIRE ── */
.jm-dashboard form .form-group {
  margin-bottom: 16px;
}

.jm-dashboard form .form-label {
  font-family: 'Poppins', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  color: #9ca3af !important;
  margin-bottom: 6px !important;
}

[data-bs-theme="dark"] .jm-dashboard form .form-label {
  color: #777 !important;
}

.jm-dashboard form .form-control {
  border: 1px solid #e2e5e3 !important;
  border-radius: 10px !important;
  padding: 11px 14px !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 13px !important;
  background: #fff !important;
  transition: all 0.2s !important;
  box-shadow: none !important;
}

.jm-dashboard form .form-control:focus {
  border-color: #009460 !important;
  box-shadow: 0 0 0 3px rgba(0,148,96,0.1) !important;
  background: #fff !important;
}

.jm-dashboard form .form-control:disabled {
  background: #f0f2f1 !important;
  color: #6b7280 !important;
  cursor: not-allowed;
}

[data-bs-theme="dark"] .jm-dashboard form .form-control {
  background: #1a1a1a !important;
  border-color: #2a2a2a !important;
  color: #e0e0e0 !important;
}

[data-bs-theme="dark"] .jm-dashboard form .form-control:disabled {
  background: #111 !important;
  color: #666 !important;
}

/* ── FUSEAU HORAIRE — Fix critique du select cassé ── */
.jm-dashboard form select.form-select {
  border: 1px solid #e2e5e3 !important;
  border-radius: 10px !important;
  padding: 11px 36px 11px 14px !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 13px !important;
  background-color: #fff !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'><polyline points='6 9 12 15 18 9'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 16px !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  height: auto !important;
  max-height: 45px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  width: 100% !important;
  display: block !important;
}

.jm-dashboard form select.form-select option {
  background: #fff;
  color: #1a1a1a;
  padding: 8px;
  font-size: 13px;
}

[data-bs-theme="dark"] .jm-dashboard form select.form-select {
  background-color: #1a1a1a !important;
  border-color: #2a2a2a !important;
  color: #e0e0e0 !important;
}

[data-bs-theme="dark"] .jm-dashboard form select.form-select option {
  background: #1a1a1a;
  color: #e0e0e0;
}

.jm-dashboard form select.form-select:focus {
  border-color: #009460 !important;
  box-shadow: 0 0 0 3px rgba(0,148,96,0.1) !important;
}

/* ── FOOTER FORM ── */
.jm-dashboard form .card-footer {
  background: #fafbfa !important;
  border-top: 1px solid #e2e5e3 !important;
  padding: 18px 36px !important;
  margin-top: 12px !important;
  position: relative;
}

[data-bs-theme="dark"] .jm-dashboard form .card-footer {
  background: #111 !important;
  border-top-color: #2a2a2a !important;
}

.jm-dashboard form .card-footer::before {
  content: 'Vos données sont stockées sur des serveurs sécurisés';
  display: inline-block;
  font-family: 'Poppins', sans-serif;
  font-size: 11px;
  color: #9ca3af;
  position: absolute;
  left: 36px;
  top: 50%;
  transform: translateY(-50%);
}

[data-bs-theme="dark"] .jm-dashboard form .card-footer::before {
  color: #666;
}

.jm-dashboard form .card-footer .btn-primary {
  background: #009460 !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 11px 24px !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #fff !important;
  box-shadow: 0 4px 14px rgba(0,148,96,0.3) !important;
  transition: all 0.2s ease !important;
  letter-spacing: 0.2px;
}

.jm-dashboard form .card-footer .btn-primary:hover {
  background: #007a4e !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(0,148,96,0.4) !important;
}

/* ── INVALID FEEDBACK ── */
.jm-dashboard form .invalid-feedback {
  font-family: 'Poppins', sans-serif !important;
  font-size: 11px !important;
  color: #CE1126 !important;
  margin-top: 6px;
}

.jm-dashboard form .form-control.is-invalid {
  border-color: #CE1126 !important;
}

/* ── MODAL CROP ── */
#previewModal .modal-content {
  border-radius: 16px !important;
  border: none !important;
  overflow: hidden;
}

#previewModal .modal-header h2 {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
}

#previewModal .btn-primary {
  background: #009460 !important;
  border: none !important;
  border-radius: 10px !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600 !important;
}

/* ── RESPONSIVE ── */
@media screen and (max-width: 991px) {
  .jm-dashboard .page-header {
    padding: 24px 0 90px !important;
  }
  .jm-dashboard .page-header .page-title {
    font-size: 24px !important;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .jm-dashboard .page-header .page-title::after {
    display: none;
  }
  .profile-tabs {
    border-right: none !important;
    border-bottom: 1px solid #e2e5e3 !important;
  }
  .jm-dashboard form.col-12.col-md-9 .card-body {
    padding: 20px !important;
  }
  .jm-dashboard form .card-footer {
    padding: 16px 20px !important;
  }
  .jm-dashboard form .card-footer::before {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .jm-dashboard .page-header .page-title::before {
    font-size: 8px;
    padding: 4px 10px 4px 18px;
  }
  .jm-dashboard form .row.align-items-center.mb-3 {
    flex-direction: column;
    text-align: center;
    align-items: center !important;
  }
}


/* Masquer l'icône modérateur (diamant) sur "Moi" */
.local-user-name .moderator-icon,
.jm-invite-list .moderator-icon {
  display: none !important;
}

/* ══ FIX Mobile — Chat + panels visibles (corrigé) ══ */
@media (max-width: 767px) {
  .jm-start-call-sidepanel:not(.d-none):not(.chat-hide) {
    position: fixed !important;
    top: 60px !important;
    right: 0 !important;
    bottom: 70px !important;
    width: 100% !important;
    max-width: 100% !important;
    z-index: 100 !important;
    border-radius: 0 !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .jm-start-call-sidepanel.d-none {
    display: none !important;
  }

  .jm-start-call-sidepanel.chat-hide {
    display: none !important;
  }

  .jm-start-call-sidepanel:not(.d-none):not(.chat-hide) .card-body {
    flex: 1 !important;
    overflow-y: auto !important;
    min-height: 0 !important;
  }

  .jm-start-call-sidepanel:not(.d-none):not(.chat-hide) .card-footer {
    flex-shrink: 0 !important;
    padding: 10px 12px !important;
    position: relative !important;
    z-index: 10 !important;
  }
}
