*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#070707;color:#fff}.admin-layout{display:flex;min-height:100vh}.sidebar{width:260px;background:#101010;border-right:1px solid #242424;padding:25px;position:sticky;top:0;height:100vh}.brand{font-size:38px;font-weight:900;color:#E53935;margin-bottom:30px}.side-nav a{display:block;color:#ddd;text-decoration:none;padding:14px 16px;border-radius:12px;margin-bottom:8px;font-weight:800}.side-nav a:hover,.side-nav a.active{background:#E53935;color:#fff}.main{flex:1;padding:30px;max-width:1400px}.admin-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.card{background:#121212;border:1px solid #252525;border-radius:20px;padding:25px;margin-bottom:20px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.field.full{grid-column:1/-1}.field label{display:block;font-weight:900;margin-bottom:8px}.field input,.field textarea,.field select{width:100%;padding:14px 16px;border-radius:12px;border:1px solid #333;background:#1b1b1b;color:#fff;font-size:16px}.field textarea{min-height:120px}.btn{display:inline-block;background:#E53935;color:#fff;text-decoration:none;border:0;border-radius:12px;padding:13px 20px;font-weight:900;cursor:pointer}.btn.secondary{background:#252525}.btn.danger{background:#7f1d1d}.notice{background:#123d20;border:1px solid #20803c;color:#caffd3;padding:15px;border-radius:12px;margin-bottom:20px}.notice.error{background:#3d1212;border-color:#802020;color:#ffd2d2}.check{display:flex!important;gap:10px;align-items:center}.check input{width:auto!important}.table{width:100%;border-collapse:collapse;background:#121212;border-radius:18px;overflow:hidden}.table th,.table td{text-align:left;padding:16px;border-bottom:1px solid #252525}.table th{color:#aaa}.badge{display:inline-block;padding:6px 10px;border-radius:999px;background:#333;font-weight:900}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.stat{background:#121212;border:1px solid #252525;border-radius:20px;padding:25px}.stat strong{font-size:42px;color:#E53935}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#050505}.login-box{width:420px;background:#121212;border:1px solid #252525;border-radius:24px;padding:35px}.hint{color:#999;font-size:13px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}@media(max-width:900px){.admin-layout{display:block}.sidebar{width:auto;height:auto;position:relative}.grid,.stats{grid-template-columns:1fr}.admin-top{display:block}.main{padding:18px}.table{font-size:14px}.table th,.table td{padding:10px}}

