/* ─── Self-hosted fonts ─────────────────────────────────────── */
@font-face {
  font-family: "Outfit";
  font-style: normal;
  font-weight: 400;
  src: url(/fonts/outfit-400.ttf) format("truetype");
  font-display: swap;
}
@font-face {
  font-family: "Outfit";
  font-style: normal;
  font-weight: 500;
  src: url(/fonts/outfit-500.ttf) format("truetype");
  font-display: swap;
}
@font-face {
  font-family: "Outfit";
  font-style: normal;
  font-weight: 600;
  src: url(/fonts/outfit-600.ttf) format("truetype");
  font-display: swap;
}
@font-face {
  font-family: "Outfit";
  font-style: normal;
  font-weight: 700;
  src: url(/fonts/outfit-700.ttf) format("truetype");
  font-display: swap;
}
@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 400;
  src: url(/fonts/jetbrains-400.ttf) format("truetype");
  font-display: swap;
}
@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 500;
  src: url(/fonts/jetbrains-500.ttf) format("truetype");
  font-display: swap;
}
@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 700;
  src: url(/fonts/jetbrains-700.ttf) format("truetype");
  font-display: swap;
}

/* ─── Design tokens (palette bible) ────────────────────────── */
:root {
  --c-obsidian:       #080808;
  --c-signal-white:   #FFFFFF;
  --c-amber-pulse:    #FFC16D;
  --c-neon-mint:      #8BFF97;
  --c-electric-bloom: #FF6FC1;
  --c-mulberry:       #9F375A;

  --c-surface:        #181614;
  --c-surface-2:      #201e1a;
  --c-border:         rgba(255, 255, 255, 0.08);
  --c-border-hover:   rgba(255, 193, 109, 0.25);
  --c-text:           var(--c-signal-white);
  --c-text-muted:     rgba(255, 255, 255, 0.50);

  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 20px;
  --sp-6: 24px;
  --sp-8: 32px;
  --sp-10: 40px;
  --sp-12: 48px;
  --sp-16: 64px;

  --r-sm: 6px;
  --r-md: 10px;
  --r-lg: 14px;
  --r-pill: 999px;

  --font-ui: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --dur-fast: 120ms;
  --dur-base: 200ms;
}

/* ─── Reset & base ─────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

html {
  background-color: var(--c-obsidian);
}

body {
  margin: 0;
  background: var(--c-obsidian);
  color: var(--c-text);
  min-height: 100vh;
  font-family: var(--font-ui);
  font-size: 1rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  font-kerning: normal;
  overflow-wrap: break-word;
}

/* ─── Kill ALL Pico layout constraints ────────────────────── */
:root {
  --pico-background-color: var(--c-obsidian);
  --pico-color: var(--c-text);
  --pico-primary: var(--c-amber-pulse);
  --pico-primary-hover: #e5ad5a;
  --pico-primary-focus: rgba(255, 193, 109, 0.25);
  --pico-primary-inverse: var(--c-obsidian);
  --pico-secondary-hover: var(--c-surface-2);
  --pico-muted-color: var(--c-text-muted);
  --pico-card-background-color: transparent;
  --pico-card-border-color: transparent;
  --pico-card-sectioning-background-color: transparent;
  --pico-table-border-color: var(--c-border);
  --pico-table-row-stripped-background-color: rgba(255, 255, 255, 0.02);
  --pico-spacing: 0;
}

html, body, main, article, section, aside, div, header, footer, nav, figure, fieldset {
  background-color: transparent !important;
  max-width: none !important;
  width: auto !important;
}

h1, h2, h3, h4, h5, h6, p, li, td, th, label, span, figcaption, strong {
  color: var(--c-text);
}

/* ─── Form elements ───────────────────────────────────────── */
input, select, textarea {
  background-color: var(--c-surface-2) !important;
  border-color: var(--c-border) !important;
  color: var(--c-text) !important;
  border-radius: var(--r-sm) !important;
}

input:focus, select:focus, textarea:focus {
  border-color: var(--c-amber-pulse) !important;
  box-shadow: 0 0 0 2px rgba(255, 193, 109, 0.20) !important;
  outline: none;
}

input::placeholder {
  color: var(--c-text-muted) !important;
}

/* ─── Buttons: all pill-shaped ─────────────────────────────── */
button,
[type="submit"],
[type="button"],
[type="reset"],
[role="button"] {
  border-radius: var(--r-pill) !important;
  font-family: var(--font-ui) !important;
  font-size: 0.85rem !important;
  font-weight: 600;
  padding: var(--sp-2) var(--sp-5) !important;
  cursor: pointer;
  transition: background var(--dur-fast) var(--ease-out),
              border-color var(--dur-fast) var(--ease-out),
              color var(--dur-fast) var(--ease-out),
              transform 80ms var(--ease-out);
}

