/* Scope nur in #m365-licensing */
#m365-licensing { background: transparent; color: #0f172a; padding: 24px 16px; }
#m365-licensing .wrap { max-width: 1100px; margin: 0 auto; }
#m365-licensing .m365-header { margin: 0 0 16px; }
#m365-licensing .m365-header h1 { margin: 0 0 8px; font-size: clamp(1.4rem, 2.5vw, 2rem); }
#m365-licensing p { margin: 0; color: #475569; }

#m365-licensing .grid { display: grid; gap: 16px; }
#m365-licensing .g2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
#m365-licensing .g3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
#m365-licensing .full { grid-column: 1 / -1; }
@media (max-width: 860px){ #m365-licensing .g2, #m365-licensing .g3 { grid-template-columns: 1fr; } }

#m365-licensing .card{
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 18px;
  box-shadow: 0 4px 14px rgba(15,23,42,.06);
}
#m365-licensing h2{ margin: 0 0 10px; font-size: 1.2rem; }

#m365-licensing label { display:block; font-size: .95rem; margin-bottom: .35rem; color:#0f172a; }
#m365-licensing input[type="text"],
#m365-licensing input[type="email"],
#m365-licensing input[type="tel"],
#m365-licensing input[type="number"],
#m365-licensing input[type="date"],
#m365-licensing select,
#m365-licensing textarea {
  width: 100%; padding: 10px 12px; border-radius: 10px;
  border: 1px solid #cbd5e1; background: #fff; color: #0f172a;
  outline: none; transition: box-shadow .15s, border-color .15s;
}
#m365-licensing textarea{ min-height: 92px; resize: vertical; }
#m365-licensing input:focus,
#m365-licensing select:focus,
#m365-licensing textarea:focus{
  border-color:#2563eb; box-shadow:0 0 0 4px rgba(37,99,235,.15);
}

#m365-licensing .pill{
  display:inline-flex; gap:10px; align-items:center;
  padding:8px 12px; border-radius: 999px;
  border:1px solid #e5e7eb; background:#f8fafc; color:#0f172a;
}

#m365-licensing .rows{ display:grid; gap:12px; }
#m365-licensing .row{
  display:grid; gap:12px;
  grid-template-columns: 1.2fr .8fr .6fr .6fr;
  align-items:center;
  padding:14px;
  border:1px solid #e5e7eb; border-radius:12px; background:#fff;
  box-shadow: 0 2px 10px rgba(15,23,42,.05);
}
#m365-licensing .row:hover{ box-shadow: 0 6px 18px rgba(15,23,42,.08); }
@media (max-width: 920px){
  #m365-licensing .row{ grid-template-columns: 1fr; align-items:start; }
}

#m365-licensing .row-main{ display:flex; gap:12px; align-items:flex-start; cursor:pointer; }
#m365-licensing .row-main input[type="checkbox"]{ margin-top: 4px; }
#m365-licensing .title{ display:flex; flex-direction:column; gap:4px; }
#m365-licensing .title strong{ font-weight: 700; }
#m365-licensing .title .desc{ color:#64748b; font-size: .95rem; }

#m365-licensing .controls{ display:flex; align-items:center; gap:16px; justify-content:flex-end; flex-wrap:wrap; }
#m365-licensing .qty-label{ display:flex; flex-direction:column; gap:6px; min-width:120px; }
#m365-licensing .price-box, #m365-licensing .subtotal{
  display:flex; flex-direction:column; gap:6px; min-width:130px;
}
#m365-licensing .label{ color:#64748b; font-size:.9rem; }
#m365-licensing .unit-price{ font-weight:700; }
#m365-licensing .sub{ font-weight:700; }

#m365-licensing .totals{
  display:flex; gap:12px; flex-wrap:wrap; justify-content:flex-end; margin-top: 8px;
}
#m365-licensing .kpi{
  background:#ffffff; border:1px solid #e5e7eb; border-radius:12px; padding:12px 14px;
  min-width: 220px; box-shadow:0 2px 10px rgba(15,23,42,.05);
}
#m365-licensing .kpi.highlight{ border-color:#bfdbfe; box-shadow:0 4px 14px rgba(37,99,235,.15); }
#m365-licensing .kpi-label{ display:block; color:#475569; margin-bottom:6px; }
#m365-licensing .kpi-val{ font-weight:800; font-size:1.25rem; }

#m365-licensing .toolbar{ display:flex; gap:10px; flex-wrap:wrap; margin-top: 8px; }
#m365-licensing .btn{
  border:1px solid #d1d5db; background:#fff; color:#0f172a;
  padding:10px 14px; border-radius:10px; cursor:pointer; font-weight:600;
  transition: box-shadow .15s, transform .03s;
}
#m365-licensing .btn:hover{ box-shadow:0 4px 12px rgba(15,23,42,.08); }
#m365-licensing .btn:active{ transform: translateY(1px); }
#m365-licensing .btn.primary{ background:#2563eb; border-color:#2563eb; color:#fff; }
#m365-licensing .btn.ghost{ background:#f8fafc; }

#m365-licensing .note{ display:block; margin-top:8px; color:#64748b; font-size:.92rem; }

/* Deaktivierte Zeile */
#m365-licensing .row.disabled{ opacity:.6; }