/* VERSION 26 - Onglet installation simple */
.install-top{margin-bottom:14px}.install-compact{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.version-current,.version-upload{margin-bottom:0}.version-label{font-size:24px;font-weight:900;color:#E53935;margin:12px 0}.version-meta{color:#aaa;margin:6px 0}.install-check{margin-top:16px}.install-actions{margin-top:18px}.version-upload input[type=file]{background:#0d0d0d;border:1px dashed #444;padding:18px}@media(max-width:900px){.install-compact{grid-template-columns:1fr}.version-label{font-size:20px}.install-top p{margin-bottom:0}}


/* KPIZZ V27 - menu admin enroule compact */
.admin-layout{display:block;min-height:100vh;}
.sidebar.admin-sidebar-compact{width:100%;height:auto;position:sticky;top:0;z-index:1000;padding:14px 22px;background:#101010;border-right:0;border-bottom:1px solid #242424;}
.admin-bar-compact{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1400px;margin:0 auto;}
.admin-bar-compact .brand{margin:0;font-size:34px;}
.admin-menu-roll{position:relative;margin-left:auto;}
.admin-menu-roll summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:999px;background:#E53935;color:#fff;font-weight:900;}
.admin-menu-roll summary::-webkit-details-marker{display:none;}
.admin-menu-roll[open] summary{background:#ff4b4b;}
.admin-menu-roll .side-nav{position:absolute;right:0;top:calc(100% + 12px);min-width:250px;background:#080808;border:1px solid #282828;border-radius:18px;padding:12px;box-shadow:0 20px 50px rgba(0,0,0,.55);}
.admin-menu-roll .side-nav a{display:block;margin:0 0 8px 0;background:#151515;border:1px solid #252525;}
.admin-menu-roll .side-nav a:last-child{margin-bottom:0;}
.main{max-width:1400px;margin:0 auto;padding:28px;}
@media(max-width:900px){.sidebar.admin-sidebar-compact{padding:12px 16px}.admin-bar-compact .brand{font-size:30px}.admin-menu-roll summary{padding:10px 14px}.main{padding:18px}.admin-menu-roll .side-nav{right:0;min-width:230px}}

/* KPIZZ V28 - onglet installer ultra compact */
.install-mini-page{max-width:980px;margin:0 auto;}
.install-mini-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;}
.install-mini-head h1{font-size:30px;margin:0;line-height:1.1;}
.mini-back{padding:10px 14px;border-radius:999px;white-space:nowrap;}
.mini-notice{padding:10px 12px;margin-bottom:10px;}
.install-mini-card{padding:16px;margin-bottom:8px;display:grid;grid-template-columns:1fr 1.35fr;gap:16px;align-items:center;border-radius:16px;}
.version-mini{display:flex;flex-direction:column;gap:4px;min-width:0;}
.version-mini .mini-kicker{font-size:13px;color:#aaa;font-weight:900;text-transform:uppercase;letter-spacing:.6px;}
.version-mini strong{font-size:18px;color:#E53935;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.version-mini small{color:#aaa;font-size:13px;}
.install-mini-form{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;}
.mini-file{width:100%;padding:11px;border-radius:12px;border:1px dashed #444;background:#0d0d0d;color:#fff;font-size:14px;}
.mini-check{font-size:14px;white-space:nowrap;margin:0!important;}
.mini-submit{padding:12px 18px;border-radius:12px;white-space:nowrap;}
.mini-help{color:#aaa;margin:8px 0 0;font-size:14px;}
@media(max-width:900px){
  .main{padding:12px;}
  .install-mini-page{max-width:none;}
  .install-mini-head h1{font-size:24px;}
  .install-mini-card{grid-template-columns:1fr;gap:10px;padding:13px;}
  .install-mini-form{grid-template-columns:1fr;gap:8px;}
  .mini-check{white-space:normal;}
  .mini-submit{width:100%;}
  .version-mini strong{font-size:16px;white-space:normal;}
  .mini-help{font-size:13px;}
}

/* KPIZZ V29 - bouton voir le site dans installer */
.install-mini-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end;}
.mini-site{padding:10px 14px;border-radius:999px;white-space:nowrap;}
@media(max-width:900px){.install-mini-actions{gap:6px}.mini-back,.mini-site{padding:9px 12px;font-size:14px}}


/* KPIZZ V53 - menu admin deroulant ferme par defaut et enroule au clic */
.admin-menu-roll:not([open]) .side-nav{display:none;}
.admin-menu-roll summary{user-select:none;}
.admin-menu-roll .side-nav a{cursor:pointer;}
@media(max-width:900px){
  .admin-menu-roll .side-nav{position:fixed;right:16px;left:16px;top:86px;min-width:0;max-height:calc(100vh - 110px);overflow:auto;}
}

/* KPIZZ VERSION 124 - MENU ADMIN TOUJOURS VISIBLE EN HAUT
   Modification ciblee : aucun changement des donnees PDV ou du site public. */
.admin-layout{
  display:block!important;
  min-height:100vh!important;
}

.admin-layout > .sidebar,
.sidebar.admin-sidebar-compact{
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  position:sticky!important;
  top:0!important;
  z-index:10000!important;
  padding:12px 24px!important;
  border-right:0!important;
  border-bottom:1px solid #242424!important;
  background:#101010!important;
  overflow:visible!important;
}

.admin-layout > .sidebar .admin-bar-compact,
.sidebar.admin-sidebar-compact .admin-bar-compact{
  width:100%!important;
  max-width:1400px!important;
  margin:0 auto!important;
  display:flex!important;
  align-items:center!important;
  gap:22px!important;
}

.admin-layout > .sidebar .brand,
.sidebar.admin-sidebar-compact .brand{
  margin:0!important;
  flex:0 0 auto!important;
  font-size:34px!important;
  line-height:1!important;
}

.admin-menu-roll{
  position:static!important;
  margin:0!important;
  flex:1 1 auto!important;
  min-width:0!important;
}

.admin-menu-roll summary{
  display:none!important;
}

.admin-menu-roll:not([open]) .side-nav,
.admin-menu-roll .side-nav,
.admin-layout > .sidebar > .side-nav,
.sidebar.admin-sidebar-compact .side-nav{
  display:flex!important;
  position:static!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}

.admin-menu-roll .side-nav a,
.admin-layout > .sidebar > .side-nav a,
.sidebar.admin-sidebar-compact .side-nav a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  margin:0!important;
  padding:10px 14px!important;
  border:1px solid #303030!important;
  border-radius:12px!important;
  background:#171717!important;
  color:#fff!important;
  white-space:nowrap!important;
}

.admin-menu-roll .side-nav a:hover,
.admin-menu-roll .side-nav a.active,
.admin-layout > .sidebar > .side-nav a:hover,
.admin-layout > .sidebar > .side-nav a.active{
  background:#E53935!important;
  border-color:#E53935!important;
  color:#fff!important;
}

.admin-layout > .main{
  width:100%!important;
  max-width:1400px!important;
  margin:0 auto!important;
  padding:28px!important;
}

/* Retire uniquement le bouton d'ajout de l'ancienne page Admin > Pizzerias. */
body:has(table.table) .admin-top > a.btn[href*="pizzer"],
body:has(table.table) .admin-top > a.btn[href*="creer"],
body:has(table.table) .admin-top > a.btn[href*="ajouter"],
body:has(table.table) .admin-top > a.btn[href*="new"],
body:has(table.table) .admin-top > a.btn[href*="add"]{
  display:none!important;
}

@media(max-width:900px){
  .admin-layout > .sidebar,
  .sidebar.admin-sidebar-compact{
    padding:12px 14px!important;
  }

  .admin-layout > .sidebar .admin-bar-compact,
  .sidebar.admin-sidebar-compact .admin-bar-compact{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:12px!important;
  }

  .admin-layout > .sidebar .brand,
  .sidebar.admin-sidebar-compact .brand{
    font-size:30px!important;
  }

  .admin-menu-roll,
  .admin-menu-roll .side-nav,
  .admin-layout > .sidebar > .side-nav,
  .sidebar.admin-sidebar-compact .side-nav{
    width:100%!important;
  }

  .admin-menu-roll .side-nav a,
  .admin-layout > .sidebar > .side-nav a,
  .sidebar.admin-sidebar-compact .side-nav a{
    flex:1 1 145px!important;
    white-space:normal!important;
    text-align:center!important;
  }

  .admin-layout > .main{
    padding:18px!important;
  }
}

@media(max-width:520px){
  .admin-menu-roll .side-nav a,
  .admin-layout > .sidebar > .side-nav a,
  .sidebar.admin-sidebar-compact .side-nav a{
    flex:1 1 calc(50% - 8px)!important;
    min-height:46px!important;
    padding:10px 8px!important;
    font-size:14px!important;
  }
}

/* KPIZZ V312 - meme ecart entre toutes les bulles du tableau de bord. */
.stats{
  margin-bottom:20px!important;
}
