/* ============================================
   Admin Dashboard — Premium Dark + Beige Theme
   ============================================ */
:root {
  --gold: #C9A96E; --gold-dark: #A8893F; --gold-light: #DFC595;
  --dark: #0E0E12; --dark-soft: #16161C; --dark-card: #1E1E26; --dark-hover: #2A2A34;
  --border-subtle: rgba(255,255,255,0.12);
  --border-card: rgba(201,169,110,0.18);
  --text-primary: #F5F3F0; --text-secondary: rgba(245,243,240,0.78); --text-muted: rgba(245,243,240,0.48);
  --font-heading: 'Cormorant Garamond', serif; --font-body: 'Inter', sans-serif;
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --success: #4CAF50; --warning: #FF9800; --danger: #f44336; --info: #2196F3;
  --input-bg: #F5EDE0; --input-border: rgba(201,169,110,0.4);
  --input-color: #1A1A20;
}

/* ============================================
   LIGHT MODE — Premium Warm Cream Theme
   ============================================ */
[data-theme="light"] {
  --gold: #9E7C3C; --gold-dark: #7A5F2E; --gold-light: #C9A96E;
  --dark: #F7F4EF; --dark-soft: #EFEBE4; --dark-card: #FFFFFF; --dark-hover: #F0ECE5;
  --border-subtle: rgba(0,0,0,0.07);
  --border-card: rgba(0,0,0,0.10);
  --text-primary: #1E1E28; --text-secondary: rgba(30,30,40,0.7); --text-muted: rgba(30,30,40,0.4);
  --success: #2E7D32; --warning: #E65100; --danger: #C62828; --info: #1565C0;
  --input-bg: #FFFFFF; --input-border: rgba(158,124,60,0.3);
  --input-color: #1E1E28;
}
[data-theme="light"] body,
body[data-theme="light"] { background:var(--dark); color:var(--text-primary); }

/* Smooth theme transition */
body, body * { transition: background-color 0.35s ease, border-color 0.35s ease, color 0.35s ease, box-shadow 0.35s ease; }

