body {
  background-color: #f5f7fb;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

h1,h2,h3,h4,h5 { font-weight: 600; }

.container, .container-fluid {
  max-width: 1400px;
}

.card {
  border-radius: 0.75rem;
  box-shadow: 0 4px 18px rgba(15,23,42,.08);
  border:none;
}

.btn {
  border-radius: 999px;
}

.table-sm td,
.table-sm th {
  padding:0.35rem 0.5rem;
  font-size:0.85rem;
}

.shift-cell select {
  font-size:0.8rem;
  padding:0.15rem 0.25rem;
}

/* SCHICHTFARBEN – wie alte HTML */
.cell-frueh   { background-color:#9dc9ff !important; }
.cell-mittel  { background-color:#d8b4fe !important; }
.cell-spaet   { background-color:#ffb077 !important; }
.cell-frei    { background-color:#b9f7b0 !important; }
.cell-schule  { background-color:#fff7a8 !important; }
.cell-stadion { background-color:#ffe27a !important; }
.cell-krank   { background-color:#ff9b9b !important; }
.cell-urlaub  { background-color:#d5d9dd !important; }

/* Freie Tage Ampel */
.free-days-cell {
  text-align:center;
  font-weight:600;
  min-width:70px;
}

.free-bad  { background-color:#f8d7da; color:#721c24; }
.free-good { background-color:#d4edda; color:#155724; }
.free-high { background-color:#d1ecf1; color:#0c5460; }

/* Tageskontrolle */
.daycheck-table {
  background:#ffffff;
  border-radius:10px;
  padding:10px;
}

.daycheck-table td {
  vertical-align:middle;
  font-size:0.8rem;
}

.day-pill {
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:3px 8px;
  font-size:0.7rem;
  font-weight:500;
}

.day-pill-ok  { background-color:#d4edda; color:#155724; }
.day-pill-bad { background-color:#f8d7da; color:#721c24; }

.day-pill .dot{
  width:8px;
  height:8px;
  border-radius:50%;
  margin-right:6px;
  background-color:currentColor;
}

/* DRUCK */
@media print {
  @page { size: landscape; margin:10mm; }

  .no-print,
  .navbar,
  nav,
  header,
  footer,
  .btn {
    display:none !important;
  }

  body {
    background:#ffffff !important;
    -webkit-print-color-adjust:exact !important;
    print-color-adjust:exact !important;
  }

  .container,
  .container-fluid {
    max-width:100% !important;
    margin:0;
    padding:0;
  }

  .card {
    box-shadow:none !important;
    border:none !important;
  }

  table {
    font-size:0.75rem;
  }

  th,td {
    padding:0.2rem 0.25rem !important;
  }

  .d-print-none { display:none !important; }
  .d-print-inline { display:inline !important; }
}
