/* Admin shell and forms (French UI, desktop first but usable on a phone). */
.admin-nav { display: flex; align-items: center; gap: var(--space-4); margin-inline-start: auto; }
.admin-nav a { text-decoration: none; font-weight: 500; }
.admin-nav form { margin: 0; }
.admin-nav__button { background: none; border: 0; padding: 0; min-block-size: var(--touch); cursor: pointer; color: var(--ink-2); text-decoration: underline; }

.admin-grid { display: grid; gap: var(--space-4); margin-block-start: var(--space-5); }
@media (min-width: 900px) { .admin-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

.auth-card { max-inline-size: 420px; margin-inline: auto; display: grid; gap: var(--space-4); }

.form { display: grid; gap: var(--space-4); }
.field { display: grid; gap: var(--space-1); }
.field label { font-weight: 600; font-size: var(--step--1); }
.field input {
  min-block-size: var(--touch);
  padding-inline: var(--space-3);
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-m);
}

.button {
  display: inline-flex; align-items: center; justify-content: center;
  min-block-size: var(--touch); padding-inline: var(--space-5);
  border: 1px solid var(--line); border-radius: var(--radius-m);
  background: var(--surface); font-weight: 600; cursor: pointer;
}
.button--primary { background: var(--atlas-green); border-color: var(--atlas-green); color: var(--on-status); }

/* Admin v2 */
.admin .site-header .admin-nav { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-inline-start: auto; }
.admin .site-header .admin-nav a, .admin .site-header .admin-nav__button { color: #FFFFFF; }
.admin-head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: var(--space-4); margin-block-end: var(--space-5); }
.admin-counts { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: var(--space-3); margin: 0 0 var(--space-5); }
.admin-counts div { background: var(--surface); border-radius: var(--radius-m); padding: var(--space-3) var(--space-4); box-shadow: var(--shadow-card); }
.admin-counts dt { font-size: var(--step--1); color: var(--ink-2); }
.admin-counts dd { margin: 0; font-size: var(--step-3); font-weight: 800; }
.admin-panel { background: var(--surface); border-radius: var(--radius-l); box-shadow: var(--shadow-card); padding: var(--space-4) var(--space-5); margin-block-end: var(--space-5); display: grid; gap: var(--space-3); }
.admin-panel h2 { font-size: var(--step-1); }
.admin-panel--alert { border-inline-start: 4px solid var(--loss); }
.admin-table-wrap { overflow-x: auto; }
.admin-table { inline-size: 100%; border-collapse: collapse; font-size: var(--step--1); }
.admin-table th, .admin-table td { padding: var(--space-2) var(--space-3); border-block-end: 1px solid var(--line); text-align: start; vertical-align: middle; }
.admin-table__group th { background: var(--surface-2); font-weight: 800; }
.admin-actions { display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: center; }
.admin-actions form { margin: 0; }
.button--small { min-block-size: 34px; padding-inline: var(--space-3); font-size: var(--step--1); }
.button--danger { color: var(--loss); }
.status { display: inline-block; padding: 1px 8px; border-radius: 999px; font-size: 0.75rem; font-weight: 700; background: var(--surface-3); }
.status--succeeded { background: var(--atlas-tint); color: var(--atlas-green); }
.status--failed { background: color-mix(in srgb, var(--loss) 12%, var(--surface)); color: var(--loss); }
.admin-search { display: flex; gap: var(--space-2); }
.admin-search input { flex: 1; min-block-size: var(--touch); padding-inline: var(--space-3); border: 1px solid var(--line); border-radius: var(--radius-m); background: var(--surface); }
.admin-results { display: grid; margin: 0; padding: 0; list-style: none; }
.admin-results li { display: grid; gap: var(--space-2); padding-block: var(--space-3); border-block-end: 1px solid var(--line); }
.admin-inline-form { display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: center; }
.admin-inline-form select, .admin-inline-form input[type="url"] { min-block-size: 36px; padding-inline: var(--space-2); border: 1px solid var(--line); border-radius: var(--radius-s); background: var(--surface); }
.admin-inline-form input[type="url"] { min-inline-size: 260px; flex: 1; }
.admin-form { display: grid; gap: var(--space-3); max-inline-size: 640px; }
.admin-form .field { display: grid; gap: 4px; }
.admin-form input, .admin-form select, .admin-form textarea { min-block-size: 40px; padding: var(--space-2) var(--space-3); border: 1px solid var(--line); border-radius: var(--radius-m); background: var(--surface); }
.admin-form textarea { font-family: ui-monospace, Menlo, monospace; font-size: var(--step--1); }
.admin-ranking { columns: 2; font-size: var(--step--1); }
.meta { color: var(--ink-2); font-size: var(--step--1); }
