/* Espace compte & admin — palette noir / blanc / or */
:root{
  --noir:#0B0A09; --noir2:#141210; --ligne:#2C2620;
  --or:#C9A24B; --or-clair:#E6CB85; --blanc:#FAF6EE; --gris:#B6AE9F; --gris2:#6E685D;
  --ok:#3F7D5B; --err:#9B3B3B;
  --serif:'Georgia',serif; --sans:system-ui,-apple-system,'Segoe UI',sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--noir);color:var(--blanc);font-family:var(--sans);line-height:1.6}
a{color:var(--or-clair);text-decoration:none}
a:hover{color:var(--or)}

.cpt-nav,.adm-nav{display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:16px 28px;background:var(--noir2);border-bottom:1px solid var(--ligne);flex-wrap:wrap}
.cpt-brand,.adm-brand{display:flex;align-items:center;gap:12px;color:var(--blanc);font-family:var(--serif);font-size:1.15rem}
.cpt-seal,.adm-seal{width:34px;height:34px;border-radius:50%;border:1px solid var(--or);
  display:grid;place-items:center;color:var(--or-clair);font-style:italic}
.cpt-nav nav,.adm-nav nav{display:flex;align-items:center;gap:20px;font-size:.9rem}
.cpt-hi,.adm-hi{color:var(--gris)}

.cpt-main,.adm-main{max-width:920px;margin:0 auto;padding:40px 24px}
.adm-main{max-width:1040px}
h1{font-family:var(--serif);font-weight:500;font-size:1.9rem;margin:0 0 6px}
h2{font-family:var(--serif);font-weight:500;font-size:1.3rem;margin:30px 0 14px;color:var(--or-clair)}
.lead{color:var(--gris);margin:0 0 26px}

.card{background:var(--noir2);border:1px solid var(--ligne);padding:26px;margin-bottom:20px;border-radius:2px}

label{display:block;font-size:.8rem;letter-spacing:.04em;color:var(--gris);margin:14px 0 6px;text-transform:uppercase}
input,select{width:100%;padding:11px 13px;background:var(--noir);border:1px solid var(--ligne);
  color:var(--blanc);font-size:1rem;border-radius:2px}
input:focus,select:focus{outline:none;border-color:var(--or)}
/* cases à cocher : taille naturelle, alignées avec leur libellé */
input[type=checkbox]{width:auto;flex:none;margin:0;padding:0;accent-color:var(--or)}
label:has(> input[type=checkbox]){display:flex;align-items:center;gap:10px;
  text-transform:none;font-size:.95rem;color:var(--blanc)}

.cpt-pwd{position:relative}
.cpt-pwd input{padding-right:40px}
.cpt-pwd-toggle{position:absolute;right:2px;top:50%;transform:translateY(-50%);
  background:none;border:0;cursor:pointer;color:var(--gris);
  display:flex;align-items:center;justify-content:center;padding:8px}
.cpt-pwd-toggle:hover{color:var(--or-clair)}
.cpt-pwd-toggle svg{display:block}

.btn{display:inline-block;border:0;cursor:pointer;font-size:.85rem;letter-spacing:.08em;
  text-transform:uppercase;padding:12px 26px;margin-top:18px;border-radius:2px}
.btn-or{background:var(--or);color:var(--noir)}
.btn-or:hover{background:var(--or-clair)}
.btn-ghost{background:transparent;color:var(--blanc);border:1px solid var(--ligne)}
.btn-ghost:hover{border-color:var(--or);color:var(--or-clair)}
.btn-sm{padding:7px 14px;margin-top:0;font-size:.74rem}
.btn-danger{background:transparent;color:#d98a8a;border:1px solid #5e3232}
.btn-danger:hover{background:#5e3232;color:#fff}

.cpt-flash{padding:12px 16px;border-radius:2px;margin-bottom:20px;font-size:.92rem}
.cpt-info{background:rgba(201,162,75,.12);border:1px solid var(--or)}
.cpt-ok{background:rgba(63,125,91,.18);border:1px solid var(--ok);color:#bfe3cd}
.cpt-err{background:rgba(155,59,59,.18);border:1px solid var(--err);color:#f0c4c4}

table{width:100%;border-collapse:collapse;font-size:.92rem}
th,td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--ligne);vertical-align:top}
th{color:var(--gris);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600}
.tag{display:inline-block;padding:2px 9px;border:1px solid var(--ligne);border-radius:20px;font-size:.74rem;color:var(--or-clair)}

.muted{color:var(--gris2);font-size:.85rem}
.row{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.right{margin-left:auto}
.cpt-foot,.adm-foot{text-align:center;color:var(--gris2);font-size:.8rem;padding:30px;border-top:1px solid var(--ligne);margin-top:40px}

@media(max-width:560px){
  .cpt-nav nav,.adm-nav nav{width:100%;justify-content:flex-start;gap:14px;font-size:.82rem}
  table,thead,tbody,th,td,tr{display:block}
  thead{display:none}
  td{border:0;padding:4px 0}
  tr{border-bottom:1px solid var(--ligne);padding:12px 0}
}

/* Page d'attente affichée tant que la boutique en ligne n'est pas ouverte
   (connexion, inscription, mot de passe oublié). */
.cpt-attente{max-width:560px;margin:24px auto;text-align:center;
  border:1px solid var(--ligne);background:var(--noir2);padding:48px 34px}
.cpt-sceau{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 26px;
  border-radius:50%;border:1px solid var(--or);color:var(--or-clair);
  font-family:var(--serif);font-style:italic;font-size:1.7rem}
.cpt-attente h1{margin:0 0 18px;font-size:1.65rem;line-height:1.25}
.cpt-attente p{color:var(--gris);line-height:1.7;margin:0 0 14px}
.cpt-attente .cpt-lead{color:var(--blanc);font-size:1.05rem}
.cpt-attente .cpt-sign{color:var(--gris2);font-style:italic;margin-top:22px}
.cpt-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:30px}

/* =====================================================================
   Tableau de bord : tuiles de navigation, pastilles, graphiques simples
   ===================================================================== */
.adm-tuiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));
  gap:14px;margin:8px 0 34px}
