
:root {
  color-scheme:dark;
  --bg:#0d0b17;
  --paper:#191526;
  --ink:#f1eef9;
  --muted:#aaa3bd;
  --line:#433650;
  --soft:#30203f;
  --accent:#b7a1f5;
  font:14px/1.5 system-ui,sans-serif;
  background:var(--bg);
  color:var(--ink)}
* {
  box-sizing:border-box}
body {
  margin:0}
a {
  color:var(--accent)}
button,input,select {
  font:inherit}
button {
  cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible {
  outline:3px solid #d2a75e;
  outline-offset:3px}
header {
  background:#100d1c;
  border-bottom:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:20px 30px}
header .brand {
  text-decoration:none;
  color:var(--ink);
  padding:8px 10px;
  border-radius:7px}
header .brand:hover {
  background:var(--soft)}
header strong {
  font-size:20px}
header small {
  display:block;
  color:var(--muted);
  font-size:10px;
  letter-spacing:2px}
.shell {
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  min-height:calc(100vh - 85px)}
nav {
  background:var(--paper);
  border-right:1px solid var(--line);
  padding:24px 12px}
nav a {
  display:block;
  text-decoration:none;
  padding:12px;
  margin:4px 0;
  border-radius:8px;
  color:var(--muted)}
nav a[aria-current=page] {
  background:var(--soft);
  color:var(--accent)}
main {
  max-width:1300px;
  width:100%;
  padding:28px;
  margin:0 auto;
  min-width:0}
h1 {
  font-size:30px;
  font-weight:600;
  letter-spacing:-1px;
  margin:4px 0 8px}
h2 {
  font-size:20px;
  margin:0 0 6px}
h3 {
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:1px;
  color:var(--muted);
  margin:0 0 10px}
p {
  color:var(--muted)}
.eyebrow,.tag {
  color:var(--accent);
  font-size:11px;
  letter-spacing:1px}
.heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  flex-wrap:wrap}
.tools {
  display:flex;
  gap:12px;
  align-items:end;
  flex-wrap:wrap;
  margin:24px 0}
.tools label {
  display:flex;
  flex-direction:column;
  gap:5px;
  font-size:11px;
  color:var(--muted)}
input,select,button {
  padding:9px 12px;
  border:1px solid var(--line);
  border-radius:7px;
  background:var(--paper);
  color:var(--ink);
  max-width:100%}
button.primary {
  background:var(--accent);
  color:#100d1c;
  border:0;
  font-weight:600}
.summary {
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  color:var(--muted);
  font-size:12px;
  margin:18px 0}
.list {
  display:grid;
  gap:14px}
.aircraft,.empty {
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:11px;
  padding:20px}
.cardtop {
  display:flex;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap}
.price {
  font-size:24px;
  font-weight:600}
.price small {
  display:block;
  font-size:11px;
  color:var(--muted);
  font-weight:400}
.badge {
  display:inline-block;
  background:var(--soft);
  color:var(--accent);
  font-size:11px;
  padding:3px 8px;
  border-radius:5px;
  margin-bottom:10px}
.meta,small {
  font-size:12px;
  color:var(--muted)}
.maintenance {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:16px 0;
  margin:18px 0}
dl {
  margin:0}
dt {
  font-size:11px;
  color:var(--muted);
  margin-top:6px}
dd {
  margin:0;
  font-size:13px}
dd small {
  display:block}
.caution {
  padding:10px 12px;
  background:#463e28;
  color:#f0d99c;
  border-radius:6px;
  font-size:12px}
.actions {
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
  margin-top:18px}
.desc {
  max-height:140px;
  overflow:auto;
  overflow-wrap:anywhere}
.tablewrap {
  overflow:auto}
table {
  border-collapse:collapse;
  width:100%;
  background:var(--paper);
  font-size:13px}
td,th {
  text-align:left;
  padding:14px 12px;
  border-bottom:1px solid var(--line);
  vertical-align:top}
th {
  font-size:11px;
  color:var(--muted)}
.error {
  color:#ffc3b9;
  overflow-wrap:anywhere}
.health {
  padding:18px 0;
  border-bottom:1px solid var(--line)}
footer {
  color:var(--muted);
  font-size:11px;
  line-height:1.7;
  margin-top:24px}
