/* =========================================================
   SVG-ZERT Manager Styles (assets/app.css)
   Greift nur, wenn <body class="manager-page"> gesetzt ist.
   ========================================================= */

/* ---- Reset/Scope nur für Manager ---- */
body.manager-page {
  margin: 0;
  padding: 0;
}

/* ---- Layout: Sticky Footer Setup ---- */
body.manager-page.d-flex.min-vh-100 {
  /* Bootstrap übernimmt die Höhe; flex sorgt dafür, dass Footer unten klebt */
}
body.manager-page .manager-container {
  /* Optionaler Wrapper, falls du mal brauchst */
  flex: 1 1 auto;
}

/* ---- Navbar: engerer Seitenrand (10px) ---- */
body.manager-page .navbar > .container {
  padding-left: 10px !important;
  padding-right: 10px !important;
}

/* Aktiver Link in der Navigation (wenn Klasse .active gesetzt wird) */
body.manager-page .navbar .nav-link.active,
body.manager-page .navbar .nav-link[aria-current="page"] {
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* Optional: farbige Hervorhebung aktiver Links (SVG-ZERT Grün) */
body.manager-page .nav-link.active {
  font-weight: bold;
  color: #358752 !important;
}

/* Auth Page Layout */
body.auth-page {
  background: #f4f4f4;
}

/* Wrapper für vertikale Zentrierung */
.auth-wrapper {
  min-height: calc(100vh - 80px); /* Footer entfernt */
}

/* Card-Anpassung */
.auth-card {
  border-radius: 10px;
}

/* --- Steps: robuste Abstände zwischen den Karten --- */
body.manager-page .card-step { margin-bottom: 1.5rem; }
body.manager-page .card-step + .card-step { margin-top: 1rem; }
body.manager-page .card-step:last-child { margin-bottom: 1.5rem; }

/* ---- Tabellen Tweaks ---- */
body.manager-page .table-sm th,
body.manager-page .table-sm td {
  padding: .4rem .5rem;
}

/* ---- A4-Preview-Kacheln ---- */
body.manager-page .a4-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
@media (min-width: 768px) {
  body.manager-page .a4-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1200px) {
  body.manager-page .a4-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

body.manager-page .a4-tile { min-width: 0; }
body.manager-page .a4-frame {
  width: 100%;
  aspect-ratio: 1 / 1.414; /* A4 hoch */
  background: #f9f9f9;
  border: 1px solid #ddd;
  border-radius: .25rem;
  overflow: hidden;         /* alles im Rahmen halten */
  position: relative;
}

body.manager-page .a4-embed,
body.manager-page .a4-img,
body.manager-page .a4-unsupported {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  background: #fff;
  border: 0;
}

/* Speziell für <embed type="application/pdf"> */
body.manager-page .a4-embed { overflow: hidden; }

/* Abstand unterhalb der Preview-Kachel inkl. Button-Leiste */
body.manager-page .a4-tile { margin-bottom: .5rem; }
body.manager-page .a4-tile .btn { white-space: nowrap; }

/* ---- Headerzeile in Detailseiten: Progress + Toolbar ---- */
body.manager-page .detail-head { gap: 1rem; }
body.manager-page .detail-head .progress {
  width: 260px;
  height: 10px;
}

/* ---- Buttons in Tabellenzellen sauber laufen lassen ---- */
body.manager-page .table .btn-group-tight,
body.manager-page .table .btn-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

/* ---- Dashboard KPI-Karten ---- */
body.manager-page .card-kpi .display-5 { line-height: 1; }
body.manager-page .card-kpi .kpi-label { letter-spacing: .02em; }
body.manager-page .card-kpi .kpi-foot  { font-size: .875rem; color: #6c757d; }

/* ---- Chart-Kacheln (verhindert Springen) ---- */
body.manager-page .card-chart .chart-wrap {
  position: relative;
  height: 280px;
}
@media (min-width: 992px) {
  body.manager-page .card-chart .chart-wrap { height: 320px; }
}
body.manager-page .card-chart .chart-legend {
  font-size: .9rem;
  color: #6c757d;
}

/* ---- Toolbar (partials/toolbar.php) ---- */
body.manager-page .toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}
body.manager-page .toolbar.toolbar--end { justify-content: flex-end; }

/* ---- Footer-Feinschliff ---- */
body.manager-page footer svgz-footer { /* Platzhalter für spätere Komponenten */ }

/* ---- Sonstiges: Helfer ---- */
body.manager-page .nowrap { white-space: nowrap; }

.manager-details .card-step {
  margin-bottom: 24px;
  border-radius: 8px;
}

.manager-details .card-step .card-header {
  background-color: #f8f9fa;
  font-weight: 600;
}

.manager-details .section-title {
  font-size: 0.95rem;
  font-weight: 600;
  margin-bottom: 0.75rem;
}

.manager-details .a4-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.manager-details .a4-tile {
  width: 210px; /* A4 Hochformat Vorschau */
}

.manager-details .a4-frame {
  position: relative;
  width: 100%;
  padding-top: 141%; /* A4 Seitenverhältnis */
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 4px;
  overflow: hidden;
}

.manager-details .a4-embed,
.manager-details .a4-img {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.manager-details .a4-unsupported {
  height: 100%;
  background: #f5f5f5;
  font-size: 0.85rem;
  text-align: center;
}

.review-toggle:checked + label {
  font-weight: 600;
  color: #0d6efd;
}

.review-item.marked {
    background-color: #e8f7ee; /* sanftes Grün */
    border-left: 4px solid #5cb85c; /* grüner Indikator */
    padding-left: .75rem;
    transition: background-color .2s ease, border-color .2s ease;
}

  .a4-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 12px;
  }

  .a4-tile {
    width: 100%;
    max-width: 200px;
  }

  .a4-frame {
    height: 250px; /* statt ~450–600px */
  }

  .a4-embed,
  .a4-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