.adm-tuile{position:relative;display:flex;flex-direction:column;gap:5px;
  background:var(--noir2);border:1px solid var(--ligne);padding:20px 18px;
  color:var(--blanc);text-decoration:none;transition:border-color .2s,transform .2s}
.adm-tuile:hover{border-color:var(--or);transform:translateY(-2px);color:var(--blanc)}
.adm-tuile strong{font-family:var(--serif);font-size:1.12rem;color:var(--or-clair)}
.adm-tuile span{font-size:.86rem;color:var(--gris);line-height:1.45}
.adm-tuile em{font-size:.76rem;color:var(--gris2);font-style:normal;
  letter-spacing:.06em;text-transform:uppercase;margin-top:4px}
.adm-tuile--action{border-color:var(--or)}
.adm-tuile--alerte{border-color:#D98A8A}
.adm-tuile--attention{border-color:#D9B36A}

.adm-pastille{position:absolute;top:-9px;right:-9px;min-width:24px;height:24px;
  padding:0 7px;border-radius:12px;display:grid;place-items:center;
  font-size:.74rem;font-weight:700;color:var(--noir);background:var(--or)}
.adm-pastille--alerte{background:#D98A8A;color:#2A1414}
.adm-pastille--attention{background:#D9B36A}
.adm-pastille--info{background:var(--gris);color:var(--noir)}

.adm-barre{display:inline-block;height:8px;background:var(--or-clair);
  border-radius:4px;vertical-align:middle;min-width:2px}

.adm-heures{display:flex;align-items:flex-end;gap:3px;height:120px;margin-top:8px}
.adm-heure{flex:1;display:flex;flex-direction:column;justify-content:flex-end;
  align-items:center;height:100%;gap:5px}
.adm-heure-barre{width:100%;background:var(--ligne);border-radius:2px 2px 0 0;transition:background .2s}
.adm-heure-barre.pic{background:var(--or)}
.adm-heure:hover .adm-heure-barre{background:var(--or-clair)}
.adm-heure-lbl{font-size:.66rem;color:var(--gris2);height:12px}

/* Tuiles de réglages sur l'écran de préparation : mêmes codes que le
   tableau de bord, mais elles ouvrent un bloc au lieu de changer de page. */
.adm-tuile{font:inherit;text-align:left;cursor:pointer;width:100%}
.adm-tuile.ouvert{border-color:var(--or);background:var(--noir)}
.adm-tuile.ouvert strong::after{content:' ▾';font-size:.8em;color:var(--gris2)}
.prep-bloc,.adm-bloc{margin-top:4px}

/* Bandeau d'état de la boutique, en haut du tableau de bord. Il s'affiche
   dans les deux sens : une boutique fermée qu'on a oublié de rouvrir ne se
   signale autrement par rien du tout. */
.adm-etat{display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  padding:16px 20px;margin:0 0 26px;border-radius:2px;
  border:1px solid var(--ligne);background:var(--noir2)}
.adm-etat--ouverte{border-color:var(--ok);background:rgba(63,125,91,.12)}
.adm-etat--fermee{border-color:var(--err);background:rgba(155,59,59,.14)}
.adm-etat-pastille{flex:none;width:12px;height:12px;border-radius:50%}
.adm-etat--ouverte .adm-etat-pastille{background:var(--ok);box-shadow:0 0 0 4px rgba(63,125,91,.22)}
.adm-etat--fermee .adm-etat-pastille{background:var(--err);box-shadow:0 0 0 4px rgba(155,59,59,.22)}
.adm-etat-texte{flex:1;min-width:240px;display:flex;flex-direction:column;gap:3px}
.adm-etat-texte strong{font-family:var(--serif);font-size:1.2rem}
.adm-etat--ouverte .adm-etat-texte strong{color:#bfe3cd}
.adm-etat--fermee .adm-etat-texte strong{color:#f0c4c4}
.adm-etat-texte span{font-size:.88rem;color:var(--gris);line-height:1.5}
/* Ces deux-là sont aussi des span de .adm-etat-texte : sans la classe
   parente devant, la règle ci-dessus l'emporterait sur elles. */
.adm-etat-texte .muted{font-size:.85rem;color:var(--gris2)}
.adm-etat-texte .adm-etat-note{font-size:.82rem;color:var(--or-clair);
  font-style:italic;margin-top:2px}
.adm-etat .btn{flex:none}
