/* ═══════════════════════════════════════════════════════════════
   Wartungsplaner (js/maintenance.js) – Menuepunkt "Wartung"
════════════════════════════════════════════════════════════════ */
.mt-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mt-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(440px, 1fr)); gap: 16px; align-items: start; }
.mt-veh { padding: 16px 18px; }
.mt-veh.mt-inactive { opacity: .6; }
.mt-veh-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.mt-veh-name { font-size: 17px; font-weight: 800; }
.mt-veh-km { font-family: var(--font-mono); font-size: 12.5px; color: var(--text-2); margin-top: 2px; }
.mt-veh-act { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.mt-veh-act .btn-ghost { padding: 6px 11px; font-size: 12px; }
.mt-item {
  display: flex; align-items: center; gap: 12px; padding: 11px 12px; border-radius: 11px;
  border: 1px solid var(--border); margin-bottom: 8px; --mc: var(--accent2);
}
.mt-item.mt-due  { --mc: var(--danger);  border-color: rgba(255,82,82,.35);  background: linear-gradient(90deg, rgba(255,82,82,.07), transparent 70%); }
.mt-item.mt-soon { --mc: var(--warning); border-color: rgba(255,167,38,.35); background: linear-gradient(90deg, rgba(255,167,38,.06), transparent 70%); }
.mt-item.mt-ok   { --mc: var(--success); }
.mt-item.mt-none, .mt-item.mt-unknown { --mc: var(--text-3); }
.mt-ico {
  width: 38px; height: 38px; border-radius: 10px; flex-shrink: 0; display: flex; align-items: center; justify-content: center;
  font-size: 18px; color: var(--mc); background: color-mix(in srgb, var(--mc) 14%, transparent);
}
.mt-main { flex: 1; min-width: 0; }
.mt-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 13.5px; }
.mt-pill {
  font-size: 10px; font-weight: 700; padding: 1px 8px; border-radius: 20px; text-transform: uppercase; letter-spacing: .04em;
  color: var(--mc); border: 1px solid color-mix(in srgb, var(--mc) 45%, transparent);
}
.mt-mute { color: var(--text-3); font-size: 12px; }
.mt-sub { font-size: 11.5px; color: var(--text-2); margin-top: 2px; }
.mt-bar { height: 4px; border-radius: 4px; background: var(--bg-base); margin-top: 7px; overflow: hidden; }
.mt-bar > div { height: 100%; background: var(--mc); border-radius: 4px; }
.mt-left { font-size: 11.5px; margin-top: 5px; font-weight: 600; color: var(--mc); }
.mt-left span { color: var(--text-2); font-weight: 500; }
.mt-act { display: flex; gap: 6px; flex-shrink: 0; }
.mt-act .btn-accent, .mt-act .btn-ghost { padding: 6px 11px; font-size: 12px; }
.mt-tpl { border: 1px dashed var(--border-md); border-radius: 12px; padding: 14px; margin-top: 6px; }
.mt-tpl-head { display: flex; flex-direction: column; gap: 3px; font-size: 13.5px; }
.mt-tpl-head small { color: var(--text-2); font-size: 12px; line-height: 1.5; }
.mt-tpl .btn-accent { margin-top: 12px; }
.mt-modal-box { width: 560px; }
.mt-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.mt-hint { margin-top: 10px; }
.mt-del { margin-right: auto; }
.mt-log td { font-size: 12.5px; vertical-align: top; }
.mt-log .btn-ghost { padding: 3px 8px; font-size: 12px; }
.mt-log-note { font-size: 11.5px; color: var(--text-2); margin-top: 2px; }
.mt-log-sum td { font-weight: 700; border-top: 1px solid var(--border-md); }
.nav-badge.mt-badge { background: var(--warning); }
.nav-badge.mt-badge.mt-badge-due { background: var(--danger); }
@media (max-width: 1000px) { .mt-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) {
  .mt-grid { grid-template-columns: 1fr; }
  .mt-act span, .mt-veh-act span { display: none; }
  .mt-row { grid-template-columns: 1fr; gap: 0; }
}
/* display:grid oben – ohne das bliebe [hidden] wirkungslos */
.mt-row[hidden], .mt-tires[hidden] { display: none; }