[type="submit"], button.contrast, a.contrast {
  background: var(--c-amber-pulse) !important;
  color: var(--c-obsidian) !important;
  border: 1px solid var(--c-amber-pulse) !important;
}

[type="submit"]:hover, button.contrast:hover, a.contrast:hover {
  background: #e5ad5a !important;
  border-color: #e5ad5a !important;
}

[type="submit"]:active, button.contrast:active, a.contrast:active {
  transform: scale(0.97);
}

button.outline {
  color: var(--c-text-muted) !important;
  border: 1px solid var(--c-border) !important;
  background: transparent !important;
}

button.outline:hover {
  border-color: var(--c-border-hover) !important;
  color: var(--c-text) !important;
  background: rgba(255, 193, 109, 0.06) !important;
}

/* Small danger pill (delete) */
.admin-btn-danger {
  background: rgba(255, 111, 193, 0.08) !important;
  color: var(--c-electric-bloom) !important;
  border: 1px solid rgba(255, 111, 193, 0.15) !important;
  padding: var(--sp-1) var(--sp-4) !important;
  min-height: 32px !important;
  font-size: 0.8rem !important;
}

.admin-btn-warning {
  background: rgba(255, 193, 109, 0.08) !important;
  color: var(--c-amber-pulse) !important;
  border: 1px solid rgba(255, 193, 109, 0.15) !important;
  padding: var(--sp-1) var(--sp-4) !important;
  min-height: 32px !important;
  font-size: 0.8rem !important;
}

.admin-btn-warning:hover {
  background: rgba(255, 193, 109, 0.18) !important;
  border-color: rgba(255, 193, 109, 0.35) !important;
}

.admin-btn-danger:hover {
  background: rgba(255, 111, 193, 0.18) !important;
  border-color: rgba(255, 111, 193, 0.35) !important;
  color: #fff !important;
}

.admin-btn-danger:active { transform: scale(0.97); }

/* Queue button (teal-ish accent) */
.admin-btn-queue {
  background: rgba(139, 255, 151, 0.10) !important;
  color: var(--c-neon-mint) !important;
  border: 1px solid rgba(139, 255, 151, 0.20) !important;
  padding: var(--sp-1) var(--sp-4) !important;
  min-height: 32px !important;
  font-size: 0.8rem !important;
}

.admin-btn-queue:hover {
  background: rgba(139, 255, 151, 0.20) !important;
  border-color: rgba(139, 255, 151, 0.40) !important;
  color: #fff !important;
}

.admin-btn-queue:active { transform: scale(0.97); }

/* Small secondary pill */
.admin-btn-sm {
  padding: var(--sp-1) var(--sp-4) !important;
  min-height: 32px !important;
  font-size: 0.8rem !important;
}

/* ─── Shell ────────────────────────────────────────────────── */
.admin-shell {
  width: min(1280px, 96vw);
  margin: 0 auto;
  padding: var(--sp-8) var(--sp-6);
}

/* ─── Header & nav ─────────────────────────────────────────── */
.admin-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--sp-3);
  margin-bottom: var(--sp-8);
  padding-bottom: var(--sp-6);
  border-bottom: 1px solid var(--c-border);
}

.admin-brand {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--c-amber-pulse);
}

.admin-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--sp-2);
  margin-left: auto;
}

.admin-link {
  border-radius: var(--r-pill);
  padding: var(--sp-2) var(--sp-5) !important;
  text-decoration: none !important;
  border: 1px solid var(--c-border);
  background: transparent;
  color: var(--c-text) !important;
  font-weight: 600;
  font-size: 0.85rem;
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  transition: border-color var(--dur-fast) var(--ease-out),
              background var(--dur-fast) var(--ease-out),
              color var(--dur-fast) var(--ease-out);
}

.admin-link:hover {
  border-color: var(--c-border-hover);
  background: rgba(255, 193, 109, 0.08);
}

.admin-link:active {
  background: rgba(255, 193, 109, 0.15);
}

.admin-link:focus-visible {
  outline: 2px solid var(--c-amber-pulse);
  outline-offset: 2px;
}

.admin-nav .button_to,
.admin-nav .button_to form {
  display: flex;
  align-items: center;
  margin: 0;
}

.admin-nav .admin-btn-sm {
  display: inline-flex;
  align-items: center;
  min-height: 36px !important;
  margin: 0 !important;
  padding: var(--sp-2) var(--sp-5) !important;
}

