/* ============================================================
   EMMANUELLE OMIN — Espace d'administration
   ============================================================ */
:root{
  --noir:#0d0d0f;--noir-2:#16161a;--noir-3:#1e1e24;--creme:#f2efe8;--gris:#9a988f;
  --or:#c6a253;--or-clair:#e4cf98;--ligne:rgba(198,162,83,.22);--ok:#7ec98f;--ko:#e08a7a;
  --sans:'Jost','Helvetica Neue',Arial,sans-serif;--serif:'Cormorant Garamond',Georgia,serif;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--sans);background:var(--noir);color:var(--creme);font-size:14px;line-height:1.5}
a{color:inherit;text-decoration:none}
h1,h2{font-family:var(--serif);font-weight:500}
.mono{font-family:ui-monospace,Menlo,Consolas,monospace}
.small{font-size:.8em}.muted{color:var(--gris)}
.ok{color:var(--ok)}.ko{color:var(--ko)}

.abar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;
  padding:.9rem 1.6rem;background:rgba(13,13,15,.96);border-bottom:1px solid var(--ligne);backdrop-filter:blur(8px)}
.abrand{font-family:var(--serif);font-size:1.25rem;letter-spacing:.22em}
.abrand .ver{font-family:var(--sans);font-size:.55rem;letter-spacing:.16em;color:var(--or);
  border:1px solid var(--ligne);padding:2px 7px;border-radius:2px;margin-left:.5rem;vertical-align:middle}
.atools{display:flex;align-items:center;gap:1.2rem}
.who{font-size:.72rem;letter-spacing:.1em;color:var(--gris)}
.alogout{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;border:1px solid var(--ligne);
  padding:.4rem .9rem;transition:.3s}
.alogout:hover{background:var(--or);color:var(--noir);border-color:var(--or)}
.lang-dd{background:transparent;border:1px solid var(--ligne);color:var(--creme);font-family:var(--sans);
  font-size:.66rem;letter-spacing:.1em;padding:.35rem .4rem;text-transform:uppercase}
.lang-dd option{background:var(--noir-2)}

.ashell{display:flex;min-height:calc(100vh - 108px)}
.aside{flex:0 0 240px;background:var(--noir-2);border-right:1px solid var(--ligne);padding:1.4rem 0}
.aside ul{list-style:none}
.aside li a{display:block;padding:.85rem 1.6rem;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gris);border-left:2px solid transparent;transition:.25s}
.aside li a:hover{color:var(--creme);background:var(--noir-3)}
.aside li.on a{color:var(--or-clair);border-left-color:var(--or);background:var(--noir-3)}
.amain{flex:1;padding:1.4rem 2rem 3rem;overflow-x:auto}

.breadcrumb ol{list-style:none;display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}
.breadcrumb li{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gris)}
.breadcrumb li+li::before{content:"›";margin-right:.5rem;color:var(--or)}
.breadcrumb a{color:var(--gris)}.breadcrumb a:hover{color:var(--or)}
.breadcrumb li[aria-current]{color:var(--or-clair)}
.atitle{font-size:2rem;letter-spacing:.03em;margin-bottom:1.4rem}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:2rem}
.card{background:var(--noir-2);border:1px solid var(--ligne);padding:1.2rem}
.card .cnum{font-family:var(--serif);font-size:2rem;color:var(--or-clair)}
.card .clbl{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gris);margin-top:.3rem}

