/* =====================================================================
   gestion.css — Habillage "tableau de bord" de l'espace gestion.
   Chargé en plus de styles.css (dont on réutilise les variables de
   couleur, mais avec une mise en page entièrement différente : barre
   latérale, vraies tables de données, cartes de statistiques).
   ===================================================================== */

* { box-sizing: border-box; }

/* ---------- Écran de connexion / choix du mot de passe ---------- */
.auth-screen{
  min-height:100vh;
  display:flex;align-items:center;justify-content:center;
  background:var(--moss);
  padding:24px;
}
.auth-card{
  background:#fff;border-radius:14px;padding:44px 40px;
  max-width:420px;width:100%;
  box-shadow:0 20px 60px rgba(0,0,0,0.28);
}
.auth-card-head{margin-bottom:26px;}
.auth-card-head .eyebrow{font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--bronze);font-weight:700;}
.auth-card-head h1{font-family:'Playfair Display',serif;font-size:1.55rem;margin:10px 0 8px;color:var(--ink);}
.auth-card-head p{font-size:0.88rem;color:var(--slate);margin:0;}
.auth-back-link{
  display:inline-block;margin-top:22px;font-size:0.82rem;color:var(--slate);text-decoration:none;
}
.auth-back-link:hover{color:var(--bronze);}

/* ---------- Coquille générale : barre latérale + contenu ---------- */
.dashboard-shell{
  display:flex;min-height:100vh;
  background:#f4f5f7;
  font-family:'Inter',sans-serif;
}

.dashboard-sidebar{
  width:252px;flex-shrink:0;
  background:var(--moss);color:#e8ecef;
  display:flex;flex-direction:column;
  padding:28px 20px;
  position:sticky;top:0;height:100vh;
  overflow-y:auto;
}
.dashboard-brand{
  display:block;color:#fff;text-decoration:none;
  font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:600;line-height:1.3;
  padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid rgba(255,255,255,0.12);
}
.dashboard-brand span{
  display:block;font-family:'Inter',sans-serif;font-size:0.66rem;letter-spacing:0.09em;text-transform:uppercase;
  color:var(--bronze-light);font-weight:600;margin-top:5px;
}

