body.receiving-standalone { margin: 0; background: #f4f6f8; color: #1e2a35; font: 17px/1.5 Arial, sans-serif; }
:where(.receiving-page, .receiving-administration) { max-width: 44rem; margin: 7vh auto; padding: 2rem; background: #fff; border: 1px solid #d6dfe7; border-radius: .5rem; }
:where(.receiving-page, .receiving-administration) h1 { font-size: 2rem; margin: 1rem 0; }
:where(.receiving-page, .receiving-administration) label { display: block; font-weight: bold; }
:where(.receiving-page, .receiving-administration) :is(select, button, input) { font: inherit; padding: .65rem 1rem; margin: .5rem .5rem .5rem 0; }
:where(.receiving-page, .receiving-administration) button { border: 1px solid #345573; border-radius: .25rem; background: #234865; color: #fff; cursor: pointer; }
:where(.receiving-page, .receiving-administration) button:disabled { opacity: .5; cursor: default; }
:where(.receiving-page, .receiving-administration) a { color: #1d527f; }
@media (max-width: 48rem) { :where(.receiving-page, .receiving-administration) { margin: 1rem; padding: 1.25rem; } }

/* Shared station and receiving configuration administration. */
.receiving-administration { box-sizing: border-box; max-width: 72rem; margin: 2rem auto; padding: 2rem; font-size: 1rem; }
.receiving-administration *, .receiving-administration *::before, .receiving-administration *::after { box-sizing: border-box; }
.receiving-administration [hidden] { display: none !important; }
.receiving-administration h1 { margin: .25rem 0 .65rem; line-height: 1.2; letter-spacing: -.025em; }
.receiving-administration h2 { margin: 0 0 .65rem; font-size: 1.25rem; line-height: 1.35; }
.receiving-administration h3 { margin: 1.5rem 0 .5rem; font-size: 1.1rem; }
.receiving-administration p { margin: .5rem 0; }
.receiving-administration .station-back-link { display: inline-block; margin-bottom: 1.6rem; font-size: .9rem; text-underline-offset: .2em; }
.receiving-administration .station-title-row { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .5rem 1rem; }
.receiving-administration .station-page-header { padding-bottom: 1.25rem; border-bottom: 1px solid #dbe3ea; }
.receiving-administration .station-eyebrow { margin: 0 0 .4rem; color: #526779; font-size: .75rem; font-weight: bold; letter-spacing: .08em; text-transform: uppercase; }
.receiving-administration .station-intro { max-width: 46rem; margin: .25rem 0 1rem; color: #526171; }
.receiving-administration .station-badge { display: inline-block; padding: .35rem .65rem; border: 1px solid; border-radius: 1rem; font-size: .8rem; font-weight: normal; white-space: normal; }
.receiving-administration .station-badge-neutral { background: #f3f6f8; border-color: #c8d3dc; color: #526171; }
.receiving-administration .station-badge-ready { background: #ecf8f0; border-color: #b7dfc6; color: #21623c; }
.receiving-administration .station-badge-warning { background: #fff8e8; border-color: #e9d49e; color: #765216; }
.receiving-administration .station-signing-details { margin: .9rem 0 0; color: #526171; font-size: .875rem; }
.receiving-administration .station-page-actions { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1.1rem; }
.receiving-administration .station-page-action { display: inline-flex; align-items: center; min-height: 2.35rem; padding: .45rem .8rem; border: 1px solid #c5d3df; border-radius: .35rem; background: #fff; color: #234865; font-size: .85rem; font-weight: bold; text-decoration: none; }
.receiving-administration .station-page-action:hover { background: #edf4fa; border-color: #86a8c4; text-decoration: none; }
.receiving-administration .station-page-action-refresh { margin-left: auto; }
.receiving-administration summary { width: fit-content; cursor: pointer; text-underline-offset: .2em; }
.receiving-administration summary:hover { text-decoration: underline; }
.receiving-administration code { display: block; padding: .65rem .8rem; background: #f4f6f8; border-radius: .35rem; color: #34495c; overflow-wrap: anywhere; }
.receiving-administration .station-notice { margin: 1.5rem 0; padding: 1.1rem 1.25rem; background: #fffbf1; border: 1px solid #ebd9ae; border-left: 4px solid #bb8428; border-radius: .4rem; color: #624b22; }
.receiving-administration .station-notice h2 { font-size: 1rem; color: #624b22; }
.receiving-administration .station-notice ul { margin: .6rem 0; padding-left: 1.25rem; }
.receiving-administration .station-notice p { font-size: .9rem; }
.receiving-administration #station-admin-status:empty { display: none; }
/* The app theme's alerts are solid colour with white text. This message is tinted instead, so each kind
   sets its own text colour too, or the theme's white would be left on a pale background. */
.receiving-administration #station-admin-status:not(:empty) { margin: 1.25rem 0; padding: 1rem; border: 1px solid #b8cbdc; background: #f0f6fb; border-radius: .4rem; color: #1e2a35; }
.receiving-administration #station-admin-status.alert-success { border-color: #b7dfc6; background: #ecf8f0; color: #21623c; }
.receiving-administration #station-admin-status.alert-warning { border-color: #e9d49e; background: #fff8e8; color: #765216; }
.receiving-administration #station-admin-status.alert-danger { border-color: #d9aaaa; background: #fff0f0; color: #a13030; }
.receiving-administration .station-status-message:empty { display: none; }
.receiving-administration .station-status-message:not(:empty) { margin: 1.25rem 0 0; padding: 1rem; border: 1px solid #b8cbdc; background: #f0f6fb; border-radius: .4rem; white-space: pre-line; overflow-wrap: anywhere; }
.receiving-administration .station-admin-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 1.25rem; align-items: start; margin-top: 1.5rem; }
.receiving-administration .station-card { min-width: 0; padding: 1.5rem; border: 1px solid #dbe3ea; border-radius: .6rem; background: #fff; }
.receiving-administration .station-help { font-size: .875rem; color: #526171; line-height: 1.55; }
.receiving-administration .station-field { margin: 1.1rem 0; }
.receiving-administration .station-field label { margin-bottom: .4rem; font-size: .9rem; }
.receiving-administration .station-local-computer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 1.15rem 0; padding: .9rem 1rem; border: 1px solid #dbe3ea; border-radius: .45rem; background: #f7f9fb; }
.receiving-administration .station-local-computer > div { min-width: 0; }
.receiving-administration .station-local-computer-label { display: block; color: #526779; font-size: .72rem; font-weight: bold; letter-spacing: .06em; text-transform: uppercase; }
.receiving-administration .station-local-computer strong { display: block; margin-top: .2rem; color: #34495c; overflow-wrap: anywhere; }
.receiving-administration .station-local-computer .station-help { margin-bottom: 0; }
.receiving-administration .station-local-computer[data-state="ready"] { border-color: #b7dfc6; background: #ecf8f0; }
.receiving-administration .station-local-computer[data-state="unavailable"] { border-color: #e9d49e; background: #fff8e8; }
.receiving-administration .station-local-computer button { flex: 0 0 auto; }
.receiving-administration .station-filter-form { display: flex; align-items: flex-end; gap: .75rem; margin: 1.1rem 0; padding: 1rem; border: 1px solid #dbe3ea; border-radius: .4rem; background: #f7f9fb; }
.receiving-administration .station-filter-form .station-field { flex: 1 1 auto; margin: 0; }
.receiving-administration .station-filter-form button { flex: 0 0 auto; }
.receiving-administration input:not([type="hidden"]):not([type="checkbox"]), .receiving-administration select { width: 100%; min-width: 0; min-height: 2.75rem; margin: 0; padding: .65rem .8rem; border: 1px solid #aebdcb; border-radius: .35rem; background: #fff; color: #1e2a35; }
.receiving-administration input::placeholder { color: #667887; opacity: 1; }
.receiving-administration select:disabled { background: #f4f6f8; color: #677684; }
.receiving-administration button { min-height: 2.75rem; margin: 0; padding: .65rem 1rem; font-size: .9rem; font-weight: bold; transition: background-color .15s; }
.receiving-administration button:hover:not(:disabled) { background: #16344c; }
.receiving-administration .station-button-secondary { background: #fff; color: #234865; border-color: #aebdcb; }
.receiving-administration .station-button-secondary:hover:not(:disabled) { background: #edf3f8; }
.receiving-administration .station-button-danger { background: #fff; color: #a13030; border-color: #d9aaaa; }
.receiving-administration .station-button-danger:hover:not(:disabled) { background: #fff0f0; }
.receiving-administration :is(a, button, input, select, summary):focus-visible { outline: 3px solid #487ca6; outline-offset: 3px; }
.receiving-administration .station-create-note { margin-top: .9rem; }
.receiving-administration .station-empty { margin: 1.1rem 0; padding: 1.25rem; border: 1px dashed #b9c8d4; border-radius: .4rem; background: #f7f9fb; color: #526171; }
.receiving-administration .station-empty strong { color: #34495c; }
.receiving-administration .station-empty p { margin-bottom: 0; font-size: .875rem; }
.receiving-administration .station-clients { margin: 1.25rem 0; padding: .9rem 1rem; border: 1px solid #dbe3ea; border-radius: .35rem; min-width: 0; }
.receiving-administration .station-clients legend { padding: 0 .3rem; font-size: .9rem; font-weight: bold; }
/* Shipment paperwork: a form the width of the page, its address blocks side by side where they fit. */
.receiving-administration .station-card-wide { grid-column: 1 / -1; }
.receiving-administration .station-fieldsets { display: grid; grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr)); gap: 1rem; margin: 1rem 0; }
.receiving-administration .station-fieldset { min-width: 0; margin: 0; padding: .9rem 1rem; border: 1px solid #dbe3ea; border-radius: .35rem; }
/* A heading, not another label: larger, in the accent colour, and ruled off from the fields under it. */
.receiving-administration .station-fieldset legend { float: left; width: 100%; margin: 0 0 .6rem; padding: 0 0 .55rem; border: 0; border-bottom: 1px solid #e3e9ef; color: #234865; font-size: 1.05rem; font-weight: bold; line-height: 1.3; }
.receiving-administration .station-fieldset .station-field { margin: .6rem 0; }
/* Each paperwork section folds to its title and a summary of what it holds; the chevron shows it opens. */
.receiving-administration .station-paperwork-section { margin: .75rem 0 0; }
.receiving-administration .station-paperwork-section:last-of-type { margin-bottom: 1.25rem; }
.receiving-administration .station-paperwork-section > summary { list-style: none; }
.receiving-administration .station-paperwork-section > summary::-webkit-details-marker { display: none; }
.receiving-administration .station-paperwork-section > summary:hover { background: #f5f8fb; text-decoration: none; }
.receiving-administration .station-paperwork-section > summary > span { display: inline-flex; flex: 0 0 auto; align-items: center; gap: .7rem; font-size: 1.05rem; }
.receiving-administration .station-paperwork-section > summary > span::before { content: ""; border: .35rem solid transparent; border-left-color: currentColor; transition: transform .15s ease; }
.receiving-administration .station-paperwork-section[open] > summary > span::before { transform: translateX(.175rem) rotate(90deg); }
.receiving-administration .station-paperwork-section > summary small { font-size: .85rem; overflow-wrap: anywhere; }
/* A second setting inside a card, saved on its own: a rule separates it rather than another card. */
.receiving-administration .station-card-section { margin-top: 1.5rem; padding-top: 1.1rem; border-top: 1px solid #d8e2e9; }
.receiving-administration .station-card-section h3 { margin-top: 0; }
/* The names the next shipments take, read as the dock will read them; in red when they cannot be saved.
   The station page's custom properties do not reach this page, so these name their own values. */
.receiving-administration #names-preview { font-family: ui-monospace, "Cascadia Mono", "Segoe UI Mono", Consolas, "Courier New", monospace; color: #34495c; }
.receiving-administration #names-preview.station-field-problem { color: #a13030; }
.receiving-administration #names-code, .receiving-administration #names-next {
    font-family: ui-monospace, "Cascadia Mono", "Segoe UI Mono", Consolas, "Courier New", monospace; text-transform: uppercase;
}
/* The addresses a closed shipment's paperwork is emailed to: one chip each, above the field that adds them. */
.receiving-administration .station-recipients { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0 0 .6rem; padding: 0; list-style: none; }
.receiving-administration .station-recipients li { display: inline-flex; align-items: center; gap: .45rem; padding: .3rem .4rem .3rem .65rem; border: 1px solid #c7d9e8; border-radius: 1rem; background: #f0f6fb; font-size: .85rem; overflow-wrap: anywhere; }
.receiving-administration .station-recipient-remove { min-height: 0; padding: 0 .35rem; border: 0; border-radius: 1rem; background: transparent; color: #234865; font-size: 1rem; line-height: 1.2; }
.receiving-administration .station-recipient-remove:hover:not(:disabled) { background: #d8e6f2; }
.receiving-administration .station-recipient-entry { display: flex; gap: .5rem; }
.receiving-administration .station-recipient-entry input { flex: 1 1 auto; }
.receiving-administration .station-recipient-entry button { flex: 0 0 auto; }
.receiving-administration .station-field-hint { margin: .4rem 0 0; color: #a13030; font-size: .85rem; }
/* What that email carries: the bill of lading always, the placards only when they are asked for. The fixed
   box keeps full contrast because it states what goes out; a dimmed one would read as unavailable. */
.receiving-administration .station-attachments { margin: 1.1rem 0; }
.receiving-administration .station-attachments-label { display: block; margin-bottom: .4rem; font-size: .9rem; }
.receiving-administration .station-attachments-choices { display: flex; flex-wrap: wrap; column-gap: 1.5rem; }
.receiving-administration .station-attachments-choices .station-check { margin: .2rem 0; }
.receiving-administration .station-check small { color: #526171; font-size: .85em; }
.receiving-administration .station-check-fixed input:disabled {
    opacity: 1; appearance: none; -webkit-appearance: none; border: 1px solid #234865; border-radius: .2rem;
    background-color: #234865; background-repeat: no-repeat; background-position: center; background-size: .8rem;
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='m3.5 8.5 3 3 6-6'/></svg>");
}
.receiving-administration .station-check-fixed > span { font-weight: bold; }
.receiving-administration .station-field-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr)); gap: 0 1rem; }
.receiving-administration .station-field-grid .station-field { margin: .9rem 0 .2rem; }
.receiving-administration textarea { display: block; width: 100%; min-height: 5.5rem; margin: 0; padding: .65rem .8rem; border: 1px solid #aebdcb; border-radius: .35rem; background: #fff; color: #1e2a35; font: inherit; resize: vertical; }
.receiving-administration textarea:focus-visible { outline: 3px solid #487ca6; outline-offset: 3px; }
.receiving-administration .station-check { display: flex; align-items: flex-start; gap: .65rem; margin: .7rem 0; font-size: .9rem; font-weight: normal; overflow-wrap: anywhere; }
.receiving-administration .station-check input { flex-shrink: 0; width: 1.1rem; height: 1.1rem; padding: 0; margin: .15rem 0 0; accent-color: #234865; }
.receiving-administration .station-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin: 1rem 0; }
.receiving-administration .station-workflow { display: grid; grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr)); gap: .55rem; margin: 1.25rem 0; padding: 0; list-style: none; }
.receiving-administration .station-workflow li { display: flex; align-items: flex-start; gap: .55rem; min-width: 0; padding: .75rem; border: 1px solid #d8e2e9; border-radius: .45rem; background: #f7f9fb; color: #526171; }
.receiving-administration .station-workflow li > span { display: grid; flex: 0 0 1.45rem; width: 1.45rem; height: 1.45rem; place-items: center; border: 1px solid #aebdcb; border-radius: 50%; background: #fff; font-size: .72rem; font-weight: bold; }
.receiving-administration .station-workflow li > div { min-width: 0; }
.receiving-administration .station-workflow strong, .receiving-administration .station-workflow small { display: block; overflow-wrap: anywhere; }
.receiving-administration .station-workflow strong { color: #34495c; font-size: .82rem; }
.receiving-administration .station-workflow small { margin-top: .2rem; font-size: .72rem; line-height: 1.35; }
.receiving-administration .station-workflow li[data-state="ready"] { border-color: #b7dfc6; background: #ecf8f0; color: #21623c; }
.receiving-administration .station-workflow li[data-state="ready"] > span { border-color: #87c29f; background: #fff; color: #21623c; }
.receiving-administration .station-admin-section { margin-top: 1.25rem; padding: 1.2rem; border: 1px solid #dbe3ea; border-radius: .5rem; background: #f9fbfc; }
.receiving-administration .station-admin-section h3 { margin-top: 0; }
.receiving-administration .station-primary-actions { margin-bottom: 0; }
.receiving-administration #station-enabled-choice[data-disabled="true"] { color: #748491; }
.receiving-administration .station-action-details { margin-top: 1rem; border: 1px solid #dbe3ea; border-radius: .5rem; background: #fff; }
.receiving-administration .station-action-details > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; width: auto; padding: .9rem 1rem; color: #234865; font-weight: bold; list-style-position: inside; }
.receiving-administration .station-action-details > summary small { color: #627482; font-size: .78rem; font-weight: normal; text-align: right; }
.receiving-administration .station-action-details-body { padding: .25rem 1rem 1rem; border-top: 1px solid #e7edf2; }
.receiving-administration .station-action-details-body h4 { margin: 1.2rem 0 .35rem; }
.receiving-administration .station-action-details-body ol { padding-left: 1.25rem; }
.receiving-administration .station-lifecycle-grid { display: grid; gap: .75rem; margin-top: 1rem; }
.receiving-administration .station-lifecycle-grid article { padding: 1rem; border: 1px solid #dbe3ea; border-radius: .4rem; background: #f9fbfc; }
.receiving-administration .station-lifecycle-grid h4 { margin: 0 0 .35rem; }
.receiving-administration .station-lifecycle-grid p { min-height: 2.7rem; color: #526171; font-size: .875rem; }
.receiving-administration .station-lifecycle-result { margin-top: 1rem; padding: 1rem; border: 1px solid #b7dfc6; border-radius: .4rem; background: #ecf8f0; color: #21623c; }
.receiving-administration .station-receipts { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; margin-top: 1.5rem; }
.receiving-administration .station-receipts h2 .station-badge { margin-left: .5rem; vertical-align: middle; }
.receiving-administration .station-receipts button { flex-shrink: 0; }
.receiving-administration .station-pagination { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 1rem; padding-top: .5rem; font-size: .9rem; }
.receiving-administration progress { display: block; width: 100%; height: 1.1rem; margin: .85rem 0 1rem; accent-color: #28734d; }
@media (max-width: 76rem) { .receiving-administration { margin: 1.25rem; } }
@media (max-width: 52rem) {
    .receiving-administration { margin: .75rem; padding: 1.25rem; }
    .receiving-administration .station-admin-grid { grid-template-columns: 1fr; }
    .receiving-administration .station-card { padding: 1.15rem; }
    .receiving-administration .station-receipts { align-items: stretch; flex-direction: column; }
    .receiving-administration .station-local-computer { align-items: stretch; flex-direction: column; }
    .receiving-administration .station-local-computer button { align-self: flex-start; }
    .receiving-administration .station-action-details > summary { align-items: flex-start; flex-direction: column; gap: .25rem; }
    .receiving-administration .station-action-details > summary small { text-align: left; }
}
@media (max-width: 40rem) {
    .receiving-administration .station-page-action-refresh { margin-left: 0; }
    .receiving-administration .station-filter-form { align-items: stretch; flex-direction: column; }
    .receiving-administration .station-filter-form button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .receiving-administration button, .receiving-administration .station-paperwork-section > summary > span::before { transition: none; } }

/* Shared receiving pages and navigation. Authentication and workflow controls keep their existing IDs. */
.receiving-page { box-sizing: border-box; max-width: 72rem; margin: 2rem auto; padding: 2rem; font-size: 1rem; }
.receiving-page *, .receiving-page *::before, .receiving-page *::after { box-sizing: border-box; }
.receiving-page.receiving-station-page { max-width: 78rem; }
.receiving-page [hidden] { display: none !important; }
.receiving-page h1 { margin: .85rem 0 .6rem; font-size: 2rem; line-height: 1.2; letter-spacing: -.025em; }
.receiving-page h2 { margin: 0 0 .7rem; font-size: 1.25rem; line-height: 1.35; }
.receiving-page h3 { font-size: 1.1rem; }
.receiving-page p { margin: .65rem 0; }
.receiving-page-header { margin-bottom: 1.5rem; }
.receiving-brand { display: flex; align-items: center; flex-wrap: wrap; gap: .6rem 1rem; font-size: .85rem; }
.receiving-brand a { color: #234865; font-weight: bold; text-decoration: none; }
.receiving-brand a:hover { text-decoration: underline; }
.receiving-brand span { padding-left: 1rem; border-left: 1px solid #bdcad5; color: #526171; }
.receiving-page .receiving-intro { color: #526171; max-width: 50rem; }
.receiving-page label { margin: .8rem 0 .4rem; font-size: .9rem; }
.receiving-page input:not([type="hidden"]), .receiving-page select { max-width: 100%; min-width: 0; min-height: 2.75rem; margin: 0 .4rem .5rem 0; padding: .65rem .8rem; border: 1px solid #aebdcb; border-radius: .35rem; background: #fff; color: #1e2a35; }
.receiving-page button { min-height: 2.75rem; margin: .35rem .4rem .35rem 0; padding: .65rem 1rem; font-size: .9rem; font-weight: bold; }
.receiving-page button:hover:not(:disabled) { background: #16344c; }
.receiving-page .receiving-button-secondary { background: #fff; color: #234865; border-color: #aebdcb; }
.receiving-page .receiving-button-secondary:hover:not(:disabled) { background: #edf3f8; }
.receiving-page :is(a, button, input, select):focus-visible, .receiving-table-wrap:focus-visible { outline: 3px solid #487ca6; outline-offset: 3px; }
.receiving-page .receiving-client-filter { display: flex; align-items: flex-end; flex-wrap: wrap; gap: .75rem; padding: 1.25rem; border: 1px solid #dbe3ea; border-radius: .5rem; background: #f8fafc; }
.receiving-page .receiving-client-filter .receiving-field { flex: 0 1 26rem; min-width: 0; }
.receiving-page .receiving-client-filter label { margin-top: 0; }
.receiving-page .receiving-client-filter select { width: 100%; margin: 0; }
.receiving-page .receiving-client-filter button { margin: 0; }
/* What became of the last action a page posted: the palette of the station setup messages, with the
   colour set explicitly, since the theme's own alerts are white text. */
.receiving-page .receiving-notice { margin: 0 0 1.25rem; padding: .9rem 1rem; border: 1px solid #b8cbdc; border-left-width: .35rem; border-radius: .4rem; background: #f0f6fb; color: #1e2a35; }
/* Server-rendered, so the markup's own line breaks are not message text: the pre-line kept for
   script-written status lines would show them as blank lines. */
.receiving-page .receiving-notice[role] { white-space: normal; }
.receiving-page .receiving-notice strong { display: block; }
.receiving-page .receiving-notice span { display: block; margin-top: .25rem; font-size: .9rem; }
.receiving-page .receiving-notice-success { border-color: #b7dfc6; border-left-color: #2f8a55; background: #ecf8f0; color: #21623c; }
.receiving-page .receiving-notice-warning { border-color: #e9d49e; border-left-color: #c48a1d; background: #fff8e8; color: #765216; }
.receiving-page .receiving-notice-danger { border-color: #d9aaaa; border-left-color: #c24242; background: #fff0f0; color: #a13030; }
.receiving-page .receiving-empty { margin: 1.25rem 0; padding: 1.5rem; border: 1px dashed #b9c8d4; border-radius: .5rem; color: #526171; }
.receiving-page .receiving-empty h2 { color: #34495c; font-size: 1rem; }
.receiving-page .receiving-empty p { margin-bottom: 0; font-size: .9rem; }
.receiving-page > section { margin-top: 1.5rem; padding: 1.5rem; border: 1px solid #dbe3ea; border-radius: .5rem; }
.receiving-page [role="status"] { white-space: pre-line; overflow-wrap: anywhere; }
.receiving-page [role="status"]:empty { display: none; }
.receiving-page .receiving-table-wrap { max-width: 100%; overflow-x: auto; margin: 1rem 0; border: 1px solid #dbe3ea; border-radius: .4rem; }
.receiving-page table { min-width: 34rem; margin: 0; }
.receiving-page th { background: #f4f7fa; color: #34495c; font-size: .85rem; }
.receiving-page td { font-size: .9rem; overflow-wrap: anywhere; }
.receiving-page td > button { white-space: nowrap; }
/* An LPN, ISBN or order number is read and compared as a whole, so it never breaks across lines; a wide
   table scrolls inside its wrapper instead. */
.receiving-page td.report-id { white-space: nowrap; }
.receiving-page tr:last-child td { border-bottom: 0; }
.receiving-page td button { font-size: .8rem; }
.receiving-page nav:not(.receiving-workspace-nav) { display: flex; flex-wrap: wrap; gap: .75rem; font-size: .9rem; }
:is(.receiving-page, .receiving-administration) .receiving-workspace-nav { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid #dbe3ea; }
:is(.receiving-page, .receiving-administration) .receiving-workspace-nav h2 { font-size: 1rem; }
:is(.receiving-page, .receiving-administration) .receiving-nav-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: .85rem; margin-top: .85rem; }
:is(.receiving-page, .receiving-administration) .receiving-nav-card { display: flex; flex-direction: column; gap: .4rem; margin: 0; padding: 1rem; border: 1px solid #d4e0ea; border-radius: .45rem; background: #f7fafc; text-decoration: none; font-size: .85rem; color: #526171; }
:is(.receiving-page, .receiving-administration) .receiving-nav-title { display: flex; justify-content: space-between; gap: .5rem; color: #234865; font-size: .95rem; font-weight: bold; }
:is(.receiving-page, .receiving-administration) .receiving-nav-card:hover { background: #edf4fa; border-color: #86a8c4; }
:is(.receiving-page, .receiving-administration) .receiving-nav-card[aria-current] { background: #edf4fa; border-color: #86a8c4; }
:is(.receiving-page, .receiving-administration) .receiving-nav-card:hover .receiving-nav-title { text-decoration: underline; text-underline-offset: .2em; }
.receiving-page .receiving-account-link { display: inline-flex; align-items: center; gap: 1rem; margin: 0; padding: .75rem 1rem; border: 1px solid #d4e0ea; border-radius: .4rem; background: #f7fafc; text-decoration: none; font-size: .9rem; }
.receiving-page .receiving-account-link:hover { background: #edf4fa; }
@media (max-width: 76rem) { .receiving-page { margin: 1.25rem; } }
@media (max-width: 64rem) { :is(.receiving-page, .receiving-administration) .receiving-nav-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 40rem) {
    .receiving-page { margin: .75rem; padding: 1.15rem; }
    .receiving-page h1 { font-size: 1.65rem; }
    .receiving-page > section { padding: 1rem; }
    .receiving-page .receiving-client-filter { align-items: stretch; flex-direction: column; }
    .receiving-page .receiving-client-filter .receiving-field { flex: auto; }
    :is(.receiving-page, .receiving-administration) .receiving-nav-grid { grid-template-columns: 1fr; }
}

/* Shipment deliveries: a row's stored paperwork opens as a menu over the rows below it. The menu is
   a popover, drawn in the top layer, because the table scrolls inside its wrapper and would clip
   anything drawn past its edge; anchored-popover.js puts it against its button. */
.receiving-deliveries .delivery-paperwork-toggle { display: inline-flex; align-items: center; gap: .45rem; min-height: 2.35rem; margin: 0; padding: .45rem .8rem; border: 1px solid #aebdcb; border-radius: .35rem; background: #fff; color: #234865; font-size: .8rem; font-weight: bold; white-space: nowrap; cursor: pointer; }
.receiving-deliveries .delivery-paperwork-toggle::after { content: ""; width: .4rem; height: .4rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-.1rem) rotate(45deg); }
.receiving-deliveries .delivery-paperwork-toggle[aria-expanded="true"]::after { transform: translateY(.1rem) rotate(-135deg); }
.receiving-deliveries .delivery-paperwork-toggle:hover:not(:disabled) { background: #edf3f8; }
.receiving-deliveries .delivery-paperwork-menu { inset: auto; min-width: 12rem; margin: 0; padding: .25rem 0; border: 1px solid #d4e0ea; border-radius: .35rem; background: #fff; color: #1e2a35; box-shadow: 0 12px 28px -10px rgba(20, 35, 50, .4); list-style: none; }
.receiving-deliveries .delivery-paperwork-menu a { display: block; padding: .45rem .8rem; color: #234865; font-size: .85rem; white-space: nowrap; }
.receiving-deliveries .delivery-paperwork-menu a:hover { background: #edf4fa; }

/* The grid keeps a name, date or count on one line, because each is read as a whole; only the
   destination and the delivery action wrap. A wide table scrolls inside its wrapper instead. */
.receiving-deliveries .delivery-grid td { white-space: nowrap; }
.receiving-deliveries .delivery-grid td.delivery-wraps { min-width: 11rem; white-space: normal; }
/* The date and its button stay together, sized like the row's Download beside them. */
.receiving-deliveries .delivery-confirm { display: flex; align-items: center; gap: .5rem; margin: 0; }
.receiving-deliveries .delivery-confirm input { min-height: 2.35rem; margin: 0; padding: .35rem .55rem; font-size: .85rem; }
.receiving-deliveries .delivery-confirm button { min-height: 2.35rem; margin: 0; padding: .45rem .8rem; font-size: .8rem; white-space: nowrap; }
.receiving-deliveries .delivery-context { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1rem; }
.receiving-deliveries .delivery-context .station-help { margin: 0; }

/* A shipment's name opens its details. It reads as the name it is rather than as a button. */
.receiving-deliveries .delivery-name { min-height: 0; margin: 0; padding: 0; border: 0; background: none; color: #234865; font: inherit; font-weight: bold; text-decoration: underline; text-underline-offset: .2em; white-space: nowrap; cursor: pointer; }
.receiving-deliveries .delivery-name:hover:not(:disabled) { background: none; color: #16344c; }

/* Those details open in the top layer, where the scrolling table cannot clip them. */
.receiving-deliveries .delivery-dialog { width: min(40rem, calc(100vw - 2rem)); max-height: min(85vh, 44rem); padding: 0; border: 1px solid #dbe3ea; border-radius: .6rem; background: #fff; color: #1e2a35; box-shadow: 0 18px 48px -12px rgba(20, 35, 50, .45); }
.receiving-deliveries .delivery-dialog[open] { display: flex; flex-direction: column; }
.receiving-deliveries .delivery-dialog::backdrop { background: rgba(20, 32, 44, .45); }
.receiving-deliveries .delivery-dialog-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1.1rem; border-bottom: 1px solid #dbe3ea; }
.receiving-deliveries .delivery-dialog-head h2 { margin: 0; font-size: 1.1rem; overflow-wrap: anywhere; }
.receiving-deliveries .delivery-dialog-head button { margin: 0; }
.receiving-deliveries .delivery-dialog-body { min-height: 0; padding: .9rem 1.25rem 1.1rem; overflow-y: auto; }
.receiving-deliveries .delivery-dialog-summary { margin: 0; font-size: .9rem; font-weight: bold; }
.receiving-deliveries .delivery-dialog section { margin-top: 1.1rem; }
.receiving-deliveries .delivery-dialog h3 { margin: 0 0 .5rem; color: #34495c; font-size: .95rem; }
.receiving-deliveries .delivery-dialog .station-help { margin: .5rem 0 0; }
.receiving-deliveries .delivery-lpns { display: flex; flex-wrap: wrap; gap: .35rem; margin: 0; padding: 0; list-style: none; }
.receiving-deliveries .delivery-lpns li { padding: .2rem .5rem; border: 1px solid #d4e0ea; border-radius: .3rem; background: #f7fafc; font-family: ui-monospace, "Cascadia Mono", "Segoe UI Mono", Consolas, "Courier New", monospace; font-size: .82rem; white-space: nowrap; }
.receiving-deliveries .delivery-file-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: .6rem 1rem; margin: 0; }
.receiving-deliveries .delivery-file-facts dt { color: #6b7b88; font-size: .68rem; letter-spacing: .07em; text-transform: uppercase; }
.receiving-deliveries .delivery-file-facts dd { margin: .1rem 0 0; font-family: ui-monospace, "Cascadia Mono", "Segoe UI Mono", Consolas, "Courier New", monospace; overflow-wrap: anywhere; }
.receiving-deliveries .delivery-retry { margin: .75rem 0 0; }
.receiving-deliveries .delivery-retry button { margin: 0; }

/* Human management pages use the application's navbar, theme and fixed footer. */
:is(.receiving-page, .receiving-administration).receiving-in-app { max-width: none; margin: 0; padding: 2rem 1.5rem 6rem; border: 0; border-radius: 0; background: transparent; }
.receiving-in-app .receiving-page-header { margin-bottom: 1.5rem; }
.receiving-in-app .receiving-brand { display: none; }
.receiving-page.receiving-in-app > section, .receiving-page.receiving-in-app .receiving-empty { background: #fff; }
/* The shared navbar can wrap to two rows on narrower desktop windows. */
@media (max-width: 84rem) { .receiving-administration.receiving-in-app { padding-top: 5rem; } }

/* Purpose-built CrossDock reports. */
.receiving-reports { color: #1e2a35; }
.receiving-reports .report-client-filter { display: flex; align-items: flex-end; gap: .75rem; max-width: 42rem; margin: 0 0 1.25rem; padding: 1rem; border: 1px solid #dbe3ea; border-radius: .5rem; background: #fff; }
.receiving-reports .report-client-filter .receiving-field { flex: 1 1 auto; }
.receiving-reports .report-client-filter label { margin-top: 0; }
.receiving-reports .report-client-filter select { width: 100%; min-height: 2.875rem; margin: 0; }
.receiving-reports .report-client-filter button { flex: 0 0 auto; min-height: 2.875rem; margin: 0; }
.receiving-reports .report-tabs, .receiving-station-page .report-tabs { display: flex; gap: .45rem; margin: 0 0 1rem; padding: .35rem; overflow-x: auto; border: 1px solid #d8e2ea; border-radius: .55rem; background: #eef3f7; scrollbar-width: thin; }
.receiving-reports .report-tabs a, .receiving-station-page .report-tabs button { flex: 0 0 auto; min-height: 2.35rem; margin: 0; padding: .55rem .8rem; border: 0; border-radius: .35rem; background: transparent; color: #34536d; font-size: .85rem; font-weight: bold; text-decoration: none; white-space: nowrap; }
.receiving-reports .report-tabs a:hover, .receiving-reports .report-tabs a[aria-current="page"], .receiving-station-page .report-tabs button:hover, .receiving-station-page .report-tabs button[aria-pressed="true"] { background: #fff; color: #123a5a; box-shadow: 0 1px 3px rgba(25, 54, 75, .15); }
.receiving-page.receiving-reports > .report-panel, .receiving-station-page .station-report-panel { margin-top: 0; padding: 1.5rem; background: #fff; }
.report-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid #e0e7ed; }
.report-heading h2 { margin: .1rem 0 .35rem; font-size: 1.55rem; }
.report-heading p { margin: 0; color: #5c6d7b; }
.report-time-zone { flex: 0 0 auto; max-width: 20rem; padding: .35rem .65rem; border-radius: 1rem; background: #eef5fa; color: #34536d; font-size: .75rem; text-align: center; }
.report-heading-actions { flex: 0 0 auto; display: flex; flex-direction: column; align-items: stretch; gap: .5rem; }
.report-download { display: inline-block; padding: .45rem .9rem; border: 1px solid #34536d; border-radius: .35rem; background: #34536d; color: #fff; font-size: .8rem; font-weight: 600; text-align: center; text-decoration: none; }
.report-download:hover, .report-download:focus { background: #24405a; border-color: #24405a; color: #fff; text-decoration: none; }
.report-download:focus-visible { outline: 2px solid #1b6ac9; outline-offset: 2px; }
/* A large report takes a minute or more on the server, so the page says it is running, and the download
   says it is being prepared. Empty, the status lines are hidden by the shared [role="status"] rule. */
.report-spinner { display: inline-block; flex: 0 0 auto; width: 1em; height: 1em; margin-right: .4rem; border: .15em solid currentColor; border-right-color: transparent; border-radius: 50%; vertical-align: -.15em; animation: report-spin .75s linear infinite; }
@keyframes report-spin { to { transform: rotate(360deg); } }
.report-download[aria-disabled="true"] { cursor: progress; }
.report-heading .report-download-status { max-width: 16rem; margin: 0; color: #526171; font-size: .8rem; }
.report-heading .report-download-failed { color: #a13030; }
.receiving-reports .report-running { display: flex; align-items: center; flex-wrap: wrap; gap: .2rem .6rem; margin: 1rem 0 0; padding: .75rem .9rem; border: 1px solid #c7d9e8; border-radius: .4rem; background: #f0f6fb; color: #234865; font-size: .9rem; font-weight: bold; }
.report-running .report-spinner { margin-right: 0; }
.report-elapsed { margin-left: .35rem; color: #526171; font-weight: normal; font-variant-numeric: tabular-nums; }
.report-running .report-elapsed { margin-left: 0; }
.receiving-reports .report-panel[aria-busy="true"] > :not(.report-heading):not(.report-running) { opacity: .45; transition: opacity .2s; }
@media (prefers-reduced-motion: reduce) { .report-spinner { animation-duration: 2s; } .receiving-reports .report-panel[aria-busy="true"] > * { transition: none; } }
.report-filters { display: flex; align-items: flex-end; flex-wrap: wrap; gap: .75rem; margin: 1.1rem 0; padding: 1rem; border: 1px solid #dbe3ea; border-radius: .45rem; background: #f7f9fb; }
.report-filters > div { flex: 0 1 12rem; }
.report-filters > .report-date-range { display: grid; flex: 0 1 25rem; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.report-filters > .report-search { flex: 1 1 19rem; }
.report-filters label { margin-top: 0; }
/* :not([type="hidden"]) matches the shared .receiving-page input rule, so its bottom margin cannot push text fields above the select and button. */
.report-filters input:not([type="hidden"]), .report-filters select { width: 100%; min-height: 2.875rem; margin: 0; }
.report-filters button { flex: 0 0 auto; min-height: 2.875rem; margin: 0; }
/* Nine tiles: the unit stages, then the orphan shelf, fill three even rows. */
.report-metric-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; margin: 1.2rem 0; }
.report-metric-grid a, .report-metric-grid button { display: flex; flex-direction: column; min-width: 0; min-height: 8.25rem; padding: 1rem; border: 1px solid #d8e2ea; border-radius: .55rem; background: linear-gradient(145deg, #fff, #f4f8fb); color: #34495c; font: inherit; text-align: left; text-decoration: none; cursor: pointer; }
.report-metric-grid a:hover, .report-metric-grid button:hover { border-color: #7fa5c2; box-shadow: 0 3px 12px rgba(35, 72, 101, .1); }
.report-metric-grid span { min-height: 2.4rem; color: #526779; font-size: .85rem; font-weight: bold; }
.report-metric-grid strong { margin-top: auto; color: #123a5a; font-size: 2rem; line-height: 1; }
.report-metric-grid small { margin-top: .35rem; color: #6b7b88; }
.report-secondary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; margin: 1rem 0; }
.report-secondary-grid div { display: flex; align-items: baseline; gap: .5rem; padding: .75rem .9rem; border-radius: .4rem; background: #f2f5f7; }
.report-secondary-grid strong { color: #123a5a; font-size: 1.15rem; }
.report-secondary-grid span { color: #526171; font-size: .8rem; }
.report-note { padding: .75rem .9rem; border-left: 3px solid #5c8fb5; background: #f3f8fc; color: #526171; font-size: .82rem; }
.report-status, .report-severity { display: inline-block; padding: .24rem .48rem; border: 1px solid #c8d8e4; border-radius: 1rem; background: #f1f6f9; color: #34536d; font-size: .75rem; font-weight: bold; white-space: nowrap; }
.report-exceptions { display: grid; gap: .65rem; margin-top: 1rem; }
.report-exceptions article { display: flex; align-items: flex-start; gap: 1rem; padding: 1rem; border: 1px solid #e1d4b5; border-left: 4px solid #bd8327; border-radius: .45rem; background: #fffaf0; }
.report-exceptions article > div { min-width: 0; }
.report-exceptions h3 { margin: 0 0 .25rem; font-size: .95rem; overflow-wrap: anywhere; }
.report-exceptions p { margin: .2rem 0; color: #5e5442; }
.report-exceptions small { color: #756b59; }
.report-exceptions a { display: block; margin-top: .4rem; font-weight: bold; }
.report-pagination { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid #e0e7ed; }
.report-pagination a { padding: .45rem .75rem; border: 1px solid #c5d3df; border-radius: .35rem; text-decoration: none; }
.report-pagination span { color: #627482; font-size: .85rem; }
@media (max-width: 72rem) { .report-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 48rem) {
    .receiving-reports .report-client-filter, .report-heading, .report-filters { align-items: stretch; flex-direction: column; }
    .report-time-zone { align-self: flex-start; }
    .report-heading-actions { align-items: flex-start; }
    .report-filters > div, .report-filters > .report-search { flex: auto; width: 100%; }
    .report-filters > .report-date-range { flex: auto; grid-template-columns: 1fr; }
    .report-metric-grid, .report-secondary-grid { grid-template-columns: 1fr; }
    .report-exceptions article { flex-direction: column; }
}

/* Fulfillment station bench: one command bar, a scan lane beside a carton rail, then reports. */
.receiving-station-page {
    --station-ink: #1e2a35; --station-muted: #526171; --station-subtle: #6b7b88; --station-navy: #234865;
    --station-line: #dbe3ea; --station-line-soft: #e8eef3; --station-surface: #fff; --station-surface-2: #f7f9fb;
    --station-open: #21623c; --station-open-bg: #ecf8f0; --station-open-line: #b7dfc6;
    --station-closed: #33495d; --station-closed-bg: #eef3f8; --station-closed-line: #c3d4e2;
    --station-warn: #765216; --station-warn-bg: #fff8e8; --station-warn-line: #e9d49e;
    --station-error: #a13030; --station-error-bg: #fff0f0; --station-error-line: #d9aaaa;
    --station-info-bg: #f0f6fb; --station-info-line: #c7d9e8;
    --station-mono: ui-monospace, "Cascadia Mono", "Segoe UI Mono", Consolas, "Courier New", monospace;
    /* Kraft carton illustration, lit from the upper left. */
    --carton-lid: #f1e1c2; --carton-flap: #e5cfa6; --carton-side-left: #d7b07a; --carton-side-right: #b98d57;
    --carton-inside-left: #5f4326; --carton-inside-right: #7d5b35; --carton-edge: #654523; --carton-shadow: rgba(52, 38, 22, .16);
    --carton-tape: #cbb48a; --carton-tape-side: #a68d64; --carton-label: #fff; --carton-bar: #23313d;
    --carton-book-1: #355f7d; --carton-book-2: #9b4b3c; --carton-book-3: #3f7b66; --carton-book-4: #c09437; --carton-page: #f4ecdb;
    color: var(--station-ink);
}

/* The shell keeps a 1200px minimum body width and hides horizontal overflow, which would cut the
   carton rail and Disconnect off on narrower bench screens. The station bench reflows instead. */
body.receivingasn { min-width: 0; }
.receiving-station-page .station-bar { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.25rem; padding: .85rem 1.1rem; border: 1px solid var(--station-line); border-radius: .5rem; background: var(--station-surface); }
.receiving-station-page .station-bar-identity { min-width: 0; padding-right: 1.25rem; border-right: 1px solid var(--station-line-soft); }
.receiving-station-page .station-bar-eyebrow { margin: 0; color: var(--station-subtle); font-size: .7rem; font-weight: bold; letter-spacing: .08em; text-transform: uppercase; }
.receiving-station-page .station-bar h1 { margin: 0; font-size: 1.35rem; line-height: 1.25; letter-spacing: -.01em; overflow-wrap: anywhere; }
.receiving-station-page .station-bar-field { display: flex; align-items: center; gap: .55rem; min-width: 0; }
.receiving-station-page .station-bar-field label { margin: 0; color: var(--station-subtle); font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.receiving-station-page .station-bar-field select { min-width: 14rem; max-width: 24rem; margin: 0; }
.receiving-station-page .station-bar-actions { display: flex; gap: .5rem; margin-left: auto; }
.receiving-station-page .station-bar-actions button { margin: 0; }
.receiving-station-page #station-status { display: inline-flex; align-items: center; gap: .45rem; margin: 0; padding: .3rem .75rem; border: 1px solid var(--station-line); border-radius: 1rem; background: var(--station-surface-2); color: var(--station-muted); font-size: .8rem; font-weight: bold; white-space: nowrap; }
.receiving-station-page #station-status::before { content: ""; width: .5rem; height: .5rem; border-radius: 50%; background: currentColor; }
.receiving-station-page #station-status[data-state="connected"] { border-color: var(--station-open-line); background: var(--station-open-bg); color: var(--station-open); }
.receiving-station-page #station-status[data-state="error"] { border-color: var(--station-error-line); background: var(--station-error-bg); color: var(--station-error); }
.receiving-station-page[aria-busy="true"] #station-status::before { animation: station-busy 1.1s ease-in-out infinite; }
@keyframes station-busy { 50% { opacity: .25; } }
.receiving-station-page .station-alert { margin: .75rem 0 0; padding: .75rem 1rem; border: 1px solid var(--station-error-line); border-left: 4px solid var(--station-error); border-radius: .4rem; background: var(--station-error-bg); overflow-wrap: anywhere; }
.receiving-station-page .station-local-status { margin: .65rem 0 0; font-size: .875rem; }
.receiving-administration .station-local-status-link { display: inline-block; margin: .35rem 0 .35rem .5rem; font-size: .875rem; }

.receiving-station-page .station-bench { display: grid; grid-template-columns: minmax(0, 2fr) minmax(19rem, 1fr); margin-top: 1rem; border: 1px solid var(--station-line); border-radius: .5rem; background: var(--station-surface); overflow: hidden; }
.receiving-station-page .station-lane { min-width: 0; padding: 1.25rem; }
.receiving-station-page .station-rail { min-width: 0; padding: 1.25rem; border-left: 1px solid var(--station-line); background: var(--station-surface-2); }
.receiving-station-page .station-section-title { margin: 0 0 .75rem; color: var(--station-subtle); font-size: .75rem; letter-spacing: .09em; text-transform: uppercase; }

.receiving-station-page .station-scan { padding: 1.1rem 1.15rem 1rem; border: 1px solid var(--station-navy); border-radius: .5rem; background: var(--station-surface); box-shadow: 0 0 0 3px rgba(35, 72, 101, .1); }
.receiving-station-page .station-scan-label { display: block; margin: 0 0 .5rem; color: var(--station-muted); font-size: .85rem; }
.receiving-station-page .station-scan-row { display: flex; align-items: stretch; gap: .6rem; }
.receiving-station-page #receiving-code { flex: 1 1 auto; width: auto; min-width: 0; min-height: 3.75rem; margin: 0; padding: .6rem .9rem; background: var(--station-surface-2); font-family: var(--station-mono); font-size: 1.75rem; letter-spacing: .02em; font-variant-numeric: tabular-nums; }
.receiving-station-page #receiving-submit { flex: 0 0 auto; margin: 0; padding: .6rem 1.2rem; }
.receiving-station-page .station-scan-hint { margin: .6rem 0 0; color: var(--station-muted); font-size: .82rem; }
.receiving-station-page .station-context { display: flex; flex-wrap: wrap; gap: .45rem; margin: .8rem 0 0; }
.receiving-station-page .station-field-hint { margin: .4rem 0 0; color: var(--station-subtle); font-size: .78rem; }

.receiving-station-page .station-outcome { display: grid; gap: .6rem; margin-top: 1rem; }
.receiving-station-page .station-message { margin: 0; padding: .7rem .9rem; border: 1px solid var(--station-info-line); border-left-width: 4px; border-radius: .4rem; background: var(--station-info-bg); font-size: .9rem; }
.receiving-station-page .station-message[data-kind="success"] { border-color: var(--station-open-line); border-left-color: var(--station-open); background: var(--station-open-bg); }
.receiving-station-page .station-message[data-kind="warning"] { border-color: var(--station-warn-line); border-left-color: #bb8428; background: var(--station-warn-bg); }
.receiving-station-page .station-message[data-kind="error"] { border-color: var(--station-error-line); border-left-color: var(--station-error); background: var(--station-error-bg); }
.receiving-station-page #receiving-recover { justify-self: start; margin: 0; }
.receiving-station-page .station-orphan-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.receiving-station-page .station-orphan-actions:not(:has(> button:not([hidden]))) { display: none; }
.receiving-station-page .station-orphan-actions button { margin: 0; }
.receiving-station-page .station-receipt { display: grid; grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr)); gap: .65rem 1.1rem; margin: 0; padding: .85rem .95rem; border: 1px solid var(--station-line); border-radius: .4rem; background: var(--station-surface); }
.receiving-station-page .station-receipt div { min-width: 0; }
.receiving-station-page .station-receipt dt { color: var(--station-subtle); font-size: .68rem; letter-spacing: .07em; text-transform: uppercase; }
.receiving-station-page .station-receipt dd { margin: .1rem 0 0; font-family: var(--station-mono); font-size: .9rem; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.receiving-station-page .station-matches { display: grid; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.receiving-station-page .station-matches:empty { display: none; }
.receiving-station-page .station-match { display: flex; align-items: center; gap: 1rem; padding: .7rem .85rem; border: 1px solid var(--station-warn-line); border-radius: .4rem; background: var(--station-surface); }
.receiving-station-page .station-match-detail { display: grid; flex: 1 1 auto; gap: .15rem; min-width: 0; }
.receiving-station-page .station-match-sku { font-family: var(--station-mono); font-weight: bold; overflow-wrap: anywhere; }
.receiving-station-page .station-match-meta { color: var(--station-muted); font-size: .82rem; overflow-wrap: anywhere; }
.receiving-station-page .station-match button { flex: 0 0 auto; margin: 0; }

.receiving-station-page .station-carton { padding: 1rem 1.1rem 1.1rem; border: 1px solid var(--station-line); border-radius: .5rem; background: var(--station-surface); text-align: center; }
.receiving-station-page .station-carton[data-state="none"], .receiving-station-page .station-carton[data-state="other"] { border-style: dashed; background: transparent; }
.receiving-station-page .station-carton[data-state="open"] { border-color: var(--station-open-line); }
.receiving-station-page .station-carton[data-state="closed"] { border-color: var(--station-closed-line); }
.receiving-station-page .station-carton[data-state="other"] { border-color: var(--station-warn-line); }
.receiving-station-page .station-carton-art { display: block; width: 11.5rem; max-width: 100%; height: auto; margin: 0 auto .35rem; overflow: visible; }
.receiving-station-page .station-carton-state { display: inline-flex; align-items: center; gap: .45rem; margin: 0; padding: .25rem .7rem; border: 1px dashed var(--station-line); border-radius: 1rem; color: var(--station-muted); font-size: .7rem; font-weight: bold; letter-spacing: .08em; text-transform: uppercase; }
.receiving-station-page .station-carton-state::before { content: ""; width: .45rem; height: .45rem; border-radius: 50%; background: currentColor; }
.receiving-station-page [data-state="open"] > .station-carton-state { border: 1px solid var(--station-open-line); background: var(--station-open-bg); color: var(--station-open); }
.receiving-station-page [data-state="closed"] > .station-carton-state { border: 1px solid var(--station-closed-line); background: var(--station-closed-bg); color: var(--station-closed); }
.receiving-station-page [data-state="other"] > .station-carton-state { border: 1px solid var(--station-warn-line); background: var(--station-warn-bg); color: var(--station-warn); }
.receiving-station-page .station-carton-lpn { margin: .6rem 0 .15rem; font-family: var(--station-mono); font-size: 1.1rem; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.receiving-station-page :is([data-state="none"], [data-state="other"]) > .station-carton-lpn { font-family: inherit; font-size: 1rem; }
.receiving-station-page .station-carton-detail { max-width: 22rem; margin: 0 auto; color: var(--station-muted); font-size: .85rem; }
.receiving-station-page .station-carton-count { display: flex; align-items: baseline; justify-content: center; gap: .45rem; margin: .75rem 0 0; color: var(--station-muted); font-size: .85rem; }
.receiving-station-page .station-carton-count strong { color: var(--station-ink); font-size: 2.25rem; font-weight: 300; line-height: 1; font-variant-numeric: tabular-nums; }
.receiving-station-page .station-label-status { margin-top: .75rem; font-size: .82rem; text-align: left; }
.receiving-station-page .station-carton-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .9rem; }
.receiving-station-page .station-carton-actions:not(:has(> button:not([hidden]))) { display: none; }
.receiving-station-page .station-carton-actions button { flex: 1 1 8rem; margin: 0; }
.receiving-station-page .station-carton-art .carton-edge { stroke: var(--carton-edge); stroke-width: 1.35; stroke-linejoin: round; }
.receiving-station-page .station-carton-art .carton-lid, .receiving-station-page .station-carton-art .carton-flap-light { fill: var(--carton-lid); }
.receiving-station-page .station-carton-art .carton-flap { fill: var(--carton-flap); }
.receiving-station-page .station-carton-art .carton-side-left { fill: var(--carton-side-left); }
.receiving-station-page .station-carton-art .carton-side-right { fill: var(--carton-side-right); }
.receiving-station-page .station-carton-art .carton-inside-left { fill: var(--carton-inside-left); }
.receiving-station-page .station-carton-art .carton-inside-right { fill: var(--carton-inside-right); }
.receiving-station-page .station-carton-art .carton-crease { fill: none; stroke: var(--carton-edge); stroke-width: 1; stroke-opacity: .55; }
.receiving-station-page .station-carton-art .carton-book-1 { fill: var(--carton-book-1); }
.receiving-station-page .station-carton-art .carton-book-2 { fill: var(--carton-book-2); }
.receiving-station-page .station-carton-art .carton-book-3 { fill: var(--carton-book-3); }
.receiving-station-page .station-carton-art .carton-book-4 { fill: var(--carton-book-4); }
.receiving-station-page .station-carton-art .carton-page { stroke: var(--carton-page); stroke-width: 1.2; }
.receiving-station-page .station-carton-art .carton-tape { fill: var(--carton-tape); stroke: var(--carton-edge); stroke-width: .7; stroke-opacity: .5; }
.receiving-station-page .station-carton-art .carton-tape-side { fill: var(--carton-tape-side); }
.receiving-station-page .station-carton-art .carton-tape-shine { stroke: #fff; stroke-opacity: .5; stroke-width: 1; stroke-linecap: round; }
.receiving-station-page .station-carton-art .carton-label { fill: var(--carton-label); stroke: var(--carton-edge); stroke-width: .8; }
.receiving-station-page .station-carton-art .carton-bar { stroke: var(--carton-bar); }
.receiving-station-page .station-carton-art .carton-shadow { fill: var(--carton-shadow); }
.receiving-station-page .station-carton-art .carton-ghost { fill: none; stroke: #8a9aa8; stroke-width: 1.6; stroke-dasharray: 5 4; stroke-linejoin: round; stroke-linecap: round; }
.receiving-station-page .station-carton-art .carton-ghost-fill { fill: #8a9aa8; fill-opacity: .07; }

.receiving-station-page .station-history { margin-top: 1.25rem; }
.receiving-station-page .station-history-head { display: flex; align-items: baseline; justify-content: space-between; gap: .75rem; margin-bottom: .35rem; }
.receiving-station-page .station-history-head h3 { margin: 0; color: var(--station-subtle); font-size: .72rem; letter-spacing: .09em; text-transform: uppercase; }
.receiving-station-page .station-history-count { color: var(--station-subtle); font-size: .8rem; font-variant-numeric: tabular-nums; }
.receiving-station-page .station-history-list { max-height: 22rem; margin: 0; padding: 0; overflow-y: auto; list-style: none; }
.receiving-station-page .station-history-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "lpn pill" "meta pill"; align-items: center; column-gap: .75rem; width: 100%; min-height: 0; margin: 0; padding: .6rem .35rem; border: 0; border-bottom: 1px solid var(--station-line-soft); border-radius: 0; background: transparent; color: var(--station-ink); font-weight: normal; text-align: left; }
.receiving-station-page .station-history-row:hover:not(:disabled) { background: var(--station-surface); }
.receiving-station-page .station-history-lpn { grid-area: lpn; font-family: var(--station-mono); font-size: .88rem; font-weight: bold; overflow-wrap: anywhere; }
.receiving-station-page .station-history-meta { grid-area: meta; color: var(--station-muted); font-size: .78rem; }
.receiving-station-page .station-pill { grid-area: pill; padding: .18rem .55rem; border: 1px solid var(--station-closed-line); border-radius: 1rem; background: var(--station-closed-bg); color: var(--station-closed); font-size: .68rem; font-weight: bold; letter-spacing: .05em; text-transform: uppercase; }
.receiving-station-page .station-pill[data-state="open"] { border-color: var(--station-open-line); background: var(--station-open-bg); color: var(--station-open); }
.receiving-station-page .station-pill[data-state="voided"] { border-color: var(--station-line); background: transparent; color: var(--station-subtle); text-decoration: line-through; }
.receiving-station-page .station-history-empty { margin: .5rem 0 0; color: var(--station-subtle); font-size: .85rem; }
.receiving-station-page .station-rail-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .9rem; }
.receiving-station-page .station-rail-actions button { flex: 1 1 8rem; margin: 0; }

.receiving-station-page > .station-report-panel { margin-top: 1.5rem; }

.receiving-station-page .station-dialog { width: min(46rem, calc(100vw - 2rem)); max-height: min(80vh, 44rem); padding: 0; border: 1px solid var(--station-line); border-radius: .6rem; background: var(--station-surface); color: var(--station-ink); box-shadow: 0 18px 48px -12px rgba(20, 35, 50, .45); }
.receiving-station-page .station-dialog[open] { display: flex; flex-direction: column; }
.receiving-station-page .station-dialog::backdrop { background: rgba(20, 32, 44, .45); }
.receiving-station-page .station-dialog-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1.1rem; border-bottom: 1px solid var(--station-line); }
.receiving-station-page .station-dialog-head h2 { margin: 0; font-size: 1.05rem; overflow-wrap: anywhere; }
.receiving-station-page .station-dialog-head button, .receiving-station-page .station-dialog-foot button { margin: 0; }
.receiving-station-page .station-dialog-list { flex: 1 1 auto; min-height: 0; margin: 0; padding: 0 1.1rem; overflow-y: auto; list-style: none; }
.receiving-station-page .station-dialog-list li { display: flex; align-items: center; gap: .5rem 1rem; padding: .65rem 0; border-bottom: 1px solid var(--station-line-soft); }
.receiving-station-page .station-dialog-list li:last-child { border-bottom: 0; }
.receiving-station-page .station-dialog-list li > button { flex: 0 0 auto; margin: 0; }
.receiving-station-page .station-dialog-detail { display: grid; flex: 1 1 auto; gap: .1rem; min-width: 0; }
.receiving-station-page .station-dialog-code { font-family: var(--station-mono); font-weight: bold; overflow-wrap: anywhere; }
.receiving-station-page .station-dialog-meta { color: var(--station-muted); font-size: .82rem; overflow-wrap: anywhere; }
.receiving-station-page .station-dialog-empty { color: var(--station-muted); }
.receiving-station-page .station-dialog-foot { display: flex; justify-content: space-between; gap: .75rem; padding: .75rem 1.1rem; border-top: 1px solid var(--station-line); }
.receiving-station-page .station-dialog-foot:not(:has(> button:not([hidden]))) { display: none; }

/* Look up ISBN: find a book with no barcode, see whether this station can receive it, print its sticker. */
.receiving-station-page .station-lookup-open { margin: 0 0 0 auto; min-height: 2.1rem; padding: .3rem .85rem; font-size: .82rem; }
.receiving-station-page .station-lookup { width: min(52rem, calc(100vw - 2rem)); }
.receiving-station-page .station-lookup-search { padding: .9rem 1.1rem 0; }
.receiving-station-page .station-lookup-search label { margin: 0 0 .35rem; font-size: .85rem; }
.receiving-station-page #lookup-query { width: 100%; margin: 0; font-size: 1.15rem; }
.receiving-station-page .station-lookup-status { margin: .75rem 1.1rem .35rem; }
.receiving-station-page .station-lookup-status:empty { display: none; }
.receiving-station-page .station-lookup-results { padding-bottom: .4rem; }
.receiving-station-page .station-lookup-title { font-weight: bold; overflow-wrap: anywhere; }
.receiving-station-page .station-lookup-facts { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .6rem; margin-top: .25rem; font-size: .8rem; }
.receiving-station-page .station-lookup-state { padding: .12rem .55rem; border: 1px solid var(--station-line); border-radius: 1rem; background: var(--station-surface-2); color: var(--station-muted); font-weight: bold; }
.receiving-station-page .station-lookup-state[data-state="ready"] { border-color: var(--station-open-line); background: var(--station-open-bg); color: var(--station-open); }
.receiving-station-page .station-lookup-state:is([data-state="close-carton"], [data-state="other-source"]) { border-color: var(--station-warn-line); background: var(--station-warn-bg); color: var(--station-warn); }
.receiving-station-page .station-lookup-remaining { color: var(--station-muted); font-variant-numeric: tabular-nums; }
.receiving-station-page .station-lookup-row:is([data-state="no-source"], [data-state="not-expected"], [data-state="paused"]) .station-lookup-title { color: var(--station-muted); font-weight: normal; }

@media (max-width: 62rem) {
    .receiving-station-page .station-bench { grid-template-columns: minmax(0, 1fr); }
    .receiving-station-page .station-rail { border-top: 1px solid var(--station-line); border-left: 0; }
}
@media (max-width: 40rem) {
    .receiving-station-page .station-bar-identity { flex: 1 1 100%; padding-right: 0; border-right: 0; }
    .receiving-station-page .station-bar-actions { margin-left: 0; }
    .receiving-station-page .station-bar-field select { min-width: 0; }
    .receiving-station-page .station-scan-row, .receiving-station-page .station-match { flex-direction: column; align-items: stretch; }
    .receiving-station-page .station-lookup-row { flex-wrap: wrap; }
    .receiving-station-page .station-dialog-list .station-lookup-row > button { flex: 1 1 100%; }
    .receiving-station-page #receiving-code { font-size: 1.35rem; min-height: 3.1rem; }
}
@media (prefers-reduced-motion: reduce) {
    .receiving-station-page[aria-busy="true"] #station-status::before { animation: none; }
}
