/* ============================================================
   NASRAOUI AUTO ADMIN — extends css/style.css design tokens
   ============================================================ */
.admin-login-body{
  min-height:100vh; display:flex; align-items:center; justify-content:center;
  background: var(--ink);
}
.login-card{
  background: var(--cream); border-radius: var(--radius); padding: 40px 36px;
  width: 100%; max-width: 360px;
}
.login-card form{ display:flex; flex-direction:column; }
.login-card label{ font-size:.82rem; font-weight:700; color: var(--ink-soft); margin-bottom:6px; }
.login-card input{ padding:11px 13px; border:1px solid var(--ink); border-radius: var(--radius); font-family:inherit; }
.error-text{ color: var(--rosso); font-size:.85rem; margin:10px 0 0; }

.admin-body{ background: var(--cream-dim); min-height:100vh; }
.admin-header{ background: var(--ink); color: var(--cream); }
.admin-header .wrap{ display:flex; align-items:center; justify-content:space-between; height:70px; }
.admin-header .brand{ color: var(--cream); }
.admin-header .brand span{ color: var(--brass); }
.admin-tabs{ display:flex; gap:6px; }
.admin-tabs button{
  background:none; border:none; color:#C9CFDC; font-family:var(--font-body); font-weight:600;
  font-size:.9rem; padding:10px 16px; border-radius: 999px;
}
.admin-tabs button.active{ background: var(--cream); color: var(--ink); }

.admin-main{ padding: 40px 0 80px; }
.admin-main .wrap{ max-width: 1180px; margin:0 auto; padding:0 28px; }
.tab-panel{ display:none; }
.tab-panel.active{ display:block; }

.stat-grid{ display:grid; grid-template-columns: repeat(4,1fr); gap:20px; margin-bottom: 40px; }
.stat-card{ background: var(--white); border:1px solid var(--line); border-radius: var(--radius); padding:22px; }
.stat-card span{ font-size:.8rem; color: var(--ink-soft); display:block; margin-bottom:8px; }
.stat-card strong{ font-family: var(--font-display); font-size:1.9rem; color: var(--ink); }

.panel-head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; flex-wrap:wrap; gap:12px; }

.admin-table{ width:100%; border-collapse: collapse; background: var(--white); border:1px solid var(--line); border-radius: var(--radius); overflow:hidden; }
.admin-table th, .admin-table td{ text-align:left; padding: 13px 16px; font-size:.9rem; border-bottom:1px solid var(--line); }
.admin-table th{ background: var(--cream-dim); font-size:.76rem; text-transform:uppercase; letter-spacing:.03em; color: var(--ink-soft); }
.admin-table tr:last-child td{ border-bottom:none; }
.admin-table td.actions{ display:flex; gap:8px; }
.admin-table .swatch{ display:inline-block; width:14px; height:14px; border-radius:3px; margin-right:8px; vertical-align:middle; }

.status-pill{ font-size:.74rem; font-weight:700; padding:4px 10px; border-radius:999px; text-transform:uppercase; letter-spacing:.02em; }
.status-pill.paid{ background:#E4F1E7; color:#2B6B3E; }
.status-pill.pending{ background:#F3E9D3; color:#8C6F1E; }
.status-pill.cancelled{ background:#F3DEDE; color:#8C2B2B; }

.icon-btn{ background:none; border:1px solid var(--line); border-radius: var(--radius); padding:6px 10px; font-size:.8rem; }
.icon-btn.danger:hover{ background: var(--rosso); border-color: var(--rosso); color: var(--white); }
.icon-btn:hover{ border-color: var(--ink); }

.form-panel{
  position: fixed; inset:0; background: rgba(16,25,43,.5); display:flex; align-items:flex-start;
  justify-content:flex-end; z-index: 100;
}
.form-panel[hidden]{ display:none; }
.form-panel-inner{
  background: var(--cream); width: 420px; max-width: 92vw; height:100%; overflow-y:auto;
  padding: 30px; box-shadow: -8px 0 24px rgba(0,0,0,.15);
}
.form-panel-inner h3{ margin-bottom: 20px; }
.form-grid{ display:flex; flex-direction:column; gap:14px; }
.form-grid label{ font-size:.8rem; font-weight:700; color: var(--ink-soft); display:block; margin-bottom:5px; }
.form-grid input, .form-grid select, .form-grid textarea{
  width:100%; padding:10px 12px; border:1px solid var(--ink); border-radius: var(--radius); font-family:inherit;
}
.form-grid textarea{ min-height: 64px; resize:vertical; }
.form-row-2{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.form-row-3{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; }
.form-actions{ display:flex; gap:10px; margin-top: 20px; }
.lang-fieldset{ border:1px solid var(--line); border-radius: var(--radius); padding:12px; }
.lang-fieldset legend{ font-size:.78rem; font-weight:700; color: var(--brass-dim); padding:0 6px; }
.photo-field{ display:flex; align-items:center; gap:14px; }
.photo-preview{ width:84px; height:84px; object-fit:cover; border-radius: var(--radius); border:1px solid var(--line); background: var(--cream-dim); }
.photo-field input[type="file"]{ flex:1; font-size:.82rem; }

.empty-row td{ text-align:center; color: var(--ink-soft); padding: 34px !important; }

@media (max-width: 900px){
  .stat-grid{ grid-template-columns: 1fr 1fr; }
  .admin-table{ font-size:.82rem; }
  .admin-header .wrap{ flex-wrap:wrap; height:auto; padding:14px 28px; gap:10px; }
}
