/* Moto-Shock Federrechner – alle Selektoren unter .msfr-wrap gescopet */
.msfr-wrap { --msfr-brand:#420df2; --msfr-brand-light:#b7a6ff; --msfr-ink:#222a30; --msfr-bg:#eef0f6; --msfr-line:#d5d8e0;
  max-width:720px; margin:0 auto; padding:8px 0 24px; color:var(--msfr-ink);
  font-family:ui-sans-serif,system-ui,-apple-system,sans-serif; font-size:16px; line-height:1.4; }
.msfr-wrap *, .msfr-wrap *::before, .msfr-wrap *::after { box-sizing:border-box; }
.msfr-mono { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }

.msfr-header { display:flex; justify-content:space-between; align-items:baseline;
  border-bottom:2px solid var(--msfr-brand); padding-bottom:10px; margin-bottom:20px; }
.msfr-eyebrow { font-size:11px; font-weight:600; letter-spacing:.15em; text-transform:uppercase; color:var(--msfr-brand); }
.msfr-eyebrow-light { color:var(--msfr-brand-light); }
.msfr-title { font-size:22px; font-weight:700; }
.msfr-unit { font-size:11px; opacity:.55; }

.msfr-card { background:#fff; border-radius:14px; padding:16px; margin:0 0 16px;
  box-shadow:0 1px 3px rgba(34,42,48,.07); border:1px solid rgba(34,42,48,.05); }
.msfr-card p { margin:0 0 8px; font-size:13.5px; line-height:1.55; }
.msfr-card p:last-child { margin-bottom:0; }
.msfr-dim { opacity:.6; }
.msfr-h { font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
  opacity:.65; margin:0 0 12px; color:var(--msfr-ink); }

.msfr-wrap select.msfr-select, .msfr-wrap input.msfr-select {
  width:100%; padding:9px 10px; border:1px solid var(--msfr-line); border-radius:8px;
  font-size:15px; background:#fff; color:var(--msfr-ink); margin:0 0 10px; height:auto; }
.msfr-fields { display:flex; flex-wrap:wrap; gap:8px 20px; font-size:14px; }
.msfr-fields label { display:flex; align-items:center; gap:8px; margin:0; font-weight:400; }
.msfr-wrap input[type=number] { width:76px; padding:6px 8px; border:1px solid var(--msfr-line);
  border-radius:8px; text-align:right; font-size:14px; font-family:ui-monospace,monospace;
  color:var(--msfr-ink); background:#fff; height:auto; margin:0; }
.msfr-hint { font-size:12px !important; opacity:.55; margin-top:10px !important; }

.msfr-profile-head { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:12px; }
.msfr-sum { font-size:12px; opacity:.6; }
.msfr-sum.msfr-warn { opacity:1; color:#c2410c; font-weight:700; }
.msfr-row { display:flex; align-items:center; gap:10px; font-size:14px; margin-bottom:9px; }
.msfr-row .msfr-lbl { width:128px; flex-shrink:0; }
.msfr-row input[type=range] { flex:1; accent-color:var(--msfr-brand); min-width:60px; margin:0; }
.msfr-row input[type=number] { width:60px; }
.msfr-row .msfr-pc { font-size:12px; opacity:.5; width:14px; }

.msfr-result { background:var(--msfr-ink); color:#fff; border-radius:14px; padding:20px;
  margin-bottom:16px; box-shadow:0 3px 10px rgba(34,42,48,.25); }
.msfr-big { font-size:46px; font-weight:700; line-height:1.1; }
.msfr-big small { font-size:18px; font-weight:400; opacity:.7; }
.msfr-delta { font-size:13px; opacity:.7; margin-top:2px; }

.msfr-gauge { position:relative; height:8px; border-radius:99px; background:#3a444c; margin:22px 0 8px; }
.msfr-gauge-range { position:absolute; height:8px; border-radius:99px; background:#5a4fd8; }
.msfr-gauge-stock { position:absolute; top:-6px; width:2px; height:20px; background:#fff; opacity:.5; }
.msfr-gauge-rec { position:absolute; top:-8px; width:3px; height:24px; border-radius:2px; background:var(--msfr-brand-light); }
.msfr-gauge-lbl { display:flex; justify-content:space-between; font-size:11px; opacity:.6; }

.msfr-advice { margin-top:14px; padding:10px 12px; border-radius:10px;
  background:rgba(255,255,255,.09); font-size:13.5px; line-height:1.5; }

.msfr-prod { display:flex; justify-content:space-between; align-items:baseline; gap:12px;
  padding:9px 4px; border-top:1px solid var(--msfr-bg); font-size:14px; }
.msfr-prod:first-child { border-top:none; }
.msfr-sku { font-size:12.5px; opacity:.6; white-space:nowrap; }
.msfr-tag { font-size:11px; font-weight:700; color:var(--msfr-brand); text-transform:uppercase; letter-spacing:.05em; }
.msfr-pick { color:var(--msfr-brand); font-weight:700; }
.msfr-none { font-size:13.5px; opacity:.55; padding:6px 4px; }

.msfr-card-table { padding:8px 10px; }
.msfr-table { width:100%; border-collapse:collapse; font-size:14px; margin:0; }
.msfr-table th { text-align:left; font-size:11px; text-transform:uppercase; letter-spacing:.06em;
  opacity:.55; padding:4px 6px 8px; font-weight:600; border:none; background:none; }
.msfr-table th.msfr-r, .msfr-table td.msfr-r { text-align:right; }
.msfr-table td { padding:7px 6px; border:none; border-top:1px solid var(--msfr-bg); background:none; }
.msfr-table tr.msfr-off { opacity:.35; }
.msfr-table td.msfr-rate { font-weight:700; }

.msfr-toggle { background:none; border:none; color:var(--msfr-brand); font-weight:600;
  font-size:14px; cursor:pointer; padding:0; margin-bottom:8px; box-shadow:none; }
.msfr-toggle:hover, .msfr-toggle:focus { background:none; color:var(--msfr-brand); }
.msfr-footer { text-align:center; font-size:11px; opacity:.4; margin-top:20px; }

@media (max-width:480px){
  .msfr-row .msfr-lbl { width:104px; font-size:13px; }
  .msfr-big { font-size:38px; }
}
