/* Paket A – ausschließlich der neue Kartencontainer; keine globalen Leisten. */
/* Das bisherige Dashboard-Raster enthält jetzt einen vollständigen Kartenbaum.
   Dessen eigenes Raster steuert die Spalten, nicht das alte Vier-Spalten-Raster. */
.battery-grid.gk-dashboard-host { grid-template-columns: minmax(0, 1fr); }
.battery-grid.gk-dashboard-host > * { min-width: 0; }

.geraete-karten {
    --gk-bg: #061225;
    --gk-surface: #0c1d35;
    --gk-text: #edf5ff;
    --gk-muted: #b3c5de;
    --gk-border: #294766;
    --gk-accent: #32c7ff;
    --gk-green: #34dcb6;
    --gk-warning: #ffcf75;
    --gk-button: #153961;
    --gk-charge: #075648;
    --gk-gauge-track: #071d28;
    --gk-gauge-fill: #0e4547;
    --gk-particle: #64efed;
    color: var(--gk-text);
    font-family: inherit;
    line-height: 1.45;
    min-width: 0;
    container-type: inline-size;
}
body[data-theme="hell"] .geraete-karten,
body[data-theme="sonnenlicht"] .geraete-karten {
    --gk-bg: #f5f8fc;
    --gk-surface: #fff;
    --gk-text: #102536;
    --gk-muted: #41586b;
    --gk-border: #aabccc;
    --gk-accent: #005b9d;
    --gk-green: #00694e;
    --gk-warning: #774300;
    --gk-button: #e3edf8;
    --gk-charge: #d4f0e2;
    --gk-gauge-track: #d8e8e3;
    --gk-gauge-fill: #c5e7db;
    --gk-particle: #086e61;
}
body[data-theme="sonnenlicht"] .geraete-karten {
    --gk-bg: #fff; --gk-text: #000; --gk-muted: #252525; --gk-border: #202020;
    --gk-accent: #073c87; --gk-green: #075b25; --gk-warning: #654300;
}
.geraete-karten *, .geraete-karten *::before, .geraete-karten *::after { box-sizing: border-box; }
.geraete-karten .gk-section { margin: 0 0 24px; min-width: 0; }
.geraete-karten h3 { margin: 0 0 12px; font-size: 19px; line-height: 1.3; color: var(--gk-text); }
.geraete-karten h4 { margin: 0 0 8px; font-size: 17px; line-height: 1.35; color: var(--gk-text); overflow-wrap: anywhere; }
.geraete-karten .gk-battery-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 14px; }
.geraete-karten .gk-battery { display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--gk-border); border-radius: 16px; overflow: hidden; background: var(--gk-surface); }
.geraete-karten .gk-art { background: var(--gk-bg); min-width: 0; }
.geraete-karten .gk-art img { display: block; width: 100%; height: auto; aspect-ratio: 2 / 1; object-fit: contain; }
.geraete-karten .gk-art .gk-day { display: none; }
body[data-theme="hell"] .geraete-karten .gk-night,
body[data-theme="sonnenlicht"] .geraete-karten .gk-night { display: none; }
body[data-theme="hell"] .geraete-karten .gk-day,
body[data-theme="sonnenlicht"] .geraete-karten .gk-day { display: block; }
.geraete-karten .gk-card-body { flex: 1; min-width: 0; padding: 13px; display: flex; flex-direction: column; }
.geraete-karten .gk-reading { min-height: 49px; display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 5px 0; }
.geraete-karten .gk-state { color: var(--gk-muted); font-size: 13px; overflow-wrap: anywhere; margin: 8px 0; }
.geraete-karten .gk-installed { color: var(--gk-green); }
.geraete-karten .gk-percent { flex: none; color: var(--gk-green); font-size: 28px; line-height: 1.05; font-weight: 700; font-variant-numeric: tabular-nums; }
.geraete-karten .gk-percent small { display: block; margin-bottom: 4px; font-size: 11px; font-weight: 400; color: var(--gk-muted); text-align: right; }
.geraete-karten .gk-historical .gk-percent { color: var(--gk-muted); }
.geraete-karten .gk-gauge { border-radius: 7px; height: 29px; overflow: hidden; margin: 9px 0; background: var(--gk-gauge-track); }
.geraete-karten .gk-gauge canvas { display: block; height: 100%; width: 100%; }
.geraete-karten .gk-source { font-size: 12px; color: var(--gk-muted); margin: 5px 0; overflow-wrap: anywhere; }
.geraete-karten .gk-notice { color: var(--gk-warning); min-height: 20px; margin: 5px 0; font-size: 12px; overflow-wrap: anywhere; }
.geraete-karten .gk-notice-empty { visibility: hidden; }
.geraete-karten .gk-counts { margin: auto 0 0; padding-top: 12px; border-top: 1px solid var(--gk-border); color: var(--gk-muted); font-size: 12px; overflow-wrap: anywhere; }
/* Entladekurven-Einstieg: Link-Optik wie das Nachweis-Akkordeon; die ganze
   Kartenfläche eines Drohnen-Akkus ist zusätzlich antippbar (gk-clickable). */