h2{font-size:1.5rem;margin:1.6rem 0 1rem;letter-spacing:.03em}
.tablewrap{overflow-x:auto;border:1px solid var(--ligne);background:var(--noir-2)}
table{width:100%;border-collapse:collapse;min-width:640px}
th,td{text-align:left;padding:.7rem .8rem;border-bottom:1px solid var(--ligne);white-space:nowrap}
th{font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--or);font-weight:400}
td{font-size:.8rem;color:var(--creme)}
table.dense th,table.dense td{padding:.5rem .6rem;font-size:.74rem}
tbody tr:hover{background:var(--noir-3)}
tfoot th{color:var(--or-clair);border-top:2px solid var(--ligne)}
.empty{text-align:center;color:var(--gris);font-style:italic;padding:2rem!important}
.badge{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;padding:2px 8px;border-radius:2px;border:1px solid var(--ligne)}
.badge.bcr{color:var(--ok);border-color:rgba(126,201,143,.4)}
.badge.bup{color:var(--or-clair);border-color:var(--ligne)}
.badge.bde{color:var(--ko);border-color:rgba(224,138,122,.4)}
.del{background:none;border:1px solid var(--ligne);color:var(--ko);width:26px;height:26px;cursor:pointer;border-radius:2px}
.del:hover{background:var(--ko);color:var(--noir)}
select{background:var(--noir-3);color:var(--creme);border:1px solid var(--ligne);padding:.3rem .4rem;font-family:var(--sans)}
.inline{display:inline}

.filter{display:flex;gap:.6rem;margin-bottom:1.2rem;flex-wrap:wrap}
.filter input{flex:1;min-width:200px;background:var(--noir-2);border:1px solid var(--ligne);color:var(--creme);padding:.6rem .8rem}
.filter button,.pager a{background:none;border:1px solid var(--ligne);color:var(--creme);padding:.6rem 1.2rem;
  font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:.3s}
.filter button:hover,.pager a:hover,.pager a.on{background:var(--or);color:var(--noir);border-color:var(--or)}
.hint{color:var(--gris);font-size:.82rem;margin-bottom:1.2rem;max-width:820px;line-height:1.7}
.note{color:var(--gris);font-size:.72rem;margin-top:.8rem;font-style:italic}
.pager{display:flex;gap:.4rem;margin-top:1.2rem;flex-wrap:wrap}
.pager a{padding:.4rem .8rem}

.afoot{text-align:center;color:var(--gris);font-size:.7rem;letter-spacing:.1em;padding:1.6rem;border-top:1px solid var(--ligne)}

.loginbody{display:grid;place-items:center;min-height:100vh;
  background:linear-gradient(rgba(13,13,15,.86),rgba(13,13,15,.96)),url('/images/photo-4.jpg') center/cover fixed}
.loginbox{background:rgba(20,20,24,.92);border:1px solid var(--ligne);padding:2.6rem 2.4rem;width:min(380px,92vw);text-align:center}
.lbrand{font-family:var(--serif);font-size:1.5rem;letter-spacing:.22em}
.lbrand .ver{font-family:var(--sans);font-size:.5rem;letter-spacing:.14em;color:var(--or);border:1px solid var(--ligne);padding:2px 6px;margin-left:.4rem;vertical-align:middle}
.lsub{color:var(--gris);font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;margin:.6rem 0 1.8rem}
.loginbox form{display:flex;flex-direction:column;gap:.5rem;text-align:left}
.loginbox label{font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gris);margin-top:.6rem}
.loginbox input{background:var(--noir);border:1px solid var(--ligne);color:var(--creme);padding:.75rem .8rem;font-family:var(--sans)}
.loginbox input:focus{outline:none;border-color:var(--or)}
.loginbox button{margin-top:1.4rem;background:var(--or);color:var(--noir);border:none;padding:.85rem;
  letter-spacing:.22em;text-transform:uppercase;font-size:.72rem;cursor:pointer;font-family:var(--sans)}
.loginbox button:hover{background:var(--or-clair)}
.lerr{background:rgba(224,138,122,.12);border:1px solid rgba(224,138,122,.4);color:var(--ko);
  padding:.6rem;font-size:.78rem;margin-bottom:1rem}
.lback{display:inline-block;margin-top:1.4rem;color:var(--gris);font-size:.7rem;letter-spacing:.14em}
.lback:hover{color:var(--or)}

@media(max-width:760px){
  .ashell{flex-direction:column}
  .aside{flex:none;border-right:none;border-bottom:1px solid var(--ligne);padding:.6rem 0}
  .aside ul{display:flex;overflow-x:auto}
  .aside li a{white-space:nowrap;border-left:none;border-bottom:2px solid transparent;padding:.7rem 1rem}
  .aside li.on a{border-left:none;border-bottom-color:var(--or)}
}
