/* Neumann E-Rechnungsprüfung · application layer · 2026-07-11 */

html.jn-v2 { min-width: 0; }

.einvoice-page {
  --einvoice-shell: 1320px;
  --einvoice-grid: rgba(242, 238, 229, .055);
  --einvoice-paper: #f3f0e8;
  --einvoice-ink: #1a1a1d;
  --einvoice-valid: #78d9ad;
  --einvoice-invalid: #ff7a78;
  --einvoice-note: #75b7ff;
  --einvoice-warn: #f2c96d;
  background: #0b0b0d;
  min-width: 0 !important;
}

.einvoice-page .site-header { position: sticky; }
.einvoice-page .einvoice-main { min-height: 70vh; }
.einvoice-shell {
  width: min(calc(100% - 64px), var(--einvoice-shell));
  margin-inline: auto;
}

.einvoice-kicker,
.einvoice-section-index,
.queue-label,
.dropzone-type,
.demo-status,
.status-label {
  margin: 0 0 16px;
  color: var(--ui-coral);
  font-family: var(--ui-mono) !important;
  font-size: 12px;
  font-weight: 680;
  line-height: 1.35;
  text-transform: uppercase;
}

.einvoice-hero {
  position: relative;
  min-height: 510px;
  display: grid;
  align-items: center;
  overflow: clip;
  border-bottom: 1px solid var(--ui-line);
  background:
    linear-gradient(90deg, transparent 0 49.9%, var(--einvoice-grid) 50%, transparent 50.1%),
    linear-gradient(transparent 0 49.9%, var(--einvoice-grid) 50%, transparent 50.1%),
    #0b0b0d;
  background-size: 96px 96px;
}

.einvoice-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 1px;
  background: linear-gradient(90deg, var(--ui-coral), var(--ui-mint), transparent 78%);
  transform-origin: left;
  animation: einvoice-line-in 900ms var(--ui-spring) both;
}

@keyframes einvoice-line-in { from { transform: scaleX(0); } to { transform: scaleX(1); } }

.einvoice-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(380px, .95fr);
  gap: 72px;
  align-items: center;
  padding-block: 48px;
}

.einvoice-intro { max-width: 730px; animation: ui-enter 680ms var(--ui-spring) both; }
.einvoice-intro h1,
.job-header-band h1,
.legal-hero h1 {
  max-width: 14ch;
  margin: 0 0 24px;
  color: var(--ui-paper);
  font-size: 4rem;
  line-height: .98;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.einvoice-lead,
.legal-hero p,
.job-header-band p {
  max-width: 70ch;
  margin: 0;
  color: var(--ui-paper-muted);
  font-size: 19px;
  line-height: 1.65;
}

.einvoice-assurances {
  margin: 34px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--ui-line);
  list-style: none;
}

.einvoice-assurances li { min-width: 0; padding: 17px 18px 0 0; }
.einvoice-assurances strong,
.einvoice-assurances span { display: block; }
.einvoice-assurances strong { color: var(--ui-paper); font-size: 14px; }
.einvoice-assurances span { margin-top: 3px; color: var(--ui-faint); font-size: 12px; overflow-wrap: anywhere; }

.einvoice-visual {
  position: relative;
  margin: 0;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border: 1px solid var(--ui-line-strong);
  border-radius: 8px;
  background: #dcd8ce;
  box-shadow: 0 28px 80px rgba(0, 0, 0, .42);
  animation: ui-enter 760ms 100ms var(--ui-spring) both;
}

.einvoice-visual img { width: 100%; height: 100%; object-fit: cover; }
.einvoice-visual figcaption {
  position: absolute;
  inset: auto 12px 12px;
  padding: 8px 10px;
  border: 1px solid rgba(0, 0, 0, .13);
  border-radius: 5px;
  background: rgba(243, 240, 232, .9);
  color: #343438;
  font-family: var(--ui-mono) !important;
  font-size: 10px;
  backdrop-filter: blur(8px);
}

