.mmcl-container { border:1px solid #e5e7eb; border-radius:.375rem; background:#f8fafc; padding:.75rem; }
.mmcl-loading, .mmcl-warn { padding:1rem; color:#6b7280; text-align:center; }
.mmcl-warn { color:#b91c1c; background:#fef2f2; border-radius:.25rem; }
.mmcl-head { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.5rem; margin-bottom:.5rem; }
.mmcl-title { font-weight:600; font-size:1.05em; }
.mmcl-sub { color:#6b7280; font-size:.9em; }
.mmcl-free { background:#dcfce7; color:#166534; padding:.15rem .5rem; border-radius:.25rem; font-size:.9em; font-weight:600; }
.mmcl-full { background:#fee2e2; color:#991b1b; padding:.15rem .5rem; border-radius:.25rem; font-size:.9em; font-weight:600; }
.mmcl-canvas { width:100%; background:#fff; border:1px solid #e5e7eb; border-radius:.25rem; overflow:hidden; position:relative; touch-action:none; }
.mmcl-canvas svg { width:100%; height:auto; display:block; cursor:grab; }
.mmcl-canvas svg.mmcl-panning { cursor:grabbing; }
.mmcl-zoom { position:absolute; top:.4rem; right:.4rem; z-index:2; display:flex; flex-direction:column; gap:.25rem; }
.mmcl-zoom button { width:32px; height:32px; border:1px solid #e5e7eb; background:#fff; border-radius:.25rem; cursor:pointer; padding:0; font-size:1.1em; color:#374151; box-shadow:0 1px 2px rgba(0,0,0,.06); }
.mmcl-zoom button:hover { background:#f3f4f6; }
.mmcl-legend { display:flex; gap:1rem; flex-wrap:wrap; margin-top:.5rem; font-size:.85em; color:#374151; }
.mmcl-legend-item { display:flex; align-items:center; gap:.3rem; }
.mmcl-legend-dot { display:inline-block; width:12px; height:12px; border-radius:2px; border:1px solid rgba(0,0,0,.15); }
.mmcl-spot-free { fill:#86efac; stroke:#15803d; }
.mmcl-spot-belegt { fill:#fca5a5; stroke:#b91c1c; }
.mmcl-spot-inaktiv { fill:#d1d5db; stroke:#6b7280; }
/* font-size wird im JS als SVG-Attribut in Meter gesetzt (userSpace),
   damit die Nummer proportional zur Stellplatzgroesse skaliert. */
.mmcl-spot-num { fill:#111; text-anchor:middle; dominant-baseline:middle; pointer-events:none; font-weight:600; }