/* ── Umschalter Karten/Liste und Filter ─────────────────────────────── */
.mt-vbar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 4px 0 14px; }
.mt-seg { display: inline-flex; padding: 3px; border-radius: 10px; background: var(--bg-card); border: 1px solid var(--border); }
.mt-seg button {
  border: 0; background: transparent; color: var(--text-2); font-size: 12.5px; font-weight: 600;
  padding: 6px 12px; border-radius: 8px; cursor: pointer; display: inline-flex; align-items: center; gap: 6px;
}
.mt-seg button.on { background: var(--accent); color: #fff; }
.mt-seg button:not(.on):hover { color: var(--text-1); }
.mt-veh-filter { width: auto; min-width: 170px; padding: 6px 10px; font-size: 12.5px; }
.mt-only { margin: 0; font-size: 12.5px; }
.mt-vbar-act { margin-left: auto; display: flex; gap: 6px; }
.mt-vbar-act .btn-ghost { padding: 6px 11px; font-size: 12px; }

/* ── Listenansicht: alle Eintraege, dringendste zuerst ──────────────── */
.mt-list { padding: 8px 10px; }
.mt-li {
  display: grid; grid-template-columns: 38px minmax(0, 1fr) 200px 100px 150px; align-items: center;
  gap: 12px; margin-bottom: 6px;
}
.mt-li-head { border: 0; padding: 4px 12px 2px; margin: 0; font-size: 10px; font-weight: 700; color: var(--text-3);
  text-transform: uppercase; letter-spacing: .05em; background: none; }
.mt-li-main { min-width: 0; display: flex; flex-direction: column; font-size: 13.5px; }
.mt-li-main small { font-size: 11.5px; color: var(--text-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mt-li-left { font-size: 12px; font-weight: 600; color: var(--mc); }
.mt-li-due { font-size: 12px; color: var(--text-2); font-family: var(--font-mono); }
.mt-li .mt-act { justify-content: flex-end; }
.mt-li-none { color: var(--text-2); font-weight: 500; }

/* ── Reifen: Saisonleiste ───────────────────────────────────────────── */
.mt-season { margin-top: 8px; }
.mt-season-bar { position: relative; height: 6px; border-radius: 6px; overflow: visible; background: var(--bg-base); }
.mt-season-bar i { position: absolute; top: 0; bottom: 0; }
.mt-season-bar i:first-child { border-radius: 6px 0 0 6px; }
.mt-season-bar i:nth-child(3) { border-radius: 0 6px 6px 0; }
.mt-sw { background: color-mix(in srgb, #4cc9f0 55%, transparent); }
.mt-ss { background: color-mix(in srgb, #f4c430 55%, transparent); }
.mt-now {
  position: absolute; top: -4px; width: 3px; height: 14px; margin-left: -1.5px; border-radius: 2px;
  background: var(--text-1); box-shadow: 0 0 0 2px var(--bg-card);
}
.mt-season-lbl { position: relative; height: 15px; margin-top: 4px; font-size: 10.5px; color: var(--text-2); }
.mt-season-lbl span { position: absolute; transform: translateX(-50%); white-space: nowrap; font-family: var(--font-mono); }
.mt-season-lbl .bi-sun { color: #f4c430; }
.mt-season-lbl .bi-snow2 { color: #4cc9f0; }

/* Tag + Monat im Reifen-Dialog */
.mt-md { display: grid; grid-template-columns: 80px 1fr; gap: 8px; }
.mt-sfix { margin-top: 8px; }
.mt-seasons[hidden], .mt-sfix[hidden], .mt-int[hidden] { display: none; }

@media (max-width: 760px) {
  .mt-li { grid-template-columns: 38px minmax(0, 1fr) auto; row-gap: 4px; }
  .mt-li .mt-act { min-width: 0; }
  .mt-li-left { grid-column: 2; grid-row: 2; }
  .mt-li-due { grid-column: 3; grid-row: 2; text-align: right; }
  .mt-li .mt-act { grid-column: 3; grid-row: 1; }
  .mt-li-head { display: none; }
  .mt-vbar-act { margin-left: 0; }
  .mt-seg span { display: none; }
}