/* Light mode specific overrides */
[data-theme="light"] .sidebar { background:#EFEBE4; border-right:1px solid rgba(0,0,0,0.08); box-shadow:2px 0 20px rgba(0,0,0,0.04); }
[data-theme="light"] .sidebar-brand { border-bottom:1px solid rgba(0,0,0,0.06); }
[data-theme="light"] .sidebar-brand h2 { color:#7A5F2E; }
[data-theme="light"] .nav-item { color:rgba(30,30,40,0.6); }
[data-theme="light"] .nav-item:hover { background:rgba(158,124,60,0.06); color:#1E1E28; }
[data-theme="light"] .nav-item.active { color:#7A5F2E; border-left-color:#9E7C3C; background:rgba(158,124,60,0.08); }
[data-theme="light"] .nav-badge { background:#9E7C3C; }
[data-theme="light"] .nav-group-toggle { color:rgba(30,30,40,0.6); }
[data-theme="light"] .nav-group.open .nav-group-toggle { color:#7A5F2E; border-left-color:rgba(158,124,60,0.3); }
[data-theme="light"] .topbar { background:#EFEBE4; border-bottom:1px solid rgba(0,0,0,0.06); }
[data-theme="light"] .topbar h1 { color:#1E1E28; }

/* Cards & Panels */
[data-theme="light"] .prospect-card { background:#fff; border:1px solid rgba(0,0,0,0.08); box-shadow:0 1px 4px rgba(0,0,0,0.04); }
[data-theme="light"] .prospect-card:hover { border-color:rgba(158,124,60,0.25); box-shadow:0 8px 24px rgba(0,0,0,0.08); }
[data-theme="light"] .prospect-name { color:#1E1E28; }
[data-theme="light"] .detail-item { background:rgba(158,124,60,0.04); border-color:rgba(158,124,60,0.12); }

/* Buttons */
[data-theme="light"] .btn-primary { background:linear-gradient(135deg,#9E7C3C,#7A5F2E); color:#fff; }
[data-theme="light"] .btn-primary:hover { box-shadow:0 4px 15px rgba(158,124,60,0.25); }
[data-theme="light"] .btn-secondary { border-color:rgba(0,0,0,0.12); color:rgba(30,30,40,0.7); background:#fff; }
[data-theme="light"] .btn-secondary:hover { border-color:rgba(158,124,60,0.3); color:#1E1E28; background:rgba(158,124,60,0.04); }

/* Tables */
[data-theme="light"] .data-table th { color:rgba(30,30,40,0.5); border-bottom:1px solid rgba(0,0,0,0.08); }
[data-theme="light"] .data-table td { color:rgba(30,30,40,0.7); border-bottom:1px solid rgba(0,0,0,0.05); }
[data-theme="light"] .data-table tr:hover td { background:rgba(158,124,60,0.03); }
[data-theme="light"] .data-table .td-name { color:#1E1E28; }
[data-theme="light"] .data-table .td-price { color:#9E7C3C; }

/* Calendar — high contrast light mode */
[data-theme="light"] .cal-day { background:#fff; border:1px solid rgba(0,0,0,0.10); box-shadow:0 1px 3px rgba(0,0,0,0.04); }
[data-theme="light"] .cal-day:hover { border-color:#9E7C3C; box-shadow:0 4px 16px rgba(0,0,0,0.10); }
[data-theme="light"] .cal-day.today { background:#FFFBF2; border-color:#9E7C3C; box-shadow:0 0 0 2px rgba(158,124,60,0.15); }
[data-theme="light"] .cal-day.today .day-num { background:#7A5F2E; color:#fff; box-shadow:0 2px 6px rgba(122,95,46,0.3); }
[data-theme="light"] .cal-day .day-num { color:#3A3A45; font-weight:600; }
[data-theme="light"] .cal-header { color:#5A4520; background:#E8DFD0; font-weight:800; border:1px solid rgba(0,0,0,0.06); }
[data-theme="light"] .calendar-grid { background:#D8CFBE; border:1px solid rgba(0,0,0,0.06); }
[data-theme="light"] .calendar-nav h3 { background:linear-gradient(135deg,#7A5F2E,#9E7C3C); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
[data-theme="light"] .calendar-sidebar { background:#fff; border:1px solid rgba(0,0,0,0.10); box-shadow:0 2px 8px rgba(0,0,0,0.05); }
[data-theme="light"] .rdv-card { background:#FAFAF8; border:1px solid rgba(0,0,0,0.08); }
[data-theme="light"] .rdv-card:hover { background:#fff; box-shadow:0 4px 12px rgba(0,0,0,0.08); border-color:rgba(158,124,60,0.2); }
[data-theme="light"] .rdv-card .rdv-time { color:#7A5F2E; }
[data-theme="light"] .rdv-card .rdv-name { color:#1E1E28; }
[data-theme="light"] .cal-filter { background:#fff; border:1px solid rgba(0,0,0,0.12); color:#4A4A55; font-weight:500; box-shadow:0 1px 3px rgba(0,0,0,0.04); }
[data-theme="light"] .cal-filter:hover { background:#FFFBF2; border-color:#9E7C3C; color:#7A5F2E; }
[data-theme="light"] .cal-filter.active { background:#7A5F2E; color:#fff; border-color:#7A5F2E; box-shadow:0 2px 8px rgba(122,95,46,0.25); }
[data-theme="light"] .cal-filter[data-cat="rdv"].active { background:#1565C0; border-color:#1565C0; box-shadow:0 2px 8px rgba(21,101,192,0.25); }
[data-theme="light"] .cal-filter[data-cat="event"].active { background:#7A5F2E; border-color:#7A5F2E; }
[data-theme="light"] .cal-filter[data-cat="table"].active { background:#2E7D32; border-color:#2E7D32; box-shadow:0 2px 8px rgba(46,125,50,0.25); }
[data-theme="light"] .cal-filter[data-cat="reminder"].active { background:#E65100; border-color:#E65100; box-shadow:0 2px 8px rgba(230,81,0,0.25); }
[data-theme="light"] .cal-filter[data-cat="note"].active { background:#7B1FA2; border-color:#7B1FA2; color:#fff; box-shadow:0 2px 8px rgba(123,31,162,0.25); }
[data-theme="light"] .cal-add-menu { background:#fff; border-color:rgba(0,0,0,0.12); box-shadow:0 12px 40px rgba(0,0,0,0.15); }
[data-theme="light"] .cal-event.rdv { background:rgba(21,101,192,0.12); color:#0D47A1; border-left-color:#1565C0; font-weight:600; }
[data-theme="light"] .cal-event.event { background:rgba(122,95,46,0.12); color:#5A4520; border-left-color:#7A5F2E; font-weight:600; }
[data-theme="light"] .cal-event.table { background:rgba(46,125,50,0.12); color:#1B5E20; border-left-color:#2E7D32; font-weight:600; }
[data-theme="light"] .cal-event.reminder { background:rgba(230,81,0,0.12); color:#BF360C; border-left-color:#E65100; font-weight:600; }
[data-theme="light"] .cal-event.note { background:rgba(123,31,162,0.12); color:#4A148C; border-left-color:#7B1FA2; font-weight:600; }
[data-theme="light"] .cal-event.blocked { background:rgba(198,40,40,0.10); color:#B71C1C; border-left-color:#C62828; font-weight:600; }
[data-theme="light"] .cal-day.blocked { background:#FFF5F5; border-color:rgba(198,40,40,0.2); }
[data-theme="light"] .cal-day.blocked .day-num { background:rgba(198,40,40,0.12); color:#B71C1C; }
[data-theme="light"] .cal-day.booked { background:#FFFBF2; border-color:rgba(158,124,60,0.25); }
[data-theme="light"] .cal-day.booked .day-num { background:rgba(158,124,60,0.15); color:#5A4520; }

/* Modals */
[data-theme="light"] .modal-backdrop { background:rgba(0,0,0,0.3); }
[data-theme="light"] .modal-panel { background:#fff; border:1px solid rgba(0,0,0,0.1); box-shadow:0 24px 60px rgba(0,0,0,0.15); }
[data-theme="light"] .modal-header { border-bottom:1px solid rgba(0,0,0,0.06); }
[data-theme="light"] .modal-footer { border-top:1px solid rgba(0,0,0,0.06); }
[data-theme="light"] .modal-close { border-color:rgba(0,0,0,0.1); color:rgba(30,30,40,0.5); }
[data-theme="light"] .modal-close:hover { border-color:#9E7C3C; color:#9E7C3C; }

/* Inputs in light mode */
[data-theme="light"] .content-section input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="color"]),
[data-theme="light"] .content-section select,
[data-theme="light"] .content-section textarea,
[data-theme="light"] .modal-body input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="color"]),
[data-theme="light"] .modal-body select,
[data-theme="light"] .modal-body textarea {
  background:#fff !important; color:#1E1E28 !important;
  border:1px solid rgba(0,0,0,0.12) !important;
}
[data-theme="light"] .content-section input:focus,
[data-theme="light"] .content-section select:focus,
[data-theme="light"] .content-section textarea:focus,
[data-theme="light"] .modal-body input:focus,
[data-theme="light"] .modal-body select:focus,
[data-theme="light"] .modal-body textarea:focus {
  border-color:#9E7C3C !important; box-shadow:0 0 0 3px rgba(158,124,60,0.12) !important; background:#FFFCF7 !important;
}
[data-theme="light"] .content-section label,
[data-theme="light"] .modal-body label { color:#1E1E28; }

/* Filters & Pills */
[data-theme="light"] .filter-btn { border-color:rgba(0,0,0,0.1); color:rgba(30,30,40,0.5); background:#fff; }
[data-theme="light"] .filter-btn:hover { border-color:rgba(158,124,60,0.3); }
[data-theme="light"] .filter-btn.active { background:rgba(158,124,60,0.08); border-color:#9E7C3C; color:#7A5F2E; }
[data-theme="light"] .prospect-status.new { background:rgba(21,101,192,0.08); color:#1565C0; }
[data-theme="light"] .prospect-status.contacted { background:rgba(230,81,0,0.08); color:#E65100; }
[data-theme="light"] .prospect-status.validated { background:rgba(46,125,50,0.08); color:#2E7D32; }

/* Product cards */
[data-theme="light"] .prod-card { background:#fff; border-color:rgba(0,0,0,0.08); }
[data-theme="light"] .prod-card:hover { box-shadow:0 8px 24px rgba(0,0,0,0.08); }
[data-theme="light"] .prod-card-img { background:rgba(158,124,60,0.04); border-bottom:1px solid rgba(0,0,0,0.06); }

/* Formula cards */
[data-theme="light"] .formula-admin-card { background:#fff; border-color:rgba(0,0,0,0.08); }
[data-theme="light"] .formula-admin-card:hover { box-shadow:0 4px 15px rgba(0,0,0,0.08); }

/* Cost rule cards */
[data-theme="light"] .cost-rule-card { background:#fff; border-color:rgba(0,0,0,0.08); }

/* Question groups */
[data-theme="light"] .question-group { background:#fff; border-color:rgba(0,0,0,0.08); }
[data-theme="light"] .question-group-header:hover { background:rgba(158,124,60,0.03); }

/* AI section */
[data-theme="light"] .ai-card { background:#fff; border-color:rgba(0,0,0,0.08); }
[data-theme="light"] .ai-chat-panel { background:#fff; border-color:rgba(0,0,0,0.08); }
[data-theme="light"] .ai-msg-content { background:rgba(0,0,0,0.03); border-color:rgba(0,0,0,0.06); color:rgba(30,30,40,0.8); }
[data-theme="light"] .ai-msg.user .ai-msg-content { background:rgba(158,124,60,0.08); border-color:rgba(158,124,60,0.15); }

/* Communication */
[data-theme="light"] .comm-tabs { background:rgba(158,124,60,0.04); border-color:rgba(158,124,60,0.1); }
[data-theme="light"] .comm-tab { color:rgba(30,30,40,0.5); }
[data-theme="light"] .comm-tab:hover { color:#7A5F2E; background:rgba(158,124,60,0.06); }
[data-theme="light"] .comm-tab.active { background:rgba(158,124,60,0.12); color:#7A5F2E; border-color:rgba(158,124,60,0.25); box-shadow:none; text-shadow:none; }
[data-theme="light"] .social-card { background:#fff; border-color:rgba(0,0,0,0.08); }
[data-theme="light"] .post-card { background:#fff; border-color:rgba(0,0,0,0.08); }

/* Design editor */
[data-theme="light"] .design-panel { background:#EFEBE4; }

/* Template cards */
[data-theme="light"] .template-card { background:#fff; border-color:rgba(0,0,0,0.08); }
[data-theme="light"] .template-card:hover { box-shadow:0 8px 24px rgba(0,0,0,0.08); }

/* Popup */
[data-theme="light"] .popup-notification { background:#fff !important; border-color:rgba(0,0,0,0.1) !important; box-shadow:0 8px 32px rgba(0,0,0,0.1) !important; }

/* Scrollbar */
[data-theme="light"] .sidebar-nav::-webkit-scrollbar-thumb { background:rgba(158,124,60,0.25); }

/* Pipeline */
[data-theme="light"] .pipeline-dot { border-color:rgba(0,0,0,0.1); color:rgba(30,30,40,0.3); }
[data-theme="light"] .pipeline-line { background:rgba(0,0,0,0.06); }
[data-theme="light"] .pipe-btn { border-color:rgba(0,0,0,0.1); background:#fff; color:rgba(30,30,40,0.5); }

/* Theme toggle button */
.theme-toggle { display:flex; align-items:center; gap:0.4rem; padding:0.4rem 0.75rem; background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.08); border-radius:20px; cursor:pointer; font-size:0.72rem; color:var(--text-muted); transition:all 0.25s; white-space:nowrap; }
.theme-toggle:hover { border-color:var(--gold); color:var(--gold); background:rgba(201,169,110,0.06); }
.theme-toggle i { font-size:0.8rem; transition:transform 0.4s var(--ease-out-expo); }
.theme-toggle:hover i { transform:rotate(30deg); }
[data-theme="light"] .theme-toggle { background:rgba(0,0,0,0.04); border-color:rgba(0,0,0,0.1); color:rgba(30,30,40,0.5); }
[data-theme="light"] .theme-toggle:hover { border-color:#9E7C3C; color:#7A5F2E; background:rgba(158,124,60,0.06); }
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:var(--font-body); background:var(--dark); color:var(--text-primary); display:flex; min-height:100vh; }

/* Sidebar */
.sidebar { width:260px; background:var(--dark-soft); border-right:1px solid var(--border-subtle); display:flex; flex-direction:column; flex-shrink:0; position:fixed; top:0; bottom:0; left:0; z-index:100; transition:transform 0.3s var(--ease-out-expo); }
.sidebar-brand { padding:2rem 1.5rem 1.5rem; border-bottom:1px solid var(--border-subtle); }
.sidebar-brand h2 { font-family:var(--font-heading); font-size:1.6rem; font-weight:400; color:var(--gold); }
.sidebar-brand span { font-size:0.65rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--text-muted); }
.sidebar-nav { flex:1; padding:1rem 0; overflow-y:auto; overflow-x:hidden; scrollbar-width:thin; scrollbar-color:rgba(201,169,110,0.3) transparent; }
.sidebar-nav::-webkit-scrollbar { width:4px; }
.sidebar-nav::-webkit-scrollbar-thumb { background:rgba(201,169,110,0.3); border-radius:4px; }
.sidebar-nav::-webkit-scrollbar-track { background:transparent; }
.nav-item { display:flex; align-items:center; gap:0.8rem; padding:0.8rem 1.5rem; color:var(--text-secondary); text-decoration:none; font-size:0.85rem; font-weight:400; transition:all 0.2s; border-left:3px solid transparent; }
.nav-item:hover { background:rgba(255,255,255,0.02); color:var(--text-primary); }
.nav-item.active { color:var(--gold); border-left-color:var(--gold); background:rgba(201,169,110,0.04); }
.nav-item i { width:20px; text-align:center; font-size:0.9rem; }
.nav-badge { margin-left:auto; background:var(--gold); color:var(--dark); font-size:0.65rem; font-weight:600; padding:0.15rem 0.5rem; border-radius:10px; }
.sidebar-footer { padding:1rem 1.5rem; border-top:1px solid var(--border-subtle); }
.sidebar-footer a { color:var(--text-muted); text-decoration:none; font-size:0.8rem; display:flex; align-items:center; gap:0.5rem; transition:color 0.2s; }
.sidebar-footer a:hover { color:var(--gold); }

/* Nav Groups (collapsible sub-menus) */
.nav-group { margin:0; }
.nav-group-toggle { display:flex; align-items:center; gap:0.8rem; padding:0.8rem 1.5rem; color:var(--text-secondary); text-decoration:none; font-size:0.85rem; font-weight:500; transition:all 0.2s; border-left:3px solid transparent; cursor:pointer; }
.nav-group-toggle:hover { background:rgba(255,255,255,0.02); color:var(--text-primary); }
.nav-group.open .nav-group-toggle { color:var(--gold); border-left-color:rgba(201,169,110,0.3); }
.nav-group-toggle i:first-child { width:20px; text-align:center; font-size:0.9rem; }
.nav-group-chevron { margin-left:auto; font-size:0.55rem; transition:transform 0.3s var(--ease-out-expo); color:var(--text-muted); }
.nav-group.open .nav-group-chevron { transform:rotate(0deg); }
.nav-group:not(.open) .nav-group-chevron { transform:rotate(-90deg); }
.nav-group-items { overflow:hidden; max-height:0; transition:max-height 0.3s var(--ease-out-expo); }
.nav-group.open .nav-group-items { max-height:600px; }
.nav-item.nav-sub { padding-left:2.8rem; font-size:0.8rem; border-left:none; position:relative; }
.nav-item.nav-sub::before { content:''; position:absolute; left:2.1rem; top:50%; width:4px; height:4px; border-radius:50%; background:var(--border-subtle); transform:translateY(-50%); }
.nav-item.nav-sub.active::before { background:var(--gold); }


/* Main Content */
.main-content { margin-left:260px; flex:1; min-height:100vh; }
.topbar { display:flex; align-items:center; gap:1rem; padding:1.2rem 2rem; border-bottom:1px solid var(--border-subtle); background:var(--dark-soft); position:sticky; top:0; z-index:50; }
.topbar h1 { font-family:var(--font-heading); font-size:1.5rem; font-weight:400; flex:1; }
.menu-btn { display:none; background:none; border:none; color:var(--text-primary); font-size:1.2rem; cursor:pointer; }

/* Topbar action buttons */
.topbar-btn { display:flex; align-items:center; gap:0.35rem; padding:0.4rem 0.7rem; background:rgba(255,255,255,0.06); border:1.5px solid rgba(255,255,255,0.14); border-radius:8px; cursor:pointer; font-size:0.72rem; font-family:var(--font-body); color:rgba(245,240,232,0.65); transition:all 0.25s; white-space:nowrap; }
.topbar-btn:hover { border-color:var(--gold); color:var(--gold); background:rgba(201,169,110,0.08); }
.topbar-btn i { font-size:0.75rem; }
.topbar-btn span { font-weight:500; }
.topbar-btn-danger:hover { border-color:#ef5350; color:#ef5350; background:rgba(239,83,80,0.06); }
[data-theme="light"] .topbar-btn { background:rgba(0,0,0,0.03); border-color:rgba(0,0,0,0.10); color:rgba(30,30,40,0.5); }
[data-theme="light"] .topbar-btn:hover { border-color:#9E7C3C; color:#7A5F2E; background:rgba(158,124,60,0.05); }
[data-theme="light"] .topbar-btn-danger:hover { border-color:#C62828; color:#C62828; background:rgba(198,40,40,0.04); }

/* Content Sections */
.content-section { display:none; padding:2rem; }
.content-section.active { display:block; animation:fadeIn 0.3s; }
@keyframes fadeIn { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }

.section-toolbar { display:flex; justify-content:flex-end; margin-bottom:1.5rem; }
.section-subtitle { font-size:0.82rem; color:var(--text-muted); line-height:1.6; margin-bottom:1rem; padding:0.6rem 1rem; border-left:2px solid rgba(201,169,110,0.3); background:rgba(201,169,110,0.03); border-radius:0 6px 6px 0; }

/* Buttons */
.btn-primary { padding:0.6rem 1.2rem; background:linear-gradient(135deg,var(--gold),var(--gold-dark)); border:none; color:var(--dark); font-family:var(--font-body); font-size:0.8rem; font-weight:600; letter-spacing:0.05em; border-radius:6px; cursor:pointer; display:flex; align-items:center; gap:0.5rem; transition:all 0.3s; }
.btn-primary:hover { transform:translateY(-1px); box-shadow:0 4px 15px rgba(201,169,110,0.3); }
.btn-secondary { padding:0.6rem 1.2rem; border:1.5px solid rgba(255,255,255,0.18); background:rgba(255,255,255,0.04); color:var(--text-primary); font-family:var(--font-body); font-size:0.8rem; font-weight:500; border-radius:6px; cursor:pointer; transition:all 0.2s; }
.btn-secondary:hover { border-color:rgba(201,169,110,0.4); color:var(--gold); background:rgba(201,169,110,0.06); }
.btn-small { padding:0.35rem 0.7rem; font-size:0.7rem; border-radius:4px; }
.btn-danger { background:var(--danger); color:#fff; border:none; padding:0.35rem 0.7rem; font-size:0.7rem; border-radius:4px; cursor:pointer; transition:opacity 0.2s; }
.btn-danger:hover { opacity:0.85; }
.btn-success { background:var(--success); color:#fff; border:none; }
.btn-warning { background:var(--warning); color:var(--dark); border:none; }

/* Prospect Filters */
.prospect-filters { display:flex; gap:0.5rem; margin-bottom:1.5rem; flex-wrap:wrap; }
.filter-btn { padding:0.5rem 1rem; border:1.5px solid rgba(255,255,255,0.15); background:rgba(255,255,255,0.04); color:var(--text-secondary); font-family:var(--font-body); font-size:0.75rem; font-weight:500; letter-spacing:0.05em; border-radius:20px; cursor:pointer; transition:all 0.2s; }
.filter-btn:hover { border-color:rgba(201,169,110,0.4); color:var(--text-primary); background:rgba(201,169,110,0.06); }
.filter-btn.active { background:rgba(201,169,110,0.15); border-color:var(--gold); color:var(--gold); font-weight:600; }

/* Prospect Cards */
.prospect-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(340px,1fr)); gap:1rem; }
.prospect-card { background:linear-gradient(135deg, #1E1E28, #222230); border:1.5px solid rgba(201,169,110,0.15); border-radius:12px; padding:1.2rem 1.5rem; cursor:pointer; transition:all 0.3s; position:relative; overflow:hidden; box-shadow:0 2px 8px rgba(0,0,0,0.2); }
.prospect-card:hover { border-color:rgba(201,169,110,0.4); transform:translateY(-2px); box-shadow:0 8px 30px rgba(0,0,0,0.4), 0 0 0 1px rgba(201,169,110,0.1); }
.prospect-card::before { content:''; position:absolute; top:0; left:0; width:4px; height:100%; }
.prospect-card[data-status="new"]::before { background:var(--info); }
.prospect-card[data-status="contacted"]::before { background:var(--warning); }
.prospect-card[data-status="appointment_set"]::before { background:var(--gold); }
.prospect-card[data-status="validated"]::before { background:var(--success); }
.prospect-card[data-status="archived"]::before { background:var(--text-muted); }
.prospect-name { font-family:var(--font-heading); font-size:1.3rem; font-weight:500; color:#FFFFFF; margin-bottom:0.3rem; }
.prospect-event { font-size:0.78rem; color:var(--gold); text-transform:uppercase; letter-spacing:0.1em; margin-bottom:0.8rem; font-weight:600; }
.prospect-meta { display:flex; flex-wrap:wrap; gap:0.8rem; font-size:0.78rem; color:rgba(255,255,255,0.75); }
.prospect-meta span { display:flex; align-items:center; gap:0.3rem; }
.prospect-meta i { font-size:0.7rem; color:rgba(201,169,110,0.6); }
.prospect-status { position:absolute; top:1rem; right:1rem; font-size:0.6rem; letter-spacing:0.1em; text-transform:uppercase; padding:0.2rem 0.6rem; border-radius:4px; font-weight:600; }
.prospect-status.new { background:rgba(33,150,243,0.15); color:var(--info); }
.prospect-status.contacted { background:rgba(255,152,0,0.15); color:var(--warning); }
.prospect-status.appointment_set { background:rgba(201,169,110,0.15); color:var(--gold); }
.prospect-status.validated { background:rgba(76,175,80,0.15); color:var(--success); }
.prospect-status.archived { background:rgba(255,255,255,0.05); color:var(--text-muted); }

/* New request badge pulse */
@keyframes newBadgePulse {
  0%, 100% { box-shadow: 0 2px 10px rgba(239,83,80,0.35); }
  50% { box-shadow: 0 2px 16px rgba(239,83,80,0.55), 0 0 0 4px rgba(239,83,80,0.08); }
}
@keyframes newDot {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.3; }
}
/* Highlight border for new prospect cards */
.prospect-card[data-status="new"] { border-color: rgba(239,83,80,0.25); }
.prospect-card[data-status="new"]::before { background: linear-gradient(180deg, #ef5350, #c62828); }

/* Data Tables */
.data-table { width:100%; border-collapse:collapse; }
.data-table th { text-align:left; padding:0.8rem 1rem; font-size:0.65rem; font-weight:500; letter-spacing:0.15em; text-transform:uppercase; color:var(--text-muted); border-bottom:1px solid var(--border-subtle); }
.data-table td { padding:0.8rem 1rem; font-size:0.85rem; color:var(--text-secondary); border-bottom:1px solid var(--border-subtle); vertical-align:middle; }
.data-table tr:hover td { background:rgba(255,255,255,0.02); }
.data-table .td-name { color:var(--text-primary); font-weight:500; }
.data-table .td-price { color:var(--gold); font-family:var(--font-heading); font-size:1rem; }
.data-table .td-actions { display:flex; gap:0.4rem; }
.toggle-active { width:36px; height:20px; border-radius:20px; border:none; cursor:pointer; position:relative; transition:background 0.2s; }
.toggle-active.on { background:var(--success); }
.toggle-active.off { background:var(--text-muted); }
.toggle-active::after { content:''; position:absolute; width:16px; height:16px; border-radius:50%; background:#fff; top:2px; left:2px; transition:transform 0.2s; }
.toggle-active.on::after { transform:translateX(16px); }

/* Modals */
.modal { position:fixed; inset:0; z-index:1000; display:none; align-items:center; justify-content:center; }
.modal.open { display:flex; }
.modal-backdrop { position:absolute; inset:0; background:rgba(0,0,0,0.7); backdrop-filter:blur(10px); }
.modal-panel { position:relative; width:95%; max-width:700px; max-height:85vh; background:var(--dark-card); border:1px solid var(--border-card); border-radius:12px; display:flex; flex-direction:column; animation:fadeIn 0.3s var(--ease-out-expo); }
.modal-header { padding:1.2rem 1.5rem; border-bottom:1px solid var(--border-subtle); display:flex; justify-content:space-between; align-items:center; }
.modal-header h3 { font-family:var(--font-heading); font-size:1.5rem; font-weight:400; }
.modal-close { background:none; border:1px solid var(--border-subtle); color:var(--text-secondary); width:32px; height:32px; border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all 0.2s; }
.modal-close:hover { border-color:var(--gold); color:var(--gold); }
.modal-body { padding:1.5rem; overflow-y:auto; flex:1; }
.modal-footer { padding:1rem 1.5rem; border-top:1px solid var(--border-subtle); display:flex; justify-content:flex-end; gap:0.8rem; }

/* Form fields in modal */
.admin-form-group { margin-bottom:1.2rem; }
.admin-form-group label { display:block; font-size:0.78rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:#F0F0F5; margin-bottom:0.5rem; }
.admin-form-group input, .admin-form-group select, .admin-form-group textarea {
  width:100%; padding:0.75rem 1rem; background:var(--input-bg); border:1px solid var(--input-border);
  border-radius:8px; color:var(--input-color); font-family:var(--font-body); font-size:0.88rem; outline:none; transition:all 0.25s;
}
.admin-form-group input::placeholder, .admin-form-group textarea::placeholder { color:rgba(30,30,40,0.4); }
.admin-form-group input:focus, .admin-form-group select:focus, .admin-form-group textarea:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(201,169,110,0.2); background:#FFF8EE; }
.admin-form-group select option { background:var(--input-bg); color:var(--input-color); }
.admin-form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }

/* Global input overrides — any input in the dashboard gets beige styling */
.content-section input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="color"]),
.content-section select,
.content-section textarea,
.modal-body input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="color"]),
.modal-body select,
.modal-body textarea {
  background:var(--input-bg) !important; color:var(--input-color) !important;
  border:1px solid var(--input-border) !important; border-radius:8px; font-family:var(--font-body);
  font-size:0.92rem; padding:0.7rem 1rem; outline:none; transition:all 0.25s;
}
.content-section input:focus, .content-section select:focus, .content-section textarea:focus,
.modal-body input:focus, .modal-body select:focus, .modal-body textarea:focus {
  border-color:var(--gold) !important; box-shadow:0 0 0 3px rgba(201,169,110,0.2) !important; background:#FFF8EE !important;
}
.content-section label, .modal-body label { color:#E8E8F0; font-weight:600; }

/* Prospect Detail */
.prospect-detail-header { display:flex; align-items:center; gap:1.5rem; margin-bottom:1.5rem; }
.prospect-avatar { width:60px; height:60px; border-radius:50%; background:rgba(201,169,110,0.1); display:flex; align-items:center; justify-content:center; font-family:var(--font-heading); font-size:1.5rem; color:var(--gold); flex-shrink:0; }
.prospect-detail-info h4 { font-family:var(--font-heading); font-size:1.6rem; font-weight:400; margin-bottom:0.2rem; }
.prospect-detail-info p { font-size:0.9rem; color:var(--text-secondary); }
.detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:1.5rem; }
.detail-item { background:rgba(245,237,224,0.06); border:1px solid rgba(201,169,110,0.15); border-radius:10px; padding:1rem 1.2rem; }
.detail-item label { font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold); display:block; margin-bottom:0.4rem; font-weight:600; }
.detail-item span { font-size:1rem; color:var(--text-primary); font-weight:500; }
.detail-item span.gold { color:var(--gold); font-family:var(--font-heading); font-size:1.3rem; }

/* Pipeline on cards */
.prospect-pipeline { display:flex; align-items:center; gap:0; margin-top:0.8rem; padding-top:0.7rem; border-top:1.5px solid rgba(255,255,255,0.1); }
.pipeline-dot { width:26px; height:26px; border-radius:50%; border:2px solid rgba(255,255,255,0.18); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all 0.2s; font-size:0.55rem; color:var(--text-muted); flex-shrink:0; position:relative; background:rgba(255,255,255,0.03); }
.pipeline-dot:hover { border-color:var(--pipe-color); color:var(--pipe-color); transform:scale(1.15); }
.pipeline-dot[data-tooltip]::after { content:attr(data-tooltip); position:absolute; bottom:calc(100% + 6px); left:50%; transform:translateX(-50%) translateY(4px); background:var(--dark-soft); color:var(--text-primary); font-size:0.65rem; font-weight:500; padding:0.3rem 0.6rem; border-radius:6px; white-space:nowrap; pointer-events:none; opacity:0; transition:all 0.2s; border:1px solid var(--border-card); box-shadow:0 4px 12px rgba(0,0,0,0.4); z-index:10; }
.pipeline-dot[data-tooltip]:hover::after { opacity:1; transform:translateX(-50%) translateY(0); }
.pipeline-dot.current { background:var(--pipe-color); border-color:var(--pipe-color); color:#fff; box-shadow:0 0 8px color-mix(in srgb, var(--pipe-color) 40%, transparent); }
.pipeline-dot.past { border-color:rgba(76,175,80,0.4); color:var(--success); }
.pipeline-dot.past i { font-size:0.5rem; }
.pipeline-line { flex:1; height:2px; background:rgba(255,255,255,0.12); min-width:4px; }

/* Pipeline in modal */
.modal-pipeline { display:flex; align-items:center; gap:0.3rem; flex-wrap:wrap; }
.pipe-btn { padding:0.5rem 0.8rem; border:1px solid rgba(255,255,255,0.1); background:rgba(255,255,255,0.03); color:var(--text-muted); font-family:var(--font-body); font-size:0.75rem; border-radius:8px; cursor:pointer; display:flex; align-items:center; gap:0.4rem; transition:all 0.2s; white-space:nowrap; }
.pipe-btn:hover { border-color:var(--pipe-c); color:var(--pipe-c); background:color-mix(in srgb, var(--pipe-c) 8%, transparent); }
.pipe-btn.current { background:var(--pipe-c); border-color:var(--pipe-c); color:#fff; font-weight:600; box-shadow:0 2px 8px color-mix(in srgb, var(--pipe-c) 30%, transparent); }
.pipe-btn.past { border-color:rgba(76,175,80,0.3); color:var(--success); }
.pipe-arrow { color:var(--text-muted); font-size:0.5rem; opacity:0.4; }

.status-actions { display:flex; gap:0.5rem; flex-wrap:wrap; }
.status-actions button { padding:0.5rem 1rem; border:none; border-radius:6px; font-family:var(--font-body); font-size:0.75rem; font-weight:500; cursor:pointer; display:flex; align-items:center; gap:0.4rem; transition:all 0.2s; }
.status-actions button:hover { transform:translateY(-1px); }

/* Sub-item pills */
.sub-item-pill { display:inline-flex; align-items:center; padding:0.35rem 0.7rem; border:1px solid rgba(255,255,255,0.1); background:rgba(255,255,255,0.03); border-radius:20px; font-size:0.78rem; color:var(--text-muted); cursor:pointer; transition:all 0.2s; user-select:none; }
.sub-item-pill:hover { border-color:var(--gold); color:var(--gold); background:rgba(201,169,110,0.06); }
.sub-item-pill.active { border-color:var(--success); color:var(--success); background:rgba(76,175,80,0.08); font-weight:500; }
.sub-item-pill.active i { color:var(--success); }

/* Contract sub-items design */
.contract-product-block { margin-bottom:1.2rem; padding:1rem 1.2rem; background:linear-gradient(135deg, rgba(201,169,110,0.05), rgba(201,169,110,0.01)); border:1px solid rgba(201,169,110,0.15); border-radius:12px; }
.contract-product-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:0.6rem; padding-bottom:0.5rem; border-bottom:1px solid rgba(201,169,110,0.1); }
.contract-cat-group { margin-bottom:0.7rem; }
.contract-cat-header { display:flex; align-items:center; gap:0.4rem; font-size:0.72rem; font-weight:700; color:var(--text-secondary); text-transform:uppercase; letter-spacing:0.08em; margin-bottom:0.4rem; padding:0.3rem 0; border-bottom:1px solid rgba(255,255,255,0.04); }
.contract-cat-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.contract-sub-row { display:flex; align-items:center; gap:0.5rem; padding:0.4rem 0.6rem; margin-bottom:2px; border-radius:6px; background:rgba(255,255,255,0.02); border:1px solid transparent; transition:all 0.15s; }
.contract-sub-row:hover { background:rgba(255,255,255,0.04); }
.contract-sub-row.selected { background:rgba(76,175,80,0.04); border-color:rgba(76,175,80,0.1); }
.contract-sub-check { display:flex; align-items:center; gap:0.4rem; cursor:pointer; flex-shrink:0; min-width:140px; font-size:0.82rem; color:var(--text-muted); transition:color 0.15s; user-select:none; }
.contract-sub-check:hover { color:var(--text-primary); }
.contract-sub-check i { font-size:0.85rem; color:rgba(255,255,255,0.15); transition:color 0.15s; }
.contract-sub-row.selected .contract-sub-check { color:var(--text-primary); font-weight:500; }
.contract-sub-row.selected .contract-sub-check i { color:var(--success); }
.contract-sub-note { flex:1; font-size:0.72rem; padding:0.3rem 0.6rem; background:transparent; border:1px solid rgba(255,255,255,0.06); border-radius:5px; color:var(--text-muted); transition:all 0.15s; opacity:0.35; }
.contract-sub-row.selected .contract-sub-note { opacity:1; border-color:rgba(76,175,80,0.15); }
.contract-sub-note:focus { opacity:1; border-color:var(--gold); outline:none; background:rgba(255,255,255,0.03); }
.contract-sub-qty-wrap { transition:opacity 0.15s; }
.contract-sub-row.selected .contract-sub-qty-wrap { opacity:1 !important; pointer-events:auto !important; }
.contract-sub-qty:focus { border-color:var(--gold) !important; outline:none; box-shadow:0 0 0 2px rgba(201,169,110,0.2); background:rgba(201,169,110,0.15) !important; }
.contract-qty-summary { flex-wrap:wrap; align-items:center; }

/* Contract status steps */
.contract-status-step { display:inline-flex; align-items:center; gap:0.3rem; padding:0.3rem 0.7rem; border-radius:20px; font-size:0.68rem; color:var(--text-muted); background:rgba(255,255,255,0.03); border:1px solid var(--border-subtle); }
.contract-status-step.done { color:var(--success); background:rgba(76,175,80,0.08); border-color:rgba(76,175,80,0.2); }
.contract-status-step.active { color:var(--gold); background:rgba(201,169,110,0.1); border-color:rgba(201,169,110,0.3); font-weight:600; }
.btn-success { background:var(--success); color:#fff; border:none; border-radius:6px; font-family:var(--font-body); cursor:pointer; transition:all 0.2s; }
.btn-success:hover { filter:brightness(1.1); transform:translateY(-1px); }

/* Calendar */
.calendar-layout { display:flex; gap:1.5rem; min-height:calc(100vh - 130px); }
.calendar-main { flex:1; }
.calendar-nav { display:flex; align-items:center; justify-content:center; gap:1.5rem; margin-bottom:1.5rem; }
.calendar-nav h3 { font-family:var(--font-heading); font-size:1.4rem; font-weight:400; min-width:200px; text-align:center; background:linear-gradient(135deg,var(--gold),#e8d5a8); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.calendar-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:3px; background:rgba(201,169,110,0.12); border-radius:12px; padding:3px; border:1px solid rgba(201,169,110,0.15); }
.cal-header { text-align:center; font-size:0.62rem; font-weight:800; letter-spacing:0.15em; text-transform:uppercase; color:#f5ebd4; padding:0.7rem 0; background:rgba(201,169,110,0.18); border-radius:6px; border:1px solid rgba(201,169,110,0.12); }
.cal-day { min-height:85px; background:#252530; border:1px solid rgba(255,255,255,0.10); padding:0.5rem; border-radius:8px; cursor:pointer; transition:all 0.25s; position:relative; overflow:hidden; }
.cal-day::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(201,169,110,0.04),transparent); opacity:0; transition:opacity 0.3s; pointer-events:none; }
.cal-day:hover { border-color:rgba(201,169,110,0.45); transform:translateY(-1px); box-shadow:0 4px 16px rgba(0,0,0,0.4); background:#2a2a38; }
.cal-day:hover::before { opacity:1; }
.cal-day.today { border-color:rgba(201,169,110,0.6); background:linear-gradient(145deg,rgba(201,169,110,0.15),rgba(201,169,110,0.05)); box-shadow:0 0 20px rgba(201,169,110,0.12); }
.cal-day.other-month { opacity:0.25; }
.cal-day .day-num { font-size:0.82rem; font-weight:700; color:rgba(245,245,250,0.9); margin-bottom:0.35rem; display:inline-flex; align-items:center; justify-content:center; width:1.6rem; height:1.6rem; border-radius:50%; transition:all 0.2s; }
.cal-day.today .day-num { background:var(--gold); color:#0a0a0a; font-weight:700; box-shadow:0 2px 8px rgba(201,169,110,0.4); }
.cal-day .cal-event { font-size:0.58rem; padding:0.2rem 0.35rem; border-radius:4px; margin-bottom:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; cursor:pointer; font-weight:600; transition:transform 0.15s; }
.cal-day .cal-event:hover { transform:translateX(2px); }
.cal-event.rdv { background:rgba(33,150,243,0.18); color:#90CAF9; border-left:2px solid #42A5F5; }
.cal-event.event { background:rgba(201,169,110,0.18); color:var(--gold-light); border-left:2px solid var(--gold); }
.cal-event.table { background:rgba(76,175,80,0.18); color:#A5D6A7; border-left:2px solid #66BB6A; }
.cal-event.reminder { background:rgba(255,152,0,0.18); color:#FFCC80; border-left:2px solid #FFA726; }
.cal-event.note { background:rgba(156,39,176,0.18); color:#E1BEE7; border-left:2px solid #AB47BC; }
.cal-event.blocked { background:rgba(244,67,54,0.15); color:#EF9A9A; border-left:2px solid #EF5350; }
.cal-day.blocked { background:rgba(244,67,54,0.08); border:2px solid rgba(244,67,54,0.45); }
.cal-day.blocked .day-num { background:rgba(244,67,54,0.22); color:#EF5350; }
.cal-day.booked { background:rgba(201,169,110,0.10); border:2px solid rgba(201,169,110,0.35); }
.cal-day.booked .day-num { background:rgba(201,169,110,0.20); color:var(--gold-light); font-weight:700; }
/* Available for RDV = green */
.cal-day.rdv-available { border:2px solid rgba(76,175,80,0.35); }
.cal-day.rdv-available .day-num { color:#A5D6A7; }
.cal-day.rdv-available:hover { border-color:rgba(76,175,80,0.6); box-shadow:0 0 12px rgba(76,175,80,0.12); }
/* Closed for RDV = red subtle */
.cal-day.rdv-closed { border:2px solid rgba(244,67,54,0.18); background:rgba(244,67,54,0.03); }
.cal-day.rdv-closed .day-num { color:rgba(239,154,154,0.7); }
.cal-day.rdv-closed:hover { border-color:rgba(244,67,54,0.35); }

/* Filter bar */
.cal-filter-bar { display:flex; gap:0.4rem; flex-wrap:wrap; margin-bottom:1rem; }
.cal-filter { display:flex; align-items:center; gap:0.3rem; padding:0.4rem 0.8rem; background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.10); border-radius:20px; font-size:0.7rem; color:rgba(240,240,245,0.6); cursor:pointer; transition:all 0.25s; font-weight:500; }
.cal-filter:hover { border-color:rgba(201,169,110,0.4); color:var(--gold-light); background:rgba(201,169,110,0.06); }
.cal-filter.active { background:var(--gold); color:#0a0a0a; border-color:var(--gold); font-weight:700; box-shadow:0 2px 10px rgba(201,169,110,0.30); }
.cal-filter[data-cat="rdv"].active { background:#42A5F5; border-color:#42A5F5; color:#0a0a0a; box-shadow:0 2px 10px rgba(33,150,243,0.30); }
.cal-filter[data-cat="event"].active { background:var(--gold); border-color:var(--gold); }
.cal-filter[data-cat="table"].active { background:#66BB6A; border-color:#66BB6A; color:#0a0a0a; box-shadow:0 2px 10px rgba(76,175,80,0.30); }
.cal-filter[data-cat="reminder"].active { background:#FFA726; border-color:#FFA726; color:#0a0a0a; box-shadow:0 2px 10px rgba(255,152,0,0.30); }
.cal-filter[data-cat="note"].active { background:#AB47BC; border-color:#AB47BC; color:#fff; box-shadow:0 2px 10px rgba(156,39,176,0.30); }

/* Add dropdown */
.cal-add-dropdown { position:relative; }
.cal-add-menu { display:none; position:absolute; right:0; top:100%; margin-top:0.3rem; background:#22222A; border:1px solid rgba(201,169,110,0.15); border-radius:12px; overflow:hidden; z-index:100; min-width:220px; box-shadow:0 12px 40px rgba(0,0,0,0.6); backdrop-filter:blur(10px); }
.cal-add-menu.show { display:block; animation:fadeIn 0.2s; }
.cal-add-menu div { display:flex; align-items:center; gap:0.5rem; padding:0.7rem 1rem; font-size:0.78rem; color:rgba(240,240,245,0.7); cursor:pointer; transition:all 0.15s; }
.cal-add-menu div:hover { background:rgba(201,169,110,0.08); color:#F0F0F5; }
.cal-add-menu div i { width:18px; text-align:center; font-size:0.8rem; }

.calendar-sidebar { width:320px; flex-shrink:0; background:rgba(35,35,45,0.95); border:1px solid rgba(201,169,110,0.18); border-radius:14px; padding:1.2rem; box-shadow:0 4px 20px rgba(0,0,0,0.3); }
.calendar-sidebar-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:1rem; padding-bottom:0.8rem; border-bottom:2px solid rgba(201,169,110,0.18); }
.calendar-sidebar-header h4 { font-family:var(--font-heading); font-size:1.1rem; font-weight:400; display:flex; align-items:center; gap:0.5rem; color:rgba(245,245,250,0.95); }
.calendar-sidebar-header h4 i { color:var(--gold); font-size:0.9rem; }
.rdv-card { background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.10); border-radius:10px; padding:1rem; margin-bottom:0.6rem; border-left:3px solid var(--info); transition:all 0.25s; cursor:pointer; }
.rdv-card:hover { border-color:rgba(201,169,110,0.30); transform:translateX(3px); box-shadow:0 4px 16px rgba(0,0,0,0.3); background:rgba(255,255,255,0.09); }
.rdv-card.cat-rdv { border-left-color:#42A5F5; }
.rdv-card.cat-event { border-left-color:var(--gold); }
.rdv-card.cat-table { border-left-color:#66BB6A; }
.rdv-card.cat-reminder { border-left-color:#FFA726; }
.rdv-card.cat-note { border-left-color:#AB47BC; }
.rdv-card.confirmed { border-left-color:var(--success); }
.rdv-card.cancelled { border-left-color:var(--danger); opacity:0.5; }
.rdv-card .rdv-time { font-size:0.72rem; color:var(--gold-light); font-weight:700; letter-spacing:0.05em; }
.rdv-card .rdv-name { font-family:var(--font-heading); font-size:1.05rem; margin:0.2rem 0; color:rgba(245,245,250,0.95); }
.rdv-card .rdv-type { font-size:0.7rem; color:rgba(200,200,210,0.6); }
.rdv-card .rdv-notes { font-size:0.65rem; color:rgba(200,200,210,0.5); font-style:italic; margin-top:0.3rem; }
.rdv-card .rdv-actions { display:flex; gap:0.3rem; margin-top:0.5rem; }

/* Design Editor */
.design-editor { display:flex; gap:0; height:calc(100vh - 65px); margin:-2rem; }
.design-preview { flex:1; display:flex; flex-direction:column; border-right:1px solid var(--border-subtle); }
.design-preview-toolbar { padding:0.6rem 1rem; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--border-subtle); background:var(--dark-card); flex-shrink:0; }
.design-preview-toolbar span { font-size:0.75rem; color:var(--text-muted); display:flex; align-items:center; gap:0.5rem; }
.design-preview-toolbar span i { color:var(--gold); }
.design-iframe { flex:1; width:100%; border:none; background:#fff; }
.design-panel { width:380px; flex-shrink:0; display:flex; flex-direction:column; background:var(--dark-soft); }
.design-panel-header { padding:1rem 1.2rem; border-bottom:1px solid var(--border-subtle); display:flex; align-items:center; gap:0.6rem; }
.design-panel-header i { color:var(--gold); }
.design-panel-header h4 { font-family:var(--font-heading); font-size:1.1rem; font-weight:400; }
.design-panel-body { flex:1; padding:1.2rem; overflow-y:auto; }
.design-empty { text-align:center; padding:3rem 1rem; color:var(--text-muted); }
.design-empty i { font-size:2.5rem; margin-bottom:1rem; display:block; color:var(--border-subtle); }
.design-empty p { font-size:0.85rem; line-height:1.6; }

.edit-field { margin-bottom:1.2rem; }
.edit-field label { display:block; font-size:0.72rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--gold-light); margin-bottom:0.5rem; }
.edit-field input, .edit-field textarea { width:100%; padding:0.7rem 0.9rem; background:var(--input-bg); border:1px solid var(--input-border); border-radius:8px; color:#fff; font-family:var(--font-body); font-size:0.85rem; outline:none; transition:all 0.25s; }
.edit-field input:focus, .edit-field textarea:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(235,225,210,0.1); }
.edit-field textarea { resize:vertical; min-height:60px; }
.edit-field-preview { width:100%; height:80px; object-fit:cover; border-radius:6px; margin-bottom:0.5rem; border:1px solid var(--border-subtle); }
.edit-section-label { font-family:var(--font-heading); font-size:1.15rem; color:var(--gold); margin:1.5rem 0 0.8rem; padding-bottom:0.4rem; border-bottom:1px solid var(--border-subtle); }
.edit-section-label:first-child { margin-top:0; }
.btn-save-design { width:100%; margin-top:1rem; padding:0.7rem; background:linear-gradient(135deg,var(--gold),var(--gold-dark)); border:none; color:var(--dark); font-family:var(--font-body); font-size:0.8rem; font-weight:600; letter-spacing:0.05em; border-radius:6px; cursor:pointer; transition:all 0.3s; }
.btn-save-design:hover { box-shadow:0 4px 15px rgba(201,169,110,0.3); }

/* Responsive */
@media (max-width: 1024px) {
  .calendar-layout { flex-direction:column; }
  .calendar-sidebar { width:100%; }
  .ai-layout { flex-direction:column; }
  .ai-panel { width:100%; }
  .design-editor { flex-direction:column; height:auto; }
  .design-panel { width:100%; }
  .design-iframe { min-height:400px; }
  .formula-cards-grid { grid-template-columns:1fr; }
  .cost-rules-grid { grid-template-columns:1fr; }
  .templates-grid { grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); }
  .social-cards { grid-template-columns:1fr; }
}

@media (max-width: 768px) {
  .sidebar { transform:translateX(-100%); }
  .sidebar.open { transform:translateX(0); }
  .sidebar.open ~ .sidebar-backdrop { display:block; }
  .sidebar-backdrop { display:none; position:fixed; inset:0; z-index:99; background:rgba(0,0,0,0.5); backdrop-filter:blur(2px); }
  .main-content { margin-left:0; }
  .menu-btn { display:block; }
  .topbar-btn span, .theme-toggle span { display:none; }
  .topbar-btn { padding:0.4rem; }
  .theme-toggle { padding:0.4rem; }

  /* Topbar */
  .topbar { padding:0.8rem 1rem; }
  .topbar h1 { font-size:1.1rem; }

  /* Content sections */
  .content-section { padding:1rem; }
  .section-toolbar { margin-bottom:1rem; }

  /* Prospect cards */
  .prospect-grid { grid-template-columns:1fr; }
  .prospect-card { padding:1rem; }
  .prospect-name { font-size:1.1rem; }
  .prospect-meta { gap:0.4rem; font-size:0.7rem; }
  .prospect-meta span { flex-basis:45%; }

  /* Prospect detail modal */
  .detail-grid { grid-template-columns:1fr; gap:0.6rem; }
  .prospect-detail-header { gap:1rem; }
  .prospect-avatar { width:45px; height:45px; font-size:1.1rem; }
  .prospect-detail-info h4 { font-size:1.1rem; }

  /* Forms */
  .admin-form-row { grid-template-columns:1fr; gap:0.6rem; }
  .admin-form-group { margin-bottom:0.8rem; }

  /* Data tables — horizontal scroll */
  .data-table { display:block; overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .data-table th, .data-table td { padding:0.5rem 0.6rem; font-size:0.75rem; white-space:nowrap; }
  .data-table .td-actions { gap:0.2rem; }

  /* Modals — near full screen */
  .modal-panel { width:100%; max-width:100%; max-height:100vh; border-radius:0; margin:0; }
  .modal-body { padding:1rem; }
  .modal-header { padding:0.8rem 1rem; }
  .modal-header h3 { font-size:1.2rem; }

  /* Pipeline */
  .pipeline-dot { width:22px; height:22px; font-size:0.5rem; }
  .modal-pipeline { gap:0.2rem; }
  .pipe-btn { padding:0.4rem 0.5rem; font-size:0.65rem; }
  .pipe-arrow { display:none; }

  /* Status actions */
  .status-actions { gap:0.3rem; }
  .status-actions button { padding:0.4rem 0.6rem; font-size:0.65rem; }

  /* Calendar */
  .calendar-layout { flex-direction:column; min-height:auto; }
  .calendar-sidebar { width:100%; }
  .cal-day { min-height:50px; }
  .cal-day .day-num { font-size:0.65rem; }
  .cal-day .cal-event { font-size:0.45rem; padding:0.1rem 0.2rem; }
  .cal-filter-bar { gap:0.2rem; }
  .cal-filter { padding:0.25rem 0.5rem; font-size:0.6rem; }

  /* AI layout */
  .ai-layout { flex-direction:column; min-height:auto; }
  .ai-panel { width:100%; }
  .ai-chat-panel { min-height:400px; }

  /* Design editor */
  .design-editor { flex-direction:column; height:auto; margin:-1rem; }
  .design-panel { width:100%; }
  .design-iframe { min-height:300px; }

  /* Communication */
  .comm-tabs { overflow-x:auto; padding-bottom:0.3rem; }
  .comm-tab { white-space:nowrap; font-size:0.7rem; padding:0.4rem 0.6rem; }
  .media-grid { grid-template-columns:repeat(auto-fill, minmax(100px, 1fr)); }

  /* Formula cards */
  .formula-cards-grid { grid-template-columns:1fr; }
  .formula-admin-header { flex-direction:column; gap:0.3rem; }

  /* Filter pills */
  .prospect-filters { gap:0.3rem; overflow-x:auto; flex-wrap:nowrap; padding-bottom:0.3rem; }
  .filter-btn { padding:0.35rem 0.7rem; font-size:0.65rem; white-space:nowrap; flex-shrink:0; }

  /* Buttons */
  .btn-primary, .btn-secondary { font-size:0.75rem; padding:0.5rem 0.8rem; }
  .btn-small { font-size:0.65rem; padding:0.3rem 0.5rem; }
}

/* AI Section */
.ai-layout { display:flex; gap:1.5rem; min-height:calc(100vh - 130px); }
.ai-panel { width:380px; flex-shrink:0; display:flex; flex-direction:column; gap:1rem; }
.ai-card { background:var(--dark-card); border:1px solid var(--border-subtle); border-radius:10px; padding:1.2rem; }
.ai-card h3 { font-family:var(--font-heading); font-size:1rem; font-weight:400; margin-bottom:0.8rem; display:flex; align-items:center; gap:0.5rem; }
.ai-card h3 i { color:var(--gold); font-size:0.85rem; }
.ai-upload-zone { border:2px dashed var(--border-subtle); border-radius:10px; padding:2rem; text-align:center; transition:all 0.3s; cursor:pointer; }
.ai-upload-zone:hover, .ai-upload-zone.dragover { border-color:var(--gold); background:rgba(201,169,110,0.03); }
.ai-upload-zone i { font-size:2rem; color:var(--gold); opacity:0.5; margin-bottom:0.8rem; display:block; }
.ai-upload-zone p { font-size:0.85rem; color:var(--text-secondary); margin-bottom:0.3rem; }
.ai-upload-zone span { font-size:0.7rem; color:var(--text-muted); }
.ai-chat-panel { flex:1; display:flex; flex-direction:column; background:var(--dark-card); border:1px solid var(--border-subtle); border-radius:10px; overflow:hidden; max-height:70vh; }
.ai-chat-header { padding:1rem 1.2rem; border-bottom:1px solid var(--border-subtle); }
.ai-chat-header h4 { font-family:var(--font-heading); font-size:1rem; font-weight:400; display:flex; align-items:center; gap:0.5rem; }
.ai-chat-header h4 i { color:var(--gold); }
.ai-chat-messages { flex:1; overflow-y:auto; padding:1.2rem; display:flex; flex-direction:column; gap:0.8rem; max-height:55vh; scroll-behavior:smooth; }
.ai-msg { display:flex; gap:0.6rem; max-width:90%; animation:fadeInMsg 0.3s ease; }
.ai-msg.user { align-self:flex-end; flex-direction:row-reverse; }
.ai-msg-avatar { width:30px; height:30px; border-radius:50%; background:var(--dark); display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:0.7rem; color:var(--gold); }
.ai-msg.user .ai-msg-avatar { background:var(--gold); color:var(--dark); }
.ai-msg-content { background:rgba(255,255,255,0.03); border:1px solid var(--border-subtle); border-radius:12px; padding:0.7rem 1rem; font-size:0.85rem; line-height:1.5; color:rgba(245,240,232,0.8); }
.ai-msg.user .ai-msg-content { background:rgba(201,169,110,0.1); border-color:rgba(201,169,110,0.2); }
.ai-chat-input { display:flex; gap:0.5rem; padding:1rem 1.2rem; border-top:1px solid var(--border-subtle); }
.ai-chat-input input { flex:1; background:var(--dark); border:1px solid var(--border-subtle); border-radius:8px; padding:0.7rem 1rem; color:var(--text-primary); font-family:var(--font-body); font-size:0.85rem; }
.ai-chat-input input:focus { outline:none; border-color:rgba(201,169,110,0.3); }
.ai-knowledge-item { display:flex; justify-content:space-between; align-items:center; padding:0.5rem 0; border-bottom:1px solid var(--border-subtle); }
.ai-knowledge-item:last-child { border-bottom:none; }
.ai-knowledge-item .ki-name { font-size:0.8rem; color:var(--text-secondary); }
.ai-knowledge-item .ki-type { font-size:0.6rem; color:var(--gold); text-transform:uppercase; letter-spacing:0.1em; }
@keyframes fadeInMsg { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
.ai-typing { display:flex; gap:4px; padding:0.7rem 1rem; }
.ai-typing span { width:6px; height:6px; border-radius:50%; background:var(--gold); opacity:0.4; animation:typingDot 1.4s infinite; }
.ai-typing span:nth-child(2) { animation-delay:0.2s; }
.ai-typing span:nth-child(3) { animation-delay:0.4s; }
@keyframes typingDot { 0%,60%,100% { opacity:0.4; transform:translateY(0); } 30% { opacity:1; transform:translateY(-4px); } }

/* Question Groups */
.question-group { background:var(--dark-card); border:1px solid var(--border-subtle); border-radius:10px; margin-bottom:0.8rem; overflow:hidden; }
.question-group-header { display:flex; justify-content:space-between; align-items:center; padding:1rem 1.2rem; cursor:pointer; transition:background 0.2s; }
.question-group-header:hover { background:rgba(201,169,110,0.03); }
.question-group-title { font-family:var(--font-heading); font-size:1.1rem; font-weight:400; color:var(--gold); display:flex; align-items:center; gap:0.6rem; }
.question-group-title i { font-size:0.6rem; transition:transform 0.3s var(--ease-out-expo); }
.question-group-count { font-size:0.7rem; color:var(--text-muted); padding:0.15rem 0.6rem; background:rgba(255,255,255,0.03); border-radius:10px; }
.question-group-body { padding:0 1.2rem 1rem; }
.question-group.collapsed .question-group-body { display:none; }
.question-group.collapsed .question-group-title i { transform:rotate(-90deg); }

/* Drag & Drop */
.dnd-row { transition: background 0.15s, opacity 0.15s; }
.dnd-row:hover td:first-child { color: var(--gold); }
.dnd-row[draggable="true"] td:first-child { cursor: grab; }
.dnd-row[draggable="true"]:active td:first-child { cursor: grabbing; }

/* New Quote Stepper */
.nq-step { flex:1; padding:0.6rem 1rem; background:var(--dark-card); border:1px solid var(--border-subtle); border-radius:8px; font-size:0.78rem; color:var(--text-muted); display:flex; align-items:center; gap:0.5rem; transition:all 0.2s; }
.nq-step.active { background:rgba(201,169,110,0.08); border-color:var(--gold); color:var(--gold); }
.nq-step.done { background:rgba(102,187,106,0.06); border-color:rgba(102,187,106,0.3); color:#66bb6a; }
.nq-step-num { display:inline-flex; align-items:center; justify-content:center; width:1.4rem; height:1.4rem; border-radius:50%; background:rgba(255,255,255,0.05); font-size:0.7rem; font-weight:700; }
.nq-step.active .nq-step-num { background:var(--gold); color:#1E1E28; }
.nq-step.done .nq-step-num { background:#66bb6a; color:#fff; }
.nq-q-card { background:var(--dark-card); border:1px solid var(--border-subtle); border-radius:10px; padding:1rem 1.2rem; margin-bottom:0.8rem; }
.nq-q-card label { font-size:0.85rem; color:var(--text-primary); font-weight:500; display:block; margin-bottom:0.5rem; }

/* Formula Admin Cards */
.formula-section { margin-bottom:1.5rem; }
.formula-section-header { font-family:var(--font-heading); font-size:1rem; color:var(--gold); padding:0.6rem 0; margin-bottom:0.6rem; border-bottom:1px solid var(--border-subtle); display:flex; align-items:center; gap:0.5rem; }
.formula-section-header i { font-size:0.7rem; opacity:0.5; }
.formula-cards-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(320px, 1fr)); gap:0.8rem; }
.formula-admin-card { background:var(--dark-card); border:1px solid var(--border-subtle); border-left:3px solid var(--gold); border-radius:8px; padding:1rem 1.2rem; transition:all 0.2s; }
.formula-admin-card:hover { border-color:rgba(201,169,110,0.3); box-shadow:0 4px 15px rgba(0,0,0,0.2); }
.formula-admin-card.inactive { opacity:0.4; }
.formula-admin-header { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:0.5rem; }
.formula-admin-name { font-family:var(--font-heading); font-size:1.15rem; color:var(--text-primary); font-weight:400; }
.formula-admin-price { font-family:var(--font-heading); font-size:1.2rem; color:var(--gold); white-space:nowrap; }
.formula-admin-price span { font-size:0.65rem; color:var(--text-muted); font-family:var(--font-body); }
.formula-admin-detail { font-size:0.78rem; color:var(--text-secondary); line-height:1.6; margin-bottom:0.6rem; padding:0.5rem 0.7rem; background:rgba(255,255,255,0.02); border-radius:4px; border-left:2px solid rgba(201,169,110,0.2); }
.formula-admin-meta { display:flex; gap:1rem; font-size:0.7rem; color:var(--text-muted); margin-bottom:0.6rem; }
.formula-admin-meta i { font-size:0.6rem; margin-right:0.2rem; color:var(--gold); opacity:0.5; }
.formula-admin-actions { display:flex; gap:0.4rem; align-items:center; }

/* Question Pills (multi-select) */
.q-pills-container { display:flex; flex-wrap:wrap; gap:0.4rem; margin-top:0.3rem; }
.q-pill-label { display:inline-flex; align-items:center; padding:0.4rem 0.8rem; background:var(--dark-card); border:1px solid var(--border-subtle); border-radius:20px; font-size:0.75rem; color:var(--text-secondary); cursor:pointer; transition:all 0.2s; user-select:none; }
.q-pill-label:hover { border-color:rgba(201,169,110,0.3); color:var(--text-primary); }
.q-pill-label.active { background:rgba(201,169,110,0.12); border-color:var(--gold); color:var(--gold); font-weight:500; }

/* Cost Rules — Grouped by Type */
.cost-type-section { margin-bottom:1.8rem; }
.cost-type-header { display:flex; align-items:center; gap:0.8rem; padding:0.5rem 0 0.6rem; margin-bottom:0.8rem; border-bottom:1px solid var(--border-subtle); border-left:3px solid; padding-left:0.8rem; }
.cost-type-title { font-family:var(--font-heading); font-size:1.3rem; font-weight:400; }
.cost-type-count { font-size:0.65rem; color:var(--text-muted); padding:0.15rem 0.5rem; background:rgba(255,255,255,0.03); border-radius:10px; }
.cost-rules-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(320px, 1fr)); gap:0.7rem; }
.cost-rule-card { background:var(--dark-card); border:1px solid var(--border-subtle); border-left:3px solid; border-radius:8px; padding:0.9rem 1rem; transition:all 0.2s; }
.cost-rule-card:hover { border-color:rgba(201,169,110,0.2); box-shadow:0 4px 15px rgba(0,0,0,0.2); }
.cost-rule-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:0.5rem; }
.cost-rule-question { font-size:0.78rem; color:var(--text-muted); display:flex; align-items:center; gap:0.4rem; }
.cost-rule-question i { font-size:0.6rem; color:var(--gold); opacity:0.5; }
.cost-rule-desc { font-size:0.85rem; color:var(--text-secondary); line-height:1.5; margin-bottom:0.6rem; }
.cost-rule-desc strong { color:var(--text-primary); }
.cost-rule-actions { display:flex; gap:0.4rem; }

/* Rule Config Panels (modal) */
.rule-config-panel { border:1px solid var(--border-subtle); border-radius:8px; padding:1rem; margin:0.5rem 0; background:rgba(255,255,255,0.01); }

/* Template Cards */
.templates-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:1rem; }
.template-card { background:var(--dark-card); border:1px solid var(--border-subtle); border-radius:12px; overflow:hidden; cursor:pointer; transition:all 0.3s; }
.template-card:hover { border-color:rgba(201,169,110,0.3); box-shadow:0 8px 30px rgba(0,0,0,0.3); transform:translateY(-2px); }
.template-cover { height:140px; background-size:cover; background-position:center; position:relative; }
.template-cover-overlay { position:absolute; inset:0; background:linear-gradient(180deg, transparent 30%, rgba(13,13,13,0.8) 100%); }
.template-badge { position:absolute; top:0.6rem; left:0.6rem; padding:0.25rem 0.6rem; background:rgba(0,0,0,0.6); backdrop-filter:blur(5px); border-radius:20px; font-size:0.7rem; color:var(--gold); }
.template-body { padding:1rem 1.2rem; }
.template-body h4 { font-family:var(--font-heading); font-size:1.1rem; font-weight:400; color:var(--text-primary); margin-bottom:0.3rem; }
.template-body p { font-size:0.75rem; color:var(--text-muted); line-height:1.5; margin-bottom:0.8rem; }
.template-actions { display:flex; gap:0.4rem; }

/* Textarea admin */
.admin-form-group textarea { width:100%; padding:0.75rem 1rem; background:var(--input-bg); border:1px solid var(--input-border); border-radius:8px; color:var(--input-color); font-family:var(--font-body); font-size:0.85rem; line-height:1.6; resize:vertical; }
.admin-form-group textarea:focus { border-color:var(--gold); outline:none; box-shadow:0 0 0 3px rgba(235,225,210,0.1); background:#FFF8EE; }
.admin-form-group textarea::placeholder { color:rgba(30,30,40,0.4); font-style:italic; }

/* Communication Module */
.comm-tabs { display:flex; gap:0.4rem; margin-bottom:1.5rem; padding:0.5rem; background:linear-gradient(135deg, rgba(201,169,110,0.06), rgba(201,169,110,0.02)); border-radius:14px; border:1px solid rgba(201,169,110,0.12); flex-wrap:wrap; }
.comm-tab { background:none; border:1px solid transparent; color:var(--text-muted); font-size:0.85rem; padding:0.65rem 1.1rem; cursor:pointer; border-radius:10px; transition:all 0.25s; display:flex; align-items:center; gap:0.5rem; font-weight:500; }
.comm-tab i { font-size:1rem; }
.comm-tab:hover { color:var(--gold-light); background:rgba(201,169,110,0.08); border-color:rgba(201,169,110,0.15); }
.comm-tab.active { color:#fff; background:linear-gradient(135deg, rgba(201,169,110,0.35), rgba(168,137,63,0.25)); font-weight:700; box-shadow:0 4px 15px rgba(201,169,110,0.2); border:1px solid rgba(201,169,110,0.4); text-shadow:0 1px 2px rgba(0,0,0,0.3); }
.comm-panel { animation:fadeInPanel 0.3s ease; }
@keyframes fadeInPanel { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
.comm-panel-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:1.2rem; padding-bottom:0.8rem; border-bottom:1px solid rgba(201,169,110,0.1); }
.comm-panel-header h3 { font-family:var(--font-heading); font-size:1.5rem; font-weight:400; color:#fff; letter-spacing:0.02em; }
.media-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(150px, 1fr)); gap:0.6rem; }
.media-item { position:relative; aspect-ratio:1; border-radius:8px; overflow:hidden; border:1px solid var(--border-subtle); cursor:pointer; transition:all 0.2s; }
.media-item:hover { border-color:var(--gold); transform:scale(1.02); }
.media-item img { width:100%; height:100%; object-fit:cover; }
.media-item .media-overlay { position:absolute; inset:0; background:rgba(0,0,0,0.6); opacity:0; transition:opacity 0.2s; display:flex; align-items:center; justify-content:center; gap:0.3rem; }
.media-item:hover .media-overlay { opacity:1; }
.media-item .media-name { position:absolute; bottom:0; left:0; right:0; padding:0.3rem 0.5rem; background:linear-gradient(transparent, rgba(0,0,0,0.8)); font-size:0.6rem; color:#fff; }
.social-cards { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:1rem; }
.social-card { background:var(--dark-card); border:1px solid var(--border-subtle); border-radius:12px; padding:1.2rem; border-top:3px solid var(--border-subtle); transition:all 0.2s; }
.social-card.facebook { border-top-color:#1877F2; }
.social-card.instagram { border-top-color:#E4405F; }
.social-card.linkedin { border-top-color:#0A66C2; }
.social-card .sc-header { display:flex; align-items:center; gap:0.6rem; margin-bottom:0.8rem; }
.social-card .sc-icon { width:36px; height:36px; border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:1.1rem; color:#fff; }
.social-card.facebook .sc-icon { background:#1877F2; }
.social-card.instagram .sc-icon { background:linear-gradient(45deg, #F58529, #DD2A7B, #8134AF); }
.social-card.linkedin .sc-icon { background:#0A66C2; }
.social-card .sc-name { font-family:var(--font-heading); font-size:1rem; }
.social-card .sc-status { font-size:0.65rem; }
.social-card .sc-status.connected { color:var(--success); }
.ai-config-panel { background:linear-gradient(135deg, rgba(201,169,110,0.04), rgba(255,255,255,0.02)); border:1px solid rgba(201,169,110,0.12); border-radius:14px; padding:1.5rem; margin-bottom:1.2rem; border-left:3px solid var(--border-subtle); transition:all 0.3s; }
.ai-config-panel:hover { border-color:rgba(201,169,110,0.2); box-shadow:0 4px 20px rgba(0,0,0,0.2); }
.ai-config-panel.facebook { border-left-color:#1877F2; }
.ai-config-panel.instagram { border-left-color:#E4405F; }
.ai-config-panel.linkedin { border-left-color:#0A66C2; }
.ai-config-panel .acp-header { display:flex; align-items:center; gap:0.6rem; margin-bottom:1rem; font-family:var(--font-heading); font-size:1.15rem; color:#fff; font-weight:500; padding-bottom:0.6rem; border-bottom:1px solid rgba(201,169,110,0.08); }
.post-card { background:linear-gradient(135deg, rgba(201,169,110,0.04), rgba(255,255,255,0.02)); border:1px solid rgba(201,169,110,0.1); border-radius:14px; padding:1.1rem; margin-bottom:0.8rem; display:flex; gap:1rem; transition:all 0.3s; cursor:pointer; }
.post-card:hover { border-color:rgba(201,169,110,0.3); transform:translateY(-1px); box-shadow:0 4px 20px rgba(201,169,110,0.08); }
.post-card .post-media { width:80px; height:80px; border-radius:10px; overflow:hidden; flex-shrink:0; border:1px solid rgba(201,169,110,0.1); }
.post-card .post-media img { width:100%; height:100%; object-fit:cover; }
.post-card .post-content { flex:1; }
.post-card .post-header { display:flex; align-items:center; gap:0.5rem; margin-bottom:0.4rem; }
.post-card .post-platform { font-size:0.7rem; padding:0.2rem 0.6rem; border-radius:12px; font-weight:700; letter-spacing:0.03em; }
.post-card .post-platform.facebook { background:rgba(24,119,242,0.2); color:#64B5F6; }
.post-card .post-platform.instagram { background:rgba(228,64,95,0.2); color:#F48FB1; }
.post-card .post-platform.linkedin { background:rgba(10,102,194,0.2); color:#64B5F6; }
.post-card .post-status { font-size:0.65rem; padding:0.2rem 0.5rem; border-radius:12px; font-weight:600; }
.post-card .post-status.draft { background:rgba(255,152,0,0.2); color:#FFB74D; }
.post-card .post-status.published { background:rgba(76,175,80,0.2); color:#81C784; }
.post-card .post-status.rejected { background:rgba(244,67,54,0.2); color:#EF9A9A; }
.post-card .post-text { font-size:0.82rem; color:var(--text-secondary); line-height:1.5; margin-bottom:0.4rem; }
.post-card .post-date { font-size:0.7rem; color:var(--text-muted); }
.post-card .post-actions { display:flex; gap:0.3rem; margin-top:0.5rem; flex-wrap:wrap; }
.post-card .post-status.validated { background:rgba(76,175,80,0.2); color:#81C784; }
.post-card .post-status.auto_published { background:rgba(33,150,243,0.2); color:#64B5F6; }
.post-card .post-status.failed { background:rgba(244,67,54,0.2); color:#EF9A9A; }
.post-filter { transition:all 0.2s; }
.post-filter.active { background:rgba(201,169,110,0.15) !important; border-color:var(--gold) !important; color:var(--gold) !important; }
@keyframes pulse { 0%,100% { opacity:1; } 50% { opacity:0.4; } }

/* === POST CREATOR === */
.platform-logo-selector { display:flex; gap:0.75rem; flex-wrap:wrap; }
.platform-logo-btn { display:flex; flex-direction:column; align-items:center; gap:0.35rem; padding:0.75rem 1rem; background:rgba(255,255,255,0.04); border:2px solid rgba(255,255,255,0.08); border-radius:12px; cursor:pointer; transition:all 0.25s; color:var(--text-secondary); min-width:80px; }
.platform-logo-btn:hover { border-color:var(--platform-color); background:rgba(255,255,255,0.08); color:var(--platform-color); }
.platform-logo-btn.active { border-color:var(--platform-color); background:color-mix(in srgb, var(--platform-color) 15%, transparent); color:var(--platform-color); box-shadow:0 0 15px color-mix(in srgb, var(--platform-color) 30%, transparent); }
.platform-logo-btn span { font-size:0.7rem; font-weight:500; max-width:80px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.mode-selector { display:flex; gap:0.4rem; flex-wrap:wrap; }
.mode-btn { padding:0.5rem 0.85rem; background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.1); border-radius:8px; color:var(--text-muted); font-size:0.78rem; cursor:pointer; transition:all 0.2s; display:flex; align-items:center; gap:0.35rem; }
.mode-btn:hover { border-color:var(--gold); color:var(--gold); background:rgba(201,169,110,0.08); }
.mode-btn.active { background:rgba(201,169,110,0.15); border-color:var(--gold); color:var(--gold); font-weight:600; }

.photo-grid-picker { display:grid; grid-template-columns:repeat(auto-fill, minmax(90px,1fr)); gap:0.5rem; max-height:200px; overflow-y:auto; padding:0.25rem; }
.photo-picker-item { position:relative; border-radius:8px; overflow:hidden; border:2px solid transparent; cursor:pointer; transition:all 0.2s; aspect-ratio:1; }
.photo-picker-item img { width:100%; height:100%; object-fit:cover; }
.photo-picker-item:hover { border-color:rgba(201,169,110,0.5); transform:scale(1.03); }
.photo-picker-item.selected { border-color:var(--gold); box-shadow:0 0 12px rgba(201,169,110,0.4); }
.photo-picker-item.selected::after { content:'✓'; position:absolute; top:4px; right:4px; background:var(--gold); color:#000; width:20px; height:20px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:0.7rem; font-weight:700; }
.photo-picker-name { position:absolute; bottom:0; left:0; right:0; padding:0.2rem 0.3rem; background:rgba(0,0,0,0.7); color:#fff; font-size:0.6rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

.upload-drop-zone { border:2px dashed rgba(201,169,110,0.3); border-radius:12px; padding:1.5rem; text-align:center; cursor:pointer; transition:all 0.25s; }
.upload-drop-zone:hover { border-color:var(--gold); background:rgba(201,169,110,0.05); }
.upload-drop-zone p { color:var(--text-muted); font-size:0.85rem; margin-top:0.5rem; }

.post-creator-content .admin-form-group { margin-bottom:0.75rem; }

/* === AUTOMATION PANEL === */
.automation-grid { display:grid; gap:1rem; }
.auto-card { background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.06); border-radius:12px; padding:1.25rem; }
.auto-card h4 { font-family:var(--font-heading); font-size:0.95rem; color:var(--gold); margin-bottom:0.75rem; display:flex; align-items:center; gap:0.5rem; }
.auto-card-desc { font-size:0.78rem; color:var(--text-muted); margin-bottom:0.75rem; }
.auto-card-status { border:1px solid rgba(201,169,110,0.2); }
.auto-card-status.active { border-color:rgba(76,175,80,0.4); background:rgba(76,175,80,0.05); }
.auto-card-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:0.5rem; }
.auto-status-indicator { display:flex; align-items:center; gap:0.5rem; font-size:0.95rem; font-weight:600; }
.auto-status-indicator.on { color:#81C784; }
.auto-status-indicator.off { color:var(--text-muted); }
.toggle-switch { position:relative; width:52px; height:28px; display:inline-block; }
.toggle-switch input { opacity:0; width:0; height:0; }
.toggle-slider { position:absolute; cursor:pointer; inset:0; background:rgba(255,255,255,0.1); border-radius:28px; transition:0.3s; }
.toggle-slider::before { content:''; position:absolute; height:22px; width:22px; left:3px; bottom:3px; background:#fff; border-radius:50%; transition:0.3s; }
.toggle-switch input:checked + .toggle-slider { background:var(--gold); }
.toggle-switch input:checked + .toggle-slider::before { transform:translateX(24px); }
.auto-frequency label, .auto-days label, .auto-time-row label { font-size:0.8rem; color:var(--text-secondary); margin-bottom:0.4rem; display:block; }
.frequency-selector { display:flex; gap:0.4rem; margin-top:0.3rem; }
.freq-btn { width:42px; height:42px; border-radius:10px; border:1px solid rgba(255,255,255,0.1); background:rgba(255,255,255,0.04); color:var(--text-secondary); font-size:1rem; font-weight:600; cursor:pointer; transition:all 0.2s; }
.freq-btn:hover { border-color:var(--gold); color:var(--gold); }
.freq-btn.active { background:rgba(201,169,110,0.15); border-color:var(--gold); color:var(--gold); }
.auto-days { margin-top:1rem; }
.days-selector { display:flex; gap:0.35rem; margin-top:0.3rem; flex-wrap:wrap; }
.day-btn { padding:0.45rem 0.7rem; border-radius:8px; border:1px solid rgba(255,255,255,0.1); background:rgba(255,255,255,0.04); color:var(--text-muted); font-size:0.78rem; cursor:pointer; transition:all 0.2s; font-weight:500; }
.day-btn:hover { border-color:var(--gold); color:var(--gold); }
.day-btn.active { background:rgba(201,169,110,0.15); border-color:var(--gold); color:var(--gold); }
.auto-time-row { margin-top:1rem; }
.auto-time-row input[type="time"] { background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1); border-radius:8px; color:#fff; padding:0.45rem 0.7rem; font-size:0.85rem; }
.auto-platforms { display:flex; gap:0.75rem; flex-wrap:wrap; }
.auto-themes { display:flex; flex-wrap:wrap; gap:0.4rem; margin-bottom:0.75rem; min-height:1rem; }
.theme-tag { display:flex; align-items:center; gap:0.3rem; padding:0.35rem 0.7rem; background:rgba(201,169,110,0.12); border:1px solid rgba(201,169,110,0.25); border-radius:20px; font-size:0.78rem; color:var(--gold); }
.theme-tag button { background:none; border:none; color:rgba(201,169,110,0.6); cursor:pointer; padding:0; font-size:0.7rem; transition:color 0.2s; }
.theme-tag button:hover { color:#EF9A9A; }
.auto-add-theme { display:flex; gap:0.4rem; }
.auto-add-theme input { flex:1; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1); border-radius:8px; color:#fff; padding:0.5rem 0.75rem; font-size:0.85rem; }
.auto-add-theme input::placeholder { color:var(--text-muted); }
.auto-options { display:flex; flex-direction:column; gap:0.6rem; }
.auto-option { display:flex; align-items:center; gap:0.6rem; cursor:pointer; font-size:0.85rem; color:var(--text-secondary); }
.auto-option input[type="checkbox"] { accent-color:var(--gold); width:16px; height:16px; }
.schedule-preview-list { display:flex; flex-direction:column; gap:0.4rem; }
.schedule-item { display:grid; grid-template-columns:1fr auto auto 1fr; gap:0.75rem; align-items:center; padding:0.6rem 0.75rem; background:rgba(255,255,255,0.03); border-radius:8px; border-left:3px solid var(--gold); }
.schedule-date { font-size:0.82rem; color:var(--text-primary); }
.schedule-time { font-size:0.78rem; color:var(--text-muted); background:rgba(255,255,255,0.06); padding:0.2rem 0.5rem; border-radius:4px; }
.schedule-platform { font-size:1.1rem; }
.schedule-theme { font-size:0.78rem; color:var(--gold); font-style:italic; text-align:right; }

/* === SPLIT LAYOUT — Publications === */
.posts-split-layout { display:grid; grid-template-columns:1fr 340px; gap:1.25rem; }
.posts-list-side { min-width:0; }
.posts-preview-side { position:sticky; top:1rem; align-self:start; }
.preview-card { background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.08); border-radius:14px; overflow:hidden; backdrop-filter:blur(8px); }
.preview-header { display:flex; align-items:center; gap:0.5rem; padding:0.75rem 1rem; font-size:0.82rem; font-weight:600; color:var(--gold); border-bottom:1px solid rgba(255,255,255,0.06); background:rgba(201,169,110,0.06); }
.preview-body { padding:1rem; }
.preview-empty { text-align:center; padding:2rem 1rem; }
.preview-empty p { color:var(--text-muted); font-size:0.8rem; margin-top:0.75rem; }

/* Preview Post Render */
.preview-post-mock { background:rgba(255,255,255,0.05); border-radius:10px; padding:0.75rem; }
.preview-post-author { display:flex; align-items:center; gap:0.5rem; margin-bottom:0.6rem; }
.preview-post-author .avatar { width:32px; height:32px; border-radius:50%; background:rgba(201,169,110,0.2); display:flex; align-items:center; justify-content:center; font-size:0.8rem; color:var(--gold); }
.preview-post-author .info { display:flex; flex-direction:column; }
.preview-post-author .name { font-size:0.78rem; font-weight:600; color:var(--text-primary); }
.preview-post-author .date { font-size:0.6rem; color:var(--text-muted); }
.preview-post-text { font-size:0.78rem; color:var(--text-secondary); line-height:1.5; margin-bottom:0.6rem; white-space:pre-wrap; max-height:120px; overflow-y:auto; }
.preview-post-image { width:100%; border-radius:8px; margin-bottom:0.5rem; }
.preview-post-hashtags { font-size:0.7rem; color:var(--gold); }
.preview-post-actions { display:flex; gap:1rem; padding-top:0.5rem; border-top:1px solid rgba(255,255,255,0.06); }
.preview-post-actions span { font-size:0.7rem; color:var(--text-muted); display:flex; align-items:center; gap:0.25rem; }

/* Connected accounts mini */
.connected-mini { display:flex; align-items:center; gap:0.5rem; padding:0.4rem 0; }
.connected-mini i { font-size:1rem; }
.connected-mini .connected-name { font-size:0.78rem; color:var(--text-secondary); flex:1; }
.connected-mini .connected-badge { font-size:0.6rem; padding:0.15rem 0.4rem; border-radius:4px; font-weight:600; }
.connected-badge.ok { background:rgba(76,175,80,0.15); color:#81C784; }
.connected-badge.off { background:rgba(239,83,80,0.15); color:#EF5350; }

@media(max-width:900px) {
  .posts-split-layout { grid-template-columns:1fr; }
  .posts-preview-side { display:none; }
}

/* Characteristic tags */
.char-tag {
  display:inline-flex; align-items:center; gap:0.4rem;
  padding:0.35rem 0.7rem; border-radius:20px;
  background:rgba(201,169,110,0.1); border:1px solid rgba(201,169,110,0.2);
  font-size:0.75rem; color:var(--text-primary);
  transition:all 0.2s ease;
}
.char-tag i { color:var(--gold); font-size:0.7rem; }
.char-tag button {
  background:none; border:none; color:rgba(255,255,255,0.3);
  cursor:pointer; font-size:0.65rem; padding:0; margin-left:0.2rem;
  transition:color 0.2s;
}
.char-tag button:hover { color:#ef5350; }
.char-tag:hover { background:rgba(201,169,110,0.18); }

/* ========== PRODUCT CARDS ========== */
.prod-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1rem;
}
.prod-card {
  background: var(--dark-card);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  overflow: hidden;
  transition: transform 0.2s, box-shadow 0.2s;
}
.prod-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.3);
}
.prod-card-inactive { opacity: 0.5; }
.prod-card-img {
  height: 120px;
  background: rgba(201,169,110,0.04);
  background-size: cover;
  background-position: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  position: relative;
  border-bottom: 1px solid var(--border-subtle);
  transition: background 0.2s;
}
.prod-card-img:hover { background-color: rgba(201,169,110,0.08); }
.prod-card-img-edit {
  position: absolute;
  top: 0.4rem; right: 0.4rem;
  width: 28px; height: 28px;
  background: rgba(0,0,0,0.6);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.65rem;
  color: #fff;
  opacity: 0;
  transition: opacity 0.2s;
}
.prod-card-img:hover .prod-card-img-edit { opacity: 1; }
.prod-card-body { padding: 0.8rem 1rem; }
.prod-card-header { margin-bottom: 0.4rem; }
.prod-card-header h4 {
  font-family: var(--font-heading);
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--text-primary);
  margin: 0 0 0.2rem;
  line-height: 1.3;
}
.prod-card-cat {
  display: inline-block;
  font-size: 0.6rem;
  padding: 0.15rem 0.5rem;
  background: rgba(201,169,110,0.1);
  color: var(--gold);
  border-radius: 20px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.prod-card-desc {
  font-size: 0.75rem;
  color: var(--text-muted);
  line-height: 1.4;
  margin: 0.3rem 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.prod-card-price {
  font-family: var(--font-heading);
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--gold);
  margin-top: 0.3rem;
}
.prod-card-price small {
  font-size: 0.65rem;
  font-weight: 400;
  color: var(--text-muted);
}
.prod-card-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.6rem 1rem;
  border-top: 1px solid var(--border-subtle);
}

/* Category sections */
.prod-cat-section { margin-bottom: 1.5rem; }
.prod-cat-header {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 0.6rem 1rem;
  margin-bottom: 0.8rem;
  background: rgba(255,255,255,0.02);
  border-radius: 8px;
}
.prod-cat-badge {
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 0.25rem 0.7rem;
  border-radius: 20px;
}
.prod-cat-count {
  font-size: 0.7rem;
  color: var(--text-muted);
}
.prod-card-name {
  font-family: var(--font-heading);
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--text-primary);
  margin: 0 0 0.3rem;
  line-height: 1.3;
}

/* ========== CUSTOM POPUP ========== */
.cpop-overlay {
  position: fixed; inset: 0; z-index: 99999;
  background: rgba(0,0,0,0.6);
  backdrop-filter: blur(6px);
  display: flex; align-items: center; justify-content: center;
  animation: cpop-fade-in 0.2s ease;
}
@keyframes cpop-fade-in { from { opacity:0; } to { opacity:1; } }
@keyframes cpop-box-in { from { opacity:0; transform:scale(0.9) translateY(10px); } to { opacity:1; transform:scale(1) translateY(0); } }
@keyframes cpop-icon-pop { 0% { transform:scale(0); } 60% { transform:scale(1.15); } 100% { transform:scale(1); } }
.cpop-box {
  background: linear-gradient(145deg, #2A2A35, #1E1E28);
  border: 1px solid rgba(201,169,110,0.15);
  border-radius: 16px;
  padding: 2rem 2.5rem;
  min-width: 340px;
  max-width: 420px;
  text-align: center;
  box-shadow: 0 20px 60px rgba(0,0,0,0.5), 0 0 40px rgba(201,169,110,0.05);
  animation: cpop-box-in 0.3s ease;
}
.cpop-icon {
  width: 56px; height: 56px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 1rem;
  font-size: 1.5rem;
  animation: cpop-icon-pop 0.4s ease 0.15s both;
}
.cpop-icon.cpop-danger { background: rgba(239,83,80,0.12); color: #ef5350; border: 1px solid rgba(239,83,80,0.2); }
.cpop-icon.cpop-success { background: rgba(102,187,106,0.12); color: #66bb6a; border: 1px solid rgba(102,187,106,0.2); }
.cpop-icon.cpop-warning { background: rgba(255,167,38,0.12); color: #ffa726; border: 1px solid rgba(255,167,38,0.2); }
.cpop-icon.cpop-info { background: rgba(201,169,110,0.12); color: #C9A96E; border: 1px solid rgba(201,169,110,0.2); }
.cpop-title {
  font-family: var(--font-heading);
  font-size: 1.15rem;
  font-weight: 500;
  color: var(--text-primary);
  margin: 0 0 0.5rem;
}
.cpop-message {
  font-size: 0.85rem;
  color: rgba(245,240,232,0.55);
  line-height: 1.5;
  margin: 0 0 1.5rem;
}
.cpop-actions {
  display: flex;
  gap: 0.6rem;
  justify-content: center;
}
.cpop-btn {
  padding: 0.6rem 1.5rem;
  border-radius: 8px;
  font-family: var(--font-body);
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  border: none;
  transition: all 0.2s;
}
.cpop-btn:hover { transform: translateY(-1px); }
.cpop-btn-cancel {
  background: rgba(255,255,255,0.06);
  color: rgba(245,240,232,0.6);
  border: 1px solid rgba(255,255,255,0.08);
}
.cpop-btn-cancel:hover { background: rgba(255,255,255,0.1); color: var(--text-primary); }
.cpop-btn-danger { background: linear-gradient(135deg, #ef5350, #d32f2f); color: #fff; }
.cpop-btn-danger:hover { box-shadow: 0 4px 15px rgba(239,83,80,0.3); }
.cpop-btn-primary { background: linear-gradient(135deg, #C9A96E, #b8944f); color: #1E1E28; }
.cpop-btn-primary:hover { box-shadow: 0 4px 15px rgba(201,169,110,0.3); }
.cpop-btn-success { background: linear-gradient(135deg, #66bb6a, #43a047); color: #fff; }
.cpop-btn-success:hover { box-shadow: 0 4px 15px rgba(102,187,106,0.3); }

/* ═══════════════════════════════════════════
   MOBILE BOTTOM NAVIGATION — App Style
   ═══════════════════════════════════════════ */
.mobile-bottom-nav {
  display: none; /* Hidden on desktop */
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  background: rgba(13,13,13,0.92);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border-top: 1px solid rgba(201,169,110,0.12);
  padding: 0.35rem 0.3rem;
  padding-bottom: calc(0.35rem + env(safe-area-inset-bottom, 0px));
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.mobile-bottom-nav::-webkit-scrollbar { display: none; }

.mob-nav-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.15rem;
  min-width: 52px;
  padding: 0.35rem 0.3rem 0.25rem;
  text-decoration: none;
  color: rgba(245,240,232,0.5);
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  transition: all 0.25s ease;
  position: relative;
  border-radius: 8px;
  flex-shrink: 0;
}
.mob-nav-item i {
  font-size: 1.05rem;
  transition: all 0.25s ease;
  position: relative;
}
.mob-nav-item span {
  white-space: nowrap;
  transition: all 0.25s ease;
}
.mob-nav-item:active {
  transform: scale(0.92);
}

/* Active state */
.mob-nav-item.active {
  color: #C9A96E;
}
.mob-nav-item.active i {
  transform: translateY(-2px);
  text-shadow: 0 0 12px rgba(201,169,110,0.4);
}
.mob-nav-item.active::after {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 20px;
  height: 2px;
  background: linear-gradient(90deg, transparent, #C9A96E, transparent);
  border-radius: 2px;
}

/* Badge */
.mob-badge {
  position: absolute;
  top: 2px;
  right: calc(50% - 18px);
  min-width: 16px;
  height: 16px;
  background: linear-gradient(135deg, #ef5350, #d32f2f);
  color: #fff;
  font-size: 0.55rem;
  font-weight: 700;
  border-radius: 10px;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
  border: 2px solid #0D0D0D;
  animation: mobBadgePulse 2s ease-in-out infinite;
}
.mob-badge.visible { display: flex; }
@keyframes mobBadgePulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(239,83,80,0.4); }
  50% { box-shadow: 0 0 0 4px rgba(239,83,80,0); }
}

/* ═══════════════════════════════════════════
   MOBILE OVERRIDES (≤ 768px)
   ═══════════════════════════════════════════ */
@media (max-width: 768px) {
  /* Show bottom nav */
  .mobile-bottom-nav {
    display: flex;
    justify-content: space-around;
  }

  /* Hide sidebar completely — bottom nav replaces it */
  .sidebar { display: none !important; }
  .sidebar-backdrop { display: none !important; }

  /* Main content takes full width */
  .main-content { margin-left: 0; padding-bottom: 72px; }

  /* Hide burger menu — no longer needed */
  .menu-btn { display: none !important; }

  /* Simplify topbar */
  .topbar {
    padding: 0.6rem 0.8rem;
    gap: 0.4rem;
  }
  .topbar h1 {
    font-size: 1rem;
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .topbar-btn span, .theme-toggle span { display: none; }
  .topbar-btn { padding: 0.35rem 0.45rem; border-radius: 6px; }
  .theme-toggle { padding: 0.35rem 0.45rem; border-radius: 6px; }

  /* Content sections */
  .content-section { padding: 0.8rem; }

  /* Prospect grid */
  .prospect-grid { grid-template-columns: 1fr; gap: 0.6rem; }
  .prospect-card { padding: 0.8rem; }
  .prospect-name { font-size: 1rem; }

  /* Detail grid */
  .detail-grid { grid-template-columns: 1fr; gap: 0.5rem; }

  /* Modals full screen */
  .modal-panel {
    width: 100%; max-width: 100%;
    max-height: 100vh; height: 100vh;
    border-radius: 0;
  }

  /* Calendar mobile-friendly */
  .calendar-layout { flex-direction: column; min-height: auto; }
  .calendar-sidebar { width: 100%; }
  .cal-day { min-height: 44px; padding: 0.3rem; }
  .cal-day .day-num { font-size: 0.6rem; width: 1.3rem; height: 1.3rem; }
  .cal-day .cal-event { font-size: 0.4rem; padding: 0.08rem 0.15rem; }

  /* Pipeline */
  .pipeline-dot { width: 20px; height: 20px; font-size: 0.45rem; }
  .pipe-arrow { display: none; }

  /* Communication tabs scroll */
  .comm-tabs { overflow-x: auto; flex-wrap: nowrap; -webkit-overflow-scrolling: touch; }
  .comm-tab { white-space: nowrap; flex-shrink: 0; font-size: 0.7rem; padding: 0.4rem 0.6rem; }

  /* Forms */
  .admin-form-row { grid-template-columns: 1fr; }

  /* Data tables scroll */
  .data-table { display: block; overflow-x: auto; }

  /* Filter pills scroll */
  .prospect-filters { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 0.3rem; }
  .filter-btn { flex-shrink: 0; white-space: nowrap; }

  /* Posts split layout */
  .posts-split-layout { grid-template-columns: 1fr; }
  .posts-preview-side { display: none; }

  /* Design editor */
  .design-editor { flex-direction: column; height: auto; margin: -0.8rem; }
  .design-panel { width: 100%; }
  .design-iframe { min-height: 250px; }

  /* AI layout */
  .ai-layout { flex-direction: column; }
  .ai-panel { width: 100%; }

  /* Formula cards */
  .formula-cards-grid { grid-template-columns: 1fr; }
  .cost-rules-grid { grid-template-columns: 1fr; }

  /* Product cards */
  .prod-cards-grid { grid-template-columns: 1fr; }

  /* ── Analytics cards: simplified on mobile ── */
  #analytics-bar {
    grid-template-columns: 1fr 1fr !important;
    gap: 0.5rem !important;
    margin-bottom: 0.8rem !important;
  }
  /* Hide the trend chart and device breakdown cards on mobile */
  #analytics-bar > div:nth-child(n+3) {
    display: none !important;
  }
  #analytics-bar > div {
    padding: 0.6rem 0.8rem !important;
    border-radius: 10px !important;
  }

  /* ── Bigger action buttons on mobile ── */
  .section-toolbar {
    flex-direction: column !important;
    gap: 0.5rem !important;
  }
  .section-toolbar > .btn-primary,
  .section-toolbar > #params-devis-dropdown {
    width: 100% !important;
  }
  .section-toolbar > .btn-primary {
    padding: 0.9rem 1.2rem !important;
    font-size: 1.05rem !important;
    border-radius: 12px !important;
    justify-content: center !important;
  }
  .section-toolbar > #params-devis-dropdown > .btn-secondary {
    width: 100% !important;
    padding: 0.8rem 1.2rem !important;
    font-size: 0.95rem !important;
    border-radius: 12px !important;
    justify-content: center !important;
  }
  /* Signature stats: compact row below buttons */
  .section-toolbar > div:last-child {
    margin-left: 0 !important;
    justify-content: center !important;
  }
}
