:root {
  --om-blue: #003f6f;
  --om-blue-light: #005799;
  --om-blue-dark: #002b4d;
  --om-amber: #ffc04c;
  --om-coral: #ff8155;
  --om-violet: #9365d5;
  --om-violet-deep: #4b00da;
  --om-violet-tint: #e2ddff;
  --om-lime: #c2d100;
  --om-ink: #333;
  --om-ink-strong: #1f1f1f;
  --om-line: #e0e0e0;
  --om-line-strong: #c8c8c8;
  --om-surface: #fff;
  --om-surface-alt: #f5f6f6;
  /* 5.85:1 against white; suitable for normal-size supporting text. */
  --om-muted: #62656a;
  --om-font-body: "CircularStdBook", "Nunito Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --om-font-heading: "CircularStdMedium", "Nunito Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --om-radius-flat: 0;
  --om-radius-soft: 0;
  --om-radius-pill: 0;
  --om-rule: 2px;
  --om-shadow-offset: 7px;

  --blue: var(--om-blue);
  --blue-bright: var(--om-blue-light);
  --dark: var(--om-ink);
  --lime: var(--om-lime);
  --surface: var(--om-surface);
  --background: var(--om-surface-alt);
  --border: var(--om-line);
  --muted: #62656a;
  --danger: #9c321b;
  --warning: #705000;
  --success: #536000;
  font-family: var(--om-font-body);
  color: var(--dark);
  background: var(--background);
}
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; display: flex; flex-direction: column; background-color: var(--background);
  background-image: linear-gradient(rgba(0,63,111,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(0,63,111,.035) 1px, transparent 1px);
  background-size: 32px 32px; }
