/* Betriebsbereiche: eine ruhige Hierarchie fuer Produktion, Besitz und Verwaltung. */
.work-area {
  display:grid; gap:24px; min-width:0; color:var(--ink);
  --work-edge:var(--line);
}
.work-area > *, .work-area [data-analysis-results], .work-area [data-city-results],
.work-area [data-welten-results], .work-area [data-firmen-inhalt], .work-area [data-results] {min-width:0;}
.work-area .work-section {
  min-width:0; padding:24px; border:1px solid var(--line); border-radius:14px;
  background:var(--surface); box-shadow:0 5px 20px #00000012;
}
.work-heading, .work-toolbar, .work-actions {display:flex; align-items:center; gap:12px; flex-wrap:wrap;}
.work-heading {justify-content:space-between; margin-bottom:20px; gap:16px;}
.work-heading > div {min-width:0;}
.work-heading h2, .work-heading h3 {margin:0; color:var(--ink); font-size:19px; font-weight:650; letter-spacing:-.025em;}
.work-heading p, .work-note {margin:6px 0 0; color:var(--muted); font-size:12px; line-height:1.65;}
.work-toolbar {align-items:flex-end; margin-bottom:18px; gap:12px;}
.work-toolbar label, .work-form label {display:grid; gap:8px; color:var(--muted); font-size:12px; min-width:0;}
.work-toolbar input, .work-toolbar select, .work-form input, .work-form select,
.work-area .work-pagination select, .work-area [data-job-filter], .auto-network select,
.wagen-menge input, .wagen-setzeile input, .cartadd input {
  min-height:42px; min-width:0; padding:10px 12px; border:1px solid var(--line);
  border-radius:8px; background:var(--bg); color:var(--ink); font:inherit; color-scheme:dark;
}
.work-toolbar input, .work-toolbar select, .work-form input, .work-form select {width:100%;}
.work-toolbar .work-search {flex:1; min-width:180px;}
.work-area button, .work-dialog button {
  min-height:42px; padding:10px 14px; border:1px solid var(--line); border-radius:8px;
  background:var(--surface-raised); color:var(--ink); font:inherit; font-size:12px;
  font-weight:550; cursor:pointer; transition:background .15s,border-color .15s,color .15s;
}
.work-area button:hover, .work-dialog button:hover {background:#2b373d; border-color:#607077;}
.work-area button:disabled, .work-dialog button:disabled {opacity:.4; cursor:not-allowed;}
.work-area button:focus-visible, .work-dialog button:focus-visible,
.work-toolbar input:focus-visible, .work-toolbar select:focus-visible,
.work-form input:focus-visible, .work-form select:focus-visible,
.auto-network select:focus-visible, .wagen-menge input:focus-visible,
.wagen-setzeile input:focus-visible, .cartadd input:focus-visible {
  outline:2px solid var(--accent); outline-offset:3px;
}
.work-area .work-primary, .work-dialog .work-primary {background:var(--accent); border-color:var(--accent); color:#211910;}
.work-area .work-primary:hover, .work-dialog .work-primary:hover {background:#f5bd8d; border-color:#f5bd8d; color:#211910;}
.work-area button[aria-pressed=true] {border-color:var(--accent); background:#eca96f16; color:var(--accent);}
.work-state {display:inline-flex; align-items:center; padding:5px 9px; border:1px solid var(--line); border-radius:6px; background:var(--surface-raised); color:var(--muted); font-size:11px; line-height:1.45; white-space:nowrap;}
.work-state[data-state=ready], .work-state[data-state=on] {border-color:#83c4a038; background:#83c4a010; color:var(--green);}
.work-state[data-state=wait] {border-color:#eca96f38; background:#eca96f10; color:var(--accent);}
.work-area .work-state {white-space:normal; max-width:260px;}
.work-table-wrap {max-width:100%; overflow:auto; border:1px solid var(--line); border-radius:10px; background:var(--surface); scrollbar-color:#506069 var(--surface);}
.work-area table, .work-dialog table {width:100%; border-collapse:separate; border-spacing:0; font-size:12px;}
.work-area th, .work-area td, .work-dialog th, .work-dialog td {padding:14px 15px; border-bottom:1px solid var(--line); text-align:left; vertical-align:middle;}
.work-area th, .work-dialog th {color:var(--muted); background:var(--surface-raised); font-size:11px; white-space:nowrap; font-weight:550;}
.work-area thead th, .work-dialog thead th {position:sticky; top:0; z-index:1;}
.work-area tr:last-child td, .work-dialog tr:last-child td {border-bottom:0;}
.work-area tbody tr:hover td, .work-dialog tbody tr:hover td {background:#edf0e904;}
.work-area th button {padding:0; min-height:30px; border:0; border-radius:3px; background:transparent; color:inherit; font-size:inherit; font-weight:inherit;}
.work-area th button:hover {background:transparent; color:var(--ink);}
.work-number {text-align:right!important; font-variant-numeric:tabular-nums; white-space:nowrap;}
.work-asset {display:flex; align-items:center; gap:12px; min-width:170px; max-width:300px;}
.work-asset img {width:32px; height:32px; flex:none; object-fit:contain; image-rendering:pixelated; padding:2px; border-radius:6px; background:var(--surface-raised);}
.work-asset strong {display:block; font-size:12px; font-weight:600; color:var(--ink); overflow-wrap:anywhere;}
.work-asset small, .work-subline {display:block; color:var(--muted); font-size:11px; margin-top:4px; overflow-wrap:anywhere; line-height:1.6;}
.work-subline {max-width:290px;}
.work-metrics {display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px;}
.work-metric {min-width:0; padding:21px 20px; background:var(--surface); border:1px solid var(--line); border-radius:12px;}
.work-metric span {color:var(--muted); font-size:11px; font-weight:500;}
.work-metric strong {display:block; margin:10px 0 7px; color:var(--ink); font-size:clamp(22px,2vw,30px); font-weight:650; letter-spacing:-.04em; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; line-height:1.15;}
.work-metric small {color:var(--muted); font-size:11px; line-height:1.65;}
.work-status {padding:36px 22px; border:1px dashed var(--line); border-radius:10px; background:var(--bg); text-align:center; color:var(--muted); line-height:1.7; font-size:13px;}
.work-status[data-kind=error] {border-color:#e99b9155; color:var(--red); background:#e99b910a;}
.work-pagination {display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:16px; font-size:12px; color:var(--muted);}
.work-pagination div {display:flex; gap:8px; flex-wrap:wrap; align-items:center;}
.work-message {font-size:12px; line-height:1.65; padding:14px 16px; background:var(--surface-raised); border:1px solid var(--line); border-radius:8px; color:var(--muted); overflow-wrap:anywhere;}
.work-message[data-kind=error] {background:#e99b910a; border-color:#e99b9140; color:var(--red);}
.work-dialog {width:min(760px,calc(100vw - 32px)); max-height:calc(100dvh - 40px); overflow:auto; padding:28px; border:1px solid var(--line); border-radius:16px; background:var(--surface); color:var(--ink); box-shadow:0 28px 90px #0008; color-scheme:dark;}
.work-dialog::backdrop {background:#080d12bc; backdrop-filter:blur(5px);}
.work-dialog .work-form {display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px;}
.work-form .work-full {grid-column:1/-1;}
.work-form fieldset {border:1px solid var(--line); border-radius:10px; padding:18px; min-width:0; background:var(--bg);}
.work-form legend {font-size:12px; font-weight:550; color:var(--ink); padding:0 7px;}
.work-dialog .work-actions {justify-content:flex-end; margin-top:24px;}
.work-dialog dl {display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px 16px; font-size:13px;}
.work-dialog dt {color:var(--muted); line-height:1.6;}
.work-dialog dd {margin:0; text-align:right; color:var(--ink); font-variant-numeric:tabular-nums; overflow-wrap:anywhere;}
.work-dialog h3 {margin:0; font-size:23px; letter-spacing:-.035em;}
.work-dialog .work-close {margin-left:auto; min-width:42px; font-size:21px; padding:4px 10px;}
.work-dialog .work-form > .work-actions {position:sticky; bottom:-28px; z-index:2; background:var(--surface); padding:16px 0; margin-top:0; border-top:1px solid var(--line);}
/* Verhindert, dass allgemeine Handelsdialog-Regeln Formularteile abschneiden. */
dialog.work-dialog[open] {display:block; height:fit-content; max-height:calc(100dvh - 40px); overflow:auto;}
.work-dialog [hidden], .work-area [hidden] {display:none!important;}
.work-results-section {margin-top:24px;}
.work-ingredient {margin-bottom:16px;}
.work-ingredient-prices {margin-top:12px;}

/* AE-Netz als eigener Betriebsbereich, Produkte bleiben in einer scanbaren Tabelle. */
.auto-network, .auto-network > div {display:flex; gap:12px; align-items:center; flex-wrap:wrap; min-width:0;}
.auto-network {justify-content:space-between; padding:16px; border:1px solid var(--line); border-radius:10px; margin-bottom:20px; background:var(--bg); font-size:12px;}
.auto-network strong {font-weight:600;}
.auto-network select {max-width:280px;}
.auto-product-toolbar {margin-bottom:16px;}
.auto-product-table {min-width:850px;}
.auto-products .auto-product-link, .auto-products .auto-goal {background:transparent; border:0; padding:4px 0; text-align:left; min-height:36px;}
.auto-product-link:hover strong {color:var(--accent); text-decoration:underline; text-underline-offset:3px;}
.auto-products .auto-goal {text-align:right; font-weight:600; font-variant-numeric:tabular-nums; white-space:nowrap;}
.auto-goal span {font-weight:400; color:var(--muted);}
.auto-products .work-subline {margin-left:auto; max-width:180px; white-space:normal;}
.auto-products td:first-child {min-width:210px;}
.auto-products .auto-product-link .work-asset {min-width:185px;}
.auto-product-table th, .auto-product-table td {padding:13px 14px;}
.auto-products .auto-switch[aria-checked=true] {background:#83c4a012; color:var(--green); border-color:#83c4a04d;}
.auto-product-dialog .auto-step {padding:0 0 22px; border-bottom:1px solid var(--line);}
.auto-step h4 {font-size:12px; margin:0 0 14px; color:var(--accent); font-weight:600;}
.auto-product-dialog .work-form.auto-product-form {gap:22px;}
.auto-details {border:1px solid var(--line); border-radius:8px; padding:14px; font-size:12px; margin-bottom:12px; background:var(--bg);}
.auto-details summary {cursor:pointer; font-weight:550; color:var(--muted); line-height:1.6;}
.auto-details[open] > summary {margin-bottom:16px; color:var(--ink);}
.auto-details .auto-details {margin-top:12px;}
.auto-product-dialog .auto-check {display:flex; align-items:center; gap:12px; font-size:12px; line-height:1.6; min-height:42px; color:var(--ink);}
.auto-product-dialog .auto-check input {width:18px; height:18px; min-height:18px; margin:0; flex:none; accent-color:var(--accent);}
.auto-product-dialog [data-purchase-fields] {margin-top:14px;}
.auto-ingredient {display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:14px; align-items:center; margin-top:16px;}
.auto-ingredient .work-asset {min-width:0;}
.auto-recipes {display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8px; max-height:190px; overflow:auto; margin-top:12px; border-radius:8px;}
.auto-recipes .auto-recipe {text-align:left; display:flex; gap:10px; align-items:center; justify-content:space-between; min-width:0;}
.auto-recipe[aria-pressed=true] {border-color:var(--accent); background:#eca96f12;}
.auto-recipe small {white-space:nowrap; color:var(--muted); font-size:10px;}
.auto-recipe .work-asset {min-width:0;}
.auto-recipe .work-asset small {white-space:normal;}
.auto-recipe .work-asset strong {font-size:11px;}
.auto-price-preview {margin-top:16px; padding:16px; background:var(--surface-raised); border:1px solid var(--line); border-radius:10px; font-size:12px; line-height:1.65;}
.auto-price-preview .work-subline {font-size:12px;}
.auto-price-result {display:flex; justify-content:space-between; gap:16px;}
.auto-price-result strong {color:var(--accent); font-variant-numeric:tabular-nums;}
.auto-save-note {flex:1; min-width:190px; margin:0; font-size:11px; line-height:1.6; color:var(--muted);}
.auto-product-dialog .work-actions {gap:10px;}
.auto-product-dialog .auto-details .work-actions {margin-top:10px;}
.auto-product-dialog .work-state {white-space:normal; min-width:130px;}
.auto-product-dialog .work-form input[type=search] {width:100%;}
.auto-product-dialog .auto-details > summary {padding:0; min-height:24px;}
.auto-product-dialog .auto-details {margin-top:0;}
.auto-attention {border:1px solid #eca96f4d; border-left:3px solid var(--accent); background:#eca96f08; padding:18px; border-radius:10px; margin:20px 0;}
.auto-attention li {margin:14px 0; line-height:1.65;}
.auto-attention p {margin:5px 0; color:var(--muted);}
.auto-attention a {color:var(--accent); text-underline-offset:3px;}
.auto-calculation {margin:18px 0; padding:18px; background:var(--bg); border:1px solid var(--line); border-radius:10px;}
.auto-calculation dl {display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px 16px;}
.auto-calculation dt {color:var(--muted);}
.auto-calculation dd {margin:0; text-align:right; font-variant-numeric:tabular-nums;}

/* Warenkorb: Mengen bleiben direkt bei der Ware, Summen haben eine klare Trennkante. */
.wagen-aufstellung table {width:100%; border-collapse:collapse;}
.wagen-aufstellung th {text-align:left; font-weight:400; padding:10px 0; vertical-align:top; background:transparent;}
.wagen-aufstellung td {text-align:right; padding:10px 0; font-variant-numeric:tabular-nums; white-space:nowrap;}
.wagen-aufstellung .wagen-summe th, .wagen-aufstellung .wagen-summe td {border-top:1px solid var(--line); font-weight:650; padding-top:16px; color:var(--ink);}
.wagen-menge {display:flex; gap:8px; align-items:center;}
.wagen-menge input {width:78px; text-align:right;}
.wagen-setzeile {display:flex; gap:10px; align-items:center; margin-bottom:10px; flex-wrap:wrap;}
.wagen-setzeile input[name=asset] {flex:1; min-width:190px;}
.work-area tr.wagen-fehlt td {background:#e99b910a;}
.cartadd {display:flex; gap:8px; align-items:center;}
.cartadd input {width:64px; padding:8px; text-align:right;}
.cartadd button {white-space:nowrap;}
.itemcard .cartadd {width:100%;}
.itemcard .cartadd button {flex:1;}

/* Zentralbank und Kisten folgen denselben Daten- und Formulargruppen. */
#bankPanel > h2, #chestListPanel > h2 {margin-top:0; font-size:21px; letter-spacing:-.025em;}
#bankPanel > h3 {margin:28px 0 14px; font-size:16px;}
#bankPanel .bankrates {display:flex; flex-wrap:wrap; gap:12px; padding:18px; border:1px solid var(--line); border-radius:10px; background:var(--bg); margin:18px 0; color:var(--ink);}
#bankPanel .markettools {align-items:flex-end; gap:14px; padding:18px 0; margin:0; border-bottom:1px solid var(--line);}
#bankPanel .markettools label:not(.bankcheck) {flex:1 1 180px; min-width:0;}
#bankPanel .bankcheck {display:flex; gap:10px; align-items:center; min-height:42px; color:var(--ink);}
#bankPanel .bankcheck input {width:18px; height:18px; accent-color:var(--accent);}
#chestListPanel > p {max-width:760px; line-height:1.7; color:var(--muted); font-size:13px; margin:10px 0 22px;}
#chestTable input {max-width:230px; min-width:100px; background:var(--bg); color:var(--ink); border:1px solid var(--line); border-radius:6px; padding:9px 10px;}

@media(max-width:1100px) {.work-metrics {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:900px) {.work-area .work-section {padding:20px;}.work-area {gap:20px;}}
@media(max-width:600px) {
  .work-area {gap:16px;}.work-area .work-section {padding:16px; border-radius:11px;}
  .work-heading {align-items:flex-start; margin-bottom:16px;}.work-heading h2 {font-size:18px;}
  .work-toolbar {display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px;}
  .work-toolbar .work-search {grid-column:1/-1; min-width:0;}.work-toolbar > * {min-width:0;}
  .work-toolbar .work-actions {grid-column:1/-1;}
  .work-metrics {gap:10px;}.work-metric {padding:16px 13px;}.work-metric strong {font-size:23px;}
  .work-dialog {padding:18px; border-radius:12px; width:calc(100vw - 20px); max-height:calc(100dvh - 24px);}
  dialog.work-dialog[open] {max-height:calc(100dvh - 24px);}
  .work-dialog .work-form {grid-template-columns:minmax(0,1fr); gap:18px;}
  .work-form fieldset {padding:14px;}.work-dialog .work-actions {justify-content:stretch;}
  .work-dialog .work-actions button {flex:1;}.work-dialog .work-form > .work-actions {bottom:-18px;}
  .work-pagination {align-items:flex-start; flex-direction:column;}.work-pagination div {width:100%;}
  .work-area th, .work-area td, .work-dialog th, .work-dialog td {padding:12px;}
  .auto-network {align-items:flex-start; padding:13px;}.auto-network > div {gap:9px; width:100%;}
  .auto-network select {max-width:100%; flex:1 1 150px;}
  .auto-recipes {grid-template-columns:minmax(0,1fr); max-height:210px;}
  .auto-product-dialog .auto-ingredient {grid-template-columns:minmax(0,1fr);}
  .auto-product-dialog .auto-ingredient .work-asset {max-width:100%;}
  .auto-product-dialog .work-form > .work-actions {display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
  .auto-save-note {grid-column:1/-1; min-width:0;}
  .auto-product-dialog .work-form > .work-actions button {font-size:12px; padding:10px 8px;}
  .auto-price-result {flex-wrap:wrap;}.auto-products .work-heading {align-items:center;}
  .auto-products .work-heading button {font-size:12px;}
  .auto-calculation {padding:14px;}.auto-attention {padding:14px;}
  .wagen-menge input {width:64px;}.wagen-setzeile input[name=asset] {min-width:0; flex-basis:100%;}
  .cartadd {gap:6px;}.cartadd input {width:56px;}
  #bankPanel .markettools {display:grid; grid-template-columns:minmax(0,1fr); padding:16px 0;}
  #bankPanel .bankrates {padding:14px; line-height:1.7;}
}
@media(max-width:360px) {
  .work-toolbar {grid-template-columns:minmax(0,1fr);}.work-toolbar .work-search {grid-column:auto;}
  .work-metric strong {font-size:21px;}.work-metric span {line-height:1.5; display:block;}
  .work-dialog .work-actions {gap:8px;}.work-dialog dl {gap:10px; font-size:12px;}
}
@media(prefers-reduced-motion:reduce) {.work-area button,.work-dialog button {transition:none;}}
/* Netz-Auswahl, technischer Zustand und Produktfilter erhalten feste eigene Zonen. */
.auto-network .auto-network-choice {flex:1 1 240px;}
.auto-network-choice label {display:grid; gap:7px; color:var(--muted); font-size:11px; width:100%;}
.auto-network-choice select {width:100%; max-width:330px; color:var(--ink); font-size:12px;}
.auto-network .auto-network-status {flex:1 1 180px; gap:8px;}
.auto-product-toolbar {padding:16px; border:1px solid var(--line); border-radius:10px; background:var(--bg);}
.analysis-filter {display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) auto; margin-bottom:0;}
@media(max-width:768px) {
  .analysis-filter {grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
  .analysis-filter button {width:100%;}
}
@media(max-width:600px) {
  .auto-network .auto-network-choice, .auto-network .auto-network-status {flex-basis:100%;}
  .auto-network-choice select {max-width:100%;}
  .auto-network > button {width:100%;}
  .auto-product-toolbar {padding:13px;}
}
@media(max-width:360px) {.analysis-filter {grid-template-columns:minmax(0,1fr);}}
/* Gerenderte Besitz- und Verwaltungsabschnitte teilen denselben vertikalen Rhythmus. */
.work-area [data-city-results], .work-area [data-welten-results],
.work-area [data-firmen-inhalt], .work-area [data-results] {display:grid; gap:24px;}
.work-area .work-form {min-width:0;}
.work-area input[type=checkbox], .work-dialog input[type=checkbox] {width:18px; height:18px; min-height:18px; accent-color:var(--accent);}
@media(max-width:600px) {
  .work-area [data-city-results], .work-area [data-welten-results],
  .work-area [data-firmen-inhalt], .work-area [data-results] {gap:16px;}
}