@media(max-width:760px) {
  .shell {
  grid-template-columns:1fr}
nav {
  display:flex;
  flex-wrap:wrap;
  border-right:0;
  border-bottom:1px solid var(--line);
  padding:8px}
nav a {
  padding:9px;
  font-size:12px}
main {
  padding:20px}
.maintenance {
  gap:12px}
}
@media(max-width:480px) {
  header {
  padding:16px}
.maintenance {
  grid-template-columns:1fr}
h1 {
  font-size:26px}
main {
  padding:16px}
}

.list {
  grid-template-columns:repeat(auto-fill,minmax(320px,1fr));
  align-items:stretch;
  grid-auto-rows:1fr}
.aircraft {
  display:flex;
  flex-direction:column;
  padding:0;
  overflow:hidden;
  min-width:0}
.photo {
  flex-shrink:0;
  display:block;
  position:relative;
  aspect-ratio:16/10;
  background:linear-gradient(145deg,#282039,#171321);
  overflow:hidden;
  text-decoration:none}
.photo-placeholder {
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  color:#aaa3bd;
  font-size:48px}
.photo-placeholder small {
  font-size:12px;
  letter-spacing:.3px}
.photo img {
  position:absolute;
  width:100%;
  height:100%;
  object-fit:cover;
  color:transparent}
.cardbody {
  display:flex;
  flex-direction:column;
  flex:1;
  padding:20px}
.cardtop {
  display:block}
.cardtop h2 {
  font-size:20px;
  line-height:1.3;
  margin:0 0 10px}
.cardtop h2 a {
  color:var(--ink);
  text-decoration:none}
.cardtop h2 a:hover {
  text-decoration:underline}
.price {
  margin-top:16px;
  color:var(--accent);
  font-variant-numeric:tabular-nums}
.technical {
  margin-top:18px;
  border-top:1px solid var(--line);
  padding-top:14px}
.technical>summary {
  font-size:12px;
  color:var(--accent);
  cursor:pointer}
.maintenance {
  grid-template-columns:1fr;
  gap:14px;
  border:0;
  margin:0;
  padding:16px 0}
.maintenance section+section {
  border-top:1px solid var(--line);
  padding-top:12px}
.desc {
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
  max-height:4.5em;
  font-size:13px}
.actions {
  margin-top:auto;
  padding-top:18px;
  gap:10px}
.actions button {
  padding:7px 9px;
  font-size:12px}
.actions small {
  width:100%;
  font-size:11px}
.website-group {
  margin:24px 0}
.group-heading {
  display:flex;
  justify-content:space-between;
  gap:15px;
  align-items:baseline;
  margin:28px 0 16px;
  padding:14px 18px;
  border:1px solid var(--line);
  border-left:4px solid var(--accent);
  border-radius:8px;
  background:#211a30}
.group-heading {
  cursor:pointer;
  list-style:none}
.group-heading::-webkit-details-marker {
  display:none}
.group-name {
  font-size:20px;
  font-weight:600;
  color:var(--ink)}
.chevron {
  display:inline-block;
  margin-left:12px}
.website-group:not([open]) .chevron {
  transform:rotate(-90deg)}
summary:focus-visible {
  outline:3px solid #d2a75e;
  outline-offset:3px}
.pagination {
  display:flex;
  gap:20px;
  justify-content:center;
  align-items:center;
  margin:28px 0;
  color:var(--muted)}
@media(min-width:1500px) {
  main {
  max-width:1600px}
}
@media(max-width:480px) {
  .list {
  grid-template-columns:minmax(0,1fr)}
.cardbody {
  padding:16px}
}



.sync-controls { text-align:right; }
.last-sync { margin:8px 0 0; font-size:12px; color:var(--muted); }
@media(max-width:760px) { .sync-controls { text-align:left; } }

/* Shared Midnight Violet palette; listing layout and controls stay unchanged. */
:root{--bg:#0d0b17;--paper:#191526;--ink:#f1eef9;--muted:#aaa3bd;--line:#cab9ff1c;--soft:#30203f;--accent:#b7a1f5}body{background:radial-gradient(ellipse at 80% 0%,#683e9020,transparent 50%),var(--bg)}header{background:#100d1c}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-color:#b7a1f5}
