/* EMPORAS – Πίνακας ξυλοτύπου H20. Όλα κάτω από .eh20-app για να μη συγκρούονται με το θέμα του WordPress. */
.eh20-app {
  --eh20-ink: #16202c;
  --eh20-muted: #5b6776;
  --eh20-line: #dfe4ea;
  --eh20-bg: #f5f7f9;
  --eh20-card: #ffffff;
  --eh20-accent: #1f4e79;
  --eh20-timber: #f2b705;
  --eh20-timber-soft: #fff6d6;
  --eh20-steel-soft: #e3edf6;
  --eh20-dim: #aab3bd;
  --eh20-radius: 12px;
  color: var(--eh20-ink);
  font: 15px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  max-width: 1180px;
  margin: 0 auto;
}
.eh20-app *, .eh20-app *::before, .eh20-app *::after { box-sizing: border-box; }
.eh20-app h2, .eh20-app h3, .eh20-app p, .eh20-app ul { margin: 0; padding: 0; }

.eh20-wrap { background: var(--eh20-bg); border-radius: calc(var(--eh20-radius) + 4px); padding: 20px; display: grid; gap: 16px; }
.eh20-wrap > * { min-width: 0; }
@media (max-width: 760px) { .eh20-wrap { padding: 14px; } }
.eh20-title { font-size: 24px; line-height: 1.2; font-weight: 700; letter-spacing: -0.01em; color: var(--eh20-ink); }
.eh20-lead { color: var(--eh20-muted); margin-top: 6px; max-width: 70ch; }

.eh20-controls { display: flex; flex-wrap: wrap; gap: 12px 18px; align-items: end; background: var(--eh20-card); border: 1px solid var(--eh20-line); border-radius: var(--eh20-radius); padding: 16px; }
.eh20-field { display: grid; gap: 4px; font-size: 13px; font-weight: 600; color: var(--eh20-muted); min-width: 0; }
.eh20-capbox { flex: 1 1 320px; }
.eh20-app select {
  height: 44px; margin: 0; padding: 0 10px; max-width: 100%;
  font: 500 14px/1 inherit; font-family: inherit; color: var(--eh20-ink);
  background: #fff; border: 1px solid #c9d1da; border-radius: 8px; box-shadow: none;
}
.eh20-app select:focus, .eh20-app td[data-r]:focus-visible { outline: 2px solid var(--eh20-accent); outline-offset: 1px; }
.eh20-cap { display: flex; flex-wrap: wrap; gap: 8px; }
.eh20-chip { display: grid; gap: 1px; min-width: 9rem; padding: 6px 10px; border: 1px solid var(--eh20-line); border-radius: 8px; font-size: 13px; font-weight: 500; color: var(--eh20-ink); }
.eh20-chip b { font-size: 16px; font-variant-numeric: tabular-nums; }
.eh20-chip.eh20-on { border-color: var(--eh20-accent); background: var(--eh20-steel-soft); }
.eh20-chip.eh20-off { color: var(--eh20-dim); }