a { color: var(--blue-bright); }
.skip-link { position: fixed; z-index: 100; inset: .75rem auto auto .75rem; transform: translateY(-180%); padding: .7rem .9rem; border-radius: var(--om-radius-soft); color: #fff; background: var(--om-blue-dark); font-weight: 800; text-decoration: none; }
.skip-link:focus { transform: translateY(0); outline: 3px solid var(--om-amber); outline-offset: 3px; }
.container { width: min(1240px, calc(100% - 2rem)); margin-inline: auto; }
.site-header { position: relative; z-index: 40; background: rgba(255,255,255,.98); border-bottom: 6px solid var(--lime); box-shadow: 0 5px 0 var(--om-blue); }
.header-row { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.brand { display: flex; align-items: center; color: var(--blue); text-decoration: none; gap: 1rem; }
.brand img { width: 210px; height: auto; }
.brand span { padding-left: 1rem; border-left: 3px solid var(--om-blue); font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.main-nav { display: flex; align-items: center; justify-content: flex-end; gap: .7rem; flex-wrap: wrap; }
.nav-primary, .nav-account { display: flex; align-items: center; gap: .7rem; flex-wrap: wrap; }
.nav-more { position: relative; }
.nav-more summary { color: var(--blue); cursor: pointer; font-weight: 750; list-style: none; }
.nav-more summary::-webkit-details-marker { display: none; }
.nav-more summary::after { content: "⌄"; margin-left: .25rem; }
.nav-more-menu { position: absolute; z-index: 30; top: calc(100% + .5rem); right: 0; display: grid; min-width: 180px; padding: .55rem; border: 2px solid var(--om-blue-dark); background: white; box-shadow: 6px 6px 0 rgba(0,43,77,.2); }
.nav-more-menu a { padding: .5rem .6rem; }
.nav-more-menu a:hover, .nav-more-menu a:focus-visible { background: var(--om-surface-alt); }
nav a, .link-button { color: var(--blue); font-weight: 800; text-decoration: none; text-underline-offset: .3em; }
nav a:hover, nav a:focus-visible, .link-button:hover, .link-button:focus-visible { color: var(--om-blue-dark); text-decoration: underline; text-decoration-thickness: 3px; text-decoration-color: var(--lime); }
.user-badge { color: var(--muted); font-size: .82rem; }
.inline { display: inline; }
.visually-hidden { position: absolute; inline-size: 1px; block-size: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.language-switch { display: inline-flex; align-items: center; gap: .25rem; }
.language-switch select { inline-size: auto; min-block-size: 2rem; padding: .2rem .35rem; font-size: .75rem; }
.language-switch button { min-block-size: 2rem; margin: 0; padding: .35rem .5rem; font-size: .72rem; }
.language-switch .button-secondary { color: #fff; background: var(--om-blue-dark); }
.language-switch .button-secondary:hover { color: #fff; background: var(--om-blue); }
.link-button { display: inline; min-block-size: 0; margin: 0; appearance: none; border: 0; background: transparent; padding: 0; cursor: pointer; font: inherit; }
main { flex: 1; padding-block: 2rem 3.5rem; }
.site-footer { position: relative; background: var(--om-blue-dark); color: #c3d0d7; padding: 1.6rem 0; border-top: 9px solid var(--lime); font-size: .8rem; }
.site-footer::before { content: ""; position: absolute; top: -9px; left: 0; width: min(22vw, 260px); height: 9px; background: var(--om-coral); }
.site-footer::after { content: ""; position: absolute; top: -9px; right: 0; width: min(14vw, 160px); height: 9px; background: var(--om-violet); }
.site-footer .container { display: flex; align-items: center; justify-content: space-between; gap: .9rem; flex-wrap: wrap; }
.legal-links { display: flex; align-items: center; gap: .8rem; }
.legal-links a { color: #eef6f8; font-size: .8rem; font-weight: 750; }
.legal-links a:hover { color: var(--lime); }
.cookie-notice { position: sticky; z-index: 20; bottom: 0; padding: .8rem 1rem; color: #eef6f8; background: rgba(0,43,77,.97); border-top: 4px solid var(--lime); box-shadow: 0 -8px 28px rgba(7,25,35,.24); }
.cookie-notice-content { width: min(1240px, 100%); margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.cookie-notice p { margin: 0; line-height: 1.45; font-size: .86rem; }
.cookie-notice a { color: #fff; font-weight: 800; }
.cookie-notice a:hover { color: var(--lime); }
.cookie-notice form { display: block; flex: 0 0 auto; }
.cookie-notice button { margin: 0; background: var(--lime); color: var(--om-blue-dark); }
.cookie-notice button:hover { color: #fff; background: var(--om-blue-light); }
.hero { position: relative; isolation: isolate; overflow: hidden; min-height: 330px; padding: 3rem; margin: 0 var(--om-shadow-offset) calc(1.5rem + var(--om-shadow-offset)) 0; border: 4px solid var(--om-blue-dark); border-left: 18px solid var(--lime); border-radius: var(--om-radius-flat); color: white;
  /* Keep the image visible while maintaining AA contrast for all hero text,
     including the lime eyebrow in compact administrative views. */
  background-image: linear-gradient(90deg, rgba(0,35,54,.97) 0%, rgba(0,43,77,.93) 54%, rgba(0,43,77,.64) 76%, rgba(0,43,77,.3) 100%), url("/assets/om-building.jpg");
  background-position: center; background-size: cover; display: flex; align-items: center; box-shadow: var(--om-shadow-offset) var(--om-shadow-offset) 0 rgba(0,63,111,.22); }
.hero::before { content: ""; position: absolute; z-index: -1; top: -54px; right: 88px; width: 132px; height: 132px; border: 18px solid var(--om-amber); transform: rotate(12deg); }
.hero::after { content: ""; position: absolute; z-index: -1; right: -42px; bottom: -58px; width: 178px; height: 178px; border-radius: 50%; background: rgba(147,101,213,.9); box-shadow: -180px 76px 0 -52px var(--om-coral); }
.hero.compact { min-height: 220px; padding: 2rem 2.4rem; }
.hero-content { position: relative; z-index: 1; max-width: 680px; }
.hero h1 { max-width: 13ch; margin: .25rem 0 .75rem; font-family: var(--om-font-heading); font-size: clamp(2rem, 4vw, 3.5rem); font-weight: 900; letter-spacing: -.035em; line-height: .98; }
.hero p { margin: 0; color: #edf5f8; font-size: 1.05rem; }
.eyebrow { color: var(--om-blue-dark) !important; font-size: .72rem !important; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.hero .eyebrow { color: var(--lime) !important; }
.grid { display: grid; gap: 1.5rem; }
.two-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.three-columns { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.card { background: var(--surface); border: 2px solid var(--om-line-strong); border-top: 6px solid var(--om-blue); border-radius: var(--om-radius-flat); padding: 1.5rem; box-shadow: var(--om-shadow-offset) var(--om-shadow-offset) 0 rgba(0,63,111,.1); margin: 0 var(--om-shadow-offset) calc(1.5rem + var(--om-shadow-offset)) 0; }
.grid > .card:nth-child(3n + 2) { border-top-color: var(--om-coral); }
.grid > .card:nth-child(3n) { border-top-color: var(--om-violet); }
.card h1, .card h2, .card h3 { margin-top: 0; }
.legal-page { max-width: 900px; margin-inline: auto; }
.legal-page h2 { margin-top: 2rem; color: var(--om-blue-dark); font-size: 1.2rem; }
.legal-page h2:first-of-type { margin-top: 0; }
.legal-page p { line-height: 1.62; }
.legal-page code { padding: .08rem .3rem; border-radius: var(--om-radius-soft); background: var(--om-surface-alt); color: var(--om-blue-dark); }
.legal-reference { margin-top: 2rem; padding-top: 1rem; border-top: 1px solid var(--border); }
h1, h2, h3 { font-family: var(--om-font-heading); color: var(--om-blue-dark); letter-spacing: -.02em; }
.hero h1 { color: white; }
.narrow { max-width: 560px; margin-inline: auto; }
form { display: grid; gap: .65rem; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .6rem 1rem; }
.full-width { grid-column: 1 / -1; }
label { margin-top: .45rem; font-size: .8rem; font-weight: 800; }
input, select, textarea, button { font: inherit; }
input, select, textarea { width: 100%; min-height: 44px; padding: .65rem .75rem; border: 2px solid var(--om-line-strong); border-radius: var(--om-radius-soft); background: white; }
input:focus, select:focus, textarea:focus, button:focus-visible, a:focus-visible, summary:focus-visible { outline: 3px solid rgba(200,217,0,.52); outline-offset: 2px; border-color: var(--blue); }
button, .button { display: inline-flex; align-self: start; align-items: center; justify-content: center; justify-self: start; inline-size: fit-content; max-inline-size: 100%; min-block-size: 44px; margin: .6rem 4px 4px 0; border: 2px solid var(--om-blue-dark); border-radius: var(--om-radius-pill); padding: .55rem .9rem; color: white; background: var(--blue); box-shadow: 4px 4px 0 var(--om-blue-dark); font-size: .875rem; font-weight: 850; line-height: 1.2; text-decoration: none; cursor: pointer; transition: transform .12s ease, box-shadow .12s ease, background-color .12s ease; }
button:hover, .button:hover { background: var(--om-blue-light); box-shadow: 6px 6px 0 var(--om-blue-dark); transform: translate(-2px, -2px); }
button:active, .button:active { box-shadow: 2px 2px 0 var(--om-blue-dark); transform: translate(2px, 2px); }
.button-secondary { color: var(--blue); border-color: var(--om-blue); background: white; box-shadow: 4px 4px 0 var(--om-violet-tint); }
.button-danger { border-color: #641e10; background: var(--danger); box-shadow: 4px 4px 0 #641e10; }
.button-warning { border-color: #4d3700; background: var(--warning); box-shadow: 4px 4px 0 #4d3700; }
.button-secondary:hover { color: white; background: var(--om-blue); }
.button-danger:hover { background: #7f2816; }
.button-warning:hover { background: #5c4200; }
.button-small { min-block-size: 38px; padding: .4rem .7rem; font-size: .8rem; }
.link-button, .link-button:hover, .link-button:active { min-block-size: 0; margin: 0; border: 0; padding: 0; background: transparent; box-shadow: none; transform: none; }
.button-row { display: flex; gap: .6rem; flex-wrap: wrap; }
.user-list-table tbody tr.user-totp-missing { background: #fff2d4; }
.user-list-table tbody tr.user-totp-missing td { border-bottom-color: #efc778; }
.user-list-table tbody tr.user-totp-missing td:first-child { box-shadow: inset 5px 0 0 var(--warning); }
.user-list-table tbody tr.user-totp-missing:hover { background: #ffe7ae; }
.mfa-attention { color: #8a3f00; }
.check-row { display: flex; align-items: flex-start; gap: .6rem; }
.check-row input { width: auto; min-height: auto; margin-top: .2rem; }
.recipient-picker fieldset { display: grid; gap: .35rem; max-block-size: 17rem; overflow: auto; margin: .45rem 0 0; padding: .65rem .8rem; border: 2px solid var(--om-line-strong); border-radius: var(--om-radius-soft); background: var(--om-surface-alt); }
.recipient-picker .check-row { margin: 0; padding: .2rem 0; font-size: .875rem; }
.recipient-picker .check-row[hidden] { display: none; }
.switch { display: inline-flex; align-items: center; gap: .65rem; cursor: pointer; font-weight: 800; }
.switch input { position: absolute; inline-size: 1px; block-size: 1px; opacity: 0; }
.switch-slider { width: 46px; height: 26px; border-radius: 999px; background: #9ba8b1; position: relative; transition: background .18s ease; flex: 0 0 auto; }
.switch-slider::after { content: ""; width: 20px; height: 20px; border-radius: 50%; background: #fff; position: absolute; top: 3px; left: 3px; box-shadow: 0 1px 3px rgba(0,0,0,.35); transition: transform .18s ease; }
.switch input:focus-visible + .switch-slider { outline: 3px solid rgba(200,217,0,.48); outline-offset: 2px; }
.switch input:checked + .switch-slider { background: var(--om-blue); }
.switch input:checked + .switch-slider::after { transform: translateX(20px); }
.size-input { display: grid; grid-template-columns: minmax(0, 1fr) 92px; gap: .45rem; }
.view-tabs { border-bottom: 4px solid var(--om-blue); padding-bottom: .75rem; }
.code-input { font-size: 1.7rem; text-align: center; letter-spacing: .45em; font-variant-numeric: tabular-nums; }
.flash { display: grid; gap: .3rem; margin: 0 5px calc(1rem + 5px) 0; padding: .85rem 1rem; border: 2px solid var(--om-line-strong); border-left: 8px solid; border-radius: var(--om-radius-soft); background: white; box-shadow: 5px 5px 0 rgba(0,63,111,.1); }
.flash-success { border-color: var(--success); }
.flash-error { border-color: var(--danger); color: #721421; }
.flash-warning { border-color: var(--warning); }
.muted, small { color: var(--muted); }
small { display: block; margin-top: .2rem; }
.card-footer-link { margin-top: 1.4rem; padding-top: 1rem; border-top: 1px solid var(--border); }
.item-list { list-style: none; margin: 0; padding: 0; }
.item-list li { padding: .8rem 0; border-bottom: 1px solid var(--border); display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
details.item-list { padding: .8rem 0; border-bottom: 1px solid var(--border); }
details.item-list > summary { cursor: pointer; color: var(--om-blue-dark); }
details.item-list[open] > summary { margin-bottom: .75rem; }
.definition-list > div { display: flex; justify-content: space-between; gap: 1rem; padding: .65rem 0; border-bottom: 1px solid var(--border); }
.definition-list dt { font-weight: 800; }
.definition-list dd { margin: 0; text-align: right; }
.table-wrap { overflow-x: auto; border: 2px solid var(--om-blue-dark); background: white; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: .75rem; border-bottom: 1px solid var(--border); text-align: left; vertical-align: top; }
th { background: var(--om-blue-dark); color: white; font-size: .73rem; text-transform: uppercase; letter-spacing: .08em; }
.list-toolbar { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin: .25rem 0 1rem; }
.list-toolbar h2 { margin-bottom: .25rem; }
.list-meta { margin: 0; color: var(--muted); max-width: 720px; }
.management-list-heading { margin: .25rem 0 1rem; }
.management-list-heading h2 { margin-bottom: .25rem; }
.management-list-heading .muted { margin: 0; max-width: 720px; }
.management-navigation { margin-bottom: 1rem; padding: .75rem 1.5rem 0; }
.management-navigation .view-tabs { margin-bottom: 0; }
.management-workspace { border-top: 4px solid var(--om-blue); }
.management-stat-grid { margin: 0 0 1.5rem; }
.management-stat-grid .card { min-height: 100px; margin: 0; padding: 1.1rem 1.25rem; border-color: var(--om-line-strong); border-top-color: var(--om-blue); box-shadow: none; background: var(--om-surface-alt); }
.management-stat-grid strong { display: block; margin-bottom: .28rem; color: var(--om-blue-dark); font-family: var(--om-font-heading); font-size: 1.8rem; line-height: 1; }
.list-count, .metric, .tag { display: inline-flex; align-items: center; justify-content: center; width: fit-content; min-height: 28px; padding: .18rem .55rem; border: 2px solid var(--om-line-strong); border-radius: 0; background: var(--om-surface-alt); color: var(--om-blue-dark); font-size: .78rem; font-weight: 800; line-height: 1; white-space: nowrap; }
.list-count { flex: 0 0 auto; color: white; border-color: var(--om-blue); background: var(--om-blue); }
.metric { min-width: 32px; font-variant-numeric: tabular-nums; }
.tag { background: #eef3f5; }
.bulk-actions { display: flex; align-items: center; justify-content: flex-end; gap: .5rem; flex-wrap: wrap; }
.bulk-actions .button, .bulk-actions button { margin: 0; }
.bulk-confirm { margin: 0; padding: .35rem .55rem; border: 1px solid var(--om-line-strong); border-radius: var(--om-radius-soft); background: white; white-space: nowrap; }
.bulk-confirm input, .selection-head input, .selection-cell input { width: auto; min-height: auto; margin: 0; }
.selection-count { display: inline-flex; align-items: center; min-height: 28px; padding: .18rem .55rem; border: 2px solid var(--om-line-strong); border-radius: 0; background: white; color: var(--muted); font-size: .78rem; font-weight: 800; white-space: nowrap; }
.selection-count.selection-error { color: #721421; border-color: var(--danger); background: #fde8eb; }
.selection-head, .selection-cell { width: 44px; text-align: center; }
.selection-cell { vertical-align: middle; }
.filter-row { display: flex; align-items: end; gap: .75rem; margin: 0 0 1rem; }
.filter-row label { flex: 1 1 320px; margin: 0; }
.filter-row button { flex: 0 0 auto; margin: 0; }
.entity-table { min-width: 820px; border-collapse: separate; border-spacing: 0; }
.entity-table th { padding: .8rem .9rem; border-bottom: 2px solid var(--om-line-strong); }
.entity-table td { padding: .95rem .9rem; }
.entity-table tbody tr { transition: background-color .16s ease, box-shadow .16s ease; }
.entity-table tbody tr:hover { background: #f7fafb; box-shadow: inset 4px 0 0 var(--lime); }
.entity-table tbody tr:last-child td { border-bottom: 0; }
.entity-table .cell-id { color: var(--om-blue-dark); font-weight: 800; white-space: nowrap; }
.entity-table .primary-cell strong { display: block; color: var(--om-blue-dark); font-size: .95rem; }
.entity-table .primary-cell a { color: var(--om-blue-dark); text-decoration: none; }
.entity-table .primary-cell a:hover { color: var(--blue-bright); text-decoration: underline; }
.entity-table .primary-cell small { max-width: 360px; overflow-wrap: anywhere; }
.entity-table .action-cell { min-width: 190px; }
.entity-table .action-cell .button-row { align-items: center; margin: 0; }
.entity-table .action-cell .button, .entity-table .action-cell button { margin-top: 0; }
.entity-table .action-cell form { margin: 0; }
.direct-download-result { display: grid; gap: .25rem; margin-top: .55rem; }
.direct-download-result:empty { display: none; }
.direct-download-result input { min-width: min(28rem, 100%); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .76rem; }
.entity-card-list { display: grid; gap: 1rem; }
.entity-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, .8fr); gap: 1rem; padding: 1rem; border: 3px solid var(--om-blue-dark); border-left: 8px solid var(--om-lime); border-radius: var(--om-radius-soft); background: white; box-shadow: 5px 5px 0 var(--om-violet-tint); }
.uploader-approval-queue { margin-top: 1rem; padding-top: 1rem; border-top: 3px solid var(--om-blue-dark); }
.project-transfer-focus { border-top: 8px solid var(--om-lime); }
.version-strategy { border: 2px solid var(--om-line-strong); border-radius: var(--om-radius-soft); padding: .8rem 1rem; background: var(--om-surface-alt); }
.management-table { min-width: 760px; }
.management-table th { border-bottom: 1px solid var(--border); }
.management-table td strong { color: var(--om-blue-dark); }
.management-table td a:not(.button) { color: var(--om-blue-dark); font-weight: 800; text-decoration: none; }
.management-table td a:not(.button):hover { color: var(--blue-bright); text-decoration: underline; }
.management-table .button-row { align-items: center; }
.management-table .button-row .button, .management-table .button-row button { margin-top: 0; }
.management-table .compact-form { margin: 0; }
.progress-cell { display: grid; grid-template-columns: auto minmax(72px, 1fr); align-items: center; gap: .55rem; min-width: 130px; }
.progress-cell strong { color: var(--om-blue-dark); font-size: .85rem; white-space: nowrap; }
.progress-cell progress { width: 100%; height: .5rem; }
.status { display: inline-block; padding: .28rem .52rem; border: 1px solid currentColor; border-left-width: 5px; border-radius: 0; background: #e6ebf0; font-size: .72rem; font-weight: 850; letter-spacing: .02em; }
.status-clean, .status-ready, .status-released, .status-approved, .status-fertig { color: var(--success); background: #e3f4e9; }
.status-info { color: var(--om-blue-dark); background: #e8eef1; }
.status-warning { color: #704d00; background: #fff2d4; }
.status-infected, .status-error, .status-malware_detected, .status-rejected, .status-problem { color: var(--danger); background: #fde8eb; }
.status-pending, .status-scanning, .status-pending_scan, .status-pending_assignment, .status-pending_approval, .status-approval_requested { color: var(--warning); background: #fff2d4; }
.status-sftp_ready, .status-sftp_imported, .status-sftp_exported { color: var(--success); background: #e3f4e9; }
.status-sftp_receiving, .status-sftp_importing, .status-sftp_queued, .status-sftp_exporting { color: var(--warning); background: #fff2d4; }
.status-sftp_incomplete, .status-sftp_missing, .status-sftp_error { color: var(--danger); background: #fde8eb; }
.status-sftp_expired, .status-sftp_deleted { color: var(--muted); background: #e6ebf0; }
.work-status-assignment, .work-status-approval { color: #704d00; background: #fff2d4; }
.work-status-attention, .work-status-locked { color: var(--danger); background: #fde8eb; }
.work-status-scanning, .work-status-incoming, .work-status-changes { color: var(--om-blue-dark); background: #e8eef1; }
.work-status-ready { color: var(--success); background: #e3f4e9; }
.progress, .upload-item progress { width: 100%; height: .7rem; border: 1px solid var(--om-blue-dark); border-radius: 0; background: #dbe1e8; }
.progress::-webkit-progress-value, .upload-item progress::-webkit-progress-value { background: var(--lime); }
.progress::-moz-progress-bar, .upload-item progress::-moz-progress-bar { background: var(--lime); }
.admin-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; }
.mono { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .78rem; }
.upload-queue { display: grid; gap: .7rem; }
.upload-item { display: grid; grid-template-columns: 2fr 1fr 3fr; gap: 1rem; align-items: center; padding: .9rem; border: 2px solid var(--border); border-left: 6px solid var(--om-blue); border-radius: 0; }
.interrupted-upload-item { grid-template-columns: minmax(0, 2fr) minmax(180px, 1fr) minmax(240px, auto); }
.interrupted-upload-item .button-row { align-items: center; justify-content: flex-end; }
.interrupted-upload-item button { margin-top: 0; }
.upload-complete { border-color: #8fc9a4; background: #f1faf4; }
.upload-error { border-color: #e1a4ab; background: #fff7f8; }
.tabs { display: flex; gap: .5rem; flex-wrap: wrap; margin-bottom: 1rem; }
.tabs a { padding: .55rem .8rem; border: 2px solid transparent; border-radius: 0; background: #e8eef1; text-decoration: none; font-weight: 800; }
.tabs a:hover, .tabs a:focus-visible { border-color: var(--om-blue); background: white; text-decoration: none; }
.tabs a[aria-current="page"] { color: white; border-color: var(--om-blue-dark); background: var(--om-blue); box-shadow: 4px 4px 0 var(--om-lime); }
.audit-details { margin-top: .35rem; }
.audit-details summary { cursor: pointer; color: var(--blue); font-weight: 700; }
.audit-details p { margin: .4rem 0 0; overflow-wrap: anywhere; white-space: pre-wrap; }
.audit-pagination { justify-content: space-between; align-items: center; margin-top: 1rem; }
.workspace-summary { margin-bottom: 1.5rem; }
.workspace-metric { display: block; min-height: 132px; margin: 0; color: var(--om-blue-dark); text-decoration: none; transition: transform .16s ease, box-shadow .16s ease; }
.workspace-metric:hover, .workspace-metric:focus-visible { transform: translate(-2px, -2px); box-shadow: 10px 10px 0 rgba(0,63,111,.16); }
.workspace-metric strong { display: block; font-family: var(--om-font-heading); font-size: 2rem; line-height: 1; }
.workspace-metric span { display: block; margin-top: .5rem; font-weight: 850; }
.workspace-metric-action { border-top: 5px solid var(--om-amber); }
.workspace-metric-waiting { border-top: 5px solid var(--om-blue-light); }
.workspace-metric-ready { border-top: 5px solid var(--om-lime); }
.workspace-intro { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.workspace-intro h2 { margin-bottom: .25rem; }
.workspace-intro p { margin: 0; max-width: 720px; }
.workboard { padding-block: .5rem; }
.workboard-group { padding: 1rem 0; border-bottom: 1px solid var(--border); }
.workboard-group:last-child { border-bottom: 0; }
.workboard-group .section-heading { margin-bottom: .65rem; }
.workboard-group .section-heading p { margin: .2rem 0 0; }
.work-item-list { display: grid; gap: .55rem; margin: 0; padding: 0; list-style: none; }
.work-item-list li { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem; border: 1px solid var(--border); background: var(--om-surface-alt); }
.work-item-list strong { display: block; }
.work-item-list strong a { color: var(--om-blue-dark); text-decoration: none; }
.work-item-list strong a:hover { text-decoration: underline; }
.work-item-action { display: flex; align-items: center; justify-content: flex-end; gap: .55rem; flex-wrap: wrap; }
.work-item-action .button { margin: 0; }
.sftp-state-summary { display: flex; gap: .5rem; flex-wrap: wrap; }
.sftp-state-summary span { display: grid; min-width: 86px; padding: .55rem .7rem; border: 2px solid var(--om-blue-dark); background: var(--om-surface-alt); color: var(--om-blue-dark); font-size: .75rem; font-weight: 800; text-transform: uppercase; }
.sftp-state-summary strong { font-size: 1.35rem; line-height: 1; }
.sftp-item-list { display: grid; gap: 1.4rem; }
.sftp-item { margin: 0 7px 7px 0; padding: 1rem 1.1rem; border: 3px solid var(--om-blue-dark); border-left: 10px solid var(--om-blue); background: white; box-shadow: 7px 7px 0 rgba(0,63,111,.16); }
.sftp-item-sftp-receiving, .sftp-item-sftp-queued, .sftp-item-sftp-importing, .sftp-item-sftp-exporting { border-left-color: var(--om-amber); }
.sftp-item-sftp-incomplete, .sftp-item-sftp-error, .sftp-item-sftp-missing { border-left-color: var(--om-coral); }
.sftp-item-sftp-imported, .sftp-item-sftp-exported { border-left-color: var(--om-lime); }
.sftp-item-sftp-expired, .sftp-item-sftp-deleted { border-left-color: var(--om-line-strong); background: var(--om-surface-alt); }
.sftp-item-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding-bottom: .8rem; border-bottom: 2px solid var(--om-line-strong); }
.sftp-item-title { min-width: 0; }
.sftp-item-title h3 { margin: .2rem 0 0; overflow-wrap: anywhere; font-size: 1rem; line-height: 1.3; }
.sftp-item-meta { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin: .9rem 0 0; border: 1px solid var(--om-line-strong); background: var(--om-line-strong); }
.sftp-item-meta > div { min-width: 0; padding: .6rem .7rem; background: var(--om-surface-alt); }
.sftp-item-meta dt { color: var(--muted); font-size: .68rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.sftp-item-meta dd { margin: .2rem 0 0; overflow-wrap: anywhere; color: var(--om-blue-dark); font-size: .85rem; font-weight: 750; }
.sftp-state-note, .sftp-account-note { margin: .8rem 0 0; padding: .65rem .75rem; border-left: 5px solid var(--om-blue); background: #eef6f8; font-size: .84rem; line-height: 1.45; }
.sftp-state-note-warning { border-left-color: var(--om-amber); background: #fff2d4; }
.sftp-state-note-error { border-left-color: var(--om-coral); background: #fde8eb; }
.sftp-account-note { border-left-color: var(--om-violet); background: var(--om-violet-tint); }
.sftp-item-actions { display: grid; gap: .8rem; margin-top: .9rem; padding-top: .9rem; border-top: 2px solid var(--om-line); }
.sftp-import-form { display: grid; grid-template-columns: minmax(240px, 1fr) auto; align-items: end; gap: .7rem; }
.sftp-import-form label { margin: 0; }
.sftp-import-form button { margin: 0 4px 4px 0; }
.sftp-secondary-actions { border: 0; background: transparent; }
.sftp-secondary-actions > summary { display: inline-flex; align-items: center; gap: .55rem; width: fit-content; margin: 0 4px 4px 0; padding: .7rem .9rem; border: 2px solid var(--om-blue-dark); color: white; background: var(--om-blue); box-shadow: 4px 4px 0 var(--om-blue-dark); cursor: pointer; font-size: .84rem; font-weight: 850; list-style: none; }
.sftp-secondary-actions > summary::-webkit-details-marker { display: none; }
.sftp-secondary-actions > summary::after { content: "\25BE"; font-size: 1rem; line-height: 1; transition: transform .16s ease; }
.sftp-secondary-actions > summary:hover, .sftp-secondary-actions > summary:focus-visible { background: var(--om-blue-dark); }
.sftp-secondary-actions[open] > summary::after { transform: rotate(180deg); }
.sftp-secondary-actions-content { display: flex; align-items: flex-start; gap: 1rem; flex-wrap: wrap; margin-top: .8rem; padding: .75rem; border: 2px solid var(--om-line-strong); background: var(--om-surface-alt); }
.sftp-secondary-actions-content form { flex: 1 1 280px; margin: 0; padding: .65rem; border: 1px solid var(--om-line-strong); background: white; }
.sftp-secondary-actions-content button { margin-bottom: 4px; }
.sftp-history { margin-top: 1rem; border-top: 2px solid var(--om-blue-dark); }
.sftp-history > summary { padding: .8rem 0; color: var(--om-blue-dark); cursor: pointer; font-weight: 850; }
.process-hint { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; margin: 0 0 1.25rem; padding: 0; list-style: none; counter-reset: upload-steps; }
.process-hint li { display: grid; gap: .25rem; padding: .8rem; border: 2px solid var(--om-line-strong); border-left: 8px solid var(--lime); background: var(--om-surface-alt); }
.process-hint li:nth-child(2) { border-left-color: var(--om-coral); }
.process-hint li:nth-child(3) { border-left-color: var(--om-violet); }
.process-hint strong { color: var(--om-blue-dark); }
.process-hint span { color: var(--muted); font-size: .84rem; line-height: 1.35; }
.additional-fields, .upload-controls { margin-top: .8rem; padding: .75rem; border: 1px solid var(--border); background: var(--om-surface-alt); }
.additional-fields summary, .upload-controls summary, .file-technical-details summary, .secret-reveal summary { color: var(--om-blue-dark); cursor: pointer; font-weight: 800; }
.additional-fields[open] summary, .upload-controls[open] summary, .file-technical-details[open] summary, .secret-reveal[open] summary { margin-bottom: .65rem; }
.upload-controls p { margin: .2rem 0; }
.file-technical-details { margin-top: .35rem; }
.bulk-file-actions { display: flex; align-items: center; gap: .65rem; flex-wrap: wrap; margin-top: .85rem; padding: .8rem; border: 1px solid var(--om-line-strong); background: var(--om-surface-alt); }
.bulk-file-actions .check-row, .bulk-file-actions button { margin: 0; }
.secret-reveal { display: grid; gap: .55rem; }
.secret-reveal code { overflow-wrap: anywhere; padding: .3rem; background: var(--om-surface-alt); color: var(--om-blue-dark); }
.secret-reveal .button { margin: 0; }
.file-actions { display: grid; gap: .55rem; min-width: 260px; }
.file-actions form { margin: 0; }
.file-selection { display: grid; gap: .45rem; margin: .8rem 0; }
.file-selection small { display: inline; margin: 0; }
.upload-dropzone { display: grid; gap: .35rem; padding: 1.25rem; border: 3px dashed var(--om-blue); border-left: 10px solid var(--om-amber); border-radius: var(--om-radius-flat); background: var(--om-surface-alt); color: var(--om-blue-dark); cursor: pointer; transition: border-color .18s ease, background .18s ease; }
.upload-dropzone:hover, .upload-dropzone.is-dragging { border-color: var(--om-blue); background: #eef6f8; }
.upload-dropzone.is-disabled { cursor: not-allowed; opacity: .58; filter: grayscale(.35); }
.upload-dropzone input { margin-top: .35rem; background: white; }
.dropzone-hint { color: var(--muted); font-size: .82rem; font-weight: 500; }
.transfer-summary, .next-action { border-left: 5px solid var(--lime); }
.transfer-summary { display: grid; gap: .45rem; margin-top: 1rem; padding: 1rem; background: #f5f9df; border-radius: var(--om-radius-soft); color: var(--om-blue-dark); }
.section-heading { display: flex; align-items: start; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.section-heading h2 { margin-bottom: 0; }
.workflow-summary { position: sticky; z-index: 10; top: .5rem; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2px; margin: 0 6px calc(1.5rem + 6px) 0; background: var(--om-blue-dark); border: 2px solid var(--om-blue-dark); box-shadow: 6px 6px 0 rgba(0,63,111,.16); }
.workflow-summary a { display: flex; align-items: center; gap: .7rem; min-height: 66px; padding: .75rem; background: var(--om-surface); color: var(--om-blue-dark); font-weight: 800; text-decoration: none; }
.workflow-summary a:hover, .workflow-summary a:focus-visible { background: #f5f9df; }
.workflow-summary strong { display: grid; place-items: center; flex: 0 0 auto; width: 30px; height: 30px; border-radius: 50%; color: white; background: var(--om-blue); }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
.workflow-step { scroll-margin-top: 1rem; }
.delivery-archive-download.is-preparing { cursor: progress; }
.delivery-download-status { margin-top: 1rem; padding: .85rem 1rem; border-left: 6px solid var(--lime); background: #f5f9df; color: var(--om-blue-dark); font-weight: 700; }
.recovery-panel { border-top: 6px solid var(--om-violet); }
.recovery-codes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem 1rem; padding: 0; list-style: none; }
.recovery-codes li { padding: .65rem .8rem; border: 1px solid var(--om-line-strong); background: var(--om-surface-alt); }
.recovery-codes code, .totp-secret code { color: var(--om-blue-dark); font-weight: 800; letter-spacing: .08em; }
.totp-secret { overflow-wrap: anywhere; padding: 1rem; border: 1px solid var(--om-line-strong); background: var(--om-surface-alt); }
.totp-enrollment { display: grid; grid-template-columns: minmax(190px, 280px) minmax(0, 1fr); align-items: center; gap: 1.5rem; margin: 1rem 0; }
.totp-qr { margin: 0; padding: .75rem; border: 1px solid var(--om-line-strong); background: #fff; text-align: center; }
.totp-qr img { display: block; width: 100%; height: auto; image-rendering: pixelated; }
.totp-qr figcaption { margin-top: .7rem; color: var(--muted); font-size: .78rem; line-height: 1.35; }
.schema-preview { overflow: auto; max-height: 420px; margin: .8rem 0 0; padding: 1rem; border: 1px solid var(--om-line-strong); background: var(--om-surface-alt); font: .82rem/1.45 ui-monospace, SFMono-Regular, Consolas, monospace; white-space: pre-wrap; }
@media (max-width: 860px) {
  .two-columns, .three-columns, .admin-grid, .form-grid, .workflow-summary { grid-template-columns: 1fr; }
  .totp-enrollment { grid-template-columns: 1fr; }
  .totp-qr { max-width: 280px; }
  .header-row, .hero { align-items: flex-start; flex-direction: column; padding-block: 1rem; }
  .cookie-notice-content { align-items: flex-start; flex-direction: column; }
  .site-footer .container { align-items: flex-start; flex-direction: column; }
  .brand img { width: 160px; }
  .main-nav { width: 100%; justify-content: flex-start; gap: .7rem; }
  .nav-more-menu { right: auto; left: 0; }
  .upload-item { grid-template-columns: 1fr; }
  .recovery-codes { grid-template-columns: 1fr; }
  .section-heading, .list-toolbar, .workspace-intro, .work-item-list li { align-items: flex-start; flex-direction: column; }
  .work-item-action { justify-content: flex-start; }
  .process-hint { grid-template-columns: 1fr; }
  .sftp-item-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .workflow-summary { position: static; }
  .management-navigation { padding: .65rem 1rem 0; }
  .bulk-actions { justify-content: flex-start; }
  .filter-row { align-items: stretch; flex-direction: column; }
  .filter-row label, .filter-row button { flex: 1 1 auto; width: 100%; }
}
@media (max-width: 720px) {
  .container { width: min(100% - 1rem, 1240px); }
  main { padding-block: 1rem 2rem; }
  .card { padding: 1rem; --om-shadow-offset: 4px; }
  .hero, .hero.compact { min-height: 0; padding: 1.5rem 1rem; --om-shadow-offset: 4px; }
  .hero::before { top: -44px; right: 24px; width: 92px; height: 92px; border-width: 12px; }
  .hero::after { right: -52px; bottom: -76px; width: 150px; height: 150px; box-shadow: none; }
  .hero h1 { font-size: clamp(1.65rem, 9vw, 2.35rem); }
  .sftp-item-header { flex-direction: column; }
  .sftp-item-meta, .sftp-import-form { grid-template-columns: 1fr; }
  .sftp-import-form button { width: 100%; }
  .list-table-wrap, .management-table-wrap { overflow: visible; border: 0; background: transparent; }
  .responsive-table, .responsive-table tbody, .responsive-table tr, .responsive-table td { display: block; width: 100%; }
  .responsive-table, .management-table { min-width: 0; }
  .responsive-table thead { position: absolute; overflow: hidden; clip: rect(0 0 0 0); width: 1px; height: 1px; white-space: nowrap; }
  .responsive-table tbody { display: grid; gap: .85rem; }
  .responsive-table tr { overflow: hidden; border: 1px solid var(--om-line-strong); background: white; box-shadow: 0 5px 15px rgba(10,22,38,.05); }
  .responsive-table tbody tr:hover { background: white; box-shadow: inset 4px 0 0 var(--lime), 0 5px 15px rgba(10,22,38,.05); }
  .responsive-table td { display: grid; grid-template-columns: minmax(7.5rem, 42%) minmax(0, 1fr); gap: .7rem; padding: .72rem .8rem; border-bottom: 1px solid var(--border); }
  .responsive-table td::before { content: attr(data-label); color: var(--om-blue-dark); font-size: .72rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
  .responsive-table td.primary-cell { display: block; padding: .9rem .8rem; border-top: 4px solid var(--om-blue); background: #f5f8fa; }
  .responsive-table td.primary-cell::before { display: none; }
  .responsive-table td.selection-cell { display: grid; grid-template-columns: minmax(7.5rem, 42%) minmax(0, 1fr); align-items: center; width: 100%; }
  .responsive-table td.action-cell { display: block; }
  .responsive-table td.action-cell::before { display: block; margin-bottom: .55rem; }
  .responsive-table .action-cell .button-row { align-items: stretch; flex-direction: column; }
  .responsive-table .action-cell .button, .responsive-table .action-cell button { width: 100%; text-align: center; }
  .responsive-table .action-cell form { width: 100%; }
  .entity-card { grid-template-columns: 1fr; }
  .responsive-table .file-actions { display: grid; min-width: 0; }
  .responsive-table .file-actions::before { content: attr(data-label); color: var(--om-blue-dark); font-size: .72rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
  .responsive-table .file-actions .button, .responsive-table .file-actions button { width: 100%; text-align: center; }
  .responsive-table .progress-cell { grid-template-columns: auto minmax(90px, 1fr); min-width: 0; }
}
@media (max-width: 480px) {
  .header-row { gap: .65rem; }
  .brand { gap: .6rem; }
  .brand img { width: 145px; }
  .brand span, .user-badge { display: none; }
  .main-nav { width: 100%; gap: .45rem .7rem; }
  nav a, .link-button { font-size: .86rem; }
  .list-count { width: 100%; }
  .responsive-table td { grid-template-columns: 1fr; gap: .28rem; }
  .responsive-table td::before { margin-bottom: .1rem; }
  .responsive-table td.selection-cell { grid-template-columns: auto 1fr; gap: .7rem; }
  .definition-list > div { align-items: flex-start; flex-direction: column; }
  .definition-list dd { text-align: left; }
}
@media (pointer: coarse) {
  button, .button, .button-small { min-block-size: 44px; }
  .language-switch button { min-block-size: 36px; }
}
@media print {
  body * { visibility: hidden; }
  .recovery-panel, .recovery-panel * { visibility: visible; }
  .recovery-panel { position: absolute; inset: 0; margin: 0; border: 0; box-shadow: none; }
  .recovery-panel button { display: none; }
}
