/* ===== Base ===== */
:root{
  --ap-radius:16px;
  --ap-card-shadow:0 8px 30px rgba(0,0,0,.06);
  --ap-muted:#6b7280;
}

body{ background:#f6f8fb; }

/* ===== Navbar ===== */
.navbar{ box-shadow:0 2px 10px rgba(0,0,0,.05); }
.navbar .nav-link{ opacity:.9; }
.navbar .nav-link.active{ font-weight:600; }

/* ===== Cards ===== */
.card{
  border:0;
  border-radius:var(--ap-radius);
  box-shadow:var(--ap-card-shadow);
}
.card-header{
  background:#fff;
  border-bottom:1px solid rgba(0,0,0,.06);
  font-weight:600;
}

/* ===== Tables ===== */
.table{
  --bs-table-bg:#fff;
  --bs-table-striped-bg:#fafbff;
  --bs-table-hover-bg:#f2f6ff;
  margin:0;
  border-radius:var(--ap-radius);
  overflow:hidden;
  box-shadow:var(--ap-card-shadow);
}
.table thead th{
  font-size:.8rem;
  letter-spacing:.02em;
  text-transform:uppercase;
  color:var(--ap-muted);
  border-bottom:1px solid rgba(0,0,0,.08);
}
.table td{ vertical-align:middle; }

/* Sticky table header für lange Listen */
.table-responsive{ max-height:70vh; }
.table-responsive thead th{ position:sticky; top:0; background:#fff; z-index:2; }

/* ===== Badges für Status / Prio ===== */
.badge-soft{
  padding:.45em .6em;
  border-radius:999px;
  font-weight:600;
}
.badge-soft.green { background:#e9f9ee; color:#2f9e44; }
.badge-soft.yellow{ background:#fff8e6; color:#b46900; }
.badge-soft.red   { background:#ffe9ea; color:#c02f35; }
.badge-soft.gray  { background:#eef1f5; color:#445; }

/* ===== Buttons ===== */
.btn{
  border-radius:12px;
  font-weight:600;
}
.btn-outline-secondary{ border-color:#d7dbe3; color:#374151; }
.btn-outline-secondary:hover{ background:#f2f4f8; }

/* ===== Utilities ===== */
.page-title{
  display:flex; align-items:center; gap:.6rem; margin-bottom:1rem;
}
.page-title .icon{
  width:36px; height:36px; display:grid; place-items:center;
  background:#eef2ff; color:#4f46e5; border-radius:10px;
}

/* Alert Styling zarter */
.alert{ border:0; border-left:4px solid; box-shadow:var(--ap-card-shadow); }
.alert-success{ border-left-color:#22c55e; }
.alert-danger { border-left-color:#ef4444; }
.alert-info   { border-left-color:#0ea5e9; }
