@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Fraunces:opsz,wght@9..144,600;9..144,700;9..144,800&display=swap');

/* ═══════════════════════════════════════════════════════════════
   ADMIN PREMIUM — Design System 2026
   Inspiration : Linear · Stripe · Vercel · Notion
═══════════════════════════════════════════════════════════════ */
:root {
  --sb-bg: #0c111d; --sb-border: rgba(255,255,255,.07);
  --sb-item-hover: rgba(255,255,255,.06); --sb-item-active-bg: rgba(255,255,255,.1);
  --sb-item-active-border: #f59e0b; --sb-text: rgba(255,255,255,.7);
  --sb-text-strong: rgba(255,255,255,.92); --sb-group-label: rgba(255,255,255,.32);
  --sb-width: 240px; --main-bg: #f4f6f9; --card-bg: #ffffff;
  --card-border: rgba(15,23,42,.07); --card-shadow: 0 1px 3px rgba(0,0,0,.05),0 4px 16px rgba(0,0,0,.06);
  --card-radius: 16px; --text: #0f172a; --text-muted: #64748b; --text-soft: #94a3b8;
  --accent: #f59e0b; --accent-dark: #d97706; --accent-bg: rgba(245,158,11,.08);
  --ok: #059669; --ok-bg: #ecfdf5; --err: #dc2626; --err-bg: #fef2f2;
  --warn: #d97706; --warn-bg: #fffbeb; --info: #2563eb; --info-bg: #eff6ff;
  --r-sm: 8px; --r-md: 12px; --r-lg: 16px; --r-pill: 999px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;-webkit-text-size-adjust:100%}
body{font-family:"Manrope",-apple-system,"Segoe UI",Arial,sans-serif;color:var(--text);background:var(--main-bg);overflow-x:hidden;line-height:1.5}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
img{max-width:100%;display:block}
input,textarea,select{font-family:inherit}

/* LAYOUT */
.admin-app{display:flex;min-height:100vh}

/* SIDEBAR */
.admin-sidebar{width:var(--sb-width);min-height:100vh;background:var(--sb-bg);border-right:1px solid var(--sb-border);display:flex;flex-direction:column;position:fixed;top:0;left:0;z-index:100;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.08) transparent}
.admin-sidebar-header{padding:20px 16px 16px;border-bottom:1px solid var(--sb-border);flex-shrink:0}
.admin-sidebar-brand{display:flex;align-items:center;gap:10px}
.admin-brand-icon{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--accent),#b45309);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;box-shadow:0 4px 12px rgba(245,158,11,.35)}
.admin-brand-text{display:flex;flex-direction:column;gap:1px;overflow:hidden}
.admin-brand-name{font-size:.82rem;font-weight:700;color:var(--sb-text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}
.admin-brand-sub{font-size:.6rem;color:var(--sb-group-label);font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.admin-sidebar-nav{flex:1;padding:12px 10px;display:flex;flex-direction:column;gap:2px}
.admin-nav-group{margin-top:16px;display:flex;flex-direction:column;gap:1px}
.admin-nav-group:first-child{margin-top:0}
.admin-nav-group-label{display:block;font-size:.58rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--sb-group-label);padding:6px 10px 4px}

/* NAV ITEMS — override all tab-btn */
.admin-nav-item,button.tab-btn.admin-nav-item{display:flex !important;align-items:center !important;gap:10px !important;width:100% !important;padding:9px 10px !important;border-radius:var(--r-md) !important;background:transparent !important;border:none !important;border-left:2px solid transparent !important;color:var(--sb-text) !important;font-size:.83rem !important;font-weight:500 !important;text-align:left !important;cursor:pointer !important;transition:background .15s,color .15s !important;white-space:nowrap !important;min-height:auto !important;box-shadow:none !important;overflow:visible !important;line-height:1.4 !important}
.admin-nav-item:hover,button.tab-btn.admin-nav-item:hover{background:var(--sb-item-hover) !important;color:var(--sb-text-strong) !important}
.admin-nav-item.active,button.tab-btn.admin-nav-item.active{background:var(--sb-item-active-bg) !important;color:#fff !important;font-weight:600 !important;border-left-color:var(--sb-item-active-border) !important}
.admin-nav-icon{width:17px;height:17px;flex-shrink:0;opacity:.6;transition:opacity .15s;display:block}
.admin-nav-item:hover .admin-nav-icon,.admin-nav-item.active .admin-nav-icon{opacity:1}
.admin-nav-item.active .admin-nav-icon{color:var(--accent)}
.admin-nav-label{flex:1;overflow:hidden;text-overflow:ellipsis}
.admin-nav-badge{display:inline-flex !important;align-items:center !important;justify-content:center !important;min-width:18px !important;height:18px !important;padding:0 5px !important;border-radius:var(--r-pill) !important;background:var(--err) !important;color:#fff !important;font-size:.6rem !important;font-weight:800 !important;flex-shrink:0 !important}
.admin-sidebar-footer{padding:12px 10px;border-top:1px solid var(--sb-border);flex-shrink:0;display:flex;flex-direction:column;gap:4px}
.admin-sidebar-lang{padding:0 4px 4px}
.admin-logout-btn{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--r-md);color:rgba(255,255,255,.38);font-size:.82rem;font-weight:500;transition:background .15s,color .15s}
.admin-logout-btn:hover{background:rgba(220,38,38,.15);color:#fca5a5}
.admin-logout-btn svg{flex-shrink:0}

/* MAIN */
.admin-main{margin-left:var(--sb-width);flex:1;display:flex;flex-direction:column;min-height:100vh;min-width:0}
.admin-content{flex:1;padding:32px 32px 48px;max-width:1400px;width:100%}

/* TAB SHELL */
.tab-shell{background:none !important;box-shadow:none !important;border:none !important;padding:0 !important}
.tab-nav{display:none !important}
.tab-panel{display:none}
.tab-panel.active{display:block}

/* PAGE TITLE */
.tab-panel > h2:first-child{font-size:1.55rem;font-weight:800;color:var(--text);letter-spacing:-.04em;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--card-border)}

/* CARDS */
.card,.mini-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);padding:20px}
.section{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);padding:20px;margin-bottom:16px}
.section-head,.settings-section-head,.category-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}
.section-head h2,.section-head h3{font-size:.95rem;font-weight:700;color:var(--text);letter-spacing:-.02em}
.muted,p.muted{font-size:.81rem;color:var(--text-muted);margin-top:2px;line-height:1.55}

/* FORMS */
.field,.form-group{margin-bottom:16px}
label,.label{display:block;font-size:.78rem;font-weight:600;color:var(--text);margin-bottom:6px;letter-spacing:.01em}
input[type="text"],input[type="email"],input[type="number"],input[type="password"],input[type="url"],input[type="tel"],input[type="search"],input[type="date"],input[type="time"],textarea,select{width:100%;height:42px;padding:0 14px;border:1px solid #e2e8f0;border-radius:var(--r-md);background:#fff;color:var(--text);font-size:.87rem;font-family:inherit;transition:border-color .15s,box-shadow .15s;appearance:none}
textarea{height:auto;min-height:96px;padding:12px 14px;resize:vertical;line-height:1.6}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(245,158,11,.12)}
input::placeholder,textarea::placeholder{color:var(--text-soft)}
select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
input[type="checkbox"],input[type="radio"]{width:17px;height:17px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}
.check-row{display:flex;align-items:center;gap:10px;padding:8px 0}
.check-row label{margin:0;cursor:pointer;font-size:.87rem;font-weight:500}