.einvoice-workbench,
.einvoice-demo-section,
.einvoice-capabilities,
.einvoice-privacy-band { padding-block: 88px; border-bottom: 1px solid var(--ui-line); }
.einvoice-workbench { background: #101012; }

.workbench-grid {
  display: grid;
  grid-template-columns: minmax(190px, .62fr) minmax(420px, 1.4fr) minmax(250px, .72fr);
  gap: 30px;
  align-items: start;
}

.workbench-heading { position: sticky; top: 100px; }
.workbench-heading h2,
.einvoice-section-heading h2,
.capabilities-copy h2,
.einvoice-privacy-band h2,
.job-status-band h2,
.job-error-band h2,
.legal-content h2 {
  margin: 0 0 14px;
  color: var(--ui-paper);
  font-size: 2.25rem;
}
.workbench-heading p:last-child,
.einvoice-section-heading > p,
.capabilities-copy > p,
.queue-note > p,
.einvoice-privacy-band p { color: var(--ui-muted); }

.upload-tool {
  min-width: 0;
  padding: 24px;
  border: 1px solid var(--ui-line-strong);
  border-radius: 8px;
  background: #171719;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .24);
}

.invoice-dropzone {
  position: relative;
  min-height: 260px;
  padding: 42px 28px;
  display: grid;
  place-content: center;
  gap: 8px;
  border: 1px dashed rgba(117, 183, 255, .55);
  border-radius: 6px;
  background:
    linear-gradient(90deg, transparent 0 31px, rgba(117,183,255,.055) 32px, transparent 33px),
    linear-gradient(transparent 0 31px, rgba(117,183,255,.055) 32px, transparent 33px),
    #111316;
  background-size: 32px 32px;
  text-align: center;
  cursor: pointer;
  transition: border-color var(--ui-fast), background-color var(--ui-fast), transform var(--ui-fast);
}

.invoice-dropzone:hover,
.invoice-dropzone.is-dragging { border-color: var(--ui-mint); background-color: rgba(120, 217, 173, .045); }
.invoice-dropzone.is-dragging { transform: translateY(-2px); }
.invoice-dropzone input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.invoice-dropzone strong { color: var(--ui-paper); font-size: 19px; line-height: 1.35; overflow-wrap: anywhere; }
.invoice-dropzone > span:last-child { color: var(--ui-muted); font-size: 13px; }
.dropzone-type { margin: 0 0 8px; color: var(--ui-sky); }

.privacy-check {
  margin-top: 18px;
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  color: var(--ui-muted);
  font-size: 13px;
  line-height: 1.55;
}
.privacy-check input { width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--ui-mint); }
.privacy-check a { color: var(--ui-paper); text-underline-offset: 3px; }

.upload-action-row {
  margin-top: 22px;
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 18px;
  align-items: center;
}

