/* =============================================
   Admin Panel CSS
   ============================================= */
:root {
    --admin-dark:  #1E1B2E;
    --admin-side:  #2D2A3E;
    --admin-accent:#C8962E;
    --admin-light: #F4F2FF;
    --admin-white: #FFFFFF;
    --radius: 10px;
    --shadow: 0 2px 16px rgba(0,0,0,.1);
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'Lato', sans-serif; background: var(--admin-light); color: #2D1B0E; }

/* Layout */
.admin-layout { display: flex; min-height: 100vh; }
.admin-sidebar { width: 240px; background: var(--admin-side); flex-shrink: 0; display: flex; flex-direction: column; }
.sidebar-logo  { padding: 1.5rem 1.25rem; font-size: 1.2rem; font-weight: 700; color: var(--admin-accent); border-bottom: 1px solid rgba(255,255,255,.07); }
.sidebar-nav   { padding: 1rem 0; flex: 1; }
.sidebar-nav a { display: flex; align-items: center; gap: .75rem; padding: .75rem 1.5rem; color: rgba(255,255,255,.7); font-size: .92rem; transition: .2s; }
.sidebar-nav a:hover, .sidebar-nav a.active { background: rgba(255,255,255,.08); color: #fff; }
.sidebar-nav a.active { border-left: 3px solid var(--admin-accent); }
.sidebar-nav a i { width: 18px; text-align: center; }
.logout-link { margin-top: auto; color: #f87171 !important; border-top: 1px solid rgba(255,255,255,.07); }
.admin-main  { flex: 1; padding: 0; overflow-x: hidden; }
.admin-topbar{ background: var(--admin-white); padding: 1.1rem 2rem; display: flex; justify-content: space-between; align-items: center; box-shadow: 0 1px 8px rgba(0,0,0,.06); }
.admin-topbar h1 { font-size: 1.3rem; color: #1E1B2E; }

/* Stats */
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem; padding: 1.5rem 2rem; }
.stat-box   { background: var(--admin-white); border-radius: var(--radius); padding: 1.5rem; display: flex; align-items: center; gap: 1rem; box-shadow: var(--shadow); }
.stat-box i { font-size: 1.8rem; color: var(--admin-accent); }
.stat-box span { font-size: 1.8rem; font-weight: 700; display: block; }
.stat-box p    { font-size: .82rem; color: #6B7280; }
.stat-box.accent { background: var(--admin-accent); }
.stat-box.accent i, .stat-box.accent span, .stat-box.accent p { color: var(--admin-dark); }

/* Cards */
.card        { background: var(--admin-white); border-radius: var(--radius); padding: 1.5rem; box-shadow: var(--shadow); margin: 0 2rem 1.5rem; }
.card h2     { font-size: 1.1rem; color: #1E1B2E; margin-bottom: 1.25rem; }
.card-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.25rem; }
.card-header a { color: var(--admin-accent); font-size: .88rem; font-weight: 700; }
.dash-grid   { display: grid; grid-template-columns: 2fr 1fr; gap: 1.5rem; padding: 0 2rem 2rem; }

/* Table */
.admin-table      { width: 100%; border-collapse: collapse; font-size: .9rem; }
.admin-table th   { text-align: left; padding: .75rem; border-bottom: 2px solid #E5E7EB; color: #6B7280; font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; }
.admin-table td   { padding: .75rem; border-bottom: 1px solid #F3F4F6; vertical-align: middle; }
.admin-table tr:hover td { background: #FAFAFA; }
.table-thumb      { width: 48px; height: 48px; object-fit: cover; border-radius: 6px; }
.placeholder-thumb { width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; background: #F3F4F6; border-radius: 6px; font-size: 1.5rem; }

/* Badges */
.badge          { padding: .25rem .7rem; border-radius: 20px; font-size: .75rem; font-weight: 700; }
.badge-en_attente  { background: #FEF3C7; color: #92400E; }
.badge-confirmee   { background: #DBEAFE; color: #1E40AF; }
.badge-en_preparation { background: #FDE8D8; color: #9D3412; }
.badge-livree      { background: #DCFCE7; color: #166534; }
.badge-annulee     { background: #FEE2E2; color: #991B1B; }
.badge-ok          { background: #DCFCE7; color: #166534; }
.badge-off         { background: #F3F4F6; color: #6B7280; }

/* Buttons */
.btn-admin  { display: inline-flex; align-items: center; gap: .5rem; background: var(--admin-accent); color: #fff; border: none; padding: .6rem 1.25rem; border-radius: 8px; font-size: .9rem; font-weight: 700; cursor: pointer; text-decoration: none; transition: .2s; }
.btn-admin:hover { opacity: .88; }
.btn-admin.btn-ghost { background: transparent; color: #6B7280; border: 2px solid #E5E7EB; }
.btn-icon   { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; background: #F3F4F6; border-radius: 6px; color: #374151; font-size: .85rem; transition: .2s; margin-right: .25rem; }
.btn-icon:hover { background: var(--admin-accent); color: #fff; }
.btn-icon.btn-danger:hover { background: #DC2626; }
.actions    { white-space: nowrap; }

/* Forms */
.admin-form  .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
.admin-form  .form-group { display: flex; flex-direction: column; gap: .35rem; }
.admin-form  .form-group.full { grid-column: 1 / -1; }
.admin-form  label { font-size: .85rem; font-weight: 700; color: #374151; }
.admin-form  input,
.admin-form  select,
.admin-form  textarea { border: 2px solid #E5E7EB; border-radius: 8px; padding: .65rem .9rem; font-size: .92rem; font-family: 'Lato', sans-serif; transition: .2s; }
.admin-form  input:focus,
.admin-form  select:focus,
.admin-form  textarea:focus { outline: none; border-color: var(--admin-accent); }
.form-actions { display: flex; gap: .75rem; margin-top: 1.5rem; padding-top: 1.25rem; border-top: 2px solid #F3F4F6; }
.checkboxes  { display: flex; flex-direction: column; gap: .5rem; justify-content: center; }
.checkbox-label { display: flex; align-items: center; gap: .5rem; cursor: pointer; font-size: .92rem; }
.current-img img { max-width: 120px; border-radius: 8px; margin-bottom: .5rem; }

/* Quick links */
.quick-links { display: flex; flex-direction: column; gap: .5rem; }
.quick-link  { display: flex; align-items: center; gap: .75rem; padding: .75rem 1rem; background: var(--admin-light); border-radius: 8px; font-size: .9rem; font-weight: 600; color: #374151; transition: .2s; }
.quick-link:hover { background: var(--admin-accent); color: #fff; }
.quick-link i { color: var(--admin-accent); transition: .2s; }
.quick-link:hover i { color: #fff; }

/* Two col */
.two-col { display: grid; grid-template-columns: 1fr 1.5fr; gap: 1.5rem; padding: 0 2rem 2rem; }
.detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin-bottom: 1.5rem; }

/* Alerts */
.alert { padding: .9rem 1.25rem; border-radius: 8px; margin: 0 2rem 1.5rem; display: flex; align-items: center; gap: .6rem; }
.alert-success { background: #DCFCE7; color: #166534; }
.alert-error   { background: #FEE2E2; color: #991B1B; }

/* Login */
.login-page { background: linear-gradient(135deg, #1E1B2E, #2D2A3E); display: flex; align-items: center; justify-content: center; min-height: 100vh; }
.login-box  { background: #fff; border-radius: 16px; padding: 2.5rem; width: 380px; box-shadow: 0 8px 40px rgba(0,0,0,.3); }
.login-logo { font-size: 1.5rem; font-weight: 700; color: var(--admin-accent); text-align: center; margin-bottom: .5rem; }
.login-box h2 { text-align: center; font-size: 1.2rem; color: #374151; margin-bottom: 1.75rem; }
.login-box .form-group { margin-bottom: 1.25rem; }
.login-box label { display: block; font-size: .85rem; font-weight: 700; color: #374151; margin-bottom: .4rem; }
.login-box input { width: 100%; border: 2px solid #E5E7EB; border-radius: 8px; padding: .75rem 1rem; font-size: .95rem; transition: .2s; }
.login-box input:focus { outline: none; border-color: var(--admin-accent); }
.btn-login  { width: 100%; background: var(--admin-accent); color: #fff; border: none; padding: .85rem; border-radius: 8px; font-size: 1rem; font-weight: 700; cursor: pointer; transition: .2s; }
.btn-login:hover { opacity: .88; }
.back-link  { display: block; text-align: center; margin-top: 1.25rem; color: #6B7280; font-size: .88rem; }
.back-link:hover { color: var(--admin-accent); }

@media (max-width: 900px) {
    .stats-grid { grid-template-columns: 1fr 1fr; }
    .dash-grid, .two-col { grid-template-columns: 1fr; padding: 0 1rem 1.5rem; }
    .card { margin: 0 1rem 1.25rem; }
    .admin-form .form-grid { grid-template-columns: 1fr; }
    .detail-grid { grid-template-columns: 1fr; }
}

/* ---- PARAMÈTRES ---- */
.param-section       { margin-bottom: 1.75rem; }
.param-section-title { font-size: 1rem; font-weight: 700; color: var(--admin-dark); margin-bottom: .75rem; display: flex; align-items: center; gap: .5rem; }
.param-section-title i { color: var(--admin-accent); }
.param-card          { margin: 0 !important; }
.btn-lg              { padding: .85rem 2rem; font-size: 1rem; }

/* ---- NOTIFICATIONS ---- */
.notif-badge { background:#EF4444;color:#fff;font-size:.68rem;font-weight:700;border-radius:50%;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;margin-left:auto; }
.notif-badge.pulse { animation:pulse-anim 1.5s infinite; }
@keyframes pulse-anim{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.25);opacity:.75}}
.alert-notif{background:linear-gradient(90deg,#FEF3C7,#FDE68A);border-left:4px solid #F59E0B;border-radius:8px;padding:1rem 1.5rem;margin:1rem 2rem;display:flex;align-items:center;gap:1rem;}
.alert-notif i{font-size:1.5rem;color:#D97706;animation:pulse-anim 1.5s infinite;}
.alert-notif div{flex:1;}
.alert-notif strong{display:block;color:#92400E;}
.alert-notif span{font-size:.88rem;color:#78350F;}
.notif-list{display:flex;flex-direction:column;gap:.5rem;}
.notif-list.compact .notif-item{padding:.6rem .75rem;}
.notif-item{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border-radius:8px;border:1px solid #E5E7EB;}
.notif-item.non-lue{background:#FFFBEB;border-color:#FCD34D;}
.notif-item.lue{background:#FAFAFA;opacity:.75;}
.notif-icon{width:36px;height:36px;border-radius:50%;background:var(--admin-accent);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.9rem;}
.notif-body{flex:1;}
.notif-body p{font-size:.88rem;margin-bottom:.2rem;}
.notif-body small{color:#9CA3AF;font-size:.76rem;}
.notif-action{color:var(--admin-accent);font-size:.9rem;padding:.4rem;}
.empty-notifs{text-align:center;padding:3rem;color:#9CA3AF;}
.empty-notifs i{font-size:2.5rem;display:block;margin-bottom:1rem;}
.row-new{background:#FFFBEB !important;}
.dot-new{display:inline-block;width:8px;height:8px;background:#EF4444;border-radius:50%;margin-right:.4rem;animation:pulse-anim 1.5s infinite;}
.badge-momo{background:#ECFDF5;color:#065F46;}
.badge-livraison{background:#EFF6FF;color:#1E40AF;}
.momo-detail-box{background:#ECFDF5;border:1px solid #6EE7B7;border-radius:10px;padding:1.25rem;}
.momo-detail-box h3{color:#065F46;margin-bottom:.75rem;}
.momo-detail-box p{margin-bottom:.4rem;font-size:.92rem;}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:1.5rem;}
.detail-grid p{margin-bottom:.4rem;font-size:.92rem;}
.two-col{display:grid;grid-template-columns:1fr 1.5fr;gap:1.5rem;padding:0 2rem 2rem;}
.topbar-right{display:flex;align-items:center;gap:1rem;}
.quick-links{display:flex;flex-direction:column;gap:.5rem;}
.quick-link{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--admin-light);border-radius:8px;font-size:.9rem;font-weight:600;color:#374151;transition:.2s;}
.quick-link:hover{background:var(--admin-accent);color:#fff;}
.quick-link i{color:var(--admin-accent);transition:.2s;}
.quick-link:hover i{color:#fff;}

/* ---- ONGLETS PARAMÈTRES ---- */
.param-tabs { display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;padding-top:.5rem; }
.param-tab  { background:#F3F4F6;border:2px solid #E5E7EB;border-radius:8px;padding:.55rem 1.1rem;font-size:.88rem;font-weight:700;color:#374151;cursor:pointer;transition:.2s;font-family:'Lato',sans-serif; }
.param-tab:hover  { background:#E5E7EB; }
.param-tab.active { background:var(--admin-accent);border-color:var(--admin-accent);color:#fff; }
.param-panel      { display:none; }
.param-panel.active { display:block; }
.param-card       { margin:0 0 1.25rem 0 !important; }
.param-section-title { font-size:1rem;font-weight:700;color:#1E1B2E;display:flex;align-items:center;gap:.5rem;margin-bottom:1.25rem; }
.param-section-title i { color:var(--admin-accent); }

/* FedaPay guide */
.fedapay-guide { background:#EFF6FF;border:1px solid #BFDBFE;border-radius:8px;padding:1.1rem 1.25rem;margin-bottom:1.5rem;font-size:.88rem; }
.fedapay-guide h4 { color:#1E40AF;margin-bottom:.6rem; }
.fedapay-guide ol { padding-left:1.25rem; }
.fedapay-guide li { padding:.2rem 0; }
.fedapay-guide a  { color:#1E40AF;text-decoration:underline; }
.fedapay-guide code { background:#DBEAFE;padding:.1rem .4rem;border-radius:4px; }
.fedapay-status { margin-top:1rem;font-size:.9rem;font-weight:700;display:flex;align-items:center;gap:.5rem; }
.admin-form small { color:#9CA3AF;font-size:.76rem;margin-top:.25rem;display:block; }

/* FedaPay sur panier public */
.fedapay-zone { max-width:600px;margin:2rem auto;background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 24px rgba(0,0,0,.1); }
.fedapay-header { text-align:center;margin-bottom:1.5rem; }
.fedapay-logo   { font-size:1.2rem;font-weight:700;color:#1E40AF;margin-bottom:.5rem; }
.fedapay-info   { text-align:center;color:#6B7280;font-size:.82rem;margin-top:1rem;display:flex;align-items:center;justify-content:center;gap:.5rem; }
.fedapay-note   { background:#EFF6FF;border:1px solid #BFDBFE;border-radius:8px;padding:.75rem 1rem;font-size:.85rem;color:#1E40AF;margin-top:.75rem;display:flex;align-items:flex-start;gap:.6rem; }
.btn-outline-brown { display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.5rem;border:2px solid var(--brown);color:var(--brown);border-radius:8px;font-weight:700;font-size:.9rem;cursor:pointer;background:transparent;transition:var(--trans);font-family:var(--font-body); }
.btn-outline-brown:hover { background:var(--brown);color:#fff; }

/* ---- HERO IMAGE UPLOAD ---- */
.hero-current-img { margin-bottom: .75rem; }
.hero-current-img img { width: 100%; max-width: 420px; height: 160px; object-fit: cover; border-radius: 10px; border: 2px solid #E5E7EB; display: block; }
