/* Administration USIA — réutilise les couleurs du site */
body.admin { background: #f5f8f6; }
.admin-shell { display: grid; grid-template-columns: 15rem minmax(0, 1fr); min-height: 100vh; }
.admin-side { background: var(--forest-900); color: #cfe2d5; padding: 1.25rem 1rem; }
.admin-side .brand-mini { display: flex; gap: 0.6rem; align-items: center; color: var(--white); text-decoration: none; margin-bottom: 1.5rem; font-weight: 600; line-height: 1.3; }
.admin-side .brand-mini img { width: 2.5rem; background: var(--white); border-radius: 4px; padding: 2px; }
.admin-side ul { list-style: none; margin: 0 0 1.5rem; padding: 0; }
.admin-side h2 { font-family: var(--font-body); font-size: 0.8rem; color: #8fb59c; margin: 0 0 0.4rem; font-weight: 500; }
.admin-side a { display: flex; justify-content: space-between; padding: 0.4rem 0.6rem; border-radius: 4px; color: #dcebe0; text-decoration: none; }
.admin-side a:hover, .admin-side a[aria-current] { background: rgba(255, 255, 255, 0.1); color: var(--white); }
.admin-side .badge { background: var(--gold); color: var(--white); border-radius: 999px; padding: 0 0.5rem; font-size: 0.8rem; }
.admin-main { padding: 1.5rem clamp(1rem, 3vw, 2.5rem) 4rem; }
.admin-top { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1.5rem; flex-wrap: wrap; }
.admin-top h1 { font-size: 1.75rem; margin: 0; }
.panel { background: var(--white); border: 1px solid var(--line); border-radius: 6px; padding: 1.25rem; margin-bottom: 1.25rem; }
.stats { display: grid; grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr)); gap: 1rem; margin-bottom: 1.5rem; }
.stat { background: var(--white); border: 1px solid var(--line); border-top: 3px solid var(--emerald); border-radius: 6px; padding: 1rem; text-decoration: none; color: var(--ink); }
.stat strong { display: block; font-size: 2rem; font-family: var(--font-display); color: var(--forest-900); line-height: 1.1; }
.table { width: 100%; border-collapse: collapse; background: var(--white); border: 1px solid var(--line); }
.table th, .table td { text-align: start; padding: 0.6rem 0.8rem; border-bottom: 1px solid var(--line); vertical-align: top; }
.table th { background: var(--lime-50); font-size: 0.85rem; color: var(--forest-900); }
.table td.actions { white-space: nowrap; text-align: end; }
.table .muted { color: var(--ink-soft); font-size: 0.85rem; }
.pill { display: inline-block; padding: 0 0.55rem; border-radius: 999px; font-size: 0.78rem; background: var(--lime-50); color: var(--forest-900); border: 1px solid var(--line); }
.pill--warn { background: var(--lime-100); color: var(--bronze-700); border-color: #e7cfa8; }
.bilingual { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.bilingual > div { min-width: 0; }
.bilingual h3 { font-family: var(--font-body); font-size: 0.9rem; color: var(--ink-soft); font-weight: 600; border-bottom: 1px solid var(--line); padding-bottom: 0.4rem; }
.form-actions { position: sticky; bottom: 0; background: var(--white); border-top: 1px solid var(--line); padding: 0.9rem 1.25rem; margin: 0 -1.25rem -1.25rem; display: flex; gap: 0.75rem; align-items: center; }
.check { display: flex; gap: 0.5rem; align-items: center; margin-bottom: 0.75rem; }
.check input { width: 1.1rem; height: 1.1rem; }
.btn--small { padding: 0.3rem 0.7rem; font-size: 0.85rem; }
.btn--danger { background: none; border-color: #d9a39e; color: #a4271b; }
.btn--danger:hover { background: #a4271b; color: var(--white); }
.tabs { display: flex; gap: 0.4rem; flex-wrap: wrap; margin-bottom: 1rem; }
.tabs a { padding: 0.35rem 0.8rem; border-radius: 999px; border: 1px solid var(--line); background: var(--white); text-decoration: none; color: var(--ink); font-size: 0.9rem; }
.tabs a[aria-current] { background: var(--forest-900); color: var(--white); border-color: var(--forest-900); }
.search { display: flex; gap: 0.5rem; }
.search input { font: inherit; padding: 0.45rem 0.7rem; border: 1.5px solid var(--line); border-radius: 6px; }
.thumb { width: 4rem; height: 3rem; object-fit: cover; border-radius: 4px; }
.login-box { max-width: 24rem; margin: 10vh auto; background: var(--white); padding: 2rem; border-radius: 8px; border: 1px solid var(--line); }
.login-box img { width: 4.5rem; margin: 0 auto 1rem; }
@media (max-width: 52rem) {
  .admin-shell { grid-template-columns: minmax(0, 1fr); }
  .bilingual { grid-template-columns: minmax(0, 1fr); }
}
.photo-admin { display: grid; grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr)); gap: 1rem; margin-bottom: 1rem; }
.photo-admin__item { border: 1px solid var(--line); border-radius: 6px; padding: 0.6rem; background: var(--white); }
.photo-admin__item img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 4px; margin-bottom: 0.5rem; }
.photo-admin__item input[type="text"], .photo-admin__item input[type="number"] { width: 100%; font: inherit; font-size: 0.85rem; padding: 0.3rem 0.45rem; border: 1px solid var(--line); border-radius: 4px; margin-bottom: 0.35rem; }
.dropzone { border: 2px dashed var(--line); border-radius: 8px; padding: 1.25rem; text-align: center; background: var(--lime-50); }
.dropzone input { margin-top: 0.5rem; }