/* BUTTONS */
button,.btn,input[type="submit"],input[type="button"]{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:40px;padding:0 18px;border-radius:var(--r-md);font-size:.84rem;font-weight:600;font-family:inherit;cursor:pointer;border:none;transition:background .15s,box-shadow .15s,transform .1s;white-space:nowrap;letter-spacing:-.01em;text-decoration:none;background:#f1f5f9;color:var(--text)}
button:active,.btn:active{transform:scale(.97)}
.btn-primary,button.btn-primary,input[type="submit"]{background:var(--text);color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.08),0 4px 12px rgba(15,23,42,.14)}
.btn-primary:hover,button.btn-primary:hover,input[type="submit"]:hover{background:#1e293b}
.btn-accent{background:var(--accent);color:#fff;box-shadow:0 4px 12px rgba(245,158,11,.28)}
.btn-accent:hover{background:var(--accent-dark)}
.btn-secondary,button.btn-secondary{background:#f1f5f9;color:var(--text);border:1px solid #e2e8f0}
.btn-secondary:hover{background:#e2e8f0}
.btn-ghost,button.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid #e2e8f0}
.btn-ghost:hover{background:#f8fafc;color:var(--text)}
.btn-danger,button.btn-danger{background:var(--err-bg);color:var(--err);border:1px solid rgba(220,38,38,.18)}
.btn-danger:hover{background:#fee2e2}
.btn-sm{height:32px;padding:0 12px;font-size:.77rem;border-radius:var(--r-sm)}
.btn-lg{height:48px;padding:0 24px;font-size:.94rem}

/* BADGES */
.badge,.pop-badge,.home-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--r-pill);font-size:.7rem;font-weight:700;white-space:nowrap}
.badge-ok{background:var(--ok-bg);color:var(--ok)}
.badge-err{background:var(--err-bg);color:var(--err)}
.badge-warn{background:var(--warn-bg);color:var(--warn)}
.badge-info{background:var(--info-bg);color:var(--info)}
.badge-neutral{background:#f1f5f9;color:var(--text-muted)}
.badge-accent{background:var(--accent-bg);color:var(--accent-dark)}
.tab-live-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:var(--r-pill);background:var(--err);color:#fff;font-size:.6rem;font-weight:800}
.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}
.status-dot--ok{background:var(--ok);box-shadow:0 0 6px rgba(5,150,105,.5)}
.status-dot--err{background:var(--err)}
.status-dot--warn{background:var(--warn)}
.status-dot--off{background:#cbd5e1}

/* TOAST */
.toast{display:flex;align-items:center;gap:10px;padding:13px 18px;border-radius:var(--r-md);font-size:.86rem;font-weight:600;margin-bottom:16px;border:1px solid}
.toast.success{background:var(--ok-bg);color:var(--ok);border-color:rgba(5,150,105,.2)}
.toast.error{background:var(--err-bg);color:var(--err);border-color:rgba(220,38,38,.2)}

/* TABLE */
.table-wrap{overflow-x:auto;border-radius:var(--r-md);border:1px solid var(--card-border)}
table{width:100%;border-collapse:collapse;font-size:.85rem}
th{background:#f8fafc;padding:11px 16px;text-align:left;font-size:.7rem;font-weight:700;color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;border-bottom:1px solid var(--card-border);white-space:nowrap}
td{padding:13px 16px;border-bottom:1px solid #f1f5f9;vertical-align:middle}
tr:last-child td{border-bottom:none}
tr:hover td{background:#fafbfc}

/* STATS */
.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:24px}
.stat-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);padding:20px;box-shadow:var(--card-shadow);transition:box-shadow .2s}
.stat-card:hover{box-shadow:0 4px 24px rgba(0,0,0,.1)}
.stat-label{font-size:.68rem;font-weight:700;color:var(--text-muted);letter-spacing:.07em;text-transform:uppercase;margin-bottom:6px}
.stat-value{font-size:1.9rem;font-weight:800;color:var(--text);letter-spacing:-.05em;line-height:1.1}
.stat-sub{font-size:.74rem;color:var(--text-soft);margin-top:4px}

/* ONBOARDING */
.onboarding-card,.restaurant-onboarding{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);padding:20px;box-shadow:var(--card-shadow);margin-bottom:20px}
.progress-bar{height:6px;border-radius:var(--r-pill);background:#e2e8f0;overflow:hidden;margin:8px 0}
.progress-fill{height:100%;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--accent),var(--accent-dark));transition:width .4s ease}

/* SUPPLEMENT */
.supplement-group-panel{border:1px solid var(--card-border);border-radius:var(--r-lg);margin-bottom:16px;overflow:hidden}
.supplement-section-head{padding:14px 20px;background:#f8fafc;border-bottom:1px solid var(--card-border);display:flex;align-items:center;justify-content:space-between;gap:16px}

/* DRAG HANDLE */
.drag-handle,[data-drag-handle]{cursor:grab;color:var(--text-soft);opacity:.4}
.drag-handle:hover,[data-drag-handle]:hover{opacity:.8}

/* IMG UPLOAD */
.img-upload-zone{border:2px dashed #e2e8f0;border-radius:var(--r-lg);padding:32px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;background:#fafbfc}
.img-upload-zone:hover{border-color:var(--accent);background:var(--accent-bg)}
.img-preview{width:80px;height:80px;border-radius:var(--r-md);object-fit:cover;border:1px solid var(--card-border)}

/* MOBILE TOPBAR */
.topbar{display:none;position:sticky;top:0;z-index:50;background:var(--card-bg);border-bottom:1px solid var(--card-border);padding:12px 20px;align-items:center;justify-content:space-between;box-shadow:0 1px 4px rgba(0,0,0,.06)}
.topbar h1{font-size:.95rem;font-weight:700}
.topbar-actions{display:flex;align-items:center;gap:8px}
.admin-sidebar-toggle{display:none;width:36px;height:36px;border-radius:var(--r-sm);border:1px solid var(--card-border);background:var(--card-bg);color:var(--text);align-items:center;justify-content:center;cursor:pointer}

/* DISH CATEGORY */
.dish-category-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);overflow:hidden;margin-bottom:16px}

/* CODE */
code{font-family:"Cascadia Code","Fira Code",monospace;font-size:.81rem;background:#f1f5f9;padding:2px 7px;border-radius:5px;color:#e11d48}

/* UTILS */
.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}
.gap-sm{gap:8px}.gap-md{gap:16px}.gap-lg{gap:24px}
.mt-md{margin-top:16px}.mt-lg{margin-top:24px}
.mb-md{margin-bottom:16px}.mb-lg{margin-bottom:24px}
.text-muted{color:var(--text-muted);font-size:.85rem}.text-sm{font-size:.82rem}.text-xs{font-size:.72rem}
.font-bold{font-weight:700}.w-full{width:100%}
.truncate{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}

/* RESPONSIVE */
@media(max-width:1024px){:root{--sb-width:220px}.admin-content{padding:24px}}
@media(max-width:768px){
  .admin-sidebar{transform:translateX(-100%);transition:transform .28s cubic-bezier(.22,.61,.36,1);z-index:200}
  .admin-sidebar.is-open{transform:translateX(0)}
  .admin-main{margin-left:0}
  .topbar{display:flex}
  .admin-sidebar-toggle{display:inline-flex}
  .admin-content{padding:16px}
  .admin-sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:190;backdrop-filter:blur(2px)}
  .admin-sidebar-overlay.is-open{display:block}
}
@media(max-width:900px){.grid-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.grid-2,.grid-3{grid-template-columns:1fr}}

/* ═══════════════════════════════════════════════════════
   COMPOSANTS MANQUANTS — Fix audit complet
═══════════════════════════════════════════════════════ */

/* BTN-OUTLINE (alias de btn-ghost) */
.btn-outline,button.btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:38px;padding:0 16px;border-radius:var(--r-md);font-size:.83rem;font-weight:600;font-family:inherit;cursor:pointer;background:transparent;color:var(--text-muted);border:1px solid #e2e8f0;transition:background .15s,color .15s,border-color .15s;white-space:nowrap;text-decoration:none}
.btn-outline:hover,button.btn-outline:hover{background:#f8fafc;color:var(--text);border-color:#cbd5e1}

/* FLOW-KICKER / STATS-KICKER — étiquette au-dessus des titres */
.flow-kicker,.stats-kicker{display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-dark);background:var(--accent-bg);padding:3px 10px;border-radius:var(--r-pill);margin-bottom:8px}

/* INLINE-ROW */
.inline-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}

/* ── LIVE DASHBOARD (Pilotage restaurant) ── */
.admin-command-center{margin-bottom:20px}
.admin-command-center__head,.live-dashboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.admin-command-center__head h2,.live-dashboard-head h2{font-size:1.25rem;font-weight:800;letter-spacing:-.03em;color:var(--text);margin:4px 0}
/* KPI articles en grille */
.live-dashboard-stats,.admin-command-center__stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px}
.live-dashboard-stats article,.admin-command-center__stats article{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--r-lg);padding:16px;box-shadow:var(--card-shadow);display:flex;flex-direction:column;gap:4px;transition:box-shadow .2s}
.live-dashboard-stats article:hover,.admin-command-center__stats article:hover{box-shadow:0 4px 20px rgba(0,0,0,.1)}
.live-dashboard-stats article strong,.admin-command-center__stats article strong{display:block;font-size:1.65rem;font-weight:800;color:var(--text);letter-spacing:-.04em;line-height:1.1}
.live-dashboard-stats article span,.admin-command-center__stats article span{display:block;font-size:.72rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}
.live-dashboard-stats article.is-priority strong,.admin-command-center__stats article.is-priority strong{color:var(--accent-dark)}
.live-dashboard-stats article.is-priority{border-color:rgba(245,158,11,.25);background:linear-gradient(135deg,#fffbeb,#fff)}
.admin-command-center__actions,.live-dashboard-actions,.live-feed-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
/* Live feed banner */
.live-feed-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:var(--r-md);background:var(--info-bg);border:1px solid rgba(37,99,235,.2);margin-bottom:16px}
.live-feed-banner strong{font-size:.88rem;font-weight:700;color:var(--info)}
.live-feed-banner p{font-size:.8rem;color:var(--text-muted);margin-top:2px}
@media(max-width:900px){.live-dashboard-stats,.admin-command-center__stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.live-dashboard-stats,.admin-command-center__stats{grid-template-columns:repeat(2,1fr)}}

/* ── LANGUAGE SWITCHER (sidebar) ── */
.admin-language-switcher{display:flex;align-items:center;flex-wrap:wrap;gap:4px;padding:4px 0}
.admin-language-switcher__link{display:inline-flex;align-items:center;justify-content:center;width:28px;height:20px;border-radius:4px;overflow:hidden;opacity:.55;transition:opacity .15s,transform .1s;flex-shrink:0}
.admin-language-switcher__link:hover{opacity:.9;transform:scale(1.08)}
.admin-language-switcher__link.is-active{opacity:1;outline:2px solid var(--accent);outline-offset:1px}
.admin-language-switcher__flag{display:flex;align-items:center;justify-content:center;width:28px;height:20px;overflow:hidden}
.admin-language-switcher__flag svg,.admin-language-switcher__flag img{width:28px !important;height:20px !important;max-width:28px !important;max-height:20px !important;object-fit:cover;display:block}

/* ── ONBOARDING ── */
.admin-launch-guide,.restaurant-onboarding-card{margin-bottom:20px}
.restaurant-onboarding-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px;flex-wrap:wrap}
.restaurant-onboarding-head h2{font-size:1.1rem;font-weight:800;letter-spacing:-.02em}
.restaurant-onboarding-score{text-align:right;flex-shrink:0}
.restaurant-onboarding-score strong{display:block;font-size:1.6rem;font-weight:900;color:var(--accent-dark);letter-spacing:-.04em;line-height:1}
.restaurant-onboarding-score span{font-size:.72rem;color:var(--text-muted)}
.restaurant-onboarding-progress{height:6px;border-radius:var(--r-pill);background:#e2e8f0;overflow:hidden;margin:0 0 20px}
.restaurant-onboarding-progress span{display:block;height:100%;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--accent),var(--accent-dark));transition:width .4s ease}
.restaurant-onboarding-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.restaurant-onboarding-grid article{background:#fafbfc;border:1px solid var(--card-border);border-radius:var(--r-lg);padding:16px;display:flex;flex-direction:column;gap:6px}
.restaurant-onboarding-grid article.is-done{background:var(--ok-bg);border-color:rgba(5,150,105,.15)}
.restaurant-onboarding-grid article.is-pending{background:#fafbfc}
.restaurant-onboarding-grid article h3{font-size:.88rem;font-weight:700;color:var(--text)}
.restaurant-onboarding-grid article p{font-size:.78rem;color:var(--text-muted);line-height:1.5;flex:1}
.onboarding-status{display:inline-flex;align-items:center;gap:4px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:var(--r-pill)}
article.is-done .onboarding-status{background:var(--ok-bg);color:var(--ok)}
article.is-pending .onboarding-status{background:#f1f5f9;color:var(--text-muted)}

/* ── STATS PANEL (Statistiques) ── */
.stats-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:24px;background:linear-gradient(135deg,var(--text) 0%,#1e293b 100%);border-radius:var(--card-radius);color:#fff;margin-bottom:24px;flex-wrap:wrap}
.stats-hero h2{font-size:1.35rem;font-weight:800;color:#fff;letter-spacing:-.03em;margin:4px 0 8px}
.stats-hero p{font-size:.83rem;color:rgba(255,255,255,.6);line-height:1.55}
.stats-hero-main{text-align:right;flex-shrink:0}
.stats-hero-main strong{display:block;font-size:2.2rem;font-weight:900;color:#fff;letter-spacing:-.05em;line-height:1;margin-bottom:4px}
.stats-hero-main span{display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.5)}
/* Metric grid */
.stats-metric-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin-bottom:24px}
.stats-metric-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);padding:18px;box-shadow:var(--card-shadow);display:flex;flex-direction:column;gap:5px;transition:box-shadow .2s,transform .2s;position:relative;overflow:hidden}
.stats-metric-card:hover{box-shadow:0 6px 24px rgba(0,0,0,.1);transform:translateY(-2px)}
.stats-metric-card strong{display:block;font-size:1.6rem;font-weight:900;color:var(--text);letter-spacing:-.05em;line-height:1.1}
.stats-metric-card span{display:block;font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;line-height:1.4}
/* Color accents */
.stats-metric-card.accent-blue   strong{color:#2563eb}.stats-metric-card.accent-blue::before{background:#eff6ff}
.stats-metric-card.accent-indigo strong{color:#4f46e5}.stats-metric-card.accent-indigo::before{background:#eef2ff}
.stats-metric-card.accent-cyan   strong{color:#0891b2}.stats-metric-card.accent-cyan::before{background:#ecfeff}
.stats-metric-card.accent-green  strong{color:var(--ok)}.stats-metric-card.accent-green::before{background:var(--ok-bg)}
.stats-metric-card.accent-amber  strong{color:var(--accent-dark)}.stats-metric-card.accent-amber::before{background:var(--accent-bg)}
.stats-metric-card.accent-violet strong{color:#7c3aed}.stats-metric-card.accent-violet::before{background:#f5f3ff}
.stats-metric-card.accent-rose   strong{color:#e11d48}.stats-metric-card.accent-rose::before{background:#fff1f2}
.stats-metric-card.accent-orange strong{color:#ea580c}.stats-metric-card.accent-orange::before{background:#fff7ed}
.stats-metric-card.accent-sky    strong{color:#0284c7}.stats-metric-card.accent-sky::before{background:#f0f9ff}
.stats-metric-card.accent-emerald strong{color:#059669}.stats-metric-card.accent-emerald::before{background:#ecfdf5}
.stats-metric-card.accent-red    strong{color:#dc2626}.stats-metric-card.accent-red::before{background:#fef2f2}
.stats-metric-card.accent-dark   strong{color:var(--text)}
.stats-metric-card::before{content:'';position:absolute;top:0;right:0;width:48px;height:48px;border-radius:0 var(--card-radius) 0 100%;background:#f8fafc;z-index:0}
.stats-metric-card strong,.stats-metric-card span{position:relative;z-index:1}
/* Stats panels */
.stats-panel-grid,.dish-insights-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-bottom:24px}
.stats-panel{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);padding:20px;box-shadow:var(--card-shadow)}
.stats-panel-wide{grid-column:span 2}
.stats-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}
.stats-panel-head h3{font-size:.9rem;font-weight:700;color:var(--text);letter-spacing:-.02em}
.stats-chip{display:inline-flex;align-items:center;padding:3px 9px;border-radius:var(--r-pill);font-size:.65rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:#f1f5f9;color:var(--text-muted)}
.stats-list{display:flex;flex-direction:column;gap:2px}
.stats-list-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid #f8fafc}
.stats-list-item:last-child{border-bottom:none}
.stats-list-item strong{font-size:.84rem;font-weight:600;color:var(--text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stats-list-item .muted{font-size:.75rem;flex-shrink:0}
@media(max-width:900px){.stats-panel-wide{grid-column:span 1}.stats-hero-main{text-align:left}}

/* ═══════════════════════════════════════════
   PAGE CATÉGORIES — Design premium
═══════════════════════════════════════════ */
.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin-top:20px}
.category-create-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);padding:20px;box-shadow:var(--card-shadow);margin-bottom:8px}
.category-card,.mini-card.category-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);padding:18px 20px;box-shadow:var(--card-shadow);display:flex;flex-direction:column;gap:14px;transition:box-shadow .2s,border-color .15s}
.category-card:hover{box-shadow:0 4px 20px rgba(0,0,0,.1);border-color:rgba(245,158,11,.25)}
.category-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.category-card-head h3{font-size:.95rem;font-weight:700;color:var(--text);letter-spacing:-.02em}
.category-card-meta{display:flex;align-items:center;gap:6px;margin-top:4px}
/* Compact form: inputs inline */
.compact-form,.category-form{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}
.compact-form input,.category-form input{flex:1;min-width:80px}
.compact-form input[type="number"],.category-form input[type="number"]{width:80px;flex:0 0 80px}
/* Danger button */
button.danger,a.danger{display:inline-flex;align-items:center;height:36px;padding:0 14px;border-radius:var(--r-md);font-size:.8rem;font-weight:600;font-family:inherit;cursor:pointer;background:var(--err-bg);color:var(--err);border:1px solid rgba(220,38,38,.18);transition:background .15s}
button.danger:hover,a.danger:hover{background:#fee2e2}
/* Inline form */
form.inline{display:inline}

/* ═══════════════════════════════════════════
   PAGE PLATS v2 — Premium 2026
═══════════════════════════════════════════ */

/* List wrapper */
.dish-admin-list{display:flex;flex-direction:column;gap:0}

/* Category section */
.dish-category-card.dish-cat-section{background:#fff;border:1px solid rgba(15,23,42,.07);border-radius:18px;overflow:hidden;margin-bottom:16px;box-shadow:0 1px 3px rgba(0,0,0,.03),0 4px 12px rgba(0,0,0,.04)}

/* Category header */
.dish-cat-header{display:flex;align-items:center;justify-content:space-between;padding:15px 22px;background:#fafbfc;border-bottom:1px solid rgba(15,23,42,.06)}
.dish-cat-header-main{display:flex;align-items:center;gap:12px}
.dish-cat-indicator{width:3px;height:34px;border-radius:2px;background:var(--accent);flex-shrink:0}
.dish-cat-title{font-size:.96rem;font-weight:800;color:#0f172a;letter-spacing:-.025em;margin:0;line-height:1.2}
.dish-cat-subtitle{font-size:.64rem;font-weight:600;color:#94a3b8;margin:0;margin-top:2px;text-transform:uppercase;letter-spacing:.06em}
.dish-cat-count{display:inline-flex;align-items:center;padding:3px 11px;border-radius:999px;background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.2);color:#d97706;font-size:.68rem;font-weight:700;letter-spacing:.02em}

/* Dish card row */
.dish-admin-card.dish-card{display:flex;align-items:center;gap:16px;padding:14px 22px;border-bottom:1px solid #f8fafc;transition:background .15s}
.dish-admin-card.dish-card:last-child{border-bottom:none}
.dish-admin-card.dish-card:hover{background:#fafbfc}

/* Photo 72×72 */
.dish-card-photo{width:72px;height:72px;border-radius:12px;overflow:hidden;flex-shrink:0;background:#f1f5f9;display:flex;align-items:center;justify-content:center;border:1px solid rgba(15,23,42,.06)}
.dish-card-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s cubic-bezier(.22,1,.36,1)}
.dish-admin-card.dish-card:hover .dish-card-photo img{transform:scale(1.06)}
.dish-photo-empty{display:flex;flex-direction:column;align-items:center;gap:3px;color:#d1d5db}

/* Card body */
.dish-card-body{flex:1;min-width:0}
.dish-card-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:4px}
.dish-card-name{font-size:.92rem;font-weight:800;color:#0f172a;letter-spacing:-.025em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px;font-family:"Manrope",sans-serif}
.dish-card-price{font-size:1rem;font-weight:900;color:#059669;letter-spacing:-.04em;line-height:1;font-family:"Manrope",sans-serif;flex-shrink:0}
.dish-card-desc{font-size:.76rem;color:#64748b;line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;margin-bottom:7px}
.dish-card-tags{display:flex;gap:5px;flex-wrap:wrap}
.dish-tag-status{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:999px;font-size:.65rem;font-weight:700}
.dish-tag-status::before{content:'';width:4px;height:4px;border-radius:50%;background:currentColor;flex-shrink:0}
.dish-tag-status.is-active{background:#ecfdf5;color:#059669}
.dish-tag-status.is-inactive{background:#f1f5f9;color:#64748b}
.dish-tag-homemade{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;font-size:.65rem;font-weight:700;background:rgba(245,158,11,.1);color:#d97706;border:1px solid rgba(245,158,11,.2)}

/* Card actions */
.dish-card-actions{display:flex;align-items:center;gap:7px;flex-shrink:0}
.dish-edit-btn{display:inline-flex;align-items:center;gap:5px;height:34px;padding:0 14px;border-radius:9px;border:1px solid #e2e8f0;background:#fff;color:#475569;font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s;font-family:inherit}
.dish-edit-btn:hover{background:#0f172a;border-color:#0f172a;color:#fff}
.dish-edit-btn svg{transition:transform .18s}
.dish-edit-btn:hover svg{transform:rotate(-8deg) scale(.9)}

/* Category filter pills with count */
.dish-cat-btn{display:inline-flex;align-items:center;gap:4px;height:34px;padding:0 13px;border-radius:999px;border:1.5px solid #e5e7eb;background:#fff;color:#475569;font-size:.78rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;white-space:nowrap;font-family:inherit}
.dish-cat-btn:hover{background:#f8fafc;color:#0f172a;border-color:#d1d5db}
.dish-cat-btn.is-active{background:#0f172a;color:#fff;border-color:#0f172a;box-shadow:0 2px 8px rgba(15,23,42,.2)}
.dish-cat-btn-count{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:16px;padding:0 4px;border-radius:999px;background:#f1f5f9;font-size:.6rem;font-weight:800;color:#64748b;transition:background .15s,color .15s;line-height:1}
.dish-cat-btn.is-active .dish-cat-btn-count{background:rgba(255,255,255,.2);color:#fff}

/* Status badges (shared) */
.status-active{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--r-pill);font-size:.68rem;font-weight:700;white-space:nowrap;background:var(--ok-bg);color:var(--ok)}
.status-inactive{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--r-pill);font-size:.68rem;font-weight:700;white-space:nowrap;background:#f1f5f9;color:var(--text-muted)}

/* ═══════════════════════════════════════════
   MODAL PLAT v2 — Dark header + 4 tabs
═══════════════════════════════════════════ */
dialog,dialog.modal,dialog.modal-premium{
  width:min(700px,95vw);max-height:92vh;
  padding:0;border:none;border-radius:22px;
  box-shadow:0 4px 6px rgba(0,0,0,.04),0 16px 40px rgba(0,0,0,.18),0 40px 80px rgba(0,0,0,.12);
  background:#fff;overflow:hidden;
}
dialog::backdrop,dialog.modal::backdrop{background:rgba(0,0,0,.55);backdrop-filter:blur(6px)}
dialog[open],dialog.modal[open],dialog.modal-premium[open]{display:flex;flex-direction:column}

/* Dish modal dark header */
.dish-modal-head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 18px;background:#0c111d;flex-shrink:0}
.dish-modal-head-left{display:flex;align-items:center;gap:12px}
.dish-modal-mini-photo{width:46px;height:46px;border-radius:12px;overflow:hidden;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.dish-modal-mini-photo img{width:100%;height:100%;object-fit:cover;display:block}
.dish-modal-mini-photo svg{color:rgba(255,255,255,.35)}
.dish-modal-kicker{font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.35);margin-bottom:3px}
.dish-modal-name{font-size:1.1rem;font-weight:800;color:#fff;letter-spacing:-.03em;margin:0;font-family:"Fraunces",serif;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:340px}
.dish-modal-close{width:34px;height:34px;border-radius:9px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.07);color:rgba(255,255,255,.55);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s,color .12s;font-size:.9rem;flex-shrink:0;padding:0;font-family:inherit;line-height:1}
.dish-modal-close:hover{background:rgba(255,255,255,.14);color:#fff}

/* Tab nav */
.dish-tab-nav{display:flex;gap:0;border-bottom:1px solid #f1f5f9;flex-shrink:0;overflow-x:auto;scrollbar-width:none;background:#fff}
.dish-tab-nav::-webkit-scrollbar{display:none}
.dish-tab-btn{display:inline-flex;align-items:center;gap:6px;padding:13px 20px;border:none;border-bottom:2px solid transparent;background:none;cursor:pointer;font-size:.82rem;font-weight:600;color:#94a3b8;white-space:nowrap;transition:color .15s,border-color .15s;font-family:inherit}
.dish-tab-btn svg{width:13px;height:13px;flex-shrink:0;opacity:.65}
.dish-tab-btn.is-active{color:#0f172a;border-bottom-color:#f59e0b}
.dish-tab-btn:hover{color:#475569}

/* Modal body + tab panes */
.dish-modal-body{flex:1;overflow-y:auto;padding:22px 24px;scrollbar-width:thin;scrollbar-color:#e2e8f0 transparent}
.dish-tab-pane{display:flex;flex-direction:column;gap:16px}

/* Modal field system */
.dmf-row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.dmf-field{display:flex;flex-direction:column;gap:6px}
.dmf-field label{font-size:.76rem;font-weight:700;color:#374151;letter-spacing:.01em;display:block}
.dmf-field input,.dmf-field select,.dmf-field textarea{width:100%;height:42px;padding:0 14px;border:1.5px solid #e5e7eb;border-radius:10px;background:#fff;color:#0f172a;font-size:.87rem;font-family:"Manrope",sans-serif;transition:border-color .15s,box-shadow .15s;outline:none}
.dmf-field textarea{height:auto;min-height:88px;padding:11px 14px;resize:vertical;line-height:1.6}
.dmf-field input:hover,.dmf-field select:hover,.dmf-field textarea:hover{border-color:#d1d5db}
.dmf-field input:focus,.dmf-field select:focus,.dmf-field textarea:focus{border-color:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.12)}
.dmf-field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}
.dmf-field input::placeholder,.dmf-field textarea::placeholder{color:#9ca3af}

/* Prix KPI block */
.prix-kpi{background:linear-gradient(135deg,#f0fdf8,#ecfdf5);border:1px solid rgba(5,150,105,.12);border-radius:14px;padding:16px 20px}
.prix-kpi-label{font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#34d399;margin-bottom:8px}
.prix-kpi-row{display:flex;align-items:center;gap:8px}
.prix-kpi-row input{background:transparent;border:none;border-bottom:2px solid rgba(5,150,105,.25);border-radius:0;font-size:2rem;font-weight:900;color:#059669;font-family:"Manrope",sans-serif;letter-spacing:-.06em;width:100%;padding:0 0 4px;height:auto;outline:none}
.prix-kpi-row input:focus{border-bottom-color:#059669;box-shadow:none}
.prix-kpi-row input:hover{border-bottom-color:rgba(5,150,105,.5)}
.prix-currency{font-size:1.5rem;font-weight:900;color:#059669;flex-shrink:0;letter-spacing:-.04em;font-family:"Manrope",sans-serif}
.prix-dual-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}

/* ── Pricing mode selector ── */
.prix-mode-section{padding:20px 0 16px}
.prix-mode-label{font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#94a3b8;margin-bottom:12px}
.prix-mode-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.prix-mode-radio{display:flex;cursor:pointer;user-select:none}
.prix-mode-radio input[type="radio"]{position:absolute;opacity:0;width:0;height:0}
.prix-mode-radio-ui{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--r-lg);border:1.5px solid var(--card-border);background:#fff;transition:border-color .15s,background .15s,box-shadow .15s;width:100%}
.prix-mode-radio:hover .prix-mode-radio-ui{border-color:rgba(245,158,11,.4);background:rgba(245,158,11,.02)}
.prix-mode-radio input:checked ~ .prix-mode-radio-ui{border-color:var(--accent);background:rgba(245,158,11,.04);box-shadow:0 0 0 3px rgba(245,158,11,.1)}
.prix-mode-radio-icon{width:36px;height:36px;border-radius:10px;background:var(--accent-bg);color:var(--accent-dark);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.prix-mode-radio-title{display:block;font-size:.84rem;font-weight:700;color:var(--text);letter-spacing:-.01em;line-height:1.2}
.prix-mode-radio-desc{display:block;font-size:.72rem;color:var(--text-muted);margin-top:1px;font-weight:400}

/* ── Editable label input ── */
.prix-kpi-label-editable{margin-bottom:8px}
.prix-label-input{background:transparent!important;border:none!important;border-bottom:1.5px solid rgba(5,150,105,.25)!important;border-radius:0!important;font-size:.64rem!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.1em!important;color:#34d399!important;padding:0 0 3px!important;height:auto!important;width:100%!important;box-shadow:none!important;line-height:1}
.prix-label-input:focus{border-bottom-color:#059669!important;outline:none!important;box-shadow:none!important}
.prix-label-input::placeholder{color:rgba(52,211,153,.5)!important;font-weight:600}

/* Photo tab */
.dish-photo-preview{position:relative;width:100%;height:200px;border-radius:14px;overflow:hidden;background:#f1f5f9;border:2px dashed #e2e8f0;display:flex;align-items:center;justify-content:center;margin-bottom:16px;transition:border-color .15s}
.dish-photo-preview.has-photo{border-style:solid;border-color:rgba(15,23,42,.08)}
.dish-photo-preview img{width:100%;height:100%;object-fit:cover;display:block}
.dish-photo-preview-empty{display:flex;flex-direction:column;align-items:center;gap:8px;color:#94a3b8}
.dish-photo-preview-empty svg{width:36px;height:36px}
.dish-photo-preview-empty p{font-size:.82rem;font-weight:500;text-align:center;margin:0}
.dish-upload-area{border:2px dashed #e2e8f0;border-radius:12px;padding:22px 16px;text-align:center;background:#fafbfc;transition:border-color .15s,background .15s;cursor:pointer}
.dish-upload-area:hover{border-color:rgba(245,158,11,.45);background:#fffbeb}
.dish-upload-area input[type="file"]{display:none}
.dish-upload-area-icon{width:40px;height:40px;border-radius:10px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;margin:0 auto 10px;color:#94a3b8;transition:background .15s,color .15s}
.dish-upload-area:hover .dish-upload-area-icon{background:#fde68a;color:#d97706}
.dish-upload-area p{font-size:.8rem;color:#64748b;margin:8px 0 0;line-height:1.5}
.dish-upload-label{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;background:#0f172a;color:#fff;font-size:.78rem;font-weight:700;cursor:pointer;transition:background .15s;font-family:"Manrope",sans-serif;margin-bottom:2px}
.dish-upload-label:hover{background:#1e293b}

/* Options tab */
.dish-option-row{display:flex;flex-direction:column;gap:8px}
.dish-option-check{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:11px;border:1.5px solid #e5e7eb;background:#fff;cursor:pointer;transition:border-color .15s,background .15s}
.dish-option-check:hover{border-color:rgba(245,158,11,.4);background:#fffbeb}
.dish-option-check input[type="checkbox"]{width:17px;height:17px;accent-color:#f59e0b;flex-shrink:0;margin:0}
.dish-option-check-label strong{font-size:.85rem;font-weight:700;color:#0f172a;display:block;line-height:1.3}
.dish-option-check-label span{font-size:.74rem;color:#64748b}

/* Allergen grid v2 */
.dish-allergen-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(115px,1fr));gap:7px}
.dish-allergen-chip{display:flex;align-items:center;gap:7px;padding:7px 10px;border-radius:9px;border:1.5px solid #e5e7eb;background:#fff;font-size:.77rem;font-weight:500;cursor:pointer;transition:border-color .15s,background .15s;line-height:1.3}
.dish-allergen-chip:hover{border-color:rgba(245,158,11,.4);background:#fffbeb}
.dish-allergen-chip input[type="checkbox"]{width:14px;height:14px;accent-color:#f59e0b;flex-shrink:0;margin:0}
.dish-modal-section-title{font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#94a3b8;margin-bottom:10px}

/* Supplement list */
.dish-supp-grid{display:flex;flex-direction:column;gap:6px}
.dish-supp-chip{display:flex;align-items:center;gap:9px;padding:10px 13px;border-radius:10px;border:1.5px solid #e5e7eb;background:#fff;font-size:.83rem;font-weight:500;cursor:pointer;transition:border-color .15s,background .15s;line-height:1.3}
.dish-supp-chip:hover{border-color:rgba(245,158,11,.35);background:#fffbeb}
.dish-supp-chip input{width:16px;height:16px;accent-color:#f59e0b;flex-shrink:0;margin:0}

/* Modal footer */
.dish-modal-foot{padding:14px 24px;border-top:1px solid #f1f5f9;display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-shrink:0;background:#fafbfc}

/* JS data-hidden (filter) */
.dish-admin-card[data-hidden="1"]{display:none !important}
.dish-category-card[data-all-hidden="1"]{display:none !important}

/* Legacy modal classes (for add-dish-modal and other modals) */
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--card-border);flex-shrink:0;background:var(--card-bg)}
.modal-head h3{font-size:1rem;font-weight:700;color:var(--text);letter-spacing:-.02em;display:flex;align-items:center;gap:8px}
.modal-body{flex:1;overflow-y:auto;padding:24px}
.modal-foot,.modal-form-foot{padding:14px 24px;border-top:1px solid var(--card-border);display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-shrink:0;background:#fafbfc}
.modal-form-body{flex:1;overflow-y:auto;padding:0 24px 24px;display:flex;flex-direction:column;gap:14px;padding-top:18px}
.form-section{background:#fafbfc;border:1px solid var(--card-border);border-radius:var(--r-lg);padding:18px;margin-bottom:16px}
.form-section:last-child{margin-bottom:0}
.form-section-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:14px;display:flex;align-items:center;gap:8px}
.form-section-title::after{content:'';flex:1;height:1px;background:var(--card-border)}
.form-section-title svg{width:13px;height:13px;flex-shrink:0;opacity:.55}
.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.allergen-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin-top:8px}
.allergen-grid label{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:var(--r-sm);border:1px solid var(--card-border);background:#fff;font-size:.8rem;cursor:pointer;transition:border-color .12s,background .12s}
.allergen-grid label:hover{border-color:rgba(245,158,11,.3);background:var(--accent-bg)}
.allergen-grid input[type="checkbox"]{flex-shrink:0}
.supplement-check-group{display:flex;flex-direction:column;gap:6px}
.supplement-check-group label{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--r-sm);border:1px solid var(--card-border);background:#fff;font-size:.83rem;cursor:pointer;transition:border-color .12s}
.supplement-check-group label:hover{border-color:rgba(245,158,11,.3)}

/* ── Dish polish v2 — 10/10 upgrades ───────────────────────── */

/* Photo agrandie 88×88 + coins plus ronds */
.dish-card-photo{width:88px;height:88px;border-radius:14px;border:1px solid rgba(15,23,42,.07);flex-shrink:0}

/* Nom Fraunces serif — identité restaurant */
.dish-card-name{font-family:"Fraunces",Georgia,serif;font-size:1rem;font-weight:700;font-style:normal;letter-spacing:-.02em;max-width:300px;color:#0f172a}

/* Prix en pill KPI vert */
.dish-card-price{
  display:inline-flex;align-items:center;gap:2px;
  padding:5px 11px;border-radius:10px;
  background:#ecfdf5;color:#059669;
  border:1px solid rgba(5,150,105,.15);
  font-size:.9rem;font-weight:900;letter-spacing:-.04em;
  font-family:"Manrope",sans-serif;line-height:1;
  flex-shrink:0;white-space:nowrap;
}

/* Hover elevation véritable (card "flotte") */
.dish-admin-card.dish-card{
  border-bottom:1px solid rgba(15,23,42,.05);
  transition:background .18s,box-shadow .22s cubic-bezier(.22,1,.36,1),transform .22s cubic-bezier(.22,1,.36,1);
  padding:16px 22px;
}
.dish-admin-card.dish-card:hover{
  background:#fff;
  box-shadow:0 4px 16px rgba(0,0,0,.07),0 1px 3px rgba(0,0,0,.04);
  z-index:1;position:relative;
}

/* Category section — légère profondeur supplémentaire */
.dish-category-card.dish-cat-section{
  box-shadow:0 2px 4px rgba(0,0,0,.04),0 8px 24px rgba(0,0,0,.06);
  transition:box-shadow .2s;
}
.dish-category-card.dish-cat-section:hover{
  box-shadow:0 4px 8px rgba(0,0,0,.04),0 16px 40px rgba(0,0,0,.07);
}

/* Category header gradient doux */
.dish-cat-header{
  background:linear-gradient(to right,#f8fafc 0%,#fff 100%);
  padding:17px 24px;
}
.dish-cat-indicator{background:linear-gradient(160deg,#f59e0b,#d97706);width:4px}
.dish-cat-title{font-family:"Fraunces",Georgia,serif;font-size:1.05rem;font-weight:700;font-style:italic}

/* Modify button — dark & premium */
.dish-edit-btn{
  height:36px;padding:0 16px;border-radius:10px;
  border:none;background:linear-gradient(135deg,#1e293b,#0f172a);color:#fff;
  font-size:.78rem;font-weight:700;
  box-shadow:0 2px 6px rgba(15,23,42,.22);
}
.dish-edit-btn:hover{
  background:linear-gradient(135deg,#334155,#1e293b);
  box-shadow:0 4px 12px rgba(15,23,42,.3);
  color:#fff;border:none;
}
.dish-edit-btn svg{color:#94a3b8;transition:color .15s,transform .18s}
.dish-edit-btn:hover svg{color:#fff;transform:rotate(-8deg)}

/* Description 2 lignes */
.dish-card-desc{font-size:.78rem;color:#64748b;line-height:1.45;margin-bottom:8px;-webkit-line-clamp:2;margin-top:3px}
/* Bottom row: price + tags */
.dish-card-bottom{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px}

/* Tags spacing */
.dish-card-tags{gap:6px}
.dish-tag-status{padding:3px 9px;font-size:.67rem}
.dish-tag-homemade{padding:3px 9px;font-size:.67rem;letter-spacing:.01em}

/* Card body breathing room */
.dish-card-body{flex:1;min-width:0;padding:2px 0}
.dish-card-row{margin-bottom:5px;gap:16px}

/* Filter pills polish */
.dish-cat-btn{height:36px;padding:0 15px;border-radius:10px;border-width:1.5px;font-size:.8rem;letter-spacing:-.01em}
.dish-search-input{height:40px;border-radius:11px;font-size:.85rem}

/* Empty state polish */
.dish-cat-count{font-size:.7rem;padding:4px 12px;font-weight:800}

/* Responsive dishes */
@media(max-width:640px){
  .dish-admin-card.dish-card{gap:12px;padding:13px 16px}
  .dish-card-photo{width:66px;height:66px}
  .dish-card-name{max-width:180px;font-size:.92rem}
  .dish-card-actions{flex-direction:column;gap:5px;align-items:flex-end}
  .dmf-row-2{grid-template-columns:1fr}
  .prix-dual-grid{grid-template-columns:1fr}
  .dish-allergen-grid{grid-template-columns:repeat(2,1fr)}
  .dish-modal-name{max-width:220px;font-size:.95rem}
}

/* ═══════════════════════════════════════════
   VARIOUS MISSING CLASSES
═══════════════════════════════════════════ */
/* Telegram cards */
.telegram-overview-card{background:#fafbfc;border:1px solid var(--card-border);border-radius:var(--r-md);padding:12px 16px}
.telegram-step-card{background:#fff;border:1px solid var(--card-border);border-radius:var(--r-lg);padding:18px}
.customer-block-label{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:4px}
.telegram-overview-card strong{font-size:.9rem;font-weight:600;color:var(--text)}
/* Grid compact form */
.grid{display:grid;gap:10px}
.grid.compact-form{grid-template-columns:1fr auto auto;align-items:end;gap:8px}
/* Additional button sizes */
.btn-xs{height:28px;padding:0 10px;font-size:.73rem;border-radius:6px}
/* Image thumbnail in dish form */
img.dish-form-thumb{width:80px;height:80px;border-radius:var(--r-md);object-fit:cover;border:1px solid var(--card-border);margin-top:8px}
/* Responsive modal */
@media(max-width:640px){
  dialog,dialog.modal,dialog.modal-premium{width:100%;max-height:100vh;border-radius:var(--r-xl) var(--r-xl) 0 0;margin:auto 0 0}
  .form-grid-2,.form-grid-3{grid-template-columns:1fr}
  .dish-admin-card{grid-template-columns:48px 1fr;gap:10px}
  .dish-actions{grid-column:1/-1;justify-content:flex-start}
  .category-grid{grid-template-columns:1fr}
}

/* ═══════════════════════════════════════════════════════════════
   PREMIUM UPGRADE — Dot menu · Category compact · Dish filter
   · Modal sections · Onboarding animation · Super admin
═══════════════════════════════════════════════════════════════ */

/* ── Dot-menu (⋯ dropdown) ───────────────────────────────────── */
.dot-menu-wrap{position:relative;display:inline-flex}
.dot-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--r-sm);border:1px solid var(--card-border);background:var(--card-bg);color:var(--text-muted);cursor:pointer;transition:background .12s,border-color .12s,color .12s;font-size:1.1rem;letter-spacing:.05em;padding:0;flex-shrink:0}
.dot-btn:hover{background:#f8fafc;border-color:#cbd5e1;color:var(--text)}
.dot-btn[aria-expanded="true"]{background:#f1f5f9;border-color:var(--accent);color:var(--text)}
.dot-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:200;min-width:180px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--r-lg);box-shadow:0 4px 6px rgba(0,0,0,.04),0 12px 32px rgba(0,0,0,.12);padding:5px;animation:dotMenuIn .14s cubic-bezier(.22,1,.36,1)}
.dot-menu.drop-up{top:auto;bottom:calc(100% + 6px);animation:dotMenuInUp .14s cubic-bezier(.22,1,.36,1)}
@keyframes dotMenuIn{from{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes dotMenuInUp{from{opacity:0;transform:translateY(4px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
.dot-menu[hidden]{display:none}
.dot-menu-item,.dot-menu form button{display:flex;align-items:center;gap:9px;width:100%;padding:8px 10px;border-radius:var(--r-sm);font-size:.83rem;font-weight:500;color:var(--text);background:none;border:none;cursor:pointer;text-align:left;transition:background .1s,color .1s;line-height:1.4;height:auto;min-height:34px;letter-spacing:0;white-space:nowrap}
.dot-menu-item:hover,.dot-menu form button:hover{background:#f8fafc;color:var(--text)}
.dot-menu-item svg,.dot-menu form button svg{width:14px;height:14px;flex-shrink:0;opacity:.6}
.dot-menu-divider{height:1px;background:var(--card-border);margin:4px 0;border:none}
.dot-menu-danger,.dot-menu .form-danger button{color:var(--err) !important}
.dot-menu-danger:hover,.dot-menu .form-danger button:hover{background:var(--err-bg) !important}

/* ── Category compact strip ──────────────────────────────────── */
.cat-strip{display:flex;flex-direction:column;gap:8px;margin-top:16px}
.cat-row{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:14px;padding:11px 16px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--r-lg);box-shadow:var(--card-shadow);transition:box-shadow .15s,border-color .15s}
.cat-row:hover{box-shadow:0 4px 20px rgba(0,0,0,.08);border-color:rgba(245,158,11,.2)}
.cat-row-icon{width:36px;height:36px;border-radius:var(--r-md);background:linear-gradient(135deg,var(--accent-bg),#fff7e0);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}
.cat-row-body{min-width:0}
.cat-row-name{font-size:.92rem;font-weight:700;color:var(--text);letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cat-row-meta{display:flex;align-items:center;gap:6px;margin-top:2px}
.cat-row-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}

/* Add-category collapsible panel */
.add-cat-trigger{display:flex;align-items:center;gap:8px;padding:9px 16px;border:1px dashed #e2e8f0;border-radius:var(--r-lg);background:transparent;color:var(--text-muted);font-size:.84rem;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s,color .12s;width:100%}
.add-cat-trigger:hover{background:var(--accent-bg);border-color:rgba(245,158,11,.4);color:var(--accent-dark)}
.add-cat-panel{overflow:hidden;transition:max-height .22s cubic-bezier(.22,1,.36,1),opacity .2s;max-height:0;opacity:0;pointer-events:none}
.add-cat-panel.is-open{max-height:200px;opacity:1;pointer-events:auto}
.add-cat-form-inner{padding:16px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--r-lg);margin-top:8px;display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.add-cat-form-inner input[name="nom"]{flex:1;min-width:140px}
.add-cat-form-inner input[type="number"]{width:80px;flex:0 0 80px}

/* Category page header */
.prem-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.prem-section-head h2{font-size:1.55rem;font-weight:800;color:var(--text);letter-spacing:-.04em;margin:0}
.prem-section-head p{font-size:.83rem;color:var(--text-muted);margin:4px 0 0}
.prem-section-chips{display:flex;align-items:center;gap:8px;flex-shrink:0}

/* ── Dish filter bar ─────────────────────────────────────────── */
.dish-filter-bar{display:flex;align-items:center;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.dish-search-wrap{position:relative;flex:1;max-width:280px}
.dish-search-wrap svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--text-soft);pointer-events:none}
.dish-search-input{height:36px;padding:0 12px 0 34px;border:1px solid var(--card-border);border-radius:var(--r-md);font-size:.83rem;background:#f8fafc;color:var(--text);width:100%;transition:border-color .15s,box-shadow .15s}
.dish-search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(245,158,11,.1);background:#fff}
.dish-cat-filters{display:flex;gap:6px;flex-wrap:wrap}
.dish-cat-btn{height:32px;padding:0 12px;border-radius:var(--r-pill);border:1px solid var(--card-border);background:var(--card-bg);color:var(--text-muted);font-size:.78rem;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s,color .12s;white-space:nowrap}
.dish-cat-btn:hover{background:#f8fafc;color:var(--text)}
.dish-cat-btn.is-active{background:var(--accent);color:#fff;border-color:var(--accent-dark);box-shadow:0 2px 8px rgba(245,158,11,.28)}

/* Hide filtered dishes */
.dish-admin-card[data-hidden="1"]{display:none}
.dish-category-card[data-all-hidden="1"]{display:none}

/* Dish action buttons — use btn-sm */
.dish-edit-btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:var(--r-sm);border:1px solid var(--card-border);background:var(--card-bg);color:var(--text-muted);font-size:.78rem;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s,color .12s;white-space:nowrap}
.dish-edit-btn:hover{background:var(--accent-bg);border-color:rgba(245,158,11,.35);color:var(--accent-dark)}

/* ── Modal premium — sections ───────────────────────────────── */
.modal-form-body{flex:1;overflow-y:auto;padding:0 24px 24px;display:flex;flex-direction:column;gap:14px;padding-top:18px}
.modal-form-foot{padding:14px 24px;border-top:1px solid var(--card-border);display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-shrink:0;background:#fafbfc}
/* Upgrade section title */
.form-section-title svg{width:13px;height:13px;flex-shrink:0;opacity:.55}

/* Photo section */
.modal-photo-row{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start}
.modal-photo-current{width:72px;height:72px;border-radius:var(--r-lg);object-fit:cover;border:1px solid var(--card-border);flex-shrink:0}
.modal-photo-placeholder{width:72px;height:72px;border-radius:var(--r-lg);border:2px dashed #e2e8f0;display:flex;align-items:center;justify-content:center;background:#f8fafc;color:var(--text-soft);font-size:.7rem;text-align:center;flex-shrink:0}
.modal-photo-upload{display:flex;flex-direction:column;gap:6px;justify-content:center}
.modal-photo-upload label{font-size:.78rem;font-weight:600;color:var(--text);letter-spacing:.01em}

/* ── Onboarding premium ─────────────────────────────────────── */
.prem-onboarding{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);padding:22px 24px;box-shadow:var(--card-shadow);margin-bottom:20px;position:relative;overflow:hidden}
.prem-onboarding::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent-dark))}
.prem-ob-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}
.prem-ob-title{font-size:1.05rem;font-weight:800;color:var(--text);letter-spacing:-.025em;margin:0 0 3px}
.prem-ob-sub{font-size:.8rem;color:var(--text-muted);line-height:1.45}
.prem-ob-score{text-align:right;flex-shrink:0}
.prem-ob-pct{font-size:2rem;font-weight:900;color:var(--accent-dark);letter-spacing:-.05em;line-height:1}
.prem-ob-pct-lbl{font-size:.68rem;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin-top:1px}
.prem-ob-bar{height:5px;border-radius:var(--r-pill);background:#e2e8f0;overflow:hidden;margin-bottom:20px}
.prem-ob-bar-fill{height:100%;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--accent),var(--accent-dark));transition:width .5s cubic-bezier(.22,1,.36,1)}
.prem-ob-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.prem-ob-item{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:var(--r-lg);border:1px solid;transition:box-shadow .15s,transform .15s;cursor:default}
.prem-ob-item.is-done{background:#f0fdf4;border-color:rgba(5,150,105,.18)}
.prem-ob-item.is-pending{background:#fafbfc;border-color:var(--card-border)}
.prem-ob-item:hover{box-shadow:0 4px 16px rgba(0,0,0,.07);transform:translateY(-1px)}
.prem-ob-check{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-bottom:2px}
.prem-ob-item.is-done .prem-ob-check{background:var(--ok);color:#fff;box-shadow:0 2px 8px rgba(5,150,105,.35)}
.prem-ob-item.is-pending .prem-ob-check{background:#f1f5f9;color:var(--text-soft);border:1px solid var(--card-border)}
.prem-ob-check svg{width:12px;height:12px}
.prem-ob-item-title{font-size:.86rem;font-weight:700;color:var(--text);letter-spacing:-.01em;line-height:1.3}
.prem-ob-item-desc{font-size:.76rem;color:var(--text-muted);line-height:1.45;flex:1}
.prem-ob-item-btn{height:28px;padding:0 10px;border-radius:var(--r-sm);border:1px solid var(--card-border);background:var(--card-bg);color:var(--text-muted);font-size:.76rem;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s,color .12s;align-self:flex-start;white-space:nowrap}
.prem-ob-item-btn:hover{background:var(--accent-bg);border-color:rgba(245,158,11,.35);color:var(--accent-dark)}
.prem-ob-item.is-done .prem-ob-item-btn{background:var(--ok-bg);border-color:rgba(5,150,105,.2);color:var(--ok);pointer-events:none}

/* Animation checkmark */
@keyframes checkPop{0%{transform:scale(0) rotate(-45deg);opacity:0}70%{transform:scale(1.2) rotate(5deg)}100%{transform:scale(1) rotate(0);opacity:1}}
.prem-ob-item.is-done .prem-ob-check{animation:checkPop .35s cubic-bezier(.34,1.56,.64,1) both}

/* ── Super Admin harmonisé ──────────────────────────────────── */
.super-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin-bottom:24px}
.super-kpi-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);padding:18px;box-shadow:var(--card-shadow);display:flex;flex-direction:column;gap:6px;position:relative;overflow:hidden;transition:box-shadow .2s,transform .2s}
.super-kpi-card:hover{box-shadow:0 6px 24px rgba(0,0,0,.1);transform:translateY(-2px)}
.super-kpi-icon{width:34px;height:34px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-bottom:2px}
.super-kpi-val{font-size:1.7rem;font-weight:900;color:var(--text);letter-spacing:-.05em;line-height:1.1}
.super-kpi-lbl{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}

/* ═══════════════════════════════════════════════════════════════
   SUPER ADMIN — Console business
═══════════════════════════════════════════════════════════════ */

/* Layout */
.super-admin-page{background:var(--main-bg);min-height:100vh}
.super-topbar{position:sticky;top:0;z-index:100;height:56px;background:#0c111d;border-bottom:1px solid rgba(255,255,255,.07);display:flex;align-items:center;justify-content:space-between;padding:0 28px;gap:16px}
.super-topbar-brand{display:flex;align-items:center;gap:10px}
.super-topbar-icon{width:32px;height:32px;border-radius:9px;background:linear-gradient(135deg,var(--accent),#b45309);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}
.super-topbar-name{font-size:.88rem;font-weight:700;color:rgba(255,255,255,.92);letter-spacing:-.01em}
.super-topbar-sub{font-size:.65rem;color:rgba(255,255,255,.35);text-transform:uppercase;letter-spacing:.08em;font-weight:600}
.super-topbar-actions{display:flex;align-items:center;gap:10px}
.super-topbar-link{height:32px;padding:0 14px;border-radius:var(--r-sm);border:1px solid rgba(255,255,255,.12);background:transparent;color:rgba(255,255,255,.55);font-size:.8rem;font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;transition:background .12s,color .12s}
.super-topbar-link:hover{background:rgba(255,255,255,.08);color:rgba(255,255,255,.85)}

.super-console{max-width:1400px;margin:0 auto;padding:28px 28px 64px;display:flex;flex-direction:column;gap:20px}

/* Hero card */
.super-hero-card{background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);border:1px solid rgba(255,255,255,.07);border-radius:var(--card-radius);padding:24px 28px;box-shadow:0 8px 32px rgba(0,0,0,.18)}
.super-hero-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px;flex-wrap:wrap}
.super-hero-head h2{font-size:1.5rem;font-weight:800;color:#fff;letter-spacing:-.04em;margin:6px 0 4px}
.super-hero-head .muted{color:rgba(255,255,255,.45);font-size:.83rem}
.super-hero-head .flow-kicker{background:rgba(245,158,11,.15);color:var(--accent)}
.super-plan-card{text-align:right;flex-shrink:0}
.super-plan-card span{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:rgba(255,255,255,.4)}
.super-plan-card strong{display:block;font-size:1.6rem;font-weight:900;color:var(--accent);letter-spacing:-.04em;line-height:1.1;margin:2px 0}
.super-plan-card small{font-size:.74rem;color:rgba(255,255,255,.35)}

/* Hero KPI grid */
.super-stats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.super-stats-grid article{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:var(--r-md);padding:14px 16px;display:flex;flex-direction:column;gap:3px;transition:background .15s}
.super-stats-grid article:hover{background:rgba(255,255,255,.08)}
.super-stats-grid article strong{font-size:1.5rem;font-weight:800;color:#fff;letter-spacing:-.05em;line-height:1}
.super-stats-grid article span{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:rgba(255,255,255,.4)}

/* Analytics section */
.super-analytics-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);padding:22px 24px;box-shadow:var(--card-shadow)}
.super-analytics-score strong{font-size:1.5rem;font-weight:800;color:var(--ok);letter-spacing:-.04em;display:block}
.super-analytics-score span{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}
.super-analytics-layout{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin-top:18px}
.super-analytics-panel{background:#fafbfc;border:1px solid var(--card-border);border-radius:var(--r-lg);padding:16px}
.super-analytics-panel h3{font-size:.82rem;font-weight:700;color:var(--text);letter-spacing:-.01em;margin-bottom:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}

/* Module revenue bars */
.module-revenue-list{display:flex;flex-direction:column;gap:9px}
.module-revenue-row{display:grid;grid-template-columns:1fr auto;gap:6px 10px;align-items:center}
.module-revenue-row > div{grid-column:1;display:flex;align-items:baseline;gap:6px}
.module-revenue-row > div strong{font-size:.84rem;font-weight:700;color:var(--text)}
.module-revenue-row > div span{font-size:.72rem;color:var(--text-muted)}
.module-revenue-row b{font-size:.84rem;font-weight:800;color:var(--ok);white-space:nowrap;text-align:right}
.module-revenue-meter{height:4px;border-radius:var(--r-pill);background:#e2e8f0;overflow:hidden;grid-column:1}
.module-revenue-meter span{display:block;height:100%;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--accent),var(--accent-dark));transition:width .4s}

/* Top revenue list */
.super-top-list{display:flex;flex-direction:column;gap:7px}
.super-top-list > div{display:grid;grid-template-columns:20px 1fr auto;gap:6px;align-items:center;padding:8px 10px;border-radius:var(--r-sm);background:#fff;border:1px solid var(--card-border)}
.super-top-list span{font-size:.72rem;font-weight:800;color:var(--accent-dark)}
.super-top-list strong{font-size:.84rem;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.super-top-list small{display:none}
.super-top-list b{font-size:.84rem;font-weight:800;color:var(--ok);white-space:nowrap}

/* Priority actions */
.super-priority-kpis{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}
.super-priority-kpis span{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--r-pill);font-size:.74rem;font-weight:600;background:#f1f5f9;color:var(--text-muted)}
.super-priority-kpis span strong{color:var(--text);font-size:.9rem}
.super-priority-list{display:flex;flex-direction:column;gap:6px}
.super-priority-list > div{display:flex;gap:8px;align-items:flex-start;padding:9px 12px;border-radius:var(--r-sm);background:#fff;border:1px solid var(--card-border)}
.super-priority-list > div span{flex-shrink:0;font-size:.68rem;font-weight:700;padding:2px 7px;border-radius:var(--r-pill);background:var(--warn-bg);color:var(--warn);text-transform:uppercase;letter-spacing:.04em;margin-top:2px}
.super-priority-list > div strong{font-size:.84rem;font-weight:700;color:var(--text);flex:1}
.super-priority-list > div small{font-size:.74rem;color:var(--text-muted);display:block}

/* Restaurant cards grid */
.super-restaurant-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:16px}
.super-restaurant-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,border-color .15s}
.super-restaurant-card:hover{box-shadow:0 6px 24px rgba(0,0,0,.1);border-color:rgba(245,158,11,.2)}
.super-restaurant-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px 14px;border-bottom:1px solid #f3f4f7}
.super-id{display:block;font-size:.68rem;font-weight:700;color:var(--text-soft);letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px}
.super-restaurant-head h3{font-size:1rem;font-weight:800;color:var(--text);letter-spacing:-.025em;margin:0 0 2px}
.super-restaurant-head p{font-size:.78rem;color:var(--text-muted);margin:0}
.super-money-card{text-align:right;flex-shrink:0}
.super-money-card strong{display:block;font-size:1.25rem;font-weight:800;color:var(--ok);letter-spacing:-.04em;line-height:1}
.super-money-card span{font-size:.65rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;display:block}
.super-money-card small{font-size:.7rem;color:var(--text-soft)}

/* Restaurant metrics */
.super-restaurant-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-bottom:1px solid #f3f4f7;background:#fafbfc}
.super-restaurant-metrics span{padding:10px 14px;font-size:.74rem;color:var(--text-muted);border-right:1px solid #f3f4f7;text-align:center}
.super-restaurant-metrics span:last-child{border-right:none}
.super-restaurant-metrics strong{display:block;font-size:.94rem;font-weight:800;color:var(--text);letter-spacing:-.02em}

/* Module pills */
.super-module-badges{display:flex;gap:5px;flex-wrap:wrap;padding:12px 20px;border-bottom:1px solid #f3f4f7}
.module-pill{padding:3px 9px;border-radius:var(--r-pill);font-size:.68rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;border:1px solid}
.module-pill.is-on{background:var(--ok-bg);color:var(--ok);border-color:rgba(5,150,105,.2)}
.module-pill.is-off{background:#f3f4f6;color:#9ca3af;border-color:#e5e7eb}

/* Restaurant actions row */
.super-restaurant-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:12px 20px;border-bottom:1px solid #f3f4f7}
.super-restaurant-actions .btn-outline{height:30px;padding:0 12px;font-size:.78rem}
.super-restaurant-actions form.inline button{height:30px;padding:0 12px;font-size:.78rem}

/* Edit panel (collapsible) */
.super-edit-panel{border:none}
.super-edit-panel summary{padding:10px 20px;font-size:.8rem;font-weight:600;color:var(--text-muted);cursor:pointer;list-style:none;display:flex;align-items:center;gap:6px;transition:color .12s;user-select:none}
.super-edit-panel summary::-webkit-details-marker{display:none}
.super-edit-panel summary::before{content:'▸';font-size:.7rem;transition:transform .15s;display:inline-block}
.super-edit-panel[open] summary::before{transform:rotate(90deg)}
.super-edit-panel summary:hover{color:var(--text)}
.super-edit-form{padding:16px 20px;display:flex;flex-direction:column;gap:12px}
fieldset{border:1px solid var(--card-border);border-radius:var(--r-md);padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
legend{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:0 6px}
fieldset label{font-size:.78rem;font-weight:600;color:var(--text);display:flex;flex-direction:column;gap:4px}
fieldset input{height:34px;font-size:.83rem}
fieldset input[type="color"]{height:34px;padding:2px 6px;cursor:pointer}
.super-module-fieldset{grid-template-columns:1fr;gap:6px}
.super-edit-actions{display:flex;justify-content:flex-end;padding:0 20px 16px}
.super-edit-actions button{background:var(--text);color:#fff;border:none;height:36px;padding:0 18px;border-radius:var(--r-md);font-size:.84rem;font-weight:700;cursor:pointer}

/* Accounts panel */
.super-accounts-panel{padding:14px 20px;background:#fafbfc}
.super-accounts-panel h4{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:10px}
.account-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid #f1f5f9}
.account-row:last-child{border-bottom:none;padding-bottom:0}
.account-row > span:first-child{font-size:.83rem;color:var(--text);font-weight:500;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-row .badge{flex-shrink:0}
.badge.ok{background:var(--ok-bg);color:var(--ok)}
.badge.off{background:#f1f5f9;color:var(--text-muted)}

/* Create restaurant section */
.super-create-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);padding:24px;box-shadow:var(--card-shadow)}
.palette-wrap{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.palette-chip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:var(--r-pill);border:1px solid var(--card-border);background:var(--card-bg);font-size:.78rem;font-weight:600;cursor:pointer;transition:border-color .12s,box-shadow .12s}
.palette-chip:hover{border-color:rgba(0,0,0,.2);box-shadow:0 2px 8px rgba(0,0,0,.1)}
.palette-chip span{width:14px;height:14px;border-radius:50%;display:inline-block;flex-shrink:0}
.super-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 14px;margin-bottom:16px}
.super-form-grid > div{display:flex;flex-direction:column;gap:5px}
.super-form-grid label{font-size:.74rem;font-weight:600;color:var(--text)}
.super-form-grid button[type="submit"]{grid-column:1/-1;margin-top:4px}
.settings-check{padding:0}
.super-module-card{grid-column:span 1}
.super-roulette-card{display:flex;flex-direction:column;gap:6px}
.super-roulette-options{padding-left:24px;display:flex;flex-direction:column;gap:4px}

/* Color preview */
.super-preview-card{background:#fff;border:1px solid var(--card-border);border-radius:var(--r-lg);padding:16px;margin-top:16px;max-width:240px}
.super-preview-card h3{font-size:.9rem;font-weight:700;margin-bottom:8px}
.super-preview-card p{font-size:.8rem;color:var(--text-muted);margin-bottom:10px}

/* Account wizard */
.wizard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px 14px;align-items:end}
.step{display:flex;flex-direction:column;gap:5px}
.step > span{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-soft)}
.step label{font-size:.78rem;font-weight:600;color:var(--text)}

/* Result card */
.result-card{background:var(--ok-bg);border-color:rgba(5,150,105,.2)}
.result-card h2{color:var(--ok);font-size:1rem}

/* Responsive additions */
@media(max-width:768px){
  .dish-filter-bar{gap:6px}
  .cat-row{grid-template-columns:36px 1fr auto}
  .prem-ob-grid{grid-template-columns:1fr 1fr}
  .add-cat-form-inner{flex-direction:column}
  .add-cat-form-inner input[type="number"]{width:100%;flex:auto}
}
@media(max-width:480px){
  .prem-ob-grid{grid-template-columns:1fr}
  .dish-filter-bar{flex-direction:column;align-items:flex-start}
  .dish-search-wrap{max-width:100%;width:100%}
}

/* ═══════════════════════════════════════════════════════════════
   SUPER ADMIN v2 — Maison Saclay × Linear × Stripe
   Wizard · Premium cards · Module pills · Charts
═══════════════════════════════════════════════════════════════ */

/* ── Wizard étapes ──────────────────────────────────────────── */
.wiz-wrap{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);overflow:hidden}
.wiz-header{padding:20px 24px 0}
.wiz-steps-row{display:flex;align-items:center;gap:0;margin-bottom:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.wiz-steps-row::-webkit-scrollbar{display:none}
.wiz-step-item{display:flex;align-items:center;gap:0;flex-shrink:0}
.wiz-step-dot{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-size:.72rem;font-weight:800;border:2px solid var(--card-border);background:var(--card-bg);color:var(--text-soft);transition:all .2s;flex-shrink:0;cursor:pointer}
.wiz-step-dot.is-active{background:var(--accent);border-color:var(--accent-dark);color:#fff;box-shadow:0 3px 12px rgba(245,158,11,.35)}
.wiz-step-dot.is-done{background:var(--ok);border-color:var(--ok);color:#fff}
.wiz-step-label{font-size:.72rem;font-weight:600;color:var(--text-soft);margin-left:7px;white-space:nowrap;transition:color .2s}
.wiz-step-item:has(.wiz-step-dot.is-active) .wiz-step-label{color:var(--accent-dark)}
.wiz-step-item:has(.wiz-step-dot.is-done) .wiz-step-label{color:var(--ok)}
.wiz-step-connector{width:32px;height:2px;background:#e2e8f0;margin:0 6px;flex-shrink:0;transition:background .2s}
.wiz-step-connector.is-done{background:var(--ok)}
.wiz-bar-track{height:3px;background:#f1f5f9;margin:14px 0 0;border-radius:var(--r-pill);overflow:hidden}
.wiz-bar-fill{height:100%;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--accent),var(--accent-dark));transition:width .35s cubic-bezier(.22,1,.36,1)}
.wiz-body{padding:22px 24px}
.wiz-pane{display:none}
.wiz-pane.is-active{display:block;animation:paneFadeIn .22s ease both}
@keyframes paneFadeIn{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:translateX(0)}}
.wiz-pane-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:16px;display:flex;align-items:center;gap:7px}
.wiz-pane-title svg{width:13px;height:13px;opacity:.55}
.wiz-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.wiz-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
.wiz-field{display:flex;flex-direction:column;gap:4px}
.wiz-field label{font-size:.76rem;font-weight:600;color:var(--text)}
.wiz-field.full{grid-column:1/-1}
.wiz-nav{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-top:1px solid var(--card-border);background:#fafbfc}
.wiz-btn-prev{height:36px;padding:0 16px;border-radius:var(--r-md);border:1px solid var(--card-border);background:var(--card-bg);color:var(--text-muted);font-size:.84rem;font-weight:600;cursor:pointer;transition:background .12s,color .12s}
.wiz-btn-prev:hover{background:#f1f5f9;color:var(--text)}
.wiz-btn-prev:disabled{opacity:.35;cursor:default}
.wiz-btn-next{height:36px;padding:0 20px;border-radius:var(--r-md);border:none;background:var(--accent);color:#fff;font-size:.84rem;font-weight:700;cursor:pointer;transition:background .12s,transform .1s,box-shadow .15s;box-shadow:0 3px 10px rgba(245,158,11,.28)}
.wiz-btn-next:hover{background:var(--accent-dark);transform:translateY(-1px);box-shadow:0 5px 16px rgba(245,158,11,.36)}
.wiz-btn-next.is-final{background:var(--ok);box-shadow:0 3px 10px rgba(5,150,105,.25)}
.wiz-btn-next.is-final:hover{background:#047857;box-shadow:0 5px 16px rgba(5,150,105,.32)}
.wiz-step-counter{font-size:.78rem;color:var(--text-muted);font-weight:500}

/* Module checkboxes inside wizard */
.wiz-mod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.wiz-mod-card{display:flex;flex-direction:column;gap:4px;padding:12px;border:2px solid #e8ecf2;border-radius:var(--r-lg);background:#fafbfc;cursor:pointer;transition:border-color .18s,background .18s,box-shadow .18s,opacity .18s;user-select:none;position:relative;opacity:.65}
.wiz-mod-card:hover{border-color:rgba(245,158,11,.35);background:#fffbeb;opacity:.85}
.wiz-mod-card input[type="checkbox"]{display:none}
.wiz-mod-card.is-checked{border-color:var(--accent);background:linear-gradient(135deg,#fffbeb 0%,#fef9e7 100%);box-shadow:0 0 0 1px rgba(245,158,11,.25),0 4px 12px rgba(245,158,11,.12);opacity:1}
.wiz-mod-card.is-checked::after{content:'✓';position:absolute;top:8px;right:8px;width:18px;height:18px;border-radius:50%;background:var(--accent);color:#fff;font-size:.62rem;font-weight:900;display:grid;place-items:center;box-shadow:0 2px 6px rgba(245,158,11,.35)}
.wiz-mod-card.is-checked .wiz-mod-card-label{color:var(--accent-dark)}
.wiz-mod-card-icon{width:34px;height:34px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;font-size:1.15rem;margin-bottom:4px;transition:transform .15s}
.wiz-mod-card.is-checked .wiz-mod-card-icon{transform:scale(1.08)}
.wiz-mod-card-label{font-size:.82rem;font-weight:700;color:var(--text)}
.wiz-mod-card-price{font-size:.7rem;color:var(--text-muted)}

/* Palette cards in wizard */
.wiz-palette-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px;margin-bottom:16px}
.wiz-palette-card{border:2px solid var(--card-border);border-radius:var(--r-md);padding:10px;cursor:pointer;transition:border-color .15s,transform .12s;text-align:center;background:var(--card-bg)}
.wiz-palette-card:hover{transform:translateY(-2px);border-color:#94a3b8}
.wiz-palette-card.is-selected{border-color:var(--accent);box-shadow:0 2px 8px rgba(245,158,11,.2)}
.wiz-palette-swatch{display:flex;gap:4px;justify-content:center;margin-bottom:6px}
.wiz-palette-swatch span{width:24px;height:24px;border-radius:50%;border:2px solid rgba(0,0,0,.08)}
.wiz-palette-name{font-size:.72rem;font-weight:700;color:var(--text-muted)}

/* Color preview live */
.wiz-color-preview{border:1px solid var(--card-border);border-radius:var(--r-lg);padding:16px;margin-top:14px;text-align:center}
.wiz-color-preview-title{font-size:.78rem;font-weight:600;color:var(--text-muted);margin-bottom:8px}
.wiz-preview-mockup{border-radius:var(--r-md);overflow:hidden;border:1px solid var(--card-border)}
.wiz-preview-header{padding:10px 14px;font-size:.82rem;font-weight:700}
.wiz-preview-btn{display:inline-block;padding:7px 16px;border-radius:var(--r-pill);font-size:.78rem;font-weight:700;margin-top:8px}

/* Wizard recap */
.wiz-recap{display:flex;flex-direction:column;gap:10px}
.wiz-recap-row{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-radius:var(--r-md);background:#f8fafc;font-size:.84rem}
.wiz-recap-row strong{color:var(--text);font-weight:700}
.wiz-recap-row span{color:var(--text-muted)}
.wiz-recap-mods{display:flex;gap:6px;flex-wrap:wrap}

/* ── Restaurant cards v4 — Premium SaaS 2026 ─────────────────── */
.src-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(296px,1fr));gap:20px}
.src-card{background:#fff;border:1px solid rgba(15,23,42,.07);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;cursor:pointer;transition:box-shadow .32s cubic-bezier(.22,1,.36,1),transform .32s cubic-bezier(.22,1,.36,1),border-color .2s;box-shadow:0 2px 4px rgba(0,0,0,.04),0 6px 16px rgba(0,0,0,.05),0 16px 40px rgba(0,0,0,.05);--src-accent:#f59e0b}
.src-card:hover{box-shadow:0 0 0 1px rgba(15,23,42,.06),0 4px 8px rgba(0,0,0,.04),0 16px 32px rgba(0,0,0,.08),0 40px 72px rgba(0,0,0,.08);transform:translateY(-6px) scale(1.012);border-color:rgba(15,23,42,.12)}

/* Cover — identity zone */
.src-cover{height:116px;position:relative;flex-shrink:0;overflow:hidden}
.src-cover-glow{position:absolute;inset:0;background:radial-gradient(ellipse at 20% 30%,rgba(255,255,255,.22) 0%,transparent 55%),radial-gradient(ellipse at 85% 80%,rgba(0,0,0,.15) 0%,transparent 50%);pointer-events:none;z-index:1}
.src-cover::after{content:'';position:absolute;bottom:0;left:0;right:0;height:55%;background:linear-gradient(to top,rgba(0,0,0,.38) 0%,transparent 100%);pointer-events:none;z-index:1}
.src-cover-inactive{filter:grayscale(.65);opacity:.82}
.src-status-dot{position:absolute;top:13px;right:13px;width:8px;height:8px;border-radius:50%;border:2px solid rgba(255,255,255,.75);z-index:3}
.src-status-dot.is-active{background:#10b981;box-shadow:0 0 0 3px rgba(16,185,129,.28)}
.src-status-dot.is-inactive{background:#ef4444}
.src-cover-identity{position:absolute;bottom:13px;left:16px;right:13px;display:flex;align-items:flex-end;gap:10px;z-index:3}
.src-avatar{width:50px;height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:800;color:#fff;background:rgba(0,0,0,.28);border:2.5px solid rgba(255,255,255,.82);letter-spacing:-.02em;flex-shrink:0;box-shadow:0 3px 14px rgba(0,0,0,.3),0 1px 3px rgba(0,0,0,.12);font-family:"Manrope",sans-serif;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.src-cover-text{flex:1;min-width:0;padding-bottom:2px}
.src-cover-name{font-size:.98rem;font-weight:800;color:#fff;letter-spacing:-.03em;line-height:1.2;font-family:"Fraunces",serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 6px rgba(0,0,0,.3)}
.src-cover-city{font-size:.67rem;font-weight:600;color:rgba(255,255,255,.62);letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:1px}

/* Body */
.src-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:13px;flex:1}

/* KPI block */
.src-kpi{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:13px;background:linear-gradient(135deg,#f0fdf8 0%,#ecfdf5 100%);border:1px solid rgba(5,150,105,.12);box-shadow:0 1px 4px rgba(5,150,105,.06)}
.src-kpi-main{display:flex;align-items:baseline;gap:0}
.src-kpi-amount{font-size:1.9rem;font-weight:900;color:#059669;letter-spacing:-.06em;line-height:1;font-family:"Manrope",sans-serif}
.src-kpi-currency{font-size:1rem;font-weight:800;color:#059669;letter-spacing:-.02em;margin-left:1px}
.src-kpi-period{font-size:.62rem;font-weight:700;color:#34d399;text-transform:uppercase;letter-spacing:.07em;margin-left:5px;align-self:center}

/* Status pill */
.src-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;font-size:.67rem;font-weight:700;letter-spacing:.01em}
.src-pill::before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}
.src-pill.is-active{background:#ecfdf5;color:#059669}
.src-pill.is-inactive{background:#fef2f2;color:#dc2626}

/* Module tags */
.src-mods{display:flex;gap:5px;flex-wrap:wrap;min-height:22px}
.src-mod-tag{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:.66rem;font-weight:700;border:1px solid;letter-spacing:.01em;white-space:nowrap}
.src-mod-tag.mod-menu     {background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}
.src-mod-tag.mod-loyalty  {background:#fff7ed;color:#c2410c;border-color:#fed7aa}
.src-mod-tag.mod-ordering {background:#f0fdf4;color:#15803d;border-color:#bbf7d0}
.src-mod-tag.mod-resa     {background:#fefce8;color:#a16207;border-color:#fde68a}
.src-mod-tag.mod-roulette {background:#fdf4ff;color:#7e22ce;border-color:#e9d5ff}
.src-mod-tag.mod-boost    {background:#f0f9ff;color:#0369a1;border-color:#bae6fd}
.src-mod-none{font-size:.72rem;color:#cbd5e1;font-style:italic;align-self:center}

/* Stats row */
.src-stats-row{display:grid;grid-template-columns:repeat(3,1fr);background:#f8fafc;border-radius:11px;overflow:hidden}
.src-stat{padding:9px 0;text-align:center;border-right:1px solid #eef2f7;display:flex;flex-direction:column;align-items:center;gap:2px}
.src-stat:last-child{border-right:none}
.src-stat-icon{color:#c4cdd9;margin-bottom:1px;flex-shrink:0}
.src-stat strong{font-size:1.02rem;font-weight:800;color:#0f172a;letter-spacing:-.03em;line-height:1;font-family:"Manrope",sans-serif}
.src-stat span{font-size:.57rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8}

/* Footer CTA */
.src-card-footer{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:4px;border-top:1px solid #f1f5f9}
.src-btn-menu{display:inline-flex;align-items:center;gap:5px;height:34px;padding:0 12px;border-radius:9px;border:1px solid #e2e8f0;background:#f8fafc;color:#64748b;font-size:.74rem;font-weight:600;text-decoration:none;flex-shrink:0;transition:background .15s,border-color .15s,color .15s}
.src-btn-menu:hover{background:#f1f5f9;border-color:#cbd5e1;color:#475569}
.src-btn-edit{flex:1;height:36px;border-radius:10px;background:linear-gradient(135deg,#1e293b 0%,#0f172a 100%);color:#fff;font-size:.8rem;font-weight:700;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;box-shadow:0 2px 8px rgba(15,23,42,.28),0 1px 2px rgba(0,0,0,.12);transition:background .18s,box-shadow .18s;letter-spacing:.01em;font-family:inherit}
.src-btn-arrow{transition:transform .2s cubic-bezier(.22,1,.36,1)}
.src-btn-edit:hover{background:linear-gradient(135deg,#334155 0%,#1e293b 100%);box-shadow:0 4px 16px rgba(15,23,42,.36)}
.src-btn-edit:hover .src-btn-arrow{transform:translateX(3px)}
.src-btn-edit:active{transform:scale(.97)}

/* ── Restaurant Drawer ──────────────────────────────────────── */
.drawer-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);backdrop-filter:blur(4px);z-index:200;opacity:0;pointer-events:none;transition:opacity .3s}
.drawer-backdrop.is-open{opacity:1;pointer-events:all}
.restaurant-drawer{position:fixed;top:0;right:0;bottom:0;width:min(540px,100vw);background:#fff;z-index:201;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .35s cubic-bezier(.22,1,.36,1);box-shadow:-8px 0 48px rgba(0,0,0,.14);overflow:hidden}
.restaurant-drawer.is-open{transform:translateX(0)}
.drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 24px 20px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0;background:#0c111d;color:#fff}
.drawer-header-label{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.35);margin-bottom:5px}
.drawer-header-name{font-size:1.25rem;font-weight:800;color:#fff;letter-spacing:-.03em;margin:0;font-family:"Fraunces",serif;line-height:1.2}
.drawer-close{width:34px;height:34px;border-radius:9px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.07);color:rgba(255,255,255,.6);display:flex;align-items:center;justify-content:center;font-size:.95rem;cursor:pointer;flex-shrink:0;transition:background .12s,color .12s;line-height:1}
.drawer-close:hover{background:rgba(255,255,255,.14);color:#fff}
.drawer-tab-nav{display:flex;border-bottom:1px solid #f1f5f9;flex-shrink:0;overflow-x:auto;scrollbar-width:none;background:#fff}
.drawer-tab-nav::-webkit-scrollbar{display:none}
.drawer-tab{padding:12px 18px;border:none;border-bottom:2px solid transparent;background:none;cursor:pointer;font-size:.82rem;font-weight:600;color:#94a3b8;white-space:nowrap;transition:color .12s,border-color .12s;font-family:inherit}
.drawer-tab.is-active{color:#0f172a;border-bottom-color:#f59e0b}
.drawer-tab:hover{color:#475569}
.drawer-body{flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#e2e8f0 transparent}
.drawer-panel{display:flex;flex-direction:column}
.drawer-field-group{padding:20px 24px;border-bottom:1px solid #f8fafc}
.drawer-field-group:last-child{border-bottom:none}
.drawer-field-label{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:#94a3b8;margin-bottom:12px}
.drawer-form label{display:flex;flex-direction:column;gap:4px;font-size:.78rem;font-weight:600;color:#0f172a;margin-bottom:10px}
.drawer-form label:last-of-type{margin-bottom:0}
.drawer-field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.drawer-form input:not([type="checkbox"]):not([type="color"]):not([type="hidden"]){height:38px;padding:0 12px;font-size:.85rem;border:1px solid #e2e8f0;border-radius:var(--r-md);background:#fff;color:#0f172a;font-family:inherit;transition:border-color .12s,box-shadow .12s;width:100%}
.drawer-form input:not([type="checkbox"]):not([type="color"]):not([type="hidden"]):focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(245,158,11,.12)}
.drawer-form input[type="color"]{height:38px;padding:2px 6px;cursor:pointer;width:100%;border:1px solid #e2e8f0;border-radius:var(--r-md)}
.drawer-form-footer{padding:16px 24px;border-top:1px solid #f1f5f9;display:flex;justify-content:flex-end;gap:8px;background:#fafbfc;flex-shrink:0}
.drawer-account-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid #f8fafc;gap:8px;flex-wrap:wrap}
.drawer-account-row:last-child{border-bottom:none;padding-bottom:0}
.drawer-account-email{font-size:.82rem;font-weight:600;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.drawer-account-actions{display:flex;gap:5px;flex-wrap:wrap;flex-shrink:0}

/* Checkbox field (shared) */
.checkbox-field{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.84rem;color:var(--text);font-weight:500;padding:5px 8px;border-radius:var(--r-sm);transition:background .1s;margin:0}
.checkbox-field:hover{background:#f8fafc}
.checkbox-field input[type="checkbox"]{width:16px;height:16px;flex-shrink:0;accent-color:var(--accent);cursor:pointer}

/* ── Super hero v2 ──────────────────────────────────────────── */
.s2-hero{background:linear-gradient(135deg,#0c111d 0%,#111827 55%,#0f172a 100%);border-radius:20px;padding:28px 32px;position:relative;overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.2)}
.s2-hero::before{content:'';position:absolute;top:-80px;right:-80px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(245,158,11,.12) 0%,transparent 70%);pointer-events:none}
.s2-hero::after{content:'';position:absolute;bottom:-60px;left:20%;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(5,150,105,.08) 0%,transparent 70%);pointer-events:none}
.s2-hero-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px;flex-wrap:wrap;position:relative;z-index:1}
.s2-hero-title{margin:0;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:900;color:#fff;letter-spacing:-.04em;line-height:1.1}
.s2-hero-sub{font-size:.84rem;color:rgba(255,255,255,.45);margin-top:5px}
.s2-mrr{text-align:right}
.s2-mrr-val{font-size:2.2rem;font-weight:900;color:var(--accent);letter-spacing:-.06em;line-height:1}
.s2-mrr-lbl{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.35);margin-top:2px}
.s2-kpi-row{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;position:relative;z-index:1}
.s2-kpi{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);border-radius:var(--r-lg);padding:14px 14px 12px;transition:background .15s}
.s2-kpi:hover{background:rgba(255,255,255,.09)}
.s2-kpi-val{font-size:1.6rem;font-weight:900;color:#fff;letter-spacing:-.05em;line-height:1;margin-bottom:4px}
.s2-kpi-lbl{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.38)}
.s2-kpi--mrr .s2-kpi-val{color:#34d399}
.s2-kpi--active .s2-kpi-val{color:var(--accent)}

/* ── Analytics cockpit v2 ─────────────────────────────────── */
.s2-analytics{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
.s2-panel{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--r-lg);padding:18px;box-shadow:var(--card-shadow)}
.s2-panel-title{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:14px;display:flex;align-items:center;justify-content:space-between}
.s2-panel-title span{font-size:.7rem;font-weight:600;color:var(--text);background:#f1f5f9;padding:2px 7px;border-radius:var(--r-pill);text-transform:none;letter-spacing:0}

/* Revenue rows */
.s2-rev-row{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}
.s2-rev-row:last-child{margin-bottom:0}
.s2-rev-head{display:flex;justify-content:space-between;align-items:baseline}
.s2-rev-name{font-size:.82rem;font-weight:600;color:var(--text)}
.s2-rev-count{font-size:.7rem;color:var(--text-muted)}
.s2-rev-val{font-size:.82rem;font-weight:800;color:var(--ok)}
.s2-rev-bar{height:5px;border-radius:var(--r-pill);background:#f1f5f9;overflow:hidden}
.s2-rev-bar-fill{height:100%;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--accent),var(--accent-dark));transition:width .4s}

/* Top list */
.s2-top-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #f8fafc}
.s2-top-item:last-child{border-bottom:none;padding-bottom:0}
.s2-top-rank{width:22px;height:22px;border-radius:50%;background:#f1f5f9;color:var(--text-muted);font-size:.7rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.s2-top-rank.is-1{background:var(--accent-bg);color:var(--accent-dark)}
.s2-top-rank.is-2{background:#f5f3ff;color:#7c3aed}
.s2-top-rank.is-3{background:#ecfdf5;color:var(--ok)}
.s2-top-name{font-size:.84rem;font-weight:700;color:var(--text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.s2-top-val{font-size:.84rem;font-weight:800;color:var(--ok);flex-shrink:0}

/* Priority alerts */
.s2-alert-row{display:flex;gap:8px;align-items:flex-start;padding:8px;border-radius:var(--r-sm);background:#fff;border:1px solid var(--card-border);margin-bottom:6px}
.s2-alert-row:last-child{margin-bottom:0}
.s2-alert-badge{flex-shrink:0;padding:2px 7px;border-radius:var(--r-pill);font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:var(--warn-bg);color:var(--warn);margin-top:1px}
.s2-alert-label{font-size:.82rem;font-weight:700;color:var(--text)}
.s2-alert-text{font-size:.74rem;color:var(--text-muted)}
.s2-no-alerts{display:flex;align-items:center;gap:7px;font-size:.82rem;color:var(--ok);font-weight:600;padding:6px 0}

/* ── Responsive super admin v2 ────────────────────────────── */
@media(max-width:1200px){
  .s2-kpi-row{grid-template-columns:repeat(3,1fr)}
  .src-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
  .s2-analytics{grid-template-columns:1fr 1fr}
  .s2-analytics .s2-panel:last-child{grid-column:span 2}
}
@media(max-width:900px){
  .s2-kpi-row{grid-template-columns:repeat(3,1fr)}
  .s2-analytics{grid-template-columns:1fr}
  .s2-analytics .s2-panel:last-child{grid-column:span 1}
  .src-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
  .wiz-mod-grid{grid-template-columns:repeat(2,1fr)}
  .wiz-grid-2,.wiz-grid-3{grid-template-columns:1fr}
  .drawer-field-row{grid-template-columns:1fr}
}
@media(max-width:640px){
  .s2-hero{border-radius:var(--r-lg);padding:20px}
  .s2-kpi-row{grid-template-columns:repeat(2,1fr)}
  .s2-hero-title{font-size:1.5rem}
  .s2-mrr-val{font-size:1.6rem}
  .wiz-steps-row{gap:0}
  .wiz-step-label{display:none}
  .wiz-step-connector{width:20px}
  .src-grid{grid-template-columns:1fr}
  .restaurant-drawer{width:100vw}
  .src-edit-form fieldset{grid-template-columns:1fr}
}
}

/* ═══════════════════════════════════════════════════════════════
   PREMIUM CARDS — Restaurant grid + Detail view
   Inspiré Maison Saclay · Linear · Stripe · Vercel
═══════════════════════════════════════════════════════════════ */

/* ── Premium card grid ──────────────────────────────────────── */
.prem-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}

.prem-card{background:#fff;border-radius:22px;border:1px solid rgba(0,0,0,.06);overflow:hidden;cursor:pointer;position:relative;
  box-shadow:0 2px 6px rgba(0,0,0,.04),0 8px 28px rgba(0,0,0,.06);
  transition:transform 280ms cubic-bezier(.22,1,.36,1),box-shadow 280ms cubic-bezier(.22,1,.36,1)}
.prem-card:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 12px 40px rgba(0,0,0,.12),0 4px 12px rgba(0,0,0,.06)}
.prem-card.is-suspended{opacity:.75;filter:grayscale(.4)}

/* Hero — gradient personnalisé */
.prem-card-hero{height:130px;position:relative;overflow:hidden;flex-shrink:0}
.prem-card-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,0) 40%,rgba(0,0,0,.35) 100%)}

/* Orbs de lumière en fond */
.prem-card-orb{position:absolute;border-radius:50%;pointer-events:none;opacity:.45;filter:blur(28px)}
.prem-card-orb-1{width:140px;height:140px;top:-30px;right:-20px;background:radial-gradient(circle,rgba(255,255,255,.55),transparent)}
.prem-card-orb-2{width:100px;height:100px;bottom:-10px;left:20px;background:radial-gradient(circle,rgba(255,255,255,.25),transparent)}

/* Avatar flottant sur la limite hero/body */
.prem-card-avatar-wrap{position:absolute;bottom:-24px;left:20px;z-index:10}
.prem-card-avatar{width:52px;height:52px;border-radius:14px;border:3px solid #fff;box-shadow:0 4px 16px rgba(0,0,0,.18);display:flex;align-items:center;justify-content:center;font-size:1.05rem;font-weight:800;color:#fff;font-family:"Fraunces",serif;letter-spacing:-.02em;background:rgba(0,0,0,.22)}

/* Body */
.prem-card-body{padding:34px 20px 14px}
.prem-card-eyebrow{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;margin-bottom:5px}
.prem-card-name{font-family:"Fraunces",serif;font-size:1.2rem;font-weight:700;color:#0f172a;letter-spacing:-.03em;margin:0 0 3px;line-height:1.15}
.prem-card-city{font-size:.78rem;color:#94a3b8;margin:0;line-height:1.4;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}

/* Revenue strip */
.prem-card-revenue{display:flex;align-items:center;justify-content:space-between;padding:13px 20px;border-top:1px solid #f1f5f9}
.prem-card-mrr-val{font-size:1.4rem;font-weight:900;color:#059669;letter-spacing:-.05em;line-height:1;font-family:"Manrope",sans-serif}
.prem-card-mrr-lbl{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#94a3b8;margin-top:2px}
.prem-card-status{display:inline-flex;align-items:center;gap:5px;font-size:.73rem;font-weight:700;padding:4px 11px;border-radius:999px}
.prem-card-status.on{background:#f0fdf4;color:#15803d}
.prem-card-status.off{background:#fef2f2;color:#b91c1c}
.prem-card-status::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}

/* Stats row — 3 chiffres compacts */
.prem-card-stats{display:flex;border-top:1px solid #f1f5f9}
.prem-stat-item{flex:1;padding:10px 0;text-align:center;border-right:1px solid #f1f5f9}
.prem-stat-item:last-child{border-right:none}
.prem-stat-val{display:block;font-size:1rem;font-weight:800;color:#0f172a;letter-spacing:-.03em;font-family:"Manrope",sans-serif;line-height:1}
.prem-stat-lbl{display:block;font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;margin-top:2px}

/* Module chips — uniquement actifs */
.prem-card-mods{display:flex;gap:5px;flex-wrap:wrap;padding:10px 20px;border-top:1px solid #f1f5f9;min-height:44px;align-items:center}
.pc-mod{display:inline-flex;align-items:center;gap:3px;padding:3px 9px;border-radius:999px;font-size:.69rem;font-weight:700;border:1px solid}
.pc-mod-menu     {background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}
.pc-mod-loyalty  {background:#fff7ed;color:#c2410c;border-color:#fed7aa}
.pc-mod-ordering {background:#f0fdf4;color:#15803d;border-color:#bbf7d0}
.pc-mod-resa     {background:#fefce8;color:#a16207;border-color:#fde68a}
.pc-mod-roulette {background:#fdf4ff;color:#7e22ce;border-color:#e9d5ff}
.pc-mod-boost    {background:#f0f9ff;color:#0369a1;border-color:#bae6fd}
.pc-mod-none{font-size:.74rem;color:#d1d5db;font-style:italic}

/* CTA button */
.prem-card-cta{display:flex;align-items:center;justify-content:space-between;padding:13px 20px;border-top:1px solid #f1f5f9;font-size:.84rem;font-weight:700;color:#0f172a;background:#fafbfc;transition:background .15s,color .15s;letter-spacing:-.01em}
.prem-card-cta svg{transition:transform .22s cubic-bezier(.22,1,.36,1);opacity:.5}
.prem-card:hover .prem-card-cta{background:#f4f6f8;color:#000}
.prem-card:hover .prem-card-cta svg{transform:translateX(5px);opacity:1}

/* ── Restaurant detail view ─────────────────────────────────── */
.resto-detail{animation:rdIn .22s cubic-bezier(.22,1,.36,1) both}
@keyframes rdIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

.rd-back{display:inline-flex;align-items:center;gap:7px;font-size:.84rem;font-weight:600;color:#64748b;background:none;border:1px solid #e2e8f0;border-radius:10px;cursor:pointer;padding:7px 14px;margin-bottom:20px;transition:color .12s,background .12s,border-color .12s}
.rd-back:hover{color:#0f172a;background:#f8fafc;border-color:#cbd5e1}

/* Detail hero */
.rd-hero{border-radius:22px;padding:28px 32px 28px;display:flex;align-items:flex-end;gap:18px;margin-bottom:20px;position:relative;overflow:hidden;min-height:165px;box-shadow:0 8px 32px rgba(0,0,0,.18)}
.rd-hero-orb{position:absolute;border-radius:50%;pointer-events:none;filter:blur(40px)}
.rd-hero-orb-1{width:300px;height:300px;top:-100px;right:-50px;background:rgba(255,255,255,.12)}
.rd-hero-orb-2{width:200px;height:200px;bottom:-60px;left:30%;background:rgba(255,255,255,.06)}
.rd-avatar-lg{width:68px;height:68px;border-radius:18px;border:3px solid rgba(255,255,255,.88);display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:800;color:#fff;font-family:"Fraunces",serif;background:rgba(0,0,0,.22);box-shadow:0 6px 20px rgba(0,0,0,.25);flex-shrink:0;position:relative;z-index:1}
.rd-hero-info{flex:1;position:relative;z-index:1}
.rd-hero-name{font-family:"Fraunces",serif;font-size:1.85rem;font-weight:800;color:#fff;letter-spacing:-.04em;margin:0 0 4px;line-height:1.1}
.rd-hero-city{font-size:.84rem;color:rgba(255,255,255,.65);margin:0}
.rd-hero-right{text-align:right;position:relative;z-index:1;flex-shrink:0}
.rd-hero-mrr{font-family:"Manrope",sans-serif;font-size:2.1rem;font-weight:900;color:#fff;letter-spacing:-.06em;line-height:1}
.rd-hero-mrr-lbl{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:rgba(255,255,255,.5);margin-top:3px}
.rd-hero-status{display:inline-flex;align-items:center;gap:4px;font-size:.74rem;font-weight:700;padding:4px 11px;border-radius:999px;margin-top:6px}
.rd-hero-status.on{background:rgba(16,185,129,.2);color:#6ee7b7;border:1px solid rgba(16,185,129,.3)}
.rd-hero-status.off{background:rgba(239,68,68,.18);color:#fca5a5;border:1px solid rgba(239,68,68,.28)}
.rd-hero-status::before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}

/* Segment control (tabs) */
.rd-tabs{display:flex;gap:0;background:#fff;border-radius:14px;border:1px solid #e8ecf0;padding:5px;margin-bottom:20px;box-shadow:0 1px 4px rgba(0,0,0,.04);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.rd-tabs::-webkit-scrollbar{display:none}
.rd-tab{flex:1;height:36px;padding:0 18px;border-radius:10px;border:none;background:none;font-size:.84rem;font-weight:600;color:#64748b;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s;white-space:nowrap;letter-spacing:-.01em}
.rd-tab:not(.is-active):hover{background:#f8fafc;color:#0f172a}
.rd-tab.is-active{background:#0f172a;color:#fff;box-shadow:0 2px 10px rgba(15,23,42,.2)}

/* Tab panels */
.rd-panel{display:none}
.rd-panel.is-active{display:block;animation:rdIn .18s ease}

/* Overview */
.rd-ov-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}
.rd-ov-tile{background:#fff;border:1px solid #e8ecf0;border-radius:16px;padding:20px;text-align:center;box-shadow:0 1px 4px rgba(0,0,0,.04)}
.rd-ov-tile strong{display:block;font-size:1.7rem;font-weight:900;color:#0f172a;letter-spacing:-.05em;line-height:1;font-family:"Manrope",sans-serif;margin-bottom:4px}
.rd-ov-tile span{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#94a3b8}

/* Modules in detail */
.rd-mod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.rd-mod-tile{background:#fff;border:2px solid #e8ecf0;border-radius:18px;padding:18px 16px;display:flex;flex-direction:column;gap:6px;transition:border-color .15s,background .15s}
.rd-mod-tile.is-on{border-color:var(--ok);background:#f0fdf4}
.rd-mod-tile-icon{font-size:1.5rem;line-height:1}
.rd-mod-tile-name{font-size:.88rem;font-weight:700;color:#0f172a;letter-spacing:-.01em}
.rd-mod-tile-price{font-size:.74rem;color:#94a3b8}
.rd-mod-badge{display:inline-flex;align-items:center;gap:4px;font-size:.68rem;font-weight:700;padding:2px 8px;border-radius:999px;margin-top:4px;align-self:flex-start}
.rd-mod-badge.on{background:#dcfce7;color:#15803d}
.rd-mod-badge.off{background:#f1f5f9;color:#94a3b8}

/* Accounts in detail */
.rd-accounts-table{background:#fff;border:1px solid #e8ecf0;border-radius:16px;overflow:hidden}
.rd-accounts-head{padding:14px 18px;background:#fafbfc;border-bottom:1px solid #f1f5f9;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#94a3b8}
.rd-account-row{display:flex;align-items:center;gap:10px;padding:12px 18px;border-bottom:1px solid #f8fafc;flex-wrap:wrap}
.rd-account-row:last-child{border-bottom:none}
.rd-account-email{font-size:.86rem;font-weight:600;color:#0f172a;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:120px}
.rd-account-actions{display:flex;gap:6px;flex-shrink:0;flex-wrap:wrap}
.rd-account-actions .btn-outline,.rd-account-actions button{height:28px;padding:0 10px;font-size:.75rem;border-radius:8px}

/* Settings form */
.rd-settings-sections{display:flex;flex-direction:column;gap:14px}
.rd-section-card{background:#fff;border:1px solid #e8ecf0;border-radius:16px;overflow:hidden}
.rd-section-head{padding:14px 18px;background:#fafbfc;border-bottom:1px solid #f1f5f9;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#64748b;display:flex;align-items:center;gap:7px}
.rd-section-head svg{opacity:.5;flex-shrink:0}
.rd-section-body{padding:16px 18px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rd-field{display:flex;flex-direction:column;gap:4px}
.rd-field.full{grid-column:1/-1}
.rd-field label{font-size:.74rem;font-weight:600;color:#334155}
.rd-field input:not([type="checkbox"]):not([type="color"]){height:38px;padding:0 12px;border:1px solid #e2e8f0;border-radius:10px;font-size:.86rem;background:#fafbfc;transition:border-color .15s,box-shadow .15s;font-family:"Manrope",sans-serif}
.rd-field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(245,158,11,.1);background:#fff}
.rd-field input[type="color"]{height:38px;padding:3px 8px;cursor:pointer;border-radius:10px;border:1px solid #e2e8f0}
.rd-settings-footer{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-top:1px solid #f1f5f9;background:#fafbfc}
.rd-mod-checks{padding:16px 18px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.rd-mod-check{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #e2e8f0;border-radius:10px;cursor:pointer;transition:background .12s,border-color .12s;font-size:.84rem;font-weight:600;color:#0f172a}
.rd-mod-check:hover{background:#f8fafc;border-color:#cbd5e1}
.rd-mod-check input[type="checkbox"]{width:16px;height:16px;accent-color:var(--ok);cursor:pointer;flex-shrink:0}

/* Responsive */
@media(max-width:900px){
  .prem-cards-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
  .rd-ov-kpis{grid-template-columns:repeat(3,1fr)}
  .rd-mod-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .prem-cards-grid{grid-template-columns:1fr}
  .rd-hero{flex-direction:column;align-items:flex-start;gap:12px;padding:20px}
  .rd-hero-right{text-align:left}
  .rd-hero-mrr{font-size:1.7rem}
  .rd-ov-kpis{grid-template-columns:repeat(3,1fr);gap:8px}
  .rd-mod-grid{grid-template-columns:1fr 1fr}
  .rd-section-body{grid-template-columns:1fr}
  .rd-field.full{grid-column:1}
  .rd-mod-checks{grid-template-columns:1fr}
  .rd-tabs{gap:0}
}

/* ═══════════════════════════════════════════════════════════════
   CALENDRIER SUPER ADMIN
═══════════════════════════════════════════════════════════════ */

/* View toggle */
.cal-view-toggle{display:flex;background:#f1f5f9;border-radius:var(--r-md);padding:3px;gap:2px}
.cal-view-btn{height:30px;padding:0 14px;border:none;border-radius:9px;background:transparent;color:var(--text-muted);font-size:.78rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s;font-family:inherit}
.cal-view-btn.is-active{background:#fff;color:var(--text);box-shadow:0 1px 4px rgba(0,0,0,.08)}

/* Filters */
.cal-filters{display:flex;gap:6px;flex-wrap:wrap}
.cal-filter-btn{height:30px;padding:0 12px;border-radius:999px;border:1px solid var(--card-border);background:var(--card-bg);color:var(--text-muted);font-size:.76rem;font-weight:600;cursor:pointer;transition:background .12s,color .12s,border-color .12s;font-family:inherit}
.cal-filter-btn.is-active{background:var(--text);color:#fff;border-color:var(--text)}
.cal-filter-btn:hover:not(.is-active){background:#f1f5f9;color:var(--text)}

/* Month header */
.cal-month-header{display:flex;align-items:center;gap:16px;margin-bottom:12px}
.cal-month-title{font-size:1.05rem;font-weight:800;color:var(--text);letter-spacing:-.02em;margin:0;flex:1;text-align:center;font-family:"Fraunces",serif}
.cal-nav-btn{width:34px;height:34px;border-radius:var(--r-md);border:1px solid var(--card-border);background:var(--card-bg);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:background .12s,color .12s}
.cal-nav-btn:hover{background:#f1f5f9;color:var(--text)}

/* Month grid */
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;background:#eef2f7;border-radius:16px;overflow:hidden;border:1px solid #eef2f7}
.cal-day-header{background:#f8fafc;padding:8px 4px;text-align:center;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted)}
.cal-day{background:#fff;min-height:90px;padding:8px 6px 6px;cursor:pointer;transition:background .12s;display:flex;flex-direction:column;gap:3px;position:relative}
.cal-day:hover{background:#f8fafc}
.cal-day.is-other-month{background:#fafbfc;cursor:default}
.cal-day.is-other-month .cal-day-num{color:#d1d5db}
.cal-day.is-today{background:#fffbeb}
.cal-day.has-overdue{background:#fff7f7}
.cal-day-num{font-size:.78rem;font-weight:700;color:var(--text);line-height:1}
.cal-today-dot{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;font-size:.76rem;font-weight:800}
.cal-day-events{display:flex;flex-direction:column;gap:2px;flex:1}
.cal-event{display:flex;align-items:center;gap:4px;padding:2px 6px;border-radius:5px;font-size:.65rem;font-weight:600;border:1px solid;cursor:pointer;overflow:hidden;transition:opacity .1s}
.cal-event:hover{opacity:.82}
.cal-event-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}
.cal-event-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal-event-amount{font-weight:800;flex-shrink:0;margin-left:auto}
.cal-event-more{font-size:.6rem;font-weight:700;color:var(--text-muted);padding:1px 4px}

/* List view */
.cal-list-group{margin-bottom:20px}
.cal-list-date-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--text-muted);margin-bottom:8px;padding:0 2px}
.cal-list-date-label.is-past{color:#ef4444}
.cal-list-item{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px 16px;background:var(--card-bg);border:1px solid var(--card-border);border-left-width:3px;border-radius:var(--r-md);margin-bottom:6px;cursor:pointer;transition:box-shadow .15s,transform .15s;box-shadow:var(--card-shadow)}
.cal-list-item:hover{box-shadow:0 4px 20px rgba(0,0,0,.08);transform:translateX(2px)}
.cal-list-item-left{flex:1;min-width:0}
.cal-list-item-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}
.cal-list-resto{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--accent-dark);margin-bottom:1px}
.cal-list-title{font-size:.9rem;font-weight:700;color:var(--text);line-height:1.3}
.cal-list-note{font-size:.76rem;color:var(--text-muted);margin-top:3px;line-height:1.4}
.cal-list-amount{font-size:1.1rem;font-weight:900;color:var(--ok);letter-spacing:-.03em;line-height:1;font-family:"Manrope",sans-serif}
.cal-status-badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:.66rem;font-weight:700;border:1px solid}
.cal-paid-btn{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--ok);background:var(--ok-bg);color:var(--ok);font-size:.76rem;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s}
.cal-paid-btn:hover{background:var(--ok);color:#fff}

/* Calendar modal */
.cal-modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);backdrop-filter:blur(4px);z-index:210;opacity:0;pointer-events:none;transition:opacity .3s}
.cal-modal-backdrop.is-open{opacity:1;pointer-events:all}
.cal-modal{position:fixed;top:0;right:0;bottom:0;width:min(480px,100vw);background:#fff;z-index:211;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .35s cubic-bezier(.22,1,.36,1);box-shadow:-8px 0 48px rgba(0,0,0,.14);overflow:hidden}
.cal-modal.is-open{transform:translateX(0)}
.cal-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px 18px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0;background:#0c111d}
.cal-modal-body{flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#e2e8f0 transparent}
.cal-modal-footer{display:flex;align-items:center;padding:14px 24px;border-top:1px solid #f1f5f9;background:#fafbfc;flex-shrink:0}

/* Recurrence hint */
.cal-recurrence-hint{display:flex;align-items:flex-start;gap:6px;padding:8px 10px;background:#fffbeb;border:1px solid #fde68a;border-radius:var(--r-sm);font-size:.74rem;color:#92400e;margin-top:8px;line-height:1.45}
.cal-recurrence-hint svg{flex-shrink:0;margin-top:1px;color:#d97706}
.cal-recurrence-badge{display:flex;align-items:center;gap:7px;padding:10px 12px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:var(--r-md);font-size:.8rem;color:#075985;line-height:1.4}
.cal-recurrence-badge strong{font-weight:700}

/* Cal modal textarea */
.cal-modal-body textarea{width:100%;padding:10px 12px;font-size:.85rem;border:1px solid #e2e8f0;border-radius:var(--r-md);resize:vertical;font-family:inherit;color:var(--text);transition:border-color .12s}
.cal-modal-body textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(245,158,11,.12)}
.cal-modal-body select{width:100%;height:38px;padding:0 12px;font-size:.85rem;border:1px solid #e2e8f0;border-radius:var(--r-md);background:#fff;color:var(--text);font-family:inherit;transition:border-color .12s;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}
.cal-modal-body select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(245,158,11,.12)}

@media(max-width:900px){
  .cal-day{min-height:70px}
  .cal-event-amount{display:none}
}
@media(max-width:640px){
  .cal-day{min-height:56px;padding:5px 3px 4px}
  .cal-day-header{font-size:.55rem;padding:6px 2px}
  .cal-grid{gap:1px}
  .cal-event-title{display:none}
  .cal-modal{width:100vw}
  .cal-day-num{font-size:.72rem}
}

/* ═══════════════════════════════════════════════════════════════
   DISH DRAWER — Panneau latéral droit (div, pas dialog)
   Remplace les dialogs natifs non repositionnables
═══════════════════════════════════════════════════════════════ */
.dish-drawer {
  position: fixed;
  top: 0; right: 0; bottom: 0;
  width: min(580px, 100vw);
  background: #fff;
  z-index: 400;
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  visibility: hidden;
  pointer-events: none;
  transition: transform .38s cubic-bezier(.22,1,.36,1), visibility 0s linear .38s;
  box-shadow: -8px 0 56px rgba(0,0,0,.18), -2px 0 8px rgba(0,0,0,.08);
  border-radius: 20px 0 0 20px;
  overflow: hidden;
}
.dish-drawer.is-open {
  transform: translateX(0);
  visibility: visible;
  pointer-events: auto;
  transition: transform .38s cubic-bezier(.22,1,.36,1), visibility 0s;
}
.dish-drawer form {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  overflow: hidden;
}
.dish-drawer .dish-modal-body {
  flex: 1;
  overflow-y: auto;
  min-height: 0;
  scrollbar-width: thin;
  scrollbar-color: #e2e8f0 transparent;
}
.dish-drawer .dish-modal-foot {
  flex-shrink: 0;
}

/* Backdrop */
.dish-drawer-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.52);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  z-index: 399;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .3s, visibility 0s linear .3s;
}
.dish-drawer-backdrop.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
  transition: opacity .3s, visibility 0s;
}

/* Mobile : plein écran */
@media (max-width: 640px) {
  .dish-drawer {
    width: 100vw;
    border-radius: 0;
  }
}

/* ═══════════════════════════════════════════════════════════════
   SUPPLEMENTS PAGE — Cards + Drawer system (refonte premium)
═══════════════════════════════════════════════════════════════ */

/* ── Header ── */
.sg-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:32px;flex-wrap:wrap}
.sg-page-title{font-size:1.55rem;font-weight:800;color:var(--text);letter-spacing:-.04em;margin:6px 0 4px;line-height:1.15}
.sg-page-subtitle{font-size:.85rem;color:var(--text-muted);margin:0;max-width:480px}

/* ── Group grid ── */
.sg-group-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}

/* ── Group card ── */
.sg-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);padding:20px 20px 20px 24px;display:flex;align-items:center;gap:16px;cursor:pointer;transition:box-shadow .18s,border-color .18s,transform .15s;user-select:none}
.sg-card:hover{box-shadow:0 4px 24px rgba(0,0,0,.1),0 1px 4px rgba(0,0,0,.06);border-color:rgba(245,158,11,.3);transform:translateY(-1px)}
.sg-card:active{transform:translateY(0)}
.sg-card-body{flex:1;min-width:0}
.sg-card-name{font-size:.97rem;font-weight:700;color:var(--text);letter-spacing:-.02em;margin:0 0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sg-card-meta{font-size:.78rem;color:var(--text-muted);margin-bottom:10px;font-weight:500}
.sg-meta-count{font-weight:700;color:var(--accent-dark)}
.sg-card-badges{display:flex;flex-wrap:wrap;gap:5px}
.sg-card-arrow{color:#cbd5e1;flex-shrink:0;transition:color .15s,transform .15s;display:flex;align-items:center}
.sg-card:hover .sg-card-arrow{color:var(--accent);transform:translateX(3px)}

/* ── Badges ── */
.sg-badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:var(--r-pill);font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.sg-badge--required{background:rgba(245,158,11,.12);color:var(--accent-dark)}
.sg-badge--optional{background:#f1f5f9;color:#64748b}
.sg-badge--type{background:rgba(99,102,241,.08);color:#4338ca}
.sg-badge--order{background:#f1f5f9;color:#94a3b8}
.sg-badge--active{background:rgba(16,185,129,.1);color:#059669}
.sg-badge--inactive{background:#f1f5f9;color:#94a3b8}

/* ── Empty page state ── */
.sg-empty-page{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;text-align:center;gap:12px}
.sg-empty-icon{width:64px;height:64px;border-radius:18px;background:var(--accent-bg);display:flex;align-items:center;justify-content:center;color:var(--accent-dark);margin-bottom:4px}
.sg-empty-title{font-size:1.05rem;font-weight:700;color:var(--text);margin:0}
.sg-empty-sub{font-size:.85rem;color:var(--text-muted);margin:0 0 8px;max-width:340px}

/* ── Supplement group drawer ── */
.supp-group-drawer{position:fixed;top:0;right:0;bottom:0;width:min(700px,100vw);background:#fff;z-index:400;display:flex;flex-direction:column;transform:translateX(100%);visibility:hidden;pointer-events:none;transition:transform .38s cubic-bezier(.22,1,.36,1),visibility 0s linear .38s;box-shadow:-8px 0 56px rgba(0,0,0,.18),-2px 0 8px rgba(0,0,0,.08);border-radius:20px 0 0 20px;overflow:hidden}
.supp-group-drawer.is-open{transform:translateX(0);visibility:visible;pointer-events:auto;transition:transform .38s cubic-bezier(.22,1,.36,1),visibility 0s}

/* ── Drawer icon ── */
.sg-drawer-icon-wrap{width:46px;height:46px;border-radius:12px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.6);flex-shrink:0}

/* ── Stats bar ── */
.sg-drawer-statsbar{display:flex;align-items:center;gap:10px;padding:12px 24px;background:#fafbfc;border-bottom:1px solid var(--card-border);font-size:.78rem;font-weight:600;color:var(--text-muted);flex-shrink:0;flex-wrap:wrap}
.sg-dsbar-sep{color:#e2e8f0}
.sg-dsbar-item strong{color:var(--text);font-weight:700}
.sg-dsbar-required{color:var(--accent-dark)}

/* ── Tab count ── */
.sg-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:var(--accent-bg);color:var(--accent-dark);border-radius:var(--r-pill);font-size:.6rem;font-weight:700;margin-left:2px}

/* ── Drawer body ── */
.sg-drawer-body{flex:1;overflow-y:auto;min-height:0;scrollbar-width:thin;scrollbar-color:#e2e8f0 transparent}

/* ── Tab panel ── */
.sg-tab-panel{display:none}
.sg-tab-panel.is-active{display:block}

/* ── Form sections ── */
.sg-form-section{padding:28px 28px 24px;border-bottom:1px solid var(--card-border)}
.sg-form-section:last-child{border-bottom:none}
.sg-form-section-title{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:20px}
.sg-drawer-form{display:flex;flex-direction:column;gap:16px}
.sg-field-label{display:flex;flex-direction:column;gap:6px;font-size:.78rem;font-weight:600;color:#0f172a}
.sg-checkbox-label{display:flex;align-items:center;gap:10px;font-size:.84rem;font-weight:500;color:var(--text);cursor:pointer;padding:10px 14px;border-radius:var(--r-md);border:1px solid var(--card-border);background:#fafbfc;transition:border-color .12s}
.sg-checkbox-label:hover{border-color:rgba(245,158,11,.3)}
.sg-checkbox-label input{width:16px;height:16px;flex-shrink:0}
.sg-form-footer{padding-top:4px;display:flex;justify-content:flex-end}

/* ── Danger zone ── */
.sg-danger-zone{padding:24px 28px}
.sg-danger-zone-title{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--err);margin-bottom:8px}
.sg-danger-zone-text{font-size:.82rem;color:var(--text-muted);margin-bottom:16px}

/* ── Supplement items list ── */
.sg-items-list{display:flex;flex-direction:column}
.sg-item{border-bottom:1px solid #f8fafc;transition:background .12s}
.sg-item:last-child{border-bottom:none}
.sg-item--inactive .sg-item-name{opacity:.5}
.sg-item-main{display:flex;align-items:center;gap:12px;padding:14px 24px}
.sg-item-main:hover{background:#fafbfc}
.sg-item-info{flex:1;min-width:0;display:flex;align-items:center;gap:10px}
.sg-item-name{font-size:.9rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sg-item-price{font-size:.82rem;font-weight:600;color:var(--accent-dark);white-space:nowrap;background:var(--accent-bg);padding:2px 8px;border-radius:var(--r-pill);flex-shrink:0}
.sg-item-right{display:flex;align-items:center;gap:8px;flex-shrink:0}
.sg-item-order{font-size:.68rem;font-weight:600;color:#94a3b8;letter-spacing:.02em}
.sg-item-edit-btn{width:30px;height:30px;border-radius:var(--r-sm);border:1px solid #e2e8f0;background:#fff;color:#94a3b8;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s,color .12s,border-color .12s;padding:0;flex-shrink:0;line-height:1;font-family:inherit}
.sg-item-edit-btn:hover{background:var(--accent-bg);color:var(--accent-dark);border-color:rgba(245,158,11,.3)}

/* ── Supplement inline edit ── */
.sg-item-edit{display:none;padding:16px 24px 20px;background:#fafbfc;border-top:1px solid #f1f5f9}
.sg-item-edit.is-open{display:block}
.sg-item-edit-form{display:flex;flex-direction:column;gap:12px}
.sg-item-edit-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.sg-item-edit-actions{display:flex;align-items:center;gap:8px;padding-top:4px;flex-wrap:wrap}
.sg-item-edit-actions form.inline{display:contents}

/* ── Items empty state ── */
.sg-items-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;text-align:center;gap:10px;color:var(--text-muted)}
.sg-items-empty p{margin:0;font-size:.85rem}

/* ── Backdrop ── */
.supp-drawer-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.52);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:399;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s,visibility 0s linear .3s}
.supp-drawer-backdrop.is-open{opacity:1;visibility:visible;pointer-events:all;transition:opacity .3s,visibility 0s}

/* ── Mobile ── */
@media (max-width: 640px) {
  .supp-group-drawer{width:100vw;border-radius:0}
  .sg-group-grid{grid-template-columns:1fr}
  .sg-item-edit-grid{grid-template-columns:1fr 1fr}
  .sg-page-header{align-items:flex-start}
  .sg-form-section{padding:20px}
  .sg-item-main{padding:12px 16px}
  .sg-item-edit{padding:12px 16px 16px}
}

/* ═══════════════════════════════════════════════════════════════
   BLOG — Cards + Drawer (refonte premium)
═══════════════════════════════════════════════════════════════ */

/* ── Blog card list ── */
.blog-card-grid{display:flex;flex-direction:column;gap:10px}
.blog-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);padding:16px 20px;display:flex;align-items:center;gap:16px;transition:box-shadow .18s,border-color .18s}
.blog-card:hover{box-shadow:0 4px 20px rgba(0,0,0,.09);border-color:rgba(245,158,11,.2)}

.blog-card-thumb{width:72px;height:72px;border-radius:var(--r-md);overflow:hidden;flex-shrink:0;background:#f8fafc;border:1px solid var(--card-border)}
.blog-card-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.blog-card-thumb-empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#cbd5e1}

.blog-card-content{flex:1;min-width:0}
.blog-card-top{display:flex;align-items:center;gap:10px;margin-bottom:4px;flex-wrap:wrap}
.blog-card-title{font-size:.9rem;font-weight:700;color:var(--text);letter-spacing:-.02em;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:360px}
.blog-card-excerpt{font-size:.8rem;color:var(--text-muted);margin:0 0 6px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.blog-card-meta{display:flex;align-items:center;gap:5px;font-size:.72rem;color:#94a3b8;font-weight:500}

.blog-card-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}
.blog-action-btn{width:34px;height:34px;border-radius:var(--r-sm);border:1px solid #e2e8f0;background:#fff;color:#94a3b8;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s,color .12s,border-color .12s;padding:0;font-family:inherit}
.blog-action-btn:hover{background:#f8fafc;color:var(--text);border-color:#cbd5e1}
.blog-action-btn--active{background:rgba(16,185,129,.06);color:#059669;border-color:rgba(16,185,129,.2)}
.blog-action-btn--active:hover{background:rgba(16,185,129,.12)}
.blog-action-btn--danger{background:rgba(220,38,38,.05);color:#dc2626;border-color:rgba(220,38,38,.18)}
.blog-action-btn--danger:hover{background:rgba(220,38,38,.12)}

/* ── Blog upload zone ── */
.blog-upload-drop{border:2px dashed #e2e8f0;border-radius:var(--r-lg);padding:48px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;transition:border-color .15s,background .15s;background:#fafbfc}
.blog-upload-drop:hover{border-color:rgba(245,158,11,.4);background:rgba(245,158,11,.02)}
.blog-upload-drop-icon{width:56px;height:56px;border-radius:16px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;color:#94a3b8;margin-bottom:4px}
.blog-upload-drop-title{font-size:.9rem;font-weight:700;color:var(--text);margin:0}
.blog-upload-drop-sub{font-size:.8rem;color:var(--text-muted);margin:0}
.blog-upload-btn{display:inline-flex;align-items:center;height:38px;padding:0 18px;border-radius:var(--r-md);background:var(--accent);color:#fff;font-size:.82rem;font-weight:600;cursor:pointer;border:none;transition:background .15s;margin-top:4px}
.blog-upload-btn:hover{background:var(--accent-dark)}
.blog-upload-formats{font-size:.72rem;color:#94a3b8;margin:0}
.blog-upload-preview{position:relative;border-radius:var(--r-lg);overflow:hidden;width:100%;aspect-ratio:16/9;background:#f1f5f9}
.blog-upload-preview img{width:100%;height:100%;object-fit:cover;display:block}
.blog-upload-preview-overlay{position:absolute;inset:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}
.blog-upload-preview:hover .blog-upload-preview-overlay{opacity:1}
.blog-upload-replace-btn{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 16px;border-radius:var(--r-md);background:rgba(255,255,255,.9);color:var(--text);font-size:.82rem;font-weight:600;cursor:pointer;border:none;transition:background .15s}
.blog-upload-replace-btn:hover{background:#fff}

/* ── Blog live preview ── */
.blog-preview-card{border:1px solid var(--card-border);border-radius:var(--r-lg);overflow:hidden;background:#fff}
.blog-preview-img{width:100%;height:140px;object-fit:cover;display:block;border-bottom:1px solid var(--card-border)}
.blog-preview-img-empty{width:100%;height:60px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid var(--card-border)}
.blog-preview-body{padding:14px 16px}
.blog-preview-title{font-size:.9rem;font-weight:700;color:var(--text);letter-spacing:-.02em;margin-bottom:6px;min-height:1.2em}
.blog-preview-content{font-size:.78rem;color:var(--text-muted);line-height:1.55;min-height:1.2em}

/* ── Blog drawer tab panes ── */
.blog-tab-pane{display:none}
.blog-tab-pane.is-active{display:block}

/* ── Blog responsive ── */
@media (max-width: 640px) {
  .blog-card{flex-wrap:wrap;gap:12px}
  .blog-card-thumb{width:56px;height:56px}
  .blog-card-actions{width:100%;justify-content:flex-end}
  .blog-card-title{max-width:none}
}

/* ═══════════════════════════════════════════════════════════════
   ROULETTE — Premium admin UI
═══════════════════════════════════════════════════════════════ */

/* ── Stat row ── */
.rl-stat-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:32px}
.rl-stat-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);padding:18px 20px}
.rl-stat-value{font-size:1.7rem;font-weight:800;color:var(--text);letter-spacing:-.05em;line-height:1}
.rl-stat-label{font-size:.72rem;color:var(--text-muted);font-weight:500;margin-top:5px}

/* ── Sections ── */
.rl-section{margin-bottom:36px}
.rl-section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}
.rl-section-title{font-size:1rem;font-weight:800;color:var(--text);letter-spacing:-.03em;margin:0 0 3px}
.rl-section-sub{font-size:.78rem;color:var(--text-muted);margin:0}

/* ── Settings cards ── */
.rl-settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.rl-setting-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);padding:18px 20px;display:flex;align-items:flex-start;gap:14px}
.rl-setting-card--wide{grid-column:1/-1}
.rl-setting-icon{width:38px;height:38px;border-radius:10px;background:var(--accent-bg,rgba(245,158,11,.08));border:1px solid rgba(245,158,11,.15);display:flex;align-items:center;justify-content:center;color:var(--accent-dark);flex-shrink:0}
.rl-setting-body{flex:1;min-width:0}
.rl-setting-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:8px}
.rl-setting-select{background:transparent;border:none;border-bottom:1.5px solid var(--card-border);border-radius:0;padding:2px 0;font-size:.95rem;font-weight:700;color:var(--text);width:100%;cursor:pointer;outline:none;font-family:inherit;-webkit-appearance:none}
.rl-setting-select:focus{border-bottom-color:var(--accent)}

/* ── Conditions list ── */
.rl-conditions-list{display:flex;flex-direction:column;gap:8px}
.rl-condition-item{display:flex;align-items:center;gap:8px;font-size:.82rem;font-weight:500;padding:8px 12px;border-radius:8px;border:1px solid transparent}
.rl-condition-item--locked{color:#059669;background:rgba(16,185,129,.06);border-color:rgba(16,185,129,.15)}
.rl-condition-item--disabled{color:#94a3b8;background:#fafafa;border-color:#f1f5f9}
.rl-condition-item--toggle{cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;color:var(--text);transition:border-color .15s,background .15s}
.rl-condition-item--toggle:hover{border-color:rgba(245,158,11,.3);background:#fffbeb}
.rl-condition-item--toggle input[type="checkbox"]{width:15px;height:15px;accent-color:var(--accent);flex-shrink:0;margin:0}

/* ── Probability indicator ── */
.rl-prob-indicator{display:flex;flex-direction:column;align-items:center;padding:10px 20px;border-radius:var(--r-lg);border:1.5px solid;flex-shrink:0;min-width:90px}
.rl-prob-indicator--ok{background:rgba(16,185,129,.08);border-color:rgba(16,185,129,.2);color:#059669}
.rl-prob-indicator--warn{background:rgba(245,158,11,.08);border-color:rgba(245,158,11,.25);color:var(--accent-dark)}
.rl-prob-indicator-val{font-size:1.2rem;font-weight:800;letter-spacing:-.04em;line-height:1}
.rl-prob-indicator-label{font-size:.63rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-top:3px;opacity:.8}

/* ── Aperçu card ── */
.rl-apercu-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);padding:20px 24px;margin-bottom:36px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.rl-apercu-icon{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,rgba(245,158,11,.15),rgba(245,158,11,.05));border:1px solid rgba(245,158,11,.2);display:flex;align-items:center;justify-content:center;color:var(--accent-dark);flex-shrink:0}
.rl-apercu-body{flex:1;min-width:0}
.rl-apercu-title{font-size:.85rem;font-weight:700;color:var(--text);margin:0 0 8px;letter-spacing:-.02em}
.rl-apercu-gains{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.rl-apercu-gain-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:var(--r-pill);background:rgba(16,185,129,.08);border:1px solid rgba(16,185,129,.15);color:#059669;font-size:.72rem;font-weight:700}
.rl-apercu-stats{display:flex;align-items:center;gap:14px;font-size:.72rem;color:var(--text-muted);font-weight:500}
.rl-apercu-stat-sep{color:#e2e8f0}

/* ── Slot grid ── */
.rl-slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.rl-slot-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);padding:18px 18px 14px;display:flex;flex-direction:column;gap:6px;transition:box-shadow .18s,border-color .18s}
.rl-slot-card:hover{box-shadow:0 4px 20px rgba(0,0,0,.09);border-color:rgba(245,158,11,.25)}
.rl-slot-card--win{background:rgba(16,185,129,.03);border-color:rgba(16,185,129,.2)}
.rl-slot-card--win:hover{border-color:rgba(16,185,129,.35);box-shadow:0 4px 16px rgba(16,185,129,.08)}
.rl-slot-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.rl-slot-num{font-size:.65rem;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.07em}
.rl-slot-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--r-pill);font-size:.59rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.rl-slot-badge--win{background:rgba(16,185,129,.12);color:#059669}
.rl-slot-badge--lose{background:#f1f5f9;color:#94a3b8}
.rl-slot-label{font-size:.92rem;font-weight:700;color:var(--text);letter-spacing:-.02em;flex:1;line-height:1.35}
.rl-slot-empty{color:#cbd5e1;font-weight:400;font-style:italic}
.rl-slot-prob{font-size:.8rem;font-weight:600;color:var(--text-muted);margin-bottom:4px}
.rl-slot-edit-btn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:var(--r-md);border:1px solid #e2e8f0;background:#f8fafc;color:#64748b;font-size:.74rem;font-weight:600;cursor:pointer;font-family:inherit;transition:background .14s,color .14s,border-color .14s;align-self:flex-start;margin-top:4px}
.rl-slot-edit-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}

/* ── Roulette drawer tabs ── */
.rl-tab-pane{display:none}
.rl-tab-pane.is-active{display:block}

/* ── Form footer ── */
.rl-form-footer{padding:4px 0 32px;display:flex;align-items:center;justify-content:flex-end;gap:12px}

/* ── Responsive ── */
@media (max-width: 640px) {
  .rl-stat-row{grid-template-columns:1fr 1fr}
  .rl-slots-grid{grid-template-columns:1fr 1fr}
  .rl-settings-grid{grid-template-columns:1fr}
  .rl-setting-card--wide{grid-column:auto}
  .rl-section-header{align-items:flex-start}
  .rl-apercu-card{flex-direction:column;align-items:flex-start}
}

/* ═══════════════════════════════════════════════════════════════
   ANALYTICS / STATS — Premium UI
═══════════════════════════════════════════════════════════════ */

/* ── Hero CA ── */
.an-hero-ca{background:var(--text);color:#fff;border-radius:var(--card-radius);padding:22px 28px;flex-shrink:0;min-width:210px}
.an-hero-ca-label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;opacity:.55;margin-bottom:8px}
.an-hero-ca-value{font-size:2rem;font-weight:800;letter-spacing:-.06em;line-height:1}
.an-hero-ca-sub{font-size:.76rem;opacity:.5;margin-top:7px}

/* ── KPI grid ── */
.an-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-bottom:36px}
.an-kpi-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);padding:18px 18px 16px;display:flex;flex-direction:column;transition:box-shadow .18s,border-color .18s}
.an-kpi-card:hover{box-shadow:0 4px 20px rgba(0,0,0,.09);border-color:rgba(245,158,11,.2)}
.an-kpi-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;flex-shrink:0}
.an-kpi-value{font-size:1.55rem;font-weight:800;color:var(--text);letter-spacing:-.05em;line-height:1}
.an-kpi-label{font-size:.71rem;color:var(--text-muted);font-weight:500;margin-top:4px}

/* ── Panel layout ── */
.an-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}
.an-panel{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);padding:22px 24px}
.an-panel-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px;gap:12px;flex-wrap:wrap}
.an-panel-title{font-size:.92rem;font-weight:800;color:var(--text);letter-spacing:-.02em;margin:0}
.an-panel-sub{font-size:.73rem;color:var(--text-muted);margin:3px 0 0}
.an-panel-chip{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--r-pill);background:#f1f5f9;color:#64748b;font-size:.68rem;font-weight:700;letter-spacing:.03em;white-space:nowrap;flex-shrink:0}

/* ── Empty state inside panel ── */
.an-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;text-align:center;gap:6px;color:var(--text-muted)}
.an-empty-icon{width:44px;height:44px;border-radius:12px;background:#f8fafc;display:flex;align-items:center;justify-content:center;color:#cbd5e1;margin-bottom:6px}
.an-empty p{margin:0;font-size:.8rem}
.an-empty strong{font-size:.84rem;color:var(--text);margin:0;font-weight:700}

/* ── Ranking list ── */
.an-rank-list{display:flex;flex-direction:column;gap:13px}
.an-rank-item{display:flex;align-items:center;gap:10px}
.an-rank-hidden{display:none}
.an-rank-clicks{color:#94a3b8;font-weight:500;font-size:.8em}
.an-show-more-btn{background:none;border:1.5px solid #e2e8f0;border-radius:8px;padding:9px 20px;font-size:.85rem;font-weight:600;color:#64748b;cursor:pointer;transition:border-color .15s,color .15s}
.an-show-more-btn:hover{border-color:#f59e0b;color:#d97706}
.an-rank-num{width:24px;height:24px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:800;flex-shrink:0;color:#fff}
.an-rank-1{background:#f59e0b}
.an-rank-2{background:#94a3b8}
.an-rank-3{background:#b87333}
.an-rank-4{background:#e2e8f0;color:#64748b}
.an-rank-body{flex:1;min-width:0}
.an-rank-name{font-size:.82rem;font-weight:600;color:var(--text);margin-bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.an-rank-bar-wrap{height:4px;background:#f1f5f9;border-radius:2px;overflow:hidden}
.an-rank-bar{height:4px;border-radius:2px;background:var(--accent);transition:width .8s cubic-bezier(.22,1,.36,1)}
.an-rank-count{font-size:.75rem;font-weight:700;color:var(--text-muted);flex-shrink:0;min-width:40px;text-align:right}

/* ── Opportunities ── */
.an-opp-list{display:flex;flex-direction:column;gap:14px}
.an-opp-item{display:flex;align-items:center;gap:10px}
.an-opp-badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:var(--r-pill);background:rgba(245,158,11,.1);color:var(--accent-dark);font-size:.63rem;font-weight:700;white-space:nowrap;flex-shrink:0;border:1px solid rgba(245,158,11,.2)}
.an-opp-body{flex:1;min-width:0}
.an-opp-name{font-size:.83rem;font-weight:600;color:var(--text);margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.an-opp-meta{font-size:.72rem;color:var(--text-muted);display:flex;gap:6px;align-items:center}

/* ── Hours bar chart ── */
.an-hours-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:8px;align-items:end;margin-top:4px}
.an-hour-col{display:flex;flex-direction:column;align-items:center;gap:4px}
.an-hour-bar-wrap{height:80px;width:100%;display:flex;align-items:flex-end}
.an-hour-bar{width:100%;border-radius:4px 4px 0 0;background:var(--accent);opacity:.7;min-height:4px;transition:height .8s cubic-bezier(.22,1,.36,1)}
.an-hour-bar:hover{opacity:1}
.an-hour-count{font-size:.62rem;color:var(--text-muted);font-weight:600}
.an-hour-label{font-size:.63rem;font-weight:600;color:var(--text-muted);text-align:center;line-height:1.2}

/* ── Review list ── */
.an-review-list{display:flex;flex-direction:column;gap:12px}
.an-review-item{padding:14px 16px;border-radius:var(--r-lg);background:#fafafa;border:1px solid #f1f5f9}
.an-review-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:6px}
.an-review-dish{font-size:.87rem;font-weight:700;color:var(--text);margin:0}
.an-review-meta{font-size:.71rem;color:var(--text-muted);margin:3px 0 0}
.an-review-stars{display:flex;gap:2px;flex-shrink:0;margin-top:2px}
.an-review-star{width:13px;height:13px}
.an-review-comment{font-size:.8rem;color:#64748b;margin:6px 0 0;line-height:1.5;font-style:italic}

/* ── Leaderboard ── */
.an-leader-list{display:flex;flex-direction:column;gap:9px}
.an-leader-item{display:flex;align-items:center;gap:11px;padding:11px 13px;border-radius:var(--r-lg);border:1px solid var(--card-border);background:#fff;transition:border-color .15s,box-shadow .15s}
.an-leader-item:hover{border-color:rgba(245,158,11,.2);box-shadow:0 2px 10px rgba(0,0,0,.05)}
.an-leader-medal{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800;flex-shrink:0;color:#fff}
.an-leader-1{background:#f59e0b}
.an-leader-2{background:#94a3b8}
.an-leader-3{background:#b87333}
.an-leader-n{background:#f1f5f9;color:#64748b;font-size:.72rem}
.an-leader-name{font-size:.85rem;font-weight:700;color:var(--text);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.an-leader-stats{display:flex;gap:5px;flex-wrap:wrap;flex-shrink:0}
.an-leader-chip{display:inline-flex;align-items:center;padding:2px 7px;border-radius:var(--r-pill);background:#f8fafc;border:1px solid #e2e8f0;font-size:.65rem;font-weight:600;color:#64748b;white-space:nowrap}

/* ── Roulette mini stats ── */
.an-rl-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.an-rl-stat{text-align:center;padding:12px 8px;border-radius:var(--r-lg);background:rgba(245,158,11,.05);border:1px solid rgba(245,158,11,.12)}
.an-rl-stat-val{font-size:1.25rem;font-weight:800;color:var(--text);letter-spacing:-.04em}
.an-rl-stat-label{font-size:.66rem;color:var(--text-muted);font-weight:500;margin-top:3px}

/* ── Google panel ── */
.an-google-ok,.an-google-notok{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--r-lg);margin-bottom:14px}
.an-google-ok{background:rgba(16,185,129,.06);border:1px solid rgba(16,185,129,.15)}
.an-google-notok{background:rgba(245,158,11,.06);border:1px solid rgba(245,158,11,.18)}
.an-google-ok-icon,.an-google-notok-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.an-google-ok-icon{background:rgba(16,185,129,.12);color:#059669}
.an-google-notok-icon{background:rgba(245,158,11,.12);color:var(--accent-dark)}
.an-google-ok strong{font-size:.84rem;font-weight:700;color:#059669;display:block}
.an-google-notok strong{font-size:.84rem;font-weight:700;color:var(--accent-dark);display:block}
.an-google-ok span,.an-google-notok span{font-size:.77rem;color:#64748b;display:block;margin-top:2px}

/* ── Category panels grid ── */
.an-cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-bottom:24px}

/* ── Responsive ── */
@media (max-width: 768px) {
  .an-grid-2{grid-template-columns:1fr}
}
@media (max-width: 640px) {
  .an-kpi-grid{grid-template-columns:1fr 1fr}
  .an-cat-grid{grid-template-columns:1fr}
  .an-hours-grid{grid-template-columns:repeat(auto-fill,minmax(56px,1fr))}
  .an-hero-ca{min-width:unset;width:100%}
  .an-rl-stats{grid-template-columns:1fr 1fr}
}

/* ═══════════════════════════════════════════════════
   CRM — CLIENTS PREMIUM
   ═══════════════════════════════════════════════════ */

/* KPI */
.crm-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-bottom:36px}
.crm-kpi-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);padding:18px 18px 16px;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s;box-shadow:var(--card-shadow)}
.crm-kpi-card:hover{box-shadow:0 6px 24px rgba(0,0,0,.07);transform:translateY(-1px)}
.crm-kpi-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;flex-shrink:0}
.crm-kpi-value{font-size:1.55rem;font-weight:800;color:var(--text);letter-spacing:-.05em;line-height:1}
.crm-kpi-label{font-size:.71rem;color:var(--text-muted);font-weight:500;margin-top:4px}

/* Section header */
.crm-section{margin-bottom:36px}
.crm-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}
.crm-section-title{font-size:1rem;font-weight:800;color:var(--text);margin:0 0 4px}
.crm-section-sub{font-size:.75rem;color:var(--text-muted);margin:0}

/* Top clients grid */
.crm-top-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.crm-top-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);padding:20px;box-shadow:var(--card-shadow);display:flex;flex-direction:column;gap:14px;transition:box-shadow .2s,transform .2s}
.crm-top-card:hover{box-shadow:0 8px 28px rgba(0,0,0,.08);transform:translateY(-2px)}
.crm-top-card-header{display:flex;align-items:center;gap:12px}
.crm-top-avatar{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:800;color:#fff;flex-shrink:0;position:relative;letter-spacing:-.01em}
.crm-top-medal{position:absolute;top:-8px;right:-8px;font-size:.9rem;line-height:1}
.crm-top-card-id{display:flex;flex-direction:column;gap:5px}
.crm-top-name{font-size:.92rem;font-weight:700;color:var(--text);margin:0;line-height:1.2}
.crm-top-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:8px}
.crm-top-stat{text-align:center;padding:8px 6px;background:#f8fafc;border-radius:8px;border:1px solid #f1f5f9}
.crm-top-stat-val{display:block;font-size:1.1rem;font-weight:800;color:var(--text);letter-spacing:-.04em;line-height:1}
.crm-top-stat-label{display:block;font-size:.63rem;color:var(--text-muted);margin-top:3px;line-height:1.2}
.crm-top-fav{font-size:.75rem;color:#64748b;display:flex;align-items:center;gap:5px;padding:8px 10px;background:#fffbeb;border:1px solid #fde68a;border-radius:8px}
.crm-top-fav strong{color:#92400e}
.crm-top-last{font-size:.7rem;color:var(--text-muted);display:flex;align-items:center;gap:4px}

/* Badges */
.crm-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--r-pill);font-size:.65rem;font-weight:700;letter-spacing:.02em;white-space:nowrap}
.crm-badge--vip{background:rgba(245,158,11,.12);color:#92400e;border:1px solid rgba(245,158,11,.25)}
.crm-badge--loyal{background:rgba(139,92,246,.1);color:#5b21b6;border:1px solid rgba(139,92,246,.2)}
.crm-badge--active{background:rgba(16,185,129,.1);color:#065f46;border:1px solid rgba(16,185,129,.2)}
.crm-badge--new{background:rgba(59,130,246,.1);color:#1e40af;border:1px solid rgba(59,130,246,.2)}
.crm-badge--inactive{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}

/* Filter bar */
.crm-filter-bar{display:flex;align-items:center;gap:14px;margin-bottom:20px;flex-wrap:wrap}
.crm-search-wrap{position:relative;flex-shrink:0}
.crm-search-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none}
.crm-search-input{padding:8px 12px 8px 34px;border:1.5px solid var(--card-border);border-radius:var(--r-lg);font-size:.83rem;background:#fff;color:var(--text);width:240px;transition:border-color .15s}
.crm-search-input:focus{outline:none;border-color:var(--accent)}
.crm-filter-chips{display:flex;gap:6px;flex-wrap:wrap}

/* Cards grid */
.crm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin-bottom:40px}
.crm-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);padding:18px;box-shadow:var(--card-shadow);display:flex;flex-direction:column;gap:12px;transition:box-shadow .2s,transform .2s}
.crm-card:hover{box-shadow:0 8px 28px rgba(0,0,0,.08);transform:translateY(-2px)}
.crm-card-head{display:flex;align-items:center;gap:10px}
.crm-card-avatar{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:800;color:#fff;flex-shrink:0}
.crm-card-identity{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.crm-card-name{font-size:.88rem;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crm-card-status{font-size:.67rem;font-weight:700;padding:2px 7px;border-radius:var(--r-pill);flex-shrink:0}
.crm-status--on{background:rgba(16,185,129,.1);color:#059669;border:1px solid rgba(16,185,129,.2)}
.crm-status--off{background:#f1f5f9;color:#94a3b8;border:1px solid #e2e8f0}
.crm-card-contact{display:flex;flex-direction:column;gap:4px}
.crm-card-contact-item{font-size:.75rem;color:#64748b;display:flex;align-items:center;gap:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crm-card-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.crm-stat{text-align:center;padding:8px 4px;background:#f8fafc;border-radius:8px;border:1px solid #f1f5f9}
.crm-stat-val{display:block;font-size:1rem;font-weight:800;color:var(--text);letter-spacing:-.04em;line-height:1}
.crm-stat-label{display:block;font-size:.6rem;color:var(--text-muted);margin-top:3px;line-height:1.2}
.crm-card-fav{font-size:.73rem;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:7px;padding:5px 9px;display:flex;align-items:center;gap:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crm-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:4px}
.crm-card-last{font-size:.7rem;color:var(--text-muted);display:flex;align-items:center;gap:4px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.crm-card-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 12px;border-radius:var(--r-lg);background:var(--text);color:#fff;font-size:.75rem;font-weight:700;border:none;cursor:pointer;flex-shrink:0;transition:background .15s,transform .15s}
.crm-card-btn:hover{background:var(--accent);transform:translateX(2px)}

/* Drawer specifics */
.crm-drawer-head-inner{display:flex;align-items:center;gap:14px;flex:1;min-width:0}
.crm-drawer-avatar{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.15rem;font-weight:800;color:#fff;flex-shrink:0}
.crm-drawer-name{font-size:1rem;font-weight:800;color:var(--text);margin:0 0 4px;line-height:1.2}
.crm-drawer-meta{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:.75rem;color:#64748b}
.crm-drawer-meta span::before{content:'·';margin-right:6px;color:#cbd5e1}
.crm-drawer-meta span:first-child::before{content:none}

/* Tab panes */
.crm-tab-pane{display:none}
.crm-tab-pane.is-active{display:block}

/* Info rows */
.crm-info-section{margin-bottom:28px}
.crm-info-section-title{font-size:.75rem;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--card-border)}
.crm-info-rows{display:flex;flex-direction:column;gap:0}
.crm-info-row{display:flex;align-items:baseline;gap:12px;padding:9px 0;border-bottom:1px solid #f8fafc}
.crm-info-row:last-child{border-bottom:none}
.crm-info-label{font-size:.75rem;color:var(--text-muted);font-weight:500;flex-shrink:0;width:130px}
.crm-info-value{font-size:.83rem;color:var(--text);font-weight:500;flex:1}
.crm-info-value a{color:var(--accent-dark);text-decoration:none}
.crm-info-value a:hover{text-decoration:underline}

/* Action buttons (drawer) */
.crm-action-list{display:flex;flex-direction:column;gap:8px}
.crm-action-btn{display:inline-flex;align-items:center;gap:8px;width:100%;padding:11px 14px;border-radius:var(--r-lg);background:#f8fafc;border:1.5px solid #e2e8f0;color:var(--text);font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s;text-align:left}
.crm-action-btn:hover{background:#f1f5f9;border-color:#cbd5e1}
.crm-action-btn--activate{background:rgba(16,185,129,.05);border-color:rgba(16,185,129,.25);color:#065f46}
.crm-action-btn--activate:hover{background:rgba(16,185,129,.1)}
.crm-action-btn--danger{background:rgba(220,38,38,.04);border-color:rgba(220,38,38,.2);color:#dc2626}
.crm-action-btn--danger:hover{background:rgba(220,38,38,.08)}

/* Activity grid */
.crm-activity-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}
.crm-activity-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--r-lg);padding:18px 16px;display:flex;flex-direction:column;gap:4px;border-left:3px solid var(--act-color,var(--accent))}
.crm-activity-val{font-size:1.5rem;font-weight:800;color:var(--text);letter-spacing:-.05em;line-height:1;margin-bottom:4px}
.crm-activity-label{font-size:.75rem;font-weight:700;color:var(--text)}
.crm-activity-sub{font-size:.68rem;color:var(--text-muted);margin-top:3px;line-height:1.4}

/* Timeline */
.crm-timeline{display:flex;flex-direction:column;gap:0;padding-left:16px;border-left:2px solid #f1f5f9}
.crm-timeline-item{display:flex;gap:14px;padding:12px 0;position:relative}
.crm-timeline-item:last-child{padding-bottom:0}
.crm-timeline-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);flex-shrink:0;margin-top:4px;position:absolute;left:-21px;border:2px solid #fff}
.crm-timeline-body{flex:1;min-width:0}
.crm-timeline-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:3px}
.crm-timeline-type{font-size:.78rem;font-weight:700;color:var(--text)}
.crm-timeline-status{font-size:.72rem;color:#64748b;background:#f1f5f9;padding:1px 6px;border-radius:4px}
.crm-timeline-amount{font-size:.78rem;font-weight:700;color:var(--accent-dark);margin-left:auto}
.crm-timeline-items{font-size:.75rem;color:#64748b;margin:2px 0 4px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crm-timeline-date{font-size:.68rem;color:var(--text-muted)}

/* Notes */
.crm-note-form{display:flex;flex-direction:column;gap:10px}
.crm-note-label{font-size:.82rem;font-weight:700;color:var(--text)}
.crm-note-hint{font-size:.75rem;color:var(--text-muted);margin:0}
.crm-note-textarea{border:1.5px solid var(--card-border);border-radius:var(--r-lg);padding:12px 14px;font-size:.83rem;color:var(--text);resize:vertical;min-height:160px;background:#fafafa;transition:border-color .15s;font-family:inherit;line-height:1.6}
.crm-note-textarea:focus{outline:none;border-color:var(--accent);background:#fff}
.crm-note-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}

/* Responsive CRM */
@media (max-width: 768px) {
  .crm-filter-bar{flex-direction:column;align-items:stretch}
  .crm-search-input{width:100%}
  .crm-search-wrap{width:100%}
  .crm-grid{grid-template-columns:1fr}
  .crm-top-grid{grid-template-columns:1fr}
  .crm-kpi-grid{grid-template-columns:1fr 1fr 1fr}
  .crm-info-label{width:100px}
}
@media (max-width: 500px) {
  .crm-kpi-grid{grid-template-columns:1fr 1fr}
  .crm-card-stats{grid-template-columns:repeat(2,1fr)}
}

/* ═══════════════════════════════════════════════════
   FIDÉLITÉ — LOYALTY PREMIUM
   ═══════════════════════════════════════════════════ */

/* Toggle switch */
.loy-toggle-wrap{display:flex;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid #f1f5f9}
.loy-toggle{position:relative;width:44px;height:24px;flex-shrink:0}
.loy-toggle input{opacity:0;width:0;height:0;position:absolute}
.loy-toggle-slider{position:absolute;inset:0;background:#e2e8f0;border-radius:12px;transition:background .2s;cursor:pointer}
.loy-toggle-slider::before{content:'';position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 4px rgba(0,0,0,.18)}
.loy-toggle input:checked+.loy-toggle-slider{background:#10b981}
.loy-toggle input:checked+.loy-toggle-slider::before{transform:translateX(20px)}
.loy-toggle-label{font-size:.88rem;font-weight:600;color:var(--text)}

/* Setup two-col grid */
.loy-setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:32px}
.loy-settings-form{display:flex;flex-direction:column;gap:0}
.loy-form-field{padding:12px 0;border-bottom:1px solid #f8fafc;display:flex;flex-direction:column;gap:5px}
.loy-form-field:last-of-type{border-bottom:none}
.loy-form-label{font-size:.7rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}
.loy-form-input{border:1.5px solid var(--card-border);border-radius:var(--r-lg);padding:9px 12px;font-size:.88rem;color:var(--text);background:#fff;transition:border-color .15s;width:100%;font-family:inherit}
.loy-form-input:focus{outline:none;border-color:var(--accent)}
.loy-form-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:18px;flex-wrap:wrap;border-top:1px solid #f1f5f9;margin-top:4px}

/* Scanner */
.loy-scanner-video-wrap{background:#0f172a;border-radius:var(--r-lg);overflow:hidden;margin:10px 0;min-height:80px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.06)}
.loy-scanner-status-row{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.loy-scanner-dot{width:8px;height:8px;border-radius:50%;background:#94a3b8;flex-shrink:0;transition:background .3s}
.loy-scanner-dot--active{background:#10b981;box-shadow:0 0 0 3px rgba(16,185,129,.2);animation:loy-pulse 1.5s infinite}
@keyframes loy-pulse{0%,100%{box-shadow:0 0 0 3px rgba(16,185,129,.18)}50%{box-shadow:0 0 0 7px rgba(16,185,129,.06)}}
@keyframes pulse-dot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.8)}}
.loy-scanner-btns{display:flex;gap:8px;margin-bottom:16px}
.loy-scanner-form{display:flex;gap:8px}
.loy-scanner-input{flex:1;border:1.5px solid var(--card-border);border-radius:var(--r-lg);padding:9px 12px;font-size:.84rem;color:var(--text);background:#fff;transition:border-color .15s;font-family:inherit}
.loy-scanner-input:focus{outline:none;border-color:var(--accent)}

/* Section head reuse */
.loy-search-bar{display:flex;align-items:center;gap:10px;margin-bottom:18px;flex-wrap:wrap}

/* Client cards grid */
.loy-clients-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:14px;margin-bottom:40px}
.loy-client-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);padding:18px;box-shadow:var(--card-shadow);display:flex;flex-direction:column;gap:13px;transition:box-shadow .2s,transform .2s}
.loy-client-card:hover{box-shadow:0 8px 28px rgba(0,0,0,.08);transform:translateY(-2px)}
.loy-client-card--reward{border-color:rgba(16,185,129,.28);background:linear-gradient(135deg,rgba(16,185,129,.02),transparent)}
.loy-client-head{display:flex;align-items:center;gap:10px}
.loy-client-avatar{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:800;color:#fff;flex-shrink:0}
.loy-client-info{flex:1;min-width:0}
.loy-client-name{font-size:.88rem;font-weight:700;color:var(--text);margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.loy-client-meta{font-size:.7rem;color:var(--text-muted);display:flex;align-items:center;gap:6px}
.loy-last-scan{font-size:.68rem;color:var(--text-muted);display:flex;align-items:center;gap:4px;flex-shrink:0;white-space:nowrap}
.loy-reward-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.25);border-radius:var(--r-pill);color:#065f46;font-size:.64rem;font-weight:700;white-space:nowrap}

/* Progress bar */
.loy-progress-section{display:flex;flex-direction:column;gap:6px}
.loy-progress-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.loy-progress-label{font-size:.75rem;font-weight:600;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.loy-progress-count{font-size:.75rem;font-weight:800;color:var(--text);flex-shrink:0}
.loy-progress-bar-wrap{height:6px;background:#f1f5f9;border-radius:3px;overflow:hidden}
.loy-progress-bar{height:100%;border-radius:3px;background:var(--accent);transition:width .8s cubic-bezier(.22,1,.36,1)}
.loy-progress-bar--full{background:#10b981}
.loy-progress-sub{font-size:.68rem;color:var(--text-muted);line-height:1.4}

/* Stats row */
.loy-client-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.loy-stat{text-align:center;padding:8px 4px;background:#f8fafc;border-radius:8px;border:1px solid #f1f5f9}
.loy-stat-val{display:block;font-size:.95rem;font-weight:800;color:var(--text);letter-spacing:-.04em;line-height:1}
.loy-stat-label{display:block;font-size:.59rem;color:var(--text-muted);margin-top:3px;line-height:1.2}

/* Contact */
.loy-client-contact{display:flex;flex-direction:column;gap:4px}
.loy-client-contact-item{font-size:.73rem;color:#64748b;display:flex;align-items:center;gap:5px}
.loy-client-qr{font-size:.68rem;color:#94a3b8;font-family:ui-monospace,monospace;background:#f8fafc;padding:1px 6px;border-radius:4px;border:1px solid #e2e8f0}

/* Action buttons */
.loy-client-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.loy-action-btn{display:flex;align-items:center;justify-content:center;gap:4px;padding:9px 6px;border-radius:var(--r-lg);font-size:.71rem;font-weight:700;border:1.5px solid;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s;white-space:nowrap;width:100%}
.loy-action-btn--add{background:rgba(16,185,129,.06);border-color:rgba(16,185,129,.2);color:#065f46}
.loy-action-btn--add:hover{background:rgba(16,185,129,.12)}
.loy-action-btn--remove{background:#f8fafc;border-color:#e2e8f0;color:#64748b}
.loy-action-btn--remove:hover{background:#f1f5f9;color:var(--text)}
.loy-action-btn--redeem{background:rgba(245,158,11,.08);border-color:rgba(245,158,11,.25);color:#92400e}
.loy-action-btn--redeem:hover:not(:disabled){background:rgba(245,158,11,.15)}
.loy-action-btn:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}

/* History */
.loy-history-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:9px 13px;background:#f8fafc;border:1px solid #f1f5f9;border-radius:var(--r-lg);font-size:.77rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s}
.loy-history-toggle:hover{background:#f1f5f9;color:var(--text)}
.loy-history-toggle-icon{transition:transform .2s;flex-shrink:0}
.loy-history-panel{display:none}
.loy-history-panel.is-open{display:block}

/* Responsive loyalty */
@media (max-width: 768px) {
  .loy-setup-grid{grid-template-columns:1fr}
  .loy-clients-grid{grid-template-columns:1fr}
  .loy-search-bar{flex-direction:column;align-items:stretch}
}
@media (max-width: 500px) {
  .loy-client-actions{grid-template-columns:1fr}
}

/* ═══════════════════════════════════════════════════
   CUSTOMER DRAWER — Fiche client premium
   (Fix structural CSS + redesign)
   ═══════════════════════════════════════════════════ */

/* Wider than dish drawers for customer profiles */
[id^="customer-drawer"].dish-drawer{width:min(700px,100vw)}

/* ── Header (dark panel) ── */
.dish-drawer-header{background:#0c111d;flex-shrink:0;display:flex;flex-direction:column;position:relative}
.crm-dp-head{display:flex;align-items:flex-start;gap:14px;padding:22px 60px 18px 24px}
.crm-dp-avatar{width:54px;height:54px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:800;color:#fff;flex-shrink:0;opacity:.95}
.crm-dp-identity{flex:1;min-width:0}
.crm-dp-name{font-size:1.1rem;font-weight:800;color:#fff;margin:0 0 8px;letter-spacing:-.03em;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crm-dp-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.crm-dp-status-on{background:rgba(16,185,129,.18);color:#6ee7b7;border:1px solid rgba(16,185,129,.3);padding:2px 9px;border-radius:20px;font-size:.63rem;font-weight:700;letter-spacing:.03em}
.crm-dp-status-off{background:rgba(255,255,255,.1);color:rgba(255,255,255,.45);border:1px solid rgba(255,255,255,.14);padding:2px 9px;border-radius:20px;font-size:.63rem;font-weight:700;letter-spacing:.03em}
.crm-dp-meta{font-size:.72rem;color:rgba(255,255,255,.4);display:flex;flex-wrap:wrap;gap:3px 0;line-height:1.7}
.crm-dp-meta-sep{margin:0 6px;opacity:.3}

/* Close button (absolute top-right) */
.dish-drawer-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:9px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.09);color:rgba(255,255,255,.55);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s;padding:0;flex-shrink:0}
.dish-drawer-close:hover{background:rgba(255,255,255,.18);color:#fff}

/* KPI strip (inside dark header, below identity) */
.crm-dp-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));border-top:1px solid rgba(255,255,255,.08);margin:0}
.crm-dp-kpi{text-align:center;padding:13px 8px;border-right:1px solid rgba(255,255,255,.07)}
.crm-dp-kpi:last-child{border-right:none}
.crm-dp-kpi-val{display:block;font-size:1.2rem;font-weight:800;color:#fff;letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums}
.crm-dp-kpi-label{display:block;font-size:.58rem;color:rgba(255,255,255,.35);margin-top:5px;font-weight:500;text-transform:uppercase;letter-spacing:.07em}

/* ── Tabs ── */
.dish-drawer-tabs{display:flex;gap:0;border-bottom:2px solid #f1f5f9;flex-shrink:0;overflow-x:auto;scrollbar-width:none;background:#fff;padding:0 16px}
.dish-drawer-tabs::-webkit-scrollbar{display:none}
.dish-drawer-tabs .dish-tab-btn{padding:14px 18px;font-size:.81rem}

/* ── Body (scrollable) ── */
.dish-drawer-body{flex:1;overflow-y:auto;min-height:0;padding:24px;scrollbar-width:thin;scrollbar-color:#e2e8f0 transparent}
.dish-drawer-body::-webkit-scrollbar{width:4px}
.dish-drawer-body::-webkit-scrollbar-track{background:transparent}
.dish-drawer-body::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:2px}

/* ── Info cards grid ── */
.crm-dp-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:24px}
.crm-dp-info-card{background:#f8fafc;border:1px solid #f1f5f9;border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:4px;transition:border-color .15s}
.crm-dp-info-card:hover{border-color:#e2e8f0}
.crm-dp-info-card--wide{grid-column:1/-1}
.crm-dp-info-label{font-size:.63rem;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.07em}
.crm-dp-info-val{font-size:.86rem;font-weight:600;color:var(--text);margin:0;line-height:1.4}
.crm-dp-info-val a{color:var(--accent-dark);text-decoration:none}
.crm-dp-info-val a:hover{text-decoration:underline}

/* ── Section divider ── */
.crm-dp-section-title{font-size:.68rem;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--card-border)}

/* ── Activity / History timeline ── */
.crm-dp-timeline{display:flex;flex-direction:column}
.crm-dp-tl-item{display:flex;align-items:flex-start;gap:12px;padding:13px 0;border-bottom:1px solid #f8fafc;position:relative}
.crm-dp-tl-item:last-child{border-bottom:none;padding-bottom:4px}
.crm-dp-tl-icon{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}
.crm-dp-tl-body{flex:1;min-width:0}
.crm-dp-tl-title{font-size:.84rem;font-weight:700;color:var(--text);margin-bottom:3px}
.crm-dp-tl-meta{font-size:.72rem;color:var(--text-muted);display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}
.crm-dp-tl-meta span{display:flex;align-items:center;gap:3px}
.crm-dp-tl-sub{font-size:.7rem;color:#94a3b8;margin-top:3px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crm-dp-tl-amount{font-size:.82rem;font-weight:800;color:#10b981;flex-shrink:0;align-self:center;margin-left:auto}

/* ── Action buttons (info tab) ── */
.crm-dp-actions{display:flex;flex-direction:column;gap:7px}
.crm-dp-action{display:flex;align-items:center;gap:11px;width:100%;padding:12px 14px;border-radius:12px;border:1.5px solid #f1f5f9;background:#f8fafc;font-size:.83rem;font-weight:600;color:var(--text);cursor:pointer;transition:background .15s,border-color .15s;text-align:left}
.crm-dp-action:hover{background:#f1f5f9;border-color:#e2e8f0}
.crm-dp-action-icon{width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#eef2ff;color:#4f46e5}
.crm-dp-action--warning{border-color:rgba(245,158,11,.22);background:rgba(245,158,11,.04);color:#92400e}
.crm-dp-action--warning:hover{background:rgba(245,158,11,.09)}
.crm-dp-action--warning .crm-dp-action-icon{background:rgba(245,158,11,.14);color:#d97706}
.crm-dp-action--danger{border-color:rgba(220,38,38,.18);background:rgba(220,38,38,.03);color:#b91c1c}
.crm-dp-action--danger:hover{background:rgba(220,38,38,.07)}
.crm-dp-action--danger .crm-dp-action-icon{background:rgba(220,38,38,.1);color:#dc2626}

/* ── Notes tab ── */
.crm-dp-note-wrap{display:flex;flex-direction:column;gap:14px;height:100%}
.crm-dp-note-title{font-size:.92rem;font-weight:700;color:var(--text);margin:0 0 3px}
.crm-dp-note-hint{font-size:.75rem;color:var(--text-muted);margin:0}
.crm-dp-note-existing{background:#fffbeb;border:1px solid #fde68a;border-radius:12px;padding:13px 15px;font-size:.82rem;color:#92400e;line-height:1.65;white-space:pre-wrap;word-break:break-word}
.crm-dp-note-existing-label{font-size:.62rem;font-weight:700;color:#d97706;text-transform:uppercase;letter-spacing:.07em;display:block;margin-bottom:6px}
.crm-dp-note-textarea{border:1.5px solid var(--card-border);border-radius:14px;padding:14px 16px;font-size:.84rem;color:var(--text);resize:vertical;min-height:150px;background:#fff;transition:border-color .15s;font-family:inherit;line-height:1.65;width:100%}
.crm-dp-note-textarea:focus{outline:none;border-color:var(--accent)}
.crm-dp-note-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}
.crm-dp-note-counter{font-size:.72rem;color:var(--text-muted)}

/* ── Responsive ── */
@media (max-width: 640px) {
  [id^="customer-drawer"].dish-drawer{width:100vw}
  .crm-dp-info-grid{grid-template-columns:1fr}
  .crm-dp-kpis{grid-template-columns:repeat(3,1fr)}
  .crm-dp-head{padding:18px 52px 14px 16px}
  .dish-drawer-body{padding:16px}
}

/* ═══════════════════════════════════════════════════
   COMMANDES — Page pilotage commandes premium
   ═══════════════════════════════════════════════════ */

/* KPI grid */
.ord-kpi-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:28px}
.ord-kpi-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);padding:18px 16px;display:flex;flex-direction:column;gap:10px;transition:box-shadow .15s,transform .15s;box-shadow:var(--card-shadow)}
.ord-kpi-card:hover{box-shadow:0 4px 24px rgba(0,0,0,.09);transform:translateY(-2px)}
.ord-kpi-icon{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ord-kpi-value{font-size:1.75rem;font-weight:800;color:var(--text);letter-spacing:-.06em;line-height:1;font-variant-numeric:tabular-nums}
.ord-kpi-label{font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}

/* Filter bar */
.ord-filter-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:24px;padding:14px 18px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:14px;box-shadow:var(--card-shadow)}
.ord-filter-label{font-size:.7rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;margin-right:4px;white-space:nowrap}
.ord-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:var(--r-pill);font-size:.75rem;font-weight:600;color:var(--text-muted);background:#f1f5f9;border:1.5px solid transparent;cursor:pointer;transition:all .15s;white-space:nowrap;border:none;font-family:inherit}
.ord-chip:hover{background:#e2e8f0;color:var(--text)}
.ord-chip.is-active{background:var(--text);color:#fff}
.ord-chip-dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.7}

/* Order cards grid */
.ord-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px;align-items:start}
.ord-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);overflow:hidden;transition:box-shadow .15s;display:flex;flex-direction:column}
.ord-card:hover{box-shadow:0 4px 24px rgba(0,0,0,.09)}
.ord-card[data-ord-hidden]{display:none}

/* Card accent stripe by status */
.ord-card[data-ord-status="pending"]{border-top:3px solid #f59e0b}
.ord-card[data-ord-status="confirmed"]{border-top:3px solid #3b82f6}
.ord-card[data-ord-status="preparing"]{border-top:3px solid #8b5cf6}
.ord-card[data-ord-status="ready"]{border-top:3px solid #10b981}
.ord-card[data-ord-status="completed"]{border-top:3px solid #94a3b8}
.ord-card[data-ord-status="cancelled"]{border-top:3px solid #ef4444}

/* Card header */
.ord-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:14px 16px 10px}
.ord-card-id{font-size:.68rem;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}
.ord-card-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ord-card-time{font-size:.72rem;color:var(--text-muted)}

/* Type badge */
.ord-type-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:var(--r-pill);font-size:.65rem;font-weight:700;letter-spacing:.03em}
.ord-type-badge--onsite{background:rgba(59,130,246,.1);color:#2563eb}
.ord-type-badge--cc{background:rgba(6,182,212,.12);color:#0891b2}

/* Status badge */
.ord-status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--r-pill);font-size:.68rem;font-weight:700;letter-spacing:.02em}
.ord-status--pending{background:rgba(245,158,11,.12);color:#b45309}
.ord-status--confirmed{background:rgba(59,130,246,.12);color:#1d4ed8}
.ord-status--preparing{background:rgba(139,92,246,.12);color:#6d28d9}
.ord-status--ready{background:rgba(16,185,129,.12);color:#065f46}
.ord-status--completed{background:#f1f5f9;color:#64748b}
.ord-status--cancelled{background:rgba(239,68,68,.1);color:#b91c1c}

/* Card body */
.ord-card-client{padding:0 16px 10px;display:flex;align-items:center;gap:10px}
.ord-card-avatar{width:36px;height:36px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:800;color:#fff;flex-shrink:0;background:var(--accent)}
.ord-card-identity{min-width:0;flex:1}
.ord-card-name{font-size:.9rem;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ord-card-phone{font-size:.73rem;color:var(--text-muted)}
.ord-card-total{font-size:.95rem;font-weight:800;color:#10b981;white-space:nowrap}

/* Items list */
.ord-card-items{margin:0 16px 10px;padding:10px 12px;background:#f8fafc;border-radius:10px;border:1px solid #f1f5f9}
.ord-card-item{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:.78rem;padding:2px 0}
.ord-card-item-name{color:var(--text);font-weight:500}
.ord-card-item-price{color:var(--text-muted);white-space:nowrap;flex-shrink:0}
.ord-card-item-qty{font-weight:700;color:var(--accent-dark);min-width:22px;flex-shrink:0}

/* Client note + table info */
.ord-card-note{margin:0 16px 10px;padding:8px 11px;background:#fffbeb;border:1px solid #fde68a;border-radius:9px;font-size:.75rem;color:#92400e;line-height:1.5}
.ord-card-info-row{display:flex;align-items:center;gap:6px;padding:3px 16px;font-size:.75rem;color:var(--text-muted)}
.ord-card-info-row svg{flex-shrink:0;opacity:.55}

/* Footer actions */
.ord-card-footer{padding:12px 16px;border-top:1px solid #f1f5f9;background:#fafafa;display:flex;flex-direction:column;gap:10px;margin-top:auto}
.ord-form-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.ord-form-label{font-size:.67rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;min-width:fit-content}
.ord-select{flex:1;min-width:120px;padding:7px 10px;border:1.5px solid #e2e8f0;border-radius:9px;font-size:.78rem;font-weight:600;color:var(--text);background:#fff;cursor:pointer;transition:border-color .15s}
.ord-select:focus{outline:none;border-color:var(--accent)}
.ord-btn-action{padding:7px 14px;border-radius:9px;border:none;font-size:.76rem;font-weight:700;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap;font-family:inherit;flex-shrink:0}
.ord-btn-action--primary{background:var(--text);color:#fff}
.ord-btn-action--primary:hover{background:#1e293b}
.ord-btn-action--ghost{background:#f1f5f9;color:var(--text)}
.ord-btn-action--ghost:hover{background:#e2e8f0}
.ord-btn-action--ticket{background:rgba(245,158,11,.1);color:#b45309}
.ord-btn-action--ticket:hover{background:rgba(245,158,11,.2)}
.ord-note-form{display:flex;flex-direction:column;gap:6px}
.ord-note-textarea{border:1.5px solid #e2e8f0;border-radius:9px;padding:8px 10px;font-size:.77rem;font-family:inherit;line-height:1.5;resize:vertical;min-height:60px;color:var(--text);transition:border-color .15s;background:#fff;width:100%}
.ord-note-textarea:focus{outline:none;border-color:var(--accent)}

/* Empty state */
.ord-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:72px 32px;text-align:center;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow)}
.ord-empty-icon{width:64px;height:64px;border-radius:20px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;color:#94a3b8}
.ord-empty strong{font-size:1.05rem;font-weight:700;color:var(--text)}
.ord-empty p{font-size:.84rem;color:var(--text-muted);max-width:280px;line-height:1.6}

/* History panel */
.ord-history{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);margin-top:24px;overflow:hidden}
.ord-history-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid var(--card-border)}
.ord-history-title{font-size:.95rem;font-weight:700;color:var(--text)}
.ord-history-sub{font-size:.75rem;color:var(--text-muted);margin-top:2px}
.ord-history-chip{background:#f1f5f9;color:var(--text-muted);font-size:.72rem;font-weight:700;padding:4px 10px;border-radius:var(--r-pill)}
.ord-history-list{display:flex;flex-direction:column}
.ord-history-item{display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid #f8fafc;transition:background .1s}
.ord-history-item:last-child{border-bottom:none}
.ord-history-item:hover{background:#fafafa}
.ord-history-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.ord-history-dot--completed{background:#94a3b8}
.ord-history-dot--cancelled{background:#ef4444}
.ord-history-body{flex:1;min-width:0}
.ord-history-name{font-size:.84rem;font-weight:700;color:var(--text)}
.ord-history-detail{font-size:.73rem;color:var(--text-muted);margin-top:1px}
.ord-history-right{text-align:right;flex-shrink:0}
.ord-history-amount{font-size:.84rem;font-weight:700;color:var(--text)}
.ord-history-date{font-size:.7rem;color:var(--text-muted);margin-top:2px}
.ord-history-ticket{background:none;border:1px solid var(--card-border);color:var(--text-muted);padding:4px 10px;border-radius:7px;font-size:.7rem;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s;flex-shrink:0}
.ord-history-ticket:hover{border-color:var(--accent);color:var(--accent-dark)}

/* Module disabled */
.ord-module-off{display:flex;flex-direction:column;align-items:center;gap:14px;padding:80px 32px;text-align:center;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius)}
.ord-module-off-icon{width:72px;height:72px;border-radius:22px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;color:#cbd5e1}
.ord-module-off strong{font-size:1.05rem;font-weight:700;color:var(--text)}
.ord-module-off p{font-size:.83rem;color:var(--text-muted);max-width:320px;line-height:1.65}

/* Responsive orders */
@media (max-width: 1100px) { .ord-kpi-grid{grid-template-columns:repeat(3,1fr)} }
@media (max-width: 720px)  { .ord-kpi-grid{grid-template-columns:repeat(2,1fr)} .ord-grid{grid-template-columns:1fr} }
@media (max-width: 440px)  { .ord-kpi-grid{grid-template-columns:1fr 1fr} .ord-filter-bar{gap:6px} }


/* ═══════════════════════════════════════════════════
   RÉSERVATIONS — Page suivi réservations premium
   ═══════════════════════════════════════════════════ */

/* KPI grid */
.rsv-kpi-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:28px}
.rsv-kpi-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);padding:18px 16px;display:flex;flex-direction:column;gap:10px;transition:box-shadow .15s,transform .15s;box-shadow:var(--card-shadow)}
.rsv-kpi-card:hover{box-shadow:0 4px 24px rgba(0,0,0,.09);transform:translateY(-2px)}
.rsv-kpi-icon{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center}
.rsv-kpi-value{font-size:1.75rem;font-weight:800;color:var(--text);letter-spacing:-.06em;line-height:1;font-variant-numeric:tabular-nums}
.rsv-kpi-label{font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}

/* Filter bar */
.rsv-filter-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:24px;padding:14px 18px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:14px;box-shadow:var(--card-shadow)}
.rsv-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:var(--r-pill);font-size:.75rem;font-weight:600;color:var(--text-muted);background:#f1f5f9;cursor:pointer;transition:all .15s;white-space:nowrap;border:none;font-family:inherit}
.rsv-chip:hover{background:#e2e8f0;color:var(--text)}
.rsv-chip.is-active{background:var(--text);color:#fff}

/* Reservation cards grid */
.rsv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;align-items:start}
.rsv-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);overflow:hidden;transition:box-shadow .15s;display:flex;flex-direction:column}
.rsv-card:hover{box-shadow:0 4px 24px rgba(0,0,0,.09)}
.rsv-card[data-rsv-hidden]{display:none}

/* Accent stripes by status */
.rsv-card[data-rsv-status="pending"]{border-top:3px solid #f59e0b}
.rsv-card[data-rsv-status="confirmed"]{border-top:3px solid #3b82f6}
.rsv-card[data-rsv-status="completed"]{border-top:3px solid #94a3b8}
.rsv-card[data-rsv-status="cancelled"]{border-top:3px solid #ef4444}

/* Card header */
.rsv-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:14px 16px 10px}
.rsv-card-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}

/* Type badge */
.rsv-type-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:var(--r-pill);font-size:.65rem;font-weight:700}
.rsv-type-badge--table{background:rgba(59,130,246,.1);color:#2563eb}
.rsv-type-badge--event{background:rgba(139,92,246,.12);color:#6d28d9}

/* Status badge */
.rsv-status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--r-pill);font-size:.68rem;font-weight:700}
.rsv-status--pending{background:rgba(245,158,11,.12);color:#b45309}
.rsv-status--confirmed{background:rgba(59,130,246,.12);color:#1d4ed8}
.rsv-status--completed{background:#f1f5f9;color:#64748b}
.rsv-status--cancelled{background:rgba(239,68,68,.1);color:#b91c1c}

/* Client info */
.rsv-card-client{padding:0 16px 12px;display:flex;align-items:center;gap:10px}
.rsv-card-avatar{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:800;color:#fff;flex-shrink:0}
.rsv-card-identity{min-width:0;flex:1}
.rsv-card-name{font-size:.9rem;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rsv-card-phone{font-size:.73rem;color:var(--text-muted)}

/* Date / details row */
.rsv-card-details{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 12px}
.rsv-card-detail{display:flex;align-items:center;gap:5px;font-size:.77rem;color:var(--text-muted);background:#f8fafc;border:1px solid #f1f5f9;border-radius:8px;padding:5px 10px}
.rsv-card-detail strong{font-weight:700;color:var(--text)}
.rsv-card-detail svg{flex-shrink:0;color:#94a3b8}

/* Client note (public) */
.rsv-card-note{margin:0 16px 10px;padding:8px 11px;background:#fffbeb;border:1px solid #fde68a;border-radius:9px;font-size:.75rem;color:#92400e;line-height:1.5}
.rsv-card-note-label{font-size:.6rem;font-weight:700;color:#d97706;text-transform:uppercase;letter-spacing:.05em;display:block;margin-bottom:3px}

/* Footer actions */
.rsv-card-footer{padding:12px 16px;border-top:1px solid #f1f5f9;background:#fafafa;display:flex;flex-direction:column;gap:10px;margin-top:auto}
.rsv-form-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.rsv-form-label{font-size:.67rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.rsv-select{flex:1;min-width:120px;padding:7px 10px;border:1.5px solid #e2e8f0;border-radius:9px;font-size:.78rem;font-weight:600;color:var(--text);background:#fff;cursor:pointer;transition:border-color .15s}
.rsv-select:focus{outline:none;border-color:var(--accent)}
.rsv-btn-action{padding:7px 14px;border-radius:9px;border:none;font-size:.76rem;font-weight:700;cursor:pointer;transition:background .15s;white-space:nowrap;font-family:inherit;flex-shrink:0}
.rsv-btn-action--primary{background:var(--text);color:#fff}
.rsv-btn-action--primary:hover{background:#1e293b}
.rsv-btn-action--ghost{background:#f1f5f9;color:var(--text)}
.rsv-btn-action--ghost:hover{background:#e2e8f0}
.rsv-btn-action--ticket{background:rgba(245,158,11,.1);color:#b45309}
.rsv-btn-action--ticket:hover{background:rgba(245,158,11,.2)}
.rsv-note-form{display:flex;flex-direction:column;gap:6px}
.rsv-note-textarea{border:1.5px solid #e2e8f0;border-radius:9px;padding:8px 10px;font-size:.77rem;font-family:inherit;line-height:1.5;resize:vertical;min-height:58px;color:var(--text);transition:border-color .15s;background:#fff;width:100%}
.rsv-note-textarea:focus{outline:none;border-color:var(--accent)}

/* Internal note display */
.rsv-internal-note{margin:0 16px 10px;padding:8px 11px;background:#f0f4ff;border:1px solid #c7d7f8;border-radius:9px;font-size:.75rem;color:#1e3a8a;line-height:1.5}
.rsv-internal-note-label{font-size:.6rem;font-weight:700;color:#2563eb;text-transform:uppercase;letter-spacing:.05em;display:block;margin-bottom:3px}

/* Empty state */
.rsv-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:72px 32px;text-align:center;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow)}
.rsv-empty-icon{width:64px;height:64px;border-radius:20px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;color:#94a3b8}
.rsv-empty strong{font-size:1.05rem;font-weight:700;color:var(--text)}
.rsv-empty p{font-size:.84rem;color:var(--text-muted);max-width:280px;line-height:1.6}

/* History panel */
.rsv-history{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);margin-top:24px;overflow:hidden}
.rsv-history-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid var(--card-border)}
.rsv-history-title{font-size:.95rem;font-weight:700;color:var(--text)}
.rsv-history-sub{font-size:.75rem;color:var(--text-muted);margin-top:2px}
.rsv-history-chip{background:#f1f5f9;color:var(--text-muted);font-size:.72rem;font-weight:700;padding:4px 10px;border-radius:var(--r-pill)}
.rsv-history-list{display:flex;flex-direction:column}
.rsv-history-item{display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid #f8fafc;transition:background .1s}
.rsv-history-item:last-child{border-bottom:none}
.rsv-history-item:hover{background:#fafafa}
.rsv-history-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.rsv-history-dot--completed{background:#94a3b8}
.rsv-history-dot--cancelled{background:#ef4444}
.rsv-history-body{flex:1;min-width:0}
.rsv-history-name{font-size:.84rem;font-weight:700;color:var(--text)}
.rsv-history-detail{font-size:.73rem;color:var(--text-muted);margin-top:1px}
.rsv-history-right{text-align:right;flex-shrink:0}
.rsv-history-guests{font-size:.84rem;font-weight:700;color:var(--text)}
.rsv-history-date{font-size:.7rem;color:var(--text-muted);margin-top:2px}
.rsv-history-ticket{background:none;border:1px solid var(--card-border);color:var(--text-muted);padding:4px 10px;border-radius:7px;font-size:.7rem;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s;flex-shrink:0}
.rsv-history-ticket:hover{border-color:var(--accent);color:var(--accent-dark)}

/* Module disabled */
.rsv-module-off{display:flex;flex-direction:column;align-items:center;gap:14px;padding:80px 32px;text-align:center;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius)}
.rsv-module-off-icon{width:72px;height:72px;border-radius:22px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;color:#cbd5e1}
.rsv-module-off strong{font-size:1.05rem;font-weight:700;color:var(--text)}
.rsv-module-off p{font-size:.83rem;color:var(--text-muted);max-width:320px;line-height:1.65}

/* Responsive reservations */
@media (max-width: 1100px) { .rsv-kpi-grid{grid-template-columns:repeat(3,1fr)} }
@media (max-width: 720px)  { .rsv-kpi-grid{grid-template-columns:repeat(2,1fr)} .rsv-grid{grid-template-columns:1fr} }
@media (max-width: 440px)  { .rsv-kpi-grid{grid-template-columns:1fr 1fr} }


/* ═══════════════════════════════════════════════════
   SETTINGS — Paramètres restaurant premium
   ═══════════════════════════════════════════════════ */

/* ── Hero ── */
.set-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:32px}
.set-hero-left{flex:1;min-width:0}
.set-hero-name{font-size:1.5rem;font-weight:800;color:var(--text);letter-spacing:-.04em;line-height:1.15;margin:4px 0 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.set-hero-address{font-size:.82rem;color:var(--text-muted);margin-bottom:14px;display:flex;align-items:center;gap:6px}
.set-hero-badges{display:flex;flex-wrap:wrap;gap:7px}
.set-hero-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border-radius:var(--r-pill);font-size:.68rem;font-weight:700;letter-spacing:.02em}
.set-hero-badge--on{background:rgba(16,185,129,.1);color:#065f46;border:1px solid rgba(16,185,129,.2)}
.set-hero-badge--off{background:#f1f5f9;color:#94a3b8;border:1px solid #e2e8f0}
.set-hero-badge--halal{background:rgba(16,185,129,.12);color:#065f46;border:1px solid rgba(16,185,129,.25)}
.set-hero-badge--tl{background:rgba(99,102,241,.1);color:#4338ca;border:1px solid rgba(99,102,241,.2)}
.set-hero-badge--neutral{background:#f8fafc;color:#64748b;border:1px solid #e2e8f0}
.set-hero-dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.7}
.set-hero-links{display:flex;flex-direction:column;gap:8px;flex-shrink:0}
.set-hero-link-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:11px;background:var(--card-bg);border:1.5px solid var(--card-border);font-size:.8rem;font-weight:600;color:var(--text);cursor:pointer;text-decoration:none;transition:border-color .15s,background .15s;white-space:nowrap}
.set-hero-link-btn:hover{background:#f8fafc;border-color:#cbd5e1}
.set-hero-link-btn--primary{background:var(--text);color:#fff;border-color:var(--text)}
.set-hero-link-btn--primary:hover{background:#1e293b}

/* ── Sections layout ── */
.set-sections{display:flex;flex-direction:column;gap:20px;margin-bottom:100px}

/* ── Section card ── */
.set-section{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);overflow:hidden}
.set-section-head{padding:22px 24px 18px;border-bottom:1px solid #f1f5f9}
.set-section-kicker{font-size:.65rem;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;display:block;margin-bottom:4px}
.set-section-title{font-size:1rem;font-weight:800;color:var(--text);letter-spacing:-.025em;margin:0 0 4px}
.set-section-sub{font-size:.8rem;color:var(--text-muted);line-height:1.55;margin:0}
.set-section-body{padding:22px 24px}

/* ── Field grid ── */
.set-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.set-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
.set-field{display:flex;flex-direction:column;gap:6px}
.set-field--wide{grid-column:1/-1}
.set-label{font-size:.72rem;font-weight:700;color:#374151;letter-spacing:.01em}
.set-hint{font-size:.7rem;color:var(--text-muted);line-height:1.5;margin:0}
.set-input{width:100%;padding:10px 13px;border:1.5px solid #e2e8f0;border-radius:10px;font-size:.86rem;font-weight:500;color:var(--text);background:#fff;transition:border-color .15s,box-shadow .15s;font-family:inherit}
.set-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(245,158,11,.12)}
.set-input::placeholder{color:#c4cbd6;font-weight:400}
.set-textarea{width:100%;padding:11px 13px;border:1.5px solid #e2e8f0;border-radius:10px;font-size:.85rem;font-weight:500;color:var(--text);background:#fff;transition:border-color .15s;font-family:inherit;line-height:1.6;resize:vertical}
.set-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(245,158,11,.12)}
.set-input-icon-wrap{position:relative}
.set-input-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none}
.set-input-icon-wrap .set-input{padding-left:34px}

/* ── Color section ── */
.set-color-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.set-color-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.set-color-item{display:flex;flex-direction:column;gap:8px;padding:14px;background:#f8fafc;border:1px solid #f1f5f9;border-radius:12px}
.set-color-swatch-row{display:flex;align-items:center;gap:10px}
.set-color-swatch{width:40px;height:40px;border-radius:10px;border:2px solid rgba(0,0,0,.08);cursor:pointer;padding:0;overflow:hidden;flex-shrink:0}
.set-color-swatch input[type="color"]{width:100%;height:100%;border:none;padding:0;cursor:pointer;background:none}
.set-color-info{min-width:0}
.set-color-name{font-size:.73rem;font-weight:700;color:var(--text);margin-bottom:2px}
.set-color-val{font-size:.68rem;color:var(--text-muted);font-variant-numeric:tabular-nums;letter-spacing:.04em}

/* ── Live preview ── */
.set-preview{border-radius:14px;overflow:hidden;border:1.5px solid #e2e8f0;background:#f4f4f8;position:sticky;top:20px}
.set-preview-header{padding:12px 16px;display:flex;align-items:center;justify-content:space-between}
.set-preview-header-title{font-size:.75rem;font-weight:800;color:#fff;letter-spacing:-.01em}
.set-preview-body{padding:12px;background:var(--pv-bg-inner,#f8fbff);display:flex;flex-direction:column;gap:8px}
.set-preview-card{background:#fff;border-radius:10px;padding:10px 12px;display:flex;align-items:center;gap:10px;border:1px solid rgba(0,0,0,.07)}
.set-preview-dish-img{width:38px;height:38px;border-radius:8px;background:#f0f0f0;flex-shrink:0}
.set-preview-dish-info{flex:1;min-width:0}
.set-preview-dish-name{font-size:.72rem;font-weight:700;color:#0f172a}
.set-preview-dish-price{font-size:.68rem;color:#64748b;margin-top:2px}
.set-preview-btn{padding:6px 12px;border-radius:7px;font-size:.65rem;font-weight:800;color:#fff;border:none;cursor:default;display:block;text-align:center}
.set-preview-halal{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:6px;background:rgba(16,185,129,.12);color:#065f46;font-size:.62rem;font-weight:700;margin-top:4px}
.set-preview-label{font-size:.65rem;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.08em;padding:8px 12px 4px;display:block}

/* ── Toggle switches ── */
.set-toggle-list{display:flex;flex-direction:column;gap:0}
.set-toggle-row{display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid #f1f5f9}
.set-toggle-row:last-child{border-bottom:none;padding-bottom:0}
.set-toggle-row:first-child{padding-top:0}
.set-toggle-info{flex:1;min-width:0}
.set-toggle-name{font-size:.88rem;font-weight:700;color:var(--text);margin-bottom:3px}
.set-toggle-desc{font-size:.76rem;color:var(--text-muted);line-height:1.5}
/* Reuse loy-toggle CSS */

/* ── File upload ── */
.set-file-wrap{display:flex;flex-direction:column;gap:8px}
.set-file-preview{width:100%;max-width:240px;border-radius:12px;overflow:hidden;border:1.5px solid #e2e8f0;box-shadow:0 2px 8px rgba(0,0,0,.07)}
.set-file-preview img{width:100%;height:150px;object-fit:cover;display:block}
.set-file-input{padding:10px 0;font-size:.82rem;color:var(--text-muted)}
.set-file-hint{font-size:.7rem;color:var(--text-muted)}
.set-file-remove{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;color:#dc2626;cursor:pointer;margin-top:4px}
.set-file-remove input{width:14px;height:14px;accent-color:#dc2626}

/* ── Translations ── */
.set-tl-status-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.set-tl-generate-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:11px;background:var(--text);color:#fff;border:none;font-size:.84rem;font-weight:700;cursor:pointer;font-family:inherit;transition:background .15s}
.set-tl-generate-btn:hover{background:#1e293b}
.set-tl-generate-btn svg{flex-shrink:0}
.set-tl-hint{font-size:.77rem;color:var(--text-muted);line-height:1.5}
.set-tl-queue{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.set-tl-queue-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:.73rem;font-weight:600;color:var(--text-muted)}
.set-tl-queue-chip strong{color:var(--text)}
.set-tl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.set-tl-lang{background:#f8fafc;border:1px solid #f1f5f9;border-radius:12px;padding:14px 14px 12px;display:flex;flex-direction:column;gap:10px;transition:border-color .15s}
.set-tl-lang:hover{border-color:#e2e8f0}
.set-tl-lang-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.set-tl-lang-code{font-size:.7rem;font-weight:800;color:var(--text);text-transform:uppercase;letter-spacing:.08em;background:#fff;border:1.5px solid #e2e8f0;border-radius:7px;padding:3px 8px}
.set-tl-lang-count{font-size:.72rem;color:var(--text-muted)}
.set-tl-progress-wrap{background:#e2e8f0;border-radius:99px;height:4px;overflow:hidden}
.set-tl-progress-bar{height:100%;border-radius:99px;background:#10b981;transition:width .3s}
.set-tl-actions{display:flex;gap:6px}
.set-tl-btn{flex:1;padding:6px 0;border-radius:7px;border:1px solid #e2e8f0;background:#fff;font-size:.7rem;font-weight:700;color:var(--text-muted);cursor:pointer;font-family:inherit;transition:all .15s;text-align:center}
.set-tl-btn:hover{border-color:var(--accent);color:var(--accent-dark)}
.set-tl-btn--run{border-color:rgba(59,130,246,.3);background:rgba(59,130,246,.06);color:#1d4ed8}
.set-tl-btn--run:hover{background:rgba(59,130,246,.12)}
.set-tl-btn--reset{color:#94a3b8}

/* ── Telegram ── */
.set-tg-section{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);overflow:hidden;margin-top:20px}
.set-tg-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:0;border-bottom:1px solid #f1f5f9}
.set-tg-overview-item{padding:16px 20px;border-right:1px solid #f1f5f9}
.set-tg-overview-item:last-child{border-right:none}
.set-tg-overview-label{font-size:.63rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;display:block;margin-bottom:5px}
.set-tg-overview-val{font-size:.88rem;font-weight:700;color:var(--text)}
.set-tg-warn{margin:16px 24px 0;padding:12px 14px;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;font-size:.78rem;color:#92400e;line-height:1.55}
.set-tg-steps{display:flex;flex-direction:column;gap:0;padding:4px 24px 24px}
.set-tg-step{padding:18px 0;border-bottom:1px solid #f8fafc;display:flex;gap:16px;align-items:flex-start}
.set-tg-step:last-child{border-bottom:none;padding-bottom:0}
.set-tg-step-num{width:28px;height:28px;border-radius:9px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:800;color:var(--text-muted);flex-shrink:0;margin-top:1px}
.set-tg-step-body{flex:1;min-width:0}
.set-tg-step-title{font-size:.86rem;font-weight:700;color:var(--text);margin-bottom:4px}
.set-tg-step-desc{font-size:.78rem;color:var(--text-muted);line-height:1.55;margin-bottom:10px}
.set-tg-code{display:block;padding:9px 13px;background:#f1f5f9;border-radius:8px;font-family:monospace;font-size:.79rem;color:#0f172a;word-break:break-all;margin-bottom:10px}
.set-tg-actions{display:flex;gap:8px;flex-wrap:wrap}
.set-tg-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:9px;border:1.5px solid #e2e8f0;background:#fff;font-size:.78rem;font-weight:600;color:var(--text);cursor:pointer;font-family:inherit;text-decoration:none;transition:all .15s;white-space:nowrap}
.set-tg-btn:hover{background:#f8fafc;border-color:#cbd5e1}
.set-tg-btn--danger{border-color:rgba(220,38,38,.22);color:#b91c1c;background:rgba(220,38,38,.04)}
.set-tg-btn--danger:hover{background:rgba(220,38,38,.08)}

/* ── Sticky footer ── */
.set-sticky-footer{position:fixed;bottom:0;left:var(--sb-width);right:0;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid rgba(15,23,42,.08);padding:14px 32px;display:flex;align-items:center;justify-content:flex-end;gap:12px;z-index:200}
.set-footer-hint{font-size:.78rem;color:var(--text-muted);margin-right:auto}
.set-footer-cancel{padding:10px 20px;border-radius:10px;border:1.5px solid #e2e8f0;background:#fff;font-size:.84rem;font-weight:600;color:var(--text);cursor:pointer;font-family:inherit;transition:all .15s}
.set-footer-cancel:hover{background:#f8fafc;border-color:#cbd5e1}
.set-footer-save{padding:10px 24px;border-radius:10px;border:none;background:var(--text);color:#fff;font-size:.84rem;font-weight:700;cursor:pointer;font-family:inherit;transition:background .15s;display:flex;align-items:center;gap:8px}
.set-footer-save:hover{background:#1e293b}

/* ── Responsive settings ── */
@media (max-width: 900px) {
  .set-color-layout{grid-template-columns:1fr}
  .set-grid{grid-template-columns:1fr}
  .set-grid-3{grid-template-columns:1fr 1fr}
  .set-hero{flex-direction:column}
  .set-hero-links{flex-direction:row;flex-wrap:wrap}
  .set-sticky-footer{left:0;padding:12px 20px}
}
@media (max-width: 600px) {
  .set-tl-grid{grid-template-columns:1fr 1fr}
  .set-grid-3{grid-template-columns:1fr}
  .set-section-body{padding:16px}
  .set-section-head{padding:16px}
  .set-tg-overview{grid-template-columns:1fr 1fr}
}

/* ═══ REVIEWS ADMIN — Onglet Avis dans le drawer plat ═══ */
.review-summary-bar{padding:12px 0 16px;border-bottom:1px solid var(--border,#e2e8f0);margin-bottom:16px}
.review-summary-avg{display:flex;align-items:center;gap:10px}
.review-avg-num{font-size:2rem;font-weight:700;color:#0f172a;line-height:1}
.review-avg-stars{display:flex;gap:2px}
.rev-star,.rev-star-sm{flex-shrink:0}
.rev-star{width:18px;height:18px}
.rev-star-sm{width:13px;height:13px}
.review-avg-count{font-size:.78rem;color:#64748b;margin-left:2px}
.review-admin-list{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}
.review-admin-item{padding:10px 12px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0;transition:opacity .2s}
.review-admin-item.is-hidden{opacity:.5;background:#f1f5f9}
.review-admin-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.review-admin-stars{display:flex;gap:2px;margin-bottom:3px}
.review-admin-meta{font-size:.74rem;color:#64748b;margin:2px 0 4px}
.review-admin-comment{font-size:.8rem;color:#334155;font-style:italic;margin:0;line-height:1.45}
.review-admin-actions{display:flex;gap:4px;flex-shrink:0}
.review-badge-manual,.review-badge-hidden{display:inline-block;font-size:.68rem;font-weight:600;padding:1px 5px;border-radius:4px;margin-left:4px}
.review-badge-manual{background:#dbeafe;color:#1d4ed8}
.review-badge-hidden{background:#fee2e2;color:#b91c1c}
.btn-icon-sm{width:28px;height:28px;border-radius:6px;border:1px solid #e2e8f0;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#64748b;transition:background .15s,color .15s,border-color .15s}
.btn-icon-sm:hover{background:#f1f5f9;border-color:#cbd5e1;color:#0f172a}
.btn-icon-sm.btn-icon-danger{color:#ef4444;border-color:#fecaca}
.btn-icon-sm.btn-icon-danger:hover{background:#fee2e2;border-color:#fca5a5;color:#b91c1c}
.review-add-section{padding-top:16px;border-top:1px solid #e2e8f0;margin-top:4px}

/* Review preview card */
.review-preview-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:14px 16px}
.review-preview-label{font-size:.72rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}
.review-preview-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:999px;font-size:.82rem;font-weight:600}
.review-preview-pill.is-active{background:#fef3c7;color:#92400e;border:1px solid #fde68a}
.review-preview-pill.is-empty{background:#f1f5f9;color:#94a3b8;border:1px solid #e2e8f0;font-weight:400}
