:root {
  color-scheme: dark;
  --ivory: #1c1c1c;
  --ivory-2: #252525;
  --paper: #2a2a2a;
  --ink: #fffdf8;
  --ink-2: #f1ede6;
  --muted: #c6c1b9;
  --gold: #d2b174;
  --gold-light: #eed9ae;
  --orange: #f29a45;
  --bordeaux: #cf8294;
  --green: #8fd0ab;
  --red: #ed9aa2;
  --line: rgba(255, 255, 255, 0.16);
  --shadow: 0 24px 60px rgba(0, 0, 0, 0.48);
  --shadow-sm: 0 10px 24px rgba(0, 0, 0, 0.34);
  --night: #111111;
  --wine: #141414;
  --surface-2: #333333;
  --cream: #fffdf8;
  --orangered: #f52c2c;
}

body {
  background: var(--ivory);
  color: var(--ink);
}

.topbar {
  background: var(--wine);
  color: rgba(245, 238, 227, 0.82);
}

.topbar a:hover {
  color: var(--cream);
}

.admin-header {
  background: rgba(28, 28, 28, 0.95);
  border-bottom-color: var(--line);
}

.brand,
.brand:hover {
  color: var(--ink);
}

.brand__text small,
.admin-nav__user,
.login-note,
.login-footer,
.page-footer {
  color: var(--muted);
}

.admin-nav a {
  color: var(--ink-2);
}

.btn {
  border-color: var(--bordeaux);
  background: var(--bordeaux);
  color: var(--cream);
}

.btn:hover {
  border-color: var(--gold);
  background: var(--gold);
  color: var(--night);
}

.btn--gold {
  border-color: var(--gold);
  background: var(--gold);
  color: var(--night);
}

.btn--gold:hover {
  border-color: var(--bordeaux);
  background: var(--bordeaux);
  color: var(--cream);
}

.btn--outline {
  background: transparent;
  color: var(--bordeaux);
}

.btn--outline:hover {
  background: var(--bordeaux);
  color: var(--cream);
}

.btn--danger {
  border-color: var(--red);
  background: transparent;
  color: var(--red);
}

.btn--danger:hover {
  background: var(--red);
  color: var(--night);
}

.field input,
.field select,
.field textarea {
  border-color: var(--line);
  background: var(--ivory);
  color: var(--ink);
}

.field input:focus,
.field select:focus,
.field textarea:focus {
  background: var(--paper);
  border-color: var(--gold);
}

.search-bar,
.card,
.table-wrap,
.rate-table-wrap,
.booking-summary,
.login-card,
.print-sheet {
  border-color: var(--line);
  background: var(--paper);
}

th {
  border-bottom-color: var(--line);
  background: var(--ivory-2);
  color: var(--muted);
}

td {
  border-bottom-color: var(--line);
  color: var(--ink-2);
}

tbody tr:hover {
  background: rgba(200, 166, 106, 0.06);
}

.badge {
  border-color: var(--line);
  color: var(--muted);
}

.badge--confirmed {
  border-color: rgba(127, 195, 157, 0.3);
  background: rgba(127, 195, 157, 0.1);
  color: var(--green);
}

.badge--cancelled {
  border-color: rgba(227, 138, 146, 0.3);
  background: rgba(227, 138, 146, 0.1);
  color: var(--red);
}

.badge--serviced,
.badge--return {
  border-color: rgba(200, 166, 106, 0.45);
  background: rgba(200, 166, 106, 0.12);
  color: var(--gold-light);
}

.badge--pickup {
  border-color: rgba(184, 97, 118, 0.35);
  background: rgba(184, 97, 118, 0.08);
  color: var(--bordeaux);
}

.notice {
  border-left-color: var(--gold);
  background: rgba(200, 166, 106, 0.1);
  color: var(--ink-2);
}

.notice--error {
  border-left-color: var(--red);
  background: rgba(227, 138, 146, 0.09);
  color: var(--red);
}

.notice--success {
  border-left-color: var(--green);
  background: rgba(127, 195, 157, 0.09);
  color: var(--green);
}

.rate-value,
.id-cell {
  color: var(--bordeaux);
}

.name-cell strong {
  color: var(--ink);
}

.name-cell span,
.muted,
.form-note,
.booking-notice {
  color: var(--muted);
}

.rate-input,
.status-select {
  border-color: var(--gold);
  background: var(--paper);
  color: var(--ink);
}

tr.is-editing {
  background: rgba(200, 166, 106, 0.09);
}

.print-sheet__head {
  border-bottom-color: var(--gold);
}

.print-sheet th {
  background: var(--ivory-2);
  color: var(--muted);
}

.print-sheet td {
  border-bottom-color: var(--line);
  color: var(--ink-2);
}

.login-shell {
  background:
    radial-gradient(circle at 20% 15%, rgba(200, 166, 106, 0.18), transparent 34%),
    radial-gradient(circle at 85% 80%, rgba(184, 97, 118, 0.28), transparent 42%),
    linear-gradient(140deg, #1c1c1c, #2a2a2a);
}

.login-card {
  border-top-color: var(--gold);
  background: var(--paper);
}

@media print {
  body {
    background: #fff !important;
    color: #000 !important;
  }

  .print-sheet,
  .print-sheet .table-wrap,
  .print-sheet table,
  .print-sheet tbody,
  .print-sheet tr,
  .print-sheet td {
    background: #fff !important;
  }

  .print-sheet {
    border: 0 !important;
    box-shadow: none !important;
  }

  .print-sheet h1,
  .print-sheet h2,
  .print-sheet h3,
  .print-sheet__head .eyebrow,
  .print-sheet__head .muted,
  .print-sheet__meta,
  .print-sheet__meta strong,
  .print-sheet td,
  .print-sheet .muted {
    color: #000 !important;
  }

  .print-sheet th {
    background: #eee !important;
    color: #000 !important;
  }

  .print-sheet td {
    border-bottom-color: #bbb !important;
  }

  .print-sheet__head {
    border-bottom-color: #000 !important;
  }

  .print-sheet .badge {
    border-color: #999 !important;
    background: #fff !important;
    color: #000 !important;
  }

  .print-sheet .planning-group td {
    background: #eee !important;
    border-top: 2px solid #000 !important;
    border-bottom: 1px solid #bbb !important;
    color: #000 !important;
  }

  .print-sheet .planning-group__date {
    color: #000 !important;
  }

  .print-sheet .planning-group__meta {
    color: #333 !important;
  }

  a {
    color: #000 !important;
  }
}

* {
  scrollbar-color: #5a4937 #1c1c1c;
  scrollbar-width: thin;
}

::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

::-webkit-scrollbar-track {
  background: #1c1c1c;
}

::-webkit-scrollbar-thumb {
  border: 2px solid #1c1c1c;
  border-radius: 999px;
  background: #5a5a5a;
}

::-webkit-scrollbar-thumb:hover {
  background: #6d5942;
}

.brand__text strong {
  color: var(--orangered);
  font-size: 1.38rem;
}

@media (max-width: 560px) {
  .brand__text strong {
    font-size: 1.26rem;
  }
}
