/* =========================================================
   DASHBOARD – Technisch-modern (Evonik-inspirierte Farbwelt)
   ========================================================= */

.dashboard-shell{
  display:grid;
  gap:14px;
}

.dashboard-bg{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(1200px 380px at 100% -30%, rgba(122, 31, 162, 0.20), transparent 65%),
    radial-gradient(900px 320px at -10% -20%, rgba(87, 6, 140, 0.14), transparent 68%),
    linear-gradient(160deg, rgba(255,255,255,0.98), rgba(248,245,251,0.95));
  border:1px solid rgba(87, 6, 140, 0.18);
  box-shadow:
    0 20px 50px rgba(43, 17, 67, 0.12),
    inset 0 1px 0 rgba(255,255,255,0.82);
}

.dashboard-bg::before,
.dashboard-bg::after{
  content:"";
  position:absolute;
  border-radius:50%;
  filter:blur(40px);
  pointer-events:none;
  z-index:-1;
}

.dashboard-bg::before{
  width:300px;
  height:300px;
  right:-120px;
  top:-140px;
  background:rgba(153, 29, 133, 0.20);
}

.dashboard-bg::after{
  width:250px;
  height:250px;
  left:-100px;
  bottom:-120px;
  background:rgba(87, 6, 140, 0.15);
}

.header-actions{
  display:flex;
  gap:10px;
}

.section-spacing{
  margin-top:16px;
}

.card-title{
  margin:0;
}

.card{
  background:var(--card);
  border:1px solid rgba(17, 24, 39, 0.09);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:16px;
}

/* Hero */
.hero{
  padding:18px;
}

.hero-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}

.hero-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight:950;
  color:var(--evonik-purple);
  letter-spacing:0.08em;
  text-transform:uppercase;
  font-size:12px;
}

.hero-title{
  font-weight:950;
  font-size:clamp(24px, 2.2vw, 30px);
  margin-top:4px;
  letter-spacing:0.2px;
}

.hero-sub{
  margin-top:8px;
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
  max-width:68ch;
}

.hero-actions{
  width:100%;
}

/* Navigation – kompakte Quick-Links */
.nav-card-grid{
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:10px;
  width:100%;
}

.nav-card{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:52px;
  padding:8px 10px;
  border-radius:14px;
  border:1px solid rgba(87, 6, 140, 0.15);
  background:linear-gradient(165deg, rgba(255,255,255,0.96), rgba(244, 234, 252, 0.72));
  color:var(--text);
  font-weight:850;
  text-decoration:none;
  box-shadow:0 5px 16px rgba(41, 17, 66, 0.08);
  transition:transform .12s ease, box-shadow .18s ease, border-color .18s ease;
}

.nav-card:hover{
  transform:translateY(-1px);
  border-color:rgba(87, 6, 140, 0.30);
  box-shadow:0 8px 22px rgba(43, 17, 67, 0.14);
}

.nav-card .ic{
  width:28px;
  height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:9px;
  background:rgba(87, 6, 140, 0.12);
  border:1px solid rgba(87, 6, 140, 0.16);
  font-size:14px;
  flex-shrink:0;
}

.nav-note{
  margin-top:10px;
}

/* KPI */
.profile-card{
  background:linear-gradient(180deg, rgba(255,255,255,0.95), rgba(250,247,253,0.92));
  border-color:rgba(87, 6, 140, 0.14);
}

.quick-card{
  background:linear-gradient(180deg, rgba(255,255,255,0.96), rgba(247,244,252,0.93));
  border-color:rgba(87, 6, 140, 0.14);
}

.kpi-grid{
  gap:10px;
}

.mini-card{
  background:linear-gradient(180deg, rgba(255,255,255,0.95), rgba(245,240,250,0.9));
  border:1px solid rgba(87, 6, 140, 0.12);
  border-radius:14px;
  padding:12px;
}

.kpi .label{
  color:#5d5b74;
}

.kpi .value{
  font-size:18px;
}

/* Details */
.hero-details{
  display:grid;
  gap:10px;
}

.hero-details details{
  background:linear-gradient(180deg, rgba(255,255,255,0.92), rgba(245,242,249,0.90));
  border:1px solid rgba(87, 6, 140, 0.13);
  border-radius:14px;
  padding:10px 12px;
}

.hero-details summary{
  cursor:pointer;
  list-style:none;
  font-weight:900;
  color:var(--text);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

.hero-details summary::-webkit-details-marker{
  display:none;
}

.hero-details summary::after{
  content:"›";
  color:var(--evonik-purple);
  font-weight:950;
  transform:rotate(90deg);
  transition:transform .15s ease;
}

details[open] summary::after{
  transform:rotate(-90deg);
}

.detail-grid{
  margin-top:10px;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(190px, 1fr));
  gap:10px;
}

.detail-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-size:13px;
}

.detail-row strong{
  font-weight:950;
}

.legal-card{
  border-color:rgba(87, 6, 140, 0.12);
  background:linear-gradient(180deg, #fff, #faf6fc);
}

.legal-links{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

/* Bottom nav (mobile) */
.bottom-nav{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:999;
  display:none;
  background:rgba(255,255,255,0.92);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-top:1px solid rgba(87, 6, 140, 0.15);
  box-shadow:0 -10px 30px rgba(0,0,0,0.08);
}

.bottom-nav .bn-item{
  flex:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  padding:8px 4px 10px;
  color:var(--muted);
  font-weight:850;
  font-size:10px;
  letter-spacing:0.02em;
}

.bottom-nav .bn-ico{
  width:28px;
  height:28px;
  border-radius:9px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:15px;
  line-height:1;
  background:rgba(87, 6, 140, 0.06);
  border:1px solid rgba(87, 6, 140, 0.10);
}

.bottom-nav .bn-item.active{
  color:var(--evonik-purple);
}

.bottom-nav .bn-item.active .bn-ico{
  background:rgba(87, 6, 140, 0.16);
  border-color:rgba(87, 6, 140, 0.28);
}

/* Responsive */
@media (max-width: 980px){
  body{
    padding-bottom:78px;
  }

  .bottom-nav{
    display:flex;
  }

  .hero{
    padding:14px;
  }

  .hero-sub{
    max-width:none;
  }

  .nav-card-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 620px){
  .container{
    padding:12px;
  }

  .hero-title{
    font-size:22px;
  }

  .nav-card{
    min-height:50px;
    padding:8px;
    font-size:12px;
  }

  .nav-card-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .detail-grid{
    grid-template-columns:1fr;
  }
}