.admin-settings-menu {
  position: relative;
  margin: 0;
}

.admin-settings-menu summary {
  cursor: pointer;
  list-style: none;
}

.admin-settings-menu summary::-webkit-details-marker {
  display: none;
}

.admin-settings-menu summary::marker {
  content: "";
}

.admin-settings-menu summary::after {
  content: "⌄";
  margin-left: var(--sp-2);
  font-size: 0.8rem;
  line-height: 1;
}

.admin-settings-menu[open] summary {
  border-color: var(--c-border-hover);
  background: rgba(255, 193, 109, 0.08);
}

.admin-settings-menu-list {
  position: absolute;
  right: 0;
  top: calc(100% + var(--sp-2));
  z-index: 20;
  min-width: 190px;
  padding: var(--sp-2);
  border: 1px solid var(--c-border);
  border-radius: var(--r-md);
  background: #201e1a;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.35);
}

.admin-settings-menu-item {
  display: block;
  border-radius: var(--r-sm);
  padding: var(--sp-2) var(--sp-3);
  color: var(--c-text) !important;
  font-size: 0.85rem;
  font-weight: 600;
  text-decoration: none !important;
}

.admin-settings-menu-item:hover {
  background: rgba(255, 193, 109, 0.08);
}

a.admin-link.contrast {
  background-color: var(--c-amber-pulse) !important;
  color: var(--c-obsidian) !important;
  border-color: var(--c-amber-pulse) !important;
  font-weight: 700;
}

a.admin-link.contrast:hover {
  background-color: #e5ad5a !important;
  border-color: #e5ad5a !important;
}

/* ─── Notices ──────────────────────────────────────────────── */
.admin-notice,
.admin-alert {
  border-radius: var(--r-md);
  padding: var(--sp-3) var(--sp-5);
  font-weight: 500;
  font-size: 0.9rem;
  margin: 0 0 var(--sp-6);
}

.admin-notice {
  background: rgba(139, 255, 151, 0.08);
  border: 1px solid rgba(139, 255, 151, 0.25);
  color: var(--c-neon-mint);
}

.admin-alert {
  background: rgba(255, 111, 193, 0.08);
  border: 1px solid rgba(255, 111, 193, 0.25);
  color: var(--c-electric-bloom);
}

/* ─── Headings ─────────────────────────────────────────────── */
.admin-shell h1 { font-size: 1.4rem; font-weight: 700; letter-spacing: -0.01em; margin: 0 0 var(--sp-1); }
.admin-shell h2 { font-size: 1.1rem; font-weight: 600; margin: var(--sp-6) 0 var(--sp-3); }
.admin-shell h3 { font-size: 0.82rem; font-weight: 600; color: var(--c-text-muted); text-transform: uppercase; letter-spacing: 0.06em; margin: 0 0 var(--sp-2); }

/* ─── Grids ────────────────────────────────────────────────── */
.admin-grid {
  display: grid;
  gap: var(--sp-4);
  margin-bottom: var(--sp-8);
}

.admin-grid.three-col {
  grid-template-columns: repeat(3, 1fr);
}

/* ─── Stat cards ───────────────────────────────────────────── */
.admin-stat-card {
  background: var(--c-surface);
  border-radius: var(--r-lg);
  padding: var(--sp-5) var(--sp-6);
  border: 1px solid var(--c-border);
  transition: border-color var(--dur-fast) var(--ease-out);
}

.admin-stat-card:hover {
  border-color: var(--c-border-hover);
}

.admin-stat-card h3 {
  margin-bottom: var(--sp-2);
}

.admin-stat-card strong {
  color: var(--c-amber-pulse);
  font-size: 1.6rem;
  font-weight: 700;
}

/* ─── Tables ───────────────────────────────────────────────── */
.admin-table-wrap {
  overflow-x: auto;
  margin-top: var(--sp-4);
}

table {
  margin: 0 !important;
  width: 100% !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
}

th {
  color: var(--c-text-muted) !important;
  font-weight: 600 !important;
  font-size: 0.75rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  text-align: left !important;
  padding: var(--sp-3) var(--sp-4) !important;
  white-space: nowrap;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
}

table td {
  padding: var(--sp-3) var(--sp-4) !important;
  border-bottom: 1px solid var(--c-border) !important;
  color: var(--c-text);
  font-size: 0.88rem;
  vertical-align: middle;
  font-variant-numeric: tabular-nums;
}

table thead th {
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
}

table tbody tr:last-child td {
  border-bottom: none !important;
}

