:root{
  --navy:#0A2540; --navy-3:#123a63; --gold:#F0A81E; --gold-soft:#FFD873;
  --blue:#1657d0; --blue-2:#0e3fa8;
  --ink:#0d1b2a; --muted:#6b7a8d; --line:#e6eaf2; --bg:#f4f7fb; --card:#fff; --green:#1fab54;
  --shadow:0 10px 30px rgba(10,37,64,.08); --shadow-lg:0 22px 60px rgba(10,37,64,.20); --radius:16px;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{overflow-x:clip;max-width:100%}
body{font-family:'Inter',system-ui,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.5}
h1,h2,h3,b{font-family:'Sora',sans-serif;letter-spacing:-.01em}
.hidden{display:none!important}
input,textarea,button{font-family:inherit;font-size:14px}
textarea{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;margin:6px 0;background:#fff;outline:none;transition:border-color .15s,box-shadow .15s}
textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(22,87,208,.12)}
/* icônes SVG (traits) */
svg use,svg symbol{}
.app svg,.auth svg,.icon-btn svg,.btn svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;cursor:pointer;font-weight:700;border-radius:12px;padding:12px 18px;transition:transform .15s,box-shadow .2s,filter .2s;background:#eef2f7;color:var(--ink)}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn .bi{width:18px;height:18px}
.btn-gold{background:linear-gradient(135deg,var(--gold),#ffbe3d);color:#3a2600;box-shadow:0 10px 22px rgba(240,168,30,.35)}
.btn-green{background:var(--green);color:#fff;box-shadow:0 10px 22px rgba(31,171,84,.3)}
.btn-ghost{background:#eef2f7;color:var(--navy)}
.btn-block{width:100%;margin-top:8px}.btn-sm{padding:8px 12px;font-size:13px}
.icon-btn{background:none;border:none;cursor:pointer;color:var(--muted);width:34px;height:34px;border-radius:9px;display:grid;place-items:center;transition:background .15s,color .15s}
.icon-btn svg{width:19px;height:19px}
.icon-btn.lg svg{width:22px;height:22px}
.icon-btn:hover{background:rgba(10,37,64,.06);color:var(--navy)}
.hint{color:var(--muted);font-size:13px;margin:6px 0}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}

/* ================= CONNEXION ANIMÉE ================= */
.auth{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:18px;overflow:hidden;transition:opacity .5s ease}
/* Image de la charrette en fond, floutée + voile pour la lisibilité */
.auth::before{content:"";position:absolute;inset:-40px;background:url('login-cart.webp') center/cover;filter:blur(16px) brightness(.92);transform:scale(1.12);z-index:0}
.auth::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(10,37,64,.55),rgba(22,87,208,.42));z-index:0}
.auth.out{opacity:0;pointer-events:none}
.auth-card{position:relative;z-index:1;width:420px;max-width:92vw;margin:auto;background:#fff;border-radius:22px;padding:30px 30px 22px;
  box-shadow:var(--shadow-lg);text-align:center;
  opacity:0;transform:translateX(80px) scale(.97);
  transition:transform .6s cubic-bezier(.16,1,.3,1),opacity .5s ease}
.auth-card.in{opacity:1;transform:none}
.auth.out .auth-card{transform:translateX(-165%) rotate(-5deg);opacity:0;
  transition:transform .55s cubic-bezier(.7,0,.84,0),opacity .45s ease}
.auth-logo{width:60px;margin:0 auto 12px}
.auth-card h1{font-size:21px}
.auth-sub{color:var(--muted);font-size:13.5px;margin:8px 0 18px}
.auth-error{background:#fdecEA;color:#c0392b;font-size:13px;padding:10px 12px;border-radius:11px;margin-bottom:10px;text-align:left}
.auth-info{background:#e7f7ee;color:#0f8a43;font-size:13px;padding:10px 12px;border-radius:11px;margin-bottom:10px;text-align:left}
.field{position:relative;margin:9px 0}
.field .fi{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--muted);pointer-events:none}
.field input{width:100%;padding:13px 14px 13px 40px;border:1.5px solid var(--line);border-radius:12px;background:#fff;outline:none;transition:border-color .15s,box-shadow .15s}
.field input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(22,87,208,.12)}
.fi-eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--muted);width:30px;height:30px;display:grid;place-items:center}
.fi-eye svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2}
.auth-forgot{display:block;text-align:right;font-size:12.5px;color:var(--blue);font-weight:600;margin:2px 2px 6px}
.btn-gold .arr{transition:transform .2s}
.btn-gold:hover .arr{transform:translateX(4px)}
.auth-switch{margin-top:14px;font-size:13.5px;color:var(--muted)}
.auth-switch a{color:var(--blue);font-weight:700}
.auth-foot{color:#9fb1c6;font-size:11.5px;margin-top:16px}

/* ================= APP ================= */
.app{opacity:0;transform:scale(.985)}
.app.enter{opacity:1;transform:none;transition:opacity .45s ease,transform .45s ease}
.topbar{position:sticky;top:0;z-index:50;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:12px 20px}
.tb-left{display:flex;align-items:center;gap:10px;font-size:17px}
.tb-logo{width:30px;height:30px;border-radius:8px}
.tb-right{display:flex;align-items:center;gap:12px}
.tb-user{display:flex;align-items:center;gap:4px;color:#cdd9e8;font-size:13px}
.tb-email{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.topbar .icon-btn{color:#9fb6d0}.topbar .icon-btn:hover{background:rgba(255,255,255,.1);color:#fff}
.chip{background:#eef2f7;color:var(--navy);border:none;cursor:pointer;font-weight:600;font-size:12.5px;padding:6px 12px;border-radius:20px}
.topbar .chip{background:rgba(255,255,255,.12);color:#fff}
.chip.on{background:var(--navy);color:#fff}
.chip-plan{background:linear-gradient(135deg,var(--gold),var(--gold-soft));color:#3a2600}
.tabs{display:flex;gap:4px;background:#fff;border-bottom:1px solid var(--line);padding:0 12px;overflow-x:auto}
.tab{background:none;border:none;cursor:pointer;padding:14px 14px;font-weight:700;color:var(--muted);border-bottom:3px solid transparent;white-space:nowrap;display:flex;align-items:center;gap:8px;transition:color .15s}
.tab .ti{width:19px;height:19px}
.tab:hover{color:var(--navy)}
.tab.on{color:var(--navy);border-bottom-color:var(--gold)}
.wrap{max-width:1000px;margin:0 auto;padding:22px}
.panel{animation:fadeUp .35s ease}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.panel h2{margin-bottom:14px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);margin-bottom:16px}
.card h3{margin-bottom:6px;font-size:16px}

/* KPIs */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:8px 0 14px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);display:flex;align-items:center;gap:12px;transition:transform .18s,box-shadow .18s}
.kpi:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.kpi-ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;flex-shrink:0}
.kpi-ic svg{width:22px;height:22px}
.ic-blue{background:#e8f0ff;color:#1657d0}.ic-green{background:#e5f7ec;color:#1fab54}
.ic-amber{background:#fff3df;color:#d98a00}.ic-red{background:#fdeceb;color:#e04b3f}
.kpi-v{font-size:23px;font-weight:800;font-family:'Sora',sans-serif}
.kpi-l{color:var(--muted);font-size:12.5px;margin-top:2px}
.revenue-card{background:linear-gradient(135deg,var(--navy),var(--navy-3));color:#fff;border-radius:var(--radius);padding:20px 22px;box-shadow:var(--shadow);display:flex;justify-content:space-between;align-items:center}
.revenue-card .rc-l{color:#b6c4d6;font-size:14px;font-weight:600}
.revenue-card .rc-v{font-size:30px;font-weight:800;font-family:'Sora',sans-serif;color:var(--gold-soft)}
/* masquage des chiffres (oeil) */
.figures-hidden .figure{filter:blur(9px);user-select:none;transition:filter .2s}

/* chips / date */
.chips{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0}
.date-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0}
.date-filter input[type=date]{width:auto;padding:8px 10px;border:1.5px solid var(--line);border-radius:10px}
.date-banner{background:#e7f7ee;color:#0f8a43;font-size:12.5px;font-weight:600;padding:5px 11px;border-radius:20px}

/* table */
.table-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--line);margin-top:10px}
table{width:100%;border-collapse:collapse;background:#fff;min-width:560px}
th,td{padding:11px 12px;text-align:left;font-size:13.5px;border-bottom:1px solid var(--line)}
th{background:#f2f6fb;color:var(--muted);font-weight:700}
tbody tr:hover{background:#fafcff}
td .money{font-weight:700;color:#0f8a43}

/* email */
.chkline{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--muted);margin:6px 0}
.chkline input{width:auto}
#mail-subject{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;margin:6px 0;outline:none}
#mail-subject:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(22,87,208,.12)}
.progress{margin-top:12px;background:#eef2f7;border-radius:20px;height:28px;position:relative;overflow:hidden}
.progress-bar{height:100%;width:0;background:linear-gradient(90deg,var(--green),#37c96a);transition:width .3s}
.progress span{position:absolute;inset:0;display:grid;place-items:center;font-size:12.5px;font-weight:700}

@media(max-width:820px){
  .auth-visual{display:none}
  .kpis{grid-template-columns:1fr 1fr}
  .grid2{grid-template-columns:1fr}
  .tab{padding:11px 12px;font-size:12.5px}
  .tab .ti{width:20px;height:20px}
  .wrap{padding:16px 14px}
  /* Topbar compacte : on garde logo + plan + déconnexion, on masque le reste */
  .topbar{padding:10px 12px}
  .tb-right{gap:8px}
  .tb-user{display:none}
  #store-chip{display:none}
  #logout .btn-txt{display:none}
  #logout{padding:9px 11px}
  .revenue-card{padding:16px 18px}
  .revenue-card .rc-v{font-size:24px}
  .revenue-card .rc-l{font-size:13px}
  .row-between{flex-wrap:wrap;gap:8px}
}
@media(max-width:380px){
  .kpis{grid-template-columns:1fr}
  .tb-left b{font-size:15px}
}

/* ================= BOUTIQUE / SPONSORISÉ / ADMIN ================= */
.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:12px;margin-top:8px}
.shop-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow)}
.shop-card.prem{border-color:var(--gold);box-shadow:0 12px 30px rgba(240,168,30,.15)}
.shop-h{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.shop-l{width:42px;height:42px;border-radius:11px;object-fit:cover;background:#eef2f7;display:grid;place-items:center;font-size:20px}
.shop-n{font-weight:800;font-size:14.5px;font-family:'Sora',sans-serif}
.badge-prem{display:inline-block;background:linear-gradient(90deg,var(--gold),var(--gold-soft));color:#3a2600;font-size:10.5px;font-weight:800;padding:2px 8px;border-radius:20px}
.badge-free{color:var(--muted);font-size:11px;font-weight:600}
.badge-blk{background:#fdeceb;color:#c0392b;font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:20px}
.pt-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.pt{border:1px solid var(--line);border-radius:10px;overflow:hidden;cursor:pointer;background:#fff;transition:transform .15s}
.pt:hover{transform:translateY(-3px)}
.pt>img,.pt-noimg{width:100%;aspect-ratio:1;object-fit:cover;background:#eef2f7;display:grid;place-items:center;font-size:20px}
.pt-n{font-size:11px;font-weight:600;padding:5px 6px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pt-p{font-size:11px;font-weight:800;color:var(--blue);padding:0 6px 6px}
.prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:8px}
.prod-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;cursor:pointer;position:relative;transition:transform .15s,box-shadow .2s}
.prod-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.prod-card>img,.prod-card .pt-noimg{width:100%;height:130px;object-fit:cover}
.pc-b{padding:8px 10px 11px}
.pc-tag{display:inline-block;background:var(--gold);color:#3a2600;font-size:9px;font-weight:800;padding:2px 7px;border-radius:20px;margin-bottom:3px}
.admin-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}
.admin-row:last-child{border-bottom:none}
/* Fenêtre produit */
.pm-ov{position:fixed;inset:0;z-index:200;background:rgba(6,18,32,.55);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;pointer-events:none;transition:opacity .22s}
.pm-ov.open{opacity:1;pointer-events:auto}
.pm-box{position:relative;background:#fff;border-radius:20px;max-width:760px;width:100%;max-height:92vh;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;box-shadow:var(--shadow-lg);transform:translateY(16px);transition:transform .25s}
.pm-ov.open .pm-box{transform:none}
.pm-x{position:absolute;top:10px;right:10px;z-index:3;width:34px;height:34px;border-radius:50%;border:none;background:rgba(255,255,255,.92);cursor:pointer;font-size:16px;box-shadow:0 2px 6px rgba(0,0,0,.2)}
.pm-img{background:#0e1f33;display:grid;place-items:center;min-height:240px;font-size:54px;color:#3a5877}
.pm-img img{width:100%;height:100%;max-height:400px;object-fit:contain}
.pm-body{padding:22px;display:flex;flex-direction:column;gap:10px;overflow:auto}
.pm-seller{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}
.pm-name{font-size:20px;font-weight:800;font-family:'Sora',sans-serif}
.pm-price{font-size:22px;font-weight:800;color:var(--gold)}
.pm-contacts{display:flex;flex-wrap:wrap;gap:8px}
.pm-c{font-size:12.5px;font-weight:700;padding:8px 12px;border-radius:10px}
.pm-c.wa{background:#e7f9ee;color:#0f8a43}.pm-c.em{background:#eef4fb;color:#2A5F8F}.pm-c.fb{background:#eaf0fb;color:#1560c0}
.pm-desc-l{font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);border-top:1px solid var(--line);padding-top:10px;margin-top:2px}
.pm-desc{font-size:14px;line-height:1.6;color:#3f5169;white-space:pre-wrap;word-break:break-word;max-height:210px;overflow:auto}
@media(max-width:720px){ .shop-grid{grid-template-columns:repeat(3,1fr);gap:8px} .prod-grid{grid-template-columns:1fr 1fr} .pm-box{grid-template-columns:1fr} .pm-img{min-height:190px} }

/* ===== Bandeaux dashboard / carte WhatsApp / recherche ===== */
.banner{padding:11px 14px;border-radius:12px;font-size:13.5px;margin-bottom:12px}
.banner-red{background:#fdeceb;color:#c0392b;border:1px solid #f5c6c2}
.banner-blue{background:#eaf1ff;color:#1657d0;border:1px solid #cfe0ff}
.wa-card{display:flex;align-items:center;gap:12px;background:#e7f9ee;border:1px solid #bfe9cf;border-radius:14px;padding:12px 14px;margin-bottom:14px;color:#0f8a43;text-decoration:none;transition:transform .15s}
.wa-card:hover{transform:translateY(-2px)}
.wa-ic{font-size:24px}.wa-sub{font-size:12px;color:#5a8a6e}.wa-go{margin-left:auto;font-weight:800;white-space:nowrap}
.search-input{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;margin:6px 0;outline:none}
.search-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(22,87,208,.12)}
.lbl{display:block;font-size:12.5px;font-weight:700;color:var(--muted);margin:10px 0 2px}
/* Marquee sponsorisés */
.spon-banner-wrap{position:relative;background:linear-gradient(180deg,#fff,#fbfcfe);border:1px solid var(--line);border-radius:14px;padding:16px 0 12px;overflow:hidden;margin-bottom:14px}
.spon-tag{position:absolute;left:14px;top:-11px;background:var(--gold);color:#3a2600;font-weight:900;font-size:12px;letter-spacing:.4px;padding:4px 12px;border-radius:20px;z-index:2;box-shadow:0 2px 6px rgba(240,168,30,.45)}
.spon-banner{display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;padding:2px 14px 6px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--gold) transparent}
.spon-banner::-webkit-scrollbar{height:6px}
.spon-banner::-webkit-scrollbar-thumb{background:var(--gold);border-radius:20px}
.spon-banner::-webkit-scrollbar-track{background:transparent}
.sb-card{position:relative;flex:0 0 150px;width:150px;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;cursor:pointer;transition:transform .15s}
.sb-card:hover{transform:translateY(-3px)}
.sb-card>img,.sb-card .pt-noimg{width:100%;height:96px;object-fit:cover}
.sb-tag{position:absolute;top:6px;left:6px;z-index:2;background:var(--gold);color:#3a2600;font-weight:900;font-size:9.5px;letter-spacing:.3px;padding:3px 7px;border-radius:20px;box-shadow:0 2px 5px rgba(0,0,0,.25)}
.sb-b{padding:6px 8px 8px}
/* Actions boutique + produit rotatif */
.shop-h{justify-content:space-between}
.shop-hl{display:flex;align-items:center;gap:10px;cursor:pointer;min-width:0}
.shop-acts{display:flex;gap:2px;flex-shrink:0}
.ic-heart,.ic-flag{background:none;border:none;cursor:pointer;font-size:16px;padding:4px;border-radius:8px;line-height:1}
.ic-heart:hover,.ic-flag:hover{background:rgba(10,37,64,.06)}
.pt-solo{margin-top:4px}
.pt.solo{border:1px solid var(--line);border-radius:10px;overflow:hidden;cursor:pointer}
.pt.solo>img,.pt.solo .pt-noimg{width:100%;height:120px;object-fit:cover}
.see-all{width:100%;margin-top:8px;background:#eef4fb;color:var(--navy);border:none;border-radius:9px;padding:7px;font-size:12px;font-weight:700;cursor:pointer}
.see-all:hover{background:#e2edf8}
/* Fenêtre boutique (tous les produits) */
.pm-box.wide{display:block}
.sm-wrap{padding:20px;max-height:88vh;overflow:auto}
.sm-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.sm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}
.sm-pt{border:1px solid var(--line);border-radius:10px;overflow:hidden;cursor:pointer;transition:transform .15s}
.sm-pt:hover{transform:translateY(-3px)}
.sm-pt>img,.sm-pt .pt-noimg{width:100%;aspect-ratio:1;object-fit:cover}
.pm-c.fav{background:#fff3df;color:#b06f00;border:none;cursor:pointer}
.pm-c.fav.on{background:#ffe0e6;color:#c0392b}

/* ===== Carte boutique COMPACTE (3/ligne responsive) ===== */
.shop-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);cursor:pointer;display:flex;flex-direction:column;padding:0;transition:transform .15s,box-shadow .2s}
.shop-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.shop-card.prem{border-color:var(--gold);box-shadow:0 10px 26px rgba(240,168,30,.18)}
.sc-top{display:flex;align-items:center;gap:5px;padding:8px 8px 6px}
.sc-logo{width:26px;height:26px;border-radius:7px;object-fit:cover;background:#eef2f7;display:grid;place-items:center;font-size:13px;flex-shrink:0}
.sc-name{font-weight:700;font-size:11.5px;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.sc-verified{flex-shrink:0;display:inline-flex;align-items:center}
.sc-prod{position:relative}
.sc-prod>img,.sc-prod .pt-noimg{width:100%;aspect-ratio:1;object-fit:cover;background:#eef2f7;display:grid;place-items:center;font-size:24px}
.sc-pn{font-size:10.5px;font-weight:600;padding:5px 7px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sc-pp{font-size:11px;font-weight:800;color:var(--blue);padding:0 7px 2px}
.sc-stats{font-size:8.5px;color:var(--muted);padding:0 7px 5px;font-weight:600}
.pm-stats{font-size:12.5px;color:var(--muted);font-weight:600}
.sc-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;padding:4px 4px;border-top:1px solid var(--line)}
.sc-cnt{font-size:9.5px;color:var(--muted);font-weight:600;cursor:pointer;flex:1;text-align:center}
.ic-heart,.ic-flag{background:none;border:none;cursor:pointer;font-size:14px;padding:2px 4px;line-height:1}

/* ===== Boutique publique ===== */
.pub{min-height:100vh;background:var(--bg)}
.pub-top{position:sticky;top:0;z-index:50;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;gap:10px}
.pub-brand{display:flex;align-items:center;gap:9px;font-size:16px}
.pub-brand img{width:28px;height:28px;border-radius:7px}
.pub-hero{text-align:center;padding:14px 0 6px}
.pub-hero h1{font-size:22px}
.pub-hero p{color:var(--muted);font-size:13.5px;margin-top:4px}
.pub-foot{text-align:center;color:#9fb1c6;font-size:12px;padding:24px 0}

/* ===== Barre "accéder à la boutique" (login) ===== */
.auth-topbar{position:absolute;top:0;left:0;right:0;z-index:3;display:flex;align-items:center;justify-content:space-between;padding:12px 16px}
.auth-brand{display:flex;align-items:center;gap:8px;color:#fff;font-weight:800}
.auth-brand img{width:26px;height:26px;border-radius:7px}

/* ===== Avatar compte ===== */
.tb-avatar{width:30px;height:30px;border-radius:8px;object-fit:cover;border:1.5px solid rgba(255,255,255,.4)}

/* ===== Overlay de synchronisation ===== */
.sync-ov{position:fixed;inset:0;z-index:500;background:rgba(10,37,64,.55);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center}
.sync-box{background:#fff;border-radius:18px;padding:28px 34px;text-align:center;box-shadow:var(--shadow-lg)}
.sync-spin{width:46px;height:46px;border-radius:50%;border:4px solid #eef2f7;border-top-color:var(--gold);margin:0 auto 14px;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.sync-t{font-weight:800;font-family:'Sora',sans-serif;font-size:15px}
.sync-s{color:var(--muted);font-size:12.5px;margin-top:4px}

/* ===== Carrousel produits (dashboard) ===== */
.dash-prods-wrap{margin:14px 0 6px}
.dash-prods{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 8px}
.dp-card{flex:0 0 120px;width:120px;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;position:relative}
.dp-card.hid{opacity:.5}
.dp-card>img,.dp-card .pt-noimg{width:100%;height:90px;object-fit:cover;background:#eef2f7;display:grid;place-items:center;font-size:22px}
.dp-b{padding:6px 8px 8px}
.dp-n{font-size:10.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dp-p{font-size:10.5px;font-weight:800;color:var(--blue)}
.dp-eye{position:absolute;top:5px;right:5px;width:26px;height:26px;border-radius:50%;border:none;background:rgba(255,255,255,.92);cursor:pointer;font-size:13px;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.dp-tag{position:absolute;top:5px;left:5px;background:#4a5568;color:#fff;font-size:8.5px;font-weight:700;padding:2px 6px;border-radius:12px}

/* ===== Stats admin ===== */
.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.astat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;text-align:center;box-shadow:var(--shadow)}
.astat-v{font-size:22px;font-weight:800;font-family:'Sora',sans-serif}
.astat-l{font-size:11px;color:var(--muted);margin-top:2px}
@media(max-width:600px){ .admin-stats{grid-template-columns:1fr 1fr} }
/* Boost */
.boost-tier{display:block;border:1.5px solid var(--line);border-radius:12px;padding:12px;margin:8px 0;cursor:pointer;font-size:13.5px}
.boost-tier:hover{border-color:var(--gold)}
.boost-tier input{margin-right:6px}
.dp-boost{position:absolute;top:5px;right:36px;width:26px;height:26px;border-radius:50%;border:none;background:rgba(255,255,255,.92);cursor:pointer;font-size:12px;box-shadow:0 1px 4px rgba(0,0,0,.25)}

/* ===================== PREMIUM (comparatif, upsell, gates) ===================== */
.upsell{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#fff7e8,#fff);border:1.5px solid var(--gold);border-radius:14px;padding:12px 14px;margin:6px 0 14px;cursor:pointer;box-shadow:0 8px 22px rgba(240,168,30,.14);text-decoration:none;color:inherit;transition:transform .15s}
.upsell:hover{transform:translateY(-2px)}
.upsell .up-ic{width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gold-soft));color:#3a2600;display:grid;place-items:center;font-weight:900;font-size:17px}
.upsell .up-tx{font-size:13px;color:#5a4a2a;line-height:1.4}
.upsell .up-go{margin-left:auto;flex-shrink:0;font-weight:800;color:#b06f00;font-size:13px}
/* Puces de catégorie (Boutique / Sponsorisé) */
.cat-chips{gap:6px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;-webkit-overflow-scrolling:touch}
.cat-chips::-webkit-scrollbar{height:4px}.cat-chips::-webkit-scrollbar-thumb{background:var(--line);border-radius:20px}
.chip.cat{white-space:nowrap;flex-shrink:0;background:#eef4fb;color:var(--navy);font-size:12px}
.chip.cat.on{background:var(--navy);color:#fff}
.pm-cat{display:inline-block;background:#eef4fb;color:var(--navy);font-weight:700;font-size:11px;padding:3px 10px;border-radius:20px;margin-bottom:2px}

/* Décompte Premium élégant */
.prem-count{display:flex;align-items:center;gap:14px;background:linear-gradient(120deg,#0A2540 0%,#123a5e 55%,#1a4a74 100%);color:#fff;border-radius:16px;padding:14px 18px;margin:0 0 14px;box-shadow:0 12px 30px rgba(10,37,64,.28);position:relative;overflow:hidden}
.prem-count::after{content:"";position:absolute;top:-40%;right:-10%;width:180px;height:180px;background:radial-gradient(circle,rgba(240,168,30,.35),transparent 70%);pointer-events:none}
.pc-star{width:40px;height:40px;flex:0 0 40px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gold-soft));color:#3a2600;display:grid;place-items:center;font-size:20px;font-weight:900;box-shadow:0 4px 12px rgba(240,168,30,.5)}
.pc-txt{display:flex;flex-direction:column;min-width:0}
.pc-title{font-family:'Sora',sans-serif;font-weight:800;font-size:15px;color:var(--gold-soft)}
.pc-sub{font-size:12px;color:#b6c9de}
.pc-days{margin-left:auto;text-align:center;background:rgba(255,255,255,.1);border:1px solid rgba(240,168,30,.4);border-radius:12px;padding:6px 14px;line-height:1.1;flex-shrink:0}
.pc-days b{display:block;font-family:'Sora',sans-serif;font-size:22px;font-weight:800;color:#fff}
.pc-days span{font-size:10px;color:#b6c9de;text-transform:uppercase;letter-spacing:.5px}
.prem-count.ending .pc-days{border-color:#ff9d3c;background:rgba(255,120,40,.18)}
/* CTA abonnement dashboard */
.prem-cta{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#fff7e8,#fffdf8);border:1.5px solid var(--gold);border-radius:14px;padding:12px 16px;margin:0 0 14px;cursor:pointer;text-decoration:none;color:inherit;box-shadow:0 8px 22px rgba(240,168,30,.16);transition:transform .15s}
.prem-cta:hover{transform:translateY(-2px)}
.pcta-ic{width:36px;height:36px;flex:0 0 36px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gold-soft));color:#3a2600;display:grid;place-items:center;font-weight:900;font-size:18px}
.pcta-tx{font-size:13px;color:#5a4a2a;line-height:1.4}
.pcta-go{margin-left:auto;flex-shrink:0;font-weight:800;color:#b06f00;font-size:13px;white-space:nowrap}
/* Carte produit dashboard : footer avec Booster + catégorie */
.dp-foot{display:flex;flex-direction:column;gap:5px;padding:0 6px 8px}
.dp-boost-btn{width:100%;border:none;border-radius:9px;background:linear-gradient(135deg,var(--gold),var(--gold-soft));color:#3a2600;font-weight:800;font-size:11.5px;padding:7px 4px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:4px;transition:filter .15s}
.dp-boost-btn:hover{filter:brightness(1.05)}
.dp-cat{width:100%;border:1px solid var(--line);border-radius:8px;padding:5px 6px;font-size:10.5px;background:#fff;color:var(--navy);cursor:pointer}

/* Tableau comparatif Gratuit vs Premium */
.compare{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:12px 0}
.compare-row{display:grid;grid-template-columns:1fr 64px 78px;align-items:center;gap:6px;padding:9px 12px;font-size:12.5px;border-bottom:1px solid var(--line)}
.compare-row:last-child{border-bottom:none}
.compare-head{background:var(--navy);color:#fff;font-weight:800;font-size:12px}
.compare-head .ch-prem{color:var(--gold-soft)}
.compare-row:nth-child(even):not(.compare-head){background:#fafcff}
.compare-f{color:#33465e}
.compare-free{text-align:center;color:var(--muted);font-weight:600}
.compare-prem{text-align:center;color:#0f8a43;font-weight:800}
.prem-price-row{display:flex;gap:10px;margin:12px 0}
.prem-price{flex:1;border:1.5px solid var(--line);border-radius:12px;padding:10px;text-align:center;position:relative}
.prem-price.alt{border-color:var(--gold)}
.prem-price b{font-size:19px;font-family:'Sora',sans-serif;display:block;color:var(--navy)}
.prem-price span{font-size:11.5px;color:var(--muted)}
.prem-price em{position:absolute;top:-9px;right:8px;background:var(--gold);color:#3a2600;font-style:normal;font-weight:800;font-size:10px;padding:2px 7px;border-radius:12px}
/* Actions premium verrouillees (gratuit) */
.prem-action{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;background:#fff;border:1.5px dashed var(--gold);border-radius:12px;padding:12px 14px;margin-bottom:12px;cursor:pointer;font-weight:700;color:var(--navy);font-size:13.5px}
.prem-action:hover{background:#fffaf0}
.lock{font-size:11px;font-weight:800;color:#b06f00;background:#fff3df;padding:3px 9px;border-radius:12px;white-space:nowrap}
.locked .lock{display:inline-block}
.is-prem .lock{display:none}
/* Stats avancees */
.ins-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.ins-box{background:#f7fafd;border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.ins-box h4{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);margin-bottom:6px}
.ins-line{display:flex;justify-content:space-between;font-size:12.5px;padding:3px 0}
.ins-line b{font-family:'Sora',sans-serif}
.ins-locked{filter:blur(4px);pointer-events:none;user-select:none}
.sched-item{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid var(--line);padding:8px 0;font-size:12.5px}
.sched-badge{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:12px;background:#eef2f7;color:var(--navy)}
.gmail-help{background:#fff8f7;border:1px solid #f6d5d1;border-radius:10px;padding:10px 12px;margin-top:10px;font-size:12.5px;color:#5a3d3a;line-height:1.5}
.gmail-help a{color:#ea4335;font-weight:700}

/* ===================== POP-UP D'INFORMATION ===================== */
.popup-ov{position:fixed;inset:0;z-index:300;background:rgba(6,18,32,.72);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:18px;opacity:0;transition:opacity .25s}
.popup-ov.open{opacity:1}
.popup-box{position:relative;max-width:520px;width:100%;max-height:88vh;transform:scale(.94);transition:transform .3s cubic-bezier(.2,.9,.3,1.2)}
.popup-ov.open .popup-box{transform:scale(1)}
.popup-box img{width:100%;height:auto;max-height:88vh;object-fit:contain;border-radius:16px;box-shadow:0 24px 60px rgba(0,0,0,.5);display:block}
.popup-x{position:absolute;top:-14px;right:-14px;width:38px;height:38px;border-radius:50%;border:3px solid #fff;background:var(--navy);color:#fff;font-size:16px;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.4);z-index:2}
.popup-x:hover{background:#c0392b}
/* ===== Carrousel promo Premium ===== */
.promo-ov{position:fixed;inset:0;z-index:300;background:rgba(6,18,32,.72);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:18px;opacity:0;transition:opacity .25s}
.promo-ov.open{opacity:1}
.promo-box{position:relative;width:100%;max-width:640px;background:linear-gradient(160deg,#0A2540,#12304e);border:1.5px solid var(--gold);border-radius:18px;padding:20px 14px 16px;box-shadow:0 24px 60px rgba(0,0,0,.5);transform:translateY(14px) scale(.97);transition:transform .3s cubic-bezier(.2,.9,.3,1.2)}
.promo-ov.open .promo-box{transform:none}
.promo-head{color:var(--gold);font-family:'Sora',sans-serif;font-weight:800;font-size:17px;text-align:center;margin-bottom:12px}
.promo-track{display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;padding:2px 6px 10px;scrollbar-width:thin;scrollbar-color:var(--gold) transparent}
.promo-track::-webkit-scrollbar{height:6px}.promo-track::-webkit-scrollbar-thumb{background:var(--gold);border-radius:20px}
.promo-card{flex:0 0 160px;width:160px;background:#fff;border-radius:12px;overflow:hidden;cursor:pointer;transition:transform .15s}
.promo-card:hover{transform:translateY(-3px)}
.promo-card>img,.promo-card .pt-noimg{width:100%;height:150px;object-fit:cover;background:#eef2f7;display:grid;place-items:center;font-size:26px}
.promo-c-b{padding:8px 9px 10px}
.promo-c-n{font-weight:700;font-size:12.5px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.promo-c-p{font-weight:800;color:var(--gold-strong,#c8860f);font-size:13px;margin-top:2px}
.promo-c-s{font-size:10.5px;color:var(--muted);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.promo-hint{text-align:center;color:#9fb6d0;font-size:11.5px;margin-top:4px}
/* Sélection admin */
.promo-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:10px 0;max-height:340px;overflow:auto}
.promo-opt{display:flex;flex-direction:column;border:1.5px solid var(--line);border-radius:12px;overflow:hidden;cursor:pointer;position:relative;background:#fff}
.promo-opt.on{border-color:var(--gold);box-shadow:0 6px 16px rgba(240,168,30,.2)}
.promo-opt>img,.promo-opt .pt-noimg{width:100%;height:90px;object-fit:cover;background:#eef2f7;display:grid;place-items:center;font-size:22px}
.promo-opt .po-b{padding:7px 8px}
.promo-opt .po-n{font-size:11.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.promo-opt .po-s{font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.promo-opt input{position:absolute;top:6px;right:6px;width:18px;height:18px}

/* Zone d'import admin */
.pop-admin{display:flex;flex-direction:column;gap:10px}
.pop-drop{display:flex;align-items:center;justify-content:center;min-height:120px;border:2px dashed var(--gold);border-radius:12px;background:#fffaf0;cursor:pointer;color:#b06f00;font-weight:700;font-size:13px;overflow:hidden;position:relative;text-align:center;padding:10px}
.pop-drop:hover{background:#fff3df}
.pop-preview{max-width:100%;max-height:220px;border-radius:8px;object-fit:contain}
/* Inputs à icône */
.in-ic{display:flex;align-items:center;gap:8px;border:1.5px solid var(--line);border-radius:12px;padding:0 12px;background:#fff}
.in-ic:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(22,87,208,.12)}
.in-ic span{font-size:15px;opacity:.8}
.in-ic input{border:none;outline:none;padding:12px 0;flex:1;background:transparent}

/* ===================== CLIENTS (pro & dynamique) ===================== */
.cust-stats{display:flex;gap:10px;flex-wrap:wrap;margin:4px 0 10px}
.cstat{background:#fff;border:1px solid var(--line);border-radius:20px;padding:6px 14px;font-size:12.5px;color:var(--muted);box-shadow:var(--shadow)}
.cstat b{color:var(--navy);font-family:'Sora',sans-serif}
#cust-table td{vertical-align:middle}
.cust-row{transition:background .12s}
.cust-row:hover{background:#f6faff}
.cell-date{color:var(--muted);font-size:12.5px;white-space:nowrap}
.cust-id{display:flex;align-items:center;gap:9px;min-width:0}
.cust-av{width:32px;height:32px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;color:#fff;font-weight:800;font-size:12px;font-family:'Sora',sans-serif}
.cust-nm{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lk-wa{display:inline-flex;align-items:center;gap:2px;color:#0f8a43;font-weight:700;text-decoration:none;background:#e7f7ee;padding:4px 10px;border-radius:20px;white-space:nowrap;transition:transform .12s}
.lk-wa:hover{transform:translateY(-1px);background:#d6f2e1}
.lk-mail{color:var(--blue);text-decoration:none;font-weight:600}
.lk-mail:hover{text-decoration:underline}
td .muted{color:#b7c2d0}
/* Mobile : la liste clients devient des cartes empilées (aucun débordement horizontal) */
@media(max-width:640px){
  #cust-table{min-width:0;width:100%}
  .panel[data-panel="customers"] .table-wrap{overflow:visible;border:none;background:transparent}
  #cust-table thead{display:none}
  #cust-table tbody,#cust-table tr,#cust-table td{display:block;width:100%}
  .cust-row{position:relative;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow);margin-bottom:10px;padding:12px 40px 12px 14px}
  .cust-row td{border:none !important;padding:3px 0 !important;text-align:left !important;font-size:13px}
  .cust-row .cell-date{display:none}
  .cust-row td:first-child{position:absolute;top:12px;right:12px;padding:0 !important;width:auto}
  .cust-id{gap:8px}
  .lk-mail{word-break:break-all;font-size:12.5px}
  .lk-wa{font-size:12.5px}
}
@media(max-width:820px){ .ins-grid{grid-template-columns:1fr} .compare-row{grid-template-columns:1fr 56px 66px} }