.geraete-karten .gk-battery.gk-clickable { cursor: pointer; }
.geraete-karten .gk-detail-link { font: inherit; font-size: 13px; color: var(--gk-accent); background: none; border: none; padding: 11px 0; min-height: 44px; text-align: left; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.geraete-karten .gk-detail-link:disabled { opacity: .55; }
.geraete-karten .gk-evidence { margin: 5px 0; min-width: 0; }
.geraete-karten .gk-evidence summary { min-height: 44px; padding: 11px 0; color: var(--gk-accent); font-size: 13px; cursor: pointer; }
.geraete-karten .gk-evidence dl { margin: 0 0 12px; display: grid; gap: 5px; font-size: 12px; }
.geraete-karten .gk-evidence dt { color: var(--gk-muted); margin-top: 6px; }
.geraete-karten .gk-evidence dd { color: var(--gk-text); margin: 0; overflow-wrap: anywhere; }
.geraete-karten .gk-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; margin-top: 4px; }
.geraete-karten .gk-action, .geraete-karten .gk-details-button {
    font: inherit; font-size: 13px; font-weight: 600; color: var(--gk-text); background: var(--gk-button);
    border: 1px solid var(--gk-border); border-radius: 11px; min-height: 48px; min-width: 0; padding: 10px 4px;
    white-space: normal; overflow-wrap: anywhere;
}
.geraete-karten .gk-charge { color: var(--gk-green); background: var(--gk-charge); border-color: transparent; }
.geraete-karten .gk-flight, .geraete-karten .gk-discharge { color: var(--gk-accent); }
.geraete-karten .gk-action:disabled { opacity: .55; }
.geraete-karten .gk-action-error { margin: 6px 0 0; color: var(--gk-warning); font-size: 13px; overflow-wrap: anywhere; }
.geraete-karten .gk-action-error:empty { display: none; }
.geraete-karten .gk-remote { border: 1px solid var(--gk-border); border-radius: 16px; overflow: hidden; background: var(--gk-surface); }
.geraete-karten .gk-remote-name { padding: 13px; }
.geraete-karten .gk-remote-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
.geraete-karten .gk-remote-grid .gk-battery { border-radius: 0; border-width: 1px 0 0; }
.geraete-karten .gk-remote-grid .gk-counts { min-height: 20px; }
.geraete-karten .gk-dock { background: var(--gk-surface); border: 1px solid var(--gk-border); border-radius: 16px; overflow: hidden; }
.geraete-karten .gk-dock-art { position: relative; min-width: 0; align-content: center; background: var(--gk-bg); }
.geraete-karten .gk-dock-light { display: none; }
.geraete-karten .gk-dock-connected .gk-dock-light { display: block; position: absolute; width: 16%; height: 3px; left: 36%; top: 63%; background: var(--gk-accent); opacity: .4; border-radius: 3px; animation: gk-dock-glow 3s ease-in-out infinite; }
.geraete-karten .gk-dock-body { padding: 15px; min-width: 0; }
.geraete-karten .gk-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 15px 0; padding-top: 12px; border-top: 1px solid var(--gk-border); }
.geraete-karten .gk-metric { min-width: 0; }
.geraete-karten .gk-metric span, .geraete-karten .gk-metric small { display: block; font-size: 12px; color: var(--gk-muted); overflow-wrap: anywhere; }
.geraete-karten .gk-metric strong { display: block; font-size: 18px; color: var(--gk-text); overflow-wrap: anywhere; }
.geraete-karten .gk-geo { font-size: 12px; color: var(--gk-warning); border: 1px solid var(--gk-warning); border-radius: 8px; padding: 10px; margin: 10px 0; overflow-wrap: anywhere; }
.geraete-karten .gk-empty, .geraete-karten .gk-missing { color: var(--gk-muted); background: var(--gk-surface); border-radius: 12px; padding: 16px; font-size: 14px; }
.geraete-karten .gk-details-button { color: var(--gk-accent); padding-inline: 12px; }
.geraete-karten.gk-motion-paused * { animation-play-state: paused !important; }
@keyframes gk-dock-glow { 50% { opacity: .85; } }
@container (min-width: 520px) {
    .geraete-karten .gk-remote-hero { display: grid; grid-template-columns: 42% minmax(0, 1fr); align-items: center; }
    .geraete-karten .gk-remote-grid .gk-battery + .gk-battery { border-left-width: 1px; }
}
@container (min-width: 780px) {
    .geraete-karten .gk-remote { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(0, 2fr); }
    .geraete-karten .gk-remote-hero { display: block; }
    .geraete-karten .gk-remote-grid .gk-battery { border-width: 0 0 0 1px; }
    .geraete-karten .gk-dock { display: grid; grid-template-columns: minmax(250px, .8fr) minmax(0, 1.2fr); }
    .geraete-karten .gk-metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) { .geraete-karten * { animation: none !important; } }