.dashboard-nav{display:flex;flex-direction:column;gap:4px;flex:1;}
.dashboard-nav-item{
  display:flex;align-items:center;gap:12px;
  padding:11px 14px;border-radius:8px;
  background:none;border:none;color:#c3cad1;
  font-family:'Inter',sans-serif;font-size:0.88rem;font-weight:500;text-align:left;cursor:pointer;
  transition:background .15s ease,color .15s ease;
}
.dashboard-nav-item svg{width:18px;height:18px;flex-shrink:0;opacity:0.8;}
.dashboard-nav-item:hover{background:rgba(255,255,255,0.07);color:#fff;}
.dashboard-nav-item.active{background:var(--bronze);color:#fff;}
.dashboard-nav-item.active svg{opacity:1;}

.dashboard-sidebar-footer{
  padding-top:18px;margin-top:18px;border-top:1px solid rgba(255,255,255,0.12);
  display:flex;flex-direction:column;gap:10px;
}
.dashboard-account{font-size:0.78rem;color:#9aa4ac;}
.dashboard-side-btn{
  font-family:'Inter',sans-serif;font-size:0.8rem;font-weight:600;
  padding:9px 14px;border-radius:8px;cursor:pointer;
  background:var(--bronze-light);color:var(--charcoal-deep);border:none;
  text-align:center;width:100%;
}
.dashboard-side-btn:hover{background:#fff;}
.dashboard-side-btn-ghost{background:none;border:1px solid rgba(255,255,255,0.28);color:#e8ecef;}
.dashboard-side-btn-ghost:hover{border-color:#fff;color:#fff;}
.dashboard-sidebar-footer .auth-back-link{color:#9aa4ac;margin-top:2px;}
.dashboard-sidebar-footer .auth-back-link:hover{color:#fff;}

/* ---------- Contenu principal ---------- */
.dashboard-main{
  flex:1;min-width:0;
  padding:36px 44px 60px;
}
.gestion-tab-content > .dashboard-topbar:first-child{margin-top:0;}

.dashboard-topbar{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;
  margin-bottom:26px;
}
.dashboard-topbar h1{
  font-family:'Playfair Display',serif;font-size:1.5rem;color:var(--ink);font-weight:600;margin:0;
}
.dashboard-topbar-actions{display:flex;gap:10px;flex-wrap:wrap;}

.btn-dash{
  font-family:'Inter',sans-serif;font-size:0.82rem;font-weight:600;
  padding:10px 18px;border-radius:8px;cursor:pointer;white-space:nowrap;
}
.btn-dash-primary{background:var(--bronze);color:#fff;border:none;}
.btn-dash-primary:hover{background:#a37a35;}
.btn-dash-secondary{background:#fff;color:var(--ink);border:1px solid #d7dbdf;}
.btn-dash-secondary:hover{border-color:var(--bronze);color:var(--bronze);}

.dashboard-filters{display:flex;flex-direction:column;gap:8px;margin-bottom:22px;}
.dashboard-filters .filter-bar{margin-bottom:0;}

/* ---------- Cartes de statistiques (onglet Ventes) ---------- */
.stat-cards{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:26px;}
.stat-card{
  background:#fff;border:1px solid #e4e7ea;border-radius:12px;
  padding:20px 24px;min-width:180px;flex:1 1 180px;
  box-shadow:0 1px 3px rgba(16,24,32,0.05);
}
.stat-card-value{display:block;font-family:'Playfair Display',serif;font-size:1.9rem;color:var(--ink);font-weight:600;}
.stat-card-label{display:block;font-size:0.78rem;color:#7a828a;margin-top:6px;}
.stat-card-accent{border-color:var(--bronze-light);background:#fbf6ec;}
.stat-card-accent .stat-card-value{color:var(--bronze);}

/* ---------- Tables de données (Catalogue / Ventes / Inventaire) ---------- */
.data-table-wrap{
  background:#fff;border:1px solid #e4e7ea;border-radius:12px;
  overflow-x:auto;
  box-shadow:0 1px 3px rgba(16,24,32,0.05);
}
.data-table{width:100%;border-collapse:collapse;font-size:0.86rem;}
.data-table th{
  text-align:left;padding:13px 16px;background:#fafbfc;border-bottom:1px solid #e4e7ea;
  font-size:0.7rem;letter-spacing:0.05em;text-transform:uppercase;color:#7a828a;font-weight:600;white-space:nowrap;
}
.data-table td{padding:13px 16px;border-bottom:1px solid #eef0f2;vertical-align:middle;color:var(--ink);}
.data-table tbody tr:last-child td{border-bottom:none;}
.data-table tbody tr:hover{background:#fafbfc;}

.dt-thumb-col, .dt-thumb{width:56px;}
.dt-thumb img{width:44px;height:44px;object-fit:cover;border-radius:8px;display:block;}
.dt-thumb-empty{
  width:44px;height:44px;border-radius:8px;background:#f1f2f4;color:#c1c6cb;
  display:flex;align-items:center;justify-content:center;
}
.dt-thumb-empty svg{width:20px;height:20px;}
.dt-name-col{min-width:220px;}
.dt-name{font-weight:600;color:var(--ink);text-transform:uppercase;}

#m-name, #e-name{text-transform:uppercase;}
.dt-meta{font-size:0.78rem;color:#7a828a;margin-top:2px;}
.dt-client-info{font-size:0.78rem;color:var(--bronze);margin-top:4px;}
.dt-actions-col{width:112px;}
.dt-actions{display:flex;gap:6px;white-space:nowrap;}
.dt-icon-btn{
  width:30px;height:30px;border-radius:7px;border:1px solid #e4e7ea;background:#fff;
  color:#7a828a;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;
}
.dt-icon-btn svg{width:15px;height:15px;}
.dt-icon-btn:hover{border-color:var(--bronze);color:var(--bronze);}
.dt-icon-btn-danger:hover{border-color:#c0392b;color:#c0392b;}

.status-pill{
  display:inline-block;padding:4px 11px;border-radius:999px;
  font-size:0.72rem;font-weight:600;letter-spacing:0.02em;white-space:nowrap;
}
.status-pill-disponible{background:#e5f4ea;color:#227a4c;}
.status-pill-reserve{background:#fdf0dc;color:#b8863d;}
.status-pill-vendu{background:#eceef0;color:#6b7480;}

/* ---------- Inventaire ---------- */
.inventory-group{margin-bottom:30px;}
.inventory-group h3{
  font-family:'Inter',sans-serif;font-size:0.95rem;font-weight:700;margin:0 0 12px;color:var(--ink);
}
.stock-adjust{display:inline-flex;align-items:center;gap:8px;}
.stock-adjust-btn{
  width:24px;height:24px;border-radius:7px;border:1px solid #e4e7ea;background:#fff;
  color:var(--bronze);cursor:pointer;font-size:0.95rem;line-height:1;
  display:flex;align-items:center;justify-content:center;
}
.stock-adjust-btn:hover{border-color:var(--bronze);background:var(--bronze);color:#fff;}
.stock-adjust-btn:disabled{opacity:0.3;cursor:default;background:#fff;color:var(--bronze);}
.stock-adjust-value{min-width:1.6em;text-align:center;font-weight:600;}

/* ---------- Formulaire "Ajouter un monument" (garde le look du site, encadré) ---------- */
.admin-form-wrap{margin-bottom:26px;}

.conseiller-row{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:10px 0;border-bottom:1px solid #eef0f2;font-size:0.88rem;color:var(--ink);
}
.conseiller-row:last-child{border-bottom:none;}
.conseiller-row .dt-icon-btn{flex-shrink:0;}

/* ---------- Impression (onglet Inventaire) ---------- */
@media print{
  .dashboard-sidebar, .dashboard-topbar-actions, .auth-screen{display:none !important;}
  #tab-catalogue, #tab-ventes{display:none !important;}
  .dashboard-main{padding:0;}
  .dashboard-shell{display:block;background:#fff;}
  .inventory-group{break-inside:avoid;}
  .data-table-wrap, .stat-card{box-shadow:none;}
}

/* ---------- Responsive ---------- */
@media (max-width:960px){
  .dashboard-shell{flex-direction:column;}
  .dashboard-sidebar{
    width:100%;height:auto;position:relative;
    flex-direction:row;align-items:center;flex-wrap:wrap;padding:16px 20px;gap:16px;
  }
  .dashboard-brand{padding-bottom:0;margin-bottom:0;border-bottom:none;margin-right:auto;}
  .dashboard-nav{flex-direction:row;flex:none;flex-wrap:wrap;}
  .dashboard-sidebar-footer{
    flex-direction:row;align-items:center;border-top:none;margin-top:0;padding-top:0;
    margin-left:auto;gap:12px;
  }
  .dashboard-main{padding:26px 20px 50px;}
}
@media (max-width:640px){
  .dashboard-sidebar{flex-direction:column;align-items:flex-start;}
  .dashboard-sidebar-footer{flex-direction:column;align-items:stretch;margin-left:0;width:100%;}
  .dashboard-topbar{flex-direction:column;align-items:flex-start;}
  .dt-icon-btn{width:38px;height:38px;}
  .dt-icon-btn svg{width:17px;height:17px;}
  .stock-adjust-btn{width:32px;height:32px;font-size:1.1rem;}
}
