.admin-page .page{
  padding-bottom:calc(30px + var(--safe-bottom));
}

.admin-shell{
  display:grid;
  gap:16px;
  margin:8px 18px 0;
}

.admin-card{
  padding:20px;
  border:1px solid var(--glass-line);
  border-radius:28px;
  color:var(--text-main);
  background:
    linear-gradient(160deg,rgba(29,64,92,.78),rgba(39,93,126,.60)),
    radial-gradient(circle at 12% 0%,rgba(255,255,255,.18),transparent 38%);
  box-shadow:var(--shadow-card),inset 0 1px 0 rgba(255,255,255,.20);
  backdrop-filter:blur(24px) saturate(145%);
  -webkit-backdrop-filter:blur(24px) saturate(145%);
}

.admin-intro{
  text-align:center;
}

.admin-kicker{
  margin:0 0 8px;
  color:rgba(255,255,255,.70);
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.admin-card h2{
  margin:0 0 10px;
  color:var(--text-strong);
  font-size:22px;
  line-height:1.15;
}

.admin-card p{
  margin:0;
  color:rgba(255,255,255,.78);
  font-size:13px;
  line-height:1.5;
}

.admin-current{
  display:inline-grid;
  gap:4px;
  min-width:160px;
  margin-top:16px;
  padding:12px 18px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:20px;
  background:rgba(255,255,255,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14);
}

.admin-current span{
  color:rgba(255,255,255,.62);
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.admin-current strong{
  color:var(--text-strong);
  font-size:18px;
  line-height:1.1;
}

.admin-form{
  display:grid;
  gap:15px;
}

.admin-field{
  display:grid;
  gap:7px;
}

.admin-field label{
  color:rgba(255,255,255,.78);
  font-size:11px;
  font-weight:800;
  letter-spacing:.10em;
  text-transform:uppercase;
}

.admin-field select,
.admin-field input{
  width:100%;
  min-height:54px;
  padding:0 16px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:18px;
  outline:none;
  color:var(--text-strong);
  background:rgba(255,255,255,.13);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
  font:700 15px var(--font-main);
}

.admin-field input::placeholder{
  color:rgba(255,255,255,.48);
}

.admin-primary,
.admin-secondary{
  min-height:50px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:18px;
  color:white;
  font:800 14px var(--font-main);
  cursor:pointer;
}

.admin-primary{
  background:linear-gradient(135deg,#4cc3ff,#277fc1);
  box-shadow:0 14px 28px rgba(10,35,70,.20),inset 0 1px 0 rgba(255,255,255,.24);
}

.admin-secondary{
  background:rgba(255,255,255,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16);
}

.admin-status{
  min-height:18px;
  text-align:center;
}

.admin-status[data-mode="ok"]{
  color:#6df0a0;
}

.admin-status[data-mode="warning"]{
  color:#ffd083;
}

.admin-status[data-mode="error"]{
  color:#ff8b8b;
}

.admin-links{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.admin-links a{
  min-height:44px;
  display:grid;
  place-items:center;
  padding:10px;
  border:1px solid rgba(255,255,255,.20);
  border-radius:16px;
  color:var(--text-strong);
  background:rgba(255,255,255,.12);
  font-size:12px;
  font-weight:800;
  text-decoration:none;
}

/* UX 2026-07-28 : page Thèmes compacte, logique inchangée. */
.admin-page .plan-header{
  min-height:auto;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  padding:calc(14px + var(--safe-top)) 18px 8px;
}
.admin-page .plan-header #backBtn{
  position:static;
  flex:0 0 auto;
  width:44px;
  height:44px;
}
.admin-heading{min-width:0;flex:1}
.admin-heading p{
  margin:0 0 2px;
  color:rgba(255,255,255,.62);
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.admin-page .plan-header .admin-heading h1{
  margin:0;
  font-size:clamp(24px,6vw,34px);
  line-height:1;
  letter-spacing:-.02em;
}
.admin-environment{
  flex:0 0 auto;
  padding:7px 10px;
  border:1px solid rgba(109,240,160,.35);
  border-radius:999px;
  color:#6df0a0;
  background:rgba(34,112,73,.26);
  font-size:10px;
  font-weight:900;
  letter-spacing:.1em;
}
.admin-shell{
  width:min(900px,calc(100% - 28px));
  margin:6px auto 0;
  gap:10px;
}
.admin-card{padding:16px;border-radius:20px}
.admin-intro{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:5px 14px;
  text-align:left;
}
.admin-intro .admin-kicker,
.admin-intro h2,
.admin-intro > p{grid-column:1}
.admin-intro h2{margin-bottom:3px;font-size:20px}
.admin-intro > p{max-width:620px;font-size:12px;line-height:1.4}
.admin-current{
  grid-column:2;
  grid-row:1 / span 3;
  min-width:142px;
  margin:0;
  padding:10px 14px;
  text-align:center;
}
.admin-form{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:10px;
}
.admin-field{gap:5px}
.admin-field select,
.admin-field input{min-height:46px;border-radius:14px}
.admin-primary,
.admin-secondary{min-height:44px;border-radius:14px}
.admin-status{
  grid-column:1 / -1;
  min-height:16px;
  font-size:12px;
}
.admin-preview{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:12px;
}
.admin-preview .admin-kicker{margin:0}
.admin-links{
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:6px;
}
.admin-links a{
  min-height:38px;
  padding:7px 5px;
  border-radius:12px;
  font-size:10px;
}
@media (max-width:640px){
  .admin-intro{grid-template-columns:1fr}
  .admin-current{
    grid-column:1;
    grid-row:auto;
    width:100%;
    grid-template-columns:1fr auto;
    align-items:center;
    text-align:left;
  }
  .admin-form{grid-template-columns:1fr}
  .admin-status{grid-column:1}
  .admin-preview{grid-template-columns:1fr;gap:8px}
  .admin-links{grid-template-columns:repeat(3,minmax(0,1fr))}
}
