/* Axorun Console — thème sombre unifié (refonte 2026-06-12).
   CSS pur : aucun changement de logique, les ids/structure de index.html et app.js sont inchangés. */

:root{
  --bg:#0e0f12;            /* fond général */
  --card:#16181d;          /* panneaux / fieldsets */
  --card-soft:#1c1f26;     /* champs de saisie */
  --line:#262932;          /* bordures */
  --line-strong:#343845;
  --ink:#e8e6e1;           /* texte principal */
  --muted:#9a958c;         /* texte secondaire */
  --faint:#6b675f;
  --accent:#ff7a45;        /* flamme Axorun */
  --grad-flame:linear-gradient(135deg,#ff9a3c,#ff7a45 55%,#ff5e62);
  --on-flame:#1b0f08;      /* texte sur fond flamme */
  --green:#6fcf97;
  --red:#ff6b5e;
  --radius:12px;
}

/* le mécanisme hidden de l'app repose sur l'attribut — ne jamais l'écraser (leçon 2026-06-11) */
[hidden]{display:none !important}

*{box-sizing:border-box}
body{
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
  max-width:980px;margin:0 auto;padding:1.2rem 1.2rem 4rem;
  background:var(--bg);color:var(--ink);line-height:1.55;
}

/* ── Header ── */
header{display:flex;justify-content:space-between;align-items:center;padding:.4rem 0 1rem;border-bottom:1px solid var(--line);margin-bottom:1.2rem}
h1{margin:0;font-size:1.35rem;letter-spacing:.3px;display:flex;align-items:center;gap:.6rem}
h1::before{content:"A";display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--grad-flame);color:var(--on-flame);font-weight:800;font-size:1.1rem}
h2{font-size:1.05rem;margin:.2rem 0 .8rem;color:var(--ink)}

/* ── Sections = cartes ── */
section{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.2rem;margin-bottom:1.2rem}
#login-view{max-width:380px;margin:14vh auto 0;display:grid;gap:.7rem;text-align:center;padding:2rem 1.8rem}
#login-view h2{margin-bottom:.2rem}
#login-view input{text-align:center}

/* ── Boutons ── */
button{
  background:var(--card-soft);color:var(--ink);border:1px solid var(--line-strong);
  padding:.5rem .85rem;border-radius:9px;cursor:pointer;font-size:.88rem;
  transition:border-color .15s, background .15s;
}
button:hover{border-color:var(--accent);color:var(--ink)}
/* actions principales = flamme */
#login-btn,#save,#tenant-create,#user-create,#new-client,#add-pizza,#add-item{
  background:var(--grad-flame);color:var(--on-flame);border:0;font-weight:700;
}
#login-btn:hover,#save:hover,#tenant-create:hover,#user-create:hover,#new-client:hover{filter:brightness(1.08)}
/* boutons de navigation discrets */
#back,#val-back,#tenants-back,#users-back,#logout{background:none;border:1px solid var(--line);color:var(--muted)}
.row{display:flex;justify-content:space-between;align-items:center;gap:.8rem;flex-wrap:wrap;margin-bottom:.6rem}
.row span{display:flex;gap:.5rem;flex-wrap:wrap}

/* ── Champs ── */
input,select,textarea{
  background:var(--card-soft);color:var(--ink);
  border:1px solid var(--line-strong);border-radius:9px;
  padding:.5rem .65rem;font-size:.9rem;font-family:inherit;
  accent-color:var(--accent);
}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}
input::placeholder,textarea::placeholder{color:var(--faint)}
select{appearance:none;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%239a958c'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center;padding-right:1.6rem}
textarea{width:100%;resize:vertical}
label{font-size:.85rem;color:var(--muted)}

/* ── Fieldsets = sous-cartes ── */
fieldset{background:var(--bg);border:1px solid var(--line);border-radius:10px;margin:.9rem 0;padding:.9rem 1rem;display:flow-root}
legend{color:var(--accent);font-size:.82rem;font-weight:600;letter-spacing:.3px;padding:0 .45rem}
fieldset input,fieldset select{margin:.15rem .35rem .15rem 0}

/* ── Tableaux ── */
table{width:100%;border-collapse:collapse;margin:.6rem 0;font-size:.88rem}
th{color:var(--muted);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.4px}
th,td{text-align:left;padding:.55rem .5rem;border-bottom:1px solid var(--line)}
tbody tr:hover{background:rgba(255,122,69,.05)}
td input,td select{padding:.35rem .5rem;font-size:.85rem;max-width:130px}
td button{padding:.3rem .6rem;font-size:.8rem}
code{background:var(--card-soft);border:1px solid var(--line);border-radius:6px;padding:.1rem .35rem;font-size:.82rem;color:#ffb38a}

/* ── Textes d'aide / messages ── */
.hint{font-size:.84rem;color:var(--muted);background:rgba(255,122,69,.06);border:1px dashed rgba(255,122,69,.35);border-radius:9px;padding:.6rem .8rem}
.hint b{color:var(--ink)}
.error{color:var(--red);font-size:.85rem;min-height:1.1em}
#editor-msg,#tenants-msg,#users-msg,#val-msg{font-size:.85rem;color:var(--green)}

/* badge compteur validations */
#val-badge{display:inline-block;min-width:1.2em;margin-left:.35em;background:var(--red);color:#fff;border-radius:999px;font-size:.72rem;padding:.05em .4em;font-weight:700}
#val-badge:empty{display:none}

/* détails repliables (menu texte) */
details{border:1px solid var(--line);border-radius:9px;padding:.5rem .8rem;background:var(--card-soft)}
summary{cursor:pointer;color:var(--muted);font-size:.85rem}
details[open] summary{margin-bottom:.5rem}
pre{color:var(--ink)}

@media (max-width:640px){
  body{padding:.8rem .8rem 3rem}
  section{padding:.9rem}
  .row{flex-direction:column;align-items:flex-start}
  td input,td select{max-width:90px}
}