table tbody tr {
  transition: background var(--dur-fast) var(--ease-out);
}

table tbody tr:hover {
  background: rgba(255, 193, 109, 0.03) !important;
}

/* Force every td/th to respect our widths */
table th,
table td {
  min-width: unset !important;
  width: auto !important;
}

/* Distribute non-action columns evenly (desktop only) */
@media (min-width: 769px) {
  table th:not(:last-child),
  table td:not(:last-child) {
    width: 1% !important;
  }
}

table td a {
  color: var(--c-amber-pulse);
  text-decoration: none;
  font-weight: 600;
}

table td a:hover {
  text-decoration: underline;
}

/* Ellipsis on long text (desktop only) */
@media (min-width: 769px) {
  table td:not([data-label="Actions"]):not([data-label="Preview"]) {
    max-width: 260px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
}

table td[data-label="Actions"],
table td[data-label="Preview"] {
  max-width: none !important;
  overflow: visible !important;
  white-space: normal !important;
}

/* Table action clusters — keep column narrow (desktop) */
@media (min-width: 769px) {
  td[data-label="Actions"] {
    width: 180px !important;
    min-width: 180px !important;
  }

  td .admin-toolbar {
    gap: var(--sp-1);
    flex-wrap: nowrap;
  }

  td .admin-toolbar .admin-link,
  td .admin-toolbar .admin-btn-danger {
    padding: 2px var(--sp-3) !important;
    font-size: 0.78rem !important;
    min-height: 28px !important;
    white-space: nowrap;
  }
}

/* ─── Actions ──────────────────────────────────────────────── */
.admin-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2);
}

/* ─── Detail / card panels ─────────────────────────────────── */
.admin-detail {
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  padding: var(--sp-8);
  margin-bottom: var(--sp-6);
}

.admin-detail + .admin-detail {
  margin-top: var(--sp-6);
}

.admin-stack {
  display: grid;
  gap: var(--sp-3);
}

.admin-detail > p {
  margin: 0 0 var(--sp-3);
}

/* ─── Forms ────────────────────────────────────────────────── */
.admin-form-grid {
  display: grid;
  gap: var(--sp-5);
  margin: 0;
}

form.admin-form-grid p {
  display: grid;
  gap: var(--sp-1);
  margin: 0;
}

form.admin-form-grid label {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--c-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

form.admin-form-grid select,
form.admin-form-grid textarea,
form.admin-form-grid input[type="email"],
form.admin-form-grid input[type="password"],
form.admin-form-grid input[type="text"],
form.admin-form-grid input[type="number"],
form.admin-form-grid input[type="file"] {
  width: min(480px, 100%);
}

form.admin-form-grid select[multiple] {
  width: min(100%, 600px);
}

.admin-reference-image-fields {
  display: grid;
  gap: var(--sp-4);
  padding: var(--sp-4);
  border: 1px solid var(--c-border);
  border-radius: var(--r-md);
  background: var(--c-surface-2);
}

.admin-reference-image-preview {
  display: block;
  margin-top: var(--sp-2);
  max-width: min(240px, 100%);
}

.admin-hint {
  color: var(--c-text-muted);
  font-size: 0.8rem;
  margin: var(--sp-1) 0 0;
}

/* ─── Chips / badges ───────────────────────────────────────── */
.admin-chip {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-1);
  padding: 2px var(--sp-3);
  border-radius: var(--r-pill);
  background: rgba(255, 193, 109, 0.10);
  color: var(--c-amber-pulse);
  font-size: 0.75rem;
  font-weight: 600;
  white-space: nowrap;
}

.admin-chip-success {
  background: rgba(139, 255, 151, 0.10);
  color: var(--c-neon-mint);
}

.admin-chip-danger {
  background: rgba(255, 111, 193, 0.10);
  color: var(--c-electric-bloom);
}

.admin-chip-on {
  background: rgba(139, 255, 151, 0.10);
  color: var(--c-neon-mint);
}

.admin-chip-off {
  background: rgba(255, 255, 255, 0.05);
  color: var(--c-text-muted);
}

/* ─── Toolbar ──────────────────────────────────────────────── */
.admin-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--sp-3);
}

.admin-toolbar-between {
  justify-content: space-between;
}

.admin-toolbar form,
.admin-toolbar .button_to,
.admin-toolbar .button_to form {
  margin: 0;
}

/* ─── Mono text / code ─────────────────────────────────────── */
.admin-mono {
  font-family: var(--font-mono);
  font-size: 0.85rem;
  line-height: 1.7;
}

