/* =====================================================================
   Espace Pro — L'Atelier de Mandy
   ===================================================================== */
:root{
  --noir:#0a0a0a; --noir-2:#141414; --noir-3:#1c1c1c;
  --or:#c9a23c; --or-clair:#e7c873; --rouge:#c8102e;
  --creme:#f4efe5; --gris:#aaa49a; --gris-fonce:#7e7a72;
  --grad-or:linear-gradient(135deg,#e7c873,#c9a23c 50%,#9c7720);
  --vert:#3f9d6b; --orange:#d9962f;
}
*{margin:0;padding:0;box-sizing:border-box}
html{overflow-x:hidden}
body{font-family:'Jost',system-ui,sans-serif;background:var(--noir);color:var(--creme);line-height:1.55;overflow-x:hidden;max-width:100%}
input,select,textarea,button{max-width:100%}
input,select,textarea{min-width:0}
/* Autorise les champs à rétrécir dans les grilles/flex (anti-débordement mobile). */
.adm-form__grid>*,.ff,.svc-row,.svc-row>*,.hours__row,.hours__row>*,.hours__range,.hours__range>*,.adm-filters__right,.adm-filters__right>*,.svc-add__form>*,.ferm-add>*{min-width:0}
a{color:inherit;text-decoration:none}
h1{font-family:'Cormorant Garamond',serif}

/* ---------- Connexion ---------- */
.login-page{min-height:100vh;display:grid;place-items:center;
  background:radial-gradient(800px 500px at 50% -10%,rgba(201,162,60,.16),transparent 60%),
             radial-gradient(700px 400px at 50% 110%,rgba(200,16,46,.14),transparent 60%),var(--noir)}
.login{width:min(400px,92%);text-align:center;background:var(--noir-2);border:1px solid rgba(231,200,115,.18);
  border-radius:18px;padding:2.6rem 2.2rem;box-shadow:0 30px 70px rgba(0,0,0,.5)}
.login__logo{width:84px;height:84px;border-radius:50%;border:2px solid var(--or);margin:0 auto 1.2rem;box-shadow:0 0 30px rgba(201,162,60,.3)}
.login h1{font-size:1.9rem;color:var(--creme)}
.login__sub{color:var(--gris);font-size:.88rem;margin:.3rem 0 1.8rem}
.login__form{display:grid;gap:.6rem;text-align:left}
.login__form label{font-size:.82rem;letter-spacing:.05em;color:var(--gris)}
.login__form input{background:var(--noir);border:1px solid rgba(255,255,255,.14);border-radius:10px;
  padding:.9rem 1rem;color:var(--creme);font-size:1rem;font-family:'Jost',sans-serif;transition:.25s}
.login__form input:focus{outline:none;border-color:var(--or);box-shadow:0 0 0 3px rgba(201,162,60,.15)}
.login__form button{margin-top:.6rem;background:var(--grad-or);color:#1a1408;font-weight:600;border:none;
  padding:.95rem;border-radius:10px;cursor:pointer;font-size:1rem;font-family:'Jost',sans-serif;transition:.25s}
.login__form button:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(201,162,60,.35)}
.login__error{color:#ff8a9b;font-size:.88rem;text-align:center}
.login__back{display:inline-block;margin-top:1.4rem;color:var(--gris-fonce);font-size:.85rem;transition:.25s}
.login__back:hover{color:var(--or-clair)}

/* ---------- En-tête admin ---------- */
.adm-top{display:flex;justify-content:space-between;align-items:center;gap:.6rem 1rem;flex-wrap:wrap;
  padding:.8rem clamp(.9rem,4vw,2.4rem);
  background:var(--noir-2);border-bottom:1px solid rgba(231,200,115,.15);position:sticky;top:0;z-index:10}
.adm-brand{display:flex;align-items:center;gap:.8rem;min-width:0}
.adm-brand strong,.adm-brand span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.adm-brand img{width:46px;height:46px;border-radius:50%;border:1.5px solid var(--or)}
.adm-brand strong{display:block;font-family:'Cormorant Garamond',serif;font-size:1.25rem}
.adm-brand span{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--or)}
.adm-top__nav{display:flex;gap:.5rem 1.2rem;align-items:center;flex-wrap:wrap}
.adm-top__nav a{font-size:.9rem;color:var(--gris);transition:.25s}
.adm-top__nav a:hover{color:var(--or-clair)}
.adm-top__nav a.is-current{color:var(--or-clair);font-weight:600}
.adm-logout{border:1px solid rgba(231,200,115,.3);padding:.5rem 1rem;border-radius:30px}
.adm-logout:hover{background:rgba(200,16,46,.15);border-color:var(--rouge)!important;color:#ff8a9b!important}

/* ---------- Conteneur ---------- */
.adm-main{width:min(1240px,95%);margin:2rem auto}

/* ---------- Statistiques ---------- */
.adm-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.8rem}
.stat{background:var(--noir-2);border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:1.4rem 1.5rem}
.stat--gold{border-color:rgba(231,200,115,.4);background:linear-gradient(160deg,rgba(201,162,60,.12),var(--noir-2))}
.stat__num{display:block;font-family:'Cormorant Garamond',serif;font-size:2.4rem;font-weight:700;color:var(--or-clair);line-height:1}
.stat__lbl{display:block;color:var(--gris);font-size:.82rem;margin-top:.4rem}

