/* Suite UI Theme (Light / Glass) */

:root{
  --suite-bg1:#e9fbf3;
  --suite-bg2:#f3fbff;
  --suite-surface:rgba(255,255,255,.72);
  --suite-surface-strong:rgba(255,255,255,.88);
  --suite-border:rgba(15,23,42,.10);
  --suite-shadow:0 12px 30px rgba(15,23,42,.10);
  --suite-text:#0f172a;
  --suite-muted:rgba(15,23,42,.62);
  --suite-primary:#16a34a;
  --suite-primary-2:#22c55e;
  --suite-danger:#ef4444;
  --suite-info:#0ea5e9;
  --suite-radius:18px;
}

html, body{
  height:100%;
}

body.suite-public,
body.suite-verwaltung{
  background:
    radial-gradient(1100px 650px at 12% 8%, rgba(34,197,94,.18), transparent 65%),
    radial-gradient(900px 520px at 88% 6%, rgba(14,165,233,.18), transparent 65%),
    linear-gradient(180deg, var(--suite-bg1), var(--suite-bg2));
  color: var(--suite-text);
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:url("/branding/suite-bg.svg");
  background-repeat:no-repeat;
  background-position:center top;
  background-size:cover;
  opacity:.55;
  z-index:-1;
}

/* Navbar */
.suite-nav{
  background:rgba(255,255,255,.65);
  border-bottom:1px solid var(--suite-border);
  backdrop-filter: blur(12px);
}

.navbar-slim{
  padding-top:.65rem;
  padding-bottom:.65rem;
}

.navbar .navbar-brand{
  letter-spacing:.2px;
}

.suite-badge{
  background: rgba(34,197,94,.15);
  color: #166534;
  border:1px solid rgba(34,197,94,.22);
}

.navbar .nav-link{
  color: rgba(15,23,42,.78);
}

.navbar .nav-link:hover,
.navbar .nav-link:focus{
  color: rgba(15,23,42,.95);
}

.navbar .dropdown-menu{
  border-radius: 14px;
  border:1px solid var(--suite-border);
  box-shadow: var(--suite-shadow);
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(10px);
}

/* Layout */
.suite-shell{
  padding-top: 1.5rem;
  padding-bottom: 2rem;
}

.suite-pagehead{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1rem;
  margin-bottom: 1.0rem;
}

.suite-title{
  font-size: 1.55rem;
  font-weight: 800;
  margin:0;
}

.suite-subtitle{
  margin-top:.25rem;
  color: var(--suite-muted);
}

.suite-card{
  border-radius: var(--suite-radius);
  background: var(--suite-surface);
  border:1px solid var(--suite-border);
  box-shadow: var(--suite-shadow);
  backdrop-filter: blur(14px);
}

.suite-cardhead{
  padding: 14px 16px;
  border-bottom: 1px solid var(--suite-border);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: .75rem;
}

.suite-cardbody{
  padding: 16px;
}

.suite-search{
  max-width: 360px;
  width:100%;
}

.suite-search .form-control{
  border-radius: 14px 0 0 14px;
}

.suite-search .btn{
  border-radius: 0 14px 14px 0;
}

.form-control, .form-select{
  border-radius: 14px;
  border-color: rgba(15,23,42,.14);
}

.form-control:focus, .form-select:focus{
  border-color: rgba(34,197,94,.55);
  box-shadow: 0 0 0 .20rem rgba(34,197,94,.16);
}

/* Buttons */
.btn-soft{
  --soft-bg: rgba(15,23,42,.06);
  --soft-bd: rgba(15,23,42,.10);
  background: var(--soft-bg);
  border: 1px solid var(--soft-bd);
  color: rgba(15,23,42,.85);
  border-radius: 14px;
}

.btn-soft:hover{
  filter: brightness(.98);
  color: rgba(15,23,42,.92);
}

.btn-soft-primary{
  --soft-bg: rgba(34,197,94,.14);
  --soft-bd: rgba(34,197,94,.22);
  color: #166534;
}

.btn-soft-danger{
  --soft-bg: rgba(239,68,68,.12);
  --soft-bd: rgba(239,68,68,.20);
  color: #991b1b;
}

.btn-soft .btn-icon{
  width:16px; height:16px;
  vertical-align:-2px;
  margin-right:.35rem;
  opacity:.9;
}

/* Tables */
.table-suite{
  margin:0;
}

.table-suite thead th{
  color: rgba(15,23,42,.55);
  font-weight: 700;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  border-bottom: 1px solid var(--suite-border);
  padding: .9rem 1rem;
}

.table-suite tbody td{
  padding: .95rem 1rem;
  border-top: 1px solid rgba(15,23,42,.06);
  vertical-align: middle;
}

.table-suite tbody tr:hover{
  background: rgba(34,197,94,.04);
}

.table-suite .text-muted{
  color: var(--suite-muted) !important;
}

/* Pagination */
.pagination{
  gap: .35rem;
}
.page-link{
  border-radius: 12px !important;
  border-color: rgba(15,23,42,.12);
  color: rgba(15,23,42,.78);
}
.page-item.active .page-link{
  background: rgba(34,197,94,.18);
  border-color: rgba(34,197,94,.28);
  color:#166534;
}

/* Footer */
.suite-footer{
  border-top: 1px solid var(--suite-border);
  background: rgba(255,255,255,.55);
  backdrop-filter: blur(12px);
}

/* Avatar */
.suite-avatar{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid rgba(15,23,42,.12);
  object-fit: cover;
  background: rgba(255,255,255,.9);
}

@media (min-width: 992px){
  .navbar .dropdown:hover>.dropdown-menu{ display:block; }
}

/* Backwards-compat helpers used by some views */
.suite-glass{ border-radius: var(--suite-radius); background: var(--suite-surface); border:1px solid var(--suite-border); box-shadow: var(--suite-shadow); backdrop-filter: blur(14px); }
.small-muted{ color: var(--suite-muted); }