.eh20-figrow { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 16px; align-items: center; background: var(--eh20-card); border: 1px solid var(--eh20-line); border-radius: var(--eh20-radius); padding: 16px; }
@media (max-width: 760px) { .eh20-figrow { grid-template-columns: minmax(0, 1fr); } }
.eh20-fig { width: 100%; max-width: 640px; height: auto; display: block; }
.eh20-key { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.eh20-key li { display: grid; grid-template-columns: 30px 1fr; gap: 10px; align-items: center; font-size: 14px; }
.eh20-k { width: 28px; height: 28px; border-radius: 50%; background: var(--eh20-ink); color: var(--eh20-card); display: grid; place-items: center; font-size: 14px; }
.eh20-f-floor { fill: #eef1f4; }
.eh20-f-base { fill: #8a96a3; }
.eh20-f-prop { stroke: #3a6e8f; stroke-width: 7; }
.eh20-f-prop2 { stroke: #7fa6bf; stroke-width: 4.5; }
.eh20-f-collar { fill: #c58a1a; }
.eh20-f-b1-o { stroke: #9b7208; stroke-width: 12; }
.eh20-f-b1 { stroke: #f2b705; stroke-width: 9; }
.eh20-f-b2-o { stroke: #9b7208; stroke-width: 9; }
.eh20-f-b2 { stroke: #ffd34d; stroke-width: 6; }
.eh20-f-dim { stroke: var(--eh20-ink); stroke-width: 1.5; }
.eh20-f-ext { stroke: var(--eh20-ink); stroke-width: 1; stroke-dasharray: 3 3; }
.eh20-f-dot, .eh20-f-tag { fill: var(--eh20-ink); }
.eh20-f-lbl { fill: var(--eh20-card); font: 700 14px/1 sans-serif; font-family: inherit; }
.eh20-f-cap { fill: var(--eh20-muted); font: 500 12px/1 sans-serif; font-family: inherit; paint-order: stroke; stroke: var(--eh20-card); stroke-width: 4px; }

.eh20-ex { background: var(--eh20-timber-soft); border: 2px solid var(--eh20-timber); border-radius: 10px; padding: 12px 14px; display: grid; gap: 6px; }
.eh20-ex p { max-width: 95ch; }
.eh20-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--eh20-muted); }
.eh20-alert { color: var(--eh20-accent); }

.eh20-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.eh20-wrap > .eh20-scroll { background: var(--eh20-card); border: 1px solid var(--eh20-line); border-radius: var(--eh20-radius); }
.eh20-tblwrap { position: relative; min-width: 100%; width: max-content; }
.eh20-arrows { position: absolute; left: 0; top: 0; pointer-events: none; overflow: visible; }
.eh20-arw line { stroke: #c2185b; stroke-width: 2; stroke-linecap: round; }
.eh20-arw-head { fill: #c2185b; }
.eh20-ring ellipse { fill: none; stroke: #c2185b; stroke-width: 2; }
.eh20-tbl { width: 100%; border-collapse: collapse; font-size: 13px; font-variant-numeric: tabular-nums; margin: 0; }
.eh20-tbl th, .eh20-tbl td { border: 1px solid var(--eh20-line); padding: 5px 6px; text-align: center; white-space: nowrap; vertical-align: middle; }
.eh20-tbl thead th { font-size: 12px; font-weight: 600; color: var(--eh20-muted); background: var(--eh20-bg); line-height: 1.25; }
.eh20-tbl thead th.eh20-grp { color: var(--eh20-ink); white-space: normal; }
.eh20-tbl thead th.eh20-grp small { display: block; font-weight: 400; color: var(--eh20-muted); }
.eh20-tbl thead th.eh20-grp-a { box-shadow: inset 0 3px 0 var(--eh20-timber); }
.eh20-tbl thead th.eh20-grp-b { box-shadow: inset 0 3px 0 var(--eh20-accent); }
.eh20-tbl tr.eh20-vals th { color: var(--eh20-ink); font-size: 13px; }
.eh20-tbl tbody th { background: var(--eh20-bg); font-weight: 700; }
.eh20-tbl td.eh20-q { color: var(--eh20-muted); }
.eh20-tbl td[data-r] { cursor: pointer; }
.eh20-tbl td[data-r]:hover { outline: 1px solid var(--eh20-ink); outline-offset: -1px; }
.eh20-tbl td.eh20-secc { background: var(--eh20-timber-soft); font-weight: 600; }
.eh20-tbl td.eh20-cell b { display: block; font-size: 14px; }
.eh20-tbl td.eh20-cell small { font-size: 11px; color: var(--eh20-muted); }
.eh20-tbl td.eh20-prop { background: var(--eh20-steel-soft); }
.eh20-tbl td.eh20-prop b { color: var(--eh20-accent); }
.eh20-tbl td.eh20-na b, .eh20-tbl td.eh20-na small { color: var(--eh20-dim); }
.eh20-tbl td.eh20-sel { box-shadow: inset 0 0 0 2px var(--eh20-ink); }
.eh20-tbl th.eh20-selrow { box-shadow: inset 4px 0 0 var(--eh20-timber); }
.eh20-tbl .eh20-sep { border-left: 2px solid var(--eh20-ink); }

.eh20-legend { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 12.5px; color: var(--eh20-muted); }
.eh20-legend span { display: inline-flex; gap: 6px; align-items: center; }
.eh20-sw { width: 14px; height: 14px; border: 1px solid var(--eh20-line); border-radius: 3px; background: var(--eh20-card); display: inline-block; flex: none; }
.eh20-sw-sec { background: var(--eh20-timber-soft); }
.eh20-sw-prop { background: var(--eh20-steel-soft); }
.eh20-sw-na { border-style: dashed; border-color: var(--eh20-dim); }

.eh20-cols { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 16px; align-items: start; }
@media (max-width: 860px) { .eh20-cols { grid-template-columns: minmax(0, 1fr); } }
.eh20-card { background: var(--eh20-card); border: 1px solid var(--eh20-line); border-radius: var(--eh20-radius); padding: 16px; display: grid; gap: 10px; min-width: 0; }
.eh20-h3 { font-size: 16px; font-weight: 700; }
.eh20-list { list-style: disc; padding-left: 1.1em; display: grid; gap: 6px; font-size: 14px; }
.eh20-capt { width: 100%; border-collapse: collapse; font-size: 13px; font-variant-numeric: tabular-nums; margin: 0; }
.eh20-capt th, .eh20-capt td { padding: 4px 8px; border-bottom: 1px solid var(--eh20-line); text-align: right; white-space: nowrap; }
.eh20-capt th { font-size: 12px; font-weight: 600; color: var(--eh20-muted); }
.eh20-capt th:first-child, .eh20-capt td:first-child { text-align: left; }
.eh20-capt tr.eh20-cur td { background: var(--eh20-steel-soft); font-weight: 700; }
.eh20-capt td.eh20-x { color: var(--eh20-dim); }
.eh20-hint { font-size: 12.5px; color: var(--eh20-muted); }

.eh20-actions:empty { display: none; }
.eh20-btn {
  display: inline-flex; align-items: center; min-height: 42px; padding: 0 16px;
  font: 600 14px/1 inherit; font-family: inherit; color: #fff; background: var(--eh20-accent);
  border-radius: 8px; text-decoration: none;
}
.eh20-btn:hover { background: #173c5e; color: #fff; }
.eh20-disc { font-size: 12.5px; color: var(--eh20-muted); }

@media print {
  .eh20-app .eh20-wrap { background: none; padding: 0; }
  .eh20-app .eh20-actions { display: none; }
  .eh20-app .eh20-scroll { overflow: visible; }
  .eh20-app .eh20-tbl { font-size: 9px; }
}
