/* v4 additions: all colours remain in tokens.css. */
.v3-money {justify-content:flex-start;align-self:start}
.v3-nav {height:48px}
.v3-heat .cell {min-height:52px}
.v3-heat .cell span {white-space:nowrap}
.v3-heat td:first-child {min-width:220px;max-width:280px}
.v3-chart .stock.conditional {stroke-dasharray:6 4}
.v4-entry-link {display:flex;align-items:center;gap:var(--s-4)}
.v4-entry-link small {max-width:360px}
.v3 .v4-button {border:1px solid var(--dfb-green);border-radius:var(--r-1);padding:var(--s-2) var(--s-4);font-weight:500;white-space:nowrap}
.v4-count {display:inline-block;background:var(--warn);color:var(--n-0);padding:0 var(--s-1);border-radius:var(--r-1)}
.v4-source-group {margin-top:var(--s-6)}
.v4-source-grid {display:grid;grid-template-columns:1fr 1fr;gap:var(--s-4)}
.v4-source {display:flex;flex-direction:column;gap:var(--s-3);justify-content:space-between}
.v4-source h3 {max-width:540px;margin-bottom:var(--s-2);line-height:var(--leading-heading)}
.v4-source-status {border-top:1px solid var(--line);padding-top:var(--s-3)}
.v4-source-status dl {display:grid;grid-template-columns:auto 1fr;gap:var(--s-1) var(--s-4);font-size:var(--text-13);margin:var(--s-2) 0}
.v4-source-status dt {color:var(--text-muted)}
.v4-source-status dd {margin:0}
.v4-dropzone {display:flex;position:relative;align-items:center;justify-content:center;padding:var(--s-4);border:1px dashed var(--dfb-sage);background:var(--surface-subtle);border-radius:var(--r-1);cursor:pointer;font-size:var(--text-13)}
.v4-dropzone:focus-within {outline:2px solid var(--focus);outline-offset:3px}
.v4-dropzone input {position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.v4-dropzone:has(input:disabled) {opacity:.5;cursor:wait}
.v4-error {padding:var(--s-4);border:1px solid var(--crit);border-radius:var(--r-2);background:var(--surface-card);margin-bottom:var(--s-4)}
.v4-error strong {color:var(--crit);display:block;margin-bottom:var(--s-2)}
.v4-loading {padding:var(--s-5);background:var(--dfb-mint);border-left:3px solid var(--dfb-green);margin-bottom:var(--s-4)}
.v4-import-intro {max-width:850px}
.v4-receipt {display:grid;gap:var(--s-2);margin-bottom:var(--s-5)}
.v4-receipt code {overflow-wrap:anywhere}
.v4-preview-details {display:grid;grid-template-columns:1fr 1fr;gap:var(--s-5);margin-top:var(--s-5)}
.v4-import-actions {display:flex;align-items:center;gap:var(--s-4);margin-top:var(--s-5);flex-wrap:wrap}
.v3 button.v4-primary {background:var(--dfb-green);color:var(--n-0);border-color:var(--dfb-green)}
.v4-source pre,#eingang-vorschau pre {max-width:440px;white-space:pre-wrap;overflow-wrap:anywhere;font:var(--text-12)/1.4 var(--font-mono)}
.v4-supply-chart {width:100%;height:auto}
.v4-supply-chart .fest,.v4-supply-legend .fest {fill:var(--chart-in);background:var(--chart-in)}
.v4-supply-chart .abruf,.v4-supply-legend .abruf {fill:var(--dfb-sage);background:var(--dfb-sage)}
.v4-supply-chart .nachproduktion,.v4-supply-legend .nachproduktion {fill:var(--v3-transit);background:var(--v3-transit)}
.v4-supply-chart .vororder,.v4-supply-legend .vororder {fill:var(--surface-card);background:var(--surface-card);stroke:var(--chart-in);stroke-width:1.5;stroke-dasharray:4 3;border:1px dashed var(--chart-in)}
.v4-supply-chart .capacity {stroke:var(--crit);stroke-width:2;stroke-dasharray:5 4}
.v4-supply-chart .grid {stroke:var(--line);stroke-width:1}
.v4-supply-chart text {font:var(--text-12) var(--font-body);fill:var(--text)}
.v4-supply-legend {display:flex;flex-wrap:wrap;gap:var(--s-5);font-size:var(--text-13);margin-top:var(--s-3)}
.v4-supply-legend i {display:inline-block;width:12px;height:12px;margin-right:var(--s-2)}
.v4-period {display:block;margin-top:var(--s-1);font-size:var(--text-12);color:var(--text-muted)}
