/* Styles complémentaires — uniquement ce qui n'existe pas dans le bundle Tailwind réel
   (app-real.css, copié depuis onvadireoui.fr) : l'admin interne, propre à cet outil. */

.admin-shell { max-width: 56rem; margin: 0 auto; padding: 2rem 1rem 4rem; }
.admin-shell h1 { font-size: 1.75rem; color: var(--color-ink); font-family: var(--font-serif); }
.admin-table { width: 100%; margin-top: 1.5rem; border-collapse: collapse; background: var(--color-paper); border: 1px solid var(--color-line-soft); border-radius: .75rem; overflow: hidden; }
.admin-table th, .admin-table td { padding: .75rem 1rem; text-align: left; font-size: .875rem; border-bottom: 1px solid var(--color-line-soft); }
.admin-table th { background: var(--color-cream-dark); font-size: .75rem; text-transform: uppercase; color: var(--color-muted); }
.admin-form { margin-top: 1.5rem; display: flex; flex-direction: column; gap: 1.25rem; }
.admin-field label { display: block; font-size: .8125rem; font-weight: 600; color: var(--color-ink); margin-bottom: .25rem; }
.admin-field input[type=text], .admin-field input[type=date], .admin-field textarea {
  width: 100%; padding: .625rem .75rem; border-radius: .5rem; border: 1px solid var(--color-line); font-family: inherit; font-size: .875rem; background: #fff; color: var(--color-ink);
}
.admin-field textarea { min-height: 220px; font-family: ui-monospace, monospace; font-size: .8125rem; resize: vertical; }
.admin-field__hint { margin-top: .25rem; font-size: .75rem; color: var(--color-muted); }
.admin-row { display: grid; gap: 1.25rem; grid-template-columns: 1fr; }
@media (min-width: 640px) { .admin-row { grid-template-columns: 1fr 1fr; } }
.admin-login { max-width: 24rem; margin: 4rem auto; padding: 2rem; border-radius: 1rem; border: 1px solid var(--color-line-soft); background: var(--color-paper); }
.admin-login h1 { font-size: 1.5rem; margin-bottom: 1rem; font-family: var(--font-serif); }
.admin-error { margin-top: .75rem; border-radius: .5rem; background: var(--color-brick-light); color: var(--color-brick); padding: .625rem .875rem; font-size: .8125rem; }
.admin-topbar { display: flex; align-items: center; justify-content: space-between; margin-bottom: .5rem; }
.muted { color: var(--color-muted); font-size: .8125rem; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; border-radius: 999px; padding: .625rem 1.25rem; font-size: .875rem; font-weight: 600; border: none; cursor: pointer; text-decoration: none; }
.btn--primary { background: var(--color-accent); color: #fff; }
.btn--primary:hover { background: var(--color-accent-dark); }
.btn--secondary { background: var(--color-paper); color: var(--color-ink); border: 1px solid var(--color-line); }
.btn--secondary:hover { background: var(--color-cream-dark); }
.btn--ghost { background: transparent; color: var(--color-ink-soft); }
.btn--ghost:hover { background: var(--color-cream-dark); }
.btn--sm { padding: .5rem .9rem; font-size: .8125rem; }