.einvoice-button,
.demo-item button {
  min-height: 48px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--ui-line-strong);
  border-radius: 6px;
  background: #1c1c20;
  color: var(--ui-paper);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: transform var(--ui-fast) var(--ui-spring), border-color var(--ui-fast), background var(--ui-fast);
}
.einvoice-button:hover:not(:disabled),
.demo-item button:hover:not(:disabled) { transform: translateY(-2px); border-color: var(--ui-mint); background: #232328; }
.einvoice-button-primary { border-color: var(--ui-coral); background: var(--ui-coral); color: #1b0c08; }
.einvoice-button-primary:hover:not(:disabled) { border-color: #ff947c; background: #ff947c; }
.einvoice-button:disabled,
.demo-item button:disabled { opacity: .42; cursor: not-allowed; }
.upload-state { margin: 0; color: var(--ui-muted); font-size: 13px; }
.upload-state.is-error { color: var(--ui-danger); }
.upload-state.is-busy { color: var(--ui-sky); }

.upload-progress,
.job-progress { height: 7px; overflow: hidden; border-radius: 2px; background: rgba(242, 238, 229, .1); }
.upload-progress { margin-top: 18px; }
.upload-progress span,
.job-progress span { display: block; width: 0; height: 100%; background: linear-gradient(90deg, var(--ui-coral), var(--ui-yellow), var(--ui-mint)); transition: width 260ms ease; }

.queue-note { padding: 22px 0; border-block: 1px solid var(--ui-line); }
.queue-note ol { margin: 0 0 20px; padding: 0; display: grid; gap: 15px; list-style: none; }
.queue-note li { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 10px; color: var(--ui-paper-muted); font-size: 13px; }
.queue-note li span { color: var(--ui-coral); font-family: var(--ui-mono) !important; }
.queue-note > p:last-child { margin: 0; font-size: 12px; }

.einvoice-demo-section { background: #0b0b0d; }
.einvoice-section-heading { margin-bottom: 34px; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(320px, .7fr); gap: 50px; align-items: end; }
.einvoice-section-heading h2 { max-width: 18ch; }
.einvoice-section-heading > p { margin: 0; }

.demo-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--ui-line-strong); border: 1px solid var(--ui-line-strong); }
.demo-item { min-width: 0; min-height: 285px; padding: 24px; display: flex; flex-direction: column; background: #141416; }
.demo-item h3 { margin: 0 0 10px; color: var(--ui-paper); font-size: 20px; }
.demo-item p:not(.demo-status) { color: var(--ui-muted); font-size: 14px; }
.demo-item button { width: 100%; margin-top: auto; }
.demo-status { margin-bottom: 28px; }
.demo-status-ok { color: var(--einvoice-valid); }
.demo-status-error { color: var(--einvoice-invalid); }
.demo-status-note { color: var(--einvoice-note); }
.demo-live { min-height: 24px; margin: 16px 0 0; color: var(--ui-muted); font-size: 13px; }

.einvoice-capabilities { background: #111113; }
.capabilities-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(520px, 1.2fr); gap: 92px; }
.capabilities-copy { position: sticky; top: 100px; align-self: start; }
.capabilities-copy h2 { max-width: 14ch; }
.einvoice-text-link { display: inline-flex; margin-top: 18px; color: var(--ui-mint); font-weight: 680; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.capability-list { margin: 0; border-top: 1px solid var(--ui-line-strong); }
.capability-list > div { padding: 25px 0; display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 30px; border-bottom: 1px solid var(--ui-line); }
.capability-list dt { color: var(--ui-paper); font-weight: 700; }
.capability-list dd { margin: 0; color: var(--ui-muted); }

.einvoice-privacy-band { background: #17201d; }
.privacy-grid { display: grid; grid-template-columns: minmax(0, .7fr) minmax(480px, 1.3fr); gap: 84px; }
.privacy-links { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.privacy-links a { color: var(--ui-paper); text-underline-offset: 4px; }

/* Job view */
.job-header-band,
.legal-hero { padding-block: 68px; border-bottom: 1px solid var(--ui-line); background: #0d0d0f; }
.job-header-grid { display: grid; grid-template-columns: minmax(0, 1fr) max-content; gap: 40px; align-items: end; }
.job-header-band h1,
.legal-hero h1 { font-size: 3.25rem; }
.job-header-actions { display: flex; flex-wrap: wrap; gap: 18px; align-items: center; }
.job-header-actions .einvoice-text-link { margin: 0; }

.job-status-band { padding-block: 42px; border-bottom: 1px solid var(--ui-line); background: #141416; }
.status-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(500px, 1.1fr); gap: 70px; align-items: center; }
.status-label { margin-bottom: 10px; color: var(--ui-sky); }
.job-status-band h2 { font-size: 2rem; }
.job-progress { margin-top: 24px; }
.status-meta { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--ui-line); }
.status-meta > div { min-width: 0; padding: 15px 17px; border-bottom: 1px solid var(--ui-line); }
.status-meta > div:nth-child(odd) { border-right: 1px solid var(--ui-line); }
.status-meta > div:nth-last-child(-n+2) { border-bottom: 0; }
.status-meta dt { color: var(--ui-faint); font-size: 11px; text-transform: uppercase; }
.status-meta dd { margin: 4px 0 0; color: var(--ui-paper); font-size: 14px; overflow-wrap: anywhere; }

.result-shell { padding-block: 60px 92px; }
.result-summary { margin-bottom: 30px; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr); gap: 48px; align-items: end; }
.result-summary h2 { margin: 0 0 12px; color: var(--ui-paper); font-size: 2.75rem; }
.result-summary p { margin: 0; color: var(--ui-muted); }
.result-summary dl { margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--ui-line); }
.result-summary dl > div { min-width: 0; padding: 15px; border-right: 1px solid var(--ui-line); }
.result-summary dl > div:last-child { border-right: 0; }
.result-summary dt { color: var(--ui-faint); font-size: 11px; text-transform: uppercase; }
.result-summary dd { margin: 5px 0 0; color: var(--ui-paper); overflow-wrap: anywhere; }
.result-summary.is-valid h2 { color: var(--einvoice-valid); }
.result-summary.is-invalid h2 { color: var(--einvoice-invalid); }
.result-summary.is-warning h2 { color: var(--einvoice-warn); }
.result-summary.is-note h2 { color: var(--einvoice-note); }

.result-tabs { border-top: 1px solid var(--ui-line-strong); }
.tab-list { position: sticky; top: 72px; z-index: 20; display: flex; gap: 2px; overflow-x: auto; border-bottom: 1px solid var(--ui-line-strong); background: rgba(11, 11, 13, .94); backdrop-filter: blur(18px); scrollbar-width: thin; }
.tab-list button { min-width: max-content; min-height: 54px; padding: 0 18px; color: var(--ui-muted); border-bottom: 2px solid transparent; }
.tab-list button[aria-selected="true"] { color: var(--ui-paper); border-bottom-color: var(--ui-coral); background: rgba(255, 118, 87, .07); }
.result-panel { min-height: 320px; padding-top: 34px; }
.result-panel > h2 { margin-bottom: 22px; color: var(--ui-paper); font-size: 2rem; }
.result-panel > p { max-width: 74ch; color: var(--ui-muted); }

.invoice-facts,
.party-grid,
.total-grid { display: grid; gap: 1px; border: 1px solid var(--ui-line); background: var(--ui-line); }
.invoice-facts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.party-grid { margin-top: 28px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.total-grid { margin-top: 28px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.invoice-facts > div,
.party-card,
.total-grid > div { min-width: 0; padding: 18px; background: #141416; }
.invoice-facts dt,
.total-grid dt { color: var(--ui-faint); font-size: 11px; text-transform: uppercase; }
.invoice-facts dd,
.total-grid dd { margin: 6px 0 0; color: var(--ui-paper); overflow-wrap: anywhere; }
.party-card h3 { color: var(--ui-paper); font-size: 18px; }
.party-card p { margin: 5px 0; color: var(--ui-muted); }

.preview-strip { margin-top: 30px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.preview-strip figure { margin: 0; overflow: hidden; border: 1px solid var(--ui-line-strong); border-radius: 6px; background: #f3f0e8; }
.preview-strip img { width: 100%; height: auto; }
.preview-strip figcaption { padding: 10px 12px; color: var(--ui-muted); font-size: 12px; background: #141416; }

.table-scroll { max-width: 100%; overflow-x: auto; border: 1px solid var(--ui-line); }
.result-table { width: 100%; min-width: 820px; border-collapse: collapse; background: #141416; }
.result-table th,
.result-table td { padding: 13px 14px; border-bottom: 1px solid var(--ui-line); text-align: left; vertical-align: top; }
.result-table th { color: var(--ui-faint); font-size: 11px; text-transform: uppercase; background: #101012; }
.result-table td { color: var(--ui-paper-muted); font-size: 14px; }
.result-table tbody tr:last-child td { border-bottom: 0; }
.result-table .number { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }

.validator-list { margin: 0 0 30px; padding: 0; display: grid; gap: 1px; border: 1px solid var(--ui-line); background: var(--ui-line); list-style: none; }
.validator-list li { padding: 16px 18px; display: grid; grid-template-columns: minmax(180px, .7fr) minmax(0, 1fr) max-content; gap: 18px; background: #141416; align-items: center; }
.validator-list strong { color: var(--ui-paper); }
.validator-list span { color: var(--ui-muted); font-size: 13px; }
.validator-list b { font-family: var(--ui-mono) !important; font-size: 11px; text-transform: uppercase; }
.validator-list b.is-valid { color: var(--einvoice-valid); }
.validator-list b.is-invalid { color: var(--einvoice-invalid); }

.issue-list { display: grid; gap: 12px; }
.issue-item { padding: 20px; border-left: 3px solid var(--einvoice-note); background: #141416; }
.issue-item[data-severity="error"] { border-left-color: var(--einvoice-invalid); }
.issue-item[data-severity="warning"] { border-left-color: var(--einvoice-warn); }
.issue-item[data-severity="notice"] { border-left-color: var(--einvoice-note); }
.issue-head { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: baseline; }
.issue-head strong { color: var(--ui-paper); }
.issue-head span { color: var(--ui-faint); font-family: var(--ui-mono) !important; font-size: 11px; }
.issue-item > p { margin: 10px 0 0; color: var(--ui-paper-muted); }
.issue-details { margin: 14px 0 0; display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 7px 16px; }
.issue-details dt { color: var(--ui-faint); font-size: 12px; }
.issue-details dd { margin: 0; color: var(--ui-muted); font-size: 13px; overflow-wrap: anywhere; }

.xml-toolbar { margin-bottom: 12px; display: flex; justify-content: flex-end; }
.xml-view { max-height: 680px; margin: 0; padding: 22px; overflow: auto; border: 1px solid var(--ui-line); border-radius: 5px; background: #08090a; color: #c5dfd2; font-size: 12px; line-height: 1.62; tab-size: 2; white-space: pre; }

.download-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--ui-line); background: var(--ui-line); }
.download-item { min-width: 0; min-height: 128px; padding: 18px; display: flex; flex-direction: column; background: #141416; color: var(--ui-paper); text-decoration: none; }
.download-item strong { overflow-wrap: anywhere; }
.download-item span { margin-top: 5px; color: var(--ui-faint); font-size: 12px; }
.download-item small { margin-top: auto; color: var(--ui-mint); }
.download-item:hover { background: #1b1b1f; }

.job-error-band { padding-block: 72px; border-bottom: 1px solid var(--ui-line); background: #251516; }
.job-error-band p:not(.einvoice-section-index) { max-width: 70ch; color: var(--ui-paper-muted); }

/* Legal and health */
.legal-hero h1 { max-width: 16ch; }
.legal-layout { padding-block: 70px 100px; display: grid; grid-template-columns: 220px minmax(0, 760px); gap: 80px; justify-content: center; }
.legal-nav { position: sticky; top: 100px; align-self: start; display: grid; border-top: 1px solid var(--ui-line); }
.legal-nav a { padding: 11px 0; border-bottom: 1px solid var(--ui-line); color: var(--ui-muted); text-decoration: none; }
.legal-nav a:hover { color: var(--ui-paper); }
.legal-content section { padding-bottom: 42px; margin-bottom: 42px; border-bottom: 1px solid var(--ui-line); }
.legal-content section:last-child { border-bottom: 0; }
.legal-content p { color: var(--ui-paper-muted); }
.legal-content a { color: var(--ui-mint); text-underline-offset: 4px; }
.health-table { padding-block: 70px 100px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--ui-line); }
.health-table > div { min-width: 0; padding: 22px; border: 1px solid var(--ui-line); border-left: 0; }
.health-table > div:first-child { border-left: 1px solid var(--ui-line); }
.health-table span,
.health-table strong,
.health-table small { display: block; }
.health-table span { color: var(--ui-faint); font-size: 11px; text-transform: uppercase; }
.health-table strong { margin-top: 9px; color: var(--ui-paper); overflow-wrap: anywhere; }
.health-table small { margin-top: 4px; color: var(--ui-muted); }

@media (max-width: 1180px) {
  .einvoice-shell { width: min(calc(100% - 48px), var(--einvoice-shell)); }
  .einvoice-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(330px, .8fr); gap: 42px; }
  .einvoice-intro h1 { font-size: 3.35rem; }
  .workbench-grid { grid-template-columns: minmax(180px, .55fr) minmax(420px, 1.45fr); }
  .queue-note { grid-column: 1 / -1; display: grid; grid-template-columns: 180px minmax(0, 1fr) 240px; gap: 24px; }
  .queue-note ol { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .demo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .capabilities-grid { gap: 60px; }
  .status-grid { grid-template-columns: minmax(0, .75fr) minmax(440px, 1.25fr); gap: 42px; }
}

@media (max-width: 900px) {
  .einvoice-shell { width: min(calc(100% - 36px), var(--einvoice-shell)); }
  .einvoice-hero { min-height: auto; }
  .einvoice-hero-grid { grid-template-columns: 1fr; gap: 30px; padding-block: 42px; }
  .einvoice-intro h1 { font-size: 3rem; }
  .einvoice-lead { font-size: 17px; }
  .einvoice-visual { width: min(100%, 560px); max-height: 250px; }
  .einvoice-workbench,
  .einvoice-demo-section,
  .einvoice-capabilities,
  .einvoice-privacy-band { padding-block: 64px; }
  .workbench-grid { grid-template-columns: 1fr; }
  .workbench-heading,
  .capabilities-copy { position: static; }
  .queue-note { grid-column: auto; display: block; }
  .queue-note ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .einvoice-section-heading,
  .capabilities-grid,
  .privacy-grid,
  .job-header-grid,
  .status-grid,
  .result-summary { grid-template-columns: 1fr; gap: 30px; }
  .capability-list > div { grid-template-columns: 150px minmax(0, 1fr); }
  .invoice-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .total-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .download-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .legal-layout { grid-template-columns: 1fr; gap: 38px; }
  .legal-nav { position: static; grid-template-columns: repeat(5, max-content); gap: 18px; overflow-x: auto; border-bottom: 1px solid var(--ui-line); }
  .legal-nav a { border-bottom: 0; }
  .health-table { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .health-table > div:nth-child(3) { border-left: 1px solid var(--ui-line); }
}

@media (max-width: 600px) {
  .einvoice-shell { width: min(calc(100% - 28px), var(--einvoice-shell)); }
  .einvoice-hero-grid { gap: 18px; padding-block: 22px; }
  .einvoice-intro h1,
  .job-header-band h1,
  .legal-hero h1 { font-size: 2.5rem; }
  .einvoice-lead,
  .job-header-band p,
  .legal-hero p { font-size: 16px; }
  .einvoice-assurances { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .einvoice-assurances li { padding: 11px 7px 0 0; border-bottom: 0; }
  .einvoice-assurances strong { font-size: 12px; }
  .einvoice-assurances span { font-size: 10px; line-height: 1.35; }
  .einvoice-visual { max-height: 80px; }
  .einvoice-visual figcaption { display: none; }
  .einvoice-workbench,
  .einvoice-demo-section,
  .einvoice-capabilities,
  .einvoice-privacy-band { padding-block: 52px; }
  .einvoice-workbench { padding-top: 20px; }
  .workbench-heading h2,
  .einvoice-section-heading h2,
  .capabilities-copy h2,
  .einvoice-privacy-band h2,
  .legal-content h2 { font-size: 1.85rem; }
  .upload-tool { padding: 14px; }
  .invoice-dropzone { min-height: 215px; padding: 30px 18px; }
  .upload-action-row { grid-template-columns: 1fr; }
  .upload-action-row .einvoice-button { width: 100%; }
  .queue-note ol,
  .demo-grid { grid-template-columns: 1fr; }
  .demo-item { min-height: 245px; }
  .einvoice-section-heading { gap: 18px; }
  .capability-list > div { grid-template-columns: 1fr; gap: 8px; }
  .privacy-links { display: grid; }
  .job-header-band,
  .legal-hero { padding-block: 46px; }
  .job-header-actions { align-items: stretch; }
  .job-header-actions .einvoice-button { width: 100%; }
  .status-meta,
  .result-summary dl,
  .party-grid { grid-template-columns: 1fr; }
  .status-meta > div,
  .status-meta > div:nth-child(odd),
  .status-meta > div:nth-last-child(-n+2) { border-right: 0; border-bottom: 1px solid var(--ui-line); }
  .status-meta > div:last-child { border-bottom: 0; }
  .result-summary h2 { font-size: 2.2rem; }
  .result-summary dl > div { border-right: 0; border-bottom: 1px solid var(--ui-line); }
  .result-summary dl > div:last-child { border-bottom: 0; }
  .invoice-facts,
  .total-grid { grid-template-columns: 1fr; }
  .preview-strip,
  .download-grid { grid-template-columns: 1fr; }
  .validator-list li { grid-template-columns: 1fr; gap: 5px; }
  .issue-details { grid-template-columns: 1fr; gap: 2px; }
  .issue-details dd { margin-bottom: 9px; }
  .xml-view { padding: 14px; font-size: 11px; }
  .health-table { grid-template-columns: 1fr; }
  .health-table > div,
  .health-table > div:nth-child(3) { border-left: 1px solid var(--ui-line); border-top: 0; }
  .health-table > div:first-child { border-top: 1px solid var(--ui-line); }
}

@media (max-width: 360px) {
  .einvoice-shell { width: min(calc(100% - 22px), var(--einvoice-shell)); }
  .einvoice-intro h1,
  .job-header-band h1,
  .legal-hero h1 { font-size: 2.2rem; }
  .tab-list button { padding-inline: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .einvoice-hero::after,
  .einvoice-intro,
  .einvoice-visual { animation: none !important; }
  .einvoice-button,
  .demo-item button,
  .invoice-dropzone,
  .upload-progress span,
  .job-progress span { transition: none !important; }
}

@media print {
  .site-header,
  .site-footer,
  .scroll-progress,
  .job-header-actions,
  .tab-list,
  .xml-toolbar { display: none !important; }
  .einvoice-page { background: white; color: #111; }
  .result-panel[hidden] { display: block !important; }
  .result-shell { padding: 0; }
}