/* ---------- Filtres ---------- */
.adm-filters{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.2rem}
.adm-tabs{display:flex;gap:.4rem;flex-wrap:wrap}
.adm-tab{padding:.55rem 1.1rem;border-radius:30px;border:1px solid rgba(255,255,255,.1);color:var(--gris);font-size:.9rem;transition:.25s}
.adm-tab:hover{color:var(--or-clair);border-color:var(--or)}
.adm-tab.is-active{background:var(--grad-or);color:#1a1408;font-weight:600;border-color:transparent}
.adm-filters__right{display:flex;gap:.5rem;flex-wrap:wrap}
.adm-filters__right select,.adm-filters__right input{background:var(--noir-2);border:1px solid rgba(255,255,255,.12);
  border-radius:8px;padding:.55rem .8rem;color:var(--creme);font-family:'Jost',sans-serif;font-size:.9rem}
.adm-filters__right input:focus,.adm-filters__right select:focus{outline:none;border-color:var(--or)}
.adm-btn{background:var(--grad-or);color:#1a1408;font-weight:600;border:none;border-radius:8px;padding:.55rem 1.1rem;cursor:pointer;font-family:'Jost',sans-serif;display:inline-flex;align-items:center}
.adm-btn--ghost{background:transparent;border:1px solid rgba(231,200,115,.4);color:var(--or-clair)}
.adm-btn--ghost:hover{background:rgba(201,162,60,.12)}
.adm-rgpd{margin:1.4rem 0 0;color:var(--gris-fonce);font-size:.82rem;line-height:1.6;max-width:760px}

/* ---------- Tableau ---------- */
.adm-list{background:var(--noir-2);border:1px solid rgba(255,255,255,.07);border-radius:14px;overflow:hidden}
.adm-empty{padding:3rem;text-align:center;color:var(--gris-fonce)}
.adm-table{width:100%;border-collapse:collapse}
.adm-table thead th{background:var(--noir-3);text-align:left;padding:.9rem 1rem;font-size:.74rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--or);font-weight:500;border-bottom:1px solid rgba(231,200,115,.15)}
.adm-table td{padding:1rem;border-bottom:1px solid rgba(255,255,255,.05);vertical-align:top;font-size:.92rem}
.adm-table tr:hover td{background:rgba(201,162,60,.04)}
.adm-table tr.row-annule td{opacity:.5}
.adm-table strong{color:var(--creme)}
.adm-time{display:block;color:var(--or-clair);font-size:.82rem;margin-top:.15rem}
.adm-tel{display:block;color:var(--gris);font-size:.85rem;margin-top:.2rem}
.adm-tel:hover{color:var(--or-clair)}
.adm-mail{display:block;color:var(--gris-fonce);font-size:.78rem}
.adm-note{display:block;color:var(--gris);font-size:.8rem;font-style:italic;margin-top:.3rem;max-width:240px}
.adm-cat{display:block;color:var(--gris-fonce);font-size:.78rem;margin-top:.2rem}
.adm-ref{display:block;color:var(--gris-fonce);font-size:.72rem;letter-spacing:.05em;margin-top:.2rem}
.adm-prix{font-family:'Cormorant Garamond',serif;font-size:1.3rem;color:var(--or-clair);font-weight:700;white-space:nowrap}

/* ---------- Badges ---------- */
.badge{display:inline-block;padding:.3rem .7rem;border-radius:30px;font-size:.76rem;font-weight:500;white-space:nowrap}
.badge--attente{background:rgba(217,150,47,.18);color:#f0b65a;border:1px solid rgba(217,150,47,.4)}
.badge--ok{background:rgba(63,157,107,.18);color:#5ec88c;border:1px solid rgba(63,157,107,.4)}
.badge--done{background:rgba(255,255,255,.08);color:var(--gris);border:1px solid rgba(255,255,255,.15)}
.badge--annule{background:rgba(200,16,46,.16);color:#ff8a9b;border:1px solid rgba(200,16,46,.4)}

/* ---------- Mini-boutons d'action ---------- */
.adm-actions{display:flex;flex-direction:column;gap:.35rem;align-items:stretch;min-width:120px}
.adm-actions form{margin:0}
.mini{width:100%;border:1px solid rgba(255,255,255,.14);background:var(--noir-3);color:var(--creme);
  border-radius:7px;padding:.4rem .6rem;font-size:.8rem;cursor:pointer;font-family:'Jost',sans-serif;transition:.2s}
.mini:hover{border-color:var(--or)}
.mini--ok{background:rgba(63,157,107,.15);border-color:rgba(63,157,107,.4);color:#5ec88c}
.mini--ok:hover{background:var(--vert);color:#fff}
.mini--done:hover{background:rgba(255,255,255,.12)}
.mini--cancel{color:#f0b65a}
.mini--cancel:hover{background:rgba(217,150,47,.2);border-color:var(--orange)}
.mini--del{color:#ff8a9b;border-color:rgba(200,16,46,.3)}
.mini--del:hover{background:var(--rouge);color:#fff}
a.mini{display:block;text-align:center;text-decoration:none}
.mini--free{color:var(--or-clair);border-color:rgba(231,200,115,.4)}
.mini--free:hover{background:rgba(201,162,60,.18)}

/* ---------- Barre d'action & divers ---------- */
.adm-main--narrow{max-width:760px}
.adm-actionbar{margin-bottom:1.2rem}
.adm-back{display:inline-block;color:var(--gris);font-size:.9rem;margin-bottom:1rem;transition:.2s}
.adm-back:hover{color:var(--or-clair)}
.adm-h1{font-family:'Cormorant Garamond',serif;font-size:2.2rem;color:var(--creme);margin-bottom:.3rem}
.adm-h2{font-family:'Cormorant Garamond',serif;font-size:1.6rem;color:var(--or-clair);margin:1.8rem 0 .9rem}
.adm-lead{color:var(--gris);margin-bottom:1.6rem}
.cli-link{display:block}
.cli-link:hover strong{color:var(--or-clair)}

/* ---------- Messages ---------- */
.adm-msg{padding:.9rem 1.2rem;border-radius:10px;margin-bottom:1.4rem;font-size:.95rem}
.adm-msg--ok{background:rgba(63,157,107,.16);border:1px solid rgba(63,157,107,.4);color:#7ad6a3}
.adm-msg--err{background:rgba(200,16,46,.14);border:1px solid rgba(200,16,46,.4);color:#ff8a9b}

/* ---------- Formulaire admin ---------- */
.adm-form{background:var(--noir-2);border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:1.8rem}
.adm-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.ff{display:flex;flex-direction:column;gap:.4rem}
.ff--full{grid-column:1/-1}
.ff span{font-size:.82rem;color:var(--gris);letter-spacing:.03em}
.ff input,.ff select,.ff textarea{width:100%;background:var(--noir);border:1px solid rgba(255,255,255,.13);border-radius:9px;
  padding:.7rem .85rem;color:var(--creme);font-family:'Jost',sans-serif;font-size:.98rem;transition:.2s}
.ff input:focus,.ff select:focus,.ff textarea:focus{outline:none;border-color:var(--or);box-shadow:0 0 0 3px rgba(201,162,60,.15)}
.adm-check{display:flex;align-items:center;gap:.6rem;margin:1.3rem 0;color:var(--gris);font-size:.9rem;cursor:pointer}
.adm-check input{width:18px;height:18px;accent-color:var(--or)}
.adm-form__actions{display:flex;justify-content:flex-end;gap:.8rem;margin-top:.4rem}

/* ---------- Fiche client ---------- */
.cli-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:1.6rem}
.cli-contact{color:var(--gris);font-size:1rem;margin-top:.3rem}
.cli-contact a{color:var(--or-clair)}

/* ---------- Éditeur de tarifs ---------- */
.cat-block{background:var(--noir-2);border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:1.4rem;margin-bottom:1.4rem}
.cat-block--new{border-color:rgba(231,200,115,.3)}
.cat-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(231,200,115,.15)}
.cat-head__title{display:flex;align-items:center;gap:.7rem;flex:1}
.cat-titre{flex:1;min-width:180px;background:var(--noir);border:1px solid rgba(231,200,115,.25);border-radius:9px;
  padding:.6rem .9rem;color:var(--or-clair);font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:600}
.cat-titre:focus{outline:none;border-color:var(--or)}
.cat-ordre{display:flex;align-items:center;gap:.2rem;color:var(--gris-fonce);font-size:.85rem}
.cat-ordre input{width:46px;background:var(--noir);border:1px solid rgba(255,255,255,.12);border-radius:6px;padding:.4rem;color:var(--creme);text-align:center}

.svc-table{display:grid;gap:.4rem}
.svc-row{display:grid;grid-template-columns:64px 1fr 90px 90px 56px 56px;gap:.5rem;align-items:center}
.svc-row--head{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--or);padding:.2rem 0}
.svc-row--head span{text-align:center}
.svc-row--head span:nth-child(2){text-align:left}
.svc-row input[type=text],.svc-row input[type=number]{background:var(--noir);border:1px solid rgba(255,255,255,.12);
  border-radius:8px;padding:.55rem .7rem;color:var(--creme);font-family:'Jost',sans-serif;font-size:.92rem;width:100%}
.svc-row input:focus{outline:none;border-color:var(--or);box-shadow:0 0 0 2px rgba(201,162,60,.15)}
.i-ordre{text-align:center}
.i-prix{color:var(--or-clair)!important;font-weight:600;text-align:right}
.i-duree{text-align:center}
.i-actif,.i-suppr{display:grid;place-items:center}
.i-actif input,.i-suppr input{width:20px;height:20px;accent-color:var(--or);cursor:pointer}
.i-suppr input{accent-color:var(--rouge)}

.svc-add{margin-top:1.1rem;padding-top:1rem;border-top:1px dashed rgba(255,255,255,.1)}
.svc-add strong{display:block;color:var(--gris);font-size:.9rem;margin-bottom:.6rem;font-weight:500}
.svc-add__form{display:flex;gap:.5rem;flex-wrap:wrap}
.svc-add__form input{background:var(--noir);border:1px solid rgba(255,255,255,.12);border-radius:8px;
  padding:.6rem .8rem;color:var(--creme);font-family:'Jost',sans-serif;font-size:.92rem}
.svc-add__form input[name=label],.svc-add__form input[name=titre]{flex:1;min-width:200px}
.svc-add__form input[name=prix]{width:90px}
.svc-add__form input[name=duree]{width:90px}

.adm-sticky-save{position:sticky;bottom:0;background:linear-gradient(transparent,var(--noir) 40%);
  padding:1.2rem 0;justify-content:center;z-index:5}
.adm-sticky-save .adm-btn{font-size:1.05rem;padding:.85rem 2rem}

@media (max-width:760px){
  .svc-row--head{display:none}
  .svc-row{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;
    background:var(--noir-3);padding:.7rem;border-radius:10px;border:1px solid rgba(255,255,255,.05)}
  .svc-row .i-label{flex:1 1 100%;order:1}
  .svc-row .i-ordre{order:2;width:60px}
  .svc-row .i-prix{order:3;flex:1;min-width:80px}
  .svc-row .i-duree{order:4;width:80px}
  .svc-row .i-actif,.svc-row .i-suppr{display:inline-flex;align-items:center;width:auto}
  .svc-row .i-actif{order:5;margin-left:auto}
  .svc-row .i-suppr{order:6}
  .svc-row .i-actif::before{content:"Actif";font-size:.72rem;color:var(--gris);margin-right:.3rem}
  .svc-row .i-suppr::before{content:"Suppr.";font-size:.72rem;color:#ff8a9b;margin-right:.3rem}
  .svc-add__form{flex-direction:column}
  .svc-add__form input,.svc-add__form button{width:100%}
}

/* ---------- Éditeur d'horaires ---------- */
.hours{background:var(--noir-2);border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:1.2rem;display:grid;gap:.5rem}
.hours__row{display:grid;grid-template-columns:120px 70px 1fr 1fr;gap:.8rem;align-items:center}
.hours__row--head{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--or);padding-bottom:.4rem;border-bottom:1px solid rgba(231,200,115,.15)}
.hours__day{font-weight:600;color:var(--creme)}
.hours__open{display:flex;justify-content:center}
.hours__open input{width:20px;height:20px;accent-color:var(--or);cursor:pointer}
.hours__range{display:flex;align-items:center;gap:.5rem}
.hours__range i{color:var(--gris-fonce);font-style:normal}
.hours__range input[type=time]{flex:1;background:var(--noir);border:1px solid rgba(255,255,255,.13);border-radius:8px;
  padding:.5rem .6rem;color:var(--creme);font-family:'Jost',sans-serif;font-size:.92rem}
.hours__range input[type=time]:focus{outline:none;border-color:var(--or)}
.hours__row.is-closed .hours__range{opacity:.35;pointer-events:none}
.hours__hint{color:var(--gris-fonce);font-size:.85rem;margin:.9rem 0 0}
.ferm-add{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1.2rem}
.ferm-add input[type=date]{background:var(--noir-2);border:1px solid rgba(255,255,255,.13);border-radius:8px;padding:.6rem .8rem;color:var(--creme);font-family:'Jost',sans-serif}
.ferm-add input[type=text]{flex:1;min-width:200px;background:var(--noir-2);border:1px solid rgba(255,255,255,.13);border-radius:8px;padding:.6rem .8rem;color:var(--creme);font-family:'Jost',sans-serif}
.ferm-add input:focus{outline:none;border-color:var(--or)}

@media (max-width:620px){
  .hours__row{grid-template-columns:1fr;gap:.4rem;background:var(--noir-3);padding:.8rem;border-radius:10px}
  .hours__row--head{display:none}
  .hours__day{font-size:1.05rem;color:var(--or-clair)}
  .hours__open{justify-content:flex-start;gap:.5rem}
  .hours__open::after{content:"Ouvert ce jour"}
  .ferm-add{flex-direction:column}
  .ferm-add input,.ferm-add button{width:100%}
}

/* ---------- Mobile ---------- */
@media (max-width:860px){
  .adm-table thead{display:none}
  .adm-table,.adm-table tbody,.adm-table tr,.adm-table td{display:block;width:100%}
  .adm-table tr{border-bottom:2px solid rgba(231,200,115,.15);padding:.6rem 0}
  .adm-table td{border:none;padding:.4rem 1rem}
  .adm-table td::before{content:attr(data-l);display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--or);margin-bottom:.2rem}
  .adm-actions{flex-direction:row;flex-wrap:wrap}
  .mini{width:auto}
}
@media (max-width:620px){
  .adm-brand img{width:40px;height:40px}
  .adm-brand strong{font-size:1.1rem}
  .adm-top__nav{width:100%;gap:.4rem .9rem;font-size:.88rem}
  .adm-top__nav a{padding:.2rem 0}
  .adm-logout{padding:.35rem .8rem!important;margin-left:auto}
  .adm-main{margin-top:1.2rem}
  .adm-form__grid{grid-template-columns:1fr}
  .adm-filters{flex-direction:column;align-items:stretch}
  .adm-filters__right{flex-direction:column}
  .adm-filters__right input,.adm-filters__right select,.adm-filters__right button,.adm-filters__right a{width:100%}
  .cat-titre{font-size:1.15rem}
}
