/* Stile für das Modul overview (nur in dieser Datei ändern) */
.ov{max-width:1200px;margin:0 auto;padding:16px}
.ov h1{font-size:22px;font-weight:500;margin:4px 0 16px}
.ov-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:16px}
.ov-tile{display:flex;flex-direction:column;gap:2px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;color:var(--text);text-decoration:none}
a.ov-tile:hover,.ov-boxes a:hover{box-shadow:0 1px 6px #0003}
.ov-tile .ov-k{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}
.ov-tile b{font-size:28px;font-weight:500}.ov-tile small{color:var(--muted)}
.ov-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,480px),1fr));gap:12px}
.ov-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;min-width:0}
.ov-card.wide{grid-column:1/-1}
.ov-card h2{font-size:15px;font-weight:600;margin:0 0 10px}
.ov svg{width:100%;height:auto;display:block;font-size:11px}
.ov svg text{fill:var(--muted)}
.ov svg .grid{stroke:var(--line)}
.ov svg .bar{fill:#0b57d0}.ov a:hover .bar{fill:#0842a0}
.ov svg .area{fill:#0b57d033}.ov svg .line{fill:none;stroke:#0b57d0;stroke-width:2}
.ov svg .hit{fill:transparent}.ov svg .hit:hover{fill:#0b57d0}
.ov svg .big{font-size:20px;fill:var(--text)}
.ov svg .tm-type{fill:#fff;fill-opacity:.22}.ov a:hover .tm-type{fill-opacity:.4}
.ov svg .tm-title{fill:#fff;font-size:13px;font-weight:600}.ov svg .tm-label{fill:#fff;font-size:11px}
.ov a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.ov-donut{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.ov-donut svg{width:180px;flex:none}
.ov-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.ov-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.ov-hbars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.ov-hbars a,.ov-hbars li>span:first-child{display:grid;grid-template-columns:minmax(80px,38%) 1fr auto;gap:8px;align-items:center;color:var(--text);text-decoration:none}
.ov-hbars li{display:block}
.ov-hbars .l{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ov-hbars .t{background:#eef2f9;border-radius:6px;height:14px;overflow:hidden}
.ov-hbars .t span{display:block;height:100%;background:#0b57d0;border-radius:6px}
.ov-hbars .v{color:var(--muted);font-variant-numeric:tabular-nums}
.ov-prog{margin-bottom:12px}.ov-prog-h{display:flex;justify-content:space-between;gap:8px;margin-bottom:4px;flex-wrap:wrap}
.ov-track{background:#eef2f9;border-radius:6px;height:10px;overflow:hidden}
.ov-track span{display:block;height:100%;background:#188038}.ov-track.warn span{background:#c5221f}
.run{font-style:normal;color:#8a5300;background:#fef0cd;border-radius:10px;padding:1px 8px;font-size:12px;margin-left:6px}
.ov-boxes{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.ov-boxes a{display:flex;flex-direction:column;gap:2px;border:1px solid var(--line);border-radius:12px;padding:10px;color:var(--text);text-decoration:none;min-width:0}
.ov-boxes b{word-break:break-all;font-size:13px}.ov-boxes span{color:var(--muted)}
.ov-sel{display:block;margin-bottom:6px;color:var(--muted)}.ov-sel select{font:inherit;max-width:100%;padding:4px 8px;border:1px solid var(--line);border-radius:8px}
.ov-empty{color:var(--muted);padding:12px 0}.ov-small{margin:8px 0 0}
@media(max-width:600px){.ov{padding:8px}.ov-tile b{font-size:22px}.ov-hbars a,.ov-hbars li>span:first-child{grid-template-columns:minmax(60px,34%) 1fr auto}}
