/*
 * Atelier Blanc for the administration panel.
 *
 * The admin panel is six working tabs of Tailwind utilities. Rather than
 * rewrite them, this sheet repaints them onto the same palette the rest of the
 * system uses: paper ground, hairline rules, square corners, no shadows, one
 * bronze accent. The header, tab row and tables follow the design's table
 * pattern; everything below inherits the tokens.
 *
 * Load order matters — this must come after Tailwind and after atelier.css.
 */

body.at-admin {
  background: var(--paper);
  color: var(--ink);
  font-family: var(--serif);
}

body.at-admin input,
body.at-admin select,
body.at-admin textarea,
body.at-admin button { font-family: inherit; }

/* Radius 0 everywhere; separation by rule, never by shadow. */
body.at-admin [class*='rounded'] { border-radius: 0 !important; }
body.at-admin [class*='rounded-full'] { border-radius: 999px !important; }
body.at-admin [class*='shadow'] { box-shadow: none !important; }

/* Grounds */
body.at-admin .bg-gray-50,
body.at-admin .bg-slate-50,
body.at-admin .bg-gray-100 { background-color: var(--paper) !important; }
body.at-admin .bg-white { background-color: var(--paper) !important; }

/* Panels become bordered blocks rather than floating cards. */
body.at-admin .bg-white.shadow,
body.at-admin .bg-white.shadow-sm,
body.at-admin .bg-white.shadow-md,
body.at-admin .bg-white.shadow-lg,
body.at-admin .bg-white[class*='rounded'] {
  border: 1px solid var(--rule);
}

/* Tinted status blocks all resolve to the one inset tone. */
body.at-admin [class*='bg-blue-50'],
body.at-admin [class*='bg-green-50'],
body.at-admin [class*='bg-yellow-50'],
body.at-admin [class*='bg-indigo-50'],
body.at-admin [class*='bg-purple-50'],
body.at-admin [class*='bg-red-50'],
body.at-admin [class*='bg-orange-50'],
body.at-admin [class*='bg-gray-50'] { background-color: var(--paper-tint) !important; }

body.at-admin [class*='bg-blue-100'],
body.at-admin [class*='bg-green-100'],
body.at-admin [class*='bg-yellow-100'],
body.at-admin [class*='bg-indigo-100'],
body.at-admin [class*='bg-purple-100'],
body.at-admin [class*='bg-gray-100'] { background-color: var(--paper-tint) !important; }

/* Borders */
body.at-admin [class*='border-gray-2'],
body.at-admin [class*='border-gray-3'],
body.at-admin [class*='border-slate-2'],
body.at-admin [class*='border-blue-2'],
body.at-admin [class*='border-green-2'],
body.at-admin [class*='border-yellow-2'],
body.at-admin [class*='border-red-2'],
body.at-admin [class*='border-indigo-2'] { border-color: var(--rule) !important; }

body.at-admin .divide-y > * + * { border-color: var(--rule) !important; }

/* One accent. Every brand-ish utility resolves to bronze. */
body.at-admin .text-blue-500, body.at-admin .text-blue-600, body.at-admin .text-blue-700, body.at-admin .text-blue-800,
body.at-admin .text-indigo-500, body.at-admin .text-indigo-600, body.at-admin .text-indigo-700,
body.at-admin .text-purple-600, body.at-admin .text-purple-700,
body.at-admin .text-violet-600 { color: var(--accent) !important; }

body.at-admin .bg-blue-500, body.at-admin .bg-blue-600, body.at-admin .bg-blue-700,
body.at-admin .bg-indigo-500, body.at-admin .bg-indigo-600, body.at-admin .bg-indigo-700,
body.at-admin .bg-purple-600, body.at-admin .bg-violet-600 {
  background-color: var(--accent) !important; color: var(--on-accent) !important;
}

/* Green reads as live / on duty and nothing else. */
body.at-admin .text-green-500, body.at-admin .text-green-600, body.at-admin .text-green-700,
body.at-admin .text-emerald-600 { color: var(--live) !important; }
body.at-admin .bg-green-500, body.at-admin .bg-green-600, body.at-admin .bg-green-700 {
  background-color: var(--live) !important; color: var(--on-accent) !important;
}

/* Destructive actions stay legible without a second accent: deep brick. */
body.at-admin .text-red-500, body.at-admin .text-red-600, body.at-admin .text-red-700, body.at-admin .text-red-800 {
  color: #6b2318 !important;
}
body.at-admin .bg-red-500, body.at-admin .bg-red-600, body.at-admin .bg-red-700 {
  background-color: #6b2318 !important; color: var(--on-accent) !important;
}

/* Muted text never goes lighter than the palette's floor. */
body.at-admin .text-gray-400, body.at-admin .text-gray-500, body.at-admin .text-gray-600,
body.at-admin .text-slate-500 { color: var(--ink-muted) !important; }
body.at-admin .text-gray-700, body.at-admin .text-gray-800, body.at-admin .text-gray-900,
body.at-admin .text-black { color: var(--ink) !important; }

/* Gradients are not part of this system. */
body.at-admin [class*='bg-gradient'] {
  background-image: none !important;
  background-color: var(--accent) !important;
  color: var(--on-accent) !important;
}

/* Fields: a rule, not a box within a box. */
body.at-admin input[type='text'],
body.at-admin input[type='email'],
body.at-admin input[type='password'],
body.at-admin input[type='number'],
body.at-admin input[type='date'],
body.at-admin input[type='time'],
body.at-admin input[type='tel'],
body.at-admin input[type='url'],
body.at-admin select,
body.at-admin textarea {
  border: 1px solid var(--rule) !important;
  background: var(--paper-card) !important;
  color: var(--ink) !important;
  border-radius: 0 !important;
}
body.at-admin input:focus,
body.at-admin select:focus,
body.at-admin textarea:focus {
  outline: none;
  border-color: var(--accent) !important;
  box-shadow: none !important;
}

/* Tables follow the design's pattern: no card, no zebra, mono headers. */
body.at-admin thead th {
  font-family: var(--mono) !important;
  font-size: 10px !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  color: var(--ink-muted) !important;
  background: transparent !important;
  border-bottom: 1px solid var(--ink) !important;
}
body.at-admin tbody tr { border-bottom: 1px solid var(--rule); }
body.at-admin tbody tr:hover { background: var(--paper-tint); }
body.at-admin tbody td { border-bottom: none !important; }

/* Header and tab row */
.at-admin-bar {
  display: flex; align-items: center; justify-content: space-between; gap: 1.25rem;
  padding: 1.125rem 2rem; border-bottom: 1px solid var(--ink); flex-wrap: wrap;
}
body.at-admin nav button {
  font-family: var(--serif) !important;
  font-size: 1rem !important;
  border-bottom-width: 2px !important;
}