pre.admin-mono {
  background: var(--c-surface-2);
  border: 1px solid var(--c-border);
  border-radius: var(--r-md);
  padding: var(--sp-5);
  overflow-x: auto;
  white-space: pre-wrap;
  word-break: break-word;
  font-size: 0.82rem;
}

/* ─── Preview images ───────────────────────────────────────── */
.admin-preview {
  max-width: min(320px, 100%);
  border-radius: var(--r-lg);
  border: 1px solid var(--c-border);
}

/* ─── Empty states ─────────────────────────────────────────── */
.admin-empty {
  color: var(--c-text-muted);
  font-size: 0.9rem;
  padding: var(--sp-4) 0;
}

/* ─── Focus ring ───────────────────────────────────────────── */
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
a:focus-visible {
  outline: 2px solid var(--c-amber-pulse);
  outline-offset: 2px;
}

/* ─── Detail page: selection list ──────────────────────────── */
.admin-detail ul {
  list-style: none;
  padding: 0;
  margin: 0 0 var(--sp-4);
}

.admin-detail ul li {
  padding: var(--sp-3) 0;
  border-bottom: 1px solid var(--c-border);
  line-height: 1.5;
}

.admin-detail ul li:last-child {
  border-bottom: none;
}

.admin-detail figure {
  margin: var(--sp-4) 0 0;
}

/* ─── Readable text width ─────────────────────────────────── */
.admin-detail p,
.admin-detail li {
  max-width: 72ch;
}

/* ─── Responsive ───────────────────────────────────────────── */
@media (max-width: 768px) {
  .admin-shell {
    padding: var(--sp-4) var(--sp-3);
  }

  .admin-header {
    flex-direction: column;
    gap: var(--sp-3);
  }

  .admin-nav {
    margin-left: 0;
  }

  .admin-grid.three-col {
    grid-template-columns: 1fr;
  }

  .admin-detail {
    padding: var(--sp-5) var(--sp-4);
  }

  .admin-toolbar-between {
    flex-direction: column;
    align-items: stretch;
    gap: var(--sp-3);
  }

  /* Table → card layout on mobile */
  .admin-table-wrap table,
  .admin-table-wrap thead,
  .admin-table-wrap tbody,
  .admin-table-wrap th,
  .admin-table-wrap td,
  .admin-table-wrap tr {
    display: block !important;
  }

  .admin-table-wrap thead {
    display: none !important;
  }

  .admin-table-wrap tr {
    background: var(--c-surface-2) !important;
    border: 1px solid var(--c-border) !important;
    border-radius: var(--r-md) !important;
    padding: var(--sp-4) !important;
    margin-bottom: var(--sp-3) !important;
    width: 100% !important;
  }

  .admin-table-wrap td {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: var(--sp-2) 0 !important;
    border: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04) !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: unset !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
  }

  .admin-table-wrap td:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
  }

  .admin-table-wrap td::before {
    content: attr(data-label);
    font-weight: 700;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--c-text-muted);
    margin-right: var(--sp-4);
    flex-shrink: 0;
    min-width: 80px;
  }

  td .admin-toolbar {
    flex-wrap: wrap;
    gap: var(--sp-2);
  }

  td .admin-toolbar .admin-link,
  td .admin-toolbar .admin-btn-danger,
  td .admin-toolbar .admin-btn-queue {
    font-size: 0.75rem !important;
    padding: 2px var(--sp-2) !important;
    min-height: 26px !important;
  }

  form.admin-form-grid select,
  form.admin-form-grid textarea,
  form.admin-form-grid input[type="email"],
  form.admin-form-grid input[type="password"],
  form.admin-form-grid input[type="text"],
  form.admin-form-grid input[type="number"],
  form.admin-form-grid input[type="file"],
  form.admin-form-grid select[multiple] {
    width: 100%;
  }

  .admin-preview {
    max-width: 100%;
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  .admin-grid.three-col {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ─── Landscape phone ──────────────────────────────────────── */
@media (max-height: 500px) and (orientation: landscape) {
  .admin-shell {
    padding: var(--sp-2) var(--sp-4);
  }

  .admin-header {
    margin-bottom: var(--sp-4);
  }

  .admin-detail {
    padding: var(--sp-4);
  }
}

/* ─── Reduced motion ──────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* ─── High contrast mode ──────────────────────────────────── */
@media (prefers-contrast: high) {
  .admin-link {
    border-width: 2px;
    border-color: var(--c-amber-pulse);
  }

  .admin-chip {
    border: 1px solid currentColor;
  }

  table td, table th {
    border-bottom-width: 2px;
  }
}
/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS (and SCSS, if configured) file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *


 */
